[发明专利]一种索引构建方法、数据读取方法及索引构建装置在审
申请号: | 202211502941.6 | 申请日: | 2022-11-28 |
公开(公告)号: | CN115718819A | 公开(公告)日: | 2023-02-28 |
发明(设计)人: | 柴云鹏;骆远辉;王元桢 | 申请(专利权)人: | 中国人民大学 |
主分类号: | G06F16/901 | 分类号: | G06F16/901;G06F16/903 |
代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 彭星 |
地址: | 100089 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 索引 构建 方法 数据 读取 装置 | ||
本申请提供了一种索引构建方法、数据读取方法及索引构建装置,所述索引构建方法根据所述初始数据和所述第一目标节点的预设空间放大率阈值,确定出目标前缀长度;根据目标前缀长度,将所述初始数据划分为多个子数据集、待存储数据;根据节点前缀、待存储数据确定出索引模型,并通过所述索引模型分别计算节点前缀、待存储数据的存储位置;将每一节点前缀和指向子节点的指针、待存储数据存储在对应的存储位置,构建出所述第一目标节点,并重复以上过程构建子节点,直至构建出整个索引,构建的索引结构更为扁平,且在不同的数据集以及写密集型的工作负载中有更优的性能,在数据分布发生变化时性能保持稳定,尾延迟性能指标也更优。
技术领域
本申请涉及数据存储领域,具体而言,涉及一种索引构建方法、数据读取方法及索引构建装置。
背景技术
前缀树:即Trie Tree,也叫字典树,是一种用于快速检索的多叉树结构。一个前缀树可以用来索引数值,字符串等多种数据类型(索引数值类型时也称为基数树,即Rad ixTree)。前缀树的每一个结点会有多个子结点,每个结点的所有子结点包含的字符都不相同。在前缀树中,每一个结点代表一个字符串(前缀),从根结点到某一结点,路径上经过的字符连接起来,为该结点对应的字符串。前缀树的核心思想是空间换时间。利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。
但是,前缀树模型的时间和空间效率都直接与数据量成负相关,大数据时代对存储系统提出了更高的容量和性能要求。
发明内容
有鉴于此,本申请的目的在于提供一种索引构建方法、数据读取方法及索引构建装置,构建的索引结构更为扁平,且在不同的数据集以及写密集型的工作负载中有更优的性能,同时在数据分布发生变化时性能保持稳定,尾延迟性能指标也更优。
本申请实施例提供的一种索引构建方法,包括:
将初始数据输入前缀树的第一目标节点,根据所述初始数据和所述第一目标节点的预设空间放大率阈值,确定出所述第一目标节点的目标前缀长度;
根据第一目标节点的目标前缀长度,将所述初始数据划分为多个子数据集,和/或从初始数据中筛选出存储在所述第一目标节点的待存储数据;其中,所述子数据集中的初始数据具有相同的节点前缀;
根据节点前缀和/或待存储数据确定出第一目标节点的索引模型,并通过所述索引模型分别计算每一子数据集的节点前缀对应的指向子节点的指针以及存储位置,和/或分别计算每一待存储数据的存储位置;
将每一节点前缀和指向子节点的指针、和/或每一待存储数据存储在对应的存储位置,构建出所述第一目标节点的索引结构;
将构建好的第一目标节点的子节点作为新的第一目标节点,将子节点对应子数据集作为新的初始数据,构建所述新的第一目标节点的索引结构,直至满足构建完成条件,构建出整个索引。
在一些实施例中,所述的索引构建方法中,根据所述初始数据和所述第一目标节点的预设空间放大率阈值,确定出所述第一目标节点的目标前缀长度,包括:
根据所述初始数据的数据分布特征确定出至少一个待验证前缀长度;
分别计算每一个待验证的前缀长度对应的空间放大率;
筛选出对应的空间放大率不大于第一目标节点的预设空间放大率阈值的待验证前缀长度;
确定筛选出的最大的待验证前缀长度作为目标前缀长度。
在一些实施例中,所述的索引构建方法中,根据节点前缀和/或待存储数据确定出第一目标节点的索引模型,包括:
根据节点前缀和/或待存储数据,计算出满足预设空间放大率阈值的目标全局斜率;
根据计算出的目标全局斜率,确定一线性模型作为索引模型。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民大学,未经中国人民大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211502941.6/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置