[发明专利]一种数据库并行回放的控制方法以及控制系统在审
申请号: | 202310269626.1 | 申请日: | 2023-03-20 |
公开(公告)号: | CN116302699A | 公开(公告)日: | 2023-06-23 |
发明(设计)人: | 李勇;张文江;王亚辉;冯国瑜;孙家彦;马骅;梁继良 | 申请(专利权)人: | 北京优炫软件股份有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F9/54;G06F16/23 |
代理公司: | 北京冬瓜知识产权代理事务所(普通合伙) 11854 | 代理人: | 孙晓芳 |
地址: | 100081 北京市海淀区学院南路*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 并行 回放 控制 方法 以及 控制系统 | ||
1.一种数据库并行回放的控制方法,其特征在于,包括如下步骤:
创建startup进程以及指定数据量的日志回放进程redo worker以共享内存队列;
startup进程从日志文件中按照顺序读取日志记录,根据日志类型是否进行并行回放,如果是则进行哈希运算,根据哈希运算的结果将日志记录分发到相应的redo worker进行回放;
redo worker回放进程根据初始化配置进行表级或页级日志回放,在日志回放的同时提供对数据库的只读服务,保证读取的数据在事务中的一致性。
2.根据权利要求1所述的控制方法,其特征在于,所述startup进程由postmaster进程来控制启动进入恢复阶段,同时startup进程通知postmaster进程启动redo workers,所述postmaster进程负责数据库并行回放的控制方法的初始化以及启动过程。
3.根据权利要求2所述的控制方法,其特征在于,以表或页面为单位对日志记录进行所述哈希运算,所述哈希运算的过程包括:从日志记录中解析出计算redo worker序号的字段,通过哈希运算计算获得redo worker序号,将日志分发到对应的redo worker进程的消息队列进行回放。
4.根据权利要求3所述的控制方法,其特征在于,日志回放的过程中,需要根据数据库当前状态判断是否需要恢复,如果需要则获取恢复的起始位点以及目标恢复时间线进行日志恢复;恢复环境清理后退出日志回放。
5.根据权利要求4所述的控制方法,其特征在于,确认数据库需要恢复的过程包括:需要恢复则启动日志回放,通过检查点文件读取第一条需要回放日志,启动并行日志回放,进入循环回放日志。
6.根据权利要求4所述的控制方法,其特征在于,循环回放日志的过程中,根据日志类型判断日志是否分发,分发则将日志记录分发到相应的消息队列,否则直接进行回放,然后进行下一条日志记录的读取,按照上述方法进行判断是否分发。
7.根据权利要求4所述的控制方法,其特征在于,在退出日志回放之前,读取最后一个有效或回放日志记录,记录到日志文件中,检查如果没有恢复到一致点或结束点终止进程,释放日志回放时申请的内存。
8.采用权利要求1-7任一项所述的数据库并行回放的控制方法的控制系统,其特征在于,包括:
创建模块:用于创建startup进程以及指定数据量的日志回放进程redo worker以共享内存队列;
分发模块:用于startup进程从日志文件中按照顺序读取日志记录,根据日志类型是否进行并行回放,如果是则进行哈希运算,根据哈希运算的结果将日志记录分发到相应的redo worker进行回放;
回放模块:用于redo worker回放进程根据初始化配置进行表级或页级日志回放,在日志回放的同时提供对数据库的只读服务,保证读取的数据在事务中的一致性。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序执行时实现权利要求1-7任一项所述数据库并行回放的控制方法的步骤。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7任一项所述数据库并行回放的控制方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京优炫软件股份有限公司,未经北京优炫软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310269626.1/1.html,转载请声明来源钻瓜专利网。