基于虚拟机集群的回滚方法及系统和服务器的制造方法

文档序号:9929441阅读:1159来源:国知局
基于虚拟机集群的回滚方法及系统和服务器的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,尤其涉及一种基于虚拟机集群的回滚方法及系统和服务器。
【背景技术】
[0002]随着虚拟化技术的兴起,越来越多的应用依赖于虚拟机集群来实现,云计算的规模和运算量也呈急剧增加的趋势,随之而来的,系统出现异常的情况越来越严重。当出现异常时,虚拟机可能会崩溃,集群之间的网络也可能中断,更严重的将有可能导致应用在虚拟环境里终止计算。此外,如果进行长时间计算,如科学计算和大型图象处理,这些工作可能因为频繁中断带来的中间结果丢失而永远无法完成。因而,现有技术对虚拟化技术的可行性提出了较高的要求。
[0003]在现有的众多提高虚拟化技术的可行性的方法中,回滚方法是被采用的最为广泛的方法之一。目前,回滚方法主要是通过将虚拟机集群恢复所需的数据,分别发送到各对应的虚拟机中使得虚拟机集群从崩溃状态中恢复。但是,这种回滚方法在恢复虚拟机集群时,需要的恢复时间较长,网络占用量较高。

【发明内容】

[0004]本发明提供一种基于虚拟机集群的回滚方法及系统和服务器,用以解决现有回滚方法在恢复虚拟机集群时,需要的恢复时间较长,网络占用量较高的问题。
[0005]本发明提供的基于虚拟机集群的回滚方法,包括:
[0006]在检测到所述虚拟机集群中的至少一个虚拟机异常时,从内存中获取所述虚拟机集群中的所有重复页面和除所述重复页面以外的剩余页面,并确定各重复页面与各虚拟机之间的映射关系,以及各剩余页面与所述各虚拟机之间的映射关系;
[0007]根据各重复页面与各虚拟机之间的映射关系,将所述各重复页面通过组播的传输方式发送给对应的虚拟机;并根据所述各剩余页面与所述各虚拟机之间的映射关系,将所述各剩余页面通过单播的传输方式发送给对应的虚拟机;以使所述虚拟机集群中的各虚拟机恢复异常前的正常状态。
[0008]本发明提供的服务器,包括:
[0009]检测模块,用于对虚拟机集群中的虚拟机的工作状态进行检测;
[0010]获取模块,用于在所述检测模块检测到所述虚拟机集群中的至少一个虚拟机异常时,从内存中获取所述虚拟机集群中的所有重复页面和除所述重复页面以外的剩余页面;
[0011]确定模块,用于确定各重复页面与各虚拟机之间的映射关系,以及各剩余页面与所述各虚拟机之间的映射关系;
[0012]发送模块,用于根据各重复页面与各虚拟机之间的映射关系,将所述各重复页面通过组播的传输方式发送给对应的虚拟机;并根据所述各剩余页面与所述各虚拟机之间的映射关系,将所述各剩余页面通过单播的传输方式发送给对应的虚拟机;以使所述虚拟机集群中的各虚拟机恢复异常前的正常状态。
[0013]本发明提供的基于虚拟机集群的回滚系统,包括所述虚拟机集群和上述服务器。
[0014]本实施例提供的基于虚拟机集群的回滚方法及系统和服务器,通过组播的传输方式将内存中存储的各重复页面发送给与各重复页面对应的虚拟机,并通过单播的传输方式将内存中存储的除重复页面以外的各剩余页面,发送给与各剩余页面对应的虚拟机,缩短了虚拟机集群从异常状态中恢复所需的时间,降低了虚拟机集群恢复时的网络占用量。
【附图说明】
[0015]图1为本发明一实施例提供的基于虚拟机集群的回滚方法的流程示意图;
[0016]图2为图1所示方法的补充方法的流程示意图;
[0017]图3为本发明一实施例提供的服务器的结构示意图;
[0018]图4为本发明一实施例提供的基于虚拟机集群的回滚系统的结构示意图。
【具体实施方式】
[0019]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0020]图1为本发明一实施例提供的基于虚拟机集群的回滚方法的流程示意图,如图1所示,本实施例提供的基于虚拟机集群的回滚方法包括如下步骤:
[0021]步骤101、在检测到所述虚拟机集群中的至少一个虚拟机异常时,从内存中获取所述虚拟机集群中的所有重复页面和除所述重复页面以外的剩余页面,并确定各重复页面与各虚拟机之间的映射关系,以及各剩余页面与所述各虚拟机之间的映射关系;
[0022]具体的,服务器按照预先设定的检测周期对虚拟机集群中的所有虚拟机的工作状态进行检测,其中,该检测周期可以根据具体实施需要进行具体设定,在这里不做具体限定。当服务器检测到虚拟机集群中存在至少一个虚拟机工作状态异常时,服务器从内存中存储的所有虚拟机的页面中获取所有重复的页面,以及除重复页面以外剩余的所有页面,并且,服务器在获取重复页面和剩余页面的同时,确定各重复页面与虚拟机集群中各虚拟机之间的映射关系,以及各剩余页面与虚拟机集群中各虚拟机的映射关系。
[0023]其中,服务器内存中存储的所有虚拟机的页面,是通过现有的虚拟机快照机制获得的,在这里不再赘述。
[0024]步骤102、根据各重复页面与各虚拟机之间的映射关系,将所述各重复页面通过组播的传输方式发送给对应的虚拟机;并根据所述各剩余页面与所述各虚拟机之间的映射关系,将所述各剩余页面通过单播的传输方式发送给对应的虚拟机;以使所述虚拟机集群中的各虚拟机恢复异常前的正常状态。
[0025]具体的,服务器获取到内存中存储的所有重复页面后,根据各重复页面与虚拟机集群中各虚拟机之间的映射关系,采用组播的传输方法将各重复页面分别发送给对应的虚拟机,其中,用来传输各重复页面的组播组的切换方法可以采用现有的组播组切换方法,在这里不再赘述。
[0026]在这里需要说明的是,鉴于循环码的特性,本实施例优选采用循环码的切换方式对用来发送各重复页面的组播组进行切换,使得各个重复页面发送给对应的虚拟机。
[0027]进一步的,服务器根据确定的各剩余页面与各虚拟机之间的映射关系,将获取到的各剩余页面通过单播的传输方式发送给对应的虚拟机。从而使得各虚拟机根据服务器通过组播或单播的传输方式发送的页面从异常的工作状态中恢复过来。
[0028]值得说明的是,本实施例对组播传输与单播传输的先后顺序不做具体限定,即可以先通过组播的传输方式对重复页面进行传输,再通过单播的方式对剩余页面进行传输,也可以先通过单播的方式对剩余页面进行传输,再通过组播的传输方式对重复页面进行传输。
[0029]本实施例提供的基于虚拟机集群的回滚方法,通过组播的传输方式将内存中存储的各重复页面发送给与各重复页面对应的虚拟机,并通过单播的传输方式将内存中存储的除重复页面以外的各剩余页面,发送给与各剩余页面对应的虚拟机,缩短了虚拟机集群从异常状态中恢复所需的时间,降低了虚拟机集群恢复时的网络占用量。
[0030]进一步的,图2为图1所示方法的补充方法的流程示意图,如图2所示,在图1所示方法的基础上,本实施例提供的方法还包括:
[0031]步骤S1、接收虚拟机返回的接收响应,确定所述接收响应中是否存在一发送失败的重复页面和/或一发送失败的剩余页面;
[0032]具体的,服务器通过组播的传输方式将重复页面发送给对应的虚拟机,并通过单播的传输方式将除重复页面以外的剩余页面发送给对应的虚拟机后,服务器接收各虚拟机返回的接收响应,并根据各虚拟机返回的接收响应,判断各重复页面和各剩余页面是否发送成功。
[0033]步骤S2、若存在一发送失败的重复页面,则确定所述一发送失败的重复页面对应的待重新发送的目标虚拟机的数量,若所述数量为多个,则将所述一发送失败的重复页面以组播的传输方式发送给所述目标虚拟机;和/或,若存在所述一发送失败的剩余页面,则将所述一发送失败的剩余页面,以单播的传输方式重新发送给对应的虚拟机。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1