[发明专利]一种数据库实例恢复方法和装置在审
申请号: | 201810585888.8 | 申请日: | 2018-06-08 |
公开(公告)号: | CN108874588A | 公开(公告)日: | 2018-11-23 |
发明(设计)人: | 王文庆 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F17/30;G06F9/48 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 李红爽;解婷婷 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 实例恢复 重做 方法和装置 独立线程 数据页 日志 队列 数据库 读取 数据库技术 通用数据库 队列配置 解析 并行 恢复 | ||
1.一种数据库实例恢复方法,其特征在于,包括:
在需要进行实例恢复时,读取并解析重做REDO日志,确定需要重做的数据页面数据页;
将所述REDO日志划分为多个队列,为每个队列配置独立线程,多个独立线程并行完成针对各自队列中所述需要重做的数据页的重做操作。
2.根据权利要求1所述的数据库实例恢复方法,其特征在于,所述在需要进行实例恢复时,读取并解析REDO日志,确定需要重做的数据页的步骤之前,还包括:
在需要写入回滚UNDO日志时,生成与所述UNDO日志实质涉及修改操作对应的REDO日志。
3.根据权利要求1或2所述的数据库实例恢复方法,其特征在于,所述在需要进行实例恢复时,读取并解析REDO日志,确定需要重做的数据页的步骤包括:
多线程并行读取REDO日志,提取所述REDO日志中的物理日志记录PLR;
根据所述PLR的标示符,对所述PLR进行翻译,转换得到各PLR对应的日志记录LR;
将所述LR进行链接,存放在新日志结果节点NLRN数据结构中;
将所述NLRN按照事务日志序列号LSN的顺序排序,得到日志结果节点LRN链表;
依次检查、解析所述LRN链表中的节点,得到所述需要重做的数据页的标识ID;
构建脏页表,在所述脏页表中保存所述需要重做的数据页的标识ID。
4.根据权利要求3所述的数据库实例恢复方法,其特征在于,所述将所述REDO日志划分为多个队列,为每个队列配置独立线程,多个独立线程并行完成针对所述需要重做的数据页的重做操作的步骤包括:
按照所述LSN的顺序将REDO日志写入多个队列,每个队列配置有独立的子线程;
每个子线程循环遍历对应的队列,根据队列中的REDO日志进行重做操作。
5.根据权利要求4所述的数据库实例恢复方法,其特征在于,将所述REDO日志划分为多个队列,为每个队列配置独立线程,多个独立线程并行完成针对所述需要重做的数据页的重做操作的步骤之前,还包括:
将所述需要重做的数据页提取至缓存中。
6.根据权利要求5所述的数据库实例恢复方法,其特征在于,所述将部分或全部所述需要重做的数据页提取至缓存中的步骤包括:
对所述脏页表中的数据页进行排序,合并连续的数据页,形成预取队列;
将所述预取队列中的数据页提取至缓存中。
7.根据权利要求6所述的数据库实例恢复方法,其特征在于,所述将所述预取队列中的数据页提取至缓存中的步骤包括:
根据预置的队列最大预取空间,将所述预取队列中的数据页一次或分多次提取至缓存中。
8.一种数据库实例恢复装置,其特征在于,包括:
页面筛选模块,用于在需要进行实例恢复时,读取并解析重做REDO日志,确定需要重做的数据页;
重做模块,用于将所述REDO日志划分为多个队列,为每个队列配置独立线程,多个独立线程并行完成针对各自队列中所述需要重做的数据页的重做操作。
9.根据权利要求8所述的数据库实例恢复装置,其特征在于,该装置还包括:
数据预取模块,用于将所述需要重做的数据页提取至缓存中。
10.根据权利要求8所述的数据库实例恢复装置,其特征在于,该装置还包括:
回滚处理模块,用于在需要写入回滚UNDO日志时,生成与所述UNDO日志实质涉及修改操作对应的REDO日志。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810585888.8/1.html,转载请声明来源钻瓜专利网。