一种基于T-树的索引优化方法及装置制造方法及图纸

技术编号:20176677 阅读:29 留言:0更新日期:2019-01-23 00:22
本发明专利技术实施例提供一种基于T‑树的索引优化方法及装置,所述方法包括:获取包含有批量数据的数据块,所述数据块的数据量根据T‑树中的索引节点保存的数据量所确定,其中,所述索引节点的索引信息包括所述索引节点保存的数据量;根据所述数据块的最大数值和最小数值与所述索引信息中的索引数值的最大值和最小值的比较结果、以及第一预设规则,生成新的索引节点;根据所述新的索引节点和第二预设规则,将所述新的索引节点融入到原始索引中。所述装置执行上述方法。本发明专利技术实施例提供的基于T‑树的索引优化方法及装置,在大批量插入数据的场景下,优化了原始索引,能够提高T‑树索引的响应速度。

An Index Optimization Method and Device Based on T-Tree

The embodiment of the present invention provides an index optimization method and device based on T_tree. The method includes: acquiring data blocks containing batch data, the data amount of the data blocks is determined by the amount of data saved by index nodes in T_tree, in which the index information of the index nodes includes the amount of data saved by the index nodes, and according to the maximum number of data blocks. A new index node is generated by comparing the maximum value with the minimum value of the index value in the index information and the first preset rule. According to the new index node and the second preset rule, the new index node is incorporated into the original index. The device performs the above method. The index optimization method and device based on T tree provided by the embodiment of the present invention optimizes the original index in the scene of mass insertion of data, and can improve the response speed of T tree index.

【技术实现步骤摘要】
一种基于T-树的索引优化方法及装置
本专利技术实施例涉及数据索引
,具体涉及一种基于T-树的索引优化方法及装置。
技术介绍
索引用于在数据查询时提高效率,随着海量数据的产生,对索引技术提出了新的挑战。现有技术T-tree(T-树)索引在这种场景下,采用将每一条数据插入索引,由于每一条数据的插入,都需要进行二叉树节点的判断,尤其是待插入的数据量很大,响应速度性能极其低下。因此,如何在大批量插入数据的场景下,提高T-树索引的响应速度,成为亟须解决的问题。
技术实现思路
针对现有技术存在的问题,本专利技术实施例提供一种基于T-树的索引优化方法及装置。第一方面,本专利技术实施例提供一种基于T-树的索引优化方法,所述方法包括:获取包含有批量数据的数据块,所述数据块的数据量根据T-树中的索引节点保存的数据量所确定,其中,所述索引节点的索引信息包括所述索引节点保存的数据量;根据所述数据块的最大数值和最小数值与所述索引信息中的索引数值的最大值和最小值的比较结果、以及第一预设规则,生成新的索引节点;根据所述新的索引节点和第二预设规则,将所述新的索引节点融入到原始索引中。第二方面,本专利技术实施例提供一种基于T-树的索引优化装置,所述装置包括:获取单元,用于获取包含有批量数据的数据块,所述数据块的数据量根据T-树中的索引节点保存的数据量所确定,其中,所述索引节点的索引信息包括所述索引节点保存的数据量;生成单元,用于根据所述数据块的最大数值和最小数值与所述索引信息中的索引数值的最大值和最小值的比较结果、以及第一预设规则,生成新的索引节点;融入单元,用于根据所述新的索引节点和第二预设规则,将所述新的索引节点融入到原始索引中。第三方面,本专利技术实施例提供另一种基于T-树的索引优化装置,包括:处理器、存储器和总线,其中,所述处理器和所述存储器通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如下方法:获取包含有批量数据的数据块,所述数据块的数据量根据T-树中的索引节点保存的数据量所确定,其中,所述索引节点的索引信息包括所述索引节点保存的数据量;根据所述数据块的最大数值和最小数值与所述索引信息中的索引数值的最大值和最小值的比较结果、以及第一预设规则,生成新的索引节点;根据所述新的索引节点和第二预设规则,将所述新的索引节点融入到原始索引中。第四方面,本专利技术实施例提供一种非暂态计算机可读存储介质,包括:所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如下方法:获取包含有批量数据的数据块,所述数据块的数据量根据T-树中的索引节点保存的数据量所确定,其中,所述索引节点的索引信息包括所述索引节点保存的数据量;根据所述数据块的最大数值和最小数值与所述索引信息中的索引数值的最大值和最小值的比较结果、以及第一预设规则,生成新的索引节点;根据所述新的索引节点和第二预设规则,将所述新的索引节点融入到原始索引中。本专利技术实施例提供的基于T-树的索引优化方法及装置,在大批量插入数据的场景下,优化了原始索引,能够提高T-树索引的响应速度。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例基于T-树的索引优化方法的流程示意图;图2为本专利技术实施例T-树的结构示意图;图3为本专利技术实施例基于T-树的索引优化装置的结构示意图;图4为本专利技术实施例提供的装置实体结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。为了更好地理解本专利技术实施例,下面先对相关的T-树作简要介绍:T-tree(T-树)索引用来实现关键字的范围查询。T-tree是一棵特殊平衡的二叉树(AVL),它的每个节点存储了按键值排序的一组关键字。T-tree除了较高的节点空间占有率,遍历一棵树的查找算法在复杂程度和执行时间上也占有优势。现在T-tree己经成为内存数据库中最主要的一种索引方式。T-tree具有以下特点:1)左子树与右子树之差不超过1;2)在一个存储节点(索引节点)可以保存多个键值(索引数值),它的最左与最右键值分别为这个节点的最小与最大键值,它的左子树仅仅包含那些键值小于或等于最小键值的一记录,同理右子树只包括那些键值大于或等于最大键值的记录;3)同时拥有左右子树的节点被称为内部节点,只拥有一个子树的节点被称为半叶节点,没有子树的节点被称为叶子;4)为了保持空间的利用率,每一个内部节点都需要包含一个最小数目的键值。由此可知T-tree是一个每个结点含有多个关键字的平衡二叉树,每个节点内的关键字有序排列,左子树都要比根节点关键字小,右子树都要比根节点关键字大。在上述T-tree结点结构中,包含如下信息:(1)balance(平衡因子),其绝对值不大于1,balance=右子树高度-左子树高度;(2)Left_child_ptr和Right_child_ptr分别表示当前结点的左子树和右子树指针;(3)Max_Item表示结点中所能容纳的键值的最大数;(4)Key[0]至K[Max_Item-1]为结点内存放的关键字;(5)nItem是当前节点实际存储的关键字个数。对于T-tree有如下特征:(1)与AVL树相似,T-tree中任何结点的左右子树的高度之差最大为1;(2)与AVL树不同,T-tree的结点中可存储多个键值,并且这些键值排列有序;(3)T-tree结点的左子树中容纳的键值不大于该结点中的最左键值;右子树中容纳的键值不小于该结点中的最右键值;(4)为了保证每个结点具有较高的空间占用率,每个内部结点所包含的键值数目必须不小于某个指定的值,通常为(Max_Item-2)(Max_Item为结点中最大键值目)。T树索引的操作用T-tree作为索引方式主要完成三个工作:查找,插入,删除。其中插入和删除都是以查找为基础。下面分别介绍三种操作的流程。1查找T-tree的查找类似于二叉树,不同之处主要在于每一结点上的比较不是针对结点中的各个元素值,而是首先检查所要查找的目标键值是否包含在当前结点的最左键值和最右键值所确定的范围内,如果是的话,则在当前结点的键值列表中使用二分法进行查找;如果目标键值小于当前结点的最左键值,则类似地搜索当前结点的左孩子结点;如果目标键值大于当前结点的最右键值,则类似地搜索当前结点的右孩子结点。2插入T-tree的插入是以查找为基础,应用查找操作定位目标键值插入位置,并记下查找过程所遇到的最后结点。如果查找成功,判断此结点中是否有足够的存储空间。如果有,则将目标键值插入结点中;否则将目标键值插入此结点,然后将结点中的最左键值插入到它的左子树中(此时是递归插入操作),之后结束;否则分配新结点,并本文档来自技高网...

【技术保护点】
1.一种基于T‑树的索引优化方法,其特征在于,包括:获取包含有批量数据的数据块,所述数据块的数据量根据T‑树中的索引节点保存的数据量所确定,其中,所述索引节点的索引信息包括所述索引节点保存的数据量;根据所述数据块的最大数值和最小数值与所述索引信息中的索引数值的最大值和最小值的比较结果、以及第一预设规则,生成新的索引节点;根据所述新的索引节点和第二预设规则,将所述新的索引节点融入到原始索引中。

【技术特征摘要】
1.一种基于T-树的索引优化方法,其特征在于,包括:获取包含有批量数据的数据块,所述数据块的数据量根据T-树中的索引节点保存的数据量所确定,其中,所述索引节点的索引信息包括所述索引节点保存的数据量;根据所述数据块的最大数值和最小数值与所述索引信息中的索引数值的最大值和最小值的比较结果、以及第一预设规则,生成新的索引节点;根据所述新的索引节点和第二预设规则,将所述新的索引节点融入到原始索引中。2.根据权利要求1所述的方法,其特征在于,所述索引信息还包括批量数据缓冲区;相应的,所述根据所述数据块的最大数值和最小数值与所述索引信息中的索引数值的最大值和最小值的比较结果、以及第一预设规则,生成新的索引节点,包括:若所述最大数值和最小数值对应的取值范围包含于所述索引数值的最大值和最小值对应的取值范围之间,则将所述批量数据置于所述批量数据缓冲区中;将所述批量数据缓冲区中的批量数据的数据数值和所述索引数值合并,并对合并后的数值进行排序;将所述索引数值的最小值和所述最大数值之间排序后的第一数值作为生成新的索引节点的索引数值;相应的,将所述批量数据缓冲区中的第一数值复制到所述索引数值的存储空间中。3.根据权利要求1或2所述的方法,其特征在于,所述根据所述数据块的最大数值和最小数值与所述索引信息中的索引数值的最大值和最小值的比较结果、以及第一预设规则,生成新的索引节点,包括:若所述最小数值大于所述索引数值的最小值、且所述最大数值大于所述索引数值的最大值,则获取所述索引节点的右子树键值;若所述右子树键值大于所述最大数值,将所述右子树键值对应的索引节点作为第二索引节点,相应的,获取所述第二索引节点的第二索引数值的最大值和最小值,并将所述索引数值的最小值和所述索引数值的最大值分别作为第一索引数值的最小值和最大值;对所述批量数据进行排序,并将所述第一索引数值的最小值和最大值之间的排序后的批量数据作为第一批量数据,将所述第二索引数值的最小值和最大值之间的排序后的批量数据作为第二批量数据;分别将所述第一批量数据和所述第二批量数据,作为生成新的第一索引节点的第一索引数值和新的第二索引节点的第二索引数值。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:若所述索引节点不存在的右子树,则获取所述索引节点的父索引节点;若所述父索引节点的右子树键值大于所述最大数值,将父索引节点的右子树对应的索引节点作为第二索引节点,相应的,继续执行所述获取所述第二索引节点的第二索引数值的最大值和最小值至所述作为生成新的第一索引节点的第一索引数值和新的第二索引节点的第二索引数值之间的步骤。5.根据权利要求1所述的方法,其特征在于,所述根据所述新的索引节点和第二预设规则,将所...

【专利技术属性】
技术研发人员:汤人杰时家幸张式勤张勇于祥兵周勋杨巧节
申请(专利权)人:中国移动通信集团浙江有限公司中移苏州软件技术有限公司中国移动通信集团公司
类型:发明
国别省市:浙江,33

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

1