一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种虚拟机部署方法、装置、计算机设备和存储介质与流程

2022-11-09 22:27:40 来源:中国专利 TAG:


1.本技术涉及部署技术领域,特别是涉及一种虚拟机部署方法、装置、计算机设备、存储介质和计算机程序产品。


背景技术:

2.云计算的出现丰富了计算平台的多样性,也推动了大数据、物联网等领域的快速发展。云计算的飞速发展,也为靶场底层的构建提供了良好的解决方案,但靶场资源众多,如何管理靶场资源,怎样部署虚拟机成为靶场构建的难点与热点。
3.靶场中的虚拟机部署,主要是为了在尽可能提高资源利用率的情况下,将虚拟机部署到物理机上。虚拟机部署过程中,物理机资源中未被使用的资源称为资源碎片。当前网络靶场下,由于部署策略不够完善,导致资源碎片量过多,致使物理机资源利用率较低,项目运行过程中空闲资源多,资源被浪费。所以,如何完善虚拟机部署策略,是目前网络靶场必须解决的问题。
4.目前的一些研究方案,如首次适应算法、降序适应算法、最佳适应算法等此类算法的提出与应用,对虚拟机部署方案进行了一定改进。将这几种方案应用于虚拟机部署问题,虽然一定程度上优化了资源碎片的大小,但是由于这几种算法所得到的解都容易陷入局部最优,致使虚拟机部署仍存在物理机资源利用率低的问题。


技术实现要素:

5.基于此,有必要针对上述技术问题,提供一种虚拟机部署方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,以解决相关技术中虚拟机部署的解容易陷入局部最优,导致物理机资源利用率低的问题。
6.第一方面,本技术提供了一种虚拟机部署方法。所述方法包括:
7.获取当前满足约束条件的虚拟机部署初始解;所述约束条件为:物理机的资源总量大于虚拟机集合所请求的资源总量;
8.对所述虚拟机部署初始解进行随机扰动,直至产生满足所述约束条件的虚拟机部署新解;
9.在所述虚拟机部署新解的资源平衡率小于或等于所述虚拟机部署初始解的资源平衡率的情况下,根据metropolis准则判断是否接受所述虚拟机部署新解作为最优解;其中,所述资源平衡率为所述物理机资源利用率的数学期望;所述metropolis准则为:产生一个随机数random,如果random《p则接受所述虚拟机部署新解作为最优解,反之则舍弃所述虚拟机部署新解,将所述虚拟机部署初始解作为最优解;其中,p为概率函数,其计算公式为:其中t(n-1)为本次迭代初始温度,n表示迭代次数,n=1,2,3,
……
,f(w)为所述虚拟机部署初始解,f(w)

为所述虚拟机部署新解,为所述资源平衡率;
10.在当前温度小于预设的退火温度阈值的情况下,将所述最优解输出。
11.在其中一个实施例中,还包括以下步骤:
12.在所述虚拟机部署新解的资源平衡率大于所述虚拟机部署初始解的资源平衡率的情况下,接受所述虚拟机部署新解作为最优解。
13.在其中一个实施例中,对所述虚拟机部署初始解进行随机扰动,直至产生满足所述约束条件的虚拟机部署新解,包括以下步骤:
14.随机交换所述虚拟机部署初始解中的所述虚拟机集合的部署位置,直至产生满足所述约束条件的虚拟机部署新解。
15.在其中一个实施例中,包括以下步骤:
16.在所述物理机上随机部署所述虚拟机集合,以获取当前满足约束条件的所述虚拟机部署初始解。
17.在其中一个实施例中,在所述虚拟机部署新解的资源平衡率小于或等于所述虚拟机部署初始解的资源平衡率的情况下,根据metropolis准则判断是否接受所述虚拟机部署新解作为最优解之前,还包括以下步骤:
18.计算所述虚拟机部署新解的资源平衡率和所述虚拟机部署初始解的资源平衡率。
19.在其中一个实施例中,在当前温度小于预设的退火温度阈值的情况下,将所述最优解输出,包括以下步骤:
20.每输出一次所述最优解,计算一次所述当前温度t(n),t(n)=αt(n-1),其中,n表示迭代次数,n=1,2,3,
……
,α为温度降低速率;
21.当t(n)《t

时,输出所述最优解,其中,t

为所述退火温度阈值。
22.第二方面,本技术还提供了一种虚拟机部署装置。所述装置包括:
23.初解模块:用于获取当前满足约束条件的虚拟机部署初始解;所述约束条件为:物理机的资源总量大于虚拟机集合所请求的资源总量;
24.新解模块:用于对所述虚拟机部署初始解进行随机扰动,直至产生满足所述约束条件的虚拟机部署新解;
25.判断模块:在所述虚拟机部署新解的资源平衡率小于或等于所述虚拟机部署初始解的资源平衡率的情况下,根据metropolis准则判断是否接受所述虚拟机部署新解作为最优解;其中,所述资源平衡率为所述物理机资源利用率的数学期望;所述metropolis准则为:产生一个随机数random,如果random《p则接受所述虚拟机部署新解作为最优解,反之则舍弃所述虚拟机部署新解,将所述虚拟机部署初始解作为最优解;其中,p为概率函数,其计算公式为:其中t(n-1)为本次迭代初始温度,n表示迭代次数,n=1,2,3,
……
,f(w)为所述虚拟机部署初始解,f(w)

为所述虚拟机部署新解,为所述资源平衡率;
26.以及输出模块:用于在所述当前温度小于预设的退火温度阈值的情况下,将所述最优解输出。
27.第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一个方面所述的虚拟机部署方法。
28.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一个方面所述的虚拟机部署方法。
29.第五方面,本技术还提供一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现上述第一个方面所述的虚拟机部署方法的步骤。
30.上述虚拟机部署方法、装置、计算机设备、存储介质和计算机程序产品,通过随机产生满足条件的初始解,以及随机对初始解进行扰动产生新解,在所述虚拟机部署新解的资源平衡率小于或等于所述虚拟机部署初始解的资源平衡率的情况下,根据metropolis准则判断是否接受所述虚拟机部署新解作为最优解,输出新解后进行温度判断,在当前温度不小于退火温度阈值的情况下,放弃局部最优解,寻找新的最优解,在当前温度小于退火温度阈值的情况下,输出此时的最优解,通过这种方式,能够扩大解空间,得到全局最优解,进一步的,通过获取的全局最优解进行虚拟机部署,能够减小物理机资源碎片的大小,提高物理机资源利用率。
31.本技术的一个或多个实施例的细节在以下附图和描述中提出,以使本技术的其他特征、目的和优点更加简明易懂。
附图说明
32.图1是本实施例的虚拟机部署方法的终端的硬件结构框图;
33.图2是本实施例的虚拟机部署方法的流程图;
34.图3是本优选实施例的虚拟机部署方法的流程图;
35.图4是本实施例的虚拟机部署系统的结构示意图。
具体实施方式
36.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。基于本技术提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
37.显而易见地,下面描述中的附图仅仅是本技术的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本技术应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本技术公开的内容相关的本领域的普通技术人员而言,在本技术揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本技术公开的内容不充分。
38.在本技术中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本技术所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
39.除非另作定义,本技术所涉及的技术术语或者科学术语应当为本技术所属技术领
域内具有一般技能的人士所理解的通常意义。本技术所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本技术所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本技术所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本技术所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本技术所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
40.在本实施例中提供的方法实施例可以在终端、计算机或者类似的运算装置中执行。比如在终端上运行,图1是本实施例的虚拟机部署方法的终端的硬件结构框图。如图1所示,终端可以包括一个或多个(图1中仅示出一个)处理器102和用于存储数据的存储器104,其中,处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置。上述终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述终端的结构造成限制。例如,终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示出的不同配置。
41.存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如在本实施例中的目标关联方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
42.传输设备106用于经由一个网络接收或者发送数据。上述的网络包括终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
43.本实施例提供的一种虚拟机部署方法,利用改进的模拟退火算法,提出了一种跳出局部最优解的方案,通过扩大解空间的搜索范围得到虚拟机部署问题的全局最优解,解决了虚拟机部署的解容易陷入局部最优,导致物理机资源利用率低的问题。
44.在说明具体实施例之前,首先对模拟退火算法进行说明。
45.模拟退火算法从某一较高初始温度出发,伴随温度参数的不断下降,结合一定的概率突跳特性在解空间中随机寻找目标函数的全局最优解,即在局部最优解能概率性地跳出并最终趋于全局最优。
46.模拟退火算法中,t(0)为初始温度,t(0)为预设温度,初始温度设置要足够高,初始温度越高,获得高质量的解的概率越大。t(n)为当前温度,t(n)=αt(n-1),其中,n表示迭
代次数,n=1,2,3,
……
,α为温度降低速率,且α为小于1的正数,t(n-1)为上一次迭代的当前温度,也是本次迭代的初始温度。退火温度阈值为t

,在若干次迭代的情况下当前温度等于或小于设定的退火温度阈值,则退火完成。
47.在一个实施例中,如图2所示,本技术实施例提供的虚拟机部署方法包括如下步骤:
48.步骤s201,获取当前满足约束条件的虚拟机部署初始解;约束条件为:物理机的资源总量大于虚拟机集合所请求的资源总量。
49.在本步骤中,上述物理机资源总量可以为cpu、硬盘、内存等资源量之和。例如:等待部署的虚拟机集合为{v1,v2,v3,
……
,vn},其中n为虚拟机的数量,且n为正整数,虚拟机所请求的资源总量为b,其中vj为第j台虚拟机的资源量。物理机集合为{n1,n2,n3,
……
nm},其中m为物理机的数量,且m为正整数,物理机的资源总量为a,其计算公式为:其中ni为第i台物理机的资源量,且a>b,当虚拟机按照初始解进行部署时,用于部署虚拟机的物理机的资源量为a

,其计算公式为:其中,f(w)为初始解。
50.将需要部署的虚拟机集合随机部署在物理机上,求a

与b的值,当a

《b时,重新将需要部署的虚拟机集合随机部署在物理机上,当a

≥b时,获取此时部署的初始解f(w)。
51.步骤s202,对虚拟机部署初始解进行随机扰动,直至产生满足约束条件的虚拟机部署新解。
52.在本步骤中,可以通过随机交换虚拟机部署初始解中虚拟机集合的部署位置,对虚拟机部署初始解进行随机扰动,得到一个新解f(w)

,当虚拟机按照新解f(w)

进行部署时,用于部署虚拟机的物理机的资源量为a

,其计算公式为:其中,f(w)

为新解。计算并判断新解的a

与b的值,当a

《b时,重新随机交换虚拟机部署初始解中虚拟机集合的部署位置,直到a

≥b时,获取此时部署得到的新解f(w)


53.步骤s203,在虚拟机部署新解的资源平衡率小于或等于虚拟机部署初始解的资源平衡率的情况下,根据metropolis准则判断是否接受虚拟机部署新解作为最优解;其中,资源平衡率为物理机资源利用率的数学期望;metropolis准则为:产生一个随机数random,如果random《p,则接受虚拟机部署新解作为最优解,反之则舍弃虚拟机部署新解,将虚拟机部署初始解作为最优解;其中,其中,p为概率函数,其计算公式为:其中t(n-1)为本次迭代初始温度,n表示迭代次数,n=1,2,3,
……
,f(w)为虚拟机部署初始解,f(w)

为虚拟机部署新解,为资源平衡率。
54.在本步骤中,物理机中每台物理机的资源利用率集合为{u1,u2,u3,
……
,um},资源平衡率为部署在线的每台物理机资源利用率的数学期望,其计算公式为:其中,ui表示第i台物理机的资源利用率。部署为初始解的情况下资源平衡率为部署为新解的情况下资源平衡率为当时,接受虚拟机部署新解作为最优
解;当时,根据metropolis准则判断是否接受上述虚拟机部署新解作为最优解。
55.metropolis准则为:产生一个随机数random,random为(0,1)之间任意小数,且保留两位小数,如果random《p,则接受虚拟机部署新解作为最优解;如果random≥p,则舍弃虚拟机部署新解,将虚拟机部署初始解作为最优解。其中,p为概率函数,其计算公式为其中t(n-1)为上一次迭代的当前温度,也是本次迭代初始温度,其中,n表示迭代次数,n=1,2,3,
……
,f(w)为虚拟机部署初始解,f(w)

为虚拟机部署新解。
56.通过上述步骤,通过对虚拟机按照新解部署与虚拟机按照初始解部署的资源平衡率进行判断,若部署为新解的情况下的资源平衡率高于部署为初始解情况下的资源平衡率,则将新解作为最优解输出,若部署为新解的情况下的资源平衡率小于或等于部署为初始解的情况下的资源平衡率,用metropolis准则判断是否接受新解作为最优解输出,当本次迭代初始温度较高时,p的值接近于1,获取新解的概率会很高,随着迭代次数的增加,温度逐渐降低,获取新解的概率会降低,通过这种判断方式,可以跳出局部最优解寻找全局最优解。
57.步骤s204,在当前温度小于预设的当前退火温度阈值的情况下,将上述最优解输出。
58.在本步骤中,每输出一个最优解,进行一次温度迭代计算,计算当前温度t(n),其计算公式为:t(n)=αt(n-1),其中,n表示迭代次数,n=1,2,3,
……
,其中α为退火速率,α取[0.90,1)之间任意小数且保留两位小数点,初始温度t(0)可以设置为一个较大的温度值,例如,设置初始温度t(0)为2000℃。
[0059]
优选地,在本步骤中,α可以是随机变化的值,每一个迭代周期可以随机进行取值,取值范围为[0.90,1)之间任意小数,且保留两位小数点。
[0060]
另外的,在本步骤中,α可以是定值,α取[0.90,1)之间任意小数,且保留两位小数点。
[0061]
判断当前温度与退火温度阈值的大小,当t(n)《t

时,输出最优解,其中,t’为退火温度阈值,此退火温度阈值t

可以设置为一个较小的温度,例如,设置退火温度阈值t

为15℃。
[0062]
优选地,判断当前温度t(n)与退火温度阈值t

的大小,当t(n)≥t

时,将此处的最优解作为下一个迭代周期的初始解,将当前温度t(n)作为下一个迭代周期的初始温度t(n-1),进行下一个迭代周期,寻找新的最优解,最终输出的最优解为最佳虚拟机部署方式。
[0063]
模拟退火算法中,出现比局部最优解性能要差的次解时,按metropolis准则接受比局部最优解性能要差的次解,初始温度较高,接受次解的概率很大,会放弃当前的局部最优解,使得解空间的搜索范围扩大,随着温度的降低,接受次解的概率会越来越低,解空间的搜索也会逐渐减小,逐渐停留在最优解上。
[0064]
通过上述步骤,通过随机产生满足条件的初始解,以及随机对初始解进行扰动产生新解,在虚拟机部署新解的资源平衡率小于或等于虚拟机部署初始解的资源平衡率的情况下,根据metropolis准则判断是否接受所述虚拟机部署新解作为最优解,输出新解后进
行温度判断,在当前温度不小于退火温度阈值的情况下,放弃局部最优解,寻找新的最优解,当前温度小于退火温度阈值的情况下,输出此时的最优解,通过这种方式,能够扩大解空间,得到全局最优解,进一步的,通过获取的全局最优解进行虚拟机部署,能够减小物理机资源碎片的大小,提高物理机资源利用率。
[0065]
在一个可行的实施例中,本技术实施例提供的虚拟机部署方法还包括以下步骤:
[0066]
在虚拟机部署新解的资源平衡率大于虚拟机部署初始解的资源平衡率的情况下,接受虚拟机部署新解作为最优解。
[0067]
在本步骤中,物理机中每台物理机的资源利用率集合为{u1,u2,u3,
……
,um},资源平衡率为部署在线的每台物理机资源利用率的数学期望,其计算公式为:其中ui表示第i台物理机的资源利用率。部署为初始解的情况下资源平衡率为部署为新解的情况下资源平衡率为当时,接受虚拟机部署新解作为最优解。
[0068]
在一个可行的实施例中,上述步骤s202对虚拟机部署初始解进行随机扰动,直至产生满足约束条件的虚拟机部署新解,具体包括:
[0069]
随机交换虚拟机部署初始解中的虚拟机集合的部署位置,直至产生满足上述约束条件的虚拟机部署新解。
[0070]
作为一种可实施方式,随机交换虚拟机部署初始解中虚拟机集合的部署位置,得到一个新解,判断新解的a

与b的值,当a

《b时,重新随机交换虚拟机部署初始解中虚拟机集合的部署位置,直到a

≥b时,获取此时部署得到的新解f(w)


[0071]
优选地,在随机交换虚拟机部署初始解中虚拟机集合的部署位置,可以在整个物理机集合中随机部署虚拟机,也可以在部署在线的物理机中,随机交换虚拟机的部署位置,得到新解f(w)


[0072]
在一个可行的实施例中,本技术实施例提供的虚拟机部署方法还包括以下步骤:
[0073]
在物理机上随机部署虚拟机集合,以获取当前满足约束条件的虚拟机部署初始解。
[0074]
在本步骤中,结合上述实施例,等待部署的虚拟机集合为{v1,v2,v3,
……
,vn},其中n为虚拟机的数量,且n为正整数,虚拟机所请求的资源总量为b,其计算公式为:其中vj为第j台虚拟机的资源量。物理机集合为{n1,n2,n3,
……
nm},其中m为物理机的数量,且m为正整数,物理机的资源总量为a,其计算公式为:其中ni为第i台物理机的资源量,且a>b,当虚拟机按照初始解进行部署时,用于部署虚拟机的物理机的资源量为a

,其计算公式为:其中,f(w)为初始解。
[0075]
将需要部署的虚拟机集合随机部署在物理机上,求a

与b的值,当a

《b时,重新将需要部署的虚拟机集合随机部署在物理机上,当a

≥b时,获取此时部署得到的初始解f(w)。
[0076]
优选地,若本次迭代不是第一次迭代,则上一次迭代产生的最优解,作为本次迭代的初始解f(w)。
[0077]
在一个可行的实施例中,在虚拟机部署新解的资源平衡率小于或等于虚拟机部署初始解的资源平衡率的情况下,根据metropolis准则判断是否接受虚拟机部署新解作为最优解之前,还包括以下步骤:
[0078]
计算虚拟机部署新解的资源平衡率和虚拟机部署初始解的资源平衡率。
[0079]
在本步骤中,物理机中每台物理机的资源利用率集合为{u1,u2,u3,
……
,um},资源平衡率为部署在线的每台物理机资源利用率的数学期望,其计算公式为:
[0080][0081]
ui表示第i台物理机的资源利用率。
[0082]
部署为初始解的情况下资源平衡率为部署为新解的情况下资源平衡率为当时,根据metropolis准则判断是否接受上述虚拟机部署新解作为最优解。
[0083]
在一个可行的实施例中,在当前温度小于预设的当前退火温度阈值的情况下,将上述最优解输出,包括以下步骤:
[0084]
每输出一次最优解,计算一次当前温度t(n),t(n)=αt(n-1),其中,n表示迭代次数,n=1,2,3,
……
,α为温度降低速率;
[0085]
当t(n)《t

时,输出最优解,其中,t

为退火温度阈值。
[0086]
在本步骤中,每输出一个最优解,计算一次当前温度t(n),其计算公式为:t(n)=αt(n-1),其中,其中,n表示迭代次数,n=1,2,3,
……
,其中α为退火速率,α取[0.90,1)之间任意小数且保留两位小数点,初始温度t(0),t(0)可以设置为一个较大的温度值,举例的,设置t(0)为2000℃。
[0087]
优选地,在本步骤中,α可以是随机变化的值,每一个迭代周期可以随机进行取值,取值范围为[0.90,1)之间任意小数,且保留两位小数点。
[0088]
另外的,在本步骤中,α可以是定值,α取[0.90,1)之间任意小数,且保留两位小数点。
[0089]
判断当前温度与退火温度阈值的大小,当t(n)《t

时,输出最优解,其中,t

为退火温度阈值,此退火温度阈值可以设置为一个较小的温度,举例地,设置t

为15℃。
[0090]
优选地,判断当前温度与退火温度阈值的大小,当t(n)≥t

时,将此处的最优解作为下一个迭代周期的初始解,将当前温度t(n)作为下一个迭代周期的初始温度t(n-1),进行下一个迭代周期,寻找新的最优解。
[0091]
优选地,可以将初始温度设置为一个较高的温度值,例如,初始温度t(0)为3000℃,将温度降低速率设置为一个接近1的两位小数,增加迭代次数。通过本方案,来增加解空间的采样数量,扩大解空间的范围,得到全局最优解,使得虚拟机按照全局最优解部署在物理机上,提高物理机的资源利用率。
[0092]
下面通过优选实施例对本实施例进行描述和说明。
[0093]
图3是本优选实施例的虚拟机部署方法的流程图。如图3所示,该流程包括:
[0094]
步骤s301,随机部署虚拟机在物理机上,获取一组满足约束条件的虚拟机部署初始解f(w)。
[0095]
在本步骤中,等待部署的虚拟机集合为{v1,v2,v3,
……
,bn},其中n为虚拟机的数量,且n为正整数,虚拟机所请求的资源总量为b,其计算公式为:其中bj为第j台虚拟机的资源量。物理机集合为{n1,n2,n3,
……
nm},其中m为物理机的数量,且m为正整数,物理机的资源总量为a,其计算公式为:其中ni为第i台物理机的资源量,且a>b,当虚拟机按照初始解进行部署时,用于部署虚拟机的物理机的资源量为a

,其计算公式为:式为:其中,f(w)为初始解。
[0096]
将需要部署的虚拟机集合随机部署在物理机上,求a

与b的值,当a

《b时,重新将需要部署的虚拟机集合随机部署在物理机上,当a

≥b时,获取此时部署得到的初始解f(w)。
[0097]
另外地,若本次迭代不是第一次迭代,则上一次迭代产生的最优解,作为本次迭代的初始解f(w)。
[0098]
步骤s302,对虚拟机部署初始解进行随机扰动,得到一组新解f(w)


[0099]
步骤s303,判断新解是否满足约束条件,当产生的新解不满足虚拟机部署约束条件,返回步骤s302,重新产生新解。
[0100]
步骤s304,当产生的新解f(w)

满足虚拟机部署约束条件时,计算虚拟机按照新解部署的资源平衡率与虚拟机按照初始解部署的资源平衡率的值。
[0101]
在步骤s302-s304中,随机交换虚拟机部署初始解中虚拟机集合的部署位置,得到一个新解,判断新解的a

与b的值,当a

《b时,重新随机交换虚拟机部署初始解中虚拟机集合的部署位置,直到a

≥b时,获取此时部署得到的新解f(w)


[0102]
在步骤s304中,物理机中每台物理机的资源利用率集合为{u1,u2,u3,
……
,um},资源平衡率为部署在线的每台物理机资源利用率的数学期望,其计算公式为:其中,ui表示第i台物理机的资源利用率。部署为初始解的情况下资源平衡率为部署为新解的情况下资源平衡率为
[0103]
步骤s305,判断虚拟机按照新解部署的资源平衡率是否大于虚拟机按照初始解部署的资源平衡率,若是,则执行步骤s306;否则,执行步骤s307。
[0104]
步骤s306,接受新解f(w)

,并将新解作为最优解输出,执行步骤s308。
[0105]
步骤s307,根据metropolis准则判断是否接受虚拟机部署新解作为最优解,若接受新解,将新解作为最优解输出,则执行步骤s308;若不接受新解,抛弃新解,执行步骤s309。
[0106]
在步骤s305至s307中,当时,接受虚拟机部署新解作为最优解;当时,根据metropolis准则判断是否接受虚拟机部署新解作为最优解。
[0107]
metropolis准则为:产生一个随机数random,random为(0,1)之间任意小数,且保留两位小数,如果random《p,则接受虚拟机部署新解作为最优解;如果random≥p,则舍弃虚拟机部署新解,将虚拟机部署初始解作为最优解。其中,p为概率函数,其计算公式为:
其中t(n-1)为本次迭代初始温度,n表示迭代次数,n=1,2,3,
……
,f(w)为虚拟机部署初始解,f(w)

为虚拟机部署新解,为资源平衡率。
[0108]
步骤s308,输入最优解,对当前温度进行一次迭代,计算出当前温度。
[0109]
步骤s309,将初始解f(w)作为最优解输出,执行步骤s308。
[0110]
步骤s310,判断当前温度是否小于退火温度阈值。若当前温度小于退火温度阈值,则执行步骤s311;若不小于,则将此时的最优解作为初始解,执行步骤s302。
[0111]
步骤s311,输出此时的最优解,并按照此最优解进行虚拟机部署。
[0112]
在步骤s308至s311中,每输出一个最优解,进行一次温度迭代,计算当前温度t(n),其计算公式为:t(n)=αt(n-1),其中,其中,n表示迭代次数,n=1,2,3,
……
,α为温度降低速率,α取[0.90,1)之间任意小数且保留两位小数点,初始温度t(0)。
[0113]
优选地,上述α可以是随机变化的不定值,每一个迭代周期可以随机进行取值,取值范围为[0.90,1)之间任意小数,且保留两位小数点。
[0114]
另外的,α可以是定值,α取[0.90,1)之间任意小数,且保留两位小数点。
[0115]
判断当前温度与退火温度阈值的大小,当t(n)《t

时,输出最优解,其中,t’为退火温度阈值;当t(n)≥t

时,将此处的最优解作为下一个迭代周期的初始解,将当前温度作为下一个迭代周期的初始温度,进行下一个迭代周期,寻找新的最优解,最终输出的最优解为最佳虚拟机部署方式。
[0116]
通过上述步骤,本实施例提供了一种虚拟机部署方法,通过改进的模拟退火算法,对解空间进行搜索,使用改进的新解函数产生新解,基于模拟固态物体退火原理计算接受新解的概率,扩大解空间的搜索范围最终得到虚拟机部署的全局最优解。
[0117]
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0118]
在本实施例中还提供了一种虚拟机部署系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。以下所使用的术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管在以下实施例中所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0119]
图4是本实施例的虚拟机部署系统的结构框图,如图4所示,该系统包括:
[0120]
初解模块401,用于获取当前满足约束条件的虚拟机部署初始解;约束条件为:物理机的资源总量大于虚拟机集合所请求的资源总量;
[0121]
新解模块402,用于对虚拟机部署初始解进行随机扰动,直至产生满足约束条件的虚拟机部署新解;
[0122]
判断模块403,在虚拟机部署新解的资源平衡率小于或等于虚拟机部署初始解的资源平衡率的情况下,根据metropolis准则判断是否接受虚拟机部署新解作为最优解;其
中,资源平衡率为物理机资源利用率的数学期望;metropolis准则为:产生一个随机数random,如果random《p则接受虚拟机部署新解作为最优解,反之则舍弃虚拟机部署新解,将虚拟机部署初始解作为最优解;其中,p为概率函数,其计算公式为:其中t(n-1)为本次迭代初始温度,n表示迭代次数,n=1,2,3,
……
,f(w)为虚拟机部署初始解,f(w)’为虚拟机部署新解,为资源平衡率;
[0123]
以及输出模块404,用于在当前温度小于预设的当前退火温度阈值的情况下,将最优解输出。
[0124]
在其中一些实施例中,该系统还包括:返回模块,用于当前温度大于退火温度阈值时,将此时得到的最优解作为下一个迭代周期的初始解,将当前温度作为下一个迭代周期的初始温度,进入下一个迭代周期,返回到获取新解的步骤。
[0125]
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
[0126]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
[0127]
获取当前满足约束条件的虚拟机部署初始解;约束条件为:物理机的资源总量大于虚拟机集合所请求的资源总量;
[0128]
对虚拟机部署初始解进行随机扰动,直至产生满足约束条件的虚拟机部署新解;
[0129]
在虚拟机部署新解的资源平衡率小于或等于虚拟机部署初始解的资源平衡率的情况下,根据metropolis准则判断是否接受虚拟机部署新解作为最优解;其中,资源平衡率为物理机资源利用率的数学期望;metropolis准则为:产生一个随机数random,如果random《p则接受虚拟机部署新解作为最优解,反之则舍弃虚拟机部署新解,将虚拟机部署初始解作为最优解;其中,p为概率函数,其计算公式为:其中t(n-1)为本次迭代初始温度,n表示迭代次数,n=1,2,3,
……
,f(w)为虚拟机部署初始解,f(w)

为虚拟机部署新解,为资源平衡率;
[0130]
在当前温度小于预设的当前退火温度阈值的情况下,将最优解输出。
[0131]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0132]
在虚拟机部署新解的资源平衡率大于虚拟机部署初始解的资源平衡率的情况下,接受虚拟机部署新解作为最优解。
[0133]
在一个实施例中,对虚拟机部署初始解进行随机扰动,直至产生满足约束条件的虚拟机部署新解之后,处理器执行计算机程序时还实现以下步骤:
[0134]
随机交换虚拟机部署初始解中的虚拟机集合的部署位置,直至产生满足约束条件的虚拟机部署新解。
[0135]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
[0136]
在物理机上随机部署虚拟机集合,以获取当前满足约束条件的虚拟机部署初始解。
[0137]
在一个实施例中,在虚拟机部署新解的资源平衡率小于或等于虚拟机部署初始解的资源平衡率的情况下,根据metropolis准则判断是否接受虚拟机部署新解作为最优解之前,处理器执行计算机程序时还实现以下步骤:
[0138]
计算虚拟机部署新解的资源平衡率和虚拟机部署初始解的资源平衡率。
[0139]
在一个实施例中,在当前温度小于预设的当前退火温度阈值的情况下,将最优解输出之后,处理器执行计算机程序时还实现以下步骤:
[0140]
每输出一次最优解,计算一次当前温度t(n),t(n)=αt(n-1),其中,n表示迭代次数,n=1,2,3,
……
,α为温度降低速率;
[0141]
当t(n)《t

时,输出最优解,其中,t

为退火温度阈值。
[0142]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0143]
获取当前满足约束条件的虚拟机部署初始解;约束条件为:物理机的资源总量大于虚拟机集合所请求的资源总量;
[0144]
对虚拟机部署初始解进行随机扰动,直至产生满足约束条件的虚拟机部署新解;
[0145]
在虚拟机部署新解的资源平衡率小于或等于虚拟机部署初始解的资源平衡率的情况下,根据metropolis准则判断是否接受虚拟机部署新解作为最优解;其中,资源平衡率为物理机资源利用率的数学期望;metropolis准则为:产生一个随机数random,如果random《p则接受虚拟机部署新解作为最优解,反之则舍弃虚拟机部署新解,将虚拟机部署初始解作为最优解;其中,p为概率函数,其计算公式为:其中t(n-1)为本次迭代初始温度,n表示迭代次数,n=1,2,3,
……
,f(w)为虚拟机部署初始解,f(w)

为虚拟机部署新解,为资源平衡率;
[0146]
在当前温度小于预设的当前退火温度阈值的情况下,将最优解输出。
[0147]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0148]
在虚拟机部署新解的资源平衡率大于虚拟机部署初始解的资源平衡率的情况下,接受虚拟机部署新解作为最优解。
[0149]
在一个实施例中,对虚拟机部署初始解进行随机扰动,直至产生满足约束条件的虚拟机部署新解之后,计算机程序被处理器执行时还实现以下步骤:
[0150]
随机交换虚拟机部署初始解中的虚拟机集合的部署位置,直至产生满足约束条件的虚拟机部署新解。
[0151]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0152]
在物理机上随机部署虚拟机集合,以获取当前满足约束条件的虚拟机部署初始解。
[0153]
在一个实施例中,在虚拟机部署新解的资源平衡率小于或等于虚拟机部署初始解的资源平衡率的情况下,根据metropolis准则判断是否接受虚拟机部署新解作为最优解之前,计算机程序被处理器执行时还实现以下步骤:
[0154]
计算虚拟机部署新解的资源平衡率和虚拟机部署初始解的资源平衡率。
[0155]
在一个实施例中,在当前温度小于预设的当前退火温度阈值的情况下,将最优解输出之后,计算机程序被处理器执行时还实现以下步骤:
[0156]
每输出一次最优解,计算一次当前温度t(n),t(n)=αt(n-1),其中,n表示迭代次数,n=1,2,3,
……
,α为温度降低速率;
[0157]
当t(n)《t

时,输出最优解,其中,t

为退火温度阈值。
[0158]
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
[0159]
获取当前满足约束条件的虚拟机部署初始解;约束条件为:物理机的资源总量大于虚拟机集合所请求的资源总量;
[0160]
对虚拟机部署初始解进行随机扰动,直至产生满足约束条件的虚拟机部署新解;
[0161]
在虚拟机部署新解的资源平衡率小于或等于虚拟机部署初始解的资源平衡率的情况下,根据metropolis准则判断是否接受虚拟机部署新解作为最优解;其中,资源平衡率为物理机资源利用率的数学期望;metropolis准则为:产生一个随机数random,如果random《p则接受虚拟机部署新解作为最优解,反之则舍弃虚拟机部署新解,将虚拟机部署初始解作为最优解;其中,p为概率函数,其计算公式为:其中t(n-1)为本次迭代初始温度,n表示迭代次数,n=1,2,3,
……
,f(w)为虚拟机部署初始解,f(w)

为虚拟机部署新解,为资源平衡率;
[0162]
在当前温度小于预设的当前退火温度阈值的情况下,将最优解输出。
[0163]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0164]
在虚拟机部署新解的资源平衡率大于虚拟机部署初始解的资源平衡率的情况下,接受虚拟机部署新解作为最优解。
[0165]
在一个实施例中,对虚拟机部署初始解进行随机扰动,直至产生满足约束条件的虚拟机部署新解之后,计算机程序被处理器执行时还实现以下步骤:
[0166]
随机交换虚拟机部署初始解中的虚拟机集合的部署位置,直至产生满足约束条件的虚拟机部署新解。
[0167]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
[0168]
在物理机上随机部署虚拟机集合,以获取当前满足约束条件的虚拟机部署初始解。
[0169]
在一个实施例中,在虚拟机部署新解的资源平衡率小于或等于虚拟机部署初始解的资源平衡率的情况下,根据metropolis准则判断是否接受虚拟机部署新解作为最优解之前,计算机程序被处理器执行时还实现以下步骤:
[0170]
计算虚拟机部署新解的资源平衡率和虚拟机部署初始解的资源平衡率。
[0171]
在一个实施例中,在当前温度小于预设的当前退火温度阈值的情况下,将最优解输出之后,计算机程序被处理器执行时还实现以下步骤:
[0172]
每输出一次所述最优解,计算一次当前温度t(n),t(n)=αt(n-1),其中,n表示迭代次数,n=1,2,3,
……
,α为温度降低速率;
[0173]
当t(n)《t

时,输出最优解,其中,t

为退火温度阈值。
[0174]
需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
[0175]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0176]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0177]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献