云应用系统的负载管理方法及系统.pdf

上传人:1****2 文档编号:6062451 上传时间:2019-04-05 格式:PDF 页数:19 大小:1,011.88KB
返回 下载 相关 举报
摘要
申请专利号:

CN201710122309.1

申请日:

2017.03.03

公开号:

CN106933650A

公开日:

2017.07.07

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效 IPC(主分类):G06F 9/455申请日:20170303|||公开

IPC分类号:

G06F9/455

主分类号:

G06F9/455

申请人:

北方工业大学

发明人:

杨冬菊; 邓崇彬; 高晶; 李青

地址:

100041 北京市石景山区晋元庄路5号

优先权:

专利代理机构:

北京泛华伟业知识产权代理有限公司 11280

代理人:

王勇

PDF下载: PDF下载
内容摘要

本发明提供一种云应用系统的负载管理方法。该方法包括:根据用户请求量的历史数据序列估计下一个时间间隔的云应用系统中的虚拟机或物理机的预测负载值;基于所述预测负载值执行创建虚拟机、回收虚拟机或迁移虚拟机中的至少一项。根据本发明的方法,能够通过负载预测,实现了负载均衡和资源的预分配,从而提高了云应用系统的稳定性和资源的利用率。

权利要求书

1.一种云应用系统的负载管理方法,包括:
步骤1:根据用户请求量的历史数据序列估计下一个时间间隔的云应用系统中的虚拟
机或物理机的预测负载值;
步骤2:基于所述预测负载值执行创建虚拟机、回收虚拟机或迁移虚拟机中的至少一
项。
2.根据权利要求1所述的方法,其中,步骤1包括:
将所述云应用的用户请求量的历史数据序列进行d次差分以获得平稳序列,其中,d是
非负整数;
根据所述平稳序列的自相关函数和偏自相关函数确定模型ARIMA(p,d,q)的p、q值,其
中,p,q为非负整数;
估计所述模型的自回归系数和滑动平均系数,以构建预测模型;
基于所述预测模型估计下一个时间间隔的云应用系统中的虚拟机或物理机的预测负
载值。
3.根据权利要求1所述的方法,其中,步骤2中创建虚拟机包括:
当虚拟机上的预测负载值大于第一负载阈值时,决定创建新的虚拟机;
根据该虚拟机上的所述预测负载值和所述第一负载阈值计算待创建的虚拟机的数量;
基于所述待创建的虚拟机数量和各物理机的当前资源可用率选择目的物理机。
4.根据权利要求3所述的方法,其中,还包括:
当虚拟机上的预测负载值大于第一负载阈值的频次达到频次阈值时,决定创建新的虚
拟机。
5.根据权利要求1所述的方法,其中,步骤2中回收虚拟机包括:
当虚拟机上的预测负载值低于第二负载阈值时,决定回收虚拟机;
从物理机上移除该虚拟机。
6.根据权利要求1所述的方法,其中,步骤2中迁移虚拟机包括:
当物理机处于过载状态时,确定迁移该物理机上的虚拟机;
基于各物理机的预测负载值选择待迁入的目的物理机集合;
基于所述目的物理机的资源可用率来确定目的物理机的迁入优先级;
基于迁移物理机上的虚拟机的资源利用率确定虚拟机的迁出优先级;
基于所述目的物理机的迁入优先级和虚拟机的迁出优先级执行虚拟机到目的物理机
的迁移。
7.根据权利要求6所述的方法,其中,所述过载状态是指物理机的CPU、内存及网络带宽
利用率中至少一项达到预设的最大资源利用率阈值。
8.根据权利要求6所述的方法,其中,所述虚拟机的迁出优先级根据下式来确定:
MigrateValue=RCPU*Wcpu+Rmemory*Wmemory+Rnetwork*Wnetwork
其中,MigrateValue表示计算的迁出优先级;Rcpu表述虚拟机处理器的利用率;Rmemory表
示虚拟机的内存利用率;Rnetwork表述虚拟机网络带宽的利用率;Wcpu表示cpu维度上资源利
用率对迁移优先值的贡献权重,Wmemory表示内存维度上资源利用率对迁移优先值的贡献权
重,其中,Wcpu+Wmemory+Wnetwork=1。
9.根据权利要求6所述的方法,其中,所述目的物理机的迁入优先级根据下式来确定:
FitnessValue=RCPU-A*Wcpu-A+Rmemory-A*Wmemory-A+Rnetwork-A*Wnetwork-A
其中,Rcpu-A表示物理机处理器的可用率;Rmemory-A表示物理机的内存可用率;Rnetwork-A表
示物理机的网络带宽的可用率;Wcpu表示待迁移的虚拟机对CPU资源的需求权重;Wmemory-A表
示对内存的需求权重,Wnetwork-A表示对网络带宽的需求权重,其中,Wcpu-A+Wmemory-A+Wnetwork-A
=1。
10.一种云应用系统的负载管理系统,包括:
用于根据用户请求量的历史数据序列估计下一个时间间隔的云应用系统中的虚拟机
或物理机的预测负载值的装置;
用于基于所述预测负载值执行创建虚拟机、回收虚拟机或迁移虚拟机中的至少一项的
装置。

说明书

云应用系统的负载管理方法及系统

技术领域

本发明涉及计算机技术领域,尤其涉及一种用于云应用系统的负载管理方法及系
统。

背景技术

为了实现网络中的资源共享和有效利用,在现有的云计算、云应用等场景中,往往
采用虚拟机技术来整合各种计算资源、存储资源、数据资源以及软件资源等。

然而,由于部署在虚拟机上的云应用系统接收的云应用的用户请求量在不同时段
存在巨大差异,往往会导致物理机或虚拟机的负载不均衡的情况,这严重影响了云应用系
统的资源利用率或用户的网络体验。在现有技术中,通常是在系统异常或过载时,人为地创
建新的虚拟机资源或通过迁移工具将物理机中的操作系统、应用和设置进行镜像复制,而
缺乏有效的预测负载并根据预测值来均衡云应用负载的预管理机制。

发明内容

本发明的目的在于克服上述现有技术的缺陷,提供一种虚拟机的调度方法,该方
法能够在降低开发的复杂度和成本的情况下,实现负载均衡,以进一步提高系统的稳定性
和资源的利用率。

根据本发明的第一方面,提供了一种云应用系统的负载管理方法。该方法包括:

步骤1:根据用户请求量的历史数据序列估计下一个时间间隔的云应用系统中的
虚拟机或物理机的预测负载值;

步骤2:基于所述预测负载值执行创建虚拟机、回收虚拟机或迁移虚拟机中的至少
一项。

优选地,步骤1包括:将所述云应用的用户请求量的历史数据序列进行d次差分以
获得平稳序列,其中,d是非负整数;根据所述平稳序列的自相关函数和偏自相关函数确定
模型ARIMA(p,d,q)的p、q值,其中,p,q为非负整数;估计所述模型的自回归系数和滑动平均
系数,以构建预测模型;基于所述预测模型估计下一个时间间隔的云应用系统中的虚拟机
或物理机的预测负载值。

优选地,创建虚拟机包括:当虚拟机上的预测负载值大于第一负载阈值时,决定创
建新的虚拟机;根据该虚拟机上的所述预测负载值和所述第一负载阈值计算待创建的虚拟
机的数量;基于所述待创建的虚拟机数量和各物理机的当前资源可用率选择目的物理机。

优选地,创建虚拟机还包括:当虚拟机上的预测负载值大于第一负载阈值的频次
达到频次阈值时,决定创建新的虚拟机。

优选地,回收虚拟机包括:当虚拟机上的预测负载值低于第二负载阈值时,决定回
收虚拟机;从物理机上移除该虚拟机。

优选地,所述迁移虚拟机包括:当物理机处于过载状态时,确定迁移该物理机上的
虚拟机;基于各物理机的预测负载值选择待迁入的目的物理机集合;基于所述目的物理机
的资源可用率来确定目的物理机的迁入优先级;基于迁移物理机上的虚拟机的资源利用率
确定虚拟机的迁出优先级;基于所述目的物理机的迁入优先级和虚拟机的迁出优先级执行
虚拟机到目的物理机的迁移。

优选地,所述过载状态是指物理机的CPU、内存及网络带宽利用率中至少一项达到
预设的最大资源利用率阈值。

优选地,所述虚拟机的迁出优先级根据下式来确定:

MigrateValue=RCPU*Wcpu+Rmemory*Wmemory+Rnetwork*Wnetwork

其中,MigrateValue表示计算的迁出优先级;Rcpu表述虚拟机处理器的利用率;
Rmemory表示虚拟机的内存利用率;Rnetwork表述虚拟机网络带宽的利用率;Wcpu表示cpu维度上
资源利用率对迁移优先值的贡献权重,Wmemory表示内存维度上资源利用率对迁移优先值的
贡献权重,其中,Wcpu+Wmemory+Wnetwork=1。

优选地,所述目的物理机的迁入优先级根据下式来确定:

FitnessValue=RCPU-A*Wcpu-A+Rmemory-A*Wmemory-A+Rnetwork-A*Wnetwork-A

其中,Rcpu-A表示物理机处理器的可用率;Rmemory-A表示物理机的内存可用率;
Rnetwork-A表示物理机的网络带宽的可用率;Wcpu表示待迁移的虚拟机对CPU资源的需求权重;
Wmemory-A表示对内存的需求权重,Wnetwork-A表示对网络带宽的需求权重,其中,Wcpu-A+Wmemory-A+
Wnetwork-A=1。

根据本发明的第二方面,提供了一种云应用系统的负载管理系统。该系统包括:用
于根据用户请求量的历史数据序列估计下一个时间间隔的云应用系统中的虚拟机或物理
机的预测负载值的模块;用于基于所述预测负载值执行创建虚拟机、回收虚拟机或迁移虚
拟机中的至少一项的模块。

与现有技术相比,本发明的优点在于:通过对云应用系统的负载预测,实现了负载
均衡和资源的预分配,从而提高了云应用系统的稳定性和资源的利用率。

附图说明

以下参照附图对本发明实施例作进一步说明,其中:

图1示出了根据本发明的一个实施例的基于ARIMA模型的负载预测方法的流程图。

图2示出了根据本发明的一个实施例的创建虚拟机的流程图。

图3示出了根据本发明的一个实施例的销毁虚拟机的流程图。

图4示出了根据本发明的一个实施例的虚拟机动态迁移的方法的流程图。

图5示出了根据本发明的一个实施例的云应用管理的系统架构图。

具体实施方式

为了对本发明的技术特征、目的和效果有更加清楚的理解,现参照附图描述本发
明的具体实施方式。

图1示出了根据本发明的一个实施例的利用ARIMA模型的进行负载预测的方法的
流程图。

ARIMA(Autoregressive Integrated Moving Average Model)模型是自回归移动
平均模型,其基于马尔可夫的随机过程建立,吸收了回归分析的动态性优点和移动平均的
优点。ARIMA模型使用ARIMA(p,d,q)来表示,其中,p,d,q均为非负整数,p表示自回归模型的
阶,d表示差分的程度,q表示移动平均模型的阶。

概括而言,在图1的实施例中,ARIMA模型将随时间推移而形成的云应用的用户请
求量的数据序列看作随机序列,以时间序列的自相关分析为基础来描述用户请求量的数据
序列,并根据该数据序列的历史值来预测下一时刻的用户请求量。在本文中,用户请求量是
指用户对部署在虚拟机上的云应用系统的请求的数量。

1)步骤S110,获取监控的数据序列。

当用户请求云应用时,将向云应用系统提交一组由需求参数构成的请求。所述需
求参数包括创建云应用所依赖的虚拟机的CPU核数、内存大小、网络、硬盘大小、操作系统
等。系统可实时地监控用户的请求量,并将结果存储到数据库,作为历史数据使用。

在利用ARIMA模型进行预测时,模型的输入例如是数据库中保存的每秒的用户请
求量的记录,模型的输出是预测的一段时间之后将达到的总的用户请求量。

例如,从系统启动开始记录,第一秒用户请求量是1,第二秒用户请求量是10,第三
秒用户请求量是18,而当前用户请求量是600,则输入模型的用户请求序列表示为{1,10,
18,……,600}。

进一步,可以将获得的用户请求量序列进行预处理,将原有的每秒记录的用户请
求量数据聚合为每5分钟(即300秒)组成的用户请求量序列。例如,第t秒的请求量序列记为
{Ht},将每秒的请求量累加,获得每5分钟一组的请求量,记为:

{In}=I1,I2,...In (1)

其中,n=t/300。

本领域的技术人员应当理解,聚合的时间间隔可以根据实际情况进行调整。在此
实施例中,考虑到侧重于对短期内负载的预测,以及过高频率的计算和统计可能影响预测
的效率,因此,将时间间隔设置为5分钟。也可以采用其他的时间间隔,例如,10分钟或12分
钟等。

2)S120,判断是否为平稳序列

判断预处理之后的数据序列是否是平稳序列,即检验数据的出现是否具有随机性
或独立性。

例如,可采用游程检验法来判断数据系列是否是平稳序列,即所获得的用户请求
量是否是由于短期波动或由于观测值的不独立而形成的非平稳序列。游程检验的具体过程
属于现有技术,在此不再赘述。

3)S121,进行d次差分。

如果数据序列被判断为非平稳序列,可使用差分的方法来进行平稳化处理,即:


公式(2)示出了一次差分过程,在每次差分之后,均判断是否为平稳序列。如果在
进行了d次差分之后,获得的平稳序列为则确定了ARIMA模型中d的取
值,即如果无需经过差分处理,数据序列已被判断为平稳序列,则d取值为0;如果经过多次
差分之后,数据序列才判断为是平稳序列,则d取值为差分的次数。

通过将用户请求量序列进行平稳化处理,能够捕捉到数据序列的规律,使预测结
果具有统计意义。

4)S130,零均值化处理。

在此步骤中,将获得的平稳化序列进行零均值化,使相关系数的均值和方差随时
间平稳波动。

零均值化是指平稳化序列中的每个值都减去序列的平均值,获得的序列表示为:

{Xn’}={X’1,X’2,...X’n} (3)

其中,表示的平均值。

本领域的技术人员应当理解,每进行一次差分,序列的数量会减少一个,但为了简
化起见,在公式(3)和下文中以d取值为0为例来进行描述。

5)S140计算自相关函数和偏自相关函数。

为了表征任意两个随机变量之间的相关程度,对于经过零均值化处理之后的序列
计算自相关函数和偏自相关函数。具体计算公式为:

相隔k期的两个随机变量X'n与X'n-k的自相关函数定义为,滞后k期的自协方差除
以方差,即:


其中,滞后k期的自协方差为γk=Cov(X'n-X'n-k)=E[(X'n-μ)(X'n-k-μ)],(k=0,
1,2…n-1);μ是平稳随机序列的期望值,是常数,即E(X'n)=μ;δ2是随机过程的方差,Var
(X'n)=δ2,用来度量随机过程取值对其均值μ的离散程度。

偏自相关函数是描述随机过程的另一种方法。用表示k阶自回归过程中第j个
回归系数,则k阶自回归模型表示为:


其中,μkt为残差,若把看作是滞后k期的函数,则称为偏自相关函数。

本领域的技术人员应当理解,根据获得的样本序列,即{Xn'},可采用多种方法来
估计偏自相关函数,例如,线性回归方法、迭代方法、相关矩阵求逆方法等。

6)S150,ARMA模型识别

利用自相关函数和偏自相关函数的性质或图谱来估计自相关阶数p和移动平均阶
数q的取值。表1示出了ARMA模型的定阶原则。其中,拖尾指自相关系数逐渐减少,截尾指偏
相关系数急剧收敛。

表1ARMA模型定阶原则


由表1可知:若平稳序列的偏相关函数是截尾的,而自相关函数是拖尾的,可断定
序列适合AR模型;若平稳序列的偏相关函数是拖尾的,而自相关函数是截尾的,则可断定序
列适合MA模型;若平稳序列的偏相关函数和自相关函数均是拖尾的,则序列适合ARMA模型,
ARMA模型是AR模型和MR模型的组合。

例如,通过分析自相关图谱和偏自相关图谱得出,自相关函数在1≤p≤3阶截尾,
偏自相关函数在1≤q≤2阶截尾,则可初步确定p的取值范围是(1,2,3),q的取值范围是(1,
2)。

6)S160,估计模型中的未知参数。

在选择了ARMA模型的基础上,从p、q的取值范围内选取不同组合并计算对应模型
的自回归系数和滑动平均系数。例如,可通过最小二乘法来估算。

ARMA(p,q)的一般表达式为:


AR模型的表达式为:


MA模型的表达式为:

θ1εn-1+θ2εn-2...+θqεn-q (8)

AR模型和MA模型结合是ARMA模型,即当q=0时,是AR(p)模型,当p=0时,是MA(q)
模型。

7)S170,检验模型的有效性。

判断步骤S160中构建的模型是否满足平稳性和有效性。

首先,要求下式(9)的根在单位圆外,具体公式如下:



其中,B表示θ的自变量。

进一步地,判断获得的模型的残差序列是否为白噪声,例如,若其期望和方差均为
常数,则称之为白噪声过程,如果不是白噪声,说明还有一些重要信息没有被提取,则需要
重新选择模型,重复执行步骤S150至S170。

只有在同时满足平稳性和有效性的条件下,利用ARMA模型的预测才有意义。

9)S180,获得预测模型。

在通过有效性检验之后,最终获得的预测模型为:


其中,X'n表示由{X'n-1}获得的预测表达式,至θ1至θq表示系数。p,q是模型的
阶数,εn是误差。

由预测模型(10)可知,根据用户请求量的历史数据序列利用ARIMA模型可以预测
一段时间之后的云应用的用户请求量,以衡量虚拟机上部署的云应用系统将达到的负载
值,例如,如预测的请求量是600,而系统能容纳的最大请求量是1000,则预测的负载值为
60%。

以下将描述如何根据本发明的预测方法,预测各个虚拟机、各个物理机以及整个
云应用系统的用户请求量,以及基于预测的用户请求量如何对云应用系统进行负载均衡和
管理,例如,虚拟机的创建、虚拟机的销毁和虚拟机的迁移等。

本文以ARIMA模型为例详细描述了用户请求量的预测方法,但应当理解的是,还可
以采用其它方式来进行预测,例如,基于马尔可夫链的预测方法等。

图2示出了根据本发明的一个实施例的创建虚拟机的流程图。

通常,云应用系统由虚拟机、物理机和部署在虚拟机上接收云应用请求的WEB服务
器(或称WEB节点)组成。为了使下文的描述更清楚,在表2中,首先示出了本文定义的一些参
数的简要描述。

表2:参数标识描述


概括而言,虚拟机的创建是指当预测的虚拟机的用户请求量超过最大负载阈值
时,认为支撑云应用的虚拟机无法正常响应用户的请求,需要创建新的虚拟机以分流一部
分用户访问。

1)步骤S210,获取用户请求量数据集R。

获取周期性监测的虚拟机的用户请求量的历史数据并进行预处理。

例如,将每秒用户请求量的数据集R处理为每5分钟一组的序列。该时间间隔可以
根据实际需要来设置,例如,设置为5分钟或10分钟等。

2)步骤S220,获取预测的负载值。

根据本发明图1的方法预估在下一个时间间隔的负载值Rt+1pre。

3)步骤S230,判断Rt+1pre与Rcurrentmax的大小

判断预测的下一个时间间隔的负载Rt+1pre与当前规模下所能承受的最大负载阈值
Rcurrentmax关系。如果Rt+1pre不大于Rcurrentmax,则重复执行步骤S210和步骤S220;如果Rt+1pre大
于Rcurrentmax,则执行步骤S240,进一步比较达到最大负载阈值的次数TH与频次阈值THmax的
大小。

在一个实施例中,当前规模下所能承受的最大负载阈值定义为所有WEB服务器的
最大负载值之和,即:


其中,Rimax表示WEB服务器i允许的最大负载值。

4)步骤S240,判断TH与THmax的大小

如果TH小于THmax,则重复步骤S210、S220、S230的过程,否则,执行以下的配置虚拟
机的过程。

设置频次阈值,可以避免因云应用请求量的瞬时增加而导致创建新的虚拟机。

5)步骤S250,选择WEB服务器并获取其配置信息。

假定处理用户请求的虚拟机集群中有Nweb个WEB节点,从该集群中随机选择一个节
点WEBi并获取其主要的配置信息,例如,内存、CPU核数、最大负载值等。

在另一个实施例中,可选择当前负载最大的WEB服务器来新创建支撑其的虚拟机。

6)步骤S260,计算需要创建的虚拟机的数量。

根据Rt+1pre和Rcurrentmax来确定所需要的虚拟机数量,具体公式为:

Nneed=(Rt+1pre-Rcurrentmax)/Rimax (11)

其中,Rcurrentmax表示当前资源规模下所允许承受的最大负载;Nneed表示需要创建的
虚拟机的数量。

7)步骤S270,选择虚拟机创建的位置。

根据计算出的需要创建的虚拟机的数量Nneed来选择虚拟机创建的位置,即为新建
虚拟机选择目标的物理机。

假定有Npm台物理机,选择出m台满足虚拟机条件的物理机。选择方法是根据步骤
S250中获取的配置信息(例如,内存、硬盘,CPU核数等)以及各物理机当前的负载大小来确
定是否满足创建新的虚拟机的条件。对于所选出的物理机,按照负载大小进行升序排列,
即:

PMAscList={PM1,PM2,PMi,...PMm} (12)

其中,PMi表示第i台物理机,i≤m,且表示
第i台物理机的当前负载。

为了优先选择负载较小的物理机,在一个实施例中,从0到Nneed对PMAscList的数量m
进行取余运算,从而选出创建虚拟机的目标物理机。

本发明基于预测的负载值创建虚拟机的方法可以预先配置虚拟机资源,以应对云
应用高峰时段的资源需求,避免因实时负载过大而导致设备故障或用户体验的下降。

图3示出了根据本发明的一个实施例的回收虚拟机的流程图。

虚拟机的回收是指从物理机上销毁虚拟机,即回收虚拟机资源。当系统访问的高
峰期之后,用户的请求量会下降,对于过闲的物理机,可以启动虚拟机的销毁流程。

1)步骤S310,获取用户请求量数据集R

获取周期性监测的虚拟机的用户请求量的历史数据并进行预处理。

2)步骤S320,获取预测的负载值Rt+1pre。

根据本发明图1所示的方法预估下一个时间间隔的负载Rt+1pre。

例如,预测的60分钟内负载值的序列可表示为:共3600
个值。

3)步骤S330,比较Rt+1pre与Rcurrentmin的大小。

将预测的负载值序列Rpre中的所有值与当前规模下的最小负载值Rcurrentmin进行比
较,其中,

如果Rpre中的至少一个值大于Rcurrentmin,认为不满足虚拟机回收的条件,将TH重置
为0,继续重复执行步骤S310、S320和S330。

如果Rpre中的所有值均小于或等于Rcurrentmin,则判定为虚拟机负载过低,满足虚拟
机回收的初步条件,并设置TH=TH+1。

4)步骤S340,比较TH与THmax的大小。

判断满足回收虚拟机初步条件的次数TH是否大于频次阈值THmax,如果TH不大于
THmax,则重复执行步骤S310、S320、S330和S340。如果TH大于或等于THmax,则认为该虚拟机处
于空闲状态。

5)步骤S350,从物理机上销毁该虚拟机。

如果集群中的虚拟机的节点数量大于1,则可将该虚拟机关闭并进一步从物理机
上将其销毁/移除,以回收资源。

具体而言,如果集群中包含两个虚拟机节点A和B,虚拟机A的用户访问量只有最大
请求量1000的5%,并且通过预测得知60分钟内每秒A的用户访问量不会超过负载的5%,并
且连续3次(频次阈值)能够满足该条件,则可启动回收虚拟机的过程。

本发明基于预测的负载值回收虚拟机的资源,可以提高资源的利用率。

图4示出了虚拟机的动态迁移的方法的流程图。

虚拟机迁移是指将虚拟机从一个物理机迁移至其它的物理机。目的是调整物理机
之间的资源分配,实现负载均衡,以提高资源的利用率。虚拟机的有效迁移能避免部分物理
机因过载而导致故障,也能避免因部分物理机空闲而导致的资源浪费。

1)S410,判断当前的资源利用率是否达到阈值。

获取各物理机和虚拟机的资源监控值,根据资源监控值以及资源高低阈值确定物
理机和虚拟机的状态,包括过载、过闲或正常状态。资源监控值可以包括虚拟机或物理机的
CPU和内存的资源利用率、网络带宽利用率或虚拟磁盘的写入速度等。

在一个实施例中,过载状态指虚拟机或者物理机的CPU、内存及网络带宽利用率中
至少一项达到预设的最大资源利用率阈值。

在一个实施例中,过闲状态是指CPU、内存及网络带宽利用率中的三者均小于预设
的最小资源利用率阈值,或者三者的加权平均值小于预设的最小资源利用率阈值。

在一个实施例中,各物理机的历史资源监控值采用滑动时间窗口来保存。例如,在
一定时间范围T内取n个监控值,该监控值包含CPU、内存和网络这三个资源维度。对于任一
资源维度,取得的n个监控值中若有m个(0≤m≤n)大于最大资源利用率阈值,则判定为该物
理机处于过载状态;若有m个小于最小资源利用率阈值,则判定该物理机处于过闲状态;其
他情况判定是正常状态。

2)S420,获取各物理机的负载预测值。

根据本发明的图1所示的方法预估各物理机下一个时间间隔的用户请求量。

3)S430,基于负载预测值选择目的物理机集合。

选择负载的预测值低于一定阈值的物理机作为目的物理机集合。例如,如果物理
机的预测负载值超过一定的阈值,则说明该物理机将处于用户请求的高峰期,则不考虑将
其作为待迁入的目的物理机。

4)S440、计算目的物理机的吻合度。

进一步在选出的物理机集合中选择满足虚拟机迁入条件的目的物理机。

例如,采用吻合度来衡量目的物理机是否有足够的资源供虚拟机迁入,物理机满
足迁入条件的资源越多,吻合度越大。在一个实施例中,所述资源包括硬盘、内存、CPU,带宽
等。例如,吻合度可定义为:

FitnessValue=RCPU-A*Wcpu-A+Rmemory-A*Wmemory-A+Rnetwork-A*Wnetwork-A (13)

其中,Rcpu-A表示物理机处理器的可用率;Rmemory-A表示物理机的内存可用率;
Rnetwork-A表示物理机的网络带宽的可用率;Wcpu表示待迁移的虚拟机对CPU资源的需求权重;
Wmemory-A表示对内存的需求权重,Wnetwork-A表示对网络带宽的需求权重,其中,Wcpu-A+Wmemory-A+
Wnetwork-A=1。例如,如果待迁移的虚拟机对内存的需求比较大,则内存的需求权重设置为较
大值。

5)S450、判断是否有符合条件的目的物理机。

根据吻合度判断是否有符合迁入条件的目的物理机。如果不能找到满足迁入条件
的物理机,则发出迁移失败的警告,以提醒进行人工处理。

6)S460、基于迁移优先级执行虚拟机的迁移

进一步地,在执行虚拟机迁移时,基于虚拟机的迁出优先级来分批执行,每一批可
以执行一个或多个虚拟机的迁出。

在一个实施例中,虚拟机的迁出优先级采用下式计算:

MigrateValue=RCPU*Wcpu+Rmemory*Wmemory+Rnetwork*Wnetwork (14)

其中,Rcpu为虚拟机处理器的利用率;Rmemory为虚拟机的内存利用率;Rnetwork为虚拟
机网络带宽的利用率;Wcpu为CPU维度上资源利用率对迁移优先值的贡献权重,Wmemory为内存
维度上资源利用率对迁移优先值的贡献权重,其中,Wcpu+Wmemory+Wnetwork=1,权重的具体值
可以根据经验设置。

利用虚拟机的迁出优选级,可控制虚拟机迁出的顺序。例如,通过首先将负载重的
虚拟机迁出,从而在迁出尽可能少的虚拟机的情况下,实现快速降低负载的目的。

7)S470、判断虚拟机是否迁移成功。

判断虚拟机的迁移过程是否成功。例如,由迁移的目的物理机监测虚拟机在迁入
过程的状态,当迁移成功时,返回成功标志,当迁移失败时,返回失败标志。

8)S480、提示告警。

在由于硬件、兼容性等问题出现虚拟机迁移失败的情况,发出迁移失败的警告并
提示失败原因。

在一个实施例中,当虚拟机迁移失败时,如果失败原因是迁入的目的物理机所导
致的,可以设置在一段时间内(惩罚时间),不再执行向该物理机的迁入操作。通过这种方
式,可以在一定程度上减少虚拟机迁移的失败率。

综上所述,根据本发明,可在两种情况下触发虚拟机的迁移。第一种是:对于过载
的物理机,迁移部分虚拟机以减少物理机的负载。例如,有两台物理机P1和P2,P1上有三台
虚拟机,P2上有一台虚拟机,假定物理机P1的CPU和内存利用率高于某个值(如80%),可将
P1上的虚拟机迁移到P2上。第二种是:当多台物理机处于空闲状态时,可将虚拟机集中迁移
至几台物理机,迁移完成之后,关闭原有的物理机。

本发明的虚拟机的迁移包括在线迁移和离线迁移,在线迁移是指在应用及应用所
属虚拟机保持在运行且提供服务状态下由一台物理机迁移至目的物理机,离线迁移是在应
用和应用所属虚拟机均停止服务状态下由一台物理机迁移至目的物理机。

本发明迁移过程,同时考虑了当前的负载和预测的负载,在实现负载均衡的情况
下,能够避免由于负载的瞬时变化而导致的虚拟机的频繁迁移。

本领域的技术人员应当理解,在不违背本发明的精神和范围的情况下,可以对上
述的实施例进行适当的变型或组合,例如,虚拟机的创建、虚拟机的迁移、虚拟机的回收等
示例中,可以采用不同的阈值来确定触发条件等。

图5示意性示出了利用本发明的方法的云应用系统的架构图。该系统包括:负载均
衡模块510、web服务模块520、数据收集模块530、负载预测模块540、动态调度模块550、基础
设施模块560。

负载均衡模块510:用户通过客户端提交的云应用请求通过负载均衡模块510转发
到云应用的web服务模块520(web server)。

Web服务模块520:接收到云应用请求的web server向基础设施模块560申请资源。

数据收集模块530:通过实时监控来获得历史数据。收集系统中各个物理机或虚拟
机的CPU、内存以及请求量等,并将收集到的数据进行存储或预处理。例如,将每秒的云应用
请求量存入到数据库以便将来分析历史数据使用。此外,通过该模块还可计算每个请求从
发出到处理完成的时间,从而评估系统对于云应用的响应时间。

负载预测模块540:用于获取来自与数据收集模块530的数据来实现本发明的负载
预测。

动态调度模块550:用于基于预测模块540的负载预测值和/或系统的当前负载情
况来执行虚拟机的创建、销毁或迁移等。

基础设置模块560:包括物理机和部署在物理机上的虚拟机资源,为云应用提供底
层资源。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也
不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技
术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨
在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其
它普通技术人员能理解本文披露的各实施例。

云应用系统的负载管理方法及系统.pdf_第1页
第1页 / 共19页
云应用系统的负载管理方法及系统.pdf_第2页
第2页 / 共19页
云应用系统的负载管理方法及系统.pdf_第3页
第3页 / 共19页
点击查看更多>>
资源描述

《云应用系统的负载管理方法及系统.pdf》由会员分享,可在线阅读,更多相关《云应用系统的负载管理方法及系统.pdf(19页珍藏版)》请在专利查询网上搜索。

本发明提供一种云应用系统的负载管理方法。该方法包括:根据用户请求量的历史数据序列估计下一个时间间隔的云应用系统中的虚拟机或物理机的预测负载值;基于所述预测负载值执行创建虚拟机、回收虚拟机或迁移虚拟机中的至少一项。根据本发明的方法,能够通过负载预测,实现了负载均衡和资源的预分配,从而提高了云应用系统的稳定性和资源的利用率。。

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

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


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