[发明专利]数据存储方法及装置、数据查询方法及装置、电子设备有效
申请号: | 201711053709.8 | 申请日: | 2017-10-31 |
公开(公告)号: | CN107862026B | 公开(公告)日: | 2021-01-01 |
发明(设计)人: | 王粲 | 申请(专利权)人: | 北京小度信息科技有限公司 |
主分类号: | G06F16/903 | 分类号: | G06F16/903;G06F16/9032 |
代理公司: | 北京智信四方知识产权代理有限公司 11519 | 代理人: | 宋海龙;钟文芳 |
地址: | 100085 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 存储 方法 装置 查询 电子设备 | ||
本公开实施例公开了数据存储方法及装置、数据查询方法及装置、电子设备。所述数据存储方法包括:获取待存储数据;根据待存储数据构建并存储字典树;其中,所述字典树的存储结构中,从根节点开始,当前节点的存储结构中存储当前节点对应的字符;并且所述当前节点的存储结构中以比特映射结构和单链表相结合的方式存储子节点信息;所述单链表的结点存储所述子节点的存储结构的地址信息,所述比特映射结构包括多个字节,所述多个字节中的比特位映射存储所述子节点对应的字符。本公开实施例在不增加字典树节点内存消耗与字典树查找时间复杂度的前提下,有效降低了维护子节点的内存冗余,提高了数据匹配速度。
技术领域
本公开涉及计算机技术领域,具体涉及一种数据存储方法及装置、数据查询方法及装置、电子设备及计算机可读存储介质。
背景技术
Trie树,又称字典树,单词查找树或者前缀树,是一种用于快速检索的多叉树结构,如英文字母的字典树是一个26叉树,数字的字典树是一个10叉树。与二叉查找树不同,Trie树的键不是直接保存在节点中,而是由节点在树中的位置决定。一个节点的所有子孙都有相同的前缀,也就是这个节点对应的字符串,而根节点对应空字符串。一般情况下,不是所有的节点都有对应的值,只有叶子节点和部分内部节点所对应的键才有相关的值。
事先将已知的一些字符串的有关信息保存到字典树树里,查找另外一些未知字符串是否出现过或者出现频率。例如,数据查询系统中,将查询关键词集合中的所有关键词构建成一个字典树,并将该构建成的字典树按照预设结构存储起来;在用户查询时,通过匹配用户输入的查询词与字典树存储结构里的内容确定用户当前要查询的关键词,进而为用户输出关键词相关的结果。例如,如图1所示的字典树结构中,从字典树根节点开始,参考用户的部分输入,寻找查找路径。部分输入完成匹配后,从当时的节点向下深度优先遍历,即可获取部分输入对应的完整字符串。对于数字字典树和字符字典树来说,每个节点的字符可以是0-9这10个数字和a-z这26个字母。例如用户输入的字符串为“mo”,在图1所示的字典树中最左侧第三层节点“o”处完成上述字符串“mo”的匹配,深度优先遍历该第三层节点“o”下的子节点,可以获取字符串“mop”和“moth”两个完整字符串,作为用户待查询的关键词。如果输入字符串为“moa”,则无匹路径,不能获取任何数据。字典树中,每个节点维护了自己的子节点。当前节点可以根据字符获取对应的子节点。例如图1中最左侧第三层节点“o”,维护了标记为“p”和“t”的两个子节点。
发明内容
本公开实施例提供一种数据存储方法及装置、数据查询方法及装置、电子设备及计算机可读存储介质。
第一方面,本公开实施例中提供了一种数据存储方法。
具体的,所述数据存储方法,包括:
获取待存储数据;
根据待存储数据构建并存储字典树;
其中,所述字典树的存储结构中,从根节点开始,当前节点的存储结构中存储当前节点对应的字符;并且所述当前节点的存储结构中以比特映射结构和单链表相结合的方式存储子节点信息;所述单链表的结点存储所述子节点的存储结构的地址信息,所述比特映射结构包括多个字节,所述多个字节中的比特位映射存储所述子节点对应的字符。
结合第一方面,本公开在第一方面的第一种实现方式中,所述比特映射结构中的多个预定比特位与预设字符集中的字符一一对应;所述待存储数据由所述预设字符集中的字符构成。
结合第一方面的第一种实现方式,本公开在第一方面的第二种实现方式中,所述比特映射结构中与所述子节点的字符对应的比特位的值为M,其他比特位的值为N,N和M不同,且N和M的取值范围为0或1。
结合第一方面的第一种实现方式,本公开在第一方面的第三种实现方式中,所述单链表的结点个数与所述当前节点的子节点个数相同,且所述单链表的结点的顺序与所述子节点对应的字符在所述比特映射结构中对应的比特位的顺序相同。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京小度信息科技有限公司,未经北京小度信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711053709.8/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置