实现虚拟机迁移的方法和装置与流程

文档序号:11972022阅读:348来源:国知局
实现虚拟机迁移的方法和装置与流程
本发明涉及通信网络技术领域,尤其涉及一种实现虚拟机迁移的方法和相应装置。

背景技术:
云计算有两种模式:狭义云计算IaaS(InfrastructureasaService)和广义云计算SaaS(SoftwareasaService),其中IaaS提供给用户的服务是对所有基础设施的利用,包括处理、存储、网络和其它基本的计算资源,SaaS提供给用户的服务是运营商运行在基础设施上的应用程序。多数IaaS平台通过提供虚拟机的方式提供虚拟计算资源,SaaS供应商可以作为IaaS平台的用户,在IaaS平台上部署应用,再向应用用户提供业务。当IaaS平台是基于虚拟机构建的,那么IaaS平台向SaaS供应商提供的虚拟资源则是根据SaaS供应商要求定制的虚拟机,虚拟机的实际运行位置对SaaS供应商是透明的。IaaS供应商负责虚拟机硬件与相应软件(如虚拟化软件、客户操作系统等)的维护、故障修复、安全监控和计费等,而SaaS供应商负责向用户提供应用服务。通常的,终端访问SaaS提供的一个应用时,例如启动一个网络游戏,SaaS请求IaaS平台为该终端分配一台虚拟机,而且该虚拟机只用于该终端的该应用。协同群组应用是指多个终端获取网络中的计算资源后,共同参与、互相协作完成的应用,该类应用的例子包含网络游戏、文件共享、视频会议等。这多个参与协同群组应用的终端构成一个协同群组。现有技术中,当SaaS供应商所提供的软件应用为协同群组应用时,如果SaaS平台是构建在虚拟机之上的,则协同群组应用具体是由分配给组成协同群组应用的终端的一组虚拟机完成。其中,这一组虚拟机则组成虚拟机群组。虚拟机群组中的虚拟机可能运行于不同的子网上或不同物理机上,它们之间会产生大量通信,而跨子网通信所需时间较长,远大于相同子网内通信所需时间;即使相同子网中不同物理机之间通信也大于同一物理机内通信所需时间。因此,现有技术存在应用响应时间较长、导致用户应用体验不好的缺陷。

技术实现要素:
本发明实施例提供了一种实现虚拟机迁移的方法和装置,用于提高完成协同群组应用的虚拟机群组内虚拟机之间数据通信的速度,从而减少了应用响应时间、极大提升用户体验。第一方面,本发明实施例提供的实现虚拟机迁移的方法包含:接收应用管理服务器发送的虚拟机群组的信息,该虚拟机群组包含完成指定的协同群组应用的多台虚拟机,该虚拟机群组的信息包含该虚拟机群组中每台虚拟机的唯一标识;根据该虚拟机群组的信息,查找该虚拟机群组中每台虚拟机的部署位置信息,该虚拟机的部署位置信息包含该虚拟机所归属子网的唯一标识和所运行于的物理机的唯一标识;根据该虚拟机的部署位置信息,确定能够容纳该虚拟机群组、并且容纳后该虚拟机群组中各虚拟机之间的通信响应时间比当前通信响应时间更短的一个目的物理机集合;判断该虚拟机群组中各台虚拟机所运行于的物理机是否属于该确定出的目的物理机集合,当该虚拟机所运行于的物理机不属于该目的物理机集合时,将该虚拟机迁移到该目的物理机集合。在第一方面的第一种可能的实现方式中,确定能够容纳该虚拟机群组、并且容纳后该虚拟机群组中各虚拟机之间的通信响应时间比当前通信响应时间更短的一个目的物理机集合的方法包含:当该虚拟机群组中所有虚拟机在同一个子网的不同物理机时,确定出该子网中能够容纳该虚拟机群组、且包含物理机个数最少的物理机集合;选择其中一个物理机集合作为目的物理机集合。在第一方面的第二种可能的实现方式中,确定能够容纳该虚拟机群组、并且容纳后该虚拟机群组中各虚拟机之间的通信响应时间比当前通信响应时间更短的一个目的物理机集合的方法包含:当该虚拟机群组中所有虚拟机在不同子网的不同物理机时,确定出该所有子网中能够容纳该虚拟机群组、并且包含子网数量最少的子网集合;在该子网集合中确定出能够容纳该虚拟机群组、且包含物理机个数最少的物理机集合;选择其中一个物理机集合作为目的物理机集合。在第一方面的第三种可能的实现方式中,将该虚拟机迁移到该目的物理机集合,进一步的包含:如果该迁移是跨子网迁移,向应用管理服务器发送该虚拟机迁移后的IP地址。结合第一方面的第一种可能的实现方式,在第四种可能的实现方式中,选择其中一个物理机集合作为该目的物理机集合具体包括:如果该确定出的物理机集合有多个时,选择需要该虚拟机群组中虚拟机迁移次数最少的一个物理机集合为该目的物理机集合。结合第一方面的第二种可能的实现方式,在第五种可能的实现方式中,选择其中一个物理机集合作为该目的物理机集合包括:如果该确定出的物理机集合有多个时,选择需要该虚拟机群组中虚拟机迁移次数最少的一个物理机集合作为目的物理机集合。第二方面,本发明实施例提供的资源管理服务器包含:接口单元,用于接收应用管理服务器发送的虚拟机群组的信息,该虚拟机群组包含完成指定的协同群组应用的多台虚拟机,该虚拟机群组的信息包含该虚拟机群组中每台虚拟机的唯一标识;查找单元,用于根据接口单元接收到的该虚拟机群组的信息查找该虚拟机群组中每台虚拟机的部署位置信息,该虚拟机的部署位置信息包含该虚拟机所归属子网的唯一标识和所运行于的物理机的唯一标识;确定单元,用于根据查找单元查找到的该虚拟机的部署位置信息确定能够容纳该虚拟机群组、并且容纳后该虚拟机群组中各虚拟机之间通信响应时间比当前通信响应时间更短的一个目的物理机集合;判断单元,用于判断该虚拟机群组中各台虚拟机所运行于的物理机是否属于该确定出的目的物理机集合;迁移单元,用于当该虚拟机所运行于的物理机不属于该目的物理机集合时,将该虚拟机迁移到该目的物理机集合。在第二方面的第一种可能的实现方式中,确定单元包含:第一确定模块,用于当该虚拟机群组中所有虚拟机在同一个子网的不同物理机时,确定出该子网中能够容纳该虚拟机群组、且包含物理机个数最少的物理机集合;第一选择模块,用于在该第一确定模块确定出的物理机集合中选择其中一个作为该目的物理机集合。在第二方面的第二种可能的实现方式中,确定单元包含:第二确定模块,用于当该虚拟机群组中所有虚拟机在不同子网的不同物理机时,确定出该所有子网中能够容纳该虚拟机群组、并且包含子网数量最少的子网集合;第三确定模块:用于在第二确定模块确定出的子网集合中,确定出能够容纳该虚拟机群组、且包含物理机个数最少的物理机集合;第二选择模块,用于在第三确定模块确定出的物理机集合中选择其中一个作为目的物理机集合。在第二方面的第三种可能的实现方式中,接口单元还用于在该迁移单元执行了虚拟机的跨子网迁移后,向应用管理服务器发送该虚拟机迁移后的IP地址。结合第二方面的第一种可能的实现方式,在第四种可能的实现方式中,第一选择模块,进一步的用于在该第一确定模块确定出的物理机集合有多个时,选择需要该虚拟机群组中虚拟机迁移次数最少的一个物理机集合为该目的物理机集合。结合第二方面的第二种可能的实现方式,在第五种可能的实现方式中,第二选择模块,进一步的用于在第三确定模块确定出的物理机集合有多个时,选择需要该虚拟机群组中虚拟机迁移次数最少的一个物理机集合为目的物理机集合。由以上技术方案可以看出,由于通过将提供协同群组应用的虚拟机群组中的虚拟机部署在包含子网数目最少的前提下、包含物理机数目最少的物理机集合上,实现虚拟机群组内虚拟机通信数据快速交换,从而达到提高应用用户体验的目的。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明一个实施例提供的实现虚拟机迁移的方法流程图;图2为图1所示方法的确定能够容纳虚拟机群组、并且使得虚拟机群组中各虚拟机之间的通信响应时间比当前通信响应时间更短的一个目的物理机集合的方法实施例流程图;图3为图1所示方法的将虚拟机群组中其所运行于的物理机不属于目的物理机集合的虚拟机迁移到该目的物理机集合的一个方法实施例流程图;图4为本发明一个实施例提供的多个用户进行群组游戏的时序图;图5为本发明一个实施例提供的用于实现虚拟机迁移的资源管理服务器的结构图;图6为本发明另一个实施例提供的用于实现虚拟机迁移的资源管理服务器的结构图;图7为本发明再一个实施例提供的用于实现虚拟机迁移的资源管理服务器的结构图;图8为本发明再一个实施例提供的基于计算机系统的资源管理服务器的结构图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。从资源管理服务器的角度进行描述,本发明一个实施例提供了实现虚拟机迁移的方法,其流程如图1所示:101、接收应用管理服务器发送的虚拟机群组的信息,该虚拟机群组包含完成指定的协同群组应用的多台虚拟机,该虚拟机群组的信息包含该虚拟机群组中每台虚拟机的唯一标识。具体而言,虚拟机的唯一标识可以是虚拟机的当前IP地址或标识符ID。102、根据接收到的虚拟机群组的信息,查找所述虚拟机群组中每台虚拟机的部署位置信息,该部署位置信息包括虚拟机所归属子网的唯一标识和该虚拟机所运行于的物理机的唯一标识。103、根据查找到的虚拟机的部署位置信息,确定出能够容纳该虚拟机群组、且容纳后该虚拟机群组中各虚拟机之间的通信响应时间比当前通信响应时间更短的一个目的物理机集合。其中,该步骤具体包括:当该虚拟机群组中的虚拟机运行于同一个子网的不同物理机时,确定出该子网中能够容纳该虚拟机群组、且包含物理机个数最少的物理机集合。如果确定出的物理机集合只有一个,将该物理机集合作为目的物理机集合;如果确定出的物理机集合有多个时,计算将虚拟机群组中的虚拟机迁移到确定出的每一个物理机集合需要迁移的次数,选择需要虚拟机群组中的虚拟机迁移次数最少的一个物理机集合为目的物理机集合;当该虚拟机群组的虚拟机运行于不同子网的不同物理机时,在所述不同子网中确定出能够容纳该虚拟机群组、并且包含子网数量最少的子网集合。在该确定出的子网集合中确定出能够容纳该虚拟机群组、且包含物理机个数最少的物理机集合。如果确定出的物理机集合只有一个,将该物理机集合作为目的物理机集合;如果确定出的物理机集合有多个时,计算将虚拟机群组中的虚拟机迁移到确定出的每一个物理机集合需要迁移的次数,选择需要虚拟机群组中虚拟机迁移次数最少的一个物理机集合为目的物理机集合。104、判断虚拟机群组中各台虚拟机所运行于的物理机是否属于确定出的目的物理机集合,当虚拟机所运行于的物理机不属于目的物理机集合时,将该虚拟机迁移到目的物理机集合。其中,该步骤还可以包含:如果该迁移是跨子网迁移,向应用管理服务器发送该虚拟机迁移后的IP地址。本发明再一个实施例提供了上述实施例中,根据查找到的虚拟机的部署位置信息,确定出能够容纳该虚拟机群组、并且容纳后虚拟机群组中各虚拟机之间的通信响应时间比当前通信响应时间更短的一个目的物理机集合的方法,具体流程如图2所示:201、判断虚拟机群组中的所有虚拟机是否运行于同一台物理机上,如果是,则进入步骤202;如果不是,则进入步骤203。202、不存在能够容纳该虚拟机群组、并且容纳后虚拟机群组中各虚拟机之间的通信响应时间比当前通信响应时间更短的目的物理机集合,流程结束。203、计算虚拟机群组中所有虚拟机所需要的资源总和。204、判断虚拟机群组中的虚拟机所运行于的物理机是否属于同一子网,假如是则进入步骤205,假如不是则进入步骤210。205、令自然数变量k的初始值为1。206、在该子网内确定是否存在可以同时容纳该群组中所有虚拟机的物理机集合,即,该物理机集合中已经分配给上述虚拟机群组的资源与剩余的空闲资源的总和大于或等于步骤203计算出的资源总和,且该物理机集合包含的物理机数目为k。如果存在,则进入步骤208,否则进入步骤207。207、将变量k值加1,转到步骤206。208、将确定出的一个或多个物理机集合记录为候选目的物理机集合,对每个候选目的物理机集合计算虚拟机群组中的虚拟机需要的迁移次数。具体的,针对每个候选目的物理机集合的计算方法可以为,对于虚拟机群组中的每台虚拟机,分别确定其运行在哪一台物理机上,针对每台虚拟机判断一次其所运行的物理机是否属于该候选目的物理机集合,累计不属于该候选目的物理机集合的判断次数,该判断次数即为迁移次数。209、选择迁移次数最少(即迁移代价最小)的候选目的物理机集合作为目的物理机集合,假如存在多个迁移次数最少的候选目的物理机集合,则任选其中一个作为目的物理机集合。210、令自然数变量k的初始值为1。211、在该不同子网内查找是否存在可以同时容纳该群组中所有虚拟机的子网集合,即该子网集合中已经分配给虚拟机群组中虚拟机的资源与剩余的空闲资源的总和大于或等于步骤203计算出的资源总和,且该个集合包含k个子网。如果存在,则进入步骤213,否则进入步骤212。212、将变量k值加1,转到步骤211。213、将查找到的一个或多个子网集合记录为候选子网集合,令自然数变量s的初始值为k,k为子网集合包含子网的个数。214、在所有找到的候选子网集合中查找是否存在可以容纳虚拟机群组中所有虚拟机的物理机集合,即该物理机集合中已经分配给虚拟机群组中虚拟机的资源与剩余的空闲资源的总和大于或等于步骤203计算出的资源总和,且每个物理机集合包含s台物理机。如果存在,则进入步骤216,否则进入步骤215。215、将变量s值加1,跳转到步骤214。216、将查找到的一个或多个物理机集合记录为候选目的物理机集合,对每个候选目的物理机集合计算虚拟机群组中的虚拟机需要的迁移次数。具体的,针对每个候选目的物理机集合的计算方法可以为,对于群组中的每台虚拟机,分别确定其运行在哪一台物理机上,并针对每台虚拟机判断一次其所运行的物理机是否属于该候选目的物理机集合,累计不属于该候选目的物理机集合的判断次数,该判断次数即为迁移次数。217、选择迁移次数最少(即迁移代价最小)的候选目的物理机集合作为目的物理机集合;假如存在多个迁移次数最少的候选目的物理机集合,则任选其中一个作为目的物理机集合。上述实施例中,在包含子网数目最少的前提下,查找包含物理机数目最少的物理机集合,因此将虚拟机群组部署到该集合后虚拟机群组之间的通信响应时间会比现有部署方式下虚拟机群组之间的通信响应时间更短。本发明又一个实施例提供了在实现虚拟机迁移的方法中、确定出一个目的物理机集合之后、将该虚拟机群组中其所运行于的物理机不属于该目的物理机集合的虚拟机迁移到该目的物理机集合的方法,其流程如图3所示:301、读取目的物理机集合中每台物理机的IP地址所属的子网,记录子网集合。302、将虚拟机群组中所有的虚拟机分为三个类型,类型1:虚拟机所运行于的物理机属于该目的物理机集合;类型2:虚拟机所运行于的物理机不属于该目的物理机集合,但该物理机所属的子网属于该子网集合;类型3:虚拟机所运行于的物理机不属于该目的物理机集合,该物理机所属的子网也不属于该子网集合。303、对于类型2的每台虚拟机,在目的物理机集合中查找是否存在与该虚拟机所运行于的物理机属于相同子网且有空闲资源的物理机,若有则将该虚拟机迁移到该物理机,否则随机迁移到目的物理机集合中任一具有空闲资源的物理机。304、对于类型3的每台虚拟机,将其随机迁移到目的物理机集合中任一具有空闲资源的物理机。上述实施例中,对于其所运行于的物理机不属于目的物理机集合的虚拟机优先迁移到与该虚拟机所运行于的物理机在相同子网的物理机上,因而可以减少跨网段的迁移,并且能够使得迁移所消耗的系统资源最少。本发明一个实施例采用时序图的方式描述了实现虚拟机迁移的方法,如图4所示,用户user1、user2、user3将要进行一次群组游戏,具体实现步骤的详细描述如下。假设这三个用户在进行本次群组游戏前,应用管理服务器已经为他们分配了用于提供游戏业务的虚拟机,具体的分配方式可以是用户启动终端上的游戏应用(登录游戏平台)后、应用管理服务器请求资源管理服务器为他分配一台虚拟机,也可以是用户加入到一个具体游戏后、应用管理服务器请求资源管理服务器为他分配一台虚拟机。只有在用户退出该游戏平台后,系统才会注销为他分配的虚拟机资源:S401,用户user1通过其终端UE1访问为他分配的虚拟机VM1(其标识符为ID1,IP地址为ip1)上的游戏应用,点击“新建房间”按钮,VM1将向应用管理服务器发送新建游戏房间的请求。应用管理服务器收到请求后初始化游戏房间A,即创建群组号为A的游戏群组;并且,创建群组号为A的虚拟机群组,将该虚拟机群组A与游戏群组A绑定。将VM1加入到虚拟机群组A,记录虚拟机群组A的信息(包含虚拟机群组号A、虚拟机VM1的标识符和IP地址信息)。S402,用户user2通过其终端UE2访问为他分配的虚拟机VM2(其标识符为ID2,IP地址为ip2)上的游戏应用,看到游戏房间A,点击“加入”按钮;VM2将向应用管理服务器发送加入群组游戏的请求,应用管理服务器将VM2加入到虚拟机群组A,刷新虚拟机群组A的信息(包含群组号A、虚拟机VM1和VM2的标识符和IP地址信息),并为虚拟机VM1和VM2之间建立通信连接。S403,用户user3通过UE3访问虚拟机VM3(其标识符为ID3,IP地址为ip3)上的游戏应用,加入到虚拟机群组A中,处理方式和步骤S402类似。S404,用户user1通过其终端查看当前游戏房间A满足游戏开始人数下限,点击“开始游戏”按钮,VM1给应用管理服务器发送开始应用的请求,请求包含群组游戏的群组号A。S405,应用管理服务器收到VM1发送的请求后,根据包含的群组号判断出这是一个群组游戏的开始请求,将与游戏群组A绑定的虚拟机群组A的信息发送给资源管理服务器,虚拟机群组A的信息包括虚拟机群组A中的虚拟机VM1,VM2和VM3的标识符数组VMID[]={ID1,ID2,ID3}。S406,资源管理服务器根据群组中虚拟机的标识符数组VMID[]={ID1,ID2,ID3}查找VM1,VM2和VM3所归属子网的唯一标识和所运行于的物理机的唯一标识。S407,资源管理服务器确定能容纳VM1,VM2和VM3这三个虚拟机、并且让它们之间通信响应时间比当前更短的迁移目的物理机集合。通常,虚拟机群组中的的虚拟机分布会存在如下三种不同情况:情况1.虚拟机群组中的所有虚拟机运行于同一物理机上;情况2.虚拟机群组中的虚拟机运行于相同子网的不同物理机上;情况3.虚拟机群组中的虚拟机运行于不同子网的不同物理机上。具体地,在本实施例中,针对情况1,资源管理服务器获取的VM1,VM2,VM3这三个虚拟机部署位置信息为:子网数组VMNS[]={子网A,子网A,子网A}和物理机编号数组MID[]={M1,M1,M1}。针对情况2,资源管理服务器获取的三个虚拟机部署位置信息为:子网数组VMNS[]={子网A,子网A,子网A}和物理机编号数组MID[]={M1,M1,M2}。针对情况3,资源管理服务器获取的三个虚拟机部署位置信息为:子网数组VMNS[]={子网A,子网A,子网B}和物理机编号数组MID[]={M1,M1,M3}。相应于这三种情况,步骤S407中,资源管理服务器确定能容纳上述VM1,VM2,VM3,并且让他们之间通信响应时间比当前更短的迁移目的物理机集合的过程具体如下:针对情况1.虚拟机群组中所有虚拟机已经运行于同一物理机M1,没有满足条件的目的物理机集合;针对情况2.判断出虚拟机群组中三个虚拟机运行在不同物理机后,计算出这三个虚拟机所需要的系统资源总和为3。进一步的判断出这三个虚拟机运行在同一子网A,令自然数变量k的初始值为1,经过查找得知,在子网A中包含的物理机M1的可使用资源数为5(包含已经分配给VM1和VM2的资源),物理机M2的可使用资源数为6(包含已经分配给VM3的资源),判断出只包含一台物理机的物理机集合{M1}和{M2}的可使用资源均大于3,将集合{M1}和{M2}记录为候选目的物理机集合。对于候选目的物理机集合{M1},虚拟机VM1运行于M1,属于集合{M1},虚拟机VM2运行于M1,属于集合{M1},VM3运行于M2,不属于集合{M1},所以不属于集合{M1}的次数累计值为1,即迁移次数为1,同样的方式,对于候选目的物理机集合{M2},计算出迁移次数为2。在候选目的物理机集合中,选择迁移次数最少的{M1}作为目的物理机集合。针对情况3.判断出虚拟机群组中三个虚拟机运行在不同物理机后,计算出这三个虚拟机所需要的系统资源总和为3。进一步的判断出这三个虚拟机运行在不同的子网A和B,令自然数变量k的初始值为1,经过查找得知,子网A的可使用资源数为11(包含已经分配给VM1和VM2的资源),子网B的可使用资源数为6(包含已经分配给VM3的资源),判断出只包含1个子网数的子网集合{A}和{B}的可使用资源均大于3,将子网集合{A}和{B}记录为候选子网集合。令自然数变量s的初始值为k(k=1,所以s的初始值为1),经过查找得知,在子网A中包含的物理机M1的可使用资源数为5(包含已经分配给VM1和VM2的资源),物理机M2的可使用资源数为6(包含已经分配给VM3的资源),在子网B中包含的物理机M3的可使用资源数为6(包含已经分配给VM3的资源),判断出候选子网集合{A}和{B}中只包含一台物理机的物理机集合{M1}和{M2}、{M3}的可使用资源均大于3,将集合{M1}和{M2}、{M3}记录为候选目的物理机集合。对于候选目的物理机集合{M1},虚拟机VM1运行于M1,属于集合{M1},虚拟机VM2运行于M1,属于集合{M1},VM3运行于M3,不属于集合{M1},所以不属于集合{M1}的次数累计值为1,即迁移次数为1,同样的方式,对于候选目的物理机集合{M2},计算出迁移次数为3,对于候选目的物理机集合{M3},计算出迁移次数为2。在候选目的物理机集合中,选择迁移次数最少的{M1}作为目的物理机集合。S408,资源管理服务器判断虚拟机群组中虚拟机VM1、VM2、VM3所运行于的物理机是否属于S407计算出的目的物理机集合,对于其所运行于物理机不属于该目的物理机集合的虚拟机,采用虚拟机热迁移技术将它迁移到目的物理机集合,如果该迁移是跨子网迁移,向应用管理服务器发消息,通知该虚拟机信息迁移后的信息以及该虚拟机的唯一标识。根据步骤S407中针对情况1的确定结果,没有满足条件的目的物理机集合,不需要迁移。根据步骤S407中针对情况2计算出的目的物理机集合,本步骤中将不属于该目的物理机集合的虚拟机,采用虚拟机热迁移技术将它迁移到目的物理机集合的具体过程如下:目的物理机集合{M1}中包含物理机M1,M1属于子网A,记录子网集合{A}。将虚拟机群组中的三个虚拟机分类,其中VM1和VM2属于类型1,其运行于的物理机M1属于目的物理机集合,其中VM3属于类型2,其运行于的物理机M2不属于目的物理机集合,但M2所属的子网A属于子网集合{A}。对于属于类型2的VM3,在目的物理机集合{M1}中查找到M1具有空闲资源,且与VM3运行于的物理机M2属于相同的子网,资源管理服务器向VM3所在的物理机M2发送热迁移命令,将VM3迁移至M1,因为在相同子网迁移,VM3的IP地址不需要改变。根据步骤S407中针对情况3计算出的物理机集合,本步骤中将不属于该目的物理机集合的虚拟机,采用虚拟机热迁移技术将它迁移到目的物理机集合的具体过程如下:目的物理机集合{M1}中包含物理机M1,M1属于子网A,记录子网集合{A}。将虚拟机群组中的三个虚拟机分类,其中VM1和VM2属于类型1,其运行于的物理机M1属于目的物理机集合,其中VM3属于类型3,其运行于的物理机M3不属于目的物理机集合,M3所属的子网B也不属于子网集合{A}。在目的物理机集合{M1}中具有空闲资源的物理机是M1,选择M1作为VM3的迁移目的物理机。资源管理服务器向VM3所在的物理机M3发送热迁移命令,将VM3迁移至M1,迁移后的虚拟机VM3的IP地址为ip4。该迁移是跨子网迁移,向应用管理服务器发送虚拟机迁移后的信息,包含VM3的标示符ID3和新IP地址ip4。S409,应用管理服务器更新该群组虚拟机信息;情况1、情况2不需要更新;情况3应用管理服务器更新其维护的群组A的群组虚拟机的信息,快速建立用户终端UE3与迁移后虚拟机VM3的连接,并基于VM3的新IP地址快速建立VM1与VM3、VM2与VM3之间的游戏应用通信连接。本发明一个实施例提供了用于实现虚拟机迁移的资源管理服务器,如图5所示,该资源管理服务器500包含:接口单元501,用于接收应用管理服务器发送的虚拟机群组的信息,该虚拟机群组包含完成指定的协同群组应用的多台虚拟机,该虚拟机群组的信息包含该虚拟机群组中每台虚拟机的唯一标识。具体而言,虚拟机的唯一标识可以是虚拟机的当前IP地址或标识符ID;查找单元502,用于根据所述接口单元501接收到的虚拟机群组的信息查找虚拟机群组中每台虚拟机的部署位置信息,该部署位置信息包含虚拟机群组中每台虚拟机所归属子网的唯一标识和所运行于的物理机的唯一标识;确定单元503,用于根据查找单元502查找到的虚拟机的部署位置信息,确定能够容纳该虚拟机群组、并且容纳后该虚拟机群组中各虚拟机之间通信响应时间比当前通信响应时间更短的一个目的物理机集合;判断单元504,用于判断该虚拟机群组中各台虚拟机所运行于的物理机是否属于该确定出的目的物理机集合;迁移单元505,用于当该虚拟机所运行于的物理机不属于确定单元503确定出的目的物理机集合时,将该虚拟机迁移到该目的物理机集合;可选的,接口单元501,进一步的还用于在迁移单元505执行了虚拟机的跨子网迁移后,向应用管理服务器发送该虚拟机迁移后的IP地址。参考图6所示,该资源管理服务器500中,确定单元503进一步的可以包含:第一确定模块5031,用于当该虚拟机群组中所有虚拟机在同一个子网的不同物理机时,确定出该子网中能够容纳该虚拟机群组、且包含物理机个数最少的物理机集合;第一选择模块5032,用于在第一确定模块5031确定出的物理机集合中选择其中一个作为所述目的物理机集合;例如,用于在第一确定模块5031确定出的物理机集合有多个时,选择需要该虚拟机群组中虚拟机迁移次数最少的一个物理机集合为目的物理机集合。参考图7所示,该资源管理服务器500中,确定单元503进一步的可以包含:第二确定模块5033,用于当该虚拟机群组中所有虚拟机在同一个子网的不同物理机时,确定出该所有子网中能够容纳该虚拟机群组、并且包含子网数量最少的子网集合;第三确定模块5034,用于在第二确定模块5033确定出的子网集合中,确定出能够容纳该虚拟机群组、且包含物理机个数最少的物理机集合;第二选择模块5035,用于在第三确定模块5034确定出的物理机集合中选择其中一个作为所述目的物理机集合;例如,用于在第三确定模块5034确定出的物理机集合有多个时,选择需要该虚拟机群组中虚拟机迁移次数最少的一个物理机集合为目的物理机集合。本发明实施例中的资源管理服务器可以基于计算机系统来实现,图1-图4所示的方法均可在基于计算机系统的资源管理服务器来实现。图8示出了基于计算机系统来实现的资源管理服务器的实施例。本实施例中资源管理服务器可以包括:处理器801、存储器802和通信接口803,其中:通信接口803,用于与应用管理服务器通信。资源管理服务器与应用管理服务器之间交互的消息(如方法实施例图1-4所示)均通过通信接口803发送和接收。具体地,通信接口803用于接收应用管理服务器发送的虚拟机群组的信息,以及在发生虚拟机的跨子网迁移时向应用管理服务器发送该虚拟机迁移后的IP地址;存储器802用于存储程序指令;处理器801用于在接收到应用管理服务器发送的虚拟机群组的信息之后,调用存储器802中存储的程序指令,执行如下操作:根据所述虚拟机群组的信息,查找所述虚拟机群组中每台虚拟机的部署位置信息,所述虚拟机的部署位置信息包含所述虚拟机所归属子网的唯一标识和所运行于的物理机的唯一标识;根据所述虚拟机的部署位置信息,确定能够容纳所述虚拟机群组、并且容纳后所述虚拟机群组中各虚拟机之间的通信响应时间比当前通信响应时间更短的一个目的物理机集合;判断所述虚拟机群组中各台虚拟机所运行于的物理机是否属于所述确定出的目的物理机集合,当所述虚拟机所运行于的物理机不属于所述目的物理机集合时,将该虚拟机迁移到所述目的物理机集合。其中,处理器801可以是中央处理器(centralprocessingunit,CPU)、专用集成电路(application-specificintegratedcircuit,ASIC)等。其中,本实施例中的资源管理服务器可以包括总线804。处理器801、存储器802以及通信接口803之间可通过总线804连接并通信。其中,存储器802可以包括:随机存取存储器(randomaccessmemory,RAM),只读存储器(read-onlymemory,ROM),磁盘等具有存储功能的实体;处理器801还可以用于执行方法实施例中图1到图4描述的各步骤,本发明实施例在此不再详述。以上对本发明所提供的一种进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1