[发明专利]基于页面更新序号的数据库集群多节点重做日志恢复方法有效
申请号: | 202010993792.2 | 申请日: | 2020-09-21 |
公开(公告)号: | CN112099996B | 公开(公告)日: | 2022-04-05 |
发明(设计)人: | 刘碧楠;周勇亮;吴嵩;蒋旭;于凯;马岳;李彬;陈振巍 | 申请(专利权)人: | 天津神舟通用数据技术有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F16/23 |
代理公司: | 天津盛理知识产权代理有限公司 12209 | 代理人: | 王利文 |
地址: | 300384 天津市滨海新*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 页面 更新 序号 数据库 集群 节点 重做 日志 恢复 方法 | ||
本发明涉及一种基于页面更新序号的数据库集群多节点重做日志恢复方法,包括以下步骤:在页面头部分配空间作为页面更新序号;集群中所有的节点在更新数据页面时,更新页面更新序号和本节点的重做日志;重新启动数据库集群,最先启动的节点成为主节点,由主节点进行实例恢复;主节点从共享磁盘加载控制文件,从控制文件中读取每一个节点的重做日志信息作为扫描句柄,保存在扫描句柄数组中;遍历所有的扫描句柄,恢复重做日志;所有扫描句柄已经扫描完毕,重做日志恢复结束。本发明在新增重做日志和在实例恢复时,利用页面更新序号判断页面是否连续,将相同页面在不同节点之间的修改按序恢复,保证数据的一致性,提高了系统运行的可靠性。
技术领域
本发明属于数据库技术领域,涉及数据库恢复,尤其是一种基于页面更新序号的数据库集群多节点重做日志恢复方法。
背景技术
当某个事务想要修改数据库中的某一行数据的时候,数据库将相关的数据页面从磁盘读取到内存中进行修改。这个时候数据在内存中被修改,与磁盘中的页面内容相比就产生了差异,这种有差异的数据页面被称为脏页。
数据库对脏页的处理不是每次生成脏页就将脏页刷新回磁盘,因为这样处理的话会产生大量的随机IO操作,严重影响数据库的处理性能。数据库中有专门的页面回刷线程,能够定时地将内存中的数据页面回刷到磁盘上,页面被回刷后成为干净页。在产生脏页到回刷变成干净页期间,若断电、系统故障、进程崩溃导致数据库意外宕机,就会造成数据错误,用户的修改丢失,从而无法保证事务的持久性。
数据库通过重做(redo)日志解决上述问题,保证事务持久性。当事务需要修改数据页面时,首先要将此次的修改内容记录到重做日志文件中。当数据库宕机后重启时,通过恢复重做日志,可以将数据库恢复到一个正确的状态。
在共享存储集群中,每个数据库节点都可以读写位于共享存储上的数据文件,独立地对外提供服务。如果这些节点共享一个重做日志文件,必然会产生竞争,影响数据库性能。因此,集群中每个数据库节点都有属于自己的重做日志文件。在运行过程中,各个节点只会访问自己的重做日志文件,不会访问其它节点的重做日志文件。当一个节点产生重做日志时,它只需要将日志写入属于自己的重做日志即可,不同节点之间在写日志这件事情上是完全不相干的。通过这样的方式减少了节点之间的交互与等待,从而提高集群整体性能。
单机数据库环境下,恢复重做日志,只需要按照日志LSN(注:日志的逻辑序号号,随着日志的写入而递增)从小到大的顺序依次恢复即可。与单机环境不同,数据库集群多个节点有自己的重做日志,且各个日志之间的LSN无法直接比较大小,因此,在重做日志恢复的时候,就会遇到问题。举例如下:
如图1a所示,在重做日志恢复时考虑如下情况,一个数据页面被多个实例修改过,图中两个节点交替进行页面修改。
对于同一个数据页面,如果先恢复一个节点的重做日志,再恢复另外一个节点,则没有按照页面的修改次序进行恢复,导致最后恢复出的数据是错误数据,如图1b所示。
对于同一个数据页面,修改页面的日志可能分布在不同的重做日志文件中,必须按照该页面的修改次序进行恢复,这样恢复才是正确的,如图1c所示。
综上所述,如何将相同页面在不同节点之间的修改按序恢复以保证数据的一致性是目前迫切需要解决的问题。
发明内容
本发明的目的在于克服现有技术的不足,提出一种设计合理、效率高且能够有效保证集群数据库一致性的基于页面更新序号的数据库集群多节点重做日志恢复方法。
本发明解决其技术问题是采取以下技术方案实现的:
一种基于页面更新序号的数据库集群多节点重做日志恢复方法,包括以下步骤:
步骤1、在页面头部分配空间作为页面更新序号;
步骤2、集群中所有的节点在更新数据页面时,更新页面更新序号和本节点的重做日志;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津神舟通用数据技术有限公司,未经天津神舟通用数据技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010993792.2/2.html,转载请声明来源钻瓜专利网。