一种基于嵌入式设备文件系统的数据键值对存储方法

文档序号:9597948阅读:377来源:国知局
一种基于嵌入式设备文件系统的数据键值对存储方法
【专利说明】一种基于嵌入式设备文件系统的数据键值对存储方法
[0001]
技术领域
[0002]本发明涉及嵌入式设备数据管理技术领域,尤其是一种基于嵌入式设备文件系统的数据键值对存储方法。
[0003]
【背景技术】
[0004]文件系统的引入相对于直接操作存储器的存储方法具有很多优点,它使得数据存储方法更为灵活,数据与程序的独立性更好,也简化了维护的工作,这使得文件系统在嵌入式设备上得到了广泛的应用,尤其是在中量级以上的数据存储解决方案中。
[0005]使用文件系统存储数据时,一般的做法是将数据直接以16进制的方式存储到文件当中,此种方法主要应用于嵌入式设备中一些数据量较大的数据对象,这样做的目的主要是可以使存取数据变更简单、更快捷,但是也存在一些问题:(1)因为数据都是16进制的格式存储,不便于数据查看,设备的维护量会加大;(2)如果数据存储对象中包括多个不同数据类型的数据,并且每个数据存储或者读取操作顺序是杂乱无章的,那么通常都是对整个数据存储对象进行操作,实现起来较为麻烦,这样就降低了数据存储、读取的灵活性;
(3)新增数据对象时,为了不影响保存在同一个存储文件里的其他数据,无论是数据对象的定义还是存储,一般都只能采用追加的方式实现,而且还存在对其他已存在数据对象产生影响的可能;此外,针对结构相同的数据在同一个文件中多次被存储的情况,采用追加方式实现起来则更为困难,这在很大程度上降低了设备功能的可扩展性。
[0006]还有一种做法是将数据组成名称与数值的字符串组合存到文件中,此种做法主要是针对嵌入式设备中的一些配置数据以及参数数据,主要是考虑到此类数据的维护频率较高、数据量也相对较小;使用此种方法时,通常无需建立数据属性与名称的对照表,应用层编程人员根据一些规则和习惯直接定义出数据的名称与数据格式,完成数据的存储,此种方法便于设备维护,但是在处理一些数据种类繁多、数据量较大的数据对象时,受到很大的限制。
[0007]

【发明内容】

[0008]本发明的目的在于提供一种能够增强数据存储方法的灵活性和设备的可扩展性,并且使数据更便于维护,实现起来也较为简单的基于嵌入式设备文件系统的数据键值对存储方法。
[0009]为实现上述目的,本发明采用了以下技术方案:一种基于嵌入式设备文件系统的数据键值对存储方法,该方法包括下列顺序的步骤:
(1)根据数据的数据属性,定义多个键值对,所定义的每个键值对能够描述单个数据的存储特性;
(2)整合所有的键值对,建立键值对对照表;
(3)当需要存储或者获取数据时,根据该数据的数据属性遍历键值对对照表,找出适合该数据的键值对;
(4)根据键值对的属性对数据进行封装与解析;
(5)在文件中存入或获取键值对封装后的数据。
[0010]所述的数据属性包括数据的用途与格式,数据的用途是指编程人员定义该数据时为其赋予的描述其功能的虚拟的概念,数据的格式用户表示该数据的内容,是一个数据类型的数据或一些数据类型组成的数据集合。
[0011]所述的键值对的属性包括用于表明键值对在键值对对照表中位置的序号、用来描述数据用途的名称和用于描述数据内容的格式。
[0012]所述步骤(2)中建立键值对对照表的方法为:首先,建立一个序列,将格式相同的键值对放在序列的相同区域;其次,按照格式所占字节长度由短及长的顺序对所有区域进行排列,对于总长度相等的区域,按由短及长的顺序比较格式内首个数据类型所占字节长度,若仍相等,则继续比较下一个数据类型,直至最后一个数据类型;再次,根据键值对名称排列相同格式的键值对,键值对的名称为字符串,按照字符在ASCII码表中由低到高的位置顺序对字符串的首字符进行排列,若相同则比较下一个位置的字符,直至字符串的最后一个字符;最后,依据排列后的键值对序列建立键值对对照表。
[0013]所述步骤(4)中数据的封装和解析的方法为:将键值对的名称与格式视为贴有标签的空白文档,存储数据的文件视为一个文件架;数据存储时,将数据的内容记录到对应标签的空白文档中,然后放入文件架以实现数据的存储,这个记录的操作即数据封装;反之,数据的读取视为在文件架上根据标签找到相应的文档并将文档记录的内容抄录下来赋予数据的过程,这个抄录的操作即数据解析。
[0014]由上述技术方案可知,本发明的优点如下:第一,数据对象与键值对--对应,键值对可以对应单个数据类型的数据对象,也可以对应多个数据类型集合的数据对象,使用起来较为灵活,而且也增强了数据的独立性;第二,因为要存储的数据对象被键值对封装为较为独立的数据块进行存储,因此数据在批量或者逐个存储时无需考虑数据对象存储的位置与顺序,增强了设备数据存储方面的可扩展性;第三,数据经过封装后,维护人员可以轻松地读取到数据的内容,增强了设备的可维护性。
[0015]
【附图说明】
[0016]图1是本发明的方法流程图;
图2是本发明中数据Data完成封装与存储的示意图。
[0017]
【具体实施方式】
[0018]如图1所示,一种基于嵌入式设备文件系统的数据键值对存储方法,该方法包括下列顺序的步骤:(1)根据数据的数据属性,定义多个键值对,所定义的每个键值对能够描述单个数据的存储特性;(2)整合所有的键值对,建立键值对对照表;(3)当需要存储或者获取数据时,根据该数据的数据属性遍历键值对对照表,找出适合该数据的键值对;(4)根据键值对的属性对数据进行封装与解析;(5)在文件中存入或获取键值对封装后的数据,因为在文件中数据的值与键值对已经绑定起来,文件中所存储的都是一些已经经过键值对封装后的数据块,因此在数据存储时,无需考虑其存入文件的顺序和位置,这样使得存储方法更为灵活。
[0019]所述的数据属性包括数据的用途与格式,数据的用途是指编程人员定义该数据时为其赋予的描述其功能的虚拟的概念,数据的格式用户表示该数据的内容,是一个数据类型的数据或一些数据类型组成的数据集合。当数据对象的数据量较大,数据内容较多时,根据应用场景可以视为一个数据对象,也可以再次分割为若干个功能相同或相似的数据对象。步骤(1)为实现本发明的关键,首先对该嵌入式设备的各类数据对象进行分析,根据数据对象的用途和格式,分割出最小单位的数据对象,然后定义出合适的键值对。例如,一个用于描述时间的数据对象Time,包含3个字符型的数据hour、minute和second,依次代表小时、分钟和秒,可以视Time为一个数据对象,定义一个键值对与之对应,也可以定义三个键值对分别对应其包含的3个字符型数据,定义时要看该数据对象在该嵌入式设备功能中是否已经不可分割,这样定义出的键值对也会具有更高的独立性。
[0020]所述的键值对的属性包括用于表明键值对在键值对对照表中位置的序号、用来描述数据用途的名称和用于描述数据内容的格式。所述步骤(2)中建立键值对对照表的方法为:首先,建立一个序列,将格式相同的键值对放在序列的相同区域;其次,按照格式所占字节长度由短及长的顺序对所有区域进行排列,对于总长度相等的区域,按由短及长的顺序比较
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1