[发明专利]基于B+树数据库的空闲页管理方法、装置及存储介质在审
| 申请号: | 202211159073.6 | 申请日: | 2022-09-22 |
| 公开(公告)号: | CN115510060A | 公开(公告)日: | 2022-12-23 |
| 发明(设计)人: | 徐锐波;卢文伟;幸福;刘方 | 申请(专利权)人: | 北京云思智学科技有限公司 |
| 主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/23;G06F16/215;G06F12/0882;G06F9/54;G06F9/46 |
| 代理公司: | 北京中联智道知识产权代理事务所(普通合伙) 11963 | 代理人: | 熊蒙 |
| 地址: | 101106 北京市通州*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 数据库 空闲 管理 方法 装置 存储 介质 | ||
1.基于B+树数据库的空闲页管理方法,其特征在于,包括:
空闲页增量数据写入流程:写事务开始执行,根据写事务针对空闲页进行操作,并记录空闲页的增量页数据信息;
空闲页全量数据写入流程:当所述空闲页全量数据写入流程开始执行的配置条件被触发时,获取全量空闲页数据信息进行写入,并在全量空闲页数据信息写入完成后清空相应的增量页数据信息。
2.根据权利要求1所述的基于B+树数据库的空闲页管理方法,其特征在于,所述空闲页增量数据写入流程:写事务开始执行,根据写事务针对空闲页进行操作,并记录空闲页的增量页数据信息包括:
写事务开始;
逐条执行写事务的每一条语句:如果是put操作,则分配满足当前put操作需要的页空间,如果是删除操作,查找到对应的页空间;
写事务提交:不记录全量空闲页,空闲页的增量页数据信息在执行写事务的相应流程中进行落盘。
3.根据权利要求2所述的基于B+树数据库的空闲页管理方法,其特征在于,所述逐条执行写事务的每一条语句过程中如果是put操作,则分配满足当前put需要的页空间包括:
从空闲页中查找,查找到可用的空闲页空间,则从空闲页中释放对应的空闲页空间;如果空闲页中未找到,则从应用中的未使用地址开始找到可用的页空间;
记录空闲页的增量页数据并落盘,所述的增量页数据包括事务ID,空闲页ID及操作方式:移除。
4.根据权利要求2所述的基于B+树数据库的空闲页管理方法,其特征在于,所述逐条执行写事务的每一条语句过程中如果是删除操作,查找到对应的页空间包括:
遍历B+树数据库当前数据页信息,查找删除操作对象页;
若查找失败,则忽略,若查找成功,则将查找的删除操作对象页加入到空闲页中;
记录空闲页的增量页数据并落盘,所述的增量页数据包括事务ID,空闲页ID及操作方式:加入。
5.根据权利要求1所述的基于B+树数据库的空闲页管理方法,其特征在于,所述空闲页全量数据写入流程:当所述空闲页全量数据写入流程开始执行的配置条件被触发时,获取全量空闲页数据信息进行写入,并在全量空闲页数据信息写入完成后清空相应的增量页数据信息包括:
写事务开始;
执行空事务;
事务提交:记录全量空闲页及事务ID,并落盘,清空本次空闲页全量数据写入流程与上次空闲页全量数据写入流程之间记录的全部增量页数据。
6.根据权利要求5所述的基于B+树数据库的空闲页管理方法,其特征在于,所述空闲页全量数据写入流程开始执行的配置条件被触发包括:
所述的配置条件为相邻两次空闲页全量数据写入流程之间的时间间隔是否达到预设时间间隔T0,当上次空闲页全量数据写入流程执行完成后时间间隔达到T0时,则配置条件被触发,本次空闲页全量数据写入流程开始执行,其中所述的预设时间间隔T0根据数据库的写入峰值配置;
和/或,所述的配置条件为是否接收到调用指令,当接收到程序主动触发空闲页全量数据写入流程的调用指令时,则配置条件被触发,空闲页全量数据写入流程开始执行。
7.根据权利要求1-6任意一项所述的基于B+树数据库的空闲页管理方法,其特征在于,还包括B+树数据库重启流程:
首先读取全量空闲页数据到全局空闲页列表,同时读取当前事务ID;
再读取全部的增量页数据,将增量页数据与全量空闲页数据中的同一空闲页数据进行整合,以确定B+树数据库重启后针对所述空闲页执行的事务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京云思智学科技有限公司,未经北京云思智学科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211159073.6/1.html,转载请声明来源钻瓜专利网。





