一種基于fics對(duì)象存儲(chǔ)的文件分割方法與系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種基于FICS對(duì)象存儲(chǔ)的文件分割方法與系統(tǒng),所述的方法包括以下步驟:S1.文件存儲(chǔ):對(duì)待存儲(chǔ)文件的每個(gè)數(shù)據(jù)進(jìn)行保存,并為待存儲(chǔ)文件生成文件地址;S2.文件分割:給定待分割文件并設(shè)定文件分割方式,通過文件地址的處理實(shí)現(xiàn)文件分割;所述的系統(tǒng)包括FICS對(duì)象存儲(chǔ)模塊和文件分割模塊。本發(fā)明提供了一種基于FICS對(duì)象存儲(chǔ)的文件分割方法與系統(tǒng),在存儲(chǔ)過程中對(duì)文件的每個(gè)數(shù)據(jù)進(jìn)行保存,并為文件生成文件地址,并通過文件地址的處理實(shí)現(xiàn)文件分割,提高了文件分割速度,節(jié)省了文件分割占用的讀寫帶寬。
【專利說明】
一種基于FI CS對(duì)象存儲(chǔ)的文件分割方法與系統(tǒng)
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及一種基于FICS對(duì)象存儲(chǔ)的文件分割方法與系統(tǒng)。
【背景技術(shù)】
[0002]分割文件,即將一個(gè)大文件分割成多個(gè)小文件,在目前的本地文件系統(tǒng)及其他分布式文件系統(tǒng)等的管理的存儲(chǔ)上,需要將大文件的數(shù)據(jù)內(nèi)容全部依次讀取出來,分別寫入到小文件中。這是非常耗時(shí)的,比如源文件是幾百G大小,那么,可能會(huì)消耗幾十分鐘,甚至幾小時(shí),同時(shí),也會(huì)消耗大量的存儲(chǔ)讀寫帶寬,并且,盡管源文件和目標(biāo)文件的絕大部分?jǐn)?shù)據(jù)內(nèi)容是相同的,但是,實(shí)際占用的磁盤空間依然是比較大的,是所用文件數(shù)據(jù)大小之和;例如通過文件的分割軟件進(jìn)行分割,比如winhex分割文件,或者winrar,winzip等分割文件(壓縮時(shí),選擇儲(chǔ)存模式,且限定壓縮包大小),都是非常耗時(shí),耗帶寬,耗數(shù)據(jù)空間的。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種基于FICS對(duì)象存儲(chǔ)的文件分割方法與系統(tǒng),在存儲(chǔ)過程中對(duì)文件的每個(gè)數(shù)據(jù)進(jìn)行保存,并為文件生成文件地址,并通過文件地址的處理實(shí)現(xiàn)文件分割,提高了文件分割速度,節(jié)省了文件分割占用的讀寫帶寬。
[0004]本發(fā)明的目的是通過以下技術(shù)方案來實(shí)現(xiàn)的:一種基于FICS對(duì)象存儲(chǔ)的文件分割方法,包括以下步驟
51.文件存儲(chǔ):對(duì)待存儲(chǔ)文件的每個(gè)數(shù)據(jù)進(jìn)行保存,并為待存儲(chǔ)文件生成文件地址;
52.文件分割:給定待分割文件并設(shè)定文件分割方式,通過文件地址的處理實(shí)現(xiàn)文件分割。
[0005]所述的步驟SI包括以下子步驟:
511.依次輸入每個(gè)待存儲(chǔ)文件;
512.將當(dāng)前待存儲(chǔ)文件分為多個(gè)數(shù)據(jù);
513.對(duì)每個(gè)數(shù)據(jù)進(jìn)行保存;
514.為每個(gè)數(shù)據(jù)生成一個(gè)數(shù)據(jù)地址,數(shù)據(jù)地址包括數(shù)據(jù)保存位置、數(shù)據(jù)在文件中的偏移和數(shù)據(jù)的長度;
515.將當(dāng)前待存儲(chǔ)文件中每個(gè)數(shù)據(jù)地址按照數(shù)據(jù)前后順序進(jìn)行合并,生成當(dāng)前待存儲(chǔ)文件的文件地址。
[0006]所述的步驟S2包括以下子步驟:
521.給定待分割文件,并設(shè)定文件分割方式;
522.查詢待分割文件的文件地址;
523.將文件地址按照設(shè)定的分割方式分割為多個(gè)子文件地址;
524.將分割得到的子文件地址賦值給要生成的目標(biāo)子文件。
[0007]給定的待分割文件為通過步驟SI進(jìn)行存儲(chǔ)的文件。
[0008]—種基于FICS對(duì)象存儲(chǔ)的文件分割系統(tǒng),包括: FICS對(duì)象存儲(chǔ)模塊,用于對(duì)待存儲(chǔ)文件的每個(gè)數(shù)據(jù)進(jìn)行保存,并為待存儲(chǔ)文件生成文件地址;
文件分割模塊,用于給定待分割文件并設(shè)定文件分割方式,通過文件地址的處理實(shí)現(xiàn)文件分割。
[0009]所述的FICS對(duì)象存儲(chǔ)模塊包括:
文件分解子模塊,用于將輸入的待存儲(chǔ)文件分為多個(gè)數(shù)據(jù);
存儲(chǔ)數(shù)據(jù)庫,用于對(duì)分解得到的每個(gè)數(shù)據(jù)進(jìn)行保存;
數(shù)據(jù)地址生成子模塊,用于對(duì)每個(gè)數(shù)據(jù)生成數(shù)據(jù)地址,該數(shù)據(jù)地址包括數(shù)據(jù)保存位置、數(shù)據(jù)在文件中的偏移和數(shù)據(jù)的長度;
文件地址生成子模塊,用于將待存儲(chǔ)文件中每個(gè)數(shù)據(jù)地址按照數(shù)據(jù)前后順序進(jìn)行合并,對(duì)應(yīng)的文件地址。
[0010]所述的文件分割模塊包括:
文件給定子模塊,用于給定待分割文件;
分割設(shè)定子模塊,用于設(shè)定分割方式;
地址查詢子模塊,用于查詢待分割文件的文件地址;
地址分割子模塊,用于將文件地址按照設(shè)定的分割方式分割成多個(gè)子文件地址;
地址賦值子模塊,用于將每個(gè)子文件地址賦值給對(duì)應(yīng)的目標(biāo)子文件。
[0011 ]本發(fā)明的有益效果是:在存儲(chǔ)過程中對(duì)文件的每個(gè)數(shù)據(jù)進(jìn)行保存,并為文件生成文件地址,并通過文件地址的處理實(shí)現(xiàn)文件分割,提高了文件分割速度,節(jié)省了文件分割占用的讀寫帶寬。
【附圖說明】
[0012]圖1為本發(fā)明的方法流程圖;
圖2為生成文件地址的流程圖;
圖3為文件分割流程圖;
圖4為文件分割過程示意圖;
圖5為本發(fā)明的系統(tǒng)原理框圖。
【具體實(shí)施方式】
[0013]下面結(jié)合附圖進(jìn)一步詳細(xì)描述本發(fā)明的技術(shù)方案,但本發(fā)明的保護(hù)范圍不局限于以下所述。
[0014]如圖1所示,一種基于FICS對(duì)象存儲(chǔ)的文件分割方法,包括以下步驟
51.文件存儲(chǔ):對(duì)待存儲(chǔ)文件的每個(gè)數(shù)據(jù)進(jìn)行保存,并為待存儲(chǔ)文件生成文件地址;
52.文件分割:給定待分割文件并設(shè)定文件分割方式,通過文件地址的處理實(shí)現(xiàn)文件分割。
[0015]如圖2所示,所述的步驟SI包括以下子步驟:
511.依次輸入每個(gè)待存儲(chǔ)文件;
512.將當(dāng)前待存儲(chǔ)文件分為多個(gè)數(shù)據(jù);
513.對(duì)每個(gè)數(shù)據(jù)進(jìn)行保存; 514.為每個(gè)數(shù)據(jù)生成一個(gè)數(shù)據(jù)地址,數(shù)據(jù)地址包括數(shù)據(jù)保存位置、數(shù)據(jù)在文件中的偏移和數(shù)據(jù)的長度;
515.將當(dāng)前待存儲(chǔ)文件中每個(gè)數(shù)據(jù)地址按照數(shù)據(jù)前后順序進(jìn)行合并,生成當(dāng)前待存儲(chǔ)文件的文件地址。
[0016]如圖3所示,所述的步驟S2包括以下子步驟:
521.給定待分割文件,并設(shè)定文件分割方式;
522.查詢待分割文件的文件地址;
523.將文件地址按照設(shè)定的分割方式分割為多個(gè)子文件地址;
524.將分割得到的子文件地址賦值給要生成的目標(biāo)子文件。
[0017]給定的待分割文件為通過步驟SI進(jìn)行存儲(chǔ)的文件。
[0018]文件分割過程以圖4為例:給定待分割文件A,并設(shè)定文件分割方式為:將該文件分割為兩部分,前兩個(gè)數(shù)據(jù)為一個(gè)部分,后兩個(gè)數(shù)據(jù)為一個(gè)部分;查詢到待分割文件的文件地址后,將待分割文件A的文件地址中前兩個(gè)數(shù)據(jù)地址和后兩個(gè)數(shù)據(jù)地址分開,并將前兩個(gè)數(shù)據(jù)地址所構(gòu)成的新文件地址賦予子文件D,后兩個(gè)數(shù)據(jù)地址賦予子文件E,即可完成文件分割。
[0019]在本申請(qǐng)中,由于文件地址由多個(gè)數(shù)據(jù)地址構(gòu)成,而數(shù)據(jù)地址均包括數(shù)據(jù)保存位置、數(shù)據(jù)在文件中的偏移和數(shù)據(jù)的長度,故在已知文件地址的情況下,能夠根據(jù)構(gòu)成文件地址的多個(gè)數(shù)據(jù)地址讀取出文件中的所有數(shù)據(jù),在文件地址變化時(shí),讀出的文件中包含的數(shù)據(jù)也會(huì)發(fā)生變化;因此,實(shí)現(xiàn)文件分割過程中,直接對(duì)文件地址進(jìn)行分割處理,就能夠?qū)崿F(xiàn)文件的分割,從而提高了文件分割速度,節(jié)省了文件分割占用的讀寫帶寬。
[0020]一種基于FICS對(duì)象存儲(chǔ)的文件分割系統(tǒng),包括:
FICS對(duì)象存儲(chǔ)模塊,用于對(duì)待存儲(chǔ)文件的每個(gè)數(shù)據(jù)進(jìn)行保存,并為待存儲(chǔ)文件生成文件地址;
文件分割模塊,用于給定待分割文件并設(shè)定文件分割方式,通過文件地址的處理實(shí)現(xiàn)文件分割。
[0021 ]所述的FICS對(duì)象存儲(chǔ)模塊包括:
文件分解子模塊,用于將輸入的待存儲(chǔ)文件分為多個(gè)數(shù)據(jù);
存儲(chǔ)數(shù)據(jù)庫,用于對(duì)分解得到的每個(gè)數(shù)據(jù)進(jìn)行保存;
數(shù)據(jù)地址生成子模塊,用于對(duì)每個(gè)數(shù)據(jù)生成數(shù)據(jù)地址,該數(shù)據(jù)地址包括數(shù)據(jù)保存位置、數(shù)據(jù)在文件中的偏移和數(shù)據(jù)的長度;
文件地址生成子模塊,用于將待存儲(chǔ)文件中每個(gè)數(shù)據(jù)地址按照數(shù)據(jù)前后順序進(jìn)行合并,對(duì)應(yīng)的文件地址。
[0022]所述的文件分割模塊包括:
文件給定子模塊,用于給定待分割文件;
分割設(shè)定子模塊,用于設(shè)定分割方式;
地址查詢子模塊,用于查詢待分割文件的文件地址;
地址分割子模塊,用于將文件地址按照設(shè)定的分割方式分割成多個(gè)子文件地址;
地址賦值子模塊,用于將每個(gè)子文件地址賦值給對(duì)應(yīng)的目標(biāo)子文件。
【主權(quán)項(xiàng)】
1.一種基于FICS對(duì)象存儲(chǔ)的文件分割方法,其特征在于:包括以下步驟 51.文件存儲(chǔ):對(duì)待存儲(chǔ)文件的每個(gè)數(shù)據(jù)進(jìn)行保存,并為待存儲(chǔ)文件生成文件地址; 52.文件分割:給定待分割文件并設(shè)定文件分割方式,通過文件地址的處理實(shí)現(xiàn)文件分割。2.根據(jù)權(quán)利要求1所述的一種基于FICS對(duì)象存儲(chǔ)的文件分割方法,其特征在于:所述的步驟SI包括以下子步驟: SI 1.依次輸入每個(gè)待存儲(chǔ)文件; 512.將當(dāng)前待存儲(chǔ)文件分為多個(gè)數(shù)據(jù); 513.對(duì)每個(gè)數(shù)據(jù)進(jìn)行保存; 514.為每個(gè)數(shù)據(jù)生成一個(gè)數(shù)據(jù)地址,數(shù)據(jù)地址包括數(shù)據(jù)保存位置、數(shù)據(jù)在文件中的偏移和數(shù)據(jù)的長度; 515.將當(dāng)前待存儲(chǔ)文件中每個(gè)數(shù)據(jù)地址按照數(shù)據(jù)前后順序進(jìn)行合并,生成當(dāng)前待存儲(chǔ)文件的文件地址。3.根據(jù)權(quán)利要求1所述的一種基于FICS對(duì)象存儲(chǔ)的文件分割方法,其特征在于:所述的步驟S2包括以下子步驟: 521.給定待分割文件,并設(shè)定文件分割方式; 522.查詢待分割文件的文件地址; 523.將文件地址按照設(shè)定的分割方式分割為多個(gè)子文件地址; 524.將分割得到的子文件地址賦值給要生成的目標(biāo)子文件。4.根據(jù)權(quán)利要求1所述的一種基于FICS對(duì)象存儲(chǔ)的文件分割方法,其特征在于:給定的待分割文件為通過步驟SI進(jìn)行存儲(chǔ)的文件。5.—種基于FICS對(duì)象存儲(chǔ)的文件分割系統(tǒng),其特征在于:包括: FICS對(duì)象存儲(chǔ)模塊,用于對(duì)待存儲(chǔ)文件的每個(gè)數(shù)據(jù)進(jìn)行保存,并為待存儲(chǔ)文件生成文件地址; 文件分割模塊,用于給定待分割文件并設(shè)定文件分割方式,通過文件地址的處理實(shí)現(xiàn)文件分割。6.根據(jù)權(quán)利要求5所述的一種基于FICS對(duì)象存儲(chǔ)的文件分割系統(tǒng),其特征在于:所述的FICS對(duì)象存儲(chǔ)模塊包括: 文件分解子模塊,用于將輸入的待存儲(chǔ)文件分為多個(gè)數(shù)據(jù); 存儲(chǔ)數(shù)據(jù)庫,用于對(duì)分解得到的每個(gè)數(shù)據(jù)進(jìn)行保存; 數(shù)據(jù)地址生成子模塊,用于對(duì)每個(gè)數(shù)據(jù)生成數(shù)據(jù)地址,該數(shù)據(jù)地址包括數(shù)據(jù)保存位置、數(shù)據(jù)在文件中的偏移和數(shù)據(jù)的長度; 文件地址生成子模塊,用于將待存儲(chǔ)文件中每個(gè)數(shù)據(jù)地址按照數(shù)據(jù)前后順序進(jìn)行合并,對(duì)應(yīng)的文件地址。7.根據(jù)權(quán)利要求5所述的一種基于FICS對(duì)象存儲(chǔ)的文件分割系統(tǒng),其特征在于:所述的文件分割模塊包括: 文件給定子模塊,用于給定待分割文件; 分割設(shè)定子模塊,用于設(shè)定分割方式; 地址查詢子模塊,用于查詢待分割文件的文件地址;地址分割子模塊,用于將文件地址按照設(shè)定的分割方式分割成多個(gè)子文件地址;地址賦值子模塊,用于將每個(gè)子文件地址賦值給對(duì)應(yīng)的目標(biāo)子文件。
【文檔編號(hào)】G06F17/30GK106021538SQ201610359985
【公開日】2016年10月12日
【申請(qǐng)日】2016年5月27日
【發(fā)明人】李科, 余軍, 劉盾
【申請(qǐng)人】成都索貝數(shù)碼科技股份有限公司