全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210641104.5 (22)申请日 2022.06.07 (71)申请人 北京人大金仓信息技 术股份有限公 司 地址 100102 北京市朝阳区容达路7号院5 号楼1至3层101内二层201 (72)发明人 冷建全 程强  (74)专利代理 机构 北京智汇东方知识产权代理 事务所(普通 合伙) 11391 专利代理师 刘长江 (51)Int.Cl. G06F 16/23(2019.01) G06F 16/22(2019.01) G06F 3/06(2006.01) (54)发明名称 一种预写式日志的处理方法、 存储介质与设 备 (57)摘要 本发明涉及数据库技术, 特别是涉及一种预 写式日志的处理方法、 存储介质与设备。 该处理 方法包括: 将数据库运行中产生的多条WAL记录 复制到WAL缓存中; 利用预先构建的哈希表记录 多条WAL的复制状态, 其中, 哈希表的每一个哈希 桶内记录有和其对应的WAL记录的识别号以及标 示着是否完成复制的标记; 在将WAL缓存刷写到 磁盘文件中之前, 根据待提交事务的每一条WAL 记录的识别号查找和其对应的哈希桶, 根据查找 到的哈希桶中的标记顺序查看待提交事务的每 一条WAL记录的复制状态。 本发明采用哈希表记 录WAL记录复制到WAL缓存的状态, 实现了在刷写 WAL缓存之前, 无需遍历, 仅仅通过哈希索引即可 有序、 快速地查看待提交事务的每一条WAL记录 的复制状态, 提高了数据库的性能。 权利要求书2页 说明书10页 附图3页 CN 114936215 A 2022.08.23 CN 114936215 A 1.一种预写式日志的处 理方法, 包括: 将数据库运行中产生的多条 预写式日志 记录复制到预写式日志缓存中; 利用数据库管理系统中预先构建的哈希表记录所述多条预写式日志的复制状态, 其 中, 所述哈希表的每一个哈希桶与一条预写式日志记录对应设置, 并且每一个所述哈希桶 内记录有和 其对应的预写式日志记录的识别号以及标示着该条预写式日志记录是否完成 复制的标记; 在将所述预写式日志缓存刷写到磁盘文件中之前, 根据待提交事务的每一条预写式日 志记录的识别号在所述哈希表中查找和其对应的哈希桶, 并根据查找到的哈希桶中的所述 标记顺序查看所述待提交事务的每一条 预写式日志 记录的复制状态。 2.根据权利要求1所述的处理方法, 其中, 每一条预写式日志记录的识别号包括该条预 写式日志记录的写入磁盘文件的起始地址和结束地址, 其中, 每个待提交事务的非首条预 写式日志记录的起始地址为同一所述待提交事务的上一条预写式日志记录的结束地址与 预设长度之和; 并且 所述根据待提交事务的每一条预写式日志记录的识别号在所述哈希表中查找和其对 应的哈希桶, 并根据查找到的哈希桶中的所述标记顺序查看所述待提交事务的每一条预写 式日志记录的复制状态的步骤 包括: 将所述待提交事务的第一条预写式日志记录的结束地址与所述预设长度相加得到所 述待提交事务的下一条 预写式日志 记录的起始地址; 将所述下一条预写式日志记录的起始地址作为所述哈希表的索引, 查找与 所述下一条 预写式日志记录对应的哈希桶, 并根据查找到的哈希桶中的所述标记查看所述下一条预写 式日志记录的复制状态; 在所述下一条预写式日志记录否完成复制的情况下, 将所述下一条预写式日志记录的 结束地址与所述预设长度的相加作为所述哈希表的索引, 继续查找与下一条预写式日志记 录对应的哈希桶, 直至确定下一条 预写式日志 记录未完成复制, 停止查找。 3.根据权利要求2所述的处理方法, 其中, 在将所述预写式日志缓存刷写到磁盘文件中 之前, 所述处 理方法还 包括: 在确定准备提交所述待提交事务的情况下, 确定所述待提交事务的预写式日志的刷写 进度; 在所述刷写进度为刷写中的情况下, 将所述待提交事务的第 一条预写式日志记录的起 始地址作为刷写起始地址; 并且 在所述根据待提交事务的每一条预写式日志记录的识别号在所述哈希表中查找和其 对应的哈希桶, 并根据查找到的哈希桶中的所述标记顺序查看所述待提交事务的每一条预 写式日志 记录的复制状态的步骤之后, 所述处 理方法还 包括: 将所述待提交事务的最后一条完成复制的预写式日志记录的结束地址作为刷写结束 地址; 将所述刷写起始地址和所述刷写结束地址之间的整块预写式日志缓存刷写到磁盘文 件中。 4.根据权利要求3所述的处理方法, 其中, 所述确定所述待提交事务的预写式日志的刷 写进度的步骤 包括:权 利 要 求 书 1/2 页 2 CN 114936215 A 2获取所述预写式日志缓存的刷写位置, 并获取所述待提交事务的请求位置, 其中所述 请求位置包括所述待提交事务的第一条预写式日志记录的起始地址和 最后一条预写式日 志记录的结束地址; 将所述刷写位置与所述请求 位置和进行比对; 根据比对结果得到所述待提交事务的预写式日志的刷写 进度。 5.根据权利要求4所述的处理方法, 其中, 所述根据比对结果得到所述待提交事务的日 志刷写进度的步骤 包括: 当所述刷写位置大于所述请求位置中的结束地址时, 确定所述待提交事务的预写式日 志的刷写 进度为刷写完成; 当所述刷写位置小于所述请求位置中的起始地址时, 确定所述待提交事务的预写式日 志的刷写 进度为未开始刷写; 当所述刷写位置等于所述请求位置中的起始地址时, 确定所述待提交事务的预写式日 志的刷写 进度为刷写中。 6.根据权利要求5所述的处理方法, 其中, 在所述确定所述待提交事务的预写式日志的 刷写进度的步骤之前, 所述处 理方法还 包括: 申请刷写锁, 并阻塞复制进程; 并且 在所述确定所述待提交事务的预写式日志的刷写进度的步骤之后, 所述处理方法还包 括: 在所述刷写进度为未开始刷写的情况下, 释放刷写锁, 并停止阻塞复制进程, 直至所述 预写式日志缓存的刷写位置改变, 再次申请刷写锁, 并重新确定所述刷写 进度; 在所述刷写 进度为刷写完成的情况 下, 释放刷写锁, 提交所述待提交事务。 7.根据权利要求2所述的处理方法, 其中, 在所述将数据库运行中产生的多条预写式日 志记录复制到预写式日志缓存中的步骤之前, 所述处 理方法还 包括: 通过预写式日志管理器分别为所述数据库运行中产生的多条预写式日志记录中的每 一条预写式日志记录申请一个写入磁盘文件的起始 地址, 并将每一条预写式日志的起始 地 址与该条预写式日志的长度相加得到该 条预写式日志的结束地址 。 8.根据权利要求7所述的处理方法, 其中, 所述利用数据库管理系统中预先构建的哈希 表记录所述多条 预写式日志的复制状态的步骤 包括: 分别将每一条预写式日志记录的起始地址作为所述哈希表的索引, 在所述哈希表中查 找与所述每一条 预写式日志 记录对应的哈希桶; 将每一条预写式日志记录的起始地址和结束地址分别记录到和其相对应的哈希桶中, 并在每一条预写式日志记录复制到预写式日志缓存中之后, 将标示着该条预写式日志记录 完成复制的标记 记录到和其相对应的哈希桶中。 9.一种机器可读存储介质, 其上存储有机器可执行程序, 所述机器可执行程序被处理 器执行时实现根据权利要求1至8任一项所述的处 理方法。 10.一种计算机设备, 包括存储器、 处理器及存储在所述存储器上并在所述处理器上运 行的机器可执行程序, 并且所述处理器执行所述机器可执行程序时实现根据权利要求 1至8 任一项所述的处 理方法。权 利 要 求 书 2/2 页 3 CN 114936215 A 3

PDF文档 专利 一种预写式日志的处理方法、存储介质与设备

文档预览
中文文档 16 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共16页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种预写式日志的处理方法、存储介质与设备 第 1 页 专利 一种预写式日志的处理方法、存储介质与设备 第 2 页 专利 一种预写式日志的处理方法、存储介质与设备 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-24 00:49:37上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。