用于虚拟机备份的方法和设备与流程

文档序号:14950512发布日期:2018-07-17 22:26阅读:174来源:国知局

本申请涉及计算机技术领域,更具体地涉及用于虚拟机备份的方法和设备。



背景技术:

现有的数据备份系统通常由数据备份客户端装置、数据备份管理装置与备份数据存储装置组成。数据备份管理装置是数据备份过程的发起装置,当预定的备份窗口时间(即数据备份客户端可以进行数据备份的时间范围)到达时,数据备份管理装置向数据备份客户端装置发出启动数据备份指令。

在服务器虚拟化环境中,物理服务器(或物理机)通过运行服务器虚拟化软件,可以支持多个虚拟服务器(或虚拟机)在一台物理服务器上运行。在备份虚拟服务器中的数据时,当物理服务器上有多个虚拟服务器同时执行数据备份任务或执行备份任务的时间重叠时,可能会占用大量的cpu、内存负载与网络带宽,导致物理资源过度消耗,因此影响业务正常负载和网络通信质量。因此,现有的数据备份系统通常难以适应虚拟化比(虚拟化服务器数量:物理服务器数量)较高的环境。



技术实现要素:

根据本申请实施例的一方面,提供了一种用于虚拟机备份的方法,包括:确定物理机的最大并行备份数目n,该最大并行备份数目n表示物理机上允许同时执行的虚拟机备份任务的最大数目;将物理机上待执行的虚拟机备份任务发送到备份任务队列中;从备份任务队列中获取所有请求在当前时刻执行的虚拟机备份任务;比较所获取的虚拟机备份任务的数目m与最大并行备份数目n;以及基于比较的结果来执行虚拟机备份任务,其中:如果m小于或等于n,则执行所获取的m个虚拟机备份任务;以及如果m大于n,则执行下述操作:基于备份任务优先级从所获取的m个虚拟机备份任务中选择n个虚拟机备份任务;以及执行所选择的n个虚拟机备份任务。

根据本申请实施例的另一方面,提供了一种用于虚拟机备份的设备,包括:确定单元,被配置为确定物理机的最大并行备份数目n,该最大并行备份数目n表示物理机上允许同时执行的虚拟机备份任务的最大数目;发送单元,被配置为将物理机上待执行的虚拟机备份任务发送到备份任务队列中;获取单元,被配置为从备份任务队列中获取所有请求在当前时刻执行的虚拟机备份任务;比较单元,被配置为比较所获取的虚拟机备份任务的数目m与最大并行备份数目n;以及执行单元,被配置为基于比较的结果来执行虚拟机备份任务,其中:如果m小于或等于n,则执行所获取的m个虚拟机备份任务;以及如果m大于n,则执行下述操作:基于备份任务优先级从所获取的m个虚拟机备份任务中选择n个虚拟机备份任务;以及执行所选择的n个虚拟机备份任务。

根据本申请实施例的用于虚拟机备份的方法和设备能够避免因虚拟机备份活动而导致的物理资源过度消耗的问题,从而保障业务正常负载和网络通信质量。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了根据本申请实施例的用于虚拟机备份的方法的示意性流程图;

图2示出了根据本申请实施例的用于虚拟机备份的设备的示意性框图;

图3示出了能够实现根据本申请实施例的用于虚拟机备份的方法和设备的至少一部分的计算设备的示例性硬件架构的结构图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部实施例。基于本申请的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

下面将详细描述本申请的各个方面的特征和示例性实施例。在下面的详细描述中,提出了许多具体细节,以便提供对本申请的全面理解。但是,对于本领域技术人员来说很明显的是,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请的更好的理解。本申请不限于下面所提出的任何具体配置和算法,而是在不脱离本申请的精神的前提下覆盖了元素、部件和算法的任何修改、替换和改进。在附图和下面的描述中,没有示出公知的结构和技术,以便避免对本申请造成不必要的模糊。

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式;相反,提供这些实施方式使得本申请更全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的结构,因而将省略它们的详细描述。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有所述特定细节中的一个或更多,或者可以采用其它的方法、组元、材料等。在其它情况下,不详细示出或描述公知结构、材料或者操作以避免模糊本申请的主要技术创意。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

图1示出了根据本申请实施例的用于虚拟机备份的方法的示意性流程图。如图1所示,用于虚拟机备份的方法可以包括:s102,确定物理机的最大并行备份数目n,该最大并行备份数目n表示物理机上允许同时执行的虚拟机备份任务的最大数目;s104,将物理机上待执行的虚拟机备份任务发送到备份任务队列中;s106,从备份任务队列中获取请求在当前时刻执行的所有虚拟机备份任务;s108,比较所获取的虚拟机备份任务的数目m与最大并行备份数目n;以及s110,基于比较的结果来执行虚拟机备份任务,其中:如果m小于或等于n,则执行所获取的m个虚拟机备份任务;以及如果m大于n,则执行下述操作:基于备份任务优先级从所获取的m个虚拟机备份任务中选择n个虚拟机备份任务;以及执行所选择的n个虚拟机备份任务。

具体地,在步骤s102中,在一些实施例中,最大并行备份数目n可以基于物理机的配置和性能来确定。例如,数据备份管理装置的管理员可以根据诸如物理机的硬件资源、网络、架构、以及存储配置之类的参数来设置该物理机上允许在同一时间执行的数据备份任务的最大数目,例如可以表示为最大并行备份数目n。物理机的最大并行备份数目n可以确保当物理机上同时执行n个备份任务时所引起的性能下降不会影响该物理机的虚拟机上的所有业务的正常运行。

在一些实施例中,用于虚拟机备份的方法100还可以包括:基于物理机的配置和性能变化来调整最大并行备份数目n。例如,当物理机的硬件资源、网络、架构、以及存储配置发生变化时,可以根据需要来及时调整最大并行备份数目n,以保证备份效率和性能。

在步骤s104中,在一些实施例中,物理机上待执行的虚拟机备份任务可以按请求执行虚拟机备份任务的时间先后顺序依次被发送到备份任务队列中,并且备份任务队列可以是先入先出队列。例如,每个待执行的虚拟机备份任务都可以按需请求在所期望的时间执行备份任务,例如可以用请求执行时间来表示每个待执行的虚拟机备份任务所请求的执行备份任务的时间。例如,可以将请求执行时间最早的虚拟机备份任务最先发送到备份任务队列中,然后可以按请求执行时间的先后顺序继续将所有待执行的虚拟机备份任务依次发送到备份任务队列中。在这样的情况下,备份任务队列例如可以是先入先出(fifo)队列,以使得请求执行时间较早的虚拟机备份任务可以较早地得到执行。

在将物理机上待执行的虚拟机备份任务发送到备份任务队列中后,在步骤s106中,可以从备份任务队列中获取请求在当前时刻执行的所有虚拟机备份任务。在该实施例中,所获取的所有虚拟机备份任务都期望在当前时刻执行。在步骤s108中,可以将所获取的虚拟机备份任务的数目m与最大并行备份数目n进行比较。在该实施例中,m可以表示请求在当前时刻执行的虚拟机备份任务的总数目,而n可以表示物理机上允许在同一时间执行的数据备份任务的最大数目。

在步骤s110中,可以基于比较的结果来执行虚拟机备份任务。当m小于或等于n时,可以执行所获取的m个虚拟机备份任务;当m大于n时,则可以首先基于备份任务优先级从所获取的m个虚拟机备份任务中选择优先级较高的n个虚拟机备份任务,然后再执行所选择的n个虚拟机备份任务。在一些实施例中,如果m大于n,则还可以将未选择的优先级较低的(m-n)个虚拟机备份任务发送返回到备份任务队列中,这样可以确保在同一时间仅允许执行最多n个备份任务,从而避免因虚拟机备份活动而导致的物理资源过度消耗的问题,以保障业务正常负载和网络通信质量。在一些实施例中,如果m大于n,每当所选择的n个虚拟机备份任务中有备份任务执行结束时,可以从备份任务队列中被返回的(m-n)个虚拟机备份任务中选择虚拟机备份任务来执行,直至执行完被返回的(m-n)个虚拟机备份任务。

在一些实施例中,在出现m大于n的情况下,即请求在当前时刻执行备份的虚拟机备份任务总数目大于预先设定的物理机上允许同时执行的虚拟机备份任务的最大数目时,这表示计划的备份任务无法按时执行和完成,此时可以通过诸如即时消息、日志告警、简单网络管理协议(snmp)告警之类的方式通知备份管理员。

在一些实施例中,用于虚拟机备份的方法还可以包括:如果m大于n,则调整最大并行备份数目n。例如,在接收到计划的备份任务无法按时执行的通知后,备份管理员可以根据需要对预定的最大并行备份数目n进行相应调整,例如可以在不影响当前业务和数据备份任务的情况下,基于当前备份任务需求来适当增大最大并行备份数目n以满足当前备份需求。

图2示出了根据本申请实施例的用于虚拟机备份的设备的示意性框图。如图2所示,用于虚拟机备份的设备200可以包括:确定单元202,被配置为确定物理机的最大并行备份数目n,该最大并行备份数目n表示物理机上允许同时执行的虚拟机备份任务的最大数目;发送单元204,被配置为将物理机上待执行的虚拟机备份任务发送到备份任务队列中;获取单元206,被配置为从备份任务队列中获取所有请求在当前时刻执行的虚拟机备份任务;比较单元208,被配置为比较所获取的虚拟机备份任务的数目m与最大并行备份数目n;以及执行单元210,被配置为基于比较的结果来执行虚拟机备份任务,其中:如果m小于或等于n,则执行所获取的m个虚拟机备份任务;以及如果m大于n,则执行下述操作:基于备份任务优先级从所获取的m个虚拟机备份任务中选择n个虚拟机备份任务;以及执行所选择的n个虚拟机备份任务。

在一些实施例中,确定单元202可以基于物理机的配置和性能来确定最大并行备份数目n。例如,确定单元202可以根据诸如物理机的硬件资源、网络、架构、以及存储配置之类的参数来设置该物理机上允许在同一时间执行的数据备份任务的最大数目,例如可以表示为最大并行备份数目n。物理机的最大并行备份数目n可以确保当物理机上同时执行n个备份任务时所引起的性能下降不会影响该物理机的虚拟机上的所有业务的正常运行。

在一些实施例中,用于虚拟机备份的设备200还可以包括:调整单元(未示出),被配置为基于物理机的配置和性能变化来调整最大并行备份数目n。例如,当物理机的硬件资源、网络、架构、以及存储配置发生变化时,可以根据需要来及时调整最大并行备份数目n,以保证备份效率和性能。

在一些实施例中,发送单元204可以按请求执行虚拟机备份任务的时间先后顺序将物理机上待执行的虚拟机备份任务依次发送到备份任务队列中,并且备份任务队列可以是先入先出队列。例如,每个待执行的虚拟机备份任务都可以按需请求在所期望的时间执行备份任务,例如可以用请求执行时间来表示每个待执行的虚拟机备份任务所请求的执行备份任务的时间。例如,发送单元204可以将请求执行时间最早的虚拟机备份任务最先发送到备份任务队列中,然后可以按请求执行时间的先后顺序继续将所有待执行的虚拟机备份任务依次发送到备份任务队列中。在这样的情况下,备份任务队列例如可以是先入先出(fifo)队列,以使得请求执行时间较早的虚拟机备份任务可以较早地得到执行。

在一些实施例中,如果m大于n,执行单元210还可以将未选择的优先级较低的(m-n)个虚拟机备份任务发送返回到备份任务队列中,这样可以确保在同一时间仅允许执行最多n个备份任务。在一些实施例中,如果m大于n,每当所选择的n个虚拟机备份任务中有备份任务执行结束时,执行单元210可以从备份任务队列中被返回的(m-n)个虚拟机备份任务中选择虚拟机备份任务来执行,直至执行完被返回的(m-n)个虚拟机备份任务。

在一些实施例中,用于虚拟机备份的设备200还可以包括通知单元(未示出)。在出现m大于n的情况下,通知单元可以通过诸如即时消息、日志告警、snmp告警之类的方式通知调整单元。

在一些实施例中,调整单元还可以被配置为:如果m大于n,则调整最大并行备份数目n。例如,在接收到计划的备份任务无法按时执行的通知后,调整单元可以根据需要对预定的最大并行备份数目n进行相应调整,例如可以在不影响当前业务和数据备份任务的情况下,基于当前备份任务需求来适当增大最大并行备份数目n以满足当前备份需求。

图3示出了能够实现根据本申请实施例的用于虚拟机备份的方法和设备的至少一部分的计算设备的示例性硬件架构的结构图。

结合1至图2描述的用于虚拟机备份的方法100和用于虚拟机备份的设备200的至少一部分可以由计算设备实现。图3示出了能够实现根据本申请实施例的用于风电机组的误差补偿方法和设备的至少一部分的计算设备的示例性硬件架构的结构图。如图3所示,计算设备300可以包括输入设备301、输入接口302、中央处理器303、存储器303、输出接口305、以及输出设备306。其中,输入接口302、中央处理器303、存储器304、以及输出接口305通过总线310相互连接,输入设备301和输出设备306分别通过输入接口302和输出接口305与总线310连接,进而与计算设备300的其他组件连接。具体地,输入设备301接收来自外部的输入信息,并通过输入接口302将输入信息传送到中央处理器303;中央处理器303基于存储器304中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器304中,然后通过输出接口305将输出信息传送到输出设备306;输出设备306将输出信息输出到计算设备300的外部。

也就是说,图2所示的用于虚拟机备份的设备200也可以被实现为包括存储有计算机可执行指令的存储器;以及处理器,该处理器在执行计算机可执行指令时可以实现结合图1描述的用于虚拟机备份的方法100。

需要明确,本申请并不局限于上文所描述并在图中示出的特定配置和处理。并且,为了简明起见,这里省略对已知方法技术的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后作出各种改变、修改和添加,或者改变步骤之间的顺序。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

本领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、设备或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1