1 .一种数据恢复方法,用于数据库,所述数据库包括多个数据行结构,并且每个所述数
据行结构均包括第一时间戳信息,所述第一时间戳信息指示其所属的数据行结构所接受的
最后一次操作的实施时间,其特征在于,所述方法包括:
主线程获取与所述数据库相关联的操作日志,并依序读取所述操作日志中待回放的记
录,以及将所述待回放的记录分发至多个恢复线程,其中,所述操作日志中的记录包括第二
时间戳信息,所述第二时间戳信息指示其所属的记录所表征的操作发起的时间;
所述多个恢复线程并行地执行下列操作:
依次将接收到的所述待回放的记录作为目标记录,并确定所述目标记录对应的目标数
据行结构;
根据所述目标记录的所述第二时间戳信息以及对应的所述目标数据行结构的所述第
一时间戳信息执行所述目标记录所指示的针对所述目标数据行结构的操作。
2.根据权利要求1所述的数据恢复方法,其特征在于,所述数据行结构包括多个版本的
数据行内容,并且每个版本的数据行内容均包括版本时间戳信息,所述版本时间戳信息指
示该版本的数据行内容的创建时间,并且所述第一时间戳信息是最新版本的数据行内容对
应的版本时间戳信息。
3 .根据权利要求1所述的数据恢复方法,其特征在于,所述依次将接收到的所述待回放
的记录作为目标记录,并确定所述目标记录对应的目标数据行结构的步骤包括:
按照接收时间顺序依次将所述待回放的记录作为目标记录;
读取所述目标记录中的目标对象标记;
将所述目标对象标记作为查询主键并基于所述查询主键确定所述目标记录对应的目
标数据行结构。
4 .根据权利要求1所述的数据恢复方法,其特征在于,所述第一时间戳信息与所述第二
时间戳信息均基于实际时间值以全序递增的形式产生,并且所述根据所述目标记录的所述
第二时间戳信息以及对应的所述目标数据行结构的所述第一时间戳信息执行所述目标记
录所指示的针对所述目标数据行结构的操作的步骤包括:
在所述目标记录指示的操作是数据行插入操作的情况下,执行下列动作:
确认所述目标数据行结构当前是否存在;
在所述目标数据行结构当前不存在的情况下,根据所述目标记录指示的内容创建所述
目标数据行结构及其最新版本的数据行内容;
在所述目标数据行结构当前存在且有效的情况下,执行下列数据行插入动作:
获取所述目标记录的所述第二时间戳信息;
获取所述目标数据行结构的所述第一时间戳信息;
比较所述第一时间戳信息所指示的值与所述第二时间戳信息所指示的值的大小;
在所述第二时间戳信息所指示的值大于所述第一时间戳信息所指示的值的情况下,使
用所述目标记录指示的内容覆盖所述目标数据行结构中现有的最新版本的数据行内容;
在所述第二时间戳信息所指示的值小于或等于所述第一时间戳信息所指示的值的情
况下,不执行任何动作。
5 .根据权利要求4所述的数据恢复方法,其特征在于,所述根据所述目标记录的所述第
二时间戳信息以及对应的所述目标数据行结构的所述第一时间戳信息执行所述目标记录
权 利 要 求 书
1/3 页
2
评论