虚拟机数据恢复方法、装置、计算机设备及存储介质与流程
未命名
08-15
阅读:118
评论:0
1.本技术涉及计算机技术领域,具体涉及一种虚拟机数据恢复方法、装置、计算机设备及存储介质。
背景技术:
2.虚拟机是虚拟化技术实现的焦点,虚拟机在运行的过程中会因多种原因发生故障,为了避免用户数据的丢失,需要对虚拟机进行数据恢复。现有虚拟机数据恢复方法通常为:对源虚拟机中的全量数据或增量数据进行备份,然后将备份后的全量数据或增量数据同步至目标虚拟机。现有方法由于是直接对数据进行备份和恢复,备份和恢复过程中需要耗费大量时间和计算资源,容易导致虚拟机性能下降。
技术实现要素:
3.本技术实施例提供一种虚拟机数据恢复方法、装置、计算机设备及存储介质,可以减少数据恢复时耗费的时间和计算资源,保障虚拟机中数据恢复的完整性,并且可以对重要的目标增量备份磁盘进行优先恢复。
4.一方面,本技术提供一种虚拟机数据恢复方法,包括:接收针对源虚拟机的数据恢复请求,基于数据恢复请求确定源虚拟机的数据恢复类型,源虚拟机包括多个第一虚拟磁盘;当数据恢复类型为增量恢复时,从预先构建的多个缓存空间中获取多个第一虚拟磁盘的增量数据,多个缓存空间与多个第一虚拟磁盘分别对应,每个缓存空间用于存储每个缓存空间对应的第一虚拟磁盘的增量数据;将每个第一虚拟磁盘的增量数据转化为raw格式的数据磁盘,得到每个第一虚拟磁盘的当前增量备份磁盘;获取每个第一虚拟磁盘的全量备份磁盘和历史增量备份磁盘,将全量备份磁盘、历史增量备份磁盘及当前增量备份磁盘进行合并,得到多个第一虚拟磁盘分别对应的多个目标增量备份磁盘;获取每个缓存空间的空间信息及每个缓存空间包含的多个缓存区间的区间信息,基于空间信息和区间信息确定多个目标增量备份磁盘的覆盖顺序;基于多个目标增量备份磁盘和覆盖顺序对目标虚拟机进行磁盘覆盖,以将源虚拟机中的数据恢复至目标虚拟机。
5.在本技术一些实施方案中,基于数据恢复请求确定源虚拟机的数据恢复类型之后,包括:当数据恢复类型为全量恢复时,基于kvm底层备份命令将多个第一虚拟磁盘中的全量数据分别转化为raw格式的数据磁盘,得到每个第一虚拟磁盘的全量备份磁盘;基于全量备份磁盘对目标虚拟机进行磁盘覆盖,并创建多个第一虚拟磁盘分别对应的多个缓存空间。
6.在本技术一些实施方案中,创建多个第一虚拟磁盘分别对应的多个缓存空间之后,包括:获取每个第一虚拟磁盘的增量数据,增量数据中包括多个增量数据块;获取每个增量数据块的数据量、数据块类型及数据块关键词,将数据量、数据块类型及数据块关键词输入预先训练的第一预测模型,通过第一预测模型输出每个增量数据块的第一表征参数和第二表征参数,第一表征参数用于表征每个增量数据块的重要程度,第二表征参数用于表征每个增量数据块的私密程度;基于第一表征参数和第二表征参数,将多个增量数据块存储至每个第一虚拟磁盘对应的缓存空间。
7.在本技术一些实施方案中,基于第一表征参数和第二表征参数,将多个增量数据块存储至每个第一虚拟磁盘对应的缓存空间,包括:获取每个第一虚拟磁盘对应的缓存空间包含的多个缓存区间的区间等级、区间容纳数据类型及区间容纳数据量;基于第一表征参数和第二表征参数,确定每个增量数据块的目标表征参数;将目标表征参数、数据块类型、区间等级、区间容纳数据类型及区间容纳数据量输入预先训练的第二预测模型,通过第二预测模型从多个缓存区间中确定每个数据块对应的缓存区间;将每个数据块存储至每个数据块对应的缓存区间。
8.在本技术一些实施方案中,空间信息包括空间已容纳数据量和空间剩余容纳数据量,区间信息包括区间等级、区间已容纳数据量及区间剩余容纳数据量,基于空间信息和区间信息确定多个目标增量备份磁盘的覆盖顺序,包括:将区间等级、区间已容纳数据量及区间剩余容纳数据量输入预先训练的第三预测模型,通过第三预测模型输出每个缓存空间的第一空间参数;将第一空间参数、空间已容纳数据量及空间剩余容纳数据量输入预先训练的第四预测模型,通过第四预测模型输出每个缓存空间的第二空间参数;基于第二空间参数,确定多个目标增量备份磁盘的覆盖顺序。
9.在本技术一些实施方案中,基于多个目标增量备份磁盘和覆盖顺序对目标虚拟机进行磁盘覆盖,包括:获取目标虚拟磁盘包含的多个第二虚拟磁盘的状态信息、磁盘数据类型、磁盘容纳量及磁盘属性信息;获取每个第一虚拟磁盘的磁盘数据类型、磁盘容纳量及磁盘属性信息;基于多个第二虚拟磁盘的状态信息、磁盘数据类型、磁盘容纳量、磁盘属性信息及每个第一虚拟磁盘的磁盘数据类型、磁盘容纳量、磁盘属性信息,从多个第二虚拟磁盘中确定多个第一虚拟磁盘分别对应的多个目标虚拟磁盘;基于覆盖顺序和多个目标增量备份磁盘,对多个目标虚拟磁盘进行覆盖。
10.在本技术一些实施方案中,基于多个第二虚拟磁盘的状态信息、磁盘数据类型、磁盘容纳量、磁盘属性信息及每个第一虚拟磁盘的磁盘数据类型、磁盘容纳量、磁盘属性信息,从多个第二虚拟磁盘中确定多个第一虚拟磁盘分别对应的多个目标虚拟磁盘,包括:将多个第二虚拟磁盘的状态信息、磁盘数据类型、磁盘容纳量、磁盘属性信息及每
个第一虚拟磁盘的磁盘数据类型、磁盘容纳量、磁盘属性信息输入预先训练的第五预测模型,通过第五预测模型输出每个第二虚拟磁盘在每个第一虚拟磁盘下的磁盘得分;基于磁盘得分,从多个第二虚拟磁盘中确定多个第一虚拟磁盘分别对应的多个目标虚拟磁盘。
11.另一方面,本技术提供一种虚拟机数据恢复装置,包括:请求接收单元,用于接收针对源虚拟机的数据恢复请求,基于数据恢复请求确定源虚拟机的数据恢复类型,源虚拟机包括多个第一虚拟磁盘;第一获取单元,用于当数据恢复类型为增量恢复时,从预先构建的多个缓存空间中获取多个第一虚拟磁盘的增量数据,多个缓存空间与多个第一虚拟磁盘分别对应,每个缓存空间用于存储每个缓存空间对应的第一虚拟磁盘的增量数据;第一转化单元,用于将每个第一虚拟磁盘的增量数据转化为raw格式的数据磁盘,得到每个第一虚拟磁盘的当前增量备份磁盘;磁盘合并单元,用于获取每个第一虚拟磁盘的全量备份磁盘和历史增量备份磁盘,将全量备份磁盘、历史增量备份磁盘及当前增量备份磁盘进行合并,得到多个第一虚拟磁盘分别对应的多个目标增量备份磁盘;顺序确定单元,用于获取每个缓存空间的空间信息及每个缓存空间包含的多个缓存区间的区间信息,基于空间信息和区间信息确定多个目标增量备份磁盘的覆盖顺序;数据恢复单元,用于基于多个目标增量备份磁盘和覆盖顺序对目标虚拟机进行磁盘覆盖,以将源虚拟机中的数据恢复至目标虚拟机。
12.另一方面,本技术还提供一种计算机设备,计算机设备包括:一个或多个处理器;存储器;以及一个或多个应用程序,其中一个或多个应用程序被存储于存储器中,并配置为由处理器执行以实现第一方面中任一项的虚拟机数据恢复方法。
13.第四方面,本技术还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器进行加载,以执行第一方面任一项的虚拟机数据恢复方法中的步骤。
14.本技术将每个第一虚拟磁盘的增量数据转化为raw格式的数据磁盘,通过转化磁盘格式的方式压缩数据,可以减少数据恢复时耗费的时间和计算资源;将全量备份磁盘、历史增量备份磁盘及当前增量备份磁盘合并为目标增量备份磁盘,再基于目标增量备份磁盘进行数据恢复,可以保障虚拟机中数据恢复的完整性;基于空间信息和区间信息确定多个目标增量备份磁盘的覆盖顺序,再基于覆盖顺序对目标虚拟机进行磁盘覆盖,可以对重要的目标增量备份磁盘进行优先恢复。
附图说明
15.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
16.图1是本技术实施例提供的虚拟机数据恢复系统的场景示意图;
图2是本技术实施例中提供的虚拟机数据恢复方法的一个实施例流程示意图;图3是本技术实施例中提供的虚拟机数据恢复装置的一个实施例结构示意图;图4是本技术实施例中提供的计算机设备的一个实施例结构示意图。
具体实施方式
17.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
18.在本技术的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
19.在本技术中,“示例性”一词用来表示“用作例子、例证或说明”。本技术中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本技术,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本技术。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本技术的描述变得晦涩。因此,本技术并非旨在限于所示的实施例,而是与符合本技术所公开的原理和特征的最广范围相一致。
20.需要说明的是,本技术实施例方法由于是在计算机设备中执行,各计算机设备的处理对象均以数据或信息的形式存在,例如时间,实质为时间信息,可以理解的是,后续实施例中若提及尺寸、数量、位置等,均为对应的数据存在,以便计算机设备进行处理,具体此处不作赘述。
21.本技术实施例提供一种虚拟机数据恢复方法、装置、计算机设备及存储介质,以下分别进行详细说明。
22.请参阅图1,图1为本技术实施例所提供的虚拟机数据恢复系统的场景示意图,该虚拟机数据恢复系统可以包括计算机设备100,计算机设备100中集成有虚拟机数据恢复装置,如图1中的计算机设备。
23.本技术实施例中计算机设备100主要用于接收针对源虚拟机的数据恢复请求,基于数据恢复请求确定源虚拟机的数据恢复类型,源虚拟机包括多个第一虚拟磁盘;当数据恢复类型为增量恢复时,从预先构建的多个缓存空间中获取多个第一虚拟磁盘的增量数据,多个缓存空间与多个第一虚拟磁盘分别对应,每个缓存空间用于存储每个缓存空间对应的第一虚拟磁盘的增量数据;将每个第一虚拟磁盘的增量数据转化为raw格式的数据磁盘,得到每个第一虚拟磁盘的当前增量备份磁盘;获取每个第一虚拟磁盘的全量备份磁盘
和历史增量备份磁盘,将全量备份磁盘、历史增量备份磁盘及当前增量备份磁盘进行合并,得到多个第一虚拟磁盘分别对应的多个目标增量备份磁盘;获取每个缓存空间的空间信息及每个缓存空间包含的多个缓存区间的区间信息,基于空间信息和区间信息确定多个目标增量备份磁盘的覆盖顺序;基于多个目标增量备份磁盘和覆盖顺序对目标虚拟机进行磁盘覆盖,以将源虚拟机中的数据恢复至目标虚拟机,可以减少数据恢复时耗费的时间和计算资源,保障虚拟机中数据恢复的完整性,并且可以对重要的目标增量备份磁盘进行优先恢复。
24.本技术实施例中,该计算机设备100可以是独立的服务器,也可以是服务器组成的服务器网络或服务器集群,例如,本技术实施例中所描述的计算机设备100,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云服务器。其中,云服务器由基于云计算(cloud computing)的大量计算机或网络服务器构成。
25.可以理解的是,本技术实施例中所使用的计算机设备100可以是既包括接收和发射硬件的设备,即具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备。具体的计算机设备100具体可以是台式终端或移动终端,计算机设备100具体还可以是手机、平板电脑、笔记本电脑等中的一种。
26.本领域技术人员可以理解,图1中示出的应用环境,仅仅是与本技术方案一种应用场景,并不构成对本技术方案应用场景的限定,其他的应用环境还可以包括比图1中所示更多或更少的计算机设备,例如图1中仅示出1个计算机设备,可以理解的,该虚拟机数据恢复系统还可以包括一个或多个其他服务,具体此处不作限定。
27.另外,如图1所示,该虚拟机数据恢复系统还可以包括存储器200,用于存储数据,如空间信息,例如空间已容纳数据量、空间剩余容纳数据量等,如区间信息,例如区间等级、区间已容纳数据量、区间剩余容纳数据量等。
28.需要说明的是,图1所示的虚拟机数据恢复系统的场景示意图仅仅是一个示例,本技术实施例描述的虚拟机数据恢复系统以及场景是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着虚拟机数据恢复系统的演变和新业务场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
29.首先,本技术实施例中提供一种虚拟机数据恢复方法,该虚拟机数据恢复方法的执行主体为虚拟机数据恢复装置,该虚拟机数据恢复装置应用于计算机设备,该虚拟机数据恢复方法包括:接收针对源虚拟机的数据恢复请求,基于数据恢复请求确定源虚拟机的数据恢复类型,源虚拟机包括多个第一虚拟磁盘;当数据恢复类型为增量恢复时,从预先构建的多个缓存空间中获取多个第一虚拟磁盘的增量数据,多个缓存空间与多个第一虚拟磁盘分别对应,每个缓存空间用于存储每个缓存空间对应的第一虚拟磁盘的增量数据;将每个第一虚拟磁盘的增量数据转化为raw格式的数据磁盘,得到每个第一虚拟磁盘的当前增量备份磁盘;获取每个第一虚拟磁盘的全量备份磁盘和历史增量备份磁盘,将全量备份磁盘、历史增量备份磁盘及当前增量备份磁盘进行合并,得到多个第一虚拟磁盘分别对应的多个目标增量备份磁盘;获取每个缓存空间的空间信息及每个缓存空间包含的多个缓存区间的区间信息,基于空间信息和区间信息确定多个目标增量备份磁盘的覆盖顺序;基于多
个目标增量备份磁盘和覆盖顺序对目标虚拟机进行磁盘覆盖,以将源虚拟机中的数据恢复至目标虚拟机。
30.如图2所示,为本技术实施例中虚拟机数据恢复方法的一个实施例流程示意图,该虚拟机数据恢复方法包括:s100、接收针对源虚拟机的数据恢复请求,基于数据恢复请求确定源虚拟机的数据恢复类型,源虚拟机包括多个第一虚拟磁盘。
31.数据恢复请求为用户向计算机设备发出的将源虚拟机的数据在目标虚拟机中恢复的数据恢复指令,该数据恢复请求包括但不限于触摸指令、鼠标指令、遥控指令、语音指令等,例如,用户想要将虚拟机a中的数据在虚拟机b中恢复时,可以直接在触摸屏上点击虚拟机a的图标,或者用户通过鼠标在触摸屏上点击虚拟机a的图标,又或者用户发出“将虚拟机a中的数据在虚拟机b中恢复”的语音指令。用户向计算机设备发出针对源虚拟机的数据恢复请求后,计算机设备接收该数据恢复请求,并基于该数据恢复请求确定源虚拟机的数据恢复类型。
32.数据恢复类型包括全量恢复和增量恢复,全量恢复是指对源虚拟机的数据进行全量备份,并将全量备份数据在目标虚拟机中恢复,增量恢复是指对源虚拟机自上次备份以来新增或修改的数据进行增量备份,并将增量备份数据在目标虚拟机中恢复。数据恢复请求包括源虚拟机对应的第一虚拟机标识和目标虚拟机对应的第二虚拟机标识,计算机设备基于数据恢复请求确定源虚拟机的数据恢复类型时,首先从数据恢复请求中获取第一虚拟机标识和第二虚拟机标识,然后基于第一虚拟机标识和第二虚拟机标识,确定源虚拟机和目标虚拟机,并判断源虚拟机和目标虚拟机之间是否为首次数据恢复,若是,则确定源虚拟机的数据恢复类型为全量恢复;反之,确定源虚拟机的数据恢复类型为增量恢复。
33.需要说明的是,源虚拟机包括多个第一虚拟磁盘,将源虚拟机的数据在目标虚拟机中恢复是指将原虚拟机的多个第一虚拟磁盘中的数据在目标虚拟机中恢复。
34.s200、当数据恢复类型为增量恢复时,从预先构建的多个缓存空间中获取多个第一虚拟磁盘的增量数据,多个缓存空间与多个第一虚拟磁盘分别对应,每个缓存空间用于存储每个缓存空间对应的第一虚拟磁盘的增量数据。
35.多个缓存空间为预先构建的用于存储多个第一虚拟磁盘的增量数据的存储空间,多个缓存空间与多个第一虚拟磁盘分别对应,每个缓存空间用于存储每个缓存空间对应的第一虚拟磁盘的增量数据,换句话说,在每个第一虚拟磁盘对应的缓存空间中可以找到该第一虚拟磁盘自上次备份以来新增或修改的数据。
36.s300、将每个第一虚拟磁盘的增量数据转化为raw格式的数据磁盘,得到每个第一虚拟磁盘的当前增量备份磁盘。
37.现有虚拟机数据恢复过程中是直接对数据进行备份和恢复,备份和恢复需要耗费大量时间和计算资源,导致虚拟机的性能下降,例如,备份和恢复过程中会占用大量系统资源,导致系统变慢或停止响应。本实施例获取多个第一虚拟磁盘的增量数据后,采用kvm底层磁盘备份命令将每个第一虚拟磁盘的增量数据转化为raw格式的数据磁盘,得到每个第一虚拟磁盘的当前增量备份磁盘。通过转化磁盘格式的方式压缩数据,可以减少数据恢复过程中的数据传输量,减少数据恢复时耗费的时间和计算资源。
38.s400、获取每个第一虚拟磁盘的全量备份磁盘和历史增量备份磁盘,将全量备份
磁盘、历史增量备份磁盘及当前增量备份磁盘进行合并,得到多个第一虚拟磁盘分别对应的多个目标增量备份磁盘。
39.全量备份磁盘为对源虚拟机中的数据进行全量备份恢复时得到的全量备份磁盘,历史增量备份磁盘为在过去一段时间内对源虚拟机中的数据进行增量备份恢复得到的增量备份磁盘,目标增量备份磁盘为将每个第一虚拟磁盘的全量备份磁盘、历史增量备份磁盘和当前增量备份磁盘进行磁盘合并,得到的合并后的磁盘。例如,第一虚拟磁盘a包括全量备份磁盘a、历史增量备份磁盘b、历史增量备份磁盘c及当前增量备份磁盘d,将全量备份磁盘a、历史增量备份磁盘b、历史增量备份磁盘c及当前增量备份磁盘d进行磁盘合并,即可得到第一虚拟磁盘a的目标增量备份磁盘。
40.本实施例得到每个第一虚拟磁盘的当前增量备份磁盘后,获取每个第一虚拟磁盘的全量备份磁盘和历史增量备份磁盘,将全量备份磁盘、历史增量备份磁盘及当前增量备份磁盘进行合并,得到多个第一虚拟磁盘分别对应的多个目标增量备份磁盘。由于目标增量备份磁盘中包括每个第一虚拟磁盘的全量备份数据及每次增量备份时的增量数据,基于目标增量备份磁盘进行数据恢复,可以保障虚拟机中数据恢复的完整性。
41.s500、获取每个缓存空间的空间信息及每个缓存空间包含的多个缓存区间的区间信息,基于空间信息和区间信息确定多个目标增量备份磁盘的覆盖顺序。
42.每个缓存空间包含多个缓存区间,每个缓存区间用于存储每个缓存空间对应的第一虚拟磁盘中不同属性的数据。例如,缓存空间a包含缓存区间a、缓存区间b、缓存区间c及缓存区间d,各个缓存区间分别用于存储不同重要等级的数据。
43.本实施例对源虚拟机中的数据进行恢复时,是基于多个目标增量备份磁盘对目标虚拟机进行磁盘覆盖,覆盖顺序为对目标虚拟机进行磁盘覆盖时,多个目标增量备份磁盘的覆盖顺序。例如,目标增量备份磁盘包括目标增量备份磁盘a、目标增量备份磁盘b及目标增量备份磁盘c,覆盖顺序为目标增量备份磁盘b、目标增量备份磁盘a、目标增量备份磁盘c。
44.空间信息包括但不限于空间已容纳数据量、空间剩余容纳数据量等,空间已容纳数据量为缓存空间已容纳的数据量,空间剩余容纳数据量为缓存空间还可容纳的数据量。区间信息包括但不限于区间等级、区间已容纳数据量、区间剩余容纳数据量等,区间等级为缓存区间对应的等级,区间已容纳数据量为缓存区间已容纳的数据量,区间剩余容纳数据量为缓存区间还可容纳的数据量。
45.本实施例得到多个目标增量备份磁盘后,获取每个缓存空间的空间信息及每个缓存空间包含的多个缓存区间的区间信息,然后基于空间信息和区间信息确定多个缓存空间的重要程度,再基于多个缓存空间的重要程度确定多个目标增量备份磁盘的重要程度,最后基于多个目标增量备份磁盘的重要程度确定多个目标增量备份磁盘的覆盖顺序。例如,缓存空间a、缓存空间b、缓存空间c、缓存空间d分别对应目标增量备份磁盘a、目标增量备份磁盘b、目标增量备份磁盘c、目标增量备份磁盘d,假设缓存空间的重要程度为缓存空间c>缓存空间d>缓存空间a>缓存空间b,则多个目标增量备份磁盘的重要程度为目标增量备份磁盘c>目标增量备份磁盘d>目标增量备份磁盘a>目标增量备份磁盘b,则覆盖顺序依次为目标增量备份磁盘c
→
目标增量备份磁盘d
→
目标增量备份磁盘a
→
目标增量备份磁盘b。
46.s600、基于多个目标增量备份磁盘和覆盖顺序对目标虚拟机进行磁盘覆盖,以将源虚拟机中的数据恢复至目标虚拟机。
47.本实施例确定多个目标增量备份磁盘的覆盖顺序后,基于多个目标增量备份磁盘和覆盖顺序对目标虚拟机进行磁盘覆盖,可以将源虚拟机中的数据完整的恢复至目标虚拟机。例如,覆盖顺序为目标增量备份磁盘c
→
目标增量备份磁盘d
→
目标增量备份磁盘a
→
目标增量备份磁盘b,目标虚拟机中包括与多个第一虚拟磁盘分别对应的第二虚拟磁盘a、第二虚拟磁盘b、第二虚拟磁盘c、第二虚拟磁盘d,依次采用目标增量备份磁盘c、目标增量备份磁盘d、目标增量备份磁盘a、目标增量备份磁盘b分别对第二虚拟磁盘c、第二虚拟磁盘d、第二虚拟磁盘a、第二虚拟磁盘b进行覆盖,即可实现将源虚拟机中的数据恢复至目标虚拟机。
48.在一具体实现方式中,步骤s100中基于数据恢复请求确定源虚拟机的数据恢复类型之后,还包括:s110、当数据恢复类型为全量恢复时,基于kvm底层备份命令将多个第一虚拟磁盘中的全量数据分别转化为raw格式的数据磁盘,得到每个第一虚拟磁盘的全量备份磁盘;s120、基于全量备份磁盘对目标虚拟机进行磁盘覆盖,并创建多个第一虚拟磁盘分别对应的多个缓存空间。
49.具体地,当确定源虚拟机的数据恢复类型为全量恢复时,基于kvm底层备份命令将多个第一虚拟磁盘中的全量数据分别转化为raw格式的数据磁盘,得到每个第一虚拟磁盘的全量备份磁盘,然后基于全量备份磁盘对目标虚拟机进行磁盘覆盖,并利用kvm底层命令创建多个第一虚拟磁盘分别对应的多个缓存空间。
50.在一具体实现方式中,步骤s120中创建多个第一虚拟磁盘分别对应的多个缓存空间之后,还包括:s130、获取每个第一虚拟磁盘的增量数据,增量数据中包括多个增量数据块;s140、获取每个增量数据块的数据量、数据块类型及数据块关键词,将数据量、数据块类型及数据块关键词输入预先训练的第一预测模型,通过第一预测模型输出每个增量数据块的第一表征参数和第二表征参数,第一表征参数用于表征每个增量数据块的重要程度,第二表征参数用于表征每个增量数据块的私密程度;s150、基于第一表征参数和第二表征参数,将多个增量数据块存储至每个第一虚拟磁盘对应的缓存空间。
51.每个第一虚拟磁盘的增量数据均包括多个增量数据块,数据量为每个增量数据块包含的数据量,数据块类型为每个增量数据块包含的数据的数据类型,数据块关键词为每个增量数据块包含的数据的关键词。第一预测模型为基于增量数据块的数据量、数据块类型及数据块关键词预测增量数据块的第一表征参数和第二表征参数的网络模型,第一表征参数用于表征每个增量数据块的重要程度,第二表征参数用于表征每个增量数据块的私密程度。
52.其中,第一预测模型基于预设的第一训练样本集对预设第一网络模型进行训练得到,预设第一网络模型可以采用深度学习模型或机器学习模型,例如,卷积神经网络(convolutional neural networks, cnn)、反卷积神经网络(de-convolutional networks, dn)等。
53.进一步地,第一训练样本集包括多个训练数据块的数据量、数据块类型及数据块关键词及每个训练数据块的第一真实参数和第二真实参数。在对预设第一网络模型进行训练时,首先将第一训练样本集中的多个训练数据块的数据量、数据块类型及数据块关键词输入预设第一网络模型,通过第一网络模型输出每个训练数据块的第一预测参数和第二预测参数,接着根据第一预测参数、第二预测参数、第一真实参数、第二真实参数及第一网络模型的损失函数,确定第一损失值,当第一损失值不满足预设第一条件时,根据预设的第一参数学习率对第一网络模型的模型参数进行修正,并继续执行将第一训练样本集中的多个训练数据块的数据量、数据块类型及数据块关键词输入第一网络模型的步骤,直至第一损失值满足预设第一条件,从而得到第一预测模型。其中,第一损失值满足预设第一条件可以为第一损失值小于预设第一阈值,或者前后两次得到的第一损失值的差值小于预设第二阈值。
54.在一具体实现方式中,步骤s150包括:s151、获取每个第一虚拟磁盘对应的缓存空间包含的多个缓存区间的区间等级、区间容纳数据类型及区间容纳数据量;s152、基于第一表征参数和第二表征参数,确定每个增量数据块的目标表征参数;s153、将目标表征参数、数据块类型、区间等级、区间容纳数据类型及区间容纳数据量输入预先训练的第二预测模型,通过第二预测模型从多个缓存区间中确定每个数据块对应的缓存区间;s154、将每个数据块存储至每个数据块对应的缓存区间。
55.区间等级为缓存区间所属的等级,本实施例缓存空间中包含的多个缓存区间分别具有对应的区间等级,例如,缓存空间a中包括缓存区间1、缓存区间2、缓存区间3及缓存区间4,缓存区间1的区间等级为1级,缓存区间2的区间等级为2级,缓存区间3的区间等级为3级,缓存区间4的区间等级为4级。区间容纳数据类型为每个缓存区间可以容纳数据的类型,区间容纳数据量为每个缓存区间可以容纳的数据量。
56.目标表征参数基于第一表征参数和第二表征参数确定,基于第一表征参数和第二表征参数确定目标表征参数时,可以对第一表征参数和第二表征参数进行求和,或者对第一表征参数和第二表征参数进行加权求和,或者对第一表征参数和第二表征参数求和之后再平均,本技术对此不作限定。
57.第二预测模型用于基于目标表征参数、数据块类型、区间等级、区间容纳数据类型及区间容纳数据量预测每个数据块对应的缓存区间,第二预测模型基于预设的第二训练样本集对预设第二网络模型进行训练得到,预设第二网络模型可以采用深度学习模型或机器学习模型,例如,卷积神经网络(convolutional neural networks, cnn)、反卷积神经网络(de-convolutional networks, dn)等。
58.在一具体实现方式中,第二训练样本集包括多个训练块的目标表征参数和数据块类型,多个训练缓存区间的区间等级、区间容纳数据类型、区间容纳数据量及每个训练块对应的真实缓存区间。在对预设第二网络模型进行训练时,首先将多个训练块的目标表征参数、数据块类型及多个训练缓存区间的区间等级、区间容纳数据类型、区间容纳数据量输入预设第二网络模型,通过第二网络模型输出每个训练块对应的预测缓存区间,接着根据预测缓存区间、真实缓存区间及第二网络模型的损失函数,确定第二损失值,当第二损失值不
满足预设第二条件时,根据预设的第二参数学习率对第二网络模型的模型参数进行修正,并继续执行将多个训练块的目标表征参数、数据块类型及多个训练缓存区间的区间等级、区间容纳数据类型、区间容纳数据量输入第二网络模型的步骤,直至第二损失值满足预设第二条件,从而得到第二预测模型。其中,第二损失值满足预设第二条件可以为第二损失值小于预设第三阈值,或者前后两次得到的第二损失值的差值小于预设第四阈值。
59.在一具体实现方式中,步骤s500中基于空间信息和区间信息确定多个目标增量备份磁盘的覆盖顺序的步骤包括:s510、将区间等级、区间已容纳数据量及区间剩余容纳数据量输入预先训练的第三预测模型,通过第三预测模型输出每个缓存空间的第一空间参数;s520、将第一空间参数、空间已容纳数据量及空间剩余容纳数据量输入预先训练的第四预测模型,通过第四预测模型输出每个缓存空间的第二空间参数;s530、基于第二空间参数,确定多个目标增量备份磁盘的覆盖顺序。
60.第三预测模型用于基于区间等级、区间已容纳数据量及区间剩余容纳数据量预测每个缓存空间的第一空间参数,第四预测模型用于基于第一空间参数、空间已容纳数据量及空间剩余容纳数据量预测每个缓存空间的第二空间参数。第三预测模型基于预设的第三训练样本集对预设第三网络模型进行训练得到,第四预测模型基于预设的第四训练样本集对预设第四网络模型进行训练得到,预设第三网络模型和预设第四网络模型可以采用深度学习模型或机器学习模型,例如,卷积神经网络(convolutional neural networks, cnn)、反卷积神经网络(de-convolutional networks, dn)等。
61.在一具体实现方式中,第三训练样本集包括多个训练缓存空间的区间等级、区间已容纳数据量、区间剩余容纳数据量及每个训练缓存空间的第三真实参数。在对预设第三网络模型进行训练时,首先将多个训练缓存空间的区间等级、区间已容纳数据量及区间剩余容纳数据量输入预设第三网络模型,通过第三网络模型输出每个训练块对应的第三预测参数,接着根据第三预测参数、第三真实参数及第三网络模型的损失函数,确定第三损失值,当第三损失值不满足预设第三条件时,根据预设的第三参数学习率对第三网络模型的模型参数进行修正,并继续执行将多个训练缓存空间的区间等级、区间已容纳数据量及区间剩余容纳数据量输入第三网络模型的步骤,直至第三损失值满足预设第三条件,从而得到第三预测模型。其中,第三损失值满足预设第三条件可以为第三损失值小于预设第五阈值,或者前后两次得到的第三损失值的差值小于预设第六阈值。
62.进一步地,第四训练样本集包括多个训练缓存空间的第一空间参数、空间已容纳数据量、空间剩余容纳数据量及每个训练缓存空间的第四真实参数。在对预设第四网络模型进行训练时,首先将多个训练缓存空间的第一空间参数、空间已容纳数据量及空间剩余容纳数据量输入预设第四网络模型,通过第四网络模型输出每个训练缓存空间的第四预测参数,接着根据第四预测参数、第四真实参数及第四网络模型的损失函数,确定第四损失值,当第四损失值不满足预设第四条件时,根据预设的第四参数学习率对第四网络模型的模型参数进行修正,并继续执行将多个训练缓存空间的第一空间参数、空间已容纳数据量及空间剩余容纳数据量输入预设第四网络模型的步骤,直至第四损失值满足预设第四条件,从而得到第四预测模型。其中,第四损失值满足预设第四条件可以为第四损失值小于预设第七阈值,或者前后两次得到的第四损失值的差值小于预设第八阈值。
63.本实施例以缓存空间的空间已容纳数据量和空间剩余容纳数据量,以及缓存空间中缓存区间的区间等级、区间已容纳数据量、区间剩余容纳数据量作为确定缓存空间重要程度的判别标准,通过第三预测模型和第四预测模型确定每个缓存空间的第二空间参数后,基于第二空间参数即可确定缓存空间的重要程度。例如,缓存空间a、缓存空间b、缓存空间c、缓存空间d对应的第二空间参数分别为0.5、0.3、0.9、0.65,则确定缓存空间的重要程度为缓存空间c>缓存空间d>缓存空间a>缓存空间b。
64.在一具体实现方式中,步骤s600中基于多个目标增量备份磁盘和覆盖顺序对目标虚拟机进行磁盘覆盖的步骤具体包括:s610、获取目标虚拟磁盘包含的多个第二虚拟磁盘的状态信息、磁盘数据类型、磁盘容纳量及磁盘属性信息;s620、获取每个第一虚拟磁盘的磁盘数据类型、磁盘容纳量及磁盘属性信息;s630、基于多个第二虚拟磁盘的状态信息、磁盘数据类型、磁盘容纳量、磁盘属性信息及每个第一虚拟磁盘的磁盘数据类型、磁盘容纳量、磁盘属性信息,从多个第二虚拟磁盘中确定多个第一虚拟磁盘分别对应的多个目标虚拟磁盘;s640、基于覆盖顺序和多个目标增量备份磁盘,对多个目标虚拟磁盘进行覆盖。
65.目标虚拟磁盘中包括多个第二虚拟磁盘,每个第二虚拟磁盘具有状态信息、磁盘数据类型、磁盘容纳量及磁盘属性信息,状态信息用于表征每个第二虚拟磁盘的使用状态,磁盘数据类型为第二虚拟磁盘可以容纳的数据类型,磁盘容纳量为第二虚拟磁盘可以容纳的数据量,磁盘属性信息为与第二虚拟磁盘的属性有关的信息。
66.源虚拟磁盘中的多个第一虚拟磁盘也具有对应的磁盘数据类型、磁盘数据量及磁盘属性信息,多个目标虚拟磁盘为基于多个第二虚拟磁盘的状态信息、磁盘数据类型、磁盘容纳量、磁盘属性信息及每个第一虚拟磁盘的磁盘数据类型、磁盘容纳量、磁盘属性信息,从多个第二虚拟磁盘中确定的与每个第一虚拟磁盘最匹配的第二虚拟磁盘。
67.在一具体实现方式中,步骤s630包括:s631、将多个第二虚拟磁盘的状态信息、磁盘数据类型、磁盘容纳量、磁盘属性信息及每个第一虚拟磁盘的磁盘数据类型、磁盘容纳量、磁盘属性信息输入预先训练的第五预测模型,通过第五预测模型输出每个第二虚拟磁盘在每个第一虚拟磁盘下的磁盘得分;s632、基于磁盘得分,从多个第二虚拟磁盘中确定多个第一虚拟磁盘分别对应的多个目标虚拟磁盘。
68.磁盘得分用于表征每个第二虚拟磁盘与每个第一虚拟磁盘的匹配程度,第五预测模型用于基于多个第二虚拟磁盘的状态信息、磁盘数据类型、磁盘容纳量、磁盘属性信息及每个第一虚拟磁盘的磁盘数据类型、磁盘容纳量、磁盘属性信息预测每个第二虚拟磁盘在每个第一虚拟磁盘下的磁盘得分。第五预测模型基于预设的第五训练样本集对预设第五网络模型进行训练得到,预设第五网络模型可以采用深度学习模型或机器学习模型,例如,卷积神经网络(convolutional neural networks, cnn)、反卷积神经网络(de-convolutional networks, dn)等。
69.在一具体实现方式中,第五训练样本集包括多个第一训练磁盘的状态信息、磁盘数据类型、磁盘容纳量、磁盘属性信息,多个第二训练磁盘的磁盘数据类型、磁盘容纳量、磁盘属性信息及每个第一训练磁盘在每个第二训练磁盘下的真实得分。在对预设第五网络模
型进行训练时,首先将多个第一训练磁盘的状态信息、磁盘数据类型、磁盘容纳量、磁盘属性信息及多个第二训练磁盘的磁盘数据类型、磁盘容纳量、磁盘属性信息输入预设第五网络模型,通过第五网络模型输出每个第一训练磁盘在每个第二训练磁盘下的预测得分,接着根据预测得分、真实得分及第五网络模型的损失函数,确定第五损失值,当第五损失值不满足预设第五条件时,根据预设的第五参数学习率对第五网络模型的模型参数进行修正,并继续执行将多个第一训练磁盘的状态信息、磁盘数据类型、磁盘容纳量、磁盘属性信息及多个第二训练磁盘的磁盘数据类型、磁盘容纳量、磁盘属性信息输入预设第五网络模型的步骤,直至第五损失值满足预设第五条件,从而得到第五预测模型。其中,第五损失值满足预设第五条件可以为第五损失值小于预设第九阈值,或者前后两次得到的第五损失值的差值小于预设第十阈值。
70.为了更好实现本技术实施例中虚拟机数据恢复方法,在虚拟机数据恢复方法基础之上,本技术实施例中还提供一种虚拟机数据恢复装置,如图3所示,虚拟机数据恢复装置700包括:请求接收单元701,用于接收针对源虚拟机的数据恢复请求,基于数据恢复请求确定源虚拟机的数据恢复类型,源虚拟机包括多个第一虚拟磁盘;第一获取单元702,用于当数据恢复类型为增量恢复时,从预先构建的多个缓存空间中获取多个第一虚拟磁盘的增量数据,多个缓存空间与多个第一虚拟磁盘分别对应,每个缓存空间用于存储每个缓存空间对应的第一虚拟磁盘的增量数据;第一转化单元703,用于将每个第一虚拟磁盘的增量数据转化为raw格式的数据磁盘,得到每个第一虚拟磁盘的当前增量备份磁盘;磁盘合并单元704,用于获取每个第一虚拟磁盘的全量备份磁盘和历史增量备份磁盘,将全量备份磁盘、历史增量备份磁盘及当前增量备份磁盘进行合并,得到多个第一虚拟磁盘分别对应的多个目标增量备份磁盘;顺序确定单元705,用于获取每个缓存空间的空间信息及每个缓存空间包含的多个缓存区间的区间信息,基于空间信息和区间信息确定多个目标增量备份磁盘的覆盖顺序;数据恢复单元706,用于基于多个目标增量备份磁盘和覆盖顺序对目标虚拟机进行磁盘覆盖,以将源虚拟机中的数据恢复至目标虚拟机。
71.本技术实施例中,将每个第一虚拟磁盘的增量数据转化为raw格式的数据磁盘,通过转化磁盘格式的方式压缩数据,可以减少数据恢复时耗费的时间和计算资源;将全量备份磁盘、历史增量备份磁盘及当前增量备份磁盘合并为目标增量备份磁盘,再基于目标增量备份磁盘进行数据恢复,可以保障虚拟机中数据恢复的完整性;基于空间信息和区间信息确定多个目标增量备份磁盘的覆盖顺序,再基于覆盖顺序对目标虚拟机进行磁盘覆盖,可以对重要的目标增量备份磁盘进行优先恢复。
72.在本技术一些实施例中,虚拟机数据恢复装置700还包括:第二转化单元,用于当数据恢复类型为全量恢复时,基于kvm底层备份命令将多个第一虚拟磁盘中的全量数据分别转化为raw格式的数据磁盘,得到每个第一虚拟磁盘的全量备份磁盘;空间创建单元,用于基于全量备份磁盘对目标虚拟机进行磁盘覆盖,并创建多个
第一虚拟磁盘分别对应的多个缓存空间。
73.在本技术一些实施例中,虚拟机数据恢复装置700还包括:第二获取单元,用于获取每个第一虚拟磁盘的增量数据,增量数据中包括多个增量数据块;参数确定单元,用于获取每个增量数据块的数据量、数据块类型及数据块关键词,将数据量、数据块类型及数据块关键词输入预先训练的第一预测模型,通过第一预测模型输出每个增量数据块的第一表征参数和第二表征参数,第一表征参数用于表征每个增量数据块的重要程度,第二表征参数用于表征每个增量数据块的私密程度;数据存储单元,用于基于第一表征参数和第二表征参数,将多个增量数据块存储至每个第一虚拟磁盘对应的缓存空间。
74.在本技术一些实施例中,数据存储单元具体还用于:获取每个第一虚拟磁盘对应的缓存空间包含的多个缓存区间的区间等级、区间容纳数据类型及区间容纳数据量;基于第一表征参数和第二表征参数,确定每个增量数据块的目标表征参数;将目标表征参数、数据块类型、区间等级、区间容纳数据类型及区间容纳数据量输入预先训练的第二预测模型,通过第二预测模型从多个缓存区间中确定每个数据块对应的缓存区间;将每个数据块存储至每个数据块对应的缓存区间。
75.在本技术一些实施例中,空间信息包括空间已容纳数据量和空间剩余容纳数据量,区间信息包括区间等级、区间已容纳数据量及区间剩余容纳数据量,顺序确定单元705具体用于:将区间等级、区间已容纳数据量及区间剩余容纳数据量输入预先训练的第三预测模型,通过第三预测模型输出每个缓存空间的第一空间参数;将第一空间参数、空间已容纳数据量及空间剩余容纳数据量输入预先训练的第四预测模型,通过第四预测模型输出每个缓存空间的第二空间参数;基于第二空间参数,确定多个目标增量备份磁盘的覆盖顺序。
76.在本技术一些实施例中,数据恢复单元706具体用于:获取目标虚拟磁盘包含的多个第二虚拟磁盘的状态信息、磁盘数据类型、磁盘容纳量及磁盘属性信息;获取每个第一虚拟磁盘的磁盘数据类型、磁盘容纳量及磁盘属性信息;基于多个第二虚拟磁盘的状态信息、磁盘数据类型、磁盘容纳量、磁盘属性信息及每个第一虚拟磁盘的磁盘数据类型、磁盘容纳量、磁盘属性信息,从多个第二虚拟磁盘中确定多个第一虚拟磁盘分别对应的多个目标虚拟磁盘;基于覆盖顺序和多个目标增量备份磁盘,对多个目标虚拟磁盘进行覆盖。
77.在本技术一些实施例中,数据恢复单元706具体还用于:将多个第二虚拟磁盘的状态信息、磁盘数据类型、磁盘容纳量、磁盘属性信息及每个第一虚拟磁盘的磁盘数据类型、磁盘容纳量、磁盘属性信息输入预先训练的第五预测模型,通过第五预测模型输出每个第二虚拟磁盘在每个第一虚拟磁盘下的磁盘得分;基于磁盘得分,从多个第二虚拟磁盘中确定多个第一虚拟磁盘分别对应的多个目
标虚拟磁盘。
78.本技术实施例还提供一种计算机设备,其集成了本技术实施例所提供的任一种虚拟机数据恢复装置,计算机设备包括:一个或多个处理器;存储器;以及一个或多个应用程序,其中一个或多个应用程序被存储于存储器中,并配置为由处理器执行上述虚拟机数据恢复方法实施例中任一实施例中的虚拟机数据恢复方法中的步骤。
79.本技术实施例还提供一种计算机设备,其集成了本技术实施例所提供的任一种虚拟机数据恢复装置。如图4所示,其示出了本技术实施例所涉及的计算机设备的结构示意图,具体来讲:该计算机设备可以包括一个或者一个以上处理核心的处理器801、一个或一个以上计算机可读存储介质的存储器802、电源803和输入单元804等部件。本领域技术人员可以理解,图4中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:处理器801是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器802内的软件程序和/或模块,以及调用存储在存储器802内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器801可包括一个或多个处理核心;优选的,处理器801可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器801中。
80.存储器802可用于存储软件程序以及模块,处理器801通过运行存储在存储器802的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器802可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器802还可以包括存储器控制器,以提供处理器801对存储器802的访问。
81.计算机设备还包括给各个部件供电的电源803,优选的,电源803可以通过电源管理系统与处理器801逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源803还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
82.该计算机设备还可包括输入单元804,该输入单元804可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
83.尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器801会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器802中,并由处理器801来运行存储在存储器802中的应用程
序,从而实现各种功能,如下:接收针对源虚拟机的数据恢复请求,基于数据恢复请求确定源虚拟机的数据恢复类型,源虚拟机包括多个第一虚拟磁盘;当数据恢复类型为增量恢复时,从预先构建的多个缓存空间中获取多个第一虚拟磁盘的增量数据,多个缓存空间与多个第一虚拟磁盘分别对应,每个缓存空间用于存储每个缓存空间对应的第一虚拟磁盘的增量数据;将每个第一虚拟磁盘的增量数据转化为raw格式的数据磁盘,得到每个第一虚拟磁盘的当前增量备份磁盘;获取每个第一虚拟磁盘的全量备份磁盘和历史增量备份磁盘,将全量备份磁盘、历史增量备份磁盘及当前增量备份磁盘进行合并,得到多个第一虚拟磁盘分别对应的多个目标增量备份磁盘;获取每个缓存空间的空间信息及每个缓存空间包含的多个缓存区间的区间信息,基于空间信息和区间信息确定多个目标增量备份磁盘的覆盖顺序;基于多个目标增量备份磁盘和覆盖顺序对目标虚拟机进行磁盘覆盖,以将源虚拟机中的数据恢复至目标虚拟机。
84.本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
85.为此,本技术实施例提供一种计算机可读存储介质,该存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。其上存储有计算机程序,计算机程序被处理器进行加载,以执行本技术实施例所提供的任一种虚拟机数据恢复方法中的步骤。例如,计算机程序被处理器进行加载可以执行如下步骤:接收针对源虚拟机的数据恢复请求,基于数据恢复请求确定源虚拟机的数据恢复类型,源虚拟机包括多个第一虚拟磁盘;当数据恢复类型为增量恢复时,从预先构建的多个缓存空间中获取多个第一虚拟磁盘的增量数据,多个缓存空间与多个第一虚拟磁盘分别对应,每个缓存空间用于存储每个缓存空间对应的第一虚拟磁盘的增量数据;将每个第一虚拟磁盘的增量数据转化为raw格式的数据磁盘,得到每个第一虚拟磁盘的当前增量备份磁盘;获取每个第一虚拟磁盘的全量备份磁盘和历史增量备份磁盘,将全量备份磁盘、历史增量备份磁盘及当前增量备份磁盘进行合并,得到多个第一虚拟磁盘分别对应的多个目标增量备份磁盘;获取每个缓存空间的空间信息及每个缓存空间包含的多个缓存区间的区间信息,基于空间信息和区间信息确定多个目标增量备份磁盘的覆盖顺序;基于多个目标增量备份磁盘和覆盖顺序对目标虚拟机进行磁盘覆盖,以将源虚拟机中的数据恢复至目标虚拟机。
86.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。
87.具体实施时,以上各个单元或结构可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元或结构的具体实施可参见前面的方法实施例,在此不再赘述。
88.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
89.以上对本技术实施例所提供的一种虚拟机数据恢复方法、装置、计算机设备及存储介质进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
技术特征:
1.一种虚拟机数据恢复方法,其特征在于,包括:接收针对源虚拟机的数据恢复请求,基于所述数据恢复请求确定所述源虚拟机的数据恢复类型,所述源虚拟机包括多个第一虚拟磁盘;当所述数据恢复类型为增量恢复时,从预先构建的多个缓存空间中获取多个所述第一虚拟磁盘的增量数据,多个所述缓存空间与多个所述第一虚拟磁盘分别对应,每个所述缓存空间用于存储每个所述缓存空间对应的第一虚拟磁盘的增量数据;将每个所述第一虚拟磁盘的增量数据转化为raw格式的数据磁盘,得到每个所述第一虚拟磁盘的当前增量备份磁盘;获取每个所述第一虚拟磁盘的全量备份磁盘和历史增量备份磁盘,将所述全量备份磁盘、所述历史增量备份磁盘及所述当前增量备份磁盘进行合并,得到多个所述第一虚拟磁盘分别对应的多个目标增量备份磁盘;获取每个所述缓存空间的空间信息及每个所述缓存空间包含的多个缓存区间的区间信息,基于所述空间信息和所述区间信息确定多个所述目标增量备份磁盘的覆盖顺序;基于多个所述目标增量备份磁盘和所述覆盖顺序对目标虚拟机进行磁盘覆盖,以将所述源虚拟机中的数据恢复至所述目标虚拟机。2.根据权利要求1所述的虚拟机数据恢复方法,其特征在于,所述基于所述数据恢复请求确定所述源虚拟机的数据恢复类型之后,包括:当所述数据恢复类型为全量恢复时,基于kvm底层备份命令将多个所述第一虚拟磁盘中的全量数据分别转化为raw格式的数据磁盘,得到每个所述第一虚拟磁盘的全量备份磁盘;基于所述全量备份磁盘对所述目标虚拟机进行磁盘覆盖,并创建多个所述第一虚拟磁盘分别对应的多个缓存空间。3.根据权利要求2所述的虚拟机数据恢复方法,其特征在于,所述创建多个所述第一虚拟磁盘分别对应的多个缓存空间之后,包括:获取每个所述第一虚拟磁盘的增量数据,所述增量数据中包括多个增量数据块;获取每个所述增量数据块的数据量、数据块类型及数据块关键词,将所述数据量、所述数据块类型及所述数据块关键词输入预先训练的第一预测模型,通过所述第一预测模型输出每个所述增量数据块的第一表征参数和第二表征参数,所述第一表征参数用于表征每个所述增量数据块的重要程度,所述第二表征参数用于表征每个所述增量数据块的私密程度;基于所述第一表征参数和所述第二表征参数,将多个所述增量数据块存储至每个所述第一虚拟磁盘对应的缓存空间。4.根据权利要求3所述的虚拟机数据恢复方法,其特征在于,所述基于所述第一表征参数和所述第二表征参数,将多个所述增量数据块存储至每个所述第一虚拟磁盘对应的缓存空间,包括:获取每个所述第一虚拟磁盘对应的缓存空间包含的多个缓存区间的区间等级、区间容纳数据类型及区间容纳数据量;基于所述第一表征参数和所述第二表征参数,确定每个所述增量数据块的目标表征参数;
将所述目标表征参数、所述数据块类型、所述区间等级、所述区间容纳数据类型及所述区间容纳数据量输入预先训练的第二预测模型,通过所述第二预测模型从多个所述缓存区间中确定每个所述数据块对应的缓存区间;将每个所述数据块存储至每个所述数据块对应的缓存区间。5.根据权利要求1所述的虚拟机数据恢复方法,其特征在于,所述空间信息包括空间已容纳数据量和空间剩余容纳数据量,所述区间信息包括区间等级、区间已容纳数据量及区间剩余容纳数据量,所述基于所述空间信息和所述区间信息确定多个所述目标增量备份磁盘的覆盖顺序,包括:将所述区间等级、所述区间已容纳数据量及所述区间剩余容纳数据量输入预先训练的第三预测模型,通过所述第三预测模型输出每个所述缓存空间的第一空间参数;将所述第一空间参数、所述空间已容纳数据量及所述空间剩余容纳数据量输入预先训练的第四预测模型,通过所述第四预测模型输出每个所述缓存空间的第二空间参数;基于所述第二空间参数,确定多个所述目标增量备份磁盘的覆盖顺序。6.根据权利要求1所述的虚拟机数据恢复方法,其特征在于,所述基于多个所述目标增量备份磁盘和所述覆盖顺序对目标虚拟机进行磁盘覆盖,包括:获取目标虚拟磁盘包含的多个第二虚拟磁盘的状态信息、磁盘数据类型、磁盘容纳量及磁盘属性信息;获取每个所述第一虚拟磁盘的磁盘数据类型、磁盘容纳量及磁盘属性信息;基于多个所述第二虚拟磁盘的状态信息、磁盘数据类型、磁盘容纳量、磁盘属性信息及每个所述第一虚拟磁盘的磁盘数据类型、磁盘容纳量、磁盘属性信息,从多个所述第二虚拟磁盘中确定多个所述第一虚拟磁盘分别对应的多个目标虚拟磁盘;基于所述覆盖顺序和多个所述目标增量备份磁盘,对多个所述目标虚拟磁盘进行覆盖。7.根据权利要求6所述的虚拟机数据恢复方法,其特征在于,所述基于多个所述第二虚拟磁盘的状态信息、磁盘数据类型、磁盘容纳量、磁盘属性信息及每个所述第一虚拟磁盘的磁盘数据类型、磁盘容纳量、磁盘属性信息,从多个所述第二虚拟磁盘中确定多个所述第一虚拟磁盘分别对应的多个目标虚拟磁盘,包括:将多个所述第二虚拟磁盘的状态信息、磁盘数据类型、磁盘容纳量、磁盘属性信息及每个所述第一虚拟磁盘的磁盘数据类型、磁盘容纳量、磁盘属性信息输入预先训练的第五预测模型,通过所述第五预测模型输出每个所述第二虚拟磁盘在每个所述第一虚拟磁盘下的磁盘得分;基于所述磁盘得分,从多个所述第二虚拟磁盘中确定多个所述第一虚拟磁盘分别对应的多个目标虚拟磁盘。8.一种虚拟机数据恢复装置,其特征在于,包括:请求接收单元,用于接收针对源虚拟机的数据恢复请求,基于所述数据恢复请求确定所述源虚拟机的数据恢复类型,所述源虚拟机包括多个第一虚拟磁盘;第一获取单元,用于当所述数据恢复类型为增量恢复时,从预先构建的多个缓存空间中获取多个所述第一虚拟磁盘的增量数据,多个所述缓存空间与多个所述第一虚拟磁盘分别对应,每个所述缓存空间用于存储每个所述缓存空间对应的第一虚拟磁盘的增量数据;
第一转化单元,用于将每个所述第一虚拟磁盘的增量数据转化为raw格式的数据磁盘,得到每个所述第一虚拟磁盘的当前增量备份磁盘;磁盘合并单元,用于获取每个所述第一虚拟磁盘的全量备份磁盘和历史增量备份磁盘,将所述全量备份磁盘、所述历史增量备份磁盘及所述当前增量备份磁盘进行合并,得到多个所述第一虚拟磁盘分别对应的多个目标增量备份磁盘;顺序确定单元,用于获取每个所述缓存空间的空间信息及每个所述缓存空间包含的多个缓存区间的区间信息,基于所述空间信息和所述区间信息确定多个所述目标增量备份磁盘的覆盖顺序;数据恢复单元,用于基于多个所述目标增量备份磁盘和所述覆盖顺序对目标虚拟机进行磁盘覆盖,以将所述源虚拟机中的数据恢复至所述目标虚拟机。9.一种计算机设备,其特征在于,所述计算机设备包括:一个或多个处理器;存储器;以及一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现权利要求1至7中任一项所述的虚拟机数据恢复方法。10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行权利要求1至7任一项所述的虚拟机数据恢复方法中的步骤。
技术总结
本申请公开了一种虚拟机数据恢复方法、装置、计算机设备及存储介质,包括:接收针对源虚拟机的数据恢复请求,基于数据恢复请求确定源虚拟机的数据恢复类型;当数据恢复类型为增量恢复时,从多个缓存空间中获取多个第一虚拟磁盘的增量数据;将增量数据转化为raw格式的数据磁盘,得到当前增量备份磁盘;将全量备份磁盘、历史增量备份磁盘及当前增量备份磁盘进行合并,得到多个目标增量备份磁盘;基于空间信息和区间信息确定多个目标增量备份磁盘的覆盖顺序;基于多个目标增量备份磁盘和覆盖顺序对目标虚拟机进行磁盘覆盖。本申请可以减少数据恢复时耗费的时间和计算资源,保障虚拟机中数据恢复的完整性。数据恢复的完整性。数据恢复的完整性。
技术研发人员:周高登 陈立军 李小珍 江锐
受保护的技术使用者:武汉吧哒科技股份有限公司
技术研发日:2023.07.12
技术公布日:2023/8/14
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
