一种节点分裂的方法与终端技术

技术编号:39738513 阅读:33 留言:0更新日期:2023-12-17 23:40
本发明专利技术的一种节点分裂的方法与终端,对待分裂的第一节点进行复制,得到第二节点;为所述第一节点的父节点新增一指向所述第二节点的指针,以在查询所述第一节点中第一部分数据时访问第一节点,查询第一节点中第二部分数据时访问第二节点;对所述第一节点中的所述第二部分数据以及所述第二节点中的所述第一部分数据进行清除;对节点的复制过程中并不会修改节点的数据,所以可以保持节点数据读取;而新增指针操作为纯内存操作,且待清除的数据都是不会被访问到的,故都可以不加锁进行操作;基于以上步骤的结合,实现不加锁的节点分裂,解决节点分裂对数据读取的限制和影响

【技术实现步骤摘要】
一种节点分裂的方法与终端


[0001]本专利技术涉及数据库
,特别涉及一种节点分裂的方法与终端


技术介绍

[0002]目前所有的系统都需要存储数据的要求,因此都需要依赖数据库

在数据库的种类中,也存在关系型数据库以及非关系型数据库,而随着数据量的增加,对于数据查询也有较高的要求

通常数据库中已经自带了各种的索引,能够快速提供数据查询

比如,经常使用的关系型数据库
mysql,
其索引结构采用
B+
树的数据结构,因为
B+
树是一种多路平衡二叉树,每当有新的节点新增或者删除时,整颗树的结构都可能会进行变更

当索引树进行变更
(
分裂节点
)
时,程序会把该节点的上一级节点进行加锁,之后,分裂一个节点为2个节点,数据也同时进行分裂,当分裂成功后,上一级节点同时指向新的分裂后节点,并进行解锁操作,此时整个数据节点变更结束

[0003]在这样一种节点分裂方本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种节点分裂的方法,其特征在于,包括步骤:
S1、
对待分裂的第一节点进行复制,得到第二节点;
S2、
为所述第一节点的父节点新增一指向所述第二节点的指针,以在查询所述第一节点中第一部分数据时访问第一节点,查询第一节点中第二部分数据时访问第二节点;
S3、
对所述第一节点中的所述第二部分数据以及所述第二节点中的所述第一部分数据进行清除
。2.
根据权利要求1所述的一种节点分裂的方法,其特征在于,步骤
S1
之前还包括步骤:
S01、
接收数据新增请求,根据新增数据判断是否需要进行节点分裂,若是则确定待分裂节点
。3.
根据权利要求2所述的一种节点分裂的方法,其特征在于,是否需要进行节点分裂的判断为:根据所述新增数据确定待存储的第一节点,判断所述待存储节点存储的数据量是否已满,若是则进入步骤
S1
,否则直接向所述第一节点插入所述新增数据
。4.
根据权利要求1所述的一种节点分裂的方法,其特征在于,步骤
S3
具体为:启动异步任务,通过异步任务对所述第一节点中的所述第二部分数据以及所述第二节点中的所述第一部分数据进行清除
。5.
一种节点分裂的终端,包括处理器

...

【专利技术属性】
技术研发人员:刘德建郭孟祺郑坦陈娟陈宏
申请(专利权)人:福建天泉教育科技有限公司
类型:发明
国别省市:

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

1