The present invention provides a storage method and device of nested key value, which relates to the technical field of embedded data storage, which comprises a storage method of the nested key value: first, set the top key and the top value in the storage space, and respectively arranged on top of the key mark, the types of data structures the total byte length flag and state flag, and were set members and members of the value key, on top of the value in which members of the key including ID data members and the data member length, and the structure of the data to be stored in accordance with the data structure type symbol, total byte length mark and the State Flag sequence, data storage, data members the structure will be stored in the ID data members, data members and members of the value sequence length of storage, thus improve the rate of the number and use of space It is identified according to the variable length of the structure.
【技术实现步骤摘要】
可嵌套的key-value的存储方法及装置
本专利技术涉及嵌入式数据存储
,尤其涉及可嵌套的key-value的存储方法及装置。
技术介绍
在目前数据信息化发展迅速的时代,数据体现了一切事物存在的内容,尤其是大数据的爆发,对于数据的获取和储存达到了非常庞大的需求,而实现数据的完整和数据储存的最大利用化成为了所有企业的追求。在数据庞大的需求下,提高数据存储的空间利用率,可以减少企业针对存储芯片的支出,或者可以理解为在相同存储容量的芯片内可以实现更多数据存储的需求。而且,由于产品需求的可变性频繁,数据的需求经常要求变更,频繁的数据变动使得产品的数据更新很难满足前后兼容的要求,这样只能通过浪费空间换取开发效率的方法来满足数据变动的需。嵌入式设备现在广泛应用于各行各业中,尤其是随着物联网等新概念的提出,存储容量小且数据需求量变化快的嵌入式设备的需求更加广泛。现有技术中,Key-value的存储方法是key和value分开存储,通常,key管理value在flash内的存储地址,因此,对数据的操作是分两次来进行的,即先读取Key,然后根据Key的内容在flash内寻址再次读取,上述两次操作上的过程中存在了增加读取操作的开销,在一定程度上降低了程序的运行效率。而且,key-value的设计多数应用于数据量较大的数据存储,对于空间容量小的设备管理上会相对耗费点存储空间。综上,目前关于在嵌入式设备上采用key-value的存储方式的存储效率差问题,尚无有效的解决办法。
技术实现思路
有鉴于此,本专利技术实施例的目的在于提供了可嵌套的key-value的存储方法及装置,通 ...
【技术保护点】
可嵌套的key‑value的存储方法,其特征在于,包括:在存储空间中设置顶层key和顶层value;在所述顶层key中分别设置数据结构的类型标志、总字节长度标志和状态标志;在所述顶层value中分别设置成员key和成员value,其中,所述成员key包括数据成员ID和数据成员长度;将待存储的数据结构按照所述类型标志、所述总字节长度标志和所述状态标志的顺序进行存储;将待存储的数据结构内的所述数据成员按照所述数据成员ID、所述数据成员长度和所述成员value的顺序进行存储。
【技术特征摘要】
1.可嵌套的key-value的存储方法,其特征在于,包括:在存储空间中设置顶层key和顶层value;在所述顶层key中分别设置数据结构的类型标志、总字节长度标志和状态标志;在所述顶层value中分别设置成员key和成员value,其中,所述成员key包括数据成员ID和数据成员长度;将待存储的数据结构按照所述类型标志、所述总字节长度标志和所述状态标志的顺序进行存储;将待存储的数据结构内的所述数据成员按照所述数据成员ID、所述数据成员长度和所述成员value的顺序进行存储。2.根据权利要求1所述的可嵌套的key-value的存储方法,其特征在于,在所述顶层key中分别设置数据结构的类型标志、总字节长度标志和状态标志的步骤,包括:将所述顶层key的长度配置成7个字节;将所述顶层key分别设置数据结构的类型标志、总字节长度标志和状态标志,其中,所述类型标志用来区别各个待存储的数据结构的类型,所述总字节长度标志为所述数据成员长度的总和,所述状态标志用来表示所述待存储的数据结构的更新状态;将所述类型标志的长度配置为4个字节,将所述总字节长度标志的长度配置为2个字节,将所述状态标志的长度配置为1个字节。3.根据权利要求1所述的可嵌套的key-value的存储方法,其特征在于,在所述顶层value中分别设置成员key和成员value,其中,所述成员key包括数据成员ID和数据成员长度的步骤,包括:将所述顶层value的长度配置成4个字节;将所述顶层value中分别设置数据成员ID、数据成员长度和成员value,其中,所述数据成员包括所述数据结构内的所有数据成员,所述数据成员ID用来区分各个所述数据成员,所述数据成员长度为所述数据成员的字节长度,所述成员value为所述数据成员的数值;将所述数据成员ID的长度配置为1个字节,将所述数据成员长度的长度配置为1个字节,将所述成员value的长度配置为2个字节。4.根据权利要求2所述的可嵌套的key-value的存储方法,其特征在于,所述将待存储的数据结构按照所述类型标志、所述总字节长度标志和所述状态标志的顺序进行存储的步骤,包括:获取所述待存储的数据结构的所述类型标志的数值、所述总字节长度标志的数值和所述状态标志的数值;分别将所述类型标志的数值、所述总字节长度标志的数值和所述状态标志的数值依次进行存储。5.根据权利要求3所述的可嵌套的key-value的存储方法,其特征在于,所述将待存储的数据结构内的所述数据成员按照所述数据成员ID、所述数据成员长度和所述成员value的顺序排列的步骤,包括:分别获取待存储的所述数据成员的所述数据成员ID、所述数据成员长度和所述成员value;将所述数据成员ID、所述数据成员长度和所述成员value按照所述数据成员ID的顺序依次紧邻所述状态标志进行存储。6.根据权利要求4所述的可嵌套的key-value的存储方法,其特征在于,所述方法还包括:当所述待存储的数据结构内增加新的数据成员时,为...
【专利技术属性】
技术研发人员:邝锦麟,
申请(专利权)人:广东乐心医疗电子股份有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。