可嵌套的key‑value的存储方法及装置制造方法及图纸

技术编号:17363423 阅读:37 留言:0更新日期:2018-02-28 13:18
本发明专利技术提供了可嵌套的key‑value的存储方法及装置,涉及嵌入式数据存储技术领域,其中,该可嵌套的key‑value的存储方法包括:首先,在存储空间中设置顶层key和顶层value,并在顶层key中分别设置数据结构的类型标志、总字节长度标志和状态标志,并在顶层value中分别设置成员key和成员value,其中,成员key包括数据成员ID和数据成员长度,并将待存储的数据结构按照数据结构类型标志、总字节长度标志和状态标志的顺序进行存储,之后,将待存储的数据结构内的数据成员按照数据成员ID、数据成员长度和成员value的顺序排列存储,进而实现了空间利用率的提高和数据结构可变长识别。

Storage method and device of nested key value

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和成员value,其中,成员key包括数据成员ID和数据成员长度;将待存储的数据结构按照数据结构类型标志、总字节长度标志和状态标志的顺序进行存储;将待存储的数据结构内的数据成员按照数据成员ID、数据成员长度和成员value的顺序排列。结合第一方面,本专利技术实施例提供了第一方面的第一种可能的实施方式,其中,在顶层key中分别设置数据结构的类型标志、总字节长度标志和状态标志的步骤,包括:将顶层key的长度配置成7个字节;将顶层key分别设置数据结构的类型标志、总字节长度标志和状态标志,其中,类型标志用来区别各个待存储的数据结构的类型,总字节长度标志为数据成员长度的总和,状态标志用来表示待存储的数据结构的更新状态;将类型标志的长度配置为4个字节,将总字节长度标志的长度配置为2个字节,将状态标志的长度配置为1个字节。结合第一方面,本专利技术实施例提供了第一方面的第二种可能的实施方式,其中,在顶层value中分别设置数据成员ID、数据成员长度和成员value的步骤,包括:将顶层value的长度配置成4个字节;将顶层value中分别设置数据成员ID、数据成员长度和成员value,其中,数据成员包括数据结构内的所有数据成员,数据成员ID用来区分各个数据成员,数据成员长度为数据成员的字节长度,成员value为数据成员的数值;将数据成员ID的长度配置为1个字节,将数据成员长度的长度配置为1个字节,将成员value的长度配置为2个字节。结合第一方面的第一种可能的实施方式,本专利技术实施例提供了第一方面的第三种可能的实施方式,其中,将待存储的数据结构按照类型标志、总字节长度标志和状态标志的顺序进行存储的步骤,包括:获取待存储的数据结构的数据结构类型标志的数值、总字节长度标志的数值和状态标志的数值;分别将数据结构类型标志的数值、总字节长度标志的数值和状态标志的数值依次进行存储。结合第一方面的第二种可能的实施方式,本专利技术实施例提供了第一方面的第四种可能的实施方式,其中,将待存储的数据结构内的数据成员按照数据成员ID、数据成员长度和成员value的顺序排列的步骤,包括:分别获取待存储的数据成员的数据成员ID、数据成员长度和成员value;将数据成员ID、数据成员长度和成员value按照数据成员ID的顺序依次紧邻状态标志进行存储。结合第一方面的第三种可能的实施方式,本专利技术实施例提供了第一方面的第五种可能的实施方式,其中,方法还包括:当待存储的数据结构内增加新的数据成员时,为新的数据成员分配新的数据成员ID;获取新的数据成员的数据成员长度和成员value;将新的数据成员按照新的数据成员ID、数据成员长度和成员value的顺序存储在空闲的存储空间内;为新的数据成员和待存储的数据结构设置关联标号,使待存储的数据结构与新的数据成员相关联。第二方面,本专利技术实施例提供了可嵌套的key-value的存储装置,包括:划分模块,用于在存储空间中设置顶层key和顶层value;顶层设置模块,用于在顶层key中分别设置数据结构的类型标志、总字节长度标志和状态标志;成员设置模块,用于在顶层value中分别设置成员key和成员value,其中,成员key包括数据成员ID和数据成员长度;顶层存储模块,用于将待存储的数据结构按照数据结构类型标志、总字节长度标志和状态标志的顺序进行存储;成员存储模块,用于将待存储的数据结构内的数据成员按照数据成员ID、数据成员长度和成员value的顺序排列。结合第二方面,本专利技术实施例提供了第二方面的第一种可能的实施方式,其中,顶层设置模块包括:顶层长度配置单元,用于将顶层key的长度配置成7个字节;顶层标志置划分单元,用于将顶层key分别设置数据结构的类型标志、总字节长度标志和状态标志,其中,类型标志用来区别各个待存储的数据结构的类型,总字节长度标志为数据成员长度的总和,状态标志用来表示待存储的数据结构的更新状态;顶层长度划分单元,用于将类型标志的长度配置为4个字节,将总字节长度标志的长度配置为2个字节,将状态标志的长度配置为1个字节。结合第二方面,本专利技术实施例提供了第二方面的第二种可能的实施方式,其中,成员设置模块包括:成员长度配置单元,用于将顶层value的长度配置成4个字节;成员标志置划分单元,用于将顶层value中分别设置数据成员ID、数据成员长度和成员value,其中,数据成员包括数据结构内的所有数据成员,数据成员ID用来区分各个数据成员,数据成员长度为数据成员的字节长度,成员value为数据成员的数值;成员长度划分单元,用于将数据成员ID的长度配置为1个字节,将数据成员长度的长度配置为1个字节,将成员value的长度配置为2个字节。结合第二方面,本专利技术实施例提供了第二方面的第三种可能的实施方式,其中,还包括:标志新增模块,用于当待存储的数据结构内增加新的数据成员时,为新的数据成员分配新的数据成员ID;新增获取模块,用于获取新的数据成员的数据成员长度和成员value;新增存储模块,用于将新的数据成员按照新的数据成员ID、数据成员长度和成员value的顺序存储在空闲的存储空间内;关联模块,用于为新的数据成员和待存储的数据结构设置关联标号,使待存储的数据结构与新的数据成员相关联。本专利技术实施例本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201711051627.html" title="可嵌套的key‑value的存储方法及装置原文来自X技术">可嵌套的key‑value的存储方法及装置</a>

【技术保护点】
可嵌套的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

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1