<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

一種小型嵌入式文件存儲管理系統的制作方法

文檔序號:6377135閱讀:251來源:國知局
專利名稱:一種小型嵌入式文件存儲管理系統的制作方法
技術領域
本發明是一種小型嵌入式文件存儲管理系統,涉及數字數據處理裝置和信息的存貯技術領域。
背景技術
隨著各種儀器設備的發展,各種小容量存儲器在設計中已經變的不可或缺。因此,在小容量存儲器上實現文件管理系統也變的非常重要。現有很多小容量存儲器的文件管理方法是首先,根據存儲器容量、文件大小和文件數目劃分存儲器的存儲空間,然后計算出各空間的首地址,并將文件依次存入指定首地址的空間內。這樣的存儲管理方法存在很多弊端當存儲器剩余空間、所存文件大小或文件數目發生變化時,如果不重新分配存儲空間可能會造成存儲空間浪 費或;很多小容量存儲器的文件管理方法雖然在可以任意改變存儲器大小,文件大小和數目,但是,因為其索引的不完善導致讀取,寫入和刪除等程序的運行很慢,影響存儲器的效率,甚至影響整個儀器設備的運行效率和流暢度。對于小容量存儲器來說,空間的合理利用既能節省存儲空間,又能提高存儲效率,所以,一個好的文件管理系統對于存儲空間的優化管理是尤其重要的。它能夠更高效地存取數據,減少存儲空間的浪費,加快程序運行速度,便于文件的索引、添加、修改和刪除。最重要的是當存儲器正常工作期間發生掉電時,它可以保證所存儲文件數據的完整性和安全性,并且如果數據因為某些特殊原因出現問題時,也可以進行數據恢復。CN1405683A公開了一種FLASH存儲文件管理方法,CN102103597A公開了一種DSP嵌入式FLASH文件存儲系統,但它們都不夠理想。

發明內容
本發明的目的是發明一種基于存儲器區塊化管理方式、適用于小容量存儲器文件管理、能夠高效的存取數據、減少存儲空間的浪費、方便文件的管理、保證數據的安全性的小型嵌入式文件存儲管理系統。本發明采用了如下技術方案來實現將存儲器的空間分成兩部分(圖1),一部分是區塊分配表區(表1),其由一個特殊O區塊信息單元和若干普通區塊信息單元組成;另一部分是文件數據存儲區,該區采用區塊化管理方式,由若干個大小相同的數據存儲區塊組成。每一個數據存儲區塊都有一個對應的普通區塊信息單元,通過各個區塊信息單元形成由文件環形雙向鏈表、未用區塊環形單向鏈表和文件區塊線形單向鏈表三條鏈表組成的鏈表系統(圖2、3、4)來鏈接所有的區塊,并通過設置區塊信息單元中的各種狀態參數對鏈表系統(圖2、3、4)進行管理。在該文件管理系統的區塊管理中使用了三個鏈表I、文件環形雙向鏈表(見圖2);區塊信息O將下一文件首塊號指向文件1,文件I將下一文件首塊號指向文件2,文件2將下一文件首塊號指向文件3,一直到文件η-l將下一文件首塊號指向文件n,文件η將下一文件首塊號指回區塊信息O ;區塊信息O將最后一文件首塊號指向文件η,文件η將最后一文件首塊號指向文件η-1,文件η-l將最后一文件首塊號指向文件η-2,一直到文件2將最后一文件首塊號指向文件1,文件I將最后一文件首塊號指回區塊信息O ;2、未用區塊環形單向鏈表(見圖3);區塊信息O將下一未用區塊號指向未用區塊I,未用區塊I將下一未用區塊號指向未用區塊2,如此,一直到未用區塊η-2將下一未用區塊號指向未用區塊η-l,未用區塊η_1將下一未用區塊號指向未用區塊n,未用區塊η將下一未用區塊號指回區塊信息O ;區塊信息O將最后一未用區塊號指向未用區塊η ;
3、文件區塊線形單向鏈表(見圖4);文件X首區塊將下一塊號指向文件X區塊I,文件X區塊I將下一塊號指向文件X區塊2,文件X區塊2將下一塊號指向文件X區塊3,一直到文件X區塊η-2將下一塊號指向文件X區塊η-l,文件X區塊η-l將下一塊號指向文件X區塊η。區塊分配表內容解釋文件標號所存儲文件按存儲先后順序的標號(在該文件管理系統中暫時沒有用到);下一塊號同一文件所包括的區塊的鏈表指向,用于串聯整個文件所包含的區塊;下一文件首塊號用于記錄下一文件的首塊號,用于形成文件環形鏈表;上一文件首塊號用于記錄上一文件的首塊號,用于形成文件環形鏈表;區塊標號記錄了當前區塊的區塊號,方便區塊管理和鏈表的指向;下一未用區塊號用于記錄下一未用區塊的區塊號,用于形成未用區塊環形鏈表;最后一未用區塊號用于記錄鏈表最后一個未用區塊的區塊號,用于形成環形鏈表;文件鏈表長度用于記錄文件個數,便于快速讀出存儲器內的文件總個數。在此鏈表結構中,區塊信息O (表I)的作用尤其重要,從該區塊可以直接讀出所存儲文件數,可以根據鏈表算出未用區塊數。其中最重要的一是,可以根據“最后一文件首塊號”直接讀出“文件環形雙向鏈表”的首區塊號,從而在該鏈表的末端加入新的文件;二是,可以根據“下一未用區塊號”讀出“未用區塊環形單向鏈”的第一個未用區塊,從而用于新文件存儲空間的申請;三是,可以根據“最后一個未用區塊號”直接找到“未用區塊環形單向鏈表”的末尾,從而將已刪除文件的區塊根據“文件區塊線形單向鏈表”直接加入“未用區塊環形單向鏈表”。本發明的優點是I)可以方便的實現文件的添加,文件的刪除,文件的提取;2)可以充分利用閑置的區塊用于存儲,避免存儲空間的浪費;3)可以加快程序的運行速度;4)可以保證數據存儲時其它已存儲數據的安全性;5)當由于斷電等特殊情況的發生而導致區塊分配表的破壞時,可以利用這三條鏈表推理出各個區塊相互間的鏈接關系,從而對區塊分配表和鏈表進行修復,恢復全部或者
部分數據。


圖I存儲器區塊分配表圖2文件環形雙向鏈表圖3未用區塊環形單向鏈表圖4文件區塊線形單向鏈表
具體實施例方式下面結合該發明的附圖,對該發明的實施技術方案進行詳細、完整和清晰的描述。實施例.將存儲器的空間分成兩部分(圖1),一部分是區塊分配表區(表1),其由一個特殊O區塊信息單元和若干普通區塊信息單元組成;另一部分是文件數據存儲區,該區采用區塊化管理方式,由若干個大小相同的數據存儲區塊組成。每一個數據存儲區塊都有一個對應的普通區塊信息單元,通過各個區塊信息單元形成由三條鏈表組成的鏈表系統(圖2、3、4)來鏈接所有的區塊,并通過設置區塊信息單元中的各種狀態參數對鏈表系統(圖
2、3、4)進行管理。初始化文件管理系統一、如圖I所示,將存儲器分成區塊分配表區和文件數據存儲區。二、如表I所示,生成區塊分配表,即將區塊分配表初始化,在表I中所示的“區塊標號”中寫入對應的區塊標號,使用“下一未用區塊標號”從O區塊信息開始,順序將區塊全部分配到“未用區塊環形單向鏈表”(圖3)中,其余鏈表為空,形成鏈表系統(圖2、3、4)。在該文件管理系統的區塊管理中使用了三個鏈表I、文件環形雙向鏈表(見圖2);區塊信息O將下一文件首塊號指向文件1,文件I將下一文件首塊號指向文件2,文件2將下一文件首塊號指向文件3,一直到文件η-l將下一文件首塊號指向文件η,文件η將下一文件首塊號指回區塊信息O ;區塊信息O將最后一文件首塊號指向文件η,文件η將最后一文件首塊號指向文件η-1,文件η-l將最后一文件首塊號指向文件η-2,一直到文件2將最后一文件首塊號指向文件1,文件I將最后一文件首塊號指回區塊信息O ;所述文件標號所存儲文件按存儲先后順序的標號;所述下一文件首塊號用于記錄下一文件的首塊號,用于形成文件環形鏈表;所述上一文件首塊號用于記錄上一文件的首塊號,用于形成文件環形鏈表;所述區塊標號記錄了當前區塊的區塊號,方便區塊管理和鏈表的指向所述文件鏈表長度用于記錄文件個數,便于快速讀出存儲器內的文件總個數。2、未用區塊環形單向鏈表(見圖3);區塊信息O將下一未用區塊號指向未用區塊I,未用區塊I將下一未用區塊號指向未用區塊2,如此,一直到未用區塊η-2將下一未用區塊號指向未用區塊η-l,未用區塊η_1將下一未用區塊號指向未用區塊n,未用區塊η將下一未用區塊號發回區塊信息O ;區塊信息O將最后一未用區塊號指向未用區塊η ;
所述下一未用區塊號用于記錄下一未用區塊的區塊號,用于形成未用區塊環形鏈表;所述最后一未用區塊號用于記錄鏈表最后一個未用區塊的區塊號,用于形成環形鏈表;3、文件區塊線形單向鏈表(見圖4);文件X首區塊將下一塊 號指向文件X區塊1,文件X區塊I將下一塊號指向文件X區塊2,文件X區塊2將下一塊號指向文件X區塊3,一直到文件X區塊η-2將下一塊號指向文件X區塊η-l,文件X區塊η-l將下一塊號指向文件X區塊η。所述下一塊號同一文件所包括的區塊的鏈表指向,用于串聯整個文件所包含的區塊;文件管理系統的讀取,寫入,刪除一、讀取I)從O區塊信息(表I)的“下一文件首塊號”開始,根據“文件環形雙向鏈表”(圖2)讀出相應文件的“區塊標號”(表I);2)根據當前文件所在的首塊信息中的“下一塊號”(表I)和“文件區塊線形單向鏈表”(圖4)讀出整個文件的鏈表;3)根據讀出的鏈表計算出數據存儲區所有對應的存儲區塊,然后讀出文件數據。二、寫入I)從O區塊信息(表I)的“下一未用區塊標號”(圖3)讀出相應的“區塊標號”;2)根據讀出的“區塊標號”和“未用區塊環形單向鏈表”(圖3)修改相應的分配表信息,從而將該區塊從“未用區塊環形單向鏈表”(圖3)中申請出來;3)根據“文件環形雙向鏈表”(圖2)修改相應的分配表信息,從而將該區塊添加到“文件環形雙向鏈表”(圖2)的末尾;4)如果數據滿一個區塊并需要繼續寫入,則重復步驟I)和2);5)根據“文件區塊線形單向鏈表”(圖4)修改相應的分配表,從而將申請出的區塊添加到“文件區塊線形單向鏈表”(圖4)的末尾;6)重復步驟4)和5),直到存儲完畢。三、刪除I)從O區塊信息(表I)的“下一文件首塊號”開始,根據“文件環形雙向鏈表”(圖2)讀出要刪除的文件的“區塊標號”;2)根據讀出的“區塊標號”和“文件環形雙向鏈表”(圖2)修改相應的分配表,從而將“文件的首塊號”從“文件環形雙向鏈表”(圖2)中刪除;3)根據“文件區塊線形單向鏈表”(圖4)修改相應的分配表,從而將所有的屬于該文件的區塊依次刪除到“未用區塊環形單向鏈表”(圖3)的末尾,最后一條“文件區塊線形單向鏈表”被刪除,即一個文件被刪除。本例只需要通過修改分配表來對文件進行寫入和刪除,無需擦除存儲區域,大大提高的存儲效率。表I文件管理系統的區塊分配表..............................
權利要求
1.一種小型嵌入式文件存儲管理系統,其特征是將存儲器的空間分成兩部分,一部分是區塊分配表區,其由一個特殊O區塊信息單元和若干普通區塊信息單元組成;另一部分是文件數據存儲區,該區采用區塊化管理方式,由若干個大小相同的數據存儲區塊組成;每一個數據存儲區塊都有一個對應的普通區塊信息單元,通過各個區塊信息單元形成由文件環形雙向鏈表、未用區塊環形單向鏈表和文件區塊線形單向鏈表三條鏈表組成的鏈表系統來鏈接所有的區塊,并通過設置區塊信息單元中的各種狀態參數對鏈表系統進行管理。
2.根據權利要求I所述的一種小型嵌入式文件存儲管理系統,其特征是所述文件環形雙向鏈表為 區塊信息O將下一文件首塊號指向文件1,文件I將下一文件首塊號指向文件2,文件2將下一文件首塊號指向文件3,一直到文件η-i將下一文件首塊號指向文件n,文件η將下一文件首塊號指回區塊信息O ;區塊信息O將最后一文件首塊號指向文件η,文件η將最后一文件首塊號指向文件η-1,文件n-Ι將最后一文件首塊號指向文件η-2,一直到文件2將最后一文件首塊號指向文件1,文件I將最后一文件首塊號指回區塊信息O ; 所述文件標號為所存儲文件按存儲先后順序的標號; 所述下一文件首塊號為用于記錄下一文件的首塊號,用于形成文件環形鏈表; 所述上一文件首塊號為用于記錄上一文件的首塊號,用于形成文件環形鏈表; 所述區塊標號為記錄了當前區塊的區塊號,方便區塊管理和鏈表的指向。
所述文件鏈表長度為用于記錄文件個數,便于快速讀出存儲器內的文件總個數。
3.根據權利要求I所述的一種小型嵌入式文件存儲管理系統,其特征是所述未用區塊環形單向鏈表為 區塊信息O將下一未用區塊號指向未用區塊1,未用區塊I將下一未用區塊號指向未用區塊2,如此,一直到未用區塊η-2將下一未用區塊號指向未用區塊n-ι,未用區塊η_1將下一未用區塊號指向未用區塊n,未用區塊η將下一未用區塊號指回區塊信息O ;區塊信息O將最后一未用區塊號指向未用區塊η ; 所述下一未用區塊號為用于記錄下一未用區塊的區塊號,用于形成未用區塊環形鏈表; 所述最后一未用區塊號為用于記錄鏈表最后一個未用區塊的區塊號,用于形成環形鏈表。
4.根據權利要求I所述的一種小型嵌入式文件存儲管理系統,其特征是所述文件區塊線形單向鏈表為 文件X首區塊將下一塊號指向文件X區塊1,文件X區塊I將下一塊號指向文件X區塊2,文件X區塊2將下一塊號指向文件X區塊3,一直到文件X區塊η-2將下一塊號指向文件X區塊n-Ι,文件X區塊n-Ι將下一塊號指向文件X區塊η ; 所述下一塊號為同一文件所包括的區塊的鏈表指向,用于串聯整個文件所包含的區塊。
全文摘要
本發明是一種小型嵌入式文件存儲管理系統。它是將存儲器的空間分成兩部分,一部分是區塊分配表區,其由一個特殊0區塊信息單元和若干普通區塊信息單元組成;另一部分是文件數據存儲區,該區采用區塊化管理方式,由若干個大小相同的數據存儲區塊組成;每一個數據存儲區塊都有一個對應的普通區塊信息單元,通過各個區塊信息單元形成由文件環形雙向鏈表、未用區塊環形單向鏈表和文件區塊線形單向鏈表三條鏈表組成的鏈表系統來鏈接所有的區塊,并通過設置區塊信息單元中的各種狀態參數對鏈表系統進行管理。本發明基于存儲器區塊化管理方式、適用于小容量存儲器文件管理,能夠高效的存取數據,減少存儲空間的浪費,方便文件的管理,保證數據的安全性。
文檔編號G06F12/02GK102855327SQ20121034696
公開日2013年1月2日 申請日期2012年9月18日 優先權日2012年9月18日
發明者邱紅輝, 王海明, 吳瓊, 譚東杰, 周琰, 王立坤, 宋寧, 李柏松 申請人:中國石油天然氣股份有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩国伦理电影