【技术实现步骤摘要】
数据的存储方法、读取方法以及电子设备
本申请涉及数据处理
,尤其涉及一种数据的存储方法、读取方法以及电子设备。
技术介绍
目前,对于键值对数据的存储,常采用的方式包括树图(TreeMap)或哈希表(Hashtable)等。其中,TreeMap是通过二叉树数据结构进行存储,存储的元素为键值对数据,通过对关健字Key进行排序,实现每个键值对数据在树结构上的存储;哈希表是通过哈希函数将键值对数据的关键字Key散列到内存空间中,并通过链表法解决哈希位置冲突的问题,链表节点中存放每个键值对数据。然而,现有技术中的存储方式均将原始的键值对数据无压缩的存入内存中,导致内存消耗过大。
技术实现思路
本申请提供一种数据的存储方法、读取方法以及电子设备,能够实现数据的实时存储和读取,且节省了存储资源。第一方面,本申请实施例提供一种数据的存储方法,包括:将待存储的第一字符串,按照第一索引信息进行存储;第一索引信息用于表征第一节点在第一数据结构中的链接关系,第一节点为第一字符串在第一数据结构中对应的节点;将待存储的第二字符串和第一节点的标识,按照第二索引信息进行存储,第二字符串为第一字符串的关键字,第二索引信息用于表征第二节点在第二数据结构中的链接关系,第二节点为第二字符串在第二数据结构中对应的节点。其中,第一数据结构和第二数据结构中至少存在一个压缩路径的数据结构,压缩路径的数据结构所包含的多个节点中,至少存在一个节点对应的存储空间中存储有至少两个字符。第二方面,本申 ...
【技术保护点】
1.一种数据的存储方法,其特征在于,包括:/n将待存储的第一字符串,按照第一索引信息进行存储;所述第一索引信息用于表征第一节点在第一数据结构中的链接关系,所述第一节点为所述第一字符串在所述第一数据结构中对应的节点;/n将待存储的第二字符串和所述第一节点的标识,按照第二索引信息进行存储,所述第二字符串为所述第一字符串的关键字,所述第二索引信息用于表征第二节点在第二数据结构中的链接关系,所述第二节点为所述第二字符串在所述第二数据结构中对应的节点。/n其中,所述第一数据结构和所述第二数据结构中至少存在一个压缩路径的数据结构,所述压缩路径的数据结构所包含的多个节点中,至少存在一个节点对应的存储空间中存储有至少两个字符。/n
【技术特征摘要】
1.一种数据的存储方法,其特征在于,包括:
将待存储的第一字符串,按照第一索引信息进行存储;所述第一索引信息用于表征第一节点在第一数据结构中的链接关系,所述第一节点为所述第一字符串在所述第一数据结构中对应的节点;
将待存储的第二字符串和所述第一节点的标识,按照第二索引信息进行存储,所述第二字符串为所述第一字符串的关键字,所述第二索引信息用于表征第二节点在第二数据结构中的链接关系,所述第二节点为所述第二字符串在所述第二数据结构中对应的节点。
其中,所述第一数据结构和所述第二数据结构中至少存在一个压缩路径的数据结构,所述压缩路径的数据结构所包含的多个节点中,至少存在一个节点对应的存储空间中存储有至少两个字符。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述第一字符串,创建所述第一索引信息。
3.根据权利要求2所述的方法,其特征在于,所述第一索引信息包括:第三节点的标识以及所述第一节点和所述第三节点之间的路径数据;在所述第一数据结构的多个节点中,所述第三节点对应的存储数据与所述第一字符串的公共前缀的字符最多,所述公共前缀为所述第一字符串和所述第三节点对应的存储数据逐字符匹配后匹配成功的连续字符。
4.根据权利要求3所述的方法,其特征在于,所述基于所述第一字符串,创建所述第一索引信息,包括:
基于所述第一字符串,确定所述第三节点;
基于所述第三节点对应的存储数据,创建所述第一节点以及所述第一节点和所述第三节点之间的路径数据,所述路径数据包括失配首字符和失配位置,所述失配首字符为所述第一字符串和所述第三节点对应的存储数据逐字符匹配后第一个失配的字符,所述失配位置为所述公共前缀的最后一个字符在所述第三节点对应的存储空间中所存储的字符串中的字符位置。
5.根据权利要求4所述的方法,其特征在于,所述基于所述第一字符串,确定所述第三节点,包括:
从所述第一数据结构的根节点开始,将所述根节点对应的存储空间中所存储的数据与所述第一字符串进行匹配,得到目标路径数据,所述目标路径数据包括目标失配首字符和目标失配位置,所述目标失配首字符为所述根节点与所述第一字符串逐字符匹配后第一个失配的字符,所述目标失配位置为所述根节点对应的存储数据与所述第一字符串的公共前缀的最后一个字符,在所述根节点对应的存储空间中所存储的字符串中的字符位置;
若所述目标路径数据与连接至所述根节点的任一叶子节点的路径数据均不相同,则所述根节点为所述第三节点;
若所述目标路径数据与连接至所述根节点的任一叶子节点的路径数据相同,则将所述叶子节点作为根节点,重复上述过程,直至所述目标路径数据与连接至所述根节点的任一叶子节点的路径数据均不相同,确定所述第三节点。
6.根据权利要求3至5所述的方法,其特征在于,所述将待存储的第一字符串,按照第一索引信息进行存储,包括:
将所述第一字符串与所述第三节点对应的存储数据的至少一个失配字符中除第一个失配字符外的其他字符存储至所述第一节点对应的存储空间,所述至少一个失配字符为自所述第一字符串中第一个失配字符起至所述第一字符串的最后一个字符止的连续字符。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
基于所述第一节点的标识,确定所述第一节点对应的存储空间。
8.根据权利要求7所述的方...
【专利技术属性】
技术研发人员:史承毅,杨凯,
申请(专利权)人:上海优扬新媒信息技术有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。