[发明专利]数据恢复方法、装置、设备及存储介质在审
申请号: | 202011388052.2 | 申请日: | 2020-12-01 |
公开(公告)号: | CN112346913A | 公开(公告)日: | 2021-02-09 |
发明(设计)人: | 徐超国;郭琰;韩朱忠 | 申请(专利权)人: | 上海达梦数据库有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 201203 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 恢复 方法 装置 设备 存储 介质 | ||
本申请公开了一种数据恢复方法、装置、设备及存储介质,具体包括获取失效区块记录,根据失效区块记录判断重做日志中的回放重做记录是否有效,在回放重做记录有效的情况下,根据回放重做记录进行数据恢复。通过这样的方式,在存储节点故障重启时,可以避免失效的回放重做记录被执行重做,从而确保数据的正常恢复。
技术领域
本申请实施例涉及分布式数据库领域,尤其涉及一种数据恢复方法、装置、设备及存储介质。
背景技术
基于日志回放的分布式数据库系统将传统数据库中的计算和存储进行剥离,计算节点负责接收、执行客户端的数据库操作请求并生成日志,生成的一条日志记录可以分发到多个存储节点,存储节点负责重做接收的日志(也称为日志回放),实现分布式存储。在分布式数据库系统中,存储节点一般只要按照收到的回放日志顺序修改数据页即可,但存储节点还担负区块初始化和区块迁移的任务,这些操作不应并发修改同一区块数据,以如下场景中的操作顺序为例:
步骤一、存储节点收到计算节点的回放日志log1,回放时修改区块rgn1上的数据页(此时,内存修改但尚未刷入数据文件)并生成重做日志redo1;
步骤二、存储节点接收到刷盘请求,将redo1刷盘后返回成功;
步骤三、逻辑文件的删除导致区块rgn1被释放,在完成日志回放和刷盘后,存储节点才可以初始化被释放的rgn1,以避免初始化和回放日志形成并发写冲突;
步骤四、完成初始化的rgn1可以作为区块迁移的目的区块,直接将迁移数据覆盖写入即可。
由于回放日志时,修改区块的操作会生成重做日志(即REDO日志),REDO日志刷盘即可保证数据页修改的可靠性,这样即使存储节点意外故障,也可以根据刷盘的REDO日志恢复数据,而初始化和迁移区块同样会修改区块数据但不会生成REDO日志,那么上述过程中则会产生漏洞。例如,在上述步骤四完成后,若发生故障重启,会从redo1日志开始修复,这样就会用过期的数据覆盖部分rgn1上初始化和迁移操作写入的数据。但在完成区块初始化和迁移操作后,redo1日志中涉及到的rgn1的REDO记录已经失效,故障重启恢复数据时,失效的REDO记录不应该执行重做。
发明内容
为了解决上述至少一个技术问题,本申请实施例提供了以下方案。
第一方面,本申请实施例提供了一种数据恢复方法,该方法包括:
获取失效区块记录;
根据失效区块记录判断重做日志中的回放重做记录是否有效;
在回放重做记录有效的情况下,根据回放重做记录进行数据恢复。
第二方面,本申请实施例还提供了一种数据恢复装置,该装置包括:
获取模块,用于获取失效区块记录;
判断模块,用于根据失效区块记录判断重做日志中的回放重做记录是否有效;
恢复模块,用于在回放重做记录有效的情况下,根据回放重做记录进行数据恢复。
第三方面,本申请实施例还提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,当处理器执行计算机程序时,实现如本申请任意实施例提供的数据恢复方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如本申请任意实施例提供的数据恢复方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海达梦数据库有限公司,未经上海达梦数据库有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011388052.2/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置