一种文件管理系统及管理方法

文档序号:6649906阅读:179来源:国知局
专利名称:一种文件管理系统及管理方法
技术领域
本发明涉及文件管理技术领域,尤其涉及一种文件管理系统及管理方法。
背景技术
目前,在人们的生活中出现了越来越多的嵌入式设备,这些设备往往是内嵌处理器的计算机系统,通讯系统是这方面的代表。现在的通讯系统正变的越来越复杂,一个系统,往往由数量众多的具有处理能力的节点组成,这些节点往往就是一个嵌入式的计算机系统。而通讯系统是对可靠性要求很高的系统,对于通讯系统中各个处理节点的版本文件的管理也提出了很高的要求。
由于通讯系统本身的复杂性,通讯系统存在着以纠正软件缺陷为目的的软件版本升级要求;通讯系统功能扩展,比如通过软件升级来支持新的业务功能,客观也需要版本的升级。版本维护是通讯系统操作维护的一项重要内容。软件的本身的复杂性(可能误操作),以及一些异常情况的发生(如断电)都可能导致版本的破坏。一旦版本损坏,系统不能正常启动,一方面会极大的增加维护成本,另一方面作为商用产品的提供者,对提供商的信誉以及后续市场机会也会造成不良影响。
因而,面对复杂的以通讯系统为代表的嵌入式系统,一方面需要提供一种版本文件管理系统实现对众多软件版本的方便管理,同时又需要提供一种必要的手段来保证版本文件操作的安全性。

发明内容
本发明所要解决的技术问题在于,提供一种文件管理系统及管理方法,对嵌入式系统中版本文件管理系统进行了特殊设计,提供文件操作的安全机制,保证版本文件操作的安全性和高可靠性;同时屏蔽安全机制实现的复杂性,以方便上层应用的使用。
本发明提供一种文件管理系统,用于对嵌入式系统中的版本文件进行安全管理,所述系统包括第一参数存储单元,用于存储所述版本文件的参数信息,包括参数存储单元有效标志与序列号,以及每个文件的名称、A版本主备标志、A版本位置、B版本主备标志、B版本位置等;第二参数存储单元,用于与所述第一参数存储单元互为主备,存储所述版本文件的参数信息,包括参数存储单元有效标志与序列号,以及每个文件的名称、A版本主备标志、A版本位置、B版本主备标志、B版本位置等;文件存储单元,用于根据所述第一或第二参数存储单元记录的文件参数,存储所述版本文件,其中,每个文件都具有A版本与B版本,按照位置参数分别存储。
所述的第一与第二参数存储单元,进一步包括A版本有效标志和B版本有效标志。
所述的文件管理系统进一步包括主备参数判断单元,用于根据所述第一与第二参数存储单元记录的单元有效标志与序列号信息,在所述第一与第二参数存储单元中判断出主用参数存储单元与备用参数存储单元。
所述的文件管理系统进一步包括主备参数倒换单元,用于根据所述主备参数判断单元判断出的主用与备用参数存储单元,读取当前主用参数存储单元的数据映象到内存,将与由上层应用提供的文件名相对应的文件参数信息中的A版本主备标志与B版本主备标志倒换,将该主用参数存储单元记录的单元有效标志设为有效,将序列号递增,并将修改后的当前主用参数存储单元的映象数据写入当前备用参数存储单元,以替换原数据。
所述的文件管理系统进一步包括读操作单元,用于根据由上层应用提供的文件名,在所述主备参数判断单元判断的主用参数存储单元中,查找该文件的A版本与B版本的主备状态,确定当前主用版本及其位置,并据此读出主用版本的文件数据。
所述的文件管理系统进一步包括写操作单元,用于根据由上层应用提供的文件名,在所述主备参数判断单元判断的主用参数存储单元中,查找该文件的A版本与B版本的主备状态,确定当前备用版本及其位置,并在该位置写入新的文件数据以替换原有数据,再利用所述主备参数倒换单元倒换主备状态。
所述的主备参数判断单元,包括单元有效标志判断单元,用于比对第一与第二参数存储单元记录的单元有效标志,如果只有一个有效,则有效的参数存储单元为主周,另一个为备用;序列号判断单元,用于在所述第一与第二参数存储单元记录的单元有效标志都为有效时,进一步比对所述序列号的大小,大的为主用,小的为备用。
本发明进一步提供一种利用所述文件管理系统对嵌入式系统中的版本文件进行管理的方法,用于对文件进行读操作,其特征在于,包括如下步骤在第一与第二参数存储单元中选择主用参数存储单元;根据由上层应用提供的文件名,在所述主用参数存储单元中查找到对应文件的参数记录;根据所述对应文件的参数记录的A版本与B版本的主备状态,确定主用版本及其存储位置;根据主用版本的存储位置,读取文件数据到用户缓冲区。
所述选择主用参数存储单元的步骤,包括如下步骤读取第一与第二参数存储单元中记录的单元有效标志信息;判断该有效标志信息的有效性;如果只有一个有效,则有效的参数存储单元为主用;如果都有效,则进一步读取并比对第一与第二参数存储单元中记录的序列号信息,数值大的为主用。
本发明进一步提供一种利用所述文件管理系统对嵌入式系统中的版本文件进行管理的方法,用于对文件进行写操作,其特征在于,包括如下步骤在第一与第二参数存储单元中选择主用参数存储单元;根据由上层应用提供的文件名,在所述主用参数存储单元中查找到对应文件的参数记录;根据所述对应文件的参数记录的A版本与B版本的主备状态,确定备用版本及其存储位置;在备用版本存储区域写入新的版本文件数据以替换原有数据;读取当前主用参数存储单元的数据映象到内存;将与由上层应用提供的文件名相对应的文件参数信息中的A版本主备标志与B版本主备标志倒换;将该主用参数存储单元记录的单元有效标志设为有效,将序列号递增;将修改后的当前主用参数存储单元的映象数据写入当前备用参数存储单元,以替换原数据。
所述选择主用参数存储单元的步骤,包括如下步骤读取第一与第二参数存储单元中记录的单元有效标志信息;判断该有效标志信息的有效性;如果只有一个有效,则有效的参数存储单元为主用;如果都有效,则进一步读取并比对第一与第二参数存储单元中记录的序列号信息,数值大的为主用。
本发明进一步提供一种利用所述文件管理系统对嵌入式系统中的版本文件进行管理的方法,用于对指定文件A、B版本的主备属性进行倒换,其特征在于,包括如下步骤在第一与第二参数存储单元中选择主用参数存储单元;读取当前主用参数存储单元的数据映象到内存;将与由上层应用提供的文件名相对应的文件参数信息中的A版本主备标志与B版本主备标志倒换;
将该主用参数存储单元记录的单元有效标志设为有效,将序列号递增;将修改后的当前主用参数存储单元的映象数据写入当前备用参数存储单元,以替换原数据。
所述选择主用参数存储单元的步骤,包括如下步骤读取第一与第二参数存储单元中记录的单元有效标志信息;判断该有效标志信息的有效性;如果只有一个有效,则有效的参数存储单元为主用;如果都有效,则进一步读取并比对第一与第二参数存储单元中记录的序列号信息,数值大的为主用。
本发明通过对嵌入式系统中的文件管理系统进行特殊设计,对版本文件采用双版本存放以及倒换机制,在方便上层应用使用的前提下,对文件及其状态的更新实现了事务型操作,可以有效的实现版本文件更新的可靠性操作,大大增强系统的可靠性,防止版本文件维护中可能出现的版本破坏;同时,通过屏蔽文件系统内部实现的复杂性,方便了文件的使用者。利用本发明所述文件管理系统及管理方法可以显著提高嵌入式系统的可靠性并降低产品的维护成本,从而提高产品的市场竞争力。


图1是本发明实施例中文件系统的存储器物理空间示意图;图2是本发明实施例中文件系统的文件系统参数区结构示意图;图3是本发明实施例中文件系统的参数区头部信息结构示意图;图4是本发明实施例中文件系统的文件记录的组成格式示意图。
具体实施例方式
下面结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
本文件管理系统主要通过实现文件更改的事务型操作,包括读操作、写操作和主备参数倒换,来保证版本的可靠操作,防止版本文件维护中可能出现的版本破坏。本文件管理系统一般存在于系统中的FLASH(电可擦除的非易失存储器件)存储器上,但不限于FLASH存储器件。
图1示出了本发明文件管理系统的存储器物理空间示意图,其中所述的第一参数存储单元为文件系统参数区A,所述的第二参数存储单元为文件系统参数区B,所述的文件存储单元为文件数据区。如图1所示,本系统中将物理存储划分为3个基本部分,前两个部分用作文件系统参数区,用来存放文件系统本身信息(文件相关信息)。两参数区一主一备。第三个区域用作存放实际版本文件数据,其使用划分情况在主用系统参数区中规定(通过文件信息记录)。
在逻辑上,本文件管理系统有以下特点第一,文件系统逻辑上分为两个部分,一部分是文件系统参数区(类似于文件分配表),用于存放文件的各种信息状态(文件存储位置、有效性、主备状态等),以下简称为“参数区”;另一部分是文件数据区,用于存放实际的文件数据。文件系统的结构对于上层应用(文件的使用者)是不可见的,用以屏蔽文件系统内部实现的复杂性,方便使用。
第二,在文件系统内部实现时针对单个文件设立两个存储区,写操作时,先写备存储区,然后主备倒换;读操作,主存储区有效,从主存储区读取数据;这些操作的细节对于上层应用(文件的使用者)是不可见的,用以屏蔽文件系统内部实现的复杂性,方便使用。
第三,对上层应用(文件的使用者),文件系统屏蔽内部安全机制的实现细节。对于上层应用,一个文件是对应于一个存储版本,对文件的读写通过文件名字进行,上层应用不知道文件系统内部实现的双版本存放以及倒换机制。
第四,对文件系统参数区也设立两个存储区,在进行版本文件更新时,需要更改文件系统参数区的文件相关信息,对参数区也进行主备倒换,以支持对文件以及文件状态修改的事务型操作。通过倒换文件系统参数区的操作方式,不仅保证了单个文件的操作上的安全性,而且也对整个文件系统的安全提供了安全保护机制。如果不是采用倒换机制,一旦造成参数区的破坏,则会导致整个文件系统的破坏。
第五,本文件系统提供对文件改写的事务型操作,保护的基本单位是整个文件,而不是文件的一个部分。
在物理上,本文件系统有以下特点第一,本文件系统将存储区域分为3个区域,前2个区域是文件系统参数区A和B,存放系统中所有文件的相关信息,如存放位置、主备状态以及有效性信息等;只有主参数区是有效的。
第二,在改变文件状态信息时,先将主用参数区映象读至内存,然后对文件信息进行更改,再将更新后的主参数区映象写入备用参数区,通过参数区的主备切换来实现文件数据以及状态信息的安全更新。
第三,一个文件采用一个文件名字标志,对于使用文件的上层应用来说,一个文件名唯一的对应一个文件版本,而文件的内部存放则分配两个存放区域,有主备之分,主版本有效,用户读取的永远是主用版本,图2示出了本文件系统的文件系统参数区结构。主要包含一个文件系统参数区的头部和一系列文件信息记录,每个文件信息记录对应一个文件,并通过文件名字标志和索引,系统中文件名字是唯一的,不提供目录功能。
其中,所述文件系统参数区的头部如图3所示,其包含几个域,如表格1所示,用来判断文件系统参数区的主备状态。对参数区主备的判断方法将在后续内容说明表格1

其中,所述文件信息记录的格式如图4所示,其包含若干信息域,各个域的含义见表格2,指示文件相关信息。
表格2

基于以上所述的文件管理系统,本文件系统的处理机制保证了主用版本的绝对安全。在用户对文件读的时候,文件系统将读取主用版本的内容传递给用户,所述读操作需要由读操作单元来实现;在用户对文件进行写操作的时候,文件系统将针对备用存储区进行写操作,写操作成功之后,对两个版本存储区进行主备的切换,所述写操作由写操作单元来实现;在这种情况下,对版本文件的所有操作是原子性的事务操作。也就是说,对文件的操作如果不成功,文件系统状态将保持在本操作之前的原有状态。
此外,因为在文件系统内部,正常情况下每个文件有主备两个版本,为满足一些其他测试和安全要求,还提供文件的主备切换接口,实现文件主备用版本的主备切换,其切换由主备参数倒换单元来实现。
由于对文件的所有操作都涉及到参数区的主备判断,下面对参数区的主备判断方法进行阐述,其主备判断由主备参数判断单元来实现。
对参数区主备状态进行判断的方法如下步骤1读取两个参数区头部。
步骤2判断头部有效标志的有效性,如果只有一个有效,那么有效的那个为主,另一个为备,返回结束。
步骤3如果两个都有效,那么我们对参数区头部的序列号进行比较,来判断参数区的主备。序列号大的那个为主,序列号小的那个为备。(有效标志定为常数0x5555AAAA,序列号在第一次文件系统初始化时初始化为0,以后每发生一次主备书换,增加1)。
下面针对读操作、写操作及主备参数倒换操作各自的实现步骤具体说明。
本发明第一实施例是对文件的读操作,由读操作单元来实现。
下面对读操作进行说明,读操作比较简单,同时也不更改文件系统,不会造成文件或者文件系统的破坏,包括如下步骤步骤101选择主用参数区。
步骤102在主用参数区文件信息记录中根据文件使用者提供的文件名字索引到相关文件记录。
步骤103从步骤102找到的文件记录中找到主用版本存储位置、长度等信息。
步骤104读取文件数据到用户缓冲区。
本发明第二实施例是对文件的写操作,由写操作单元来实现。
下面对写操作进行说明,写操作相对复杂一点,通过对文件主备存储区域的倒换来实现文件写的事务型操作,而文件主备存储区域的倒换是通过文件系统参数区的主备倒换来实现的,包括如下步骤步骤201获取两参数区主备状态。
步骤202根据文件名字在主参数区索引到相关文件信息记录。
步骤203从步骤202找到的文件信息记录中找到备用版本存储位置。
步骤204如果存储器是FLASH器件,对备用版本存储区进行擦除。
步骤205在备用版本存储区域写入用户版本文件数据。
步骤206如果存储器是FLASH器件,擦除备用文件系统参数区。
步骤207读取主用文件系统参数区映象到内存,将对应文件的原有主区主备信息设置为备,同时将原有备区(当前文件操作区)的主备信息设置为主并设置有效标志为有效,并将映象中参数区头部序列号加1。
步骤208文件系统参数区主备切换(将步骤207中经过更改的主用参数区映象写入备用文件系统参数区),此时已经实现文件主备用版本的切换。
在这个操作过程中,我们对文件的操作是在文件备用存储区进行的,如果期间出现的任何问题(比如异常断电),那么文件系统参数区就不会实现主备切换,因而对于整个文件系统参数区以及正在操作的文件原有内容(存在于主存储区)是没有影响的;如果文件系统的主备用参数区成功进行了切换,那么整个版本文件的更新过程就一定是完整执行的(成功的)。这样就实现了对版本文件更改的事务型操作。
本发明第三实施例是对文件的文件主备切换,由主备参数倒换单元来实现。
下面对文件主备倒换操作进行说明,主备倒换操作类似写操作,只是它没有对文件内容的操作,只是对文件系统主用参数区中的文件主备属性进行修改,所以只涉及文件系统参数区的主备倒换,包括如下步骤步骤301获取两参数区主备状态。
步骤302读取当前主用参数区的映象到内存。
步骤303根据文件名字在内存中的主用参数区映象中索引到文件信息记录。
步骤304将步骤303主参数区映象中索引到的文件信息记录中两个存储区的主备用标志倒换。
步骤305主用参数区内存映象头部的序列号增加1,并设置参数区有效标志为有效。
步骤306如果存储器是FLASH器件,擦除当前备用参数区。
步骤307将步骤305中经过修改的主用参数区映象写入备用参数区。
经过了这个过程,参数区进行了主备倒换,而倒换后主用参数区中的相应文件的主备信息已经得到了修改,从而实现了文件内容的主备倒换,同样,这个过程也是事务型的操作。
本发明通过一种新方法,对嵌入式系统中版本文件管理系统进行了特殊设计,在方便上层应用使用的前提下,实现文件更改的事务型操作,可以保证文件操作的高可靠性,防止版本文件维护中可能出现的版本破坏。可以显著提高嵌入式系统的可靠性并降低产品的维护成本,从而提高产品的市场竞争力。
权利要求
1.一种文件管理系统,用于对嵌入式系统中的版本文件进行安全管理,其特征在于,包括第一参数存储单元,用于存储所述版本文件的参数信息,包括单元有效标志与序列号,以及每个文件的名称、A版本主备标志、A版本位置、B版本主备标志、B版本位置;第二参数存储单元,用于与所述第一参数存储单元互为主备,存储所述版本文件的参数信息,包括单元有效标志与序列号,以及每个文件的名称、A版本主备标志、A版本位置、B版本主备标志、B版本位置;文件存储单元,用于根据所述第一或第二参数存储单元记录的文件参数,存储所述版本文件,其中,每个文件都具有A版本与B版本,按照位置参数分别存储。
2.如权利要求1所述的系统,其特征在于,所述的第一与第二参数存储单元,进一步包括A版本有效标志和B版本有效标志。
3.如权利要求1所述的系统,其特征在于,进一步包括主备参数判断单元,用于根据所述第一与第二参数存储单元记录的单元有效标志与序列号信息,在所述第一与第二参数存储单元中判断出主用参数存储单元与备用参数存储单元。
4.如权利要求3所述的系统,其特征在于,进一步包括主备参数倒换单元,用于根据所述主备参数判断单元判断出的主用与备用参数存储单元,读取当前主用参数存储单元的数据映象到内存,将与由上层应用提供的文件名相对应的文件参数信息中的A版本主备标志与B版本主备标志倒换,将该主用参数存储单元记录的单元有效标志设为有效,将序列号递增,并将修改后的当前主用参数存储单元的映象数据写入当前备用参数存储单元,以替换原数据。
5.如权利要求3所述的系统,其特征在于,进一步包括读操作单元,用于根据由上层应用提供的文件名,在所述主备参数判断单元判断的主用参数存储单元中,查找该文件的A版本与B版本的主备状态,确定当前主用版本及其位置,并据此读出主用版本的文件数据。
6.如权利要求4所述的系统,其特征在于,进一步包括写操作单元,用于根据由上层应用提供的文件名,在所述主备参数判断单元判断的主用参数存储单元中,查找该文件的A版本与B版本的主备状态,确定当前备用版本及其位置,并在该位置写入新的文件数据以替换原有数据,再利用所述主备参数倒换单元倒换主备状态。
7.如权利要求3所述的系统,其特征在于,所述的主备参数判断单元,包括单元有效标志判断单元,用于比对第一与第二参数存储单元记录的单元有效标志,如果只有一个有效,则有效的参数存储单元为主用,另一个为备用;序列号判断单元,用于在所述第一与第二参数存储单元记录的单元有效标志都为有效时,进一步比对所述序列号的大小,大的为主用,小的为备用。
8.一种利用如权利要求1所述的系统对嵌入式系统中的版本文件进行管理的方法,用于对文件进行读操作,其特征在于,包括如下步骤在第一与第二参数存储单元中选择主用参数存储单元;根据由上层应用提供的文件名,在所述主用参数存储单元中查找到对应文件的参数记录;根据所述对应文件的参数记录的A版本与B版本的主备状态,确定主用版本及其存储位置;根据主用版本的存储位置,读取文件数据到用户缓冲区。
9.如权利要求8所述的方法,其特征在于,所述选择主用参数存储单元的步骤,包括如下步骤读取第一与第二参数存储单元中记录的单元有效标志信息;判断该有效标志信息的有效性;如果只有一个有效,则有效的参数存储单元为主用;如果都有效,则进一步读取并比对第一与第二参数存储单元中记录的序列号信息,数值大的为主用。
10.一种利用如权利要求1所述的系统对嵌入式系统中的版本文件进行管理的方法,用于对文件进行写操作,其特征在于,包括如下步骤在第一与第二参数存储单元中选择主用参数存储单元;根据由上层应用提供的文件名,在所述主用参数存储单元中查找到对应文件的参数记录;根据所述对应文件的参数记录的A版本与B版本的主备状态,确定备用版本及其存储位置;在备用版本存储区域写入新的版本文件数据以替换原有数据;读取当前主用参数存储单元的数据映象到内存;将与由上层应用提供的文件名相对应的文件参数信息中的A版本主备标志与B版本主备标志倒换;将该主用参数存储单元记录的单元有效标志设为有效,将序列号递增;将修改后的当前主用参数存储单元的映象数据写入当前备用参数存储单元,以替换原数据。
11.如权利要求10所述的方法,其特征在于,所述选择主用参数存储单元的步骤,包括如下步骤读取第一与第二参数存储单元中记录的单元有效标志信息;判断该有效标志信息的有效性;如果只有一个有效,则有效的参数存储单元为主用;如果都有效,则进一步读取并比对第一与第二参数存储单元中记录的序列号信息,数值大的为主用。
12.一种利用如权利要求1所述的系统对嵌入式系统中的版本文件进行管理的方法,用于对指定文件A、B版本的主备属性进行倒换,其特征在于,包括如下步骤在第一与第二参数存储单元中选择主用参数存储单元;读取当前主用参数存储单元的数据映象到内存;将与由上层应用提供的文件名相对应的文件参数信息中的A版本主备标志与B版本主备标志倒换;将该主用参数存储单元记录的单元有效标志设为有效,将序列号递增;将修改后的当前主用参数存储单元的映象数据写入当前备用参数存储单元,以替换原数据。
13.如权利要求12所述的方法,其特征在于,所述选择主用参数存储单元的步骤,包括如下步骤读取第一与第二参数存储单元中记录的单元有效标志信息;判断该有效标志信息的有效性;如果只有一个有效,则有效的参数存储单元为主用;如果都有效,则进一步读取并比对第一与第二参数存储单元中记录的序列号信息,数值大的为主用。
全文摘要
本发明公开了一种文件管理系统及管理方法,包括第一参数存储单元、第二参数存储单元、文件存储单元、读操作单元、写操作单元、主备参数倒换单元、主备参数判断单元,对嵌入式系统中版本文件采用双版本存放以及倒换机制,对文件及其状态的更新实现了读操作、写操作、主备版本切换等事务型操作,有效的实现了版本文件更新的可靠性操作,大大增强了系统的可靠性,以防止版本文件维护中可能出现的版本破坏;同时,通过屏蔽文件系统内部实现的复杂性,方便了文件的使用者。利用本发明可以提高嵌入式系统的可靠性并降低产品的维护成本,从而增强产品的市场竞争力。
文档编号G06F17/30GK1758253SQ20051011439
公开日2006年4月12日 申请日期2005年10月24日 优先权日2005年10月24日
发明者李海建, 刘红军, 吴从海 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1