System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种B+树优化方法和装置制造方法及图纸_技高网

一种B+树优化方法和装置制造方法及图纸

技术编号:41408069 阅读:6 留言:0更新日期:2024-05-20 19:34
本申请公开了一种B+树优化方法和装置,涉及信息处理技术领域。包括:获取目标主键、第一数值区间和第二数值区间;如果目标主键位于第一数值区间,则基于主键排列规则和第一移动原则,将目标主键插入第一B+树的第一位置;如果目标主键位于第二数值区间,则基于主键排列规则和第二移动原则,将目标主键插入第一B+树的第二位置。采用本申请中公开的方法,可以尽量少地改变叶子节点中已经存储的数据,尽量简便地将目标主键插入第一B+树的对应位置。

【技术实现步骤摘要】

本申请涉及信息处理,特别是涉及一种b+树优化方法和装置。


技术介绍

1、b+树是关系型数据库主要的索引结构。b+树有叶子节点和非叶子节点。非叶子节点只存储主键和指针。叶子节点可以存储主键和指针,也可以存储主键和数据页。

2、b+树的第一个特点是各节点中存储的主键要按照主键本身由小到大的顺序排列,称为主键排列规则。如果新数据要插入到b+树中,新数据对应的主键也需要按照上述主键排列规则进行数据插入。b+树的第二个特点是每个节点占用一个磁盘块,每个节点中的数据在对应的磁盘块中存储。由于磁盘块能存储的最大数据量是确定的,所以每个节点中能插入的数据是有限的。

3、在新数据要插入到b+树时,传统方案是按照主键排列规则将新数据的主键插入到对应的叶子节点中,如果该叶子节点存储空间不足,则将该叶子节点中较大的若干主键向更大主键方向移动,使得该叶子节点的剩余存储空间大于或等于存储新数据需要的存储空间。但此种方法的缺点是,当新插入的主键较小时,需要移动的主键数量可能很多,导致很多叶子节点中的数据都要重新写入,极为繁琐费时。

4、因此,在新数据需要插入b+树时,如何尽量少地改变叶子节点中已经存储的数据,尽量简便地将新数据插入b+树中,成为亟待解决的技术问题。


技术实现思路

1、基于上述问题,本申请提供了一种b+树优化方法,用以尽量简便地将新数据插入b+树中,减少新数据插入对叶子节点中已经存储的数据的影响。

2、本申请实施例公开了如下技术方案:

3、本申请第一方面提供一种b+树优化方法,包括:

4、获取目标主键、第一数值区间和第二数值区间;所述目标主键是待处理数据对应的主键;所述第一数值区间包括第一b+树的叶子节点中存储的最大主键;所述第二数值区间包括所述第一b+树的叶子节点中存储的最小主键;;

5、若所述目标主键位于所述第一数值区间,则基于主键排列规则和第一移动原则,将所述目标主键插入所述第一b+树的第一位置;所述主键排列规则指示主键按照由小到大的顺序存储在b+树的叶子节点中;所述第一移动原则指示第一位置后的主键向更大主键方向移动;

6、若所述目标主键位于所述第二数值区间,则基于所述主键排列规则和第二移动原则,将所述目标主键插入所述第一b+树的第二位置;所述第二移动原则表征第二位置前的主键向更小主键方向移动。

7、在一种可选的实现方式中,所述方法还包括:

8、若所述目标主键位于所述第一数值区间和所述第二数值区间外,则基于所述主键排列规则和分裂原则,将所述目标主键插入第二b+树的第三位置;所述分裂原则指示按照叶子节点已经存储的数据平均分配的原则,将该叶子节点分裂为两个新的叶子节点。

9、在一种可选的实现方式中,所述方法还包括:

10、基于所述第二b+树中的主键和布隆过滤器中哈希值的对应关系,为所述第二b+树构建目标布隆过滤器。

11、在一种可选的实现方式中,所述若所述目标主键位于所述第一数值区间,则基于主键排列规则和第一移动原则,将所述目标主键插入所述第一b+树的第一位置,包括:

12、若所述目标主键大于所述最大主键,则确定所述最大主键所在的叶子节点是目标叶子节点;

13、判断所述目标叶子节点剩余的存储空间是否大于存储所述目标主键需要的存储空间;

14、若所述剩余的存储空间大于或等于存储所述目标主键需要的存储空间,则将所述目标主键插入所述目标叶子节点中所述最大主键后的位置;

15、若所述剩余的存储空间小于存储所述目标主键需要的存储空间,则将所述目标主键插入所述目标叶子节点后新增加的叶子节点中。

16、在一种可选的实现方式中,所述若所述目标主键位于所述第一数值区间,则基于主键排列规则和第一移动原则,将所述目标主键插入所述第一b+树的第一位置,包括:

17、若所述目标主键小于所述最大主键,则确定邻近主键所在的叶子节点是目标叶子节点;所述邻近主键是小于所述目标主键且与所述目标主键的差值的绝对值最小的主键;

18、判断所述目标叶子节点剩余的存储空间是否大于存储所述目标主键需要的存储空间;

19、若所述剩余的存储空间大于或等于存储所述目标主键需要的存储空间,则将所述目标主键插入所述目标叶子节点中所述邻近主键后的位置;

20、若所述剩余的存储空间小于存储所述目标主键需要的存储空间,则将所述目标叶子节点中最大的n个主键向更大主键方向移动,将所述目标主键插入所述目标叶子节点中所述邻近主键后的位置;所述n个主键移出所述目标叶子节点后,该目标叶子节点剩余的存储空间大于或等于存储所述目标主键需要的存储空间;所述n是大于等于1的正整数。

21、在一种可选的实现方式中,所述若所述目标主键位于所述第二数值区间,则基于所述主键排列规则和第二移动原则,将所述目标主键插入所述第一b+树的第二位置,包括:

22、若所述目标主键小于所述最小主键,则确定所述最小主键所在的叶子节点是目标叶子节点;

23、判断所述目标叶子节点剩余的存储空间是否大于存储所述目标主键需要的存储空间;

24、若所述剩余的存储空间大于或等于存储所述目标主键需要的存储空间,则将所述目标主键插入所述目标叶子节点中所述最小主键前的位置;

25、若所述剩余的存储空间小于存储所述目标主键需要的存储空间,则将所述目标主键插入所述目标叶子节点前新增加的叶子节点中。

26、在一种可选的实现方式中,所述若所述目标主键位于所述第二数值区间,则基于所述主键排列规则和第二移动原则,将所述目标主键插入所述第一b+树的第二位置,包括:

27、若所述目标主键大于所述最小主键,则确定邻近主键所在的叶子节点是目标叶子节点;所述邻近主键是大于所述目标主键且与所述目标主键的差值最小的主键;

28、判断所述目标叶子节点剩余的存储空间是否大于存储所述目标主键需要的存储空间;

29、若所述剩余的存储空间大于或等于存储所述目标主键需要的存储空间,则将所述目标主键插入所述目标叶子节点中所述邻近主键前的位置;

30、若所述剩余的存储空间小于存储所述目标主键需要的存储空间,则将所述目标叶子节点中最小的m个主键向更小主键方向移动,将所述目标主键插入所述目标叶子节点中所述邻近主键前的位置;所述m个主键移出所述目标叶子节点后,该目标叶子节点剩余的存储空间大于或等于存储所述目标主键需要的存储空间;所述m是大于等于1的正整数。

31、在一种可选的实现方式中,所述若所述目标主键位于所述第一数值区间和所述第二数值区间外,则基于所述主键排列规则和分裂原则,将所述目标主键插入第二b+树的第三位置,包括:

32、确定邻近主键所在的叶子节点是目标叶子节点;所述邻近主键是小于所述目标主键且与所述目标主键的差值的绝对值最小的主键;

33、判断所述目标叶子节点剩余的存本文档来自技高网...

【技术保护点】

1.一种B+树优化方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,所述方法还包括:

4.根据权利要求1-3任一项所述的方法,其特征在于,所述若所述目标主键位于所述第一数值区间,则基于主键排列规则和第一移动原则,将所述目标主键插入所述第一B+树的第一位置,包括:

5.根据权利要求1-3任一项所述的方法,其特征在于,所述若所述目标主键位于所述第一数值区间,则基于主键排列规则和第一移动原则,将所述目标主键插入所述第一B+树的第一位置,包括:

6.根据权利要求1-3任一项所述的方法,其特征在于,所述若所述目标主键位于所述第二数值区间,则基于所述主键排列规则和第二移动原则,将所述目标主键插入所述第一B+树的第二位置,包括:

7.根据权利要求1-3任一项所述的方法,其特征在于,所述若所述目标主键位于所述第二数值区间,则基于所述主键排列规则和第二移动原则,将所述目标主键插入所述第一B+树的第二位置,包括:

8.根据权利要求2或3所述的方法,其特征在于,所述若所述目标主键位于所述第一数值区间和所述第二数值区间外,则基于所述主键排列规则和分裂原则,将所述目标主键插入第二B+树的第三位置,包括:

9.一种B+树优化装置,其特征在于,所述装置包括:

10.根据权利要求9所述的装置,其特征在于,所述装置还包括:

...

【技术特征摘要】

1.一种b+树优化方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,所述方法还包括:

4.根据权利要求1-3任一项所述的方法,其特征在于,所述若所述目标主键位于所述第一数值区间,则基于主键排列规则和第一移动原则,将所述目标主键插入所述第一b+树的第一位置,包括:

5.根据权利要求1-3任一项所述的方法,其特征在于,所述若所述目标主键位于所述第一数值区间,则基于主键排列规则和第一移动原则,将所述目标主键插入所述第一b+树的第一位置,包括:

6.根据权利要求1-3任一项所述的方法,其特征在于,所述若所述...

【专利技术属性】
技术研发人员:吕虎
申请(专利权)人:中国农业银行股份有限公司
类型:发明
国别省市:

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

1