一種基于fics對(duì)象存儲(chǔ)的文件合并方法與系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開(kāi)了一種基于FICS對(duì)象存儲(chǔ)的文件合并方法與系統(tǒng),其方法包括以下步驟:S1.文件存儲(chǔ):對(duì)待存儲(chǔ)文件的每個(gè)數(shù)據(jù)進(jìn)行保存,并為待存儲(chǔ)文件生成文件地址;S2.文件合并:給定待合并文件和合并順序,通過(guò)文件地址的處理實(shí)現(xiàn)文件合并。其系統(tǒng)包括FICS對(duì)象存儲(chǔ)模塊和文件合并模塊。本發(fā)明提供了一種基于FICS對(duì)象存儲(chǔ)的文件合并方法與系統(tǒng),在存儲(chǔ)過(guò)程中對(duì)文件的每個(gè)數(shù)據(jù)進(jìn)行保存,并為文件生成文件地址,并通過(guò)文件地址的處理實(shí)現(xiàn)文件合并,提高了文件合并速度,節(jié)省了文件合并的占用空間。
【專利說(shuō)明】
一種基于FICS對(duì)象存儲(chǔ)的文件合并方法與系統(tǒng)
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及一種基于FICS對(duì)象存儲(chǔ)的文件合并方法與系統(tǒng)。
【背景技術(shù)】
[0002] 文件合并,即多個(gè)文件的數(shù)據(jù)內(nèi)容合并成一個(gè)新的文件,在目前的本地文件系統(tǒng) 及其他分布式文件系統(tǒng)等的管理的存儲(chǔ)上,需要將所有源文件的數(shù)據(jù)依次讀出,并寫入到 新的文件中;如果源文件是大文件,那么這是非常耗時(shí)的,比如源文件是幾百G大小,那么, 可能會(huì)消耗幾十分鐘,甚至幾小時(shí)。同時(shí),也會(huì)消耗大量的存儲(chǔ)讀寫帶寬。并且,盡管源文件 和目標(biāo)文件的絕大部分?jǐn)?shù)據(jù)內(nèi)容是相同的,但是,實(shí)際占用的磁盤空間依然是比較大的,是 所用文件數(shù)據(jù)大小之和;現(xiàn)有的文件合并方式非常浪費(fèi)時(shí)間和資源。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種基于FICS對(duì)象存儲(chǔ)的文件合并 方法與系統(tǒng),在存儲(chǔ)過(guò)程中對(duì)文件的每個(gè)數(shù)據(jù)進(jìn)行保存,并為文件生成文件地址,并通過(guò)文 件地址的處理實(shí)現(xiàn)文件合并,提高了文件合并速度,節(jié)省了文件合并的占用空間。
[0004] 本發(fā)明的目的是通過(guò)以下技術(shù)方案來(lái)實(shí)現(xiàn)的:一種基于FICS對(duì)象存儲(chǔ)的文件合并 方法,包括以下步驟:
[0005] S1.文件存儲(chǔ):對(duì)待存儲(chǔ)文件的每個(gè)數(shù)據(jù)進(jìn)行保存,并為待存儲(chǔ)文件生成文件地 址;
[0006] S2.文件合并:給定待合并文件,通過(guò)文件地址的處理實(shí)現(xiàn)文件合并。
[0007] 所述的步驟S1包括以下子步驟:
[0008] SI 1.依次輸入每個(gè)待存儲(chǔ)文件;
[0009] S12.將當(dāng)前待存儲(chǔ)文件分為多個(gè)數(shù)據(jù);
[0010] S13.將每個(gè)數(shù)據(jù)保存在數(shù)據(jù)庫(kù)中;
[0011] S14.為每個(gè)數(shù)據(jù)生成一個(gè)數(shù)據(jù)地址,數(shù)據(jù)地址包括數(shù)據(jù)保存位置、數(shù)據(jù)在文件中 的偏移和數(shù)據(jù)的長(zhǎng)度;
[0012] S15.將當(dāng)前待存儲(chǔ)文件中每個(gè)數(shù)據(jù)地址按照數(shù)據(jù)在文件中的前后順序進(jìn)行合并, 生成當(dāng)前待存儲(chǔ)文件的文件地址;
[0013] 所述的文件步驟S2包括以下子步驟:
[0014] S21.給定待合并文件并設(shè)定合并順序;
[0015] S22.查詢所有待合并文件的文件地址;
[0016] S23.將所有文件地址按照設(shè)定順序進(jìn)行合并,生成新文件地址;
[0017] S24.將生成的新文件地址賦值給合成的目標(biāo)新文件,完成文件的合并操作。
[0018] 給定的待合并文件為通過(guò)步驟S1進(jìn)行存儲(chǔ)的文件。
[0019] -種基于FICS對(duì)象存儲(chǔ)的文件合并系統(tǒng),包括:
[0020] FICS對(duì)象存儲(chǔ)模塊,用于對(duì)待存儲(chǔ)文件的每個(gè)數(shù)據(jù)進(jìn)行保存,并為待存儲(chǔ)文件生 成文件地址;
[0021]文件合并模塊,用于通過(guò)對(duì)文件地址的處理,實(shí)現(xiàn)文件合并。
[0022]所述的FICS對(duì)象存儲(chǔ)模塊包括:
[0023]文件分解子模塊,用于將輸入的待存儲(chǔ)文件分為多個(gè)數(shù)據(jù);
[0024]存儲(chǔ)數(shù)據(jù)庫(kù),用于對(duì)分解得到的每個(gè)數(shù)據(jù)進(jìn)行保存;
[0025] 數(shù)據(jù)地址生成子模塊,用于對(duì)每個(gè)數(shù)據(jù)生成數(shù)據(jù)地址,該數(shù)據(jù)地址包括數(shù)據(jù)保存 位置、數(shù)據(jù)在文件中的偏移和數(shù)據(jù)的長(zhǎng)度;
[0026] 文件地址生成子模塊,用于將待存儲(chǔ)文件中每個(gè)數(shù)據(jù)地址按照數(shù)據(jù)前后順序進(jìn)行 合并,對(duì)應(yīng)的文件地址;
[0027]所述的文件合并模塊包括:
[0028] 文件給定子模塊,用于給定待合并的文件;
[0029] 順序設(shè)定子模塊,用于設(shè)定文件合并順序;
[0030] 地址查詢子模塊,用于查詢所有待合并文件的文件地址;
[0031]地址合并子模塊,用于將所有查詢到的文件地址按照設(shè)定的順序進(jìn)行合并,生成 新文件地址;
[0032] 地址賦值子模塊,用于將生成的新文件地址賦予合成的目標(biāo)新文件。
[0033] 本發(fā)明的有益效果是:在存儲(chǔ)過(guò)程中對(duì)文件的每個(gè)數(shù)據(jù)進(jìn)行保存,并為文件生成 文件地址,并通過(guò)文件地址的處理實(shí)現(xiàn)文件合并,提高了文件合并速度,節(jié)省了文件合并的 占用空間。
【附圖說(shuō)明】
[0034]圖1為本發(fā)明的流程圖;
[0035]圖2為生成文件地址的流程圖;
[0036]圖3為文件合并流程圖;
[0037]圖4為文件合并的過(guò)程示意圖;
[0038]圖5為本發(fā)明的系統(tǒng)原理框圖。
【具體實(shí)施方式】
[0039]下面結(jié)合附圖進(jìn)一步詳細(xì)描述本發(fā)明的技術(shù)方案,但本發(fā)明的保護(hù)范圍不局限于 以下所述。
[0040]如圖1所示,一種基于FICS對(duì)象存儲(chǔ)的文件合并方法,包括以下步驟:
[0041 ] S1.文件存儲(chǔ):對(duì)待存儲(chǔ)文件的每個(gè)數(shù)據(jù)進(jìn)行保存,并為待存儲(chǔ)文件生成文件地 址;
[0042] S2.文件合并:給定待合并文件,通過(guò)文件地址的處理實(shí)現(xiàn)文件合并。
[0043] 如圖2所示,所述的步驟S1包括以下子步驟:
[0044] SI 1.依次輸入每個(gè)待存儲(chǔ)文件;
[0045] S12.將當(dāng)前待存儲(chǔ)文件分為多個(gè)數(shù)據(jù);
[0046] S13.對(duì)每個(gè)數(shù)據(jù)進(jìn)行保存;
[0047] S14.為每個(gè)數(shù)據(jù)生成一個(gè)數(shù)據(jù)地址,數(shù)據(jù)地址包括數(shù)據(jù)保存位置、數(shù)據(jù)在文件中 的偏移和數(shù)據(jù)的長(zhǎng)度;
[0048] S15.將當(dāng)前待存儲(chǔ)文件中每個(gè)數(shù)據(jù)地址按照數(shù)據(jù)在文件中的前后順序進(jìn)行合并, 生成當(dāng)前待存儲(chǔ)文件的文件地址;
[0049] 如圖3所示,所述的文件步驟S2包括以下子步驟:
[0050] S21.給定待合并文件并設(shè)定合并順序;
[0051 ] S22.查詢所有待合并文件的文件地址;
[0052] S23.將所有文件地址按照設(shè)定順序進(jìn)行合并,生成新文件地址;
[0053] S24.將生成的新文件地址賦值給合成的目標(biāo)新文件,完成文件的合并操作。
[0054]給定的待合并文件為通過(guò)步驟S1進(jìn)行存儲(chǔ)的文件。
[0055] 如圖4所示,為文件合并的過(guò)程示意圖,以兩個(gè)文件合并為例;給定待合并文件A和 待合并文件B,設(shè)置文件A在前,文件B在后,查詢得到文件A的文件地址和文件B的文件地址 后,只需要將文件A和文件B的文件地址進(jìn)行合成,將合成得到的文件地址賦予目標(biāo)新文件C 即可,多個(gè)文件合并時(shí)同理。
[0056] 在本申請(qǐng)中,由于文件地址由多個(gè)數(shù)據(jù)地址構(gòu)成,而數(shù)據(jù)地址均包括數(shù)據(jù)保存位 置、數(shù)據(jù)在文件中的偏移和數(shù)據(jù)的長(zhǎng)度,故在已知文件地址的情況下,能夠根據(jù)構(gòu)成文件地 址的多個(gè)數(shù)據(jù)地址讀取出文件中的所有數(shù)據(jù),在文件地址變化時(shí),讀出的文件中包含的數(shù) 據(jù)也會(huì)發(fā)生變化;因此,實(shí)現(xiàn)文件合的過(guò)程中,直接對(duì)文件地址進(jìn)行合并處理,就能夠?qū)崿F(xiàn) 文件的編輯,從而提高了文件合并速度,節(jié)省了文件合并的占用空間。
[0057]下表為合并文件模擬測(cè)試的性能對(duì)比:
[0059] 傳統(tǒng)方式按照每秒寫100M左右的性能來(lái)評(píng)估,從上表可見(jiàn),本申請(qǐng)由于對(duì)文件地 址進(jìn)行操作,不需要讀寫文件完成合并,合并時(shí)間以秒為單位,而傳統(tǒng)方式,如winhex, winrar等,卻需要幾個(gè)小時(shí),由此可見(jiàn),本申請(qǐng)?jiān)谖募喜⒌倪^(guò)程中能夠大量地節(jié)約時(shí)間, 同時(shí),由于不需要讀寫數(shù)據(jù),故也不會(huì)消耗大量的存儲(chǔ)讀寫帶寬,因此,本申請(qǐng)的技術(shù)方案 提高了文件合并速度,節(jié)省了文件合并的占用空間。
[0060] 如圖5所示,一種基于FICS對(duì)象存儲(chǔ)的文件合并系統(tǒng),包括:
[0061] FICS對(duì)象存儲(chǔ)模塊,用于對(duì)待存儲(chǔ)文件的每個(gè)數(shù)據(jù)進(jìn)行保存,并為待存儲(chǔ)文件生 成文件地址;
[0062]文件合并模塊,用于通過(guò)對(duì)文件地址的處理,實(shí)現(xiàn)文件合并。
[0063]所述的FICS對(duì)象存儲(chǔ)模塊包括:
[0064]文件分解子模塊,用于將輸入的待存儲(chǔ)文件分為多個(gè)數(shù)據(jù);
[0065] 存儲(chǔ)數(shù)據(jù)庫(kù),用于對(duì)分解得到的每個(gè)數(shù)據(jù)進(jìn)行保存;
[0066] 數(shù)據(jù)地址生成子模塊,用于對(duì)每個(gè)數(shù)據(jù)生成數(shù)據(jù)地址,該數(shù)據(jù)地址包括數(shù)據(jù)保存 位置、數(shù)據(jù)在文件中的偏移和數(shù)據(jù)的長(zhǎng)度;
[0067]文件地址生成子模塊,用于將待存儲(chǔ)文件中每個(gè)數(shù)據(jù)地址按照數(shù)據(jù)前后順序進(jìn)行 合并,對(duì)應(yīng)的文件地址;
[0068]所述的文件合并模塊包括:
[0069] 文件給定子模塊,用于給定待合并的文件;
[0070] 順序設(shè)定子模塊,用于設(shè)定文件合并順序;
[0071] 地址查詢子模塊,用于查詢所有待合并文件的文件地址;
[0072] 地址合并子模塊,用于將所有查詢到的文件地址按照設(shè)定的順序進(jìn)行合并,生成 新文件地址;
[0073] 地址賦值子模塊,用于將生成的新文件地址賦予合成的目標(biāo)新文件。
【主權(quán)項(xiàng)】
1. 一種基于FICS對(duì)象存儲(chǔ)的文件合并方法,其特征在于:包括以下步驟:51. 文件存儲(chǔ):對(duì)待存儲(chǔ)文件的每個(gè)數(shù)據(jù)進(jìn)行保存,并為待存儲(chǔ)文件生成文件地址;52. 文件合并:給定待合并文件,通過(guò)文件地址的處理實(shí)現(xiàn)文件合并。2. 根據(jù)權(quán)利要求1所述的一種基于FICS對(duì)象存儲(chǔ)的文件合并方法,其特征在于:所述的 步驟S1包括以下子步驟:511. 依次輸入每個(gè)待存儲(chǔ)文件;512. 將當(dāng)前待存儲(chǔ)文件分為多個(gè)數(shù)據(jù);513. 將每個(gè)數(shù)據(jù)保存在數(shù)據(jù)庫(kù)中;514. 為每個(gè)數(shù)據(jù)生成一個(gè)數(shù)據(jù)地址,數(shù)據(jù)地址包括數(shù)據(jù)保存位置、數(shù)據(jù)在文件中的偏 移和數(shù)據(jù)的長(zhǎng)度;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è)定順序進(jìn)行合并,生成新文件地址;524. 將生成的新文件地址賦值給合成的目標(biāo)新文件,完成文件的合并操作。4. 根據(jù)權(quán)利要求1所述的一種基于FICS對(duì)象存儲(chǔ)的文件合并方法,其特征在于:給定的 待合并文件為通過(guò)步驟S1進(jìn)行存儲(chǔ)的文件。5. -種基于FICS對(duì)象存儲(chǔ)的文件合并系統(tǒng),其特征在于:包括: FICS對(duì)象存儲(chǔ)模塊,用于對(duì)待存儲(chǔ)文件的每個(gè)數(shù)據(jù)進(jìn)行保存,并為待存儲(chǔ)文件生成文 件地址; 文件合并模塊,用于通過(guò)對(duì)文件地址的處理,實(shí)現(xiàn)文件合并。6. 根據(jù)權(quán)利要求5所述的一種基于FICS對(duì)象存儲(chǔ)的文件合并系統(tǒng),其特征在于:所述的 FICS對(duì)象存儲(chǔ)模塊包括: 文件分解子模塊,用于將輸入的待存儲(chǔ)文件分為多個(gè)數(shù)據(jù); 存儲(chǔ)數(shù)據(jù)庫(kù),用于對(duì)分解得到的每個(gè)數(shù)據(jù)進(jìn)行保存; 數(shù)據(jù)地址生成子模塊,用于對(duì)每個(gè)數(shù)據(jù)生成數(shù)據(jù)地址,該數(shù)據(jù)地址包括數(shù)據(jù)保存位置、 數(shù)據(jù)在文件中的偏移和數(shù)據(jù)的長(zhǎng)度; 文件地址生成子模塊,用于將待存儲(chǔ)文件中每個(gè)數(shù)據(jù)地址按照數(shù)據(jù)前后順序進(jìn)行合 并,對(duì)應(yīng)的文件地址。7. 根據(jù)權(quán)利要求5所述的一種基于FICS對(duì)象存儲(chǔ)的文件合并系統(tǒng),其特征在于:所述的 文件合并模塊包括: 文件給定子模塊,用于給定待合并的文件; 順序設(shè)定子模塊,用于設(shè)定文件合并順序; 地址查詢子模塊,用于查詢所有待合并文件的文件地址; 地址合并子模塊,用于將所有查詢到的文件地址按照設(shè)定的順序進(jìn)行合并,生成新文 件地址; 地址賦值子模塊,用于將生成的新文件地址賦予合成的目標(biāo)新文件。
【文檔編號(hào)】G06F17/30GK106095794SQ201610371312
【公開(kāi)日】2016年11月9日
【申請(qǐng)日】2016年5月27日
【發(fā)明人】李科, 余軍, 韓志宏
【申請(qǐng)人】成都索貝數(shù)碼科技股份有限公司