欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

文件存儲(chǔ)方法、裝置及文件讀取方法、裝置制造方法

文檔序號(hào):6498864閱讀:207來(lái)源:國(guó)知局
文件存儲(chǔ)方法、裝置及文件讀取方法、裝置制造方法
【專利摘要】本發(fā)明涉及一種文件存儲(chǔ)方法、裝置及文件讀取方法、裝置。包括步驟:將文件劃分為至少一個(gè)文件段,根據(jù)每個(gè)文件段生成唯一的段關(guān)鍵字以及與段關(guān)鍵字相應(yīng)的段查找值,根據(jù)文件的主關(guān)鍵字與相應(yīng)的段關(guān)鍵字生成主存儲(chǔ)節(jié)點(diǎn);將文件段劃分為至少一個(gè)文件塊,根據(jù)每個(gè)文件塊生成在相應(yīng)的文件段內(nèi)唯一的塊查找值,塊查找值設(shè)置在相應(yīng)的段查找值下,根據(jù)段查找值以及塊查找值生成段存儲(chǔ)節(jié)點(diǎn);以及將塊查找值與相應(yīng)的塊級(jí)索引信息關(guān)聯(lián)。本發(fā)明還涉及一種文件存儲(chǔ)裝置、文件讀取方法及裝置。本發(fā)明對(duì)文件索引進(jìn)行分組存儲(chǔ),可以提高存儲(chǔ)文件的最大存儲(chǔ)容量,同時(shí)加快了文件讀取速度以及減少了文件讀取資源的開銷。
【專利說明】文件存儲(chǔ)方法、裝置及文件讀取方法、裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及文件存儲(chǔ)領(lǐng)域,特別是涉及一種可節(jié)省資源及實(shí)現(xiàn)快速讀取的超大容量文件存儲(chǔ)方法、裝置及文件讀取方法、裝置。
【背景技術(shù)】
[0002]請(qǐng)參照?qǐng)D1,圖1為現(xiàn)有的分布式文件系統(tǒng)的文件存儲(chǔ)裝置的存儲(chǔ)結(jié)構(gòu)示意圖。在該文件存儲(chǔ)裝置中,對(duì)于超大文件的存儲(chǔ)一般采用分塊存儲(chǔ)的方式;即一個(gè)超大文件的所有數(shù)據(jù)塊按照一定的規(guī)則分布存儲(chǔ)在多個(gè)存儲(chǔ)節(jié)點(diǎn)中,同時(shí)文件存儲(chǔ)裝置中有一個(gè)統(tǒng)一的數(shù)據(jù)管理節(jié)點(diǎn),來(lái)記錄超大文件中每個(gè)塊的索引信息,即數(shù)據(jù)塊對(duì)應(yīng)的存儲(chǔ)節(jié)點(diǎn)的信息。
[0003]在現(xiàn)有的分布式文件系統(tǒng)中,每個(gè)文件會(huì)生成一個(gè)唯一的關(guān)鍵字,即對(duì)應(yīng)一個(gè)值,這個(gè)值保存了這個(gè)文件的塊級(jí)索引信息,并打包為二級(jí)制的格式存儲(chǔ)在文件存儲(chǔ)裝置中。這些塊級(jí)索引信息使用鏈表的方式按順序連接起來(lái)構(gòu)成上述的關(guān)鍵字對(duì)應(yīng)的值。在查找某個(gè)文件中的某個(gè)塊的索引信息時(shí),首先根據(jù)文件的關(guān)鍵字查找與該關(guān)鍵字相應(yīng)的塊級(jí)索引信息的鏈表,最后通過順序查找的方式得到數(shù)據(jù)塊的索引信息。
[0004]在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題:
[0005](I)文件存儲(chǔ)裝置對(duì)所有關(guān)鍵字的總長(zhǎng)度有限制,即限定了通過關(guān)鍵字保存的塊級(jí)索引信息的數(shù)量,從而限制了整個(gè)存儲(chǔ)文件的大小。
[0006](2)隨著文件不斷增大,塊級(jí)索引信息會(huì)越來(lái)越多。由于每一次索引查找都需要解析整個(gè)索引鏈表,并進(jìn)行順序查找,導(dǎo)致解析值和查找定位的系統(tǒng)開銷將越來(lái)越大,從而影響分布式文件系統(tǒng)的性能。
[0007]故,有必要提供一種可節(jié)省資源及實(shí)現(xiàn)快速讀取的文件存儲(chǔ)方法、裝置及文件讀取方法、裝置,以解決現(xiàn)有技術(shù)所存在的問題。

【發(fā)明內(nèi)容】

[0008]本發(fā)明的目的在于提供一種對(duì)文件索引進(jìn)行分組存儲(chǔ)的文件存儲(chǔ)方法、裝置及文件讀取方法、裝置,可以提高存儲(chǔ)文件的最大存儲(chǔ)容量,同時(shí)加快了文件索引讀取速度以及減少了文件讀取資源的開銷;以解決現(xiàn)有的文件存儲(chǔ)方法及裝置存儲(chǔ)文件大小受限制,文件索引讀取速度慢以及文件索引讀取資源開銷大的技術(shù)問題。
[0009]為解決上述問題,本發(fā)明提供的技術(shù)方案如下:
[0010]本發(fā)明實(shí)施例涉及一種文件存儲(chǔ)方法,其包括步驟:
[0011]根據(jù)文件容量將文件劃分為至少一個(gè)文件段,根據(jù)每個(gè)所述文件段生成唯一的段關(guān)鍵字以及與所述段關(guān)鍵字相應(yīng)的段查找值,根據(jù)所述文件的主關(guān)鍵字與相應(yīng)的段關(guān)鍵字生成主存儲(chǔ)節(jié)點(diǎn);
[0012]將所述文件段劃分為至少一個(gè)文件塊,根據(jù)每個(gè)所述文件塊生成在相應(yīng)的文件段內(nèi)唯一的塊查找值,所述塊查找值設(shè)置在相應(yīng)的段查找值下,根據(jù)所述段查找值以及所述塊查找值生成段存儲(chǔ)節(jié)點(diǎn);以及[0013]將所述塊查找值與相應(yīng)的塊級(jí)索引信息關(guān)聯(lián)。
[0014]本發(fā)明實(shí)施例還涉及一種文件存儲(chǔ)裝置,其包括:
[0015]主存儲(chǔ)節(jié)點(diǎn)生成模塊,用于根據(jù)文件容量將文件劃分為至少一個(gè)文件段,根據(jù)每個(gè)所述文件段生成唯一的段關(guān)鍵字以及與所述段關(guān)鍵字相應(yīng)的段查找值,根據(jù)所述文件的主關(guān)鍵字與相應(yīng)的段關(guān)鍵字生成主存儲(chǔ)節(jié)點(diǎn);
[0016]段存儲(chǔ)節(jié)點(diǎn)生成模塊,用于將所述文件段劃分為至少一個(gè)文件塊,根據(jù)每個(gè)所述文件塊生成在相應(yīng)的文件段內(nèi)唯一的塊查找值,所述塊查找值設(shè)置在相應(yīng)的段查找值下,根據(jù)所述段查找值以及所述塊查找值生成段存儲(chǔ)節(jié)點(diǎn);以及
[0017]關(guān)聯(lián)模塊,用于將塊查找值與相應(yīng)的塊級(jí)索引信息關(guān)聯(lián)。
[0018]本發(fā)明實(shí)施例還涉及一種文件讀取方法,其包括步驟:
[0019]根據(jù)文件塊所屬文件段的主關(guān)鍵字確定所述文件段的主存儲(chǔ)節(jié)點(diǎn);
[0020]根據(jù)所述文件段的段關(guān)鍵字確定所述文件段在所述主關(guān)鍵字下的段存儲(chǔ)節(jié)點(diǎn)及相應(yīng)的段查找值;以及
[0021]根據(jù)所述文件塊的塊查找值確定所述文件塊在所述段查找值下的塊級(jí)索引信息的位置。
[0022]本發(fā)明實(shí)施例還涉及一種文件讀取裝置,其包括:
[0023]主存儲(chǔ)節(jié)點(diǎn)確定模塊,用于根據(jù)文件塊所屬文件段的主關(guān)鍵字確定所述文件段的主存儲(chǔ)節(jié)點(diǎn);
[0024]段存儲(chǔ)節(jié)點(diǎn)確定模塊,用于根據(jù)所述文件段的段關(guān)鍵字確定所述文件段在所述主關(guān)鍵字下的段存儲(chǔ)節(jié)點(diǎn)及相應(yīng)的段查找值;以及
[0025]文件塊位置確定模塊,用于根據(jù)所述文件塊的塊查找值確定所述文件塊在所述段查找值下的塊級(jí)索引信息的位置。
[0026]相較于現(xiàn)有技術(shù)的文件存儲(chǔ)方法及裝置,本發(fā)明的文件存儲(chǔ)方法、裝置及文件讀取方法、裝置對(duì)文件索引進(jìn)行分組存儲(chǔ),可以提高存儲(chǔ)文件的最大存儲(chǔ)容量,同時(shí)加快了文件索引讀取速度以及減少了文件索引讀取資源的開銷。解決了現(xiàn)有的文件存儲(chǔ)方法及裝置存儲(chǔ)文件大小受限制,文件索引讀取速度慢以及文件索引讀取資源開銷大的技術(shù)問題。
【專利附圖】

【附圖說明】
[0027]圖1為現(xiàn)有的分布式文件系統(tǒng)的文件存儲(chǔ)裝置的存儲(chǔ)結(jié)構(gòu)示意圖;
[0028]圖2為本發(fā)明的文件存儲(chǔ)方法的優(yōu)選實(shí)施例的流程圖;
[0029]圖3為本發(fā)明的文件存儲(chǔ)裝置的優(yōu)選實(shí)施例的結(jié)構(gòu)示意圖;
[0030]圖4為本發(fā)明的文件讀取方法的優(yōu)選實(shí)施例的流程圖;
[0031]圖5為本發(fā)明的文件讀取裝置的優(yōu)選實(shí)施例的結(jié)構(gòu)示意圖;
[0032]圖6為本發(fā)明的文件存儲(chǔ)方法及裝置的具體實(shí)施例的工作原理圖;
[0033]圖7為本發(fā)明的文件讀取方法及裝置的具體實(shí)施例的工作原理圖。
【具體實(shí)施方式】
[0034]以下各實(shí)施例的說明是參考附加的圖式,用以例示本發(fā)明可用以實(shí)施的特定實(shí)施例。[0035]請(qǐng)參照?qǐng)D2,圖2為本發(fā)明的文件存儲(chǔ)方法的優(yōu)選實(shí)施例的流程圖。本優(yōu)選實(shí)施例的文件存儲(chǔ)方法包括,
[0036]步驟201,將文件劃分為至少一個(gè)文件段,根據(jù)每個(gè)文件段生成唯一的段關(guān)鍵字以及與段關(guān)鍵字相應(yīng)的段查找值,根據(jù)文件的主關(guān)鍵字與相應(yīng)的段關(guān)鍵字生成主存儲(chǔ)節(jié)點(diǎn);
[0037]步驟202,將文件段劃分為至少一個(gè)文件塊,根據(jù)每個(gè)文件塊生成在相應(yīng)的文件段內(nèi)唯一的塊查找值,塊查找值設(shè)置在相應(yīng)的段查找值下,根據(jù)段查找值以及塊查找值生成段存儲(chǔ)節(jié)點(diǎn);
[0038]步驟203,將塊查找值與相應(yīng)的塊級(jí)索引信息關(guān)聯(lián);
[0039]本優(yōu)選實(shí)施例的文件存儲(chǔ)方法結(jié)束于步驟103。
[0040]下面詳細(xì)說明本優(yōu)選實(shí)施例的文件存儲(chǔ)方法的各步驟的具體流程。
[0041]在步驟201中,給每個(gè)文件設(shè)定與之相應(yīng)的主關(guān)鍵字,然后根據(jù)該文件的容量將該文件劃分為多個(gè)文件段,即文件越大,劃分的段數(shù)可越多,段的大小可自定義設(shè)置;隨后根據(jù)每個(gè)文件段生成在本文件中唯一的段關(guān)鍵字,以及與該段關(guān)鍵字相應(yīng)的段查找值,其中段關(guān)鍵字按文件的內(nèi)容的偏移量的順序設(shè)置在相應(yīng)的主關(guān)鍵字下,最后根據(jù)文件的主關(guān)鍵字與相應(yīng)的段關(guān)鍵字生成主存儲(chǔ)節(jié)點(diǎn);其中段關(guān)鍵字與段查找值采用基于key-value(鍵-值)的分布式存儲(chǔ)。
[0042]隨后來(lái)到步驟202。
[0043]在步驟202中,將文件段劃分為多個(gè)文件塊,然后根據(jù)該文件段下的每個(gè)文件塊生成相應(yīng)的塊查找值(在該文件段內(nèi)唯一),該塊查找值以數(shù)組的形式按文件的內(nèi)容的偏移量的順序設(shè)置在相應(yīng)的段查找值下,最后根據(jù)段查找值以及相應(yīng)的塊查找值生成段存儲(chǔ)節(jié)點(diǎn)。其中段查找值與塊查找值采用基于key-value (鍵-值)的分布式存儲(chǔ)。這樣進(jìn)行文件塊的檢索時(shí),可通過主關(guān)鍵字找到相應(yīng)的主存儲(chǔ)節(jié)點(diǎn),通過段關(guān)鍵字找到該文件塊所在文件段,通過塊查找值找到該文件塊在該文件段中的位置。
[0044]隨后來(lái)到步驟203。
[0045]在步驟203中,將塊查找值與相應(yīng)的塊級(jí)索引信息關(guān)聯(lián),這樣通過主關(guān)鍵字、段關(guān)鍵字以及塊查找值可快速的查找到相應(yīng)的塊級(jí)索引信息,進(jìn)行文件塊的索引。
[0046]這樣即完成了整個(gè)文件塊的存儲(chǔ)過程。
[0047]本優(yōu)選實(shí)施例的文件存儲(chǔ)方法對(duì)文件索引進(jìn)行分組存儲(chǔ),可以提高存儲(chǔ)文件的最大存儲(chǔ)容量,同時(shí)加快了文件讀取速度以及減少了文件讀取資源的開銷。此外塊查找值以及段關(guān)鍵字的順序設(shè)置方式,進(jìn)一步縮短了文件塊的查找時(shí)間,段關(guān)鍵字與段查找值、段查找值與塊查找值采用基于key-value的NoSQL (非關(guān)系型的數(shù)據(jù)庫(kù))的分布式存儲(chǔ),具有更高的可靠性和擴(kuò)展性。
[0048]本發(fā)明還涉及一種文件存儲(chǔ)裝置,請(qǐng)參照?qǐng)D3,圖3為本發(fā)明的文件存儲(chǔ)裝置的優(yōu)選實(shí)施例的結(jié)構(gòu)示意圖。本優(yōu)選實(shí)施例的文件存儲(chǔ)裝置包括主存儲(chǔ)節(jié)點(diǎn)生成模塊31、段存儲(chǔ)節(jié)點(diǎn)生成模塊32以及關(guān)聯(lián)模塊33。主存儲(chǔ)節(jié)點(diǎn)生成模塊31用于根據(jù)文件容量將文件劃分為至少一個(gè)文件段,根據(jù)每個(gè)文件段生成唯一的段關(guān)鍵字以及與段關(guān)鍵字相應(yīng)的段查找值,根據(jù)文件的主關(guān)鍵字與相應(yīng)的段關(guān)鍵字生成主存儲(chǔ)節(jié)點(diǎn);段存儲(chǔ)節(jié)點(diǎn)生成模塊32用于將文件段劃分為至少一個(gè)文件塊,根據(jù)每個(gè)文件塊生成在相應(yīng)的文件段內(nèi)唯一的塊查找值,塊查找值設(shè)置在相應(yīng)的段查找值下,根據(jù)段查找值以及所述塊查找值生成段存儲(chǔ)節(jié)點(diǎn);關(guān)聯(lián)模塊33用于將塊查找值與相應(yīng)的塊級(jí)索引信息關(guān)聯(lián)。
[0049]本優(yōu)選實(shí)施例的文件存儲(chǔ)裝置使用時(shí),主存儲(chǔ)節(jié)點(diǎn)生成模塊31根據(jù)文件容量將文件劃分為至少一個(gè)文件段,根據(jù)每個(gè)文件段生成唯一的段關(guān)鍵字以及與段關(guān)鍵字相應(yīng)的段查找值,根據(jù)文件的主關(guān)鍵字與相應(yīng)的段關(guān)鍵字生成主存儲(chǔ)節(jié)點(diǎn),其中段關(guān)鍵字按文件的內(nèi)容的偏移量的順序設(shè)置在主關(guān)鍵字下,段關(guān)鍵字與段查找值采用基于key-value的分布式存儲(chǔ);隨后段存儲(chǔ)節(jié)點(diǎn)生成模塊32將文件段劃分為至少一個(gè)文件塊,根據(jù)每個(gè)文件塊生成在相應(yīng)的文件段內(nèi)唯一的塊查找值,塊查找值設(shè)置在相應(yīng)的段查找值下,根據(jù)段查找值以及塊查找值生成段存儲(chǔ)節(jié)點(diǎn),其中塊查找值以數(shù)組的形式按文件的內(nèi)容的偏移量的順序設(shè)置在相應(yīng)的段查找值下,段查找值與塊查找值采用基于key-value的分布式存儲(chǔ);最后關(guān)聯(lián)模塊33將塊查找值與相應(yīng)的塊級(jí)索引信息關(guān)聯(lián),通過主關(guān)鍵字、段關(guān)鍵字以及塊查找值可快速的查找到相應(yīng)的塊級(jí)索引信息,即完成了整個(gè)文件塊的存儲(chǔ)過程。
[0050]本優(yōu)選實(shí)施例的文件存儲(chǔ)裝置的具體工作原理與上述的文件存儲(chǔ)方法的優(yōu)選實(shí)施例中的描述相同或相似,具體請(qǐng)參見上述文件存儲(chǔ)方法的優(yōu)選實(shí)施例中的相關(guān)描述。
[0051]本發(fā)明還涉及一種文件讀取方法,請(qǐng)參照?qǐng)D4,圖4為本發(fā)明的文件讀取方法的優(yōu)選實(shí)施例的流程圖。本優(yōu)選實(shí)施例的文件讀取方法包括:
[0052]步驟401,根據(jù)文件塊所屬文件段的主關(guān)鍵字確定文件段的主存儲(chǔ)節(jié)點(diǎn);
[0053]步驟402,根據(jù)文件段的段關(guān)鍵字確定文件段在主關(guān)鍵字下的段存儲(chǔ)節(jié)點(diǎn)及相應(yīng)的段查找值;
[0054]步驟403,根據(jù)文件塊的塊查找值確定文件塊在段查找值下的塊級(jí)索引信息的位置;
[0055]本優(yōu)選實(shí)施例的文件讀取方法結(jié)束于步驟403。
[0056]下面詳細(xì)說明本優(yōu)選實(shí)施例的文件讀取方法的各步驟的具體流程。
[0057]在步驟401中,文件根據(jù)該文件的容量被劃分為多個(gè)文件段,然后將每個(gè)文件段劃分為多個(gè)文件塊,即根據(jù)文件塊生成文件段,根據(jù)文件段生成文件。每個(gè)文件塊都具有相應(yīng)的主關(guān)鍵字、段關(guān)鍵字以及塊查找值。在本步驟中,根據(jù)文件塊所屬的文件段的主關(guān)鍵字確定文件段的主存儲(chǔ)節(jié)點(diǎn)。
[0058]隨后來(lái)到步驟402。
[0059]在步驟402中,根據(jù)文件段的段關(guān)鍵字確定文件段在主關(guān)鍵字下的段存儲(chǔ)節(jié)點(diǎn)及相應(yīng)的段查找值,這里文件的主關(guān)鍵字與相應(yīng)的段關(guān)鍵字組成主存儲(chǔ)節(jié)點(diǎn),根據(jù)文件的內(nèi)容的偏移量確定主關(guān)鍵字下相應(yīng)的段關(guān)鍵字,這樣可迅速找到主存儲(chǔ)節(jié)點(diǎn)中主關(guān)鍵字下相應(yīng)的段關(guān)鍵字,從而確定相應(yīng)的段存儲(chǔ)節(jié)點(diǎn)及相應(yīng)的段查找值,這里段關(guān)鍵字與相應(yīng)的段查找值相對(duì)應(yīng)。
[0060]隨后來(lái)到步驟403。
[0061]在步驟403中,這里段查找值以及相應(yīng)的塊查找值組成段存儲(chǔ)節(jié)點(diǎn),段存儲(chǔ)節(jié)點(diǎn)中的塊查找值以數(shù)組的形式按文件的內(nèi)容的偏移量的順序設(shè)置在相應(yīng)的段查找值下,即根據(jù)文件的內(nèi)容的偏移量確定段查找值下相應(yīng)的塊查找值;同時(shí)將塊查找值與相應(yīng)的塊級(jí)索引信息關(guān)聯(lián)。根據(jù)文件塊的塊查找值確定文件塊在段查找值下的塊級(jí)索引信息的位置,最后讀取相應(yīng)的文件塊。
[0062]這樣即完成了整個(gè)文件塊的讀取過程。[0063]本優(yōu)選實(shí)施例的文件讀取方法中的文件索引為分組存儲(chǔ),加快了文件讀取速度以及減少了文件讀取資源的開銷。此外塊查找值以及段關(guān)鍵字的順序設(shè)置方式,進(jìn)一步縮短了文件塊的查找時(shí)間。
[0064]本發(fā)明還涉及一種文件讀取裝置,請(qǐng)參照?qǐng)D5,圖5為本發(fā)明的文件讀取裝置的優(yōu)選實(shí)施例的結(jié)構(gòu)示意圖。本優(yōu)選實(shí)施例的文件讀取裝置包括主存儲(chǔ)節(jié)點(diǎn)確定模塊51、段存儲(chǔ)節(jié)點(diǎn)確定模塊52以及文件塊位置確定模塊53。主存儲(chǔ)節(jié)點(diǎn)確定模塊51用于根據(jù)文件塊所屬文件段的主關(guān)鍵字確定文件段的主存儲(chǔ)節(jié)點(diǎn);段存儲(chǔ)節(jié)點(diǎn)確定模塊52用于根據(jù)文件段的段關(guān)鍵字確定文件段在主關(guān)鍵字下的段存儲(chǔ)節(jié)點(diǎn)及相應(yīng)的段查找值;文件塊位置確定模塊53用于根據(jù)文件塊的塊查找值確定文件塊在段查找值下的塊級(jí)索引信息的位置。
[0065]本優(yōu)選實(shí)施例的文件讀取裝置使用時(shí),首先主存儲(chǔ)節(jié)點(diǎn)確定模塊51根據(jù)文件塊所屬文件段的主關(guān)鍵字確定文件段的主存儲(chǔ)節(jié)點(diǎn);隨后段存儲(chǔ)節(jié)點(diǎn)確定模塊52根據(jù)文件段的段關(guān)鍵字確定文件段在主關(guān)鍵字下的段存儲(chǔ)節(jié)點(diǎn)及相應(yīng)的段查找值;隨后文件塊位置確定模塊53根據(jù)文件塊的塊查找值確定文件塊在段查找值下的塊級(jí)索引信息的位置。這樣即完成了整個(gè)文件塊的讀取過程。
[0066]本優(yōu)選實(shí)施例的文件讀取裝置的工作原理與上述的文件讀取方法的優(yōu)選實(shí)施例中的描述相同或相似,具體請(qǐng)參見上述文件讀取方法的優(yōu)選實(shí)施例中的相關(guān)描述。
[0067]本優(yōu)選實(shí)施例的文件讀取裝置中的文件索引為分組存儲(chǔ),加快了文件讀取速度以及減少了文件讀取資源的開銷。此外塊查找值以及段關(guān)鍵字的順序設(shè)置方式,進(jìn)一步縮短了文件塊的查找時(shí)間。
[0068]下面通過一具體實(shí)施例說明本發(fā)明的文件存儲(chǔ)方法、裝置及文件讀取方法、裝置的具體工作原理。請(qǐng)參見圖6和圖7,圖6為本發(fā)明的文件存儲(chǔ)方法及裝置的具體實(shí)施例的工作原理圖,圖7為本發(fā)明的文件讀取方法及裝置的具體實(shí)施例的工作原理圖。
[0069]如圖6所示,主存儲(chǔ)節(jié)點(diǎn)生成模塊將整個(gè)大文件分為三個(gè)文件段,并給每個(gè)文件段生成一段關(guān)鍵字(段關(guān)鍵字1、段關(guān)鍵字2以及段關(guān)鍵字3),段關(guān)鍵字按文件的內(nèi)容的偏移量的順序設(shè)置在主關(guān)鍵字下,每個(gè)段關(guān)鍵字對(duì)應(yīng)段存儲(chǔ)節(jié)點(diǎn)中的一個(gè)段查找值(段查找值1、段查找值2以及段查找值3),該段關(guān)鍵字對(duì)應(yīng)該文件段內(nèi)所有的文件塊;然后根據(jù)文件的主關(guān)鍵字與相應(yīng)的段關(guān)鍵字生成主存儲(chǔ)節(jié)點(diǎn)(采用基于key-value的分布式存儲(chǔ))。段存儲(chǔ)節(jié)點(diǎn)生成模塊將每個(gè)段分為若干個(gè)文件塊(其中第三個(gè)文件段分為三個(gè)文件塊),并給每個(gè)文件塊生成一塊查找值(如塊查找值1、塊查找值2以及塊查找值3),查找值以數(shù)組的形式(當(dāng)然這里也可使用其他的形式)按文件的內(nèi)容的偏移量的順序設(shè)置在相應(yīng)的段查找值下面,該塊查找值對(duì)應(yīng)文件段內(nèi)相應(yīng)的文件塊,然后根據(jù)文件的段查找值以及塊查找值生成段存儲(chǔ)節(jié)點(diǎn)(采用基于key-value的分布式存儲(chǔ))。最后關(guān)聯(lián)模塊將塊查找值與數(shù)據(jù)庫(kù)中相應(yīng)的塊級(jí)索引信息進(jìn)行關(guān)聯(lián)。
[0070]上述的分級(jí)存儲(chǔ)的方式極大的提高了分布式文件系統(tǒng)中最大文件的容量。一個(gè)超大文件的索引信息能夠保存在多個(gè)段查找值下,從而消除了對(duì)文件的段關(guān)鍵字的長(zhǎng)度限制,使得分布式文件系統(tǒng)能夠支持更大的文件容量。
[0071]在本發(fā)明的存儲(chǔ)結(jié)構(gòu)上進(jìn)行文件塊的檢索時(shí),如圖7所示,首先通過文件的主關(guān)鍵字在數(shù)據(jù)庫(kù)中查找到主存儲(chǔ)節(jié)點(diǎn);由于段關(guān)鍵字按文件的內(nèi)容的偏移量的順序設(shè)置在主關(guān)鍵字下,因此可以根據(jù)被請(qǐng)求的文件塊的偏移量(即該文件塊存儲(chǔ)在該文件的位置,如存儲(chǔ)在IOM文件的前IM的內(nèi)容里)獲取該文件塊相應(yīng)的段關(guān)鍵字;然后通過段關(guān)鍵字在數(shù)據(jù)庫(kù)中查找到相應(yīng)的段存儲(chǔ)節(jié)點(diǎn)及段查找值;隨后由于塊查找值以數(shù)組的形式按文件的內(nèi)容的偏移量的順序設(shè)置在相應(yīng)的段查找值下,可使用二分法快速定位到段查找值下的塊查找值;最后通過該塊查找值在數(shù)據(jù)庫(kù)中查找到該文件塊的塊級(jí)索引信息。
[0072]在對(duì)本發(fā)明的存儲(chǔ)的文件塊進(jìn)行檢索時(shí),在通過文件的主關(guān)鍵字和文件塊的偏移量獲取到段關(guān)鍵字之后,可以一次性讀取該文件段內(nèi)的所有文件塊的塊級(jí)索引信息,存儲(chǔ)到上層索引緩存系統(tǒng)中;在進(jìn)行下一次相鄰文件塊檢索時(shí),可直接從上層索引緩存系統(tǒng)中直接獲取相應(yīng)的塊級(jí)索引信息,不需到段存儲(chǔ)節(jié)點(diǎn)中再次進(jìn)行檢索。
[0073]因此在本發(fā)明的存儲(chǔ)結(jié)構(gòu)上進(jìn)行文件塊檢索時(shí),不需要對(duì)所有的文件塊進(jìn)行解析,只需按順序進(jìn)行查找即可,同時(shí)還可以進(jìn)行整個(gè)文件段內(nèi)的文件塊的塊級(jí)索引信息進(jìn)行預(yù)先讀取,加快了文件檢索速度以及減少了文件檢索資源的開銷。
[0074]本發(fā)明的文件存儲(chǔ)方法、裝置及文件讀取方法、裝置對(duì)文件索引進(jìn)行分組存儲(chǔ),可以提高存儲(chǔ)文件的最大存儲(chǔ)容量,同時(shí)加快了文件索引讀取速度以及減少了文件索引讀取資源的開銷。解決了現(xiàn)有的文件存儲(chǔ)方法及裝置存儲(chǔ)文件大小受限制,文件索引讀取速度慢以及文件索引讀取資源開銷大的技術(shù)問題。
[0075]綜上所述,雖然本發(fā)明已以優(yōu)選實(shí)施例揭露如上,但上述優(yōu)選實(shí)施例并非用以限制本發(fā)明,本領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),均可作各種更動(dòng)與潤(rùn)飾,因此本發(fā)明的保護(hù)范圍以權(quán)利要求界定的范圍為準(zhǔn)。
【權(quán)利要求】
1.一種文件存儲(chǔ)方法,其特征在于,包括步驟: 將文件劃分為至少一個(gè)文件段,根據(jù)每個(gè)所述文件段生成唯一的段關(guān)鍵字以及與所述段關(guān)鍵字相應(yīng)的段查找值,根據(jù)所述文件的主關(guān)鍵字與相應(yīng)的段關(guān)鍵字生成主存儲(chǔ)節(jié)點(diǎn); 將所述文件段劃分為至少一個(gè)文件塊,根據(jù)每個(gè)所述文件塊生成在相應(yīng)的文件段內(nèi)唯一的塊查找值,所述塊查找值設(shè)置在相應(yīng)的段查找值下,根據(jù)所述段查找值以及所述塊查找值生成段存儲(chǔ)節(jié)點(diǎn);以及 將所述塊查找值與相應(yīng)的塊級(jí)索引信息關(guān)聯(lián)。
2.根據(jù)權(quán)利要求1所述的文件存儲(chǔ)方法,其特征在于,根據(jù)所述文件容量將所述文件劃分為至少一個(gè)文件段。
3.根據(jù)權(quán)利要求1所述的文件存儲(chǔ)方法,其特征在于,所述段關(guān)鍵字按所述文件的內(nèi)容的偏移量的順序設(shè)置在所述主關(guān)鍵字下。
4.根據(jù)權(quán)利要求1所述的文件存儲(chǔ)方法,其特征在于,所述塊查找值以數(shù)組的形式按文件的內(nèi)容的偏移量的順序設(shè)置在相應(yīng)的段查找值下。
5.根據(jù)權(quán)利要求1所述的文件存儲(chǔ)方法,其特征在于,所述段關(guān)鍵字與所述段查找值采用基于key-value的分布式存儲(chǔ)。
6.根據(jù)權(quán)利要求1所述的文件存儲(chǔ)方法,其特征在于,所述段查找值與所述塊查找值采用基于key-value的分布式存儲(chǔ)。
7.一種文件存儲(chǔ)裝置,其特征在于,包括: 主存儲(chǔ)節(jié)點(diǎn)生成模塊,用于將文件劃分為至少一個(gè)文件段,根據(jù)每個(gè)所述文件段生成唯一的段關(guān)鍵字以及與所述段關(guān)鍵字相應(yīng)的段查找值,根據(jù)所述文件的主關(guān)鍵字與相應(yīng)的段關(guān)鍵字生成主存儲(chǔ)節(jié)點(diǎn); 段存儲(chǔ)節(jié)點(diǎn)生成模塊,用于將所述文件段劃分為至少一個(gè)文件塊,根據(jù)每個(gè)所述文件塊生成在相應(yīng)的文件段內(nèi)唯一的塊查找值,所述塊查找值設(shè)置在相應(yīng)的段查找值下,根據(jù)所述段查找值以及所述塊查找值生成段存儲(chǔ)節(jié)點(diǎn);以及 關(guān)聯(lián)模塊,用于將塊查找值與相應(yīng)的塊級(jí)索引信息關(guān)聯(lián)。
8.根據(jù)權(quán)利要求7所述的文件存儲(chǔ)裝置,其特征在于,所述主存儲(chǔ)節(jié)點(diǎn)生成模塊根據(jù)所述文件容量將所述文件劃分為至少一個(gè)文件段。
9.根據(jù)權(quán)利要求7所述的文件存儲(chǔ)裝置,其特征在于,所述段關(guān)鍵字按所述文件的內(nèi)容的偏移量的順序設(shè)置在所述主關(guān)鍵字下。
10.根據(jù)權(quán)利要求7所述的文件存儲(chǔ)裝置,其特征在于,所述塊查找值以數(shù)組的形式按文件的內(nèi)容的偏移量的順序設(shè)置在相應(yīng)的段查找值下。
11.根據(jù)權(quán)利要求7所述的文件存儲(chǔ)裝置,其特征在于,所述段關(guān)鍵字與所述段查找值采用基于key-value的分布式存儲(chǔ)。
12.根據(jù)權(quán)利要求7所述的文件存儲(chǔ)裝置,其特征在于,所述段查找值與所述塊查找值采用基于key-value的分布式存儲(chǔ)。
13.一種文件讀取方法,其特征在于,包括步驟: 根據(jù)文件塊所屬文件段的主關(guān)鍵字確定所述文件段的主存儲(chǔ)節(jié)點(diǎn); 根據(jù)所述文件段的段關(guān)鍵字確定所述文件段在所述主關(guān)鍵字下的段存儲(chǔ)節(jié)點(diǎn)及相應(yīng)的段查找值;以及根據(jù)所述文件塊的塊查找值確定所述文件塊在所述段查找值下的塊級(jí)索引信息的位置。
14.根據(jù)權(quán)利要求13所述的文件讀取方法,其特征在于,根據(jù)所述文件塊生成文件段,根據(jù)所述文件段生成所述文件。
15.根據(jù)權(quán)利要求13所述的文件讀取方法,其特征在于,根據(jù)所述文件的內(nèi)容的偏移量確定所述主關(guān)鍵字下相應(yīng)的所述段關(guān)鍵字。
16.根據(jù)權(quán)利要求13所述的文件讀取方法,其特征在于,根據(jù)所述文件的內(nèi)容的偏移量確定所述段查找值下相應(yīng)的塊查找值。
17.一種文件讀取裝置,其特征在于,包括: 主存儲(chǔ)節(jié)點(diǎn)確定模塊,用于根據(jù)文件塊所屬文件段的主關(guān)鍵字確定所述文件段的主存儲(chǔ)節(jié)點(diǎn); 段存儲(chǔ)節(jié)點(diǎn)確定模塊,用于根據(jù)所述文件段的段關(guān)鍵字確定所述文件段在所述主關(guān)鍵字下的段存儲(chǔ)節(jié)點(diǎn)及相應(yīng)的段查找值;以及 文件塊位置確定模塊,用于根據(jù)所述文件塊的塊查找值確定所述文件塊在所述段查找值下的塊級(jí)索引信息的位置。
18.根據(jù)權(quán)利要求17所述的文件讀取裝置,其特征在于,根據(jù)所述文件塊生成文件段,根據(jù)所述文件段生成所述文件。
19.根據(jù)權(quán)利要求17所述的文件讀取裝置,其特征在于,根據(jù)所述文件的內(nèi)容的偏移量確定所述主關(guān)鍵字下相應(yīng)的所述段關(guān)鍵字。
20.根據(jù)權(quán)利要求17所述的文件讀取裝置,其特征在于,根據(jù)所述文件的內(nèi)容的偏移量確定所述段查找值下相應(yīng)的塊查找值。
【文檔編號(hào)】G06F17/30GK103914483SQ201310005203
【公開日】2014年7月9日 申請(qǐng)日期:2013年1月7日 優(yōu)先權(quán)日:2013年1月7日
【發(fā)明者】胡盼盼, 劉永升, 李希源 申請(qǐng)人:深圳市騰訊計(jì)算機(jī)系統(tǒng)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
左云县| 宁都县| 龙泉市| 沧源| 阜宁县| 邳州市| 镇远县| 汉川市| 南宫市| 芜湖市| 木兰县| 星子县| 临泉县| 南城县| 淮北市| 密云县| 那曲县| 桃园县| 镇康县| 许昌县| 满洲里市| 凤翔县| 凯里市| 上饶市| 江陵县| 杭锦旗| 常宁市| 肇庆市| 措勤县| 罗山县| 舞钢市| 新建县| 定襄县| 富蕴县| 宜兰县| 密山市| 淅川县| 南川市| 自贡市| 漳浦县| 建阳市|