数据恢复方法、装置、电子设备及存储介质与流程
本技术涉及计算机,更具体地,涉及一种数据恢复方法、装置、电子设备及存储介质。
背景技术:
1、相关技术中,若要将数据节点中存储的数据恢复到过去的指定时间点的状态,通常是将过去某个时间点的全量备份数据下载到数据节点中,然后将所下载的全量备份数据加载到数据分片中,然后从中恢复出在过去指定时间点的数据,此种数据恢复的方式是离线恢复的方式,在进行数据恢复的过程中,数据节点是无法对外提供服务的。
技术实现思路
1、鉴于上述问题,本技术实施例提出了一种数据恢复方法、装置、电子设备及存储介质,以解决相关技术中在进行数据恢复的全过程中数据节点无法对外提供服务的问题。
2、第一方面,提供了一种数据恢复方法,包括:
3、获取数据恢复请求,所述数据恢复请求用于请求将目标对象在数据节点中的数据恢复到在第一时间点的状态;
4、根据所述第一时间点,从备份存储中下载所述目标对象在第二时间点的全量备份数据;所述第二时间点位于所述第一时间点之前;
5、获取所述目标对象在所述数据节点中的数据,从所述第二时间点到所述第一时间点的目标日志数据;
6、根据所述目标日志数据,对所述全量备份数据进行数据变更,得到所述目标对象在所述第一时间点的目标全量数据;
7、将所述目标全量数据,导入所述数据节点,以将所述数据节点中存储的所述目标对象的数据,替换为所述目标全量数据。
8、第二方面,提供了一种数据恢复装置,包括:
9、第一获取模块,用于获取数据恢复请求,所述数据恢复请求用于请求将目标对象在数据节点中的数据恢复到在第一时间点的状态;
10、下载模块,用于根据所述第一时间点,从备份存储中下载所述目标对象在第二时间点的全量备份数据;所述第二时间点位于所述第一时间点之前;
11、第二获取模块,用于获取所述目标对象在所述数据节点中的数据,从所述第二时间点到所述第一时间点的目标日志数据;
12、数据变更模块,用于根据所述目标日志数据,对所述全量备份数据进行数据变更,得到所述目标对象在所述第一时间点的目标全量数据;
13、导入模块,用于将所述目标全量数据,导入所述数据节点,以将所述数据节点中存储的所述目标对象的数据,替换为所述目标全量数据。
14、在一些实施例中,所述目标日志数据包括从日志备份存储中的多个日志文件中下载的子日志数据,从一个所述日志文件中下载的子日志数据被缓存到工作目录中所述日志文件对应的日志备份文件中;数据变更模块,包括:
15、第一读取单元,用于在从日志备份存储中顺次下载所述目标日志数据的过程中,若检测到所述工作目录中第i个日志备份文件进行数据写入完成,从所述第i个日志备份文件中读取其中的子日志数据;1≤i≤n,n是所述文件下载列表中文件标识的总数量;i为整数;所述工作目录中的日志备份文件是按照其中的子日志数据的产生时间由先到后的顺序进行排序的;
16、数据变更单元,用于根据读取到的子日志数据,对第i-1个中间数据进行数据变更,得到第i个中间数据;当i=1时,所述第i-1个中间数据是指所述全量备份数据;
17、第一处理单元,用于若i<n,将i累计加1,并返回执行所述若检测到所述工作目录中第i个日志备份文件进行数据写入完成,从所述第i个日志备份文件中读取其中的子日志数据的步骤;
18、第一确定单元,用于若i=n,将所述第i个中间数据作为所述目标对象在所述第一时间点的目标全量数据。
19、在一些实施例中,第二获取模块,包括:
20、顺次下载模块,用于按照文件下载列表中各文件标识的次序,顺次从所述日志备份存储中所述文件标识所指示日志文件中下载其中的子日志数据,并写入到所述工作目录中对应的日志备份文件中;所述文件下载列表中包括所述目标日志数据中各子日志数据所在日志文件的文件标识,且所述文件下载列表中多个文件标识是按照所述对应日志文件的产生时间由先到后的顺序进行排序的。
21、在一些实施例中,数据恢复装置还包括:
22、删除模块,用于响应于所述第i个日志备份文件中的子日志数据被读取完成,将所述第i个日志备份文件从所述工作目录中删除。
23、在一些实施例中,所述工作目录中各所述日志备份文件初始被添加了第一标记,所述第一标记用于指示对应的日志备份文件未完成数据写入;顺次下载模块,包括:
24、第二读取单元,用于由所述第一线程按照文件下载列表中各文件标识的次序,读取所述文件下载列表中第j个文件标识;1≤j≤n,n是所述文件下载列表中文件标识的总数量;j为整数;
25、第一下载单元,用于由所述第一线程请求从所述日志备份存储中,下载所述第j个文件标识所指示日志文件中的子日志数据,并将下载获得的子日志数据写入所述工作目录中第j个日志备份文件中;
26、标记删除单元,用于响应于所述第j个日志备份文件进行数据写入完成,由所述第一线程将所述第j个日志备份文件的第一标记进行删除;
27、第二处理单元,用于若j<n,将j累计加1,并返回执行所述由所述第一线程按照文件下载列表中各文件标识的次序,读取所述文件下载列表中第j个文件标识的步骤。
28、在一些实施例中,第一读取单元,被配置为:
29、若第二线程检测到所述工作目录中第i个日志备份文件未携带第一标记,从所述第i个日志备份文件中读取其中的子日志数据。
30、在一些实施例中,所述第一标记是在所述日志备份文件的文件名中添加的临时文件后缀;
31、第一读取单元,进一步被配置为:
32、若所述第二线程检测到所述工作目录中第i个日志备份文件的文件名中不包括临时文件后缀,打开所述第i个日志备份文件,并从所述第i个日志备份文件中读取其中的子日志数据。
33、在一些实施例中,数据恢复装置,还包括:
34、第一索引获取模块,用于获取所述日志备份存储中各日志文件的文件索引信息;
35、文件定位模块,用于根据所述文件索引信息、所述第一时间点、所述第二时间点和所述目标对象的对象标识,定位记录所述目标对象在所述数据节点中的数据,从所述第二时间点到所述第一时间点的数据更改日志的日志文件;
36、列表创建模块,用于根据所定位到的日志文件的文件标识,创建所述文件下载列表,并将所述文件下载列表中的文件标识按照所对应日志文件的产生时间由先到后的顺序进行排序。
37、在一些实施例中,数据变更单元,被配置为:
38、从读取到的子日志数据中,获取第k个数据更改日志;所述子日志数据中的多个数据更改日志是按照产生时间由先到后的顺序进行排序的;1≤k≤m,m为所述子日志数据中数据更改日志的总数量,k为整数;
39、按照所述第k个数据更改日志针对数据项所记录的数据更改操作,对所述第i-1个中间数据中对应的数据项进行数据变更;
40、若k<m,将k累计加1,并返回执行所述从读取到的子日志数据中,获取第k个数据更改日志的步骤;
41、若k=m,将按照所述第k个数据更改日志,进行变更后的第i-1个中间数据,作为所述第i个中间数据。
42、在一些实施例中,所述数据节点中存储了多个数据分片;数据恢复装置,还包括:
43、分片确定模块,用于根据所述目标对象的对象标识,在所述多个数据分片中,确定所述目标对象在数据节点中的数据所在的目标数据分片;
44、对应的,导入模块,包括:
45、请求生成模块,用于根据所述目标数据分片的分片标识和所述目标全量数据,生成数据恢复请求;
46、请求发送模块,用于向所述数据节点发送所述数据恢复请求,以使所述数据节点响应于所述数据恢复请求,将所述目标数据分片中所述目标对象的数据,替换为所述目标全量数据。
47、在一些实施例中,数据恢复装置,还包括:
48、第二索引获取模块,用于获取所述目标数据分片的分片索引信息;
49、标识获取模块,用于根据所述分片索引信息,确定所述目标数据分片中的数据所属的多个对象的对象标识;
50、功能限制请求发送模块,用于根据所述多个对象的对象标识,向应用服务器发送功能限制请求,以使所述应用服务器响应于所述功能限制请求,限制所述多个对象的目标应用功能,所述目标应用功能是指与所述目标数据分片中的数据相关的应用功能;
51、响应接收模块,用于接收所述数据节点返回的数据恢复成功响应;
52、解除模块,用于响应于所述数据恢复成功响应,向所述应用服务器发送功能解除请求,以使所述应用服务器响应于所述功能解除请求,解除对所述多个对象的目标应用功能的限制。
53、在一些实施例中,数据恢复装置还包括:
54、备份时间信息获取模块,用于获取所述目标对象的数据备份时间信息;
55、第二时间点确定模块,用于在所述数据备份时间信息中位于第一时间点之前的备份时间点中,将与所述第一时间点之间的间隔时长最小的备份时间点,作为所述第二时间点。
56、在一些实施例中,第二时间点确定模块,被配置为:
57、若所述第一时间点不是所述数据备份时间信息中的一个备份时间点,在所述数据备份时间信息中位于第一时间点之前的备份时间点中,将与所述第一时间点之间的间隔时长最小的备份时间点,作为所述第二时间点;
58、数据恢复装置,还包括:
59、第一下载模块,用于若所述第一时间点是所述数据备份时间信息中的一个备份时间点,从所述备份存储中下载所述目标对象在所述第一时间点的全量备份数据;
60、第一导入模块,用于将所述目标对象在所述第一时间点的全量备份数据,导入所述数据节点,以将数据节点中存储的所述目标对象的数据,替换为所述目标对象在所述第一时间点的全量备份数据。
61、第三方面,提供了一种电子设备,包括:处理器;存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如上的数据恢复方法。
62、第四方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被处理器执行时,实现如上的数据恢复方法。
63、第五方面,提供了一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行时实现如上的数据恢复方法。
64、在本技术中,由于目标日志数据反映了目标对象在数据节点上的数据从第二时间点到第一时间点的变更过程,因此,先按照目标日志数据,对目标对象在第二时间点的全量备份数据进行数据变更,即还原在从第二时间点到第一时间点,目标对象的数据在数据节点上的变更过程,以此,重构出目标对象在第一时间点的目标全量数据。由此在重构目标对象在第一时间点的目标全量数据并不是在数据节点上执行的,因此,重构目标对象在第一时间点的目标全量数据的过程并不会导致数据节点不可用,即不影响数据节点对外提供服务,由此,可以有效缓解相关技术中因进行数据恢复,导致在整个进行数据恢复的过程中数据节点不可用的问题,实现了在线进行数据恢复。
65、而且,由于重构目标对象在第一时间点的目标全量数据并不是在数据节点上执行,这样,下载的目标对象在第二时间点的全量备份数据、以及目标日志数据不会占用数据节点的存储空间,由此可以解决因数据恢复过程中占用数据节点上的过多资源,导致影响数据节点对外提供数据访问服务的问题。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com