数据恢复方法、数据恢复装置、电子设备和存储介质与流程

文档序号:34160680发布日期:2023-05-14 19:46阅读:24来源:国知局
数据恢复方法、数据恢复装置、电子设备和存储介质与流程

本申请涉及数据恢复领域,尤其涉及一种数据恢复方法、数据恢复装置、电子设备和存储介质。


背景技术:

1、数据库中所谓丢失的数据,实际上是以无效元组的形式留在数据库中,并不会被立即清除,这为丢失数据的找回提供了可能性。对于数据库来说,通常采用基于多版本并发控制(multi-version concurrency control,mvcc)机制进行数据恢复。

2、目前,数据库的管理节点主要通过基于mvcc的插件进行数据恢复,如pg_dirtyread插件和pg_recovery插件。hintbits是事务状态在元组头上的一份缓存,以减少访问链路的长度,因此,数据库的管理节点通过数据恢复插件直接访问元组的hintbits判断元组的事务状态,进而对已删除的元组进行数据恢复。

3、然而元组中的hintbits采用延迟更新的策略,即元组的事务变更后hintbits不会主动更新,元组被重新访问后才会更新。则在数据恢复时存在遗漏数据或恢复错误数据的情况。例如元组的实际状态是已删除,但由于页面未刷新,hintbits的状态依然是有效状态,则数据恢复时此元组会被遗漏。


技术实现思路

1、本申请提供一种数据恢复方法、数据恢复装置、电子设备和存储介质,用以解决现有技术中数据恢复时存在遗漏数据或恢复错误数据的技术问题。

2、第一方面,本申请提供一种数据恢复方法,包括:获取数据库的目标数据页的数据恢复指令;所述目标数据页包括至少一个元组;根据所述目标数据页中各元组与事务相关的信息,确定各所述元组是否有效;根据各所述元组是否有效的结果,对各所述元组的标记位进行更新;所述标记位用于标记所述元组是否有效;在所述目标数据页中,将所述标记位被标记为无效的元组进行数据恢复。

3、一些实施例中,所述与事务相关的信息包括:插入事务标识位和插入事务的状态;所述根据所述目标数据页中各元组与事务相关的信息,确定各所述元组是否有效,包括:若所述元组的插入事务标识位无插入事务值,则确定所述元组为无效元组;若所述元组的插入事务标识位有插入事务值,则根据所述元组的插入事务的状态,确定所述元组是否为有效元组。

4、一些实施例中,所述与事务相关的信息还包括:删除事务标识位;所述根据所述元组的插入事务的状态,确定所述元组是否为有效元组,包括:若所述元组的插入事务的状态为已提交状态,则根据所述元组的删除事务标识位,确定所述元组是否为有效元组;若所述元组的插入事务的状态为未提交状态,则确定所述元组为有效元组。

5、一些实施例中,所述与事务相关的信息还包括:删除事务的状态和事务提交序列号;所述根据所述元组的删除事务标识位,确定所述元组是否为有效元组,包括:若所述元组的删除事务标识位无删除事务值,则确定所述元组为有效元组;若所述元组的删除事务标识位有删除事务值,根据所述元组的删除事务的状态,确定所述元组是否为有效元组;若无法读取所述元组的删除事务标识位的删除事务值,则根据所述元组的事务提交序列号,确定所述元组是否为有效元组。

6、一些实施例中,所述与事务相关的信息还包括:事务提交序列号;所述根据所述元组的删除事务的状态,确定所述元组是否为有效元组,包括:若所述元组的删除事务的状态为已提交状态,则确定所述元组为无效元组;若所述元组的删除事务的状态为未提交状态,则确定所述元组为有效元组。

7、一些实施例中,所述根据所述元组的事务提交序列号,确定所述元组是否为有效元组,包括:若所述元组的事务提交序列号表征所述元组未处于删除状态,则确定所述元组为有效元组;若所述元组的事务提交序列号表征所述元组处于已删除状态,确定所述元组为无效元组。

8、一些实施例中,所述方法还包括:输出数据恢复响应,所述数据恢复响应用于指示所述目标数据页中已完成无效元组的恢复。

9、第二方面,本申请提供一种数据恢复装置,包括:接收模块,用于获取数据库的目标数据页的数据恢复指令,所述目标数据页包括至少一个元组;处理模块,用于根据所述目标数据页中各元组与事务相关的信息,确定各所述元组是否有效;根据各所述元组是否有效的结果,对各所述元组的标记位进行更新;所述标记位用于标记所述元组是否有效;数据恢复模块,用于在所述目标数据页中,将所述标记位被标记为无效的元组进行数据恢复。

10、第三方面,本申请提供一种电子设备,所述电子设备包括:处理器、存储器,以及,通信接口,所述处理器与所述存储器和所述通信接口连接;所述存储器存储计算机执行指令;所述通信接口,用于获取数据库的目标数据页的数据恢复指令;所述目标数据页包括至少一个元组;

11、所述处理器执行所述存储器存储的计算机执行指令,以实现如前述数据恢复方法中任一种所述的方法。

12、第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如前述数据恢复方法中任一种所述的方法。

13、本申请提出一种数据恢复方法、数据恢复装置、电子设备和存储介质,通过根据所述目标数据页中各元组与事务相关的信息,确定各所述元组是否有效,根据各所述元组是否有效的结果,对各所述元组的标记位进行更新,将所述标记位被标记为无效的元组进行数据恢复。本申请通过元组插入事务标识位准确判断元组是否是有效状态,再进行数据恢复,解决了现有技术中数据恢复不准确的问题。



技术特征:

1.一种数据恢复方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述与事务相关的信息包括:插入事务标识位和插入事务的状态;所述根据所述目标数据页中各元组与事务相关的信息,确定各所述元组是否有效,包括:

3.根据权利要求2所述的方法,其特征在于,所述与事务相关的信息还包括:删除事务标识位;所述根据所述元组的插入事务的状态,确定所述元组是否为有效元组,包括:

4.根据权利要求3所述的方法,其特征在于,所述与事务相关的信息还包括:删除事务的状态和事务提交序列号;所述根据所述元组的删除事务标识位,确定所述元组是否为有效元组,包括:

5.根据权利要求4所述的方法,其特征在于,所述与事务相关的信息还包括:事务提交序列号;所述根据所述元组的删除事务的状态,确定所述元组是否为有效元组,包括:

6.根据权利要求4所述的方法,其特征在于,所述根据所述元组的事务提交序列号,确定所述元组是否为有效元组,包括:

7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:

8.一种数据恢复装置,其特征在于,所述装置包括:

9.一种电子设备,其特征在于,所述电子设备包括:处理器、存储器,以及,通信接口,所述处理器与所述存储器和所述通信接口连接;

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-7中任一项所述的方法。


技术总结
本申请提供一种数据恢复方法、数据恢复装置、电子设备和存储介质。该方法包括获取数据库的目标数据页的数据恢复指令,所述目标数据页包括至少一个元组。根据所述目标数据页中各元组与事务相关的信息,确定各所述元组是否有效,根据各所述元组是否有效的结果,对各所述元组的标记位进行更新,所述标记位用于标记所述元组是否有效。在所述目标数据页中,将所述标记位被标记为无效的元组进行数据恢复。本申请通过元组插入事务标识位准确判断元组是否是已删除状态,再进行数据恢复,解决了现有技术中数据恢复不准确的问题。

技术研发人员:杨雅茗,李翔
受保护的技术使用者:北京人大金仓信息技术股份有限公司
技术研发日:
技术公布日:2024/1/12
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1