一种虚拟机的部署方法及装置.pdf

上传人:b*** 文档编号:6119735 上传时间:2019-04-13 格式:PDF 页数:14 大小:882.60KB
返回 下载 相关 举报
摘要
申请专利号:

CN201410126765.X

申请日:

2014.03.31

公开号:

CN103902353A

公开日:

2014.07.02

当前法律状态:

驳回

有效性:

无权

法律详情:

发明专利申请公布后的驳回IPC(主分类):G06F 9/455申请公布日:20140702|||实质审查的生效IPC(主分类):G06F 9/455申请日:20140331|||公开

IPC分类号:

G06F9/455; G06F9/50; H04L12/24

主分类号:

G06F9/455

申请人:

华为技术有限公司

发明人:

谢华国; 罗文通; 张春宇; 康达祥; 方莹

地址:

518129 广东省深圳市龙岗区坂田华为总部办公楼

优先权:

专利代理机构:

北京同达信恒知识产权代理有限公司 11291

代理人:

黄志华

PDF下载: PDF下载
内容摘要

本发明实施例提供一种虚拟机的部署方法及装置,根据M个待部署虚拟机中每两个虚拟机之间的网络部署流量,将M个待部署虚拟机分为N个组,使得N个组之间的网络部署流量最小,再将同一个组内的虚拟机部署在同一个物理机上。通过上述方法,由于N个组之间的网络部署流量最小,因此,将同一个组内的虚拟机部署在同一个物理机上后,物理机之间所需的网络流量也最小,可有效节省物理机之间的网络流量。

权利要求书

权利要求书
1.  一种虚拟机的部署方法,其特征在于,包括:
获取M个待部署虚拟机中每两个虚拟机之间的网络部署流量,M为大于等于2的正整数;
根据所述M个待部署虚拟机中每两个待部署虚拟机之间的网络部署流量,将所述M个待部署虚拟机划分为N个组,使得所述N个组之间的网络部署流量最小,其中N为大于等于2,小于等于M的正整数;
将所述N个组分别部署在K个物理机上,使得同一个组内的待部署虚拟机部署在同一个物理机上,其中,K为大于等于1,小于等于N的正整数。

2.  如权利要求1所述的方法,其特征在于,将所述N个组分别部署在K个物理机上,具体包括:
将所述N个组按照组的单位资源收益值从大到小的顺序,先后部署在K个物理机上;其中,组的单位资源收益值为:
所述组内所有待部署虚拟机的收益参数值之和与所述组内所有待部署虚拟机所需资源对应的资源参数值之和的比值。

3.  如权利要求1或2所述的方法,其特征在于,将所述N个组分别部署在K个物理机上,具体包括:
将所述N个组部署在满足指定条件的K个物理机上,其中所述指定条件为用于部署第i组的物理机剩余的资源对应的资源参数值不小于所述第i组内所有待部署虚拟机所需资源对应的资源参数值之和,i为1到N之间的任意正整数。

4.  如权利要求3所述的方法,其特征在于,当M大于2时,所述方法还包括:
针对所述N个组中的第i组,当不存在满足指定条件的物理机,且所述第i组有大于1个待部署虚拟机时,将所述第i组内的待部署虚拟机划分为S个组,其中S为大于等于2,小于M-1的正整数;
将所述S个组分别部署在T个物理机上,使得同一个组内的待部署虚拟机部署在同一个物理机上,其中,T为大于等于1,小于等于S的正整数。

5.  如权利要求3所述的方法,其特征在于,当M大于2时,所述方法还包括:
针对所述N个组中的第i组,当不存在满足指定条件的物理机,且所述第i组只有1个待部署虚拟机时,选择所述N个组中除所述第i组之外任意一个组中一个已部署的虚拟机;
如果将所述选择的已部署的虚拟机替换为所述第i组内的虚拟机后,所述K个物理机之间的网络部署流量之和与替换前所述K个物理机之间的网络部署流量之和的差值小于设定阈值,且替换后所述K个物理机上部署的虚拟机的收益参数值之和大于替换前所述K个物理机上部署的虚拟机的收益参数值之和时,用所述第i组内的虚拟机替换所述选择的已部署的虚拟机。

6.  一种虚拟机的部署装置,其特征在于,包括:
获取模块,用于获取M个待部署虚拟机中每两个虚拟机之间的网络部署流量,M为大于等于2的正整数;
划分模块,用于根据所述获取模块获取的所述M个待部署虚拟机中每两个待部署虚拟机之间的网络部署流量,将所述M个待部署虚拟机划分为N个组,使得所述N个组之间的网络部署流量最小,其中N为大于等于2,小于等于M的正整数;
部署模块,用于将所述划分模块划分的所述N个组分别部署在K个物理机上,使得同一个组内的待部署虚拟机部署在同一个物理机上,其中,K为大于等于1,小于等于N的正整数。

7.  如权利要求6所述的装置,其特征在于,所述部署模块具体用于,将所述划分模块划分的所述N个组按照组的单位资源收益值从大到小的顺序,先后部署在K个物理机上;其中,组的单位资源收益值为:所述组内所有待部署虚拟机的收益参数值之和与所述组内所有待部署虚拟机所需资源对应的资源 参数值之和的比值。

8.  如权利要求6或7所述的装置,其特征在于,所述部署模块具体用于,将所述划分模块划分的所述N个组部署在满足指定条件的K个物理机上,其中所述指定条件为用于部署第i组的物理机剩余的资源对应的资源参数值不小于所述第i组内所有待部署虚拟机所需资源对应的资源参数值之和,i为1到N之间的任意正整数。

9.  如权利要求8所述的装置,其特征在于,当M大于2时,所述划分模块还用于,针对所述N个组中的第i组,当不存在满足指定条件的物理机,且所述第i组有大于1个待部署虚拟机时,将所述第i组内的待部署虚拟机划分为S个组,其中S为大于等于2,小于M-1的正整数;
所述部署模块还用于,将所述划分模块划分的所述S个组分别部署在T个物理机上,使得同一个组内的待部署虚拟机部署在同一个物理机上,其中,T为大于等于1,小于等于S的正整数。

10.  如权利要求8所述的装置,其特征在于,当M大于2时,所述部署模块还用于,针对所述划分模块划分的所述N个组中的第i组,当不存在满足指定条件的物理机,且所述第i组只有1个待部署虚拟机时,选择所述N个组中除所述第i组之外任意一个组中一个已部署的虚拟机;如果将所述选择的已部署的虚拟机替换为所述第i组内的虚拟机后,所述K个物理机之间的网络部署流量之和与替换前所述K个物理机之间的网络部署流量之和的差值小于设定阈值,且替换后所述K个物理机上部署的虚拟机的收益参数值之和大于替换前所述K个物理机上部署的虚拟机的收益参数值之和时,用所述第i组内的虚拟机替换所述选择的已部署的虚拟机。

说明书

说明书一种虚拟机的部署方法及装置
技术领域
本发明涉及通信技术领域,尤其涉及一种虚拟机的部署方法及装置。
背景技术
虚拟化云计算技术的兴起和发展正逐渐影响改变着整个计算机产业界和学术界,云计算带给IT全新的资源整合和使用模式,基于虚拟化的资源按需分配与调度可以提高云平台资源的利用率,提升云平台的服务质量,也降低云用户的总体使用成本。
目前,云平台通过聚集物理机硬件与网络资源,形成大规模计算资源池,虚拟机可部署于物理机上,云平台则通过资源调度系统,把物理机资源分配给虚拟机,通过虚拟机运行应用程序,实现向用户提供云计算服务。
由于每个物理机所能提供的资源都是有限的,物理机的数量也是有限的,因此,在现有技术中,在物理机上部署虚拟机时,通常考虑的是如何在最少的物理机上部署最多的虚拟机,用以达到物理机资源最大利用率的目的。
然而,在实际应用中,由于虚拟机之间往往也需要进行信息交互,因此,如果将需要大量信息交互的多个虚拟机部署在不同的物理机上,就会浪费物理机之间大量的网络流量来满足部署于这些虚拟机之间的交互。
发明内容
本发明实施例提供一种虚拟机的部署方法及装置,用以解决现有技术中跨物理机的网络流量大的问题。
第一方面,提供一种虚拟机的部署方法,包括:
获取M个待部署虚拟机中每两个虚拟机之间的网络部署流量,M为大于 等于2的正整数;
根据所述M个待部署虚拟机中每两个待部署虚拟机之间的网络部署流量,将所述M个待部署虚拟机划分为N个组,使得所述N个组之间的网络部署流量最小,其中N为大于等于2,小于等于M的正整数;
将所述N个组分别部署在K个物理机上,使得同一个组内的待部署虚拟机部署在同一个物理机上,其中,K为大于等于1,小于等于N的正整数。
结合第一方面,在第一方面的第一种可能的实现方式中,将所述N个组分别部署在K个物理机上,具体包括:
将所述N个组按照组的单位资源收益值从大到小的顺序,先后部署在K个物理机上;
其中,组的单位资源收益值为:
所述组内所有待部署虚拟机的收益参数值之和与所述组内所有待部署虚拟机所需资源对应的资源参数值之和的比值。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,将所述N个组分别部署在K个物理机上,具体包括:
将所述N个组部署在满足指定条件的K个物理机上,其中所述指定条件为用于部署第i组的物理机剩余的资源对应的资源参数值不小于所述第i组内所有待部署虚拟机所需资源对应的资源参数值之和,i为1到N之间的任意正整数。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,当M大于2时,所述方法还包括:
针对所述N个组中的第i组,当不存在满足指定条件的物理机,且所述第i组有大于1个待部署虚拟机时,将所述第i组内的待部署虚拟机划分为S个组,其中S为大于等于2,小于M-1的正整数;
将所述S个组分别部署在T个物理机上,使得同一个组内的待部署虚拟机部署在同一个物理机上,其中,T为大于等于1,小于等于S的正整数。
结合第一方面的第二种可能的实现方式,在第一方面的第四种可能的实现方式中,当M大于2时,所述方法还包括:
针对所述N个组中的第i组,当不存在满足指定条件的物理机,且所述第i组只有1个待部署虚拟机时,选择所述N个组中除所述第i组之外任意一个组中一个已部署的虚拟机;
如果将所述选择的已部署的虚拟机替换为所述第i组内的虚拟机后,所述K个物理机之间的网络部署流量之和与替换前所述K个物理机之间的网络部署流量之和的差值小于设定阈值,且替换后所述K个物理机上部署的虚拟机的收益参数值之和大于替换前所述K个物理机上部署的虚拟机的收益参数值之和时,用所述第i组内的虚拟机替换所述选择的已部署的虚拟机。
第二方面,提供一种虚拟机的部署装置,包括:
获取模块,用于获取M个待部署虚拟机中每两个虚拟机之间的网络部署流量,M为大于等于2的正整数;
划分模块,用于根据所述获取模块获取的所述M个待部署虚拟机中每两个待部署虚拟机之间的网络部署流量,将所述M个待部署虚拟机划分为N个组,使得所述N个组之间的网络部署流量最小,其中N为大于等于2,小于等于M的正整数;
部署模块,用于将所述划分模块划分的所述N个组分别部署在K个物理机上,使得同一个组内的待部署虚拟机部署在同一个物理机上,其中,K为大于等于1,小于等于N的正整数。
结合第二方面,在第二方面的第一种可能的实现方式中,所述部署模块具体用于,将所述划分模块划分的所述N个组按照组的单位资源收益值从大到小的顺序,先后部署在K个物理机上;
其中,组的单位资源收益值为:所述组内所有待部署虚拟机的收益参数值之和与所述组内所有待部署虚拟机所需资源对应的资源参数值之和的比值。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种 可能的实现方式中,所述部署模块具体用于,将所述划分模块划分的所述N个组部署在满足指定条件的K个物理机上,其中所述指定条件为用于部署第i组的物理机剩余的资源对应的资源参数值不小于所述第i组内所有待部署虚拟机所需资源对应的资源参数值之和,i为1到N之间的任意正整数。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,当M大于2时,所述划分模块还用于,针对所述N个组中的第i组,当不存在满足指定条件的物理机,且所述第i组有大于1个待部署虚拟机时,将所述第i组内的待部署虚拟机划分为S个组,其中S为大于等于2,小于M-1的正整数;
所述部署模块还用于,将所述划分模块划分的所述S个组分别部署在T个物理机上,使得同一个组内的待部署虚拟机部署在同一个物理机上,其中,T为大于等于1,小于等于S的正整数。
结合第二方面的第二种可能的实现方式,在第二方面的第四种可能的实现方式中,所述部署模块还用于,针对所述划分模块划分的所述N个组中的第i组,当不存在满足指定条件的物理机,且所述第i组只有1个待部署虚拟机时,选择所述N个组中除所述第i组之外任意一个组中一个已部署的虚拟机;如果将所述选择的已部署的虚拟机替换为所述第i组内的虚拟机后,所述K个物理机之间的网络部署流量之和与替换前所述K个物理机之间的网络部署流量之和的差值小于设定阈值,且替换后所述K个物理机上部署的虚拟机的收益参数值之和大于替换前所述K个物理机上部署的虚拟机的收益参数值之和时,用所述第i组内的虚拟机替换所述选择的已部署的虚拟机。
本发明实施例提供一种虚拟机的部署方法及装置,根据M个待部署虚拟机中每两个虚拟机之间的网络部署流量,将M个待部署虚拟机分为N个组,使得N个组之间的网络部署流量最小,再将同一个组内的虚拟机部署在同一个物理机上。通过上述方法,由于N个组之间的网络部署流量最小,因此,将同一个组内的虚拟机部署在同一个物理机上后,物理机之间所需的网络流量也最 小,可有效节省物理机之间的网络流量。
附图说明
图1为本发明实施例提供的虚拟机部署方法;
图2为本申请实施例提供的虚拟机的部署装置结构示意图;
图3为本发明实施例提供的虚拟机的部署装置硬件结构示意图。
具体实施方式
本发明实施例提供一种部署虚拟机的方法,旨在使物理机之间的网络流量最小,以达到节省跨物理机网络流量的目的。该方法根据预设的每两个虚拟机之间的网络部署流量,将M个待部署虚拟机分为N个组,N个组之间的网络部署流量最小,再将同一个组内的虚拟机部署在同一个物理机上。两个虚拟机之间的网络部署流量是指两个虚拟机之间的可部署最大网络流量,该可部署最大网络流量可以是申请部署虚拟机的用户申请的,也可以是网络提供商指定的。
下面结合说明书附图,对本发明实施例进行详细描述。
图1为本发明实施例提供的虚拟机部署方法,具体包括以下步骤:
S101:获取M个待部署虚拟机中每两个虚拟机之间的网络部署流量。
其中,M为大于等于2的正整数。
在本发明实施例中,可在云平台中预置部署装置,部署装置可获取待部署虚拟机中每两个虚拟机之间的网络部署流量。具体的,假设用户向云平台申请M个虚拟机时,可设定其申请的各虚拟机之间的网络部署流量,用户申请的这些虚拟机即为待部署虚拟机,部署装置则可根据用户向云平台提交的申请虚拟机的申请请求,获取用户申请的M个待部署虚拟机中每两个虚拟机之间的网络部署流量。
例如,用户要申请5个虚拟机,分别为虚拟机A~E,也即,虚拟机A~E 就是5个待部署虚拟机,用户设定虚拟机A与虚拟机B之间的网络部署流量为100M、虚拟机B与虚拟机C之间的网络部署流量为200M、虚拟机A与虚拟机C之间的网络部署流量为100M、虚拟机D与虚拟机E之间的网络部署流量为100M。用户将上述虚拟机的数量以及各虚拟机之间的网络部署流量携带在申请请求中发送给云平台,云平台中的部署装置则获取用户预设的这5个待部署虚拟机中每两个虚拟机之间的网络部署流量。
S102:根据M个待部署虚拟机中每两个虚拟机之间的网络部署流量,将M个待部署虚拟机划分为N个组,使得该N个组之间的网络部署流量最小。
其中,N为大于等于2,小于等于M的正整数,该N个组中任意两个组之间的网络部署流量为:第一组内的所有待部署虚拟机与第二组内的所有待部署虚拟机之间的网络部署流量之和。
继续沿用上例,部署装置确定了待部署虚拟机A~E中每两个虚拟机之间的网络部署流量后,针对虚拟机D和虚拟机E,可确定虚拟机A~C与虚拟机D和虚拟机E之间均不需要网络流量,也即,虚拟机A~C与虚拟机D和E之间的网络部署流量最小,因此,部署装置可将虚拟机A~C分为一个组,将虚拟机D和虚拟机E分为另一个组。这样,对于这两个组中的任意一个组来说,该组内的所有虚拟机与另一个组内的所有虚拟机之间所需的网络流量之和为最小,即为0。
S103:将N个组分别部署在K个物理机上,使得同一个组内的待部署虚拟机部署在同一个物理机上。
其中,K为大于等于1,小于等于N的正整数。
在本发明实施例中,由于步骤S102中每个组内的虚拟机与其他组内的虚拟机之间的网络部署流量最小,因此,将同一个组内的虚拟机部署在同一个物理机上后,各物理机之间所需的网络流量也最小,可以减少因虚拟机之间的交互而浪费的网络流量,一个组内的虚拟机之间的大量交互只在其所在的物理机内部进行即可。
继续沿用上例,部署装置将虚拟机A~C分为一个组,将虚拟机D和E分为一个组后,可将虚拟机A~C部署在一个物理机上,将虚拟机D和E部署在另一个物理机上,从而,由于虚拟机A~C与虚拟机D和E之间不需要进行交互,因此,部署虚拟机A~C的物理机和部署虚拟机D和E的物理机之间也不需要进行交互,虚拟机A~C之间的交互可在部署虚拟机A~C的物理机内部进行,虚拟机D和E之间的交互可在部署虚拟机D和E的物理机内部进行,进而可节省这两个物理机之间的网络资源。
当然,部署装置也可将虚拟机A~E均部署在同一个物理机上,只要保证同一个组内的虚拟机部署在同一个物理机上即可。
进一步的,由于将一个虚拟机部署在一个物理机上后,该虚拟机需要使用该物理机上的资源(例如计算资源、存储资源等)来运行,因此,将M个待部署虚拟机分为N个组后,上述步骤S103中部署装置将N个组分别部署在K个物理机上的方法可以为:将N个组部署在满足指定条件的K个物理机上,其中该指定条件为用于部署第i组的物理机剩余的资源对应的资源参数值不小于该第i组内所有待部署虚拟机所需资源对应的资源参数值之和,i为1到N之间的任意正整数。也即,部署装置在部署一个组内的虚拟机时,在各物理机中,查找剩余的资源不小于该组内所有虚拟机所需的资源的和值(即,第二和值)的物理机,查找到的物理机即为满足指定条件的物理机,再将该组内的所有虚拟机都部署在查找到的物理机上。
更进一步的,由于对于一个组内的虚拟机来说,并不是所有的物理机都可以部署该组内的虚拟机(如,剩余的资源小于该组内虚拟机所需的资源的和值的物理机),因此,为了在节省物理机之间的网络流量的同时,兼顾虚拟机所带来的收益,在本发明实施例提供的上述部署方法中,对M个待部署虚拟机分为N个组之后,可优先部署收益较大组内的虚拟机。具体的,部署装置对M个待部署虚拟机分为N个组之后,可将该N个组按照组的单位资源收益值从大到小的顺序,先后部署在K个物理机上。其中,一个组的单位资源收益值为: 该组内所有待部署虚拟机的收益参数值之和,与该组内所有待部署虚拟机所需资源对应的资源参数值之和的比值。这样,即可保证单位资源收益值较大的组内的虚拟机可以被优先部署,进而提高了可以带来较大收益的组内的虚拟机被成功部署的几率。
另一方面,当M大于2时,所述N个组中的第i组内可能包括多个虚拟机;部署装置将M个待部署虚拟机分为N个组后,针对该N个组中的第i组,当不存在满足指定条件的物理机,且该第i组有大于1个待部署虚拟机时,也即,当所有的物理机剩余的资源均小于该第i组内所有虚拟机所需的资源的和值,且该第i组有大于1个待部署虚拟机时,部署装置则可将该第i组内的待部署虚拟机再划分为S个组,使得所述S个组之间的网络部署流量最小,其中,S为大于等于2,小于M-1的正整数,再将该S个组分别部署在T个物理机上,使得同一个组内的待部署虚拟机部署在同一个物理机上,其中,T为大于等于1,小于等于S的正整数。
具体的,将第i组内的虚拟机再划分为S个组时,同样要根据该第i组内每两个待部署虚拟机之间的网络部署流量,按照S个组之间的网络部署流量最小的划分方式,将该第i组内的待部署虚拟机重新划分为S个组。
例如,假设第i组内有虚拟机A~C,其中,虚拟机A与虚拟机B之间的网络部署流量为100M,虚拟机B与虚拟机C之间的网络部署流量为200M,则当没有任何一个物理机剩余的资源不小于该第i组内所有虚拟机所需的资源的和值(即,虚拟机A~C所需的资源的和值)时,由于该第i组内有3个待部署虚拟机,因此部署装置将第i组内的虚拟机再划分为S个组。假设S为2,则:
部署装置如果将虚拟机A重新划分为一个组,记为第一组,将虚拟机B和C重新划分为另一个组,记为第二组,则第一组中的虚拟机A只与第二组中的虚拟机B之间有100M的网络部署流量,因此重新划分的两个组之间的网络部署流量就是100M。如果将虚拟机B重新划分为一个组,将虚拟机A和C 重新划分为另一个组,则由于虚拟机B与虚拟机A之间有100M网络部署流量,虚拟机B与虚拟机C之间有200M网络部署流量,因此重新划分的两个组之间的网络部署流量为100M+200M=300M。如果将虚拟机C重新划分为一个组,将虚拟机A和B重新划分为另一个组,则由于虚拟机B与虚拟机C之间有200M的网络部署流量,因此重新划分的两个组之间的网络部署流量为200M。可见,重新划分的两个组之间所需的网络流量最小的划分方式是第一种划分方式,第一种划分方式可使重新划分的组之间的网络部署流量为最小的100M,因此,采用第一种划分方式重新对该第i组内的虚拟机A~C分组,并在重新分组后,按照将同一个组内的虚拟机部署在同一个物理机上的方式,将重新分组后的虚拟机部署在T个物理机上。
另外,部署装置将M个待部署虚拟机分为N个组后,针对该N个组中的第i组,当不存在满足指定条件的物理机(即,所有的物理机剩余的资源均小于该第i组内所有虚拟机所需的资源的和值),且该第i组只有1个待部署虚拟机时,则可选择N个组中除第i组之外任意一个组中的一个已部署的虚拟机,如果将选择的该已部署的虚拟机替换为该第i组内的虚拟机后,所述K个物理机之间的网络部署流量之和与替换前所述K个物理机之间的网络部署流量之和的差值小于设定阈值,且替换后所述K个物理机上部署的虚拟机的收益参数值之和大于替换前所述K个物理机上部署的虚拟机的收益参数值之和时,采用该第i组内的虚拟机替换选择的该已部署的虚拟机。
例如,假设用户要申请5个虚拟机,分别为虚拟机A~E,也即,虚拟机A~E即为5个待部署虚拟机,用户设定虚拟机A与虚拟机B之间的网络部署流量为100M、虚拟机B与虚拟机C之间的网络部署流量为200M、虚拟机A与虚拟机C之间的网络部署流量为100M、虚拟机D与虚拟机E之间的网络部署流量为100M。用户将上述虚拟机的数量以及各虚拟机之间的网络部署流量携带在申请请求中发送给云平台,云平台中的部署装置则获取这5个待部署虚拟机中每两个虚拟机之间的网络部署流量。
部署装置将虚拟机A~C分为一个组,记为第一组,将虚拟机D和虚拟机E分为另一个组,记为第二组。部署装置将第一组内的虚拟机A~C部署在第一物理机上,但部署装置在部署第二组内的虚拟机D和E时,发现没有任何物理机的剩余资源不小于该第二组内的虚拟机D和E所需的资源的和值,从而将第二组重新划分为两个组,将虚拟机D重新划分为一个组,记为第三组,将虚拟机E重新划分为另一个组,记为第四组。
针对第三组,部署装置确定第二物理机的剩余资源不小于第三组内的虚拟机D所需的资源,因此将第三组内的虚拟机D部署在第二物理机上。
针对第四组,部署装置发现仍没有任何物理机的剩余资源不小于该第四组内的虚拟机E所需的资源,因此,从已部署的虚拟机A~D中选择一个虚拟机。根据当前已部署的各虚拟机(已部署的虚拟机为虚拟机A~D)中每两个虚拟机之间的网络部署流量,可确定当前第一物理机和第二物理机之间的网络部署流量之和为0,。
假设设定阈值为20M,当选择的已部署的虚拟机是虚拟机A时,则部署装置如果将已部署在第一物理机上的虚拟机A替换为第四组中的虚拟机E(即,将虚拟机A迁出第一物理机,将虚拟机E部署在第一物理机上),则由于虚拟机E与虚拟机D之间的网络部署流量为100M,因此替换后第一物理机与第二物理机的网络部署流量之和为100M,而替换前的第一物理机与第二物理机之间的网络部署流量之和为0,因此替换后各物理机之间所需的网络流量之和100M减0不小于设定阈值20M,从而不将部署在第一物理机上的虚拟机A替换为第四组的虚拟机E。类似的,也不将部署在第一物理机上的虚拟机B、C替换为第四组的虚拟机E。
当选择的已部署的虚拟机是虚拟机D时,则部署装置如果将已部署在第二物理机上的虚拟机D替换为第四组中的虚拟机E,则替换后第一物理机与第二物理机之间的网络部署流量之和仍为0,因此替换后各物理机之间的网络部署流量之和0减替换前各物理机之间的网络部署流量之和0的差值小于设定阈值 20M,假设虚拟机E的收益参数值大于虚拟机D的收益参数值,则部署装置将已部署在第二物理机上的虚拟机D替换为第四组中的虚拟机E,即,将虚拟机D迁出第二物理机,将虚拟机E部署在第二物理机上。
后续的,对于被替换出来的虚拟机,部署装置则可针对该被替换出来的虚拟机查找满足指定条件的物理机,若查找到,则将该被替换出来的虚拟机部署在查找到的物理机上,若未查找到,则该被替换出来的虚拟机部署失败,可向用户返回该虚拟机的部署失败消息。
以上为本发明实施例提供的虚拟机的部署方法,基于同样的发明思路,本发明实施例还提供了相应的虚拟机部署装置,如图2所示。
图2为本申请实施例提供的虚拟机的部署装置结构示意图,具体包括:
获取模块201,用于获取M个待部署虚拟机中每两个虚拟机之间的网络部署流量,M为大于等于2的正整数;
划分模块202,用于根据所述获取模块201获取的所述M个待部署虚拟机中每两个待部署虚拟机之间的网络部署流量,将所述M个待部署虚拟机划分为N个组,使得所述N个组之间的网络部署流量最小,其中N为大于等于2,小于等于M的正整数;
部署模块203,用于将所述划分模块202划分的所述N个组分别部署在K个物理机上,使得同一个组内的待部署虚拟机部署在同一个物理机上,其中,K为大于等于1,小于等于N的正整数。
所述部署模块203具体用于,将所述划分模块202划分的所述N个组按照组的单位资源收益值从大到小的顺序,先后部署在K个物理机上;其中,组的单位资源收益值为:所述组内所有待部署虚拟机的收益参数值之和,与所述组内所有待部署虚拟机所需资源对应的资源参数值之和的比值。
所述部署模块203具体用于,将所述划分模块202划分的所述N个组部署在满足指定条件的K个物理机上,其中所述指定条件为用于部署第i组的物理机剩余的资源对应的资源参数值不小于所述第i组内所有待部署虚拟机所需资 源对应的资源参数值之和,i为1到N之间的任意正整数。
当M大于2时,所述划分模块202还用于,针对所述N个组中的第i组,当不存在满足指定条件的物理机,且所述第i组有大于1个待部署虚拟机时,将所述第i组内的待部署虚拟机划分为S个组,其中S为大于等于2,小于M-1的正整数;
所述部署模块203还用于,将所述划分模块202划分的所述S个组分别部署在T个物理机上,使得同一个组内的待部署虚拟机部署在同一个物理机上,其中,T为大于等于1,小于等于S的正整数。
当M大于2时,所述部署模块203还用于,针对所述划分模块202划分的所述N个组中的第i组,当不存在满足指定条件的物理机,且所述第i组只有1个待部署虚拟机时,选择所述N个组中除所述第i组之外一个已部署的虚拟机;如果将所述选择的已部署的虚拟机替换为所述第i组内的虚拟机后,所述K个物理机之间的网络部署流量之和与替换前所述K个物理机之间的网络部署流量之和的差值小于设定阈值,且替换后所述K个物理机上部署的虚拟机的收益参数值之和大于替换前所述K个物理机上部署的虚拟机的收益参数值之和时,用所述第i组内的虚拟机替换所述选择的已部署的虚拟机。
图3为本发明实施例提供的虚拟机的部署装置硬件结构示意图,具体包括:
处理器301、存储器302、通信接口303和总线304。处理器301、存储器302、通信接口303通过总线304相互连接。
总线304可以用于在两个设备、器件之间传输数据或信号。例如,总线具体可以包括地址总线、数据总线、控制总线等,为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口303,用于获取M个待部署虚拟机中每两个虚拟机之间的网络部署流量,M为大于等于2的正整数。
存储器302,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括用于实现上述实施例提供的方法的计算机操作指令。存储器302可能 包含高速随机存取存储器(random access memory,简称RAM)存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器301执行存储器302所存放的程序,用于实现本发明实施例提供的方法,包括:
通过通信接口303获取M个待部署虚拟机中每两个虚拟机之间的网络部署流量,M为大于等于2的正整数;
根据所述M个待部署虚拟机中每两个待部署虚拟机之间的网络部署流量,将所述M个待部署虚拟机划分为N个组,使得所述N个组之间的网络部署流量最小,其中N为大于等于2,小于等于M的的正整数;
将所述N个组分别部署在K个物理机上,使得同一个组内的待部署虚拟机部署在同一个物理机上,其中,K为大于等于1,小于等于N的正整数。
本发明实施例提供的虚拟机的部署装置可以是各种形态的装置,如集成在一块芯片上或通过硬件电路搭建实现等。
本发明实施例还提供一种存储介质,该存储介质中存储计算机程序,该计算机程序用于实现本发明实施例提供的虚拟机的部署方法,例如,所述虚拟机的部署方法包括:
获取M个待部署虚拟机中每两个虚拟机之间的网络部署流量,M为大于等于2的正整数;
根据所述M个待部署虚拟机中每两个待部署虚拟机之间的网络部署流量,将所述M个待部署虚拟机划分为N个组,使得所述N个组之间的网络部署流量最小,其中N为大于等于2,小于等于M的的正整数;
将所述N个组分别部署在K个物理机上,使得同一个组内的待部署虚拟机部署在同一个物理机上,其中,K为大于等于1,小于等于N的正整数。
所述存储介质中存储的计算机程序包括程序代码,所述程序代码包括用于实现本发明实施例提供的方法的计算机操作指令。存储介质可能包含高速随机存取存储器(random access memory,简称RAM)存储器,也可能还包括非易 失性存储器(non-volatile memory),例如至少一个磁盘存储器。
本发明实施例提供一种虚拟机的部署方法及装置,根据M个待部署虚拟机中每两个虚拟机之间的网络部署流量,将M个待部署虚拟机分为N个组,使得N个组之间的网络部署流量最小,再将同一个组内的虚拟机部署在同一个物理机上。通过上述方法,由于N个组之间的网络部署流量最小,因此,将同一个组内的虚拟机部署在同一个物理机上后,物理机之间所需的网络流量也最小,可有效节省物理机之间的网络流量。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可 读媒体(transitory media),如调制的数据信号和载波。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

一种虚拟机的部署方法及装置.pdf_第1页
第1页 / 共14页
一种虚拟机的部署方法及装置.pdf_第2页
第2页 / 共14页
一种虚拟机的部署方法及装置.pdf_第3页
第3页 / 共14页
点击查看更多>>
资源描述

《一种虚拟机的部署方法及装置.pdf》由会员分享,可在线阅读,更多相关《一种虚拟机的部署方法及装置.pdf(14页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103902353 A (43)申请公布日 2014.07.02 CN 103902353 A (21)申请号 201410126765.X (22)申请日 2014.03.31 G06F 9/455(2006.01) G06F 9/50(2006.01) H04L 12/24(2006.01) (71)申请人 华为技术有限公司 地址 518129 广东省深圳市龙岗区坂田华为 总部办公楼 (72)发明人 谢华国 罗文通 张春宇 康达祥 方莹 (74)专利代理机构 北京同达信恒知识产权代理 有限公司 11291 代理人 黄志华 (54) 发明名称 一种虚拟机的部署方法及。

2、装置 (57) 摘要 本发明实施例提供一种虚拟机的部署方法及 装置, 根据 M 个待部署虚拟机中每两个虚拟机之 间的网络部署流量, 将M个待部署虚拟机分为N个 组, 使得 N 个组之间的网络部署流量最小, 再将同 一个组内的虚拟机部署在同一个物理机上。通过 上述方法, 由于 N 个组之间的网络部署流量最小, 因此, 将同一个组内的虚拟机部署在同一个物理 机上后, 物理机之间所需的网络流量也最小, 可有 效节省物理机之间的网络流量。 (51)Int.Cl. 权利要求书 2 页 说明书 10 页 附图 1 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书10页。

3、 附图1页 (10)申请公布号 CN 103902353 A CN 103902353 A 1/2 页 2 1. 一种虚拟机的部署方法, 其特征在于, 包括 : 获取 M 个待部署虚拟机中每两个虚拟机之间的网络部署流量, M 为大于等于 2 的正整 数 ; 根据所述 M 个待部署虚拟机中每两个待部署虚拟机之间的网络部署流量, 将所述 M 个 待部署虚拟机划分为 N 个组, 使得所述 N 个组之间的网络部署流量最小, 其中 N 为大于等于 2, 小于等于 M 的正整数 ; 将所述 N 个组分别部署在 K 个物理机上, 使得同一个组内的待部署虚拟机部署在同一 个物理机上, 其中, K 为大于等于 。

4、1, 小于等于 N 的正整数。 2. 如权利要求 1 所述的方法, 其特征在于, 将所述 N 个组分别部署在 K 个物理机上, 具 体包括 : 将所述N个组按照组的单位资源收益值从大到小的顺序, 先后部署在K个物理机上 ; 其 中, 组的单位资源收益值为 : 所述组内所有待部署虚拟机的收益参数值之和与所述组内所有待部署虚拟机所需资 源对应的资源参数值之和的比值。 3. 如权利要求 1 或 2 所述的方法, 其特征在于, 将所述 N 个组分别部署在 K 个物理机 上, 具体包括 : 将所述 N 个组部署在满足指定条件的 K 个物理机上, 其中所述指定条件为用于部署第 i 组的物理机剩余的资源对应。

5、的资源参数值不小于所述第 i 组内所有待部署虚拟机所需资 源对应的资源参数值之和, i 为 1 到 N 之间的任意正整数。 4. 如权利要求 3 所述的方法, 其特征在于, 当 M 大于 2 时, 所述方法还包括 : 针对所述 N 个组中的第 i 组, 当不存在满足指定条件的物理机, 且所述第 i 组有大于 1 个待部署虚拟机时, 将所述第i组内的待部署虚拟机划分为S个组, 其中S为大于等于2, 小 于 M-1 的正整数 ; 将所述 S 个组分别部署在 T 个物理机上, 使得同一个组内的待部署虚拟机部署在同一 个物理机上, 其中, T 为大于等于 1, 小于等于 S 的正整数。 5. 如权利要。

6、求 3 所述的方法, 其特征在于, 当 M 大于 2 时, 所述方法还包括 : 针对所述 N 个组中的第 i 组, 当不存在满足指定条件的物理机, 且所述第 i 组只有 1 个待部署虚拟机时, 选择所述 N 个组中除所述第 i 组之外任意一个组中一个已部署的虚拟 机 ; 如果将所述选择的已部署的虚拟机替换为所述第 i 组内的虚拟机后, 所述 K 个物理机 之间的网络部署流量之和与替换前所述 K 个物理机之间的网络部署流量之和的差值小于 设定阈值, 且替换后所述 K 个物理机上部署的虚拟机的收益参数值之和大于替换前所述 K 个物理机上部署的虚拟机的收益参数值之和时, 用所述第 i 组内的虚拟机替。

7、换所述选择的 已部署的虚拟机。 6. 一种虚拟机的部署装置, 其特征在于, 包括 : 获取模块, 用于获取 M 个待部署虚拟机中每两个虚拟机之间的网络部署流量, M 为大于 等于 2 的正整数 ; 划分模块, 用于根据所述获取模块获取的所述 M 个待部署虚拟机中每两个待部署虚拟 机之间的网络部署流量, 将所述 M 个待部署虚拟机划分为 N 个组, 使得所述 N 个组之间的网 权 利 要 求 书 CN 103902353 A 2 2/2 页 3 络部署流量最小, 其中 N 为大于等于 2, 小于等于 M 的正整数 ; 部署模块, 用于将所述划分模块划分的所述N个组分别部署在K个物理机上, 使得同。

8、一 个组内的待部署虚拟机部署在同一个物理机上, 其中, K 为大于等于 1, 小于等于 N 的正整 数。 7. 如权利要求 6 所述的装置, 其特征在于, 所述部署模块具体用于, 将所述划分模块划 分的所述 N 个组按照组的单位资源收益值从大到小的顺序, 先后部署在 K 个物理机上 ; 其 中, 组的单位资源收益值为 : 所述组内所有待部署虚拟机的收益参数值之和与所述组内所 有待部署虚拟机所需资源对应的资源参数值之和的比值。 8. 如权利要求 6 或 7 所述的装置, 其特征在于, 所述部署模块具体用于, 将所述划分模 块划分的所述 N 个组部署在满足指定条件的 K 个物理机上, 其中所述指定。

9、条件为用于部署 第i组的物理机剩余的资源对应的资源参数值不小于所述第i组内所有待部署虚拟机所需 资源对应的资源参数值之和, i 为 1 到 N 之间的任意正整数。 9.如权利要求8所述的装置, 其特征在于, 当M大于2时, 所述划分模块还用于, 针对所 述 N 个组中的第 i 组, 当不存在满足指定条件的物理机, 且所述第 i 组有大于 1 个待部署虚 拟机时, 将所述第i组内的待部署虚拟机划分为S个组, 其中S为大于等于2, 小于M-1的正 整数 ; 所述部署模块还用于, 将所述划分模块划分的所述S个组分别部署在T个物理机上, 使 得同一个组内的待部署虚拟机部署在同一个物理机上, 其中, T。

10、为大于等于1, 小于等于S的 正整数。 10. 如权利要求 8 所述的装置, 其特征在于, 当 M 大于 2 时, 所述部署模块还用于, 针对 所述划分模块划分的所述 N 个组中的第 i 组, 当不存在满足指定条件的物理机, 且所述第 i 组只有 1 个待部署虚拟机时, 选择所述 N 个组中除所述第 i 组之外任意一个组中一个已部 署的虚拟机 ; 如果将所述选择的已部署的虚拟机替换为所述第i组内的虚拟机后, 所述K个 物理机之间的网络部署流量之和与替换前所述 K 个物理机之间的网络部署流量之和的差 值小于设定阈值, 且替换后所述 K 个物理机上部署的虚拟机的收益参数值之和大于替换前 所述 K 。

11、个物理机上部署的虚拟机的收益参数值之和时, 用所述第 i 组内的虚拟机替换所述 选择的已部署的虚拟机。 权 利 要 求 书 CN 103902353 A 3 1/10 页 4 一种虚拟机的部署方法及装置 技术领域 0001 本发明涉及通信技术领域, 尤其涉及一种虚拟机的部署方法及装置。 背景技术 0002 虚拟化云计算技术的兴起和发展正逐渐影响改变着整个计算机产业界和学术界, 云计算带给 IT 全新的资源整合和使用模式, 基于虚拟化的资源按需分配与调度可以提高 云平台资源的利用率, 提升云平台的服务质量, 也降低云用户的总体使用成本。 0003 目前, 云平台通过聚集物理机硬件与网络资源, 形。

12、成大规模计算资源池, 虚拟机可 部署于物理机上, 云平台则通过资源调度系统, 把物理机资源分配给虚拟机, 通过虚拟机运 行应用程序, 实现向用户提供云计算服务。 0004 由于每个物理机所能提供的资源都是有限的, 物理机的数量也是有限的, 因此, 在 现有技术中, 在物理机上部署虚拟机时, 通常考虑的是如何在最少的物理机上部署最多的 虚拟机, 用以达到物理机资源最大利用率的目的。 0005 然而, 在实际应用中, 由于虚拟机之间往往也需要进行信息交互, 因此, 如果将需 要大量信息交互的多个虚拟机部署在不同的物理机上, 就会浪费物理机之间大量的网络流 量来满足部署于这些虚拟机之间的交互。 发明。

13、内容 0006 本发明实施例提供一种虚拟机的部署方法及装置, 用以解决现有技术中跨物理机 的网络流量大的问题。 0007 第一方面, 提供一种虚拟机的部署方法, 包括 : 0008 获取 M 个待部署虚拟机中每两个虚拟机之间的网络部署流量, M 为大于等于 2 的 正整数 ; 0009 根据所述 M 个待部署虚拟机中每两个待部署虚拟机之间的网络部署流量, 将所述 M 个待部署虚拟机划分为 N 个组, 使得所述 N 个组之间的网络部署流量最小, 其中 N 为大于 等于 2, 小于等于 M 的正整数 ; 0010 将所述 N 个组分别部署在 K 个物理机上, 使得同一个组内的待部署虚拟机部署在 同。

14、一个物理机上, 其中, K 为大于等于 1, 小于等于 N 的正整数。 0011 结合第一方面, 在第一方面的第一种可能的实现方式中, 将所述 N 个组分别部署 在 K 个物理机上, 具体包括 : 0012 将所述 N 个组按照组的单位资源收益值从大到小的顺序, 先后部署在 K 个物理机 上 ; 0013 其中, 组的单位资源收益值为 : 0014 所述组内所有待部署虚拟机的收益参数值之和与所述组内所有待部署虚拟机所 需资源对应的资源参数值之和的比值。 0015 结合第一方面或第一方面的第一种可能的实现方式, 在第一方面的第二种可能的 说 明 书 CN 103902353 A 4 2/10 页。

15、 5 实现方式中, 将所述 N 个组分别部署在 K 个物理机上, 具体包括 : 0016 将所述 N 个组部署在满足指定条件的 K 个物理机上, 其中所述指定条件为用于部 署第i组的物理机剩余的资源对应的资源参数值不小于所述第i组内所有待部署虚拟机所 需资源对应的资源参数值之和, i 为 1 到 N 之间的任意正整数。 0017 结合第一方面的第二种可能的实现方式, 在第一方面的第三种可能的实现方式 中, 当 M 大于 2 时, 所述方法还包括 : 0018 针对所述 N 个组中的第 i 组, 当不存在满足指定条件的物理机, 且所述第 i 组有大 于 1 个待部署虚拟机时, 将所述第 i 组内。

16、的待部署虚拟机划分为 S 个组, 其中 S 为大于等于 2, 小于 M-1 的正整数 ; 0019 将所述 S 个组分别部署在 T 个物理机上, 使得同一个组内的待部署虚拟机部署在 同一个物理机上, 其中, T 为大于等于 1, 小于等于 S 的正整数。 0020 结合第一方面的第二种可能的实现方式, 在第一方面的第四种可能的实现方式 中, 当 M 大于 2 时, 所述方法还包括 : 0021 针对所述 N 个组中的第 i 组, 当不存在满足指定条件的物理机, 且所述第 i 组只有 1个待部署虚拟机时, 选择所述N个组中除所述第i组之外任意一个组中一个已部署的虚拟 机 ; 0022 如果将所述。

17、选择的已部署的虚拟机替换为所述第 i 组内的虚拟机后, 所述 K 个物 理机之间的网络部署流量之和与替换前所述 K 个物理机之间的网络部署流量之和的差值 小于设定阈值, 且替换后所述 K 个物理机上部署的虚拟机的收益参数值之和大于替换前所 述 K 个物理机上部署的虚拟机的收益参数值之和时, 用所述第 i 组内的虚拟机替换所述选 择的已部署的虚拟机。 0023 第二方面, 提供一种虚拟机的部署装置, 包括 : 0024 获取模块, 用于获取 M 个待部署虚拟机中每两个虚拟机之间的网络部署流量, M 为 大于等于 2 的正整数 ; 0025 划分模块, 用于根据所述获取模块获取的所述 M 个待部署。

18、虚拟机中每两个待部署 虚拟机之间的网络部署流量, 将所述 M 个待部署虚拟机划分为 N 个组, 使得所述 N 个组之间 的网络部署流量最小, 其中 N 为大于等于 2, 小于等于 M 的正整数 ; 0026 部署模块, 用于将所述划分模块划分的所述N个组分别部署在K个物理机上, 使得 同一个组内的待部署虚拟机部署在同一个物理机上, 其中, K为大于等于1, 小于等于N的正 整数。 0027 结合第二方面, 在第二方面的第一种可能的实现方式中, 所述部署模块具体用于, 将所述划分模块划分的所述 N 个组按照组的单位资源收益值从大到小的顺序, 先后部署在 K 个物理机上 ; 0028 其中, 组的。

19、单位资源收益值为 : 所述组内所有待部署虚拟机的收益参数值之和与 所述组内所有待部署虚拟机所需资源对应的资源参数值之和的比值。 0029 结合第二方面或第二方面的第一种可能的实现方式, 在第二方面的第二种可能的 实现方式中, 所述部署模块具体用于, 将所述划分模块划分的所述 N 个组部署在满足指定 条件的 K 个物理机上, 其中所述指定条件为用于部署第 i 组的物理机剩余的资源对应的资 源参数值不小于所述第i组内所有待部署虚拟机所需资源对应的资源参数值之和, i为1到 说 明 书 CN 103902353 A 5 3/10 页 6 N 之间的任意正整数。 0030 结合第二方面的第二种可能的实。

20、现方式, 在第二方面的第三种可能的实现方式 中, 当 M 大于 2 时, 所述划分模块还用于, 针对所述 N 个组中的第 i 组, 当不存在满足指定条 件的物理机, 且所述第 i 组有大于 1 个待部署虚拟机时, 将所述第 i 组内的待部署虚拟机划 分为 S 个组, 其中 S 为大于等于 2, 小于 M-1 的正整数 ; 0031 所述部署模块还用于, 将所述划分模块划分的所述 S 个组分别部署在 T 个物理机 上, 使得同一个组内的待部署虚拟机部署在同一个物理机上, 其中, T 为大于等于 1, 小于等 于 S 的正整数。 0032 结合第二方面的第二种可能的实现方式, 在第二方面的第四种可。

21、能的实现方式 中, 所述部署模块还用于, 针对所述划分模块划分的所述 N 个组中的第 i 组, 当不存在满足 指定条件的物理机, 且所述第 i 组只有 1 个待部署虚拟机时, 选择所述 N 个组中除所述第 i 组之外任意一个组中一个已部署的虚拟机 ; 如果将所述选择的已部署的虚拟机替换为所述 第 i 组内的虚拟机后, 所述 K 个物理机之间的网络部署流量之和与替换前所述 K 个物理机 之间的网络部署流量之和的差值小于设定阈值, 且替换后所述 K 个物理机上部署的虚拟机 的收益参数值之和大于替换前所述 K 个物理机上部署的虚拟机的收益参数值之和时, 用所 述第 i 组内的虚拟机替换所述选择的已部。

22、署的虚拟机。 0033 本发明实施例提供一种虚拟机的部署方法及装置, 根据 M 个待部署虚拟机中每两 个虚拟机之间的网络部署流量, 将 M 个待部署虚拟机分为 N 个组, 使得 N 个组之间的网络部 署流量最小, 再将同一个组内的虚拟机部署在同一个物理机上。通过上述方法, 由于 N 个组 之间的网络部署流量最小, 因此, 将同一个组内的虚拟机部署在同一个物理机上后, 物理机 之间所需的网络流量也最小, 可有效节省物理机之间的网络流量。 附图说明 0034 图 1 为本发明实施例提供的虚拟机部署方法 ; 0035 图 2 为本申请实施例提供的虚拟机的部署装置结构示意图 ; 0036 图 3 为本。

23、发明实施例提供的虚拟机的部署装置硬件结构示意图。 具体实施方式 0037 本发明实施例提供一种部署虚拟机的方法, 旨在使物理机之间的网络流量最小, 以达到节省跨物理机网络流量的目的。 该方法根据预设的每两个虚拟机之间的网络部署流 量, 将 M 个待部署虚拟机分为 N 个组, N 个组之间的网络部署流量最小, 再将同一个组内的 虚拟机部署在同一个物理机上。 两个虚拟机之间的网络部署流量是指两个虚拟机之间的可 部署最大网络流量, 该可部署最大网络流量可以是申请部署虚拟机的用户申请的, 也可以 是网络提供商指定的。 0038 下面结合说明书附图, 对本发明实施例进行详细描述。 0039 图 1 为本。

24、发明实施例提供的虚拟机部署方法, 具体包括以下步骤 : 0040 S101 : 获取 M 个待部署虚拟机中每两个虚拟机之间的网络部署流量。 0041 其中, M 为大于等于 2 的正整数。 0042 在本发明实施例中, 可在云平台中预置部署装置, 部署装置可获取待部署虚拟机 说 明 书 CN 103902353 A 6 4/10 页 7 中每两个虚拟机之间的网络部署流量。具体的, 假设用户向云平台申请 M 个虚拟机时, 可设 定其申请的各虚拟机之间的网络部署流量, 用户申请的这些虚拟机即为待部署虚拟机, 部 署装置则可根据用户向云平台提交的申请虚拟机的申请请求, 获取用户申请的 M 个待部署 。

25、虚拟机中每两个虚拟机之间的网络部署流量。 0043 例如, 用户要申请 5 个虚拟机, 分别为虚拟机 A E, 也即, 虚拟机 A E 就是 5 个 待部署虚拟机, 用户设定虚拟机A与虚拟机B之间的网络部署流量为100M、 虚拟机B与虚拟 机 C 之间的网络部署流量为 200M、 虚拟机 A 与虚拟机 C 之间的网络部署流量为 100M、 虚拟 机D与虚拟机E之间的网络部署流量为100M。 用户将上述虚拟机的数量以及各虚拟机之间 的网络部署流量携带在申请请求中发送给云平台, 云平台中的部署装置则获取用户预设的 这 5 个待部署虚拟机中每两个虚拟机之间的网络部署流量。 0044 S102 : 根。

26、据M个待部署虚拟机中每两个虚拟机之间的网络部署流量, 将M个待部署 虚拟机划分为 N 个组, 使得该 N 个组之间的网络部署流量最小。 0045 其中, N 为大于等于 2, 小于等于 M 的正整数, 该 N 个组中任意两个组之间的网络部 署流量为 : 第一组内的所有待部署虚拟机与第二组内的所有待部署虚拟机之间的网络部署 流量之和。 0046 继续沿用上例, 部署装置确定了待部署虚拟机 A E 中每两个虚拟机之间的网络 部署流量后, 针对虚拟机 D 和虚拟机 E, 可确定虚拟机 A C 与虚拟机 D 和虚拟机 E 之间均 不需要网络流量, 也即, 虚拟机 A C 与虚拟机 D 和 E 之间的网。

27、络部署流量最小, 因此, 部署 装置可将虚拟机 A C 分为一个组, 将虚拟机 D 和虚拟机 E 分为另一个组。这样, 对于这两 个组中的任意一个组来说, 该组内的所有虚拟机与另一个组内的所有虚拟机之间所需的网 络流量之和为最小, 即为 0。 0047 S103 : 将N个组分别部署在K个物理机上, 使得同一个组内的待部署虚拟机部署在 同一个物理机上。 0048 其中, K 为大于等于 1, 小于等于 N 的正整数。 0049 在本发明实施例中, 由于步骤 S102 中每个组内的虚拟机与其他组内的虚拟机之 间的网络部署流量最小, 因此, 将同一个组内的虚拟机部署在同一个物理机上后, 各物理机 。

28、之间所需的网络流量也最小, 可以减少因虚拟机之间的交互而浪费的网络流量, 一个组内 的虚拟机之间的大量交互只在其所在的物理机内部进行即可。 0050 继续沿用上例, 部署装置将虚拟机 A C 分为一个组, 将虚拟机 D 和 E 分为一个组 后, 可将虚拟机 A C 部署在一个物理机上, 将虚拟机 D 和 E 部署在另一个物理机上, 从而, 由于虚拟机 A C 与虚拟机 D 和 E 之间不需要进行交互, 因此, 部署虚拟机 A C 的物理机 和部署虚拟机 D 和 E 的物理机之间也不需要进行交互, 虚拟机 A C 之间的交互可在部署 虚拟机 A C 的物理机内部进行, 虚拟机 D 和 E 之间的。

29、交互可在部署虚拟机 D 和 E 的物理 机内部进行, 进而可节省这两个物理机之间的网络资源。 0051 当然, 部署装置也可将虚拟机AE均部署在同一个物理机上, 只要保证同一个组 内的虚拟机部署在同一个物理机上即可。 0052 进一步的, 由于将一个虚拟机部署在一个物理机上后, 该虚拟机需要使用该物理 机上的资源 (例如计算资源、 存储资源等) 来运行, 因此, 将 M 个待部署虚拟机分为 N 个组后, 上述步骤 S103 中部署装置将 N 个组分别部署在 K 个物理机上的方法可以为 : 将 N 个组部署 说 明 书 CN 103902353 A 7 5/10 页 8 在满足指定条件的 K 个。

30、物理机上, 其中该指定条件为用于部署第 i 组的物理机剩余的资源 对应的资源参数值不小于该第 i 组内所有待部署虚拟机所需资源对应的资源参数值之和, i为1到N之间的任意正整数。 也即, 部署装置在部署一个组内的虚拟机时, 在各物理机中, 查找剩余的资源不小于该组内所有虚拟机所需的资源的和值 (即, 第二和值) 的物理机, 查 找到的物理机即为满足指定条件的物理机, 再将该组内的所有虚拟机都部署在查找到的物 理机上。 0053 更进一步的, 由于对于一个组内的虚拟机来说, 并不是所有的物理机都可以部署 该组内的虚拟机 (如, 剩余的资源小于该组内虚拟机所需的资源的和值的物理机) , 因此, 为。

31、 了在节省物理机之间的网络流量的同时, 兼顾虚拟机所带来的收益, 在本发明实施例提供 的上述部署方法中, 对M个待部署虚拟机分为N个组之后, 可优先部署收益较大组内的虚拟 机。具体的, 部署装置对 M 个待部署虚拟机分为 N 个组之后, 可将该 N 个组按照组的单位资 源收益值从大到小的顺序, 先后部署在 K 个物理机上。其中, 一个组的单位资源收益值为 : 该组内所有待部署虚拟机的收益参数值之和, 与该组内所有待部署虚拟机所需资源对应的 资源参数值之和的比值。这样, 即可保证单位资源收益值较大的组内的虚拟机可以被优先 部署, 进而提高了可以带来较大收益的组内的虚拟机被成功部署的几率。 005。

32、4 另一方面, 当 M 大于 2 时, 所述 N 个组中的第 i 组内可能包括多个虚拟机 ; 部署装 置将 M 个待部署虚拟机分为 N 个组后, 针对该 N 个组中的第 i 组, 当不存在满足指定条件的 物理机, 且该第 i 组有大于 1 个待部署虚拟机时, 也即, 当所有的物理机剩余的资源均小于 该第 i 组内所有虚拟机所需的资源的和值, 且该第 i 组有大于 1 个待部署虚拟机时, 部署装 置则可将该第 i 组内的待部署虚拟机再划分为 S 个组, 使得所述 S 个组之间的网络部署流 量最小, 其中, S 为大于等于 2, 小于 M-1 的正整数, 再将该 S 个组分别部署在 T 个物理机上。

33、, 使得同一个组内的待部署虚拟机部署在同一个物理机上, 其中, T 为大于等于 1, 小于等于 S 的正整数。 0055 具体的, 将第 i 组内的虚拟机再划分为 S 个组时, 同样要根据该第 i 组内每两个待 部署虚拟机之间的网络部署流量, 按照 S 个组之间的网络部署流量最小的划分方式, 将该 第 i 组内的待部署虚拟机重新划分为 S 个组。 0056 例如, 假设第i组内有虚拟机AC, 其中, 虚拟机A与虚拟机B之间的网络部署流 量为 100M, 虚拟机 B 与虚拟机 C 之间的网络部署流量为 200M, 则当没有任何一个物理机剩 余的资源不小于该第 i 组内所有虚拟机所需的资源的和值 。

34、(即, 虚拟机 A C 所需的资源的 和值) 时, 由于该第 i 组内有 3 个待部署虚拟机, 因此部署装置将第 i 组内的虚拟机再划分 为 S 个组。假设 S 为 2, 则 : 0057 部署装置如果将虚拟机 A 重新划分为一个组, 记为第一组, 将虚拟机 B 和 C 重新划 分为另一个组, 记为第二组, 则第一组中的虚拟机 A 只与第二组中的虚拟机 B 之间有 100M 的网络部署流量, 因此重新划分的两个组之间的网络部署流量就是 100M。如果将虚拟机 B 重新划分为一个组, 将虚拟机 A 和 C 重新划分为另一个组, 则由于虚拟机 B 与虚拟机 A 之间 有 100M 网络部署流量, 。

35、虚拟机 B 与虚拟机 C 之间有 200M 网络部署流量, 因此重新划分的两 个组之间的网络部署流量为 100M+200M=300M。如果将虚拟机 C 重新划分为一个组, 将虚拟 机 A 和 B 重新划分为另一个组, 则由于虚拟机 B 与虚拟机 C 之间有 200M 的网络部署流量, 因此重新划分的两个组之间的网络部署流量为 200M。可见, 重新划分的两个组之间所需的 说 明 书 CN 103902353 A 8 6/10 页 9 网络流量最小的划分方式是第一种划分方式, 第一种划分方式可使重新划分的组之间的网 络部署流量为最小的100M, 因此, 采用第一种划分方式重新对该第i组内的虚拟机。

36、AC分 组, 并在重新分组后, 按照将同一个组内的虚拟机部署在同一个物理机上的方式, 将重新分 组后的虚拟机部署在 T 个物理机上。 0058 另外, 部署装置将 M 个待部署虚拟机分为 N 个组后, 针对该 N 个组中的第 i 组, 当 不存在满足指定条件的物理机 (即, 所有的物理机剩余的资源均小于该第 i 组内所有虚拟 机所需的资源的和值) , 且该第 i 组只有 1 个待部署虚拟机时, 则可选择 N 个组中除第 i 组 之外任意一个组中的一个已部署的虚拟机, 如果将选择的该已部署的虚拟机替换为该第 i 组内的虚拟机后, 所述 K 个物理机之间的网络部署流量之和与替换前所述 K 个物理机。

37、之间 的网络部署流量之和的差值小于设定阈值, 且替换后所述 K 个物理机上部署的虚拟机的收 益参数值之和大于替换前所述 K 个物理机上部署的虚拟机的收益参数值之和时, 采用该第 i 组内的虚拟机替换选择的该已部署的虚拟机。 0059 例如, 假设用户要申请 5 个虚拟机, 分别为虚拟机 A E, 也即, 虚拟机 A E 即为 5 个待部署虚拟机, 用户设定虚拟机 A 与虚拟机 B 之间的网络部署流量为 100M、 虚拟机 B 与 虚拟机 C 之间的网络部署流量为 200M、 虚拟机 A 与虚拟机 C 之间的网络部署流量为 100M、 虚拟机D与虚拟机E之间的网络部署流量为100M。 用户将上述。

38、虚拟机的数量以及各虚拟机 之间的网络部署流量携带在申请请求中发送给云平台, 云平台中的部署装置则获取这 5 个 待部署虚拟机中每两个虚拟机之间的网络部署流量。 0060 部署装置将虚拟机 A C 分为一个组, 记为第一组, 将虚拟机 D 和虚拟机 E 分为另 一个组, 记为第二组。部署装置将第一组内的虚拟机 A C 部署在第一物理机上, 但部署装 置在部署第二组内的虚拟机 D 和 E 时, 发现没有任何物理机的剩余资源不小于该第二组内 的虚拟机 D 和 E 所需的资源的和值, 从而将第二组重新划分为两个组, 将虚拟机 D 重新划分 为一个组, 记为第三组, 将虚拟机 E 重新划分为另一个组, 。

39、记为第四组。 0061 针对第三组, 部署装置确定第二物理机的剩余资源不小于第三组内的虚拟机 D 所 需的资源, 因此将第三组内的虚拟机 D 部署在第二物理机上。 0062 针对第四组, 部署装置发现仍没有任何物理机的剩余资源不小于该第四组内的虚 拟机 E 所需的资源, 因此, 从已部署的虚拟机 A D 中选择一个虚拟机。根据当前已部署的 各虚拟机 (已部署的虚拟机为虚拟机 A D) 中每两个虚拟机之间的网络部署流量, 可确定 当前第一物理机和第二物理机之间的网络部署流量之和为 0, 。 0063 假设设定阈值为 20M, 当选择的已部署的虚拟机是虚拟机 A 时, 则部署装置如果将 已部署在第。

40、一物理机上的虚拟机 A 替换为第四组中的虚拟机 E (即, 将虚拟机 A 迁出第一物 理机, 将虚拟机 E 部署在第一物理机上) , 则由于虚拟机 E 与虚拟机 D 之间的网络部署流量 为 100M, 因此替换后第一物理机与第二物理机的网络部署流量之和为 100M, 而替换前的第 一物理机与第二物理机之间的网络部署流量之和为 0, 因此替换后各物理机之间所需的网 络流量之和 100M 减 0 不小于设定阈值 20M, 从而不将部署在第一物理机上的虚拟机 A 替换 为第四组的虚拟机 E。类似的, 也不将部署在第一物理机上的虚拟机 B、 C 替换为第四组的 虚拟机 E。 0064 当选择的已部署的。

41、虚拟机是虚拟机 D 时, 则部署装置如果将已部署在第二物理机 上的虚拟机 D 替换为第四组中的虚拟机 E, 则替换后第一物理机与第二物理机之间的网络 说 明 书 CN 103902353 A 9 7/10 页 10 部署流量之和仍为 0, 因此替换后各物理机之间的网络部署流量之和 0 减替换前各物理机 之间的网络部署流量之和0的差值小于设定阈值20M, 假设虚拟机E的收益参数值大于虚拟 机 D 的收益参数值, 则部署装置将已部署在第二物理机上的虚拟机 D 替换为第四组中的虚 拟机 E, 即, 将虚拟机 D 迁出第二物理机, 将虚拟机 E 部署在第二物理机上。 0065 后续的, 对于被替换出来。

42、的虚拟机, 部署装置则可针对该被替换出来的虚拟机查 找满足指定条件的物理机, 若查找到, 则将该被替换出来的虚拟机部署在查找到的物理机 上, 若未查找到, 则该被替换出来的虚拟机部署失败, 可向用户返回该虚拟机的部署失败消 息。 0066 以上为本发明实施例提供的虚拟机的部署方法, 基于同样的发明思路, 本发明实 施例还提供了相应的虚拟机部署装置, 如图 2 所示。 0067 图 2 为本申请实施例提供的虚拟机的部署装置结构示意图, 具体包括 : 0068 获取模块 201, 用于获取 M 个待部署虚拟机中每两个虚拟机之间的网络部署流量, M 为大于等于 2 的正整数 ; 0069 划分模块2。

43、02, 用于根据所述获取模块201获取的所述M个待部署虚拟机中每两个 待部署虚拟机之间的网络部署流量, 将所述 M 个待部署虚拟机划分为 N 个组, 使得所述 N 个 组之间的网络部署流量最小, 其中 N 为大于等于 2, 小于等于 M 的正整数 ; 0070 部署模块203, 用于将所述划分模块202划分的所述N个组分别部署在K个物理机 上, 使得同一个组内的待部署虚拟机部署在同一个物理机上, 其中, K 为大于等于 1, 小于等 于 N 的正整数。 0071 所述部署模块 203 具体用于, 将所述划分模块 202 划分的所述 N 个组按照组的单 位资源收益值从大到小的顺序, 先后部署在 。

44、K 个物理机上 ; 其中, 组的单位资源收益值为 : 所述组内所有待部署虚拟机的收益参数值之和, 与所述组内所有待部署虚拟机所需资源对 应的资源参数值之和的比值。 0072 所述部署模块 203 具体用于, 将所述划分模块 202 划分的所述 N 个组部署在满足 指定条件的 K 个物理机上, 其中所述指定条件为用于部署第 i 组的物理机剩余的资源对应 的资源参数值不小于所述第 i 组内所有待部署虚拟机所需资源对应的资源参数值之和, i 为 1 到 N 之间的任意正整数。 0073 当 M 大于 2 时, 所述划分模块 202 还用于, 针对所述 N 个组中的第 i 组, 当不存在 满足指定条件。

45、的物理机, 且所述第 i 组有大于 1 个待部署虚拟机时, 将所述第 i 组内的待部 署虚拟机划分为 S 个组, 其中 S 为大于等于 2, 小于 M-1 的正整数 ; 0074 所述部署模块 203 还用于, 将所述划分模块 202 划分的所述 S 个组分别部署在 T 个物理机上, 使得同一个组内的待部署虚拟机部署在同一个物理机上, 其中, T 为大于等于 1, 小于等于 S 的正整数。 0075 当 M 大于 2 时, 所述部署模块 203 还用于, 针对所述划分模块 202 划分的所述 N 个 组中的第 i 组, 当不存在满足指定条件的物理机, 且所述第 i 组只有 1 个待部署虚拟机时。

46、, 选择所述 N 个组中除所述第 i 组之外一个已部署的虚拟机 ; 如果将所述选择的已部署的虚 拟机替换为所述第 i 组内的虚拟机后, 所述 K 个物理机之间的网络部署流量之和与替换前 所述 K 个物理机之间的网络部署流量之和的差值小于设定阈值, 且替换后所述 K 个物理机 上部署的虚拟机的收益参数值之和大于替换前所述 K 个物理机上部署的虚拟机的收益参 说 明 书 CN 103902353 A 10 8/10 页 11 数值之和时, 用所述第 i 组内的虚拟机替换所述选择的已部署的虚拟机。 0076 图 3 为本发明实施例提供的虚拟机的部署装置硬件结构示意图, 具体包括 : 0077 处理器。

47、 301、 存储器 302、 通信接口 303 和总线 304。处理器 301、 存储器 302、 通信 接口 303 通过总线 304 相互连接。 0078 总线 304 可以用于在两个设备、 器件之间传输数据或信号。例如, 总线具体可以包 括地址总线、 数据总线、 控制总线等, 为便于表示, 图 3 中仅用一条粗线表示, 但并不表示仅 有一根总线或一种类型的总线。 0079 通信接口 303, 用于获取 M 个待部署虚拟机中每两个虚拟机之间的网络部署流量, M 为大于等于 2 的正整数。 0080 存储器 302, 用于存放程序。具体地, 程序可以包括程序代码, 所述程序代码包 括用于实现。

48、上述实施例提供的方法的计算机操作指令。存储器 302 可能包含高速随机 存取存储器 (random access memory, 简称 RAM)存储器, 也可能还包括非易失性存储器 (non-volatile memory) , 例如至少一个磁盘存储器。 0081 处理器301执行存储器302所存放的程序, 用于实现本发明实施例提供的方法, 包 括 : 0082 通过通信接口 303 获取 M 个待部署虚拟机中每两个虚拟机之间的网络部署流量, M 为大于等于 2 的正整数 ; 0083 根据所述 M 个待部署虚拟机中每两个待部署虚拟机之间的网络部署流量, 将所述 M 个待部署虚拟机划分为 N 。

49、个组, 使得所述 N 个组之间的网络部署流量最小, 其中 N 为大于 等于 2, 小于等于 M 的的正整数 ; 0084 将所述 N 个组分别部署在 K 个物理机上, 使得同一个组内的待部署虚拟机部署在 同一个物理机上, 其中, K 为大于等于 1, 小于等于 N 的正整数。 0085 本发明实施例提供的虚拟机的部署装置可以是各种形态的装置, 如集成在一块芯 片上或通过硬件电路搭建实现等。 0086 本发明实施例还提供一种存储介质, 该存储介质中存储计算机程序, 该计算机程 序用于实现本发明实施例提供的虚拟机的部署方法, 例如, 所述虚拟机的部署方法包括 : 0087 获取 M 个待部署虚拟机中每两个虚拟机之间的网络部署流量, M 为大于等于 2 的 正整数 ; 0088 根据所述 M 个待部署虚拟机中每两个待部署虚拟机之间的网络部署流量, 将所述 M 个。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1