一种基于时效平衡树的数据处理方法及系统技术方案

技术编号:38466669 阅读:5 留言:0更新日期:2023-08-11 14:43
一种基于时效平衡树的数据处理方法及系统,具体涉及一种基于时效平衡树的数据处理方法及系统,为了解决计算机的平衡树类结构上存在的短期内被查询频率最高的节点通常消耗代价过高、单次查询消耗通常固定为对数级别时间,使平衡树缺乏对查询频率和近期查询的时效性的敏感性,导致每次查询时间过长的问题。它构建时效平衡树,将数据按照时效平衡树的结构存储,空树、单节点、时效平衡树的左子树和右子树均是时效平衡树,时效平衡树上的每个节点包括检索键值对、时效权值和记录查询轮次,时效权值由衰减法计算。定义时效平衡树的失衡度、平衡状态和旋转方式。依据定义、时效平衡树和时效权值完成计算机数据的处理。属于计算机数据处理领域。据处理领域。据处理领域。

【技术实现步骤摘要】
一种基于时效平衡树的数据处理方法及系统


[0001]本专利技术涉及一种数据处理方法及系统,具体涉及一种基于时效平衡树的数据处理方法及系统,属于计算机数据处理领域。

技术介绍

[0002]平衡树是计算机科学中的一类数据结构,是经过改进的二叉查找树。相比于普通的二叉查找树,平衡树可以平均化数据查询目标到树根的距离,使所有叶子节点的深度趋于平衡,或使在树上所有可能查找的均摊复杂度偏低。平衡树一般支持旋转、插入、删除、修改等基本操作。目前计算机领域经常使用的平衡树有AVL树、树堆(Treap)、伸展树(Splay Tree)、红黑树(Red

BlackTree)等。
[0003]目前已有的计算机的平衡树技术,如AVL树、红黑树等平衡树的结构,普遍强调整棵树结构的平衡,不会随着计算机的数据查询频次改变,这意味着对于一棵平衡树结构最坏复杂度在对数时间,同时也意味着至少需要对数级别的时间执行单次的数据查询。即使个别数据查询极其频繁,这些树结构仍然会消耗对数时间完成查询操作,使短期内被查询频率最高的节点通常消耗代价过高。而伸展树等结构又缺乏对时效性的有效体现,不具备近期的数据频繁查询比以往的频繁查询更需要被及时优化的结构特性。因此,平衡树缺乏对查询频率和近期查询的时效性的敏感性,导致每次查询时间过长,需要提出一种降低近期频繁查询代价的平衡树方法。

技术实现思路

[0004]本专利技术为了解决计算机的平衡树类结构上存在的短期内被查询频率最高的节点通常消耗代价过高、单次查询消耗通常固定为对数级别时间,使平衡树缺乏对查询频率和近期查询的时效性的敏感性,导致每次查询时间过长的问题,进而提出了一种基于时效平衡树的数据处理方法及系统。
[0005]本专利技术采取的技术方案是:
[0006]它包括以下步骤:
[0007]S1、构建时效平衡树:
[0008]时效平衡树为二叉查找树,时效平衡树上的每个节点至多有一个左子树和至多有一个右子树,时效平衡树上的每个节点用于检索键值对,计算并记录时效权值和记录查询轮次,时效权值为节点的累计使用次数;
[0009]S2、定义时效平衡树的失衡度为左子树和右子树时效权值之差的绝对值;
[0010]定义每棵子树的失衡度最小化时,时效平衡树处于平衡状态;
[0011]定义时效平衡树上每个节点的旋转方式包括单向右旋平衡处理LL、单向左旋平衡处理RR、先左后右双向旋转平衡处理LR、先右后左双向旋转平衡处理RL;
[0012]S3、将计算机数据库中的数据按照时效平衡树的结构进行存储;
[0013]S4、获取待处理的计算机数据,将待处理的计算机数据输入S1的时效平衡树中,找
到当前数据所在的节点,记录节点的时效权值,基于S2和节点的时效权值从下向上旋转时效平衡树的结构,更新时效平衡树中所有节点的时效权值,直至时效平衡树处于平衡状态,输出处理结果。
[0014]进一步地,所述S1中时效平衡树满足以下条件:
[0015]条件1、空树和单节点均是时效平衡树;
[0016]条件2、时效平衡树的左子树和右子树均是时效平衡树。
[0017]进一步地,所述S1中时效平衡树每个节点的时效权值由衰减法计算得到。
[0018]进一步地,所述衰减法为:
[0019]c*η^(F

H)
[0020]其中,c表示某个节点的时效权值,η表示衰减速率,F表示某个节点的当前处理轮次,H表示某个节点的历史最晚处理轮次。
[0021]进一步地,所述S2中单向右旋平衡处理LL为:
[0022]根节点A的左子树根节点为B,根节点A的右子树为E,左子树根节点B的左子树为C,左子树根节点B的右子树为D,当根节点A进行一次右旋转操作,左子树根节点B变为新根节点,左子树C变为新根节点B的左子树,根节点A变为新根节点B的右子树根节点,右子树D为右子树根节点A的左子树,右子树E为右子树根节点A的右子树;
[0023]单向左旋平衡处理RR为:
[0024]根节点A的左子树为B,根节点A的右子树根节点为C,右子树根节点C的左子树为D,右子树根节点C的右子树为E,当根节点A进行一次左旋转操作,右子树根节点C变为新根节点,右子树E变为新根节点C的右子树,根节点A变为新根节点C的左子树根节点,左子树D为左子树根节点A的右子树,左子树B为左子树根节点A的左子树;
[0025]先左后右双向旋转平衡处理LR为:
[0026]对某个节点的左子树进行单向左旋平衡处理RR,再对当前整棵时效平衡树进行单向右旋平衡处理LL;
[0027]先右后左双向旋转平衡处理RL为:
[0028]对某个节点的右子树进行单向右旋平衡处理LL,再对当前整棵时效平衡树进行单向左旋平衡处理RR。
[0029]进一步地,所述S4中的处理包括数据查询、数据增加、数据删除和数据修改。
[0030]进一步地,所述S4具体过程为:
[0031]将待处理的计算机数据输入S1的时效平衡树中,获得当前数据所在的节点,记录当前节点的时效权值,获取当前节点到时效平衡树根节点路径上的所有节点,以从下到上的顺序依次对时效平衡树所有节点的子树进行旋转,判断每棵子树旋转后的失衡度是否降低,当失衡度降低时,则利用衰减法计算当前节点的时效权值,若当前节点左子树时效权值增加或右子树时效权值降低时,依次执行单向右旋平衡处理LL和先左后右双向旋转平衡处理LR;若当前节点左子树时效权值降低或右子树时效权值增加时,依次执行单向左旋平衡处理RR和先右后左双向旋转平衡处理RL,直至对应子树的失衡度最小化,完成子树的处理;否则保持子树的原有状态;直至每个子树的失衡度最小化,即时效平衡树为平衡状态,输出处理结果。
[0032]进一步地,所述利用衰减法计算当前节点的时效权值,具体过程为:
[0033]针对当前处理,设定衰减速率η及查询窗口大小M,0≤η≤1,M为正整数,定义当前处理为当前节点的第K次处理,将K与M的商向下取整作为当前处理轮次F,即M为100时,第0

99次查询为第一轮次,第100

199次查询为第二轮次,以此类推;根据当前节点的历史最晚处理轮次H,利用衰减法更新当前节点的时效权值c,且令F赋值为H;
[0034]对于当前处理中未更新的节点,它的时效权值在下次更新时与η
a
相乘,a为任意两次查询轮次之差。
[0035]进一步地,所述查询窗口大小M由用户根据具体的查询数量和查询时间间隔进行设定。
[0036]一种基于时效平衡树的数据处理系统,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如一种基于时效平衡树的数据处理方法中任一步骤。
[0037]有益效果:
[0038]本专利技术构建了时效平衡树,将计算机数据库中的数据按照时效平衡树的结构进行存储。时效平本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于时效平衡树的数据处理方法,其特征在于:它包括以下步骤:S1、构建时效平衡树:时效平衡树为二叉查找树,时效平衡树上的每个节点至多有一个左子树和至多有一个右子树,时效平衡树上的每个节点用于检索键值对,计算并记录时效权值和记录查询轮次,时效权值为节点的累计使用次数;S2、定义时效平衡树的失衡度为左子树和右子树时效权值之差的绝对值;定义时效平衡树每棵子树的失衡度最小化时,时效平衡树处于平衡状态;定义时效平衡树上每个节点的旋转方式包括单向右旋平衡处理LL、单向左旋平衡处理RR、先左后右双向旋转平衡处理LR、先右后左双向旋转平衡处理RL;S3、将计算机数据库中的数据按照时效平衡树的结构进行存储;S4、获取待处理的计算机数据,将待处理的计算机数据输入S1的时效平衡树中,找到当前数据所在的节点,记录节点的时效权值,基于S2和节点的时效权值从下向上旋转时效平衡树的结构,更新时效平衡树中所有节点的时效权值,直至时效平衡树处于平衡状态,输出处理结果。2.根据权利要求1中所述的一种基于时效平衡树的数据处理方法,其特征在于:所述S1中时效平衡树满足以下条件:条件1、空树和单节点均是时效平衡树;条件2、时效平衡树的左子树和右子树均是时效平衡树。3.根据权利要求2中所述的一种基于时效平衡树的数据处理方法,其特征在于:所述S1中时效平衡树每个节点的时效权值由衰减法计算得到。4.根据权利要求3中所述的一种基于时效平衡树的数据处理方法,其特征在于:所述衰减法为:c*η^(F

H)其中,c表示某个节点的时效权值,η表示衰减速率,F表示某个节点的当前处理轮次,H表示某个节点的历史最晚处理轮次。5.根据权利要求4中所述的一种基于时效平衡树的数据处理方法,其特征在于:所述S2中单向右旋平衡处理LL为:根节点A的左子树根节点为B,根节点A的右子树为E,左子树根节点B的左子树为C,左子树根节点B的右子树为D,当根节点A进行一次右旋转操作,左子树根节点B变为新根节点,左子树C变为新根节点B的左子树,根节点A变为新根节点B的右子树根节点,右子树D为右子树根节点A的左子树,右子树E为右子树根节点A的右子树;单向左旋平衡处理RR为:根节点A的左子树为B,根节点A的右子树根节点为C,右子树根节点C的左子树为D,右子树根节点C的右子树为E,当根节点A进行一次左旋转操作,右子树根节点C变为新根节点,右子树E变为新根节点C的右子树,根节点A变为新根节点C的左子树根节点,左子树D为左子树根节点A的右子树,左子树B为左子树根节...

【专利技术属性】
技术研发人员:王宏志苏佳轩丁小欧
申请(专利权)人:哈尔滨工业大学
类型:发明
国别省市:

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

1