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