一种小型嵌入式文件存储管理系统的制作方法

文档序号:6377135阅读:202来源:国知局
专利名称:一种小型嵌入式文件存储管理系统的制作方法
技术领域
本发明是一种小型嵌入式文件存储管理系统,涉及数字数据处理装置和信息的存贮技术领域。
背景技术
随着各种仪器设备的发展,各种小容量存储器在设计中已经变的不可或缺。因此,在小容量存储器上实现文件管理系统也变的非常重要。现有很多小容量存储器的文件管理方法是首先,根据存储器容量、文件大小和文件数目划分存储器的存储空间,然后计算出各空间的首地址,并将文件依次存入指定首地址的空间内。这样的存储管理方法存在很多弊端当存储器剩余空间、所存文件大小或文件数目发生变化时,如果不重新分配存储空间可能会造成存储空间浪 费或;很多小容量存储器的文件管理方法虽然在可以任意改变存储器大小,文件大小和数目,但是,因为其索引的不完善导致读取,写入和删除等程序的运行很慢,影响存储器的效率,甚至影响整个仪器设备的运行效率和流畅度。对于小容量存储器来说,空间的合理利用既能节省存储空间,又能提高存储效率,所以,一个好的文件管理系统对于存储空间的优化管理是尤其重要的。它能够更高效地存取数据,减少存储空间的浪费,加快程序运行速度,便于文件的索引、添加、修改和删除。最重要的是当存储器正常工作期间发生掉电时,它可以保证所存储文件数据的完整性和安全性,并且如果数据因为某些特殊原因出现问题时,也可以进行数据恢复。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