一種基于fics對象存儲的數(shù)據(jù)插入方法與系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種基于FICS對象存儲的數(shù)據(jù)插入方法與系統(tǒng),其方法包括以下步驟:S1.文件存儲:對待存儲文件的每個數(shù)據(jù)進(jìn)行保存,并為待存儲文件生成文件地址;S2.數(shù)據(jù)插入:將插入的數(shù)據(jù)進(jìn)行保存,并為插入的數(shù)據(jù)生成數(shù)據(jù)地址,根據(jù)數(shù)據(jù)插入的位置將生成的數(shù)據(jù)地址插入對應(yīng)的文件地址中。本發(fā)明在存儲過程中對文件的每個數(shù)據(jù)進(jìn)行保存,并為文件生成文件地址;在數(shù)據(jù)插入過程中將插入的數(shù)據(jù)進(jìn)行保存,并為插入的數(shù)據(jù)生成數(shù)據(jù)地址,根據(jù)數(shù)據(jù)插入的位置將生成的數(shù)據(jù)地址插入對應(yīng)的文件地址中,不再需要將文件中的全部內(nèi)容依次覆蓋寫一次;提高了數(shù)據(jù)插入的速度,節(jié)省了數(shù)據(jù)插入所占用的讀寫帶寬。
【專利說明】
一種基于FI CS對象存儲的數(shù)據(jù)插入方法與系統(tǒng)
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及一種基于FICS對象存儲的數(shù)據(jù)插入方法與系統(tǒng)。
【背景技術(shù)】
[0002]數(shù)據(jù)插入,即向文件中插入數(shù)據(jù),在目前的本地文件系統(tǒng)及其他分布式文件系統(tǒng)等的管理的存儲上,需要將文件中的數(shù)據(jù)內(nèi)容全部依次覆蓋寫一次,在寫的過程中加入新的數(shù)據(jù),數(shù)據(jù)才能保存下來;這是非常耗時,耗帶寬的;例如:在一個幾百M或幾個G的信號數(shù)據(jù)文件中,比如excel或其他格式的文件,我們要插入10個字符,在保存文件時,必須將所有的內(nèi)容重新寫一次,非常耗時(可能要幾分鐘,甚至幾十分鐘)、耗帶寬。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種基于FICS對象存儲的數(shù)據(jù)插入方法與系統(tǒng),在存儲過程中對文件的每個數(shù)據(jù)進(jìn)行保存,并為文件生成文件地址;在數(shù)據(jù)插入過程中將插入的數(shù)據(jù)進(jìn)行保存,并為插入的數(shù)據(jù)生成數(shù)據(jù)地址,根據(jù)數(shù)據(jù)插入的位置將生成的數(shù)據(jù)地址插入對應(yīng)的文件地址中,不再需要將文件中的全部內(nèi)容依次覆蓋寫一次;提高了數(shù)據(jù)插入的速度,節(jié)省了數(shù)據(jù)插入所占用的讀寫帶寬。
[0004]本發(fā)明的目的是通過以下技術(shù)方案來實現(xiàn)的:一種基于FICS對象存儲的數(shù)據(jù)插入方法,其特征在于:包括以下步驟:
51.文件存儲:對待存儲文件的每個數(shù)據(jù)進(jìn)行保存,并為待存儲文件生成文件地址;
52.數(shù)據(jù)插入:將插入的數(shù)據(jù)進(jìn)行保存,并為插入的數(shù)據(jù)生成數(shù)據(jù)地址,根據(jù)數(shù)據(jù)插入的位置將生成的數(shù)據(jù)地址插入對應(yīng)的文件地址中。
[0005]所述的步驟SI包括以下子步驟:
511.依次輸入每個待存儲文件;
512.將當(dāng)前待存儲文件分為多個數(shù)據(jù);
513.對每個數(shù)據(jù)進(jìn)行保存;
514.為每個數(shù)據(jù)生成一個數(shù)據(jù)地址,數(shù)據(jù)地址包括數(shù)據(jù)保存位置、數(shù)據(jù)在文件中的偏移和數(shù)據(jù)的長度;
515.將當(dāng)前待存儲文件中每個數(shù)據(jù)地址按照數(shù)據(jù)前后順序進(jìn)行合并,生成當(dāng)前待存儲文件的文件地址。
[0006]所述的步驟S2包括以下子步驟:
521.給定待插入數(shù)據(jù),將待插入數(shù)據(jù)進(jìn)行保存,并為待插入數(shù)據(jù)生成相應(yīng)的數(shù)據(jù)地址;
522.給定數(shù)據(jù)插入的源文件和在源文件中插入的位置;
523.查詢源文件的文件地址;
524.根據(jù)插入的位置將生成的數(shù)據(jù)地址插入文件地址中。
[0007]所述的源文件為通過步驟SI進(jìn)行存儲的文件。
[0008]所述的步驟S24包括以下子步驟: 5241.根據(jù)給定數(shù)據(jù)在源文件中的插入位置將數(shù)據(jù)地址的插入分為三種情況:
(1)如果插入位置在源文件的首端,直接將生成的數(shù)據(jù)地址合并到文件地址首端;
(2)如果插入位置在源文件的末端,直接將生成的數(shù)據(jù)地址合并到文件地址末端;
(3)如果插入位置在源文件的中部,跳轉(zhuǎn)至步驟S242;
5242.根據(jù)插入位置將源文件的文件地址分為兩段,將生成的數(shù)據(jù)地址插入兩段文件地址之間,再進(jìn)行合并。
[0009]—種基于FICS對象存儲的數(shù)據(jù)插入系統(tǒng),包括:
FICS對象存儲模塊,用于待存儲文件的每個數(shù)據(jù)進(jìn)行保存,并為待存儲文件生成文件地址;
數(shù)據(jù)插入模塊,用于將插入的數(shù)據(jù)進(jìn)行保存,并為插入的數(shù)據(jù)生成數(shù)據(jù)地址,根據(jù)數(shù)據(jù)插入的位置將生成的數(shù)據(jù)地址插入對應(yīng)的文件地址中。
[0010]所述的FICS對象存儲模塊包括:
文件分解子模塊,用于將輸入的待存儲文件分為多個數(shù)據(jù);
存儲數(shù)據(jù)庫,用于對分解得到的每個數(shù)據(jù)進(jìn)行保存;
數(shù)據(jù)地址生成子模塊,用于對每個數(shù)據(jù)生成數(shù)據(jù)地址,該數(shù)據(jù)地址包括數(shù)據(jù)保存位置、數(shù)據(jù)在文件中的偏移和數(shù)據(jù)的長度;
文件地址生成子模塊,用于將待存儲文件中每個數(shù)據(jù)地址按照數(shù)據(jù)前后順序進(jìn)行合并,對應(yīng)的文件地址。
[0011 ]所述的數(shù)據(jù)插入模塊包括:
數(shù)據(jù)輸入子模塊,用于輸入待插入數(shù)據(jù),對待插入數(shù)據(jù)進(jìn)行保存,并為待插入數(shù)據(jù)生成相應(yīng)的數(shù)據(jù)地址;
文件設(shè)定子模塊,用于設(shè)定給定數(shù)據(jù)插入的源文件;
插入設(shè)定子模塊,用于設(shè)定數(shù)據(jù)在源文件中插入的位置;
地址查詢子模塊,用于查詢源文件的文件地址;
地址插入子模塊,用于將生成的數(shù)據(jù)地址插入到源文件的文件地址中。
[0012]本發(fā)明的有益效果是:在存儲過程中對文件的每個數(shù)據(jù)進(jìn)行保存,并為文件生成文件地址;在數(shù)據(jù)插入過程中將插入的數(shù)據(jù)進(jìn)行保存,并為插入的數(shù)據(jù)生成數(shù)據(jù)地址,根據(jù)數(shù)據(jù)插入的位置將生成的數(shù)據(jù)地址插入對應(yīng)的文件地址中,不再需要將文件中的全部內(nèi)容依次覆蓋寫一次;提高了數(shù)據(jù)插入的速度,節(jié)省了數(shù)據(jù)插入所占用的讀寫帶寬。
【附圖說明】
[0013]圖1為本發(fā)明的方法流程圖;
圖2為生成文件地址的流程圖;
圖3為數(shù)據(jù)插入流程圖;
圖4為數(shù)據(jù)插入過程示意圖;
圖5為本發(fā)明的系統(tǒng)原理框圖。
【具體實施方式】
[0014]下面結(jié)合附圖進(jìn)一步詳細(xì)描述本發(fā)明的技術(shù)方案,但本發(fā)明的保護范圍不局限于以下所述。
[0015]如圖1所示,一種基于FICS對象存儲的數(shù)據(jù)插入方法,其特征在于:包括以下步驟:
51.文件存儲:對待存儲文件的每個數(shù)據(jù)進(jìn)行保存,并為待存儲文件生成文件地址;
52.數(shù)據(jù)插入:將插入的數(shù)據(jù)進(jìn)行保存,并為插入的數(shù)據(jù)生成數(shù)據(jù)地址,根據(jù)數(shù)據(jù)插入的位置將生成的數(shù)據(jù)地址插入對應(yīng)的文件地址中。
[0016]如圖2所示,所述的步驟SI包括以下子步驟:
511.依次輸入每個待存儲文件;
512.將當(dāng)前待存儲文件分為多個數(shù)據(jù);
513.對每個數(shù)據(jù)進(jìn)行保存;
514.為每個數(shù)據(jù)生成一個數(shù)據(jù)地址,數(shù)據(jù)地址包括數(shù)據(jù)保存位置、數(shù)據(jù)在文件中的偏移和數(shù)據(jù)的長度;
515.將當(dāng)前待存儲文件中每個數(shù)據(jù)地址按照數(shù)據(jù)前后順序進(jìn)行合并,生成當(dāng)前待存儲文件的文件地址。
[0017]如圖3所示,所述的步驟S2包括以下子步驟:
521.給定待插入數(shù)據(jù),將待插入數(shù)據(jù)進(jìn)行保存,并為待插入數(shù)據(jù)生成相應(yīng)的數(shù)據(jù)地址;
522.給定數(shù)據(jù)插入的源文件和在源文件中插入的位置;
523.查詢源文件的文件地址;
524.根據(jù)插入的位置將生成的數(shù)據(jù)地址插入文件地址中。
[0018]所述的源文件為通過步驟SI進(jìn)行存儲的文件。
[0019]所述的步驟S24包括以下子步驟:
5241.根據(jù)給定數(shù)據(jù)在源文件中的插入位置將數(shù)據(jù)地址的插入分為三種情況:
(1)如果插入位置在源文件的首端,直接將生成的數(shù)據(jù)地址合并到文件地址首端;
(2)如果插入位置在源文件的末端,直接將生成的數(shù)據(jù)地址合并到文件地址末端;
(3)如果插入位置在源文件的中部,跳轉(zhuǎn)至步驟S242;
5242.根據(jù)插入位置將源文件的文件地址分為兩段,將生成的數(shù)據(jù)地址插入兩段文件地址之間,再進(jìn)行合并。
[0020]如圖4所示,以數(shù)據(jù)插入位置在源文件中部為例,將待插入的數(shù)據(jù)進(jìn)行保存,并為待插入的數(shù)據(jù)生成數(shù)據(jù)地址N;查詢到源文件A的文件地址后根據(jù)具體的插入位置將其分為兩段,將生成的數(shù)據(jù)地址N插入兩段文件地址之間,再進(jìn)行合并,皆可得到數(shù)據(jù)插入生成的文件F所對應(yīng)的文件地址。
[0021]在本申請中,由于文件地址由多個數(shù)據(jù)地址構(gòu)成,而數(shù)據(jù)地址均包括數(shù)據(jù)保存位置、數(shù)據(jù)在文件中的偏移和數(shù)據(jù)的長度,故在已知文件地址的情況下,能夠根據(jù)構(gòu)成文件地址的多個數(shù)據(jù)地址讀取出文件中的所有數(shù)據(jù),在文件地址變化時,讀出的文件中包含的數(shù)據(jù)也會發(fā)生變化;因此,實現(xiàn)數(shù)據(jù)插入過程中,直接對文件地址進(jìn)行插入處理,就能夠?qū)崿F(xiàn)文件的數(shù)據(jù)插入,從而提高了數(shù)據(jù)插入的速度,節(jié)省了數(shù)據(jù)插入的占用的讀寫帶寬。
[0022]—種基于FICS對象存儲的數(shù)據(jù)插入系統(tǒng),包括:
FICS對象存儲模塊,用于待存儲文件的每個數(shù)據(jù)進(jìn)行保存,并為待存儲文件生成文件地址;
數(shù)據(jù)插入模塊,用于將插入的數(shù)據(jù)進(jìn)行保存,并為插入的數(shù)據(jù)生成數(shù)據(jù)地址,根據(jù)數(shù)據(jù)插入的位置將生成的數(shù)據(jù)地址插入對應(yīng)的文件地址中。
[0023]所述的FICS對象存儲模塊包括:文件分解子模塊,用于將輸入的待存儲文件分為多個數(shù)據(jù);存儲數(shù)據(jù)庫,用于對分解得到的每個數(shù)據(jù)進(jìn)行保存;數(shù)據(jù)地址生成子模塊,用于對每個數(shù)據(jù)生成數(shù)據(jù)地址,該數(shù)據(jù)地址包括數(shù)據(jù)保存位置、 數(shù)據(jù)在文件中的偏移和數(shù)據(jù)的長度;文件地址生成子模塊,用于將待存儲文件中每個數(shù)據(jù)地址按照數(shù)據(jù)前后順序進(jìn)行合并,對應(yīng)的文件地址。[〇〇24]所述的數(shù)據(jù)插入模塊包括:數(shù)據(jù)輸入子模塊,用于輸入待插入數(shù)據(jù),對待插入數(shù)據(jù)進(jìn)行保存,并為待插入數(shù)據(jù)生成相應(yīng)的數(shù)據(jù)地址;文件設(shè)定子模塊,用于設(shè)定給定數(shù)據(jù)插入的源文件;插入設(shè)定子模塊,用于設(shè)定數(shù)據(jù)在源文件中插入的位置;地址查詢子模塊,用于查詢源文件的文件地址;地址插入子模塊,用于將生成的數(shù)據(jù)地址插入到源文件的文件地址中。
【主權(quán)項】
1.一種基于FICS對象存儲的數(shù)據(jù)插入方法,其特征在于:包括以下步驟:S1.文件存儲:對待存儲文件的每個數(shù)據(jù)進(jìn)行保存,并為待存儲文件生成文件地址;S2.數(shù)據(jù)插入:將插入的數(shù)據(jù)進(jìn)行保存,并為插入的數(shù)據(jù)生成數(shù)據(jù)地址,根據(jù)數(shù)據(jù)插入的位置將生成的數(shù)據(jù)地址插入對應(yīng)的文件地址中。2.根據(jù)權(quán)利要求1所述的一種基于FICS對象存儲的數(shù)據(jù)插入方法,其特征在于:所述的步驟SI包括以下子步驟: SI 1.依次輸入每個待存儲文件; S12.將當(dāng)前待存儲文件分為多個數(shù)據(jù); S13.對每個數(shù)據(jù)進(jìn)行保存; S14.為每個數(shù)據(jù)生成一個數(shù)據(jù)地址,數(shù)據(jù)地址包括數(shù)據(jù)保存位置、數(shù)據(jù)在文件中的偏移和數(shù)據(jù)的長度; S15.將當(dāng)前待存儲文件中每個數(shù)據(jù)地址按照數(shù)據(jù)前后順序進(jìn)行合并,生成當(dāng)前待存儲文件的文件地址。3.根據(jù)權(quán)利要求1所述的一種基于FICS對象存儲的數(shù)據(jù)插入方法,其特征在于:所述的步驟S2包括以下子步驟: S21.給定待插入數(shù)據(jù),將待插入數(shù)據(jù)進(jìn)行保存,并為待插入數(shù)據(jù)生成相應(yīng)的數(shù)據(jù)地址; S22.給定數(shù)據(jù)插入的源文件和在源文件中插入的位置; S23.查詢源文件的文件地址; S24.根據(jù)插入的位置將生成的數(shù)據(jù)地址插入文件地址中。4.根據(jù)權(quán)利要求3所述的一種基于FICS對象存儲的數(shù)據(jù)插入方法,其特征在于:所述的源文件為通過步驟SI進(jìn)行存儲的文件。5.根據(jù)權(quán)利要求3所述的一種基于FICS對象存儲的數(shù)據(jù)插入方法,其特征在于:所述的步驟S24包括以下子步驟: S241.根據(jù)給定數(shù)據(jù)在源文件中的插入位置將數(shù)據(jù)地址的插入分為三種情況: (1)如果插入位置在源文件的首端,直接將生成的數(shù)據(jù)地址合并到文件地址首端; (2)如果插入位置在源文件的末端,直接將生成的數(shù)據(jù)地址合并到文件地址末端; (3)如果插入位置在源文件的中部,跳轉(zhuǎn)至步驟S242; 5242.根據(jù)插入位置將源文件的文件地址分為兩段,將生成的數(shù)據(jù)地址插入兩段文件地址之間,再進(jìn)行合并。6.一種基于FICS對象存儲的數(shù)據(jù)插入系統(tǒng),其特征在于:包括: FICS對象存儲模塊,用于待存儲文件的每個數(shù)據(jù)進(jìn)行保存,并為待存儲文件生成文件地址; 數(shù)據(jù)插入模塊,用于將插入的數(shù)據(jù)進(jìn)行保存,并為插入的數(shù)據(jù)生成數(shù)據(jù)地址,根據(jù)數(shù)據(jù)插入的位置將生成的數(shù)據(jù)地址插入對應(yīng)的文件地址中。7.根據(jù)權(quán)利要求6所述的一種基于FICS對象存儲的數(shù)據(jù)插入系統(tǒng),其特征在于:所述的FICS對象存儲模塊包括: 文件分解子模塊,用于將輸入的待存儲文件分為多個數(shù)據(jù); 存儲數(shù)據(jù)庫,用于對分解得到的每個數(shù)據(jù)進(jìn)行保存; 數(shù)據(jù)地址生成子模塊,用于對每個數(shù)據(jù)生成數(shù)據(jù)地址,該數(shù)據(jù)地址包括數(shù)據(jù)保存位置、數(shù)據(jù)在文件中的偏移和數(shù)據(jù)的長度; 文件地址生成子模塊,用于將待存儲文件中每個數(shù)據(jù)地址按照數(shù)據(jù)前后順序進(jìn)行合并,對應(yīng)的文件地址。8.根據(jù)權(quán)利要求6所述的一種基于FICS對象存儲的數(shù)據(jù)插入系統(tǒng),其特征在于:所述的數(shù)據(jù)插入模塊包括: 數(shù)據(jù)輸入子模塊,用于輸入待插入數(shù)據(jù),對待插入數(shù)據(jù)進(jìn)行保存,并為待插入數(shù)據(jù)生成相應(yīng)的數(shù)據(jù)地址; 文件設(shè)定子模塊,用于設(shè)定給定數(shù)據(jù)插入的源文件; 插入設(shè)定子模塊,用于設(shè)定數(shù)據(jù)在源文件中插入的位置; 地址查詢子模塊,用于查詢源文件的文件地址; 地址插入子模塊,用于將生成的數(shù)據(jù)地址插入到源文件的文件地址中。
【文檔編號】G06F17/30GK106021536SQ201610359978
【公開日】2016年10月12日
【申請日】2016年5月27日
【發(fā)明人】李科, 劉盾, 韓志宏
【申請人】成都索貝數(shù)碼科技股份有限公司