[发明专利]数据存储、查询方法及装置有效
| 申请号: | 201910550724.6 | 申请日: | 2019-06-24 |
| 公开(公告)号: | CN110413611B | 公开(公告)日: | 2023-05-12 |
| 发明(设计)人: | 王浙明;袁建伟 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
| 主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/27 |
| 代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 张所明 |
| 地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 数据 存储 查询 方法 装置 | ||
本申请公开了数据存储、查询方法及装置,属于计算机技术领域。方法包括:获取原始数据,基于原始数据得到弹性分布数据集;对于任一标签对,获取任一标签对的索引文件,将索引文件存储到磁盘中,得到索引文件在磁盘的偏移量和长度;获取任一标签对的标签名称的哈希值;根据任一标签对的标签名称的哈希值,按照参考规则创建多叉树;将索引文件在磁盘的偏移量和长度存储到叶子节点中;从多叉树的叶子节点开始,将每层的区块依次存储到磁盘中,每个区块在存储到磁盘中后,将每个区块在磁盘的偏移量和长度存储到上一层的节点中;将多叉树的第一层的区块存储到内存中。本申请提供的方法能够节省内存,提高数据查询的效率。
技术领域
本申请实施例涉及计算机技术领域,特别涉及一种数据存储、查询方法及装置。
背景技术
在大数据时代,一般会在数据储存时创建索引,然后基于索引进行数据查询。通过创建结构简单、有效、性能优良的索引,可以快捷地获取到所需查询的数据。目前储存数据时,一般会创建倒排索引,倒排索引是一种由属性值来确定记录的位置的索引方法。
相关技术在数据存储的过程中,创建数据的索引文件,将索引文件存储在磁盘,同时创建一个存储索引文件相关信息的关联容器(map),将map存储在内存中。Map的关键字(key)为项(term),关键字的值(value)为对应的索引文件的偏移地址。数据查询时,先在内存中根据term查找对应索引文件的偏移地址,再根据偏移地址从磁盘中获取索引文件,从而得到查询到的数据。在实现本申请的过程中,发明人发现相关技术至少存在以下问题:
相关技术中,当索引文件非常大的时候,存储term和偏移地址的map可能占用大量的内存,随着map的增大,在map中的查找性能急剧下降,从而降低数据查询的效率。
发明内容
本申请实施例提供了一种数据存储、查询方法及装置,可用于解决相关技术中的问题。所述技术方案如下:
一方面,本申请实施例提供了一种数据存储方法,所述方法包括:
获取原始数据,基于所述原始数据得到弹性分布数据集,所述弹性分布数据集中包含一个或多个主键;每个主键对应有一个或多个标签对,每个标签对由标签名称和标签ID组成;
对于任一标签对,获取所述任一标签对的索引文件,将所述索引文件存储到磁盘中,得到所述索引文件在磁盘的偏移量和长度;
获取所述任一标签对的标签名称的哈希值;
根据所述任一标签对的标签名称的哈希值,按照参考规则创建多叉树,所述多叉树的层数为一层或多层,每层包含一个或者多个区块,每个区块包含一个或多个节点;同一层的不同节点用于存储位数相同数值不同的哈希值,不同层的不同节点用于存储位数不同的哈希值;所述多叉树的最后一层的节点为叶子节点;
将所述索引文件在磁盘的偏移量和长度存储到所述叶子节点中;从所述多叉树的叶子节点开始,将每层的区块依次存储到磁盘中,每个区块在存储到磁盘中后,将每个区块在磁盘的偏移量和长度存储到上一层的节点中;
将所述多叉树的第一层的区块存储到内存中。
一方面,本申请实施例提供了一种数据查询方法,所述方法包括:
获取待查询的数据和多叉树的第一层的区块,所述待查询的数据包括一个或多个标签对,每个标签对由标签名称和标签ID组成;所述多叉树按照参考规则创建得到,所述多叉树的层数为一层或多层,每层包含一个或者多个区块,每个区块包含一个或多个节点;同一层的不同节点存储位数相同数值不同的哈希值,不同层的不同节点存储位数不同的哈希值;所述多叉树的最后一层的节点为叶子节点,所述叶子节点存储索引文件在磁盘的偏移量和长度,非叶子节点存储下一层区块在磁盘的偏移量和长度;
对于任一标签对,获取所述标签对的标签名称的哈希值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910550724.6/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





