一种面向多云管理场景的云资源最优分配方法转让专利

申请号 : CN202210387066.5

文献号 : CN114490093B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨飞许健丁晓东吴江霍晓昕平笑柔陈娜苏醒

申请人 : 北京计算机技术及应用研究所

摘要 :

本发明涉及一种面向多云管理场景的云资源最优分配方法,属于计算机领域。本发明建立了资源均衡分布的资源分配模型,通过粒子群优化算法求解资源分配最佳方案,能够充分发挥服务器集群资源的最大价值,使多种类型服务器资源均衡使用,避免了单台服务器负荷太重导致的服务器损坏和业务系统性能降低等问题。本发明能够有效提升在多云环境下,资源分配的合理性,以及多云整体性能。

权利要求 :

1.一种面向多云管理场景的云资源最优分配方法,其特征在于,该方法包括如下步骤:S1、系统收到虚拟机资源请求,该请求直接传递给资源分配模型;

S2、资源分配模型受到资源请求后,向实时监控模块发出采集数据申请,由实时监控模块采集当前时间各服务器集群在各维度资源上的使用情况,维度包括CPU、内存、磁盘和运行时间,并将该信息发送给资源分配模型;

S3、资源分配模型依据虚拟机资源申请量和集群资源的实时使用情况,采用粒子群优化算法进行资源分配方案的求解计算,得出最优资源分配方案;

k

资源分配模型具体描述如下:有n个体积不同的虚拟机Vi ,0<=i<=n,m个容量不同的服k k务器Pj ,1<=j<=m,目标是用m个服务器的资源占用率ηj两两差值的平方和最小,如式(1)所示,从而实现虚拟机所占资源在各个异构服务器上的均匀分配;

目标函数为:

其中:

约束条件:

其中k表示资源类型的维度,分别代表CPU、内存、磁盘和持续运行时间;

k k

式(2)中Uj表示当前服务器j在k维使用的资源量,Rj表示虚拟机在服务器j上的第k维资源新申请量;

k

式(3)中Vi表示虚拟机i各个维度的资源数值的向量,xij表示虚拟机i是否部署在服务器j上的决策变量;

式(4)中Cj表示第j台服务器可使用资源所占服务器总容量的比例。

2.如权利要求1所述的面向多云管理场景的云资源最优分配方法,其特征在于,Cj定为

80%,即单台服务器最大可使用资源不能超过服务器总资源的80%。

3.如权利要求1或2所述的面向多云管理场景的云资源最优分配方法,其特征在于,所述S3中粒子群优化算法的求解步骤如下:S31、随机对种群各粒子位置和速度进行初始化,并采用粒子群优化算法获取粒子的位置向量;

S32、根据当前粒子所处的位置信息,计算式(1);

S33、重复迭代,更新粒子速度和位置,计算式(1);

S34、当到达迭代次数阈值后,找到式(1)的最小值,此时各粒子的最优位置向量即为最终的虚拟机放置方案。

4.如权利要求3所述的面向多云管理场景的云资源最优分配方法,其特征在于,所述粒子群优化算法中,假设一个m*n维的搜索空间和一个包含N个粒子的粒子群在其约束条件下搜寻全局最优解,每个粒子包含3个m*n维向量的信息,分别是速度向量Sµ(i)={Si1,Si2,…,Sim},位置向量Lµ(i)={Li1,Li2,…,Lim},和个体最优位置向量Gµ(i)={Gi1,Gi2,…,Gim},其中i’ ’ ’∈(1,n);种群中粒子群的最优位置向量,表示为G’µ(i)={Gi1,Gi2,…,Gim}。

5.如权利要求4所述的面向多云管理场景的云资源最优分配方法,其特征在于,速度向量代表了粒子在各个维度上经过的距离,个体最优位置向量是各个粒子各自到达过的最佳位置。

6.如权利要求4所述的面向多云管理场景的云资源最优分配方法,其特征在于,约束条件为:每个寻优问题的解被称为“粒子”,所有粒子都在一个m*n维空间内进行搜索;每一个粒子都有记忆功能,能记住它经过的最佳位置;每一个粒子有一个速度以决定其移动的距离和方向。

7.如权利要求4所述的面向多云管理场景的云资源最优分配方法,其特征在于,在连续的搜索空间中,一个位置向量的每个维度对应于一个虚拟机i的决策变量xij的一个值,每个粒子的位置对应于问题的一个潜在解,把Lµ中的各个值代入到式(1)中进行计算获得F。

8.如权利要求4所述的面向多云管理场景的云资源最优分配方法,其特征在于,一个粒子的状态由其位置和速度两个因素表征,其更新规则分别由以下两个公式表示:其中,e表示迭代的次数;µ为种群中的第µ个粒子;ω是惯性权重,表示粒子受自身影响的程度,它能够调整粒子的飞行速度,从而使粒子趋于收敛;c1和c2为学习因子,分别表示粒e子受个体经验和种群经验的影响程度;r1和r2是(0,1)范围内的随机数;Gµ表示第µ个粒子’e e的个体最优位置,G µ表示粒子种群的全局最优位置;Lµ表示第µ个粒子在第e次迭代的位置。

9.如权利要求4所述的面向多云管理场景的云资源最优分配方法,其特征在于,迭代次数阈值为1000。

说明书 :

一种面向多云管理场景的云资源最优分配方法

技术领域

[0001] 本发明属于计算机领域,具体涉及一种面向多云管理场景的云资源最优分配方法。

背景技术

[0002] 自云计算概念提出后,云计算的发展主要经历了三个阶段,初级阶段中以虚拟化技术为基石,表现为基础设施与服务资源虚拟化,第二阶段中以软件定义服务为目标,提出了软件定义网络以及软件定义存储等技术,目前正在步入由混合异构的多种私有云形成的全面多云阶段,多云管理模式已经成为云计算发展的重要阶段。部署多个虚拟私有云,组建多个弹性集群,实现大规模计算已经是业界常态化场景,多云环境已经成为云计算的重要形态,可满足多云管理需求。
[0003] 多云管理平台是指可以同时包含多个公有云、私有云、混合云及各种异构服务器资源的统一管理平台。平台能够以在线自动化方式提供应用运行服务及全生命周期管理;整合运维支撑工具,提供多云环境下的运维、管控、运营服务等。相较于单一云服务架构,避免了云平台面临的服务面窄、布局呆板、不灵活、容错性、可靠性差等问题。基于多云架构的云管平台既能很好地利用已有的专有云资源,又能集成第三方云服务并避免厂商锁定,还能根据业务特点动态调整多云部署策略,提供标准化服务。
[0004] 多云环境下,如何分配各私有云、专有云的虚拟资源,使得资源利用率最大化,充分发挥多云的优势,是多云管理场景下必须解决的重难点问题。

发明内容

[0005] (一)要解决的技术问题
[0006] 本发明要解决的技术问题是如何提供一种面向多云管理场景的云资源最优分配方法,以解决如何分配各私有云、专有云的虚拟资源,使得资源利用率最大化的问题。
[0007] (二)技术方案
[0008] 为了解决上述技术问题,本发明提出一种面向多云管理场景的云资源最优分配方法,该方法包括如下步骤:
[0009] S1、系统收到虚拟机资源请求,该请求直接传递给资源分配模型;
[0010] S2、资源分配模型受到资源请求后,向实时监控模块发出采集数据申请,由实时监控模块采集当前时间各服务器集群在各维度资源上的使用情况,维度包括CPU、内存、磁盘和运行时间,并将该信息发送给资源分配模型;
[0011] S3、资源分配模型依据虚拟机资源申请量和集群资源的实时使用情况,采用粒子群优化算法进行资源分配方案的求解计算,得出最优资源分配方案。
[0012] 进一步地,资源分配模型具体描述如下:有n个体积不同的虚拟机Vik,0<=i<=n,m个k k容量不同的服务器Pj ,1<=j<=m,目标是用m个服务器的资源占用率ηj两两差值的平方和最小,如式(1)所示,从而实现虚拟机所占资源在各个异构服务器上的均匀分配;
[0013] 目标函数为:
[0014]
[0015] 其中:
[0016]
[0017]
[0018] 约束条件:
[0019]
[0020]
[0021] 其中k表示资源类型的维度,分别代表CPU、内存、磁盘和持续运行时间;
[0022] 式(2)中Ujk表示当前服务器j在k维使用的资源量,Rjk表示虚拟机在服务器j上的第k维资源新申请量;
[0023] 式(3)中Vik表示虚拟机i各个维度的资源数值的向量,xij表示虚拟机i是否部署在服务器j上的决策变量;
[0024] 式(4)中Cj表示第j台服务器可使用资源所占服务器总容量的比例。
[0025] 进一步地,Cj定为80%,即单台服务器最大可使用资源不能超过服务器总资源的80%。
[0026] 进一步地,所述S3中粒子群优化算法的求解步骤如下:
[0027] S31、随机对种群各粒子位置和速度进行初始化,并采用粒子群优化算法获取粒子的位置向量;
[0028] S32、根据当前粒子所处的位置信息,计算式(1);
[0029] S33、重复迭代,更新粒子速度和位置,计算式(1);
[0030] S34、当到达迭代次数阈值后,找到式(1)的最小值,此时各粒子的最优位置向量即为最终的虚拟机放置方案。
[0031] 进一步地,所述粒子群优化算法中,假设一个m*n维的搜索空间和一个包含N个粒子的粒子群在其约束条件下搜寻全局最优解,每个粒子包含3个m*n维向量的信息,分别是速度向量Sµ(i)={Si1,Si2,…,Sim},位置向量Lµ(i)={Li1,Li2,…,Lim},和个体最优位置向量Gµ(i)={Gi1,Gi2,…,Gim},其中i∈(1,n);种群中使全局最优的粒子群位置向量,表示为G’µ(i)’ ’ ’={Gi1,Gi2,…,Gim}。
[0032] 进一步地,速度向量代表了粒子在各个维度上经过的距离,个体最优位置向量是各个粒子各自到达过的最佳位置。
[0033] 进一步地,约束条件为:每个寻优问题的解被称为“粒子”,所有粒子都在一个m*n维空间内进行搜索;每一个粒子都有记忆功能,能记住它经过的最佳位置;每一个粒子有一个速度以决定其移动的距离和方向。
[0034] 进一步地,在连续的搜索空间中,一个位置向量的每个维度对应于一个虚拟机i的决策变量xij的一个值,每个粒子的位置对应于问题的一个潜在解,过把Lµ中的各个值代入到式(1)中进行计算获得F。
[0035] 进一步地,一个粒子的状态由其位置和速度两个因素表征,其更新规则分别由以下两个公式表示:
[0036]
[0037] 其中,e表示迭代的次数;µ为种群中的第µ个粒子;ω是惯性权重,表示粒子受自身影响的程度,它能够调整粒子的飞行速度,从而使粒子趋于收敛;c1和c2为学习因子,分别表e示粒子受个体经验和种群经验的影响程度;r1和r2是(0,1)范围内的随机数;Gµ 表示第µ个’e e
粒子的个体最优位置,Gµ表示粒子种群的全局最优位置;Lµ表示第µ个粒子在第e次迭代的位置。
[0038] 进一步地,迭代次数阈值为1000。
[0039] (三)有益效果
[0040] 本发明提出一种面向多云管理场景的云资源最优分配方法,本发明设计的多云环境下资源分配方法,通过公式(1)‑(5)的资源分配模型将资源分配问题抽象为多维装箱问题,通过粒子群优化算法对资源分配初步方案进行求解,得到资源分配的最终方案,能够有效提升在多云环境下,资源分配的合理性,以及多云整体性能。

附图说明

[0041] 图1为本发明的工作流程图;
[0042] 图2为基于粒子群优化算法求解资源分配方案流程图。

具体实施方式

[0043] 为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
[0044] 本发明面向多云环境,提出了一种云资源最优分配方法,建立了资源均衡分布的资源分配模型,通过粒子群优化算法求解资源分配最佳方案,能够充分发挥服务器集群资源的最大价值,使多种类型服务器资源均衡使用,避免了单台服务器负荷太重导致的服务器损坏和业务系统性能降低等问题。
[0045] 本发明工作流程如图1所示。本发明主要分为三部分,第一部分是对多集群服务器资源的实时监控,第二部分是资源分配模型,第三部分是粒子群优化算法求解资源最优分配方案。整个工作流程如下:
[0046] S1、系统收到虚拟机资源请求,该请求会直接传递给资源分配模型;
[0047] S2、资源分配模型受到资源请求后,向实时监控模块发出采集数据申请,由实时监控模块采集当前时间各服务器集群在各维度资源上的使用情况,维度包括CPU、内存、磁盘和运行时间,并将该信息发送给资源分配模型;
[0048] S3、资源分配模型依据虚拟机资源申请量和集群资源的实时使用情况,采用粒子群优化算法进行资源分配方案的求解计算,得出最优资源分配方案。
[0049] 资源分配模型如下:
[0050] 云计算中影响资源分配的因素有很多,如CPU、内存大小、磁盘大小、运行时间等。本文用不同的维度来表示这些因素,对云计算中多维资源分配问题进行研究,将最大可能均衡各异构服务器资源利用率。问题描述如下:有n种体积不同的物品,将这n种物品装到体积为C的m个箱子中,并约定这n种物品的体积均小于箱子的体积C。不同的装箱策略使用的箱子个数可能不同,要求各个箱子的空间利用率均衡。
[0051] 多云计算的物理基础设施是由一台台的物理服务器组成的,异构能有效提高云计算环境的安全性,但是异构的服务器之间容量不同,因此异构装箱较传统的装箱问题相比引入了新的问题。即部署在服务器j上的虚拟机资源需求要小于服务器剩余容量,不满足该约束条件即视为装箱失败。
[0052] 在制定虚拟机资源分配策略时,要充分考虑影响资源分配的关键因素,不仅在空间上满足多维资源属性约束,还将运行时间作为进行策略判断的考量因素,制定资源分配策略,来实现长期的资源集中放置,以及进一步全局效用的提升。
[0053] 本发明将云计算中的异构资源分配问题视为多维异构装箱问题,资源分配模型具k k体描述如下:有n个体积不同的虚拟机Vi ,0<=i<=n,m个容量不同的服务器Pj ,1<=j<=m,目k
标是用m个服务器的资源占用率ηj 两两差值的平方和最小,如式(1)所示,从而实现虚拟机所占资源在各个异构服务器上的均匀分配。
[0054] 目标函数:
[0055]
[0056] 其中:
[0057]
[0058]
[0059] 约束条件:
[0060]
[0061]
[0062] 由于虚拟机是多维资源包,本发明用向量来表示虚拟机的多维资源,其中k表示资源类型的维度,分别代表CPU、内存、磁盘、持续运行时间等。
[0063] 式(2)中Ujk表示当前服务器j在k维使用的资源量,Rjk表示虚拟机在服务器j上的第k维资源新申请量;
[0064] 式(3)中Vik表示虚拟机i各个维度的资源数值的向量,xij表示虚拟机i是否部署在服务器j上的决策变量;
[0065] 式(4)中Cj表示第j台服务器可使用资源所占服务器总容量的比例,本发明将比例定为80%,即单台服务器最大可使用资源不能超过服务器总资源的80%。
[0066] 粒子群优化算法求解如下:
[0067] 本发明资源分配算法采用粒子群优化算法求解虚拟机放置在服务器上问题(即公式2‑5求解),具体步骤如图2所示。
[0068] 粒子群优化算法是进化算法的一种,它源于鸟群捕食的行为研究,基本思想是通过群体中个体之间的协作和信息共享来寻找最优解。在粒子群算法中,每个优化问题的潜在解都是搜索空间中的一只鸟,抽象为粒子,每个粒子都有一个由目标函数决定的适应值,以及决定它们飞行的方向和距离。
[0069] 其中:
[0070] Ø  每个寻优问题的解被称为“粒子”,所有粒子都在一个m*n维空间内进行搜索。
[0071] Ø  每一个粒子都有记忆功能,能记住它经过的最佳位置。
[0072] Ø  每一个粒子有一个速度以决定其移动的距离和方向。
[0073] 假设一个m*n维的搜索空间和一个包含N个粒子的粒子群在其约束条件下搜寻全局最优解,每个粒子包含3个m*n维向量的信息,分别是速度向量Sµ(i)={Si1,Si2,…,Sim},位置向量Lµ(i)={Li1,Li2,…,Lim},和个体最优位置向量Gµ(i)={Gi1,Gi2,…,Gim},其中i∈(1,n)。
[0074] 在连续的搜索空间中,一个位置向量的每个维度对应于一个虚拟机i的决策变量xij的一个值,每个粒子的位置对应于问题的一个潜在解,把Lµ中的各个值代入到式(1)中进行计算获得F。
[0075] 速度向量代表了粒子在各个维度上经过的距离,个体最优位置向量是各个粒子各自到达过的最佳位置。
[0076] 种群更应考虑全局最优位置,表示为G’µ(i)={G’i1,G’i2,…,G’im}。
[0077] 一个粒子的状态由其位置和速度两个因素表征,其更新规则分别由以下两个公式表示:
[0078]
[0079] 其中,e表示迭代的次数;µ为种群中的第µ个粒子;ω是惯性权重,表示粒子受自身影响的程度,它能够调整粒子的飞行速度,从而使粒子趋于收敛;c1和c2为学习因子,分别表e示粒子受个体经验和种群经验的影响程度;r1和r2是(0,1)范围内的随机数;Gµ 表示第µ个’e e
粒子的个体最优位置,Gµ表示粒子种群的全局最优位置;Lµ表示第µ个粒子在第e次迭代的位置。
[0080] 求解具体步骤如下:
[0081] S31、随机对种群各粒子位置和速度进行初始化,并采用粒子群优化算法获取粒子的位置向量;
[0082] S32、根据当前粒子所处的位置信息,计算式(1);
[0083] S33、重复迭代,更新粒子速度和位置,计算式(1)
[0084] S34、当到达迭代次数阈值后,找到式(1)的最小值,此时各粒子的最优位置向量即为最终的虚拟机放置方案。
[0085] 本发明设置迭代次数阈值为1000。
[0086] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。