一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据恢复方法及设备、存储介质与流程

2022-11-23 08:14:02 来源:中国专利 TAG:


1.本技术涉及数据库领域,尤其涉及一种数据恢复方法及设备、存储介质。


背景技术:

2.数据库系统是为适应数据处理的需要而发展起来的一种较为理想的数据处理系统,主要用于存储数据,但是在数据库系统发生故障的时候会导致之前存储的数据丢失,通常在数据丢失后,是通过先分析数据、再重做数据来实现对数据进行恢复的,但是通过这种方式进行数据恢复时效率较低。


技术实现要素:

3.本技术实施例提供一种数据恢复方法及设备、存储介质,能够在数据库系统故障时快速恢复数据,提高数据恢复效率。
4.本技术的技术方案是这样实现的:
5.第一方面,本技术实施例提供一种数据恢复方法,所述方法包括:
6.当接收到数据恢复请求时,根据存储于非易失性内存储器中的批量写脏页日志,生成撤销事务列表;所述批量写脏页日志为满足数据同步条件时,将对易失性内存储器执行数据库事务对应的写操作同步至非易失性外存储器时记录的日志;
7.依次判断所述撤销事务列表中的数据库事务是否为未提交事务;在所述数据库事务是未提交事务的情况下,撤销对所述未提交事务在所述非易失性外存储器上的写操作,以实现数据的恢复。
8.在上述数据恢复方法中,所述当接收到数据恢复请求时,根据存储于非易失性内存储器中的批量写脏页日志,生成撤销事务列表之前,所述方法还包括:
9.对易失性内存储器执行数据库事务对应的写操作,并在所述非易失性内存储器的预设撤销日志中记录所述写操作和所述写操作的逆操作。
10.在上述数据恢复方法中,所述对易失性内存储器执行数据库事务对应的写操作,包括:
11.确定所述写操作对应的待写数据和所述待写数据所属的待写数据页;
12.若从所述易失性内存储器中查找到所述待写数据页,在所述待写数据页中执行对所述待写数据的所述写操作;
13.若从所述易失性内存储器中未查找到所述待写数据页、且从所述非易失性外存储器中查找到所述待写数据页,将所述待写数据页从所述非易失性外存储器中载入所述易失性内存储器,并在所述待写数据页中执行对所述待写数据的所述写操作;
14.若从所述易失性内存储器和所述非易失性外存储器中未查找到所述待写数据页,在所述易失性内存储器中新建所述待写数据页,在所述待写数据页中执行对所述待写数据的所述写操作。
15.在上述数据恢复方法中,所述依次判断所述撤销事务列表中的数据库事务是否为
未提交事务,包括:
16.获取所述数据库事务对应的数据库操作序列;
17.确定所述写操作在所述数据库操作序列中的第一位置;
18.基于所述第一位置确定所述数据库事务是否为未提交事务;
19.相应的,所述在所述数据库事务是未提交事务的情况下,撤销对所述未提交事务的写操作,包括:
20.在所述第一位置不处于数据库操作序列末位的情况下,确定出所述数据库事务是未提交事务;
21.基于所述逆操作对所述非易失性外存储器中的所述写操作进行撤销。
22.在上述数据恢复方法中,所述基于所述逆操作对所述非易失性外存储器中的所述写操作进行撤销,包括:
23.从所述预设撤销日志中获取所述未提交事务的逆操作列表;
24.依次逆序执行所述逆操作列表中的逆操作,以对所述非易失性外存储器中的写操作进行撤销;所述逆操作列表中的逆操作按照执行顺序排列。
25.在上述数据恢复方法中,所述依次判断所述撤销事务列表中的数据库事务是否为未提交事务之后,还包括:
26.在所述数据库事务不是为提交事务的情况下,确定所述数据库事务已执行结束,从所述预设撤销日志中删除所述数据库事务对应的写操作和逆操作。
27.在上述数据恢复方法中,所述方法还包括:
28.在接收到数据库事务提交指令、或者预设时间到达的情况下,判断出满足所述数据同步条件。
29.第二方面,本技术实施例提供一种数据恢复设备,所述设备包括:
30.处理单元,用于当接收到数据恢复请求时,根据存储于非易失性内存储器中的批量写脏页日志,生成撤销事务列表;所述批量写脏页日志为满足数据同步条件时,将对易失性内存储器执行数据库事务对应的写操作同步至非易失性外存储器时记录的日志;
31.撤销单元,用于依次判断所述撤销事务列表中的数据库事务是否为未提交事务;在所述数据库事务是所述未提交事务的情况下,撤销对所述未提交事务在所述非易失性外存储器上的写操作,以实现数据的恢复。
32.第三方面,本技术实施例提供一种数据恢复设备,其特征在于,所述设备包括:处理器、存储器及通信总线;所述处理器执行存储器存储的运行程序时实现如上述任一项所述的数据恢复方法。
33.第四方面,本技术实施例提供一种存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如上述任一项所述的数据恢复方法。
34.本技术实施例提供了一种数据恢复方法及设备、存储介质,该数据恢复方法包括:当接收到数据恢复请求时,根据存储于非易失性内存储器中的批量写脏页日志,生成撤销事务列表;批量写脏页日志为满足数据同步条件时,将对易失性内存储器执行数据库事务对应的写操作同步至非易失性外存储器时记录的日志;依次判断撤销事务列表中的数据库事务是否为未提交事务;在数据库事务是未提交事务的情况下,撤销对未提交事务在非易失性外存储器上的写操作,以实现数据的恢复;采用上述实现方案,在判断出撤销事务列表
中未提交事务的情况下,对非易失性外存储器中的写操作进行撤销,使得非易失性外存储器中的数据恢复至未执行写操作时的数据,达到快速恢复数据库数据,提高数据恢复效率的目的。
附图说明
35.图1为本技术实施例提供的一种数据恢复方法流程图;
36.图2为本技术实施例提供的一种示例性的写操作流程图;
37.图3为本技术实施例提供的一种示例性的数据库系统架构示意图;
38.图4为本技术实施例提供的一种示例性的写操作示意图;
39.图5为本技术实施例提供的一种示例性的读取操作流程图;
40.图6为本技术实施例提供的一种数据恢复设备1的组成结构示意图一;
41.图7为本技术实施例提供的一种数据恢复设备1的组成结构示意图二。
具体实施方式
42.应当理解,此处描述的具体实施例仅仅用以解释本技术。并不用于限定本技术。
43.实施例一
44.本技术实施例提供一种数据恢复方法,应用于数据恢复设备,图1为本技术实施例提供的一种数据恢复方法流程图,如图1所示,数据恢复方法可以包括:
45.s101、当接收到数据恢复请求时,根据存储于非易失性内存储器中的批量写脏页日志,生成撤销事务列表;批量写脏页日志为满足数据同步条件时,将对易失性内存储器执行数据库事务对应的写操作同步至非易失性外存储器时记录的日志。
46.本技术实施例提出的一种数据恢复方法可以适用于恢复数据库数据的场景下。
47.在本技术实施例中,当数据恢复设备接收到数据恢复请求时,根据存储于非易失性内存储器中的批量写脏页日志,生成撤销事务列表;批量写脏页日志为满足数据同步条件时,将对易失性内存储器执行数据库事务对应的写操作同步至非易失性外存储器时记录的日志。
48.需要说明的是,数据库事务是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。
49.示例性的,数据库事务假如是由增加、删除和修改三种操作组成的操作序列,则对于数据项而言,只有在这三种操作都执行一遍结束后,才表示对于此数据项而言的数据库事务执行结束;相应的,只要有一个操作没有执行,表示对于此数据项而言的数据库事务未执行结束,具体的数据库事务根据实际情况确定,本技术实施例在此不做限定。
50.在本技术实施例中,在接收到数据库事务提交指令、或者预设时间到达的情况下,判断出满足数据同步条件。
51.需要说明的是,数据库事务提交可以为数据库事务执行结束时,对此执行结束的数据库事务进行提交。
52.需要说明的是,预设时间可以是预设的固定时间,例如在1小时后,完成将易失性内存储器中的数据同步至非易失性外存储器中的数据同步操作,也可以是预设的循环时间,例如每经过10分钟,完成将易失性内存储器中的数据同步至非易失性外存储器中的数
据同步操作,或者是,每天在晚上12点时,完成此数据同步操作,具体的预设时间根据实际情况确定,本技术实施例在此不做限定。
53.需要说明的是,数据同步条件也可以是预设的写操作个数,在满足预设的写操作个数后,完成将易失性内存储器中的数据同步至非易失性外存储器中的数据同步操作,例如,在每执行10次写操作后,完成将易失性内存储器中的数据同步至非易失性外存储器中的数据同步操作,具体的数据同步条件根据实际情况确定,本技术实施例在此不做限定。
54.需要说明的是,由于在易失性内存储器和非易失性外存储器中的数据不同步时,易失性内存储器中写操作对应的数据页称为脏页,因此,数据同步的过程也可以称为写脏页的过程,并且在数据同步时,需要在非易失性内存储器的预设写脏页日志中记录此数据同步的过程。
55.可以理解的是,通过预设数据同步条件来批量进行数据同步操作可以提升数据库的性能,使得数据库不需要在每次进行写操作都同步至非易失性外存储器中。
56.需要说明的是,易失性内存储器中数据库事务对应的写操作为直至满足数据同步条件时、易失性内存储器执行的写操作。
57.示例性的,假设数据同步条件为每10分钟执行一次数据同步操作,在此10分钟内对易失性内存储器完成了8次写操作,此时,易失性内存储器中的写操作则为此10分钟内的8次写操作。
58.需要说明的是,在接收到数据恢复请求之前,还包括对易失性内存储器执行数据库事务对应的写操作的过程,具体的,对易失性内存储器执行数据库事务对应的写操作,并在非易失性内存储器的预设撤销日志中记录写操作和写操作的逆操作。
59.需要说明的是,非易失性外存储器中的写操作为对易失性内存储器中的数据项进行写操作后,通过数据同步至非易失性外存储器中的操作;具体的,假设对易失性内存储器中的待写数据页进行的写操作为增加数据a,则经过数据同步后,在非易失性外存储器中的待写数据页相应增加数据a,即为非易失性外存储器中的写操作。
60.需要说明的是,由于在进行易失性内存储器和非易失性外存储器的数据同步操作时,在非易失性内存储器的预设写脏页日志中记录了数据同步的过程。此时,根据此预设写脏页日志生成撤销事务列表。
61.需要说明的是,本技术中的写操作可以是增加、删除和修改等操作,具体的写操作根据实际情况确定,本技术实施例在此不做限定。
62.具体的,假设本技术中的写操作为增加数据a,则写操作对应逆操作则为删除数据a,又或者假设写操作为删除数据b,则写操作对应逆操作则为增加数据b,具体的逆操作根据实际情况确定,本技术实施例在此不做限定。
63.在本技术实施例中,图2为本技术提供的一种示例性的写操作流程图,如图2所示,方法包括:
64.s201、确定写操作对应的待写数据和待写数据所属的待写数据页。
65.具体的,数据恢复设备确定写操作对应的待写数据和待写数据所属的待写数据页。
66.需要说明的是,数据页是存储器中用来存储数据的单位,在对数据进行存储时,可以将数据存储至其对应的数据页中。
67.s202、若从易失性内存储器中查找到待写数据页,在待写数据页中执行对待写数据的写操作。
68.需要说明的是,本技术是基于易失性内存储器、非易失性内存储器和非易失性外存储器的数据库系统架构实现的数据恢复方法,如图3所示,本技术提供了一种示例性的数据库系统架构示意图,在从数据库系统中查找数据时,是先从易失性内存储器中查找,如果查找成功,则返回查找的数据,如果查找失败,则再从非易失性外存储器中进行查找,如果查找成功,则将查找的数据以及所属的数据页载入易失性内存储器中,再返回查找的数据,如果查找失败,则返回表示需要查找的数据不存在的消息。
69.示例性的,图4为本技术提供的一种示例性的写操作示意图,如图4所示,包括易失性内存储器和非易失性外存储器,其中易失性内存储器的数据页缓冲池中存储了数据页1、3和4,非易失性外存储器中存储了数据页1、2、3、4、5和6,假设待写数据页为页3,从易失性内存储器数据页缓冲池中查找待写数据页3,若从易失性内存储器中查找到页3,则直接在易失性内存储器的页3中完成写操作。
70.s203、若从易失性内存储器中未查找到待写数据页、且从非易失性外存储器中查找到待写数据页,将待写数据页从非易失性外存储器中载入易失性内存储器,并在待写数据页中执行对待写数据的写操作。
71.示例性的,如图4所示,假设待写数据页为页2,若从易失性内存储器数据页缓冲池中未查找到待写数据页2,则从非易失性外存储器中查找待写数据页2,若从非易失性外存储器中查找到页2,将待写数据页2从非易失性外存储器中载入易失性内存储器数据页缓冲池中,在待写数据页2中执行对待写数据的写操作。
72.需要说明的是,此时的载入为将待写数据页从非易失性外存储器中复制到易失性内存储器中,在载入后,非易失性外存储器中还是会存在此待写数据页。
73.s204、若从易失性内存储器和非易失性外存储器中未查找到待写数据页,在易失性内存储器中新建待写数据页,在待写数据页中执行对待写数据的写操作。
74.示例性的,假设待写数据页为页7,如图4所示,从易失性内存储器和非易失性外存储器中未查找到待写数据页7,此时在易失性内存储器数据页缓冲池中分配如页7大小的空间,然后新建待写数据页7,在待写数据页7中执行对待写数据的写操作。
75.在本技术实施例中,数据恢复设备在对易失性内存储器执行数据库事务对应的写操作时,在非易失性内存储器的预设记录日志中记录写操作,在非易失性内存储器的预设撤销日志中记录写操作的逆操作。
76.在本技术实施例中,数据恢复设备还可以对目标数据进行读取,具体的,图5为本技术提供的一种示例性的读取操作流程图,如图5所示,方法包括:
77.s301、确定读取操作对应的待读取数据和待读取数据所属的待读取数据页。
78.具体的,数据恢复设备确定读取操作对应的待读取数据和待读取数据所属的待读取数据页。
79.s302、若从易失性内存储器中查找到待读取数据页,在待读取数据页中执行对待读取数据的读取操作。
80.具体的,如图4所示,假设待读取数据页为页1,从易失性内存储器数据页缓冲池中查找页1,若查找成功,则在读取数据页1中执行对待读取数据的读取操作。
81.s303、若从易失性内存储器中未查找到待读取数据页,在非易失性外存储器中查找待读取数据页,将待读取数据页从非易失性外存储器中载入易失性内存储器,并在待读取数据页中执行对待读取数据的读取操作。
82.具体的,如图4所示,假设待读取数据页为页2,从易失性内存储器数据页缓冲池中查找页2,此时,易失性内存储器数据页缓冲池中无待读取数据页2,则从非易失性外存储器中查找待读取数据页2,将待读取数据页2从非易失性外存储器中载入易失性内存储器数据页缓冲池中,并在待读取数据页2中执行对待读取数据的读取操作。
83.需要说明的是,由于在执行数据库事务对应的写操作时,是在易失性内存储器中直接进行或者是将待写数据页从非易失性外存储器载入易失性内存储器中,然后在易失性内存储器中进行写操作,因此,在易失性内存储器中执行写操作后,非易失性外存储器中的数据还没有对应执行此写操作,导致易失性内存储器和非易失性外存储器中的数据不同步,此时易失性内存储器中写操作对应的数据页称为脏页,则需要执行数据同步操作,以实现易失性内存储器和非易失性外存储器中的数据同步。
84.s102、依次判断撤销事务列表中的数据库事务是否为未提交事务;在数据库事务是未提交事务的情况下,撤销对未提交事务在非易失性外存储器上的写操作,以实现数据的恢复。
85.在本技术实施例中,在撤销对未提交事务的写操作时,需要判断撤销事务列表中的数据库事务是否为未提交事务。
86.具体的,获取数据库事务对应的数据库操作序列;确定写操作在数据库操作序列中的第一位置;基于第一位置确定数据库事务是否为未提交事务。
87.示例性的,假设数据库操作序列由为增加、删除和修改组成的操作序列,并且假设此时的写操作为数据库操作序列中的增加操作,此时,写操作对应的增加操作在增加、删除和修改组成的操作序列中的第一位置为首位。
88.在本技术实施例中,在确定第一位置后,需要基于确定的第一位置确定数据库事务是未提交事务或者数据库事务已执行结束。
89.在本技术实施例中,当第一位置不处于数据库操作序列末位时,确定数据库事务是未提交事务。
90.示例性的,假设写操作对应的增加操作在增加、删除和修改组成的操作序列中的第一位置为首位,则确定数据库事务是未提交事务。
91.在本技术实施例中,当第一位置处于数据库操作序列末位时,确定数据库事务已执行结束。
92.示例性的,假设写操作对应的修改操作在增加、删除和修改组成的操作序列中的第一位置处于数据库操作序列末位,则确定数据库事务已执行结束。
93.在本技术实施例中,数据恢复设备在数据库事务是未提交事务的情况下,撤销对未提交事务的写操作,以实现数据的恢复。
94.具体的,在本技术中,在第一位置不处于数据库操作序列末位的情况下,确定出数据库事务是未提交事务,基于在非易失性内存储器的预设撤销日志中记录的逆操作对非易失性外存储器中的写操作进行撤销。在本技术实施例中,在确定基于逆操作对非易失性外存储器中的写操作进行撤销。
95.具体的,从预设撤销日志中获取未提交事务的逆操作列表;依次逆序执行逆操作列表中的逆操作,以对非易失性外存储器中的写操作进行撤销;逆操作列表中的逆操作按照执行顺序排列。
96.需要说明的是,在根据此预设写脏页日志生成撤销事务列表之后,从预设撤销日志中获取撤销事务列表中数据库事务的逆操作列表,示例性的,假设撤销事务列表中包含数据库事务1,并且此数据库事务1对应的数据库操作序列是由增加数据a、删除数据b和修改数据c组成的操作序列,此时写操作已经执行到删除操作b,则预设撤销日志中存储的逆操作列表执行顺序应为删除数据a和增加数据b,然后根据此逆操作列表逆序对非易失性外存储器中的写操作进行增加数据b和删除数据a,以实现撤销。
97.可以理解的是,通过预设撤销日志中记录的逆操作列表,可以实现数据的快速恢复。
98.在本技术实施例中,在数据库事务的执行进度为数据库事务已执行结束时,从预设撤销日志中删除数据库事务对应的逆操作列表。
99.在本技术实施例中,可以在数据库系统中预设垃圾清除功能,在确定出数据库事务的执行进度为数据库事务已执行结束时,在非易失性内存储器的预设撤销日志中将与此数据库事务相关的写操作和逆操作进行删除。
100.可以理解的是,通过垃圾清除功能能够提升分析预设撤销日志的效率。
101.本技术实施例提供了一种数据恢复方法,该数据恢复方法包括:当接收到数据恢复请求时,根据存储于非易失性内存储器中的批量写脏页日志,生成撤销事务列表;批量写脏页日志为满足数据同步条件时,将对易失性内存储器执行数据库事务对应的写操作同步至非易失性外存储器时记录的日志;依次判断撤销事务列表中的数据库事务是否为未提交事务;在数据库事务是未提交事务的情况下,撤销对未提交事务在非易失性外存储器上的写操作,以实现数据的恢复;采用上述实现方案,在判断出撤销事务列表中未提交事务的情况下,对非易失性外存储器中的写操作进行撤销,使得非易失性外存储器中的数据恢复至未执行写操作时的数据,达到快速恢复数据库数据,提高数据恢复效率的目的。
102.实施例二
103.在本技术的另一实施例中,提供了一种数据恢复设备1,图6为本技术提供的一种数据恢复设备1的组成结构示意图一,如图6所示,该数据恢复设备1包括:
104.处理单元10,用于当接收到数据恢复请求时,根据存储于非易失性内存储器中的批量写脏页日志,生成撤销事务列表;所述批量写脏页日志为满足数据同步条件时,将对易失性内存储器执行数据库事务对应的写操作同步至非易失性外存储器时记录的日志;
105.撤销单元11,用于依次判断所述撤销事务列表中的数据库事务是否为未提交事务;在所述数据库事务是所述未提交事务的情况下,撤销对所述未提交事务在所述非易失性外存储器上的写操作,以实现数据的恢复。
106.可选的,所述数据恢复设备1还包括:记录单元;
107.所述记录单元,用于对易失性内存储器执行数据库事务对应的写操作,并在所述非易失性内存储器的预设撤销日志中记录所述写操作和所述写操作的逆操作。
108.可选的,所述数据恢复设备1还包括:确定单元;
109.所述确定单元,用于确定所述写操作对应的待写数据和所述待写数据所属的待写
数据页;
110.所述处理单元10,还用于若从所述易失性内存储器中查找到所述待写数据页,在所述待写数据页中执行对所述待写数据的所述写操作;若从所述易失性内存储器中未查找到所述待写数据页、且从所述非易失性外存储器中查找到所述待写数据页,将所述待写数据页从所述非易失性外存储器中载入所述易失性内存储器,并在所述待写数据页中执行对所述待写数据的所述写操作;若从所述易失性内存储器和所述非易失性外存储器中未查找到所述待写数据页,在所述易失性内存储器中新建所述待写数据页,在所述待写数据页中执行对所述待写数据的所述写操作。
111.可选的,所述数据恢复设备1还包括:获取单元;
112.所述获取单元,用于获取所述数据库事务对应的数据库操作序列;
113.所述确定单元,还用于确定所述写操作在所述数据库操作序列中的第一位置;基于所述第一位置确定所述数据库事务是否为未提交事务;相应的,所述在所述数据库事务是未提交事务的情况下,撤销对所述未提交事务的写操作,包括:在所述第一位置不处于数据库操作序列末位的情况下,确定出所述数据库事务是未提交事务;
114.所述撤销单元11,还用于基于所述逆操作对所述非易失性外存储器中的所述写操作进行撤销。
115.所述获取单元,还用于从所述预设撤销日志中获取所述未提交事务的逆操作列表;
116.所述撤销单元11,还用于依次逆序执行所述逆操作列表中的逆操作,以对所述非易失性外存储器中的写操作进行撤销;所述逆操作列表中的逆操作按照执行顺序排列。
117.可选的,所述数据恢复设备1还包括:删除单元;
118.所述删除单元,用于在所述数据库事务不是为提交事务的情况下,确定所述数据库事务已执行结束,从所述预设撤销日志中删除所述数据库事务对应的写操作和逆操作。
119.可选的,所述数据恢复设备1还包括:判断单元;
120.所述判断单元,用于在接收到数据库事务提交指令、或者预设时间到达的情况下,判断出满足所述数据同步条件。
121.本技术实施例提供了一种数据恢复设备,该数据恢复设备包括:当接收到数据恢复请求时,根据存储于非易失性内存储器中的批量写脏页日志,生成撤销事务列表;批量写脏页日志为满足数据同步条件时,将对易失性内存储器执行数据库事务对应的写操作同步至非易失性外存储器时记录的日志;依次判断撤销事务列表中的数据库事务是否为未提交事务;在数据库事务是未提交事务的情况下,撤销对未提交事务在非易失性外存储器上的写操作,以实现数据的恢复;采用上述实现方案,在判断出撤销事务列表中未提交事务的情况下,对非易失性外存储器中的写操作进行撤销,使得非易失性外存储器中的数据恢复至未执行写操作时的数据,达到快速恢复数据库数据,提高数据恢复效率的目的。
122.图7为本技术实施例提供的一种数据恢复设备1的组成结构示意图二,在实际应用中,基于上述实施例的同一公开构思下,如图7所示,本实施例的数据恢复设备1包括:处理器12、存储器13及通信总线14。
123.在具体的实施例的过程中,上述处理单元10、撤销单元11、记录单元、确定单元、获取单元、删除单元和判断单元可由位于数据恢复设备1上的处理器12实现,上述处理器12可
以为特定用途集成电路(asic,application specific integrated circuit)、数字信号处理器(dsp,digital signal processor)、数字信号处理图像处理装置(dspd,digital signal processing device)、可编程逻辑图像处理装置(pld,programmable logic device)、现场可编程门阵列(fpga,field programmable gate array)、cpu、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的数据恢复设备,用于实现上述处理器功能的电子器件还可以为其它,本实施例不作具体限定。
124.在本技术实施例中,上述通信总线14用于实现处理器12和存储器13之间的连接通信;上述处理器12执行存储器13中存储的运行程序时实现如下的数据恢复方法:
125.对易失性内存储器执行数据库事务对应的写操作,并记录所述写操作和所述写操作的逆操作;
126.当接收到数据恢复请求时,根据存储于非易失性内存储器中的批量写脏页日志,生成撤销事务列表;所述批量写脏页日志为满足数据同步条件时,将对易失性内存储器执行数据库事务对应的写操作同步至非易失性外存储器时记录的日志;
127.依次判断所述撤销事务列表中的数据库事务是否为未提交事务;在所述数据库事务是未提交事务的情况下,撤销对所述未提交事务在所述非易失性外存储器上的写操作,以实现数据的恢复。
128.可选的,所述处理器12,还用于对易失性内存储器执行数据库事务对应的写操作,并在所述非易失性内存储器的预设撤销日志中记录所述写操作和所述写操作的逆操作。
129.可选的,所述处理器12,还用于确定所述写操作对应的待写数据和所述待写数据所属的待写数据页;若从所述易失性内存储器中查找到所述待写数据页,在所述待写数据页中执行对所述待写数据的所述写操作;若从所述易失性内存储器中未查找到所述待写数据页、且从所述非易失性外存储器中查找到所述待写数据页,将所述待写数据页从所述非易失性外存储器中载入所述易失性内存储器,并在所述待写数据页中执行对所述待写数据的所述写操作;若从所述易失性内存储器和所述非易失性外存储器中未查找到所述待写数据页,在所述易失性内存储器中新建所述待写数据页,在所述待写数据页中执行对所述待写数据的所述写操作。
130.可选的,所述处理器12,还用于获取所述数据库事务对应的数据库操作序列;确定所述写操作在所述数据库操作序列中的第一位置;基于所述第一位置确定所述数据库事务是否为未提交事务;相应的,所述在所述数据库事务是未提交事务的情况下,撤销对所述未提交事务的写操作,包括:在所述第一位置不处于数据库操作序列末位的情况下,确定出所述数据库事务是未提交事务;基于所述逆操作对所述非易失性外存储器中的所述写操作进行撤销。
131.可选的,所述处理器12,还用于从所述预设撤销日志中获取所述未提交事务的逆操作列表;依次逆序执行所述逆操作列表中的逆操作,以对所述非易失性外存储器中的写操作进行撤销;所述逆操作列表中的逆操作按照执行顺序排列。
132.可选的,所述处理器12,还用于在所述数据库事务不是为提交事务的情况下,确定所述数据库事务已执行结束,从所述预设撤销日志中删除所述数据库事务对应的写操作和逆操作。
133.可选的,所述处理器12,还用于在接收到数据库事务提交指令、或者预设时间到达
的情况下,判断出满足所述数据同步条件。
134.本技术实施例提供一种存储介质,其上存储有计算机程序,上述计算机可读存储介质存储有一个或者多个程序,上述一个或者多个程序可被一个或者多个处理器执行,应用于数据恢复设备中,该计算机程序实现如上述数据恢复方法。
135.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
136.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台图像显示设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本公开各个实施例所述的数据恢复方法。
137.以上所述,仅为本技术的较佳实施例而已,并非用于限定本技术的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献