混合云环境下基于负载预测的资源弹性伸缩方法与流程

文档序号:15615130发布日期:2018-10-09 21:10阅读:148来源:国知局

本发明涉及计算机云计算技术领域,特别涉及一种混合云环境下基于负载预测的资源弹性伸缩方法。



背景技术:

云计算可以划分为公有云、私有云和混合云。其中公有云由企业或组织运营,通过互联网向用户提供计算或存储资源,使用其服务的用户按需付费,无需购买和维护软硬件等基础设施。私有云则将云计算服务架设在企业或组织内部,不再受到公用网络上安全威胁和网络带宽的影响,其基础架构可以进行调整和优化以符合企业或组织的需求,缺点是需要付出额外的成本进行维护和管理。混合云是私有云、公有云两种云计算部署模式的结合体,支持应用在云间的数据共享、自动部署、灵活迁移和按需扩展。一般而言,混合云等于“私有云+公有云”,兼容公有云可扩展、节约成本和私有云安全可控的优势。由于安全和管理等原因,有些用户既希望使用公有云,又不希望将一些隐私信息部署在公有云上,这时就可以使用混合云。同时,混合云也为私有云的弹性资源需求和灾难恢复等问题提供了一个解决方案。国内外的电信运营商如中国移动、中国电信和中国联通等在对外提供公有云服务的同时也在企业内部积极尝试实施私有云,这也是混合云的一种形式。随着云计算的发展,混合云被许多用户和企业所采用。用户或企业对于混合云的需求越来越大,从而对云环境下资源弹性管理的要求也越来越高。在云计算集群规模日益庞大的今天,如果不能提升整个系统的资源弹性管理能力,就无法充分利用系统资源。

为保证集群的可靠运行,云用户在搭建应用集群时,往往按照负载最高值配置资源,但由于日常负载通常维持在一个较低的水平,造成资源的极大浪费。而如果按照较低负载配置资源,则在系统达到负载高峰时,将因资源短缺而无法满足服务质量需求,甚至造成服务不可用。



技术实现要素:

本发明的目的是针对现有技术的不足,提出一种混合云环境下基于负载预测的资源弹性伸缩方法,能满足资源需求和保证集群可靠性的同时,降低公有云成本和提高混合云集群资源利用率。

为实现上述目的,本发明所设计的混合云环境下基于负载预测的资源弹性伸缩方法,其特殊之处在于,包括如下步骤:

1)计算混合云集群下一时间戳的负载预测值β,确定当前集群能够处理的最大请求数req;

2)判断负载预测值β是否大于当前集群能够处理的最大请求数req,是则前往步骤3),否则前往步骤4);

3)对混合云集群进行弹性扩展:确定每一种配置节点在单位时间内能够处理的最大请求数,建立弹性扩展模型和约束条件,计算进行弹性扩展的资源,使用以用户公有云集群租用成本最小化为目标的扩展模型进行弹性扩展;

4)对混合云集群进行弹性收缩:通过集群剩余负载能力、数据迁移时间、数据传输代价求得每一个数据节点的迁移代价,确定迁移代价最小的一个或者若干个节点为收缩节点进行数据迁移并释放节点。

优选地,所述步骤3)中弹性扩展模型为

约束条件为:

式中,mincost为开销最低供给方案,为有效开销,为无效开销,ai代表当前虚拟机供给配置中类型i虚拟机实例的数量,tij代表ai个类型i虚拟机中第j个虚拟机实例的剰余时间,eij为虚拟机淘汰变量,取值为0或1,μ,pi,ci,ai,tij,n均为常量,其中n表示当前云服务提供商资源类型的数量,pi表示类型为i的公有云资源单位时间内对应的成本,xi表示进行资源伸缩方案后类型为i的公有云资源对应的数量,xi为自然数且其中的i小于资源类型数n,β表示通过负载预测得到的混合云集群负载预测值,ci表示类型为i的公有云资源的处理能力,μ表示比较有效成本和无效成本的权值参数。

优选地,所述步骤4)中确定迁移代价最小的节点的方法为求解每个负载均衡方案的最终效用值y,确定最小的最终效用值y对应的节点为迁移代价最小的节点;

y=wxx′+wtt′+wll′

式中,wx、wt、wl分别为剩余负载能力、数据迁移时间和数据传输代价的权重,x′、t′和l′分别为剩余负载能力方差、数据迁移时间方差和数据传输代价方差的格式化值。

优选地,所述剩余负载能力、数据迁移时间和数据传输代价的权重的确定方法为利用熵值法确定剩余负载能力、数据迁移时间和数据传输代价三个指标的客观权重。

优选地,所述剩余负载能力、数据迁移时间和数据传输代价的权重的确定方法为利用层次分析法确定剩余负载能力、数据迁移时间和数据传输代价三个指标的主观权重。

优选地,所述剩余负载能力、数据迁移时间和数据传输代价的权重的确定方法为根据剩余负载能力、数据迁移时间和数据传输代价三个指标的主观权重、客观权重,利用组合赋权法确定剩余负载能力、数据迁移时间和数据传输代价三个指标的权重。

优选地,所述步骤4)中数据迁移的过程包括两个步骤:机架内数据迁移和机架间数据迁移,机架内数据迁移过程中会进行尽量多数据的迁移,以减少机架间数据迁移的数据量,迁移前需要计算待迁移的数据量,然后完成迁移操作,如此循环,直到所有节点都不再能够进行机架内数据迁移,再进行机架间的数据迁移,先计算待迁移的数据量,完成迁移操作,直到每个待删除节点上的数据完全迁移后迁移过程结束,对节点进行删除操作。

优选地,所述剩余负载能力方差的极差格式化值x′的计算方法为

式中,x′为当前负载均衡方案的剩余能力方差,xmax、xmin分别为所有负载均衡方案剩余负载能力方差的最大值、最小值。

本发明的优点在于:

1.本发明结合资源弹性管理和混合云资源的特性提出了混合云中基于负载预测的资源弹性伸缩方法,在保持平台资源利用率的基础上,伸缩方法以降低平台成本为目标,通过构建伸缩成本模型来衡量伸缩过程中的花费,并从众多伸缩策略中选择一个能够最大限度降低平台成本的策略来执行。

2.本发明提出基于负载预测的混合云集群弹性扩展方法,以根据负载请求的波动情况,当平台需要扩展资源时增加成本较低的资源,当平台需要释放资源时释放成本较高的资源,动态地从云服务提供商申请、释放资源。

3.本发明建立基于多目标优化的弹性收缩节点的选择方法,选择迁移代价最小的一个或多个节点作为释放节点,数据迁移完成后即可进行资源的释放。

4.本发明在实际负载来临之前完成资源的弹性扩展或弹性收缩,达到优化资源成本和提高集群资源利用率的目的。

附图说明

图1为本发明混合云环境下基于负载预测的资源弹性伸缩方法的流程图。

图2为混合云环境下基于负载预测的资源弹性伸缩方法的模型框架。

具体实施方式

以下结合附图和具体实施例对本发明作进一步的详细描述。

如图1所示,本发明提出的一种混合云环境下基于负载预测的资源弹性伸缩方法,包括如下步骤:

1)计算混合云集群下一时间戳的负载预测值β,确定当前集群能够处理的最大请求数req;

2)判断负载预测值β是否大于当前集群能够处理的最大请求数req,是则前往步骤3),否则前往步骤4);

3)对混合云集群进行弹性扩展:确定每一种配置节点在单位时间内能够处理的最大请求数,建立弹性扩展模型和约束条件,计算进行弹性扩展的资源,使用以用户公有云集群租用成本最小化为目标的扩展模型进行弹性扩展;

4)对混合云集群进行弹性收缩:通过集群剩余负载能力、数据迁移时间、数据传输代价求得每一个数据节点的迁移代价,确定迁移代价最小的一个或者若干个节点为收缩节点进行数据迁移并释放节点。

下面详述本发明的研究过程:

如图2所示,混合云环境下资源弹性管理能够根据用户的业务需求和策略,经济地自动调整弹性计算资源的管理服务。当应用系统高并发时,自动扩容以增加集群的处理能力。当空闲时,自动缩容以节省服务器资源。本发明研究了这种自动扩展和收缩的实现机制,节省基础设施成本。在负载预测和运行状态实时监控的基础上,系统需要根据分析结果得到平台资源的需求,并根据平台资源的需求和平台资源使用情况对平台的资源进行伸缩。针对不同伸缩方法在伸缩规模、响应时间和伸缩成本等方面的不同特点,提出一种混合云集群中基于负载预测的资源弹性伸缩方法,可以在满足资源需求的前提下,尽可能的减少资源使用和平台成本。

混合云集群弹性扩展方法研究的目标是找到最优的节点配置方案来降低用户公有云集群的成本,既做到集群的节能环保,又能保证系统的服务质量。本发明提出一种基于负载预测的混合云集群弹性扩展方法,它可以根据负载请求的波动情况,动态地从云服务提供商申请、释放资源。考虑到弹性收缩可能对混合云集群数据安全性以及完整性的影响,在进行弹性收缩之前,需要确定将要收缩的一个或者多个节点,然后将这些节点上的数据进行迁移。选择收缩的节点需要对集群的每个节点进行监控,根据每个节点的cpu使用率、磁盘io利用率和磁盘中数据块的个数来判断收缩节点;然后将这些节点上的数据进行迁移。数据迁移主要包括两个步骤:机架内数据迁移和机架间数据迁移,机架内数据迁移过程中会进行尽量多数据的迁移,以减少机架间数据迁移的数据量,迁移前需要计算待迁移的数据量,然后完成迁移操作,如此循环,直到所有节点都不再能够进行机架内数据迁移,接着进行机架间的数据迁移,同样是先计算待迁移的数据量,然后完成迁移操作,直到每个待删除节点上的数据完全迁移后迁移过程结束,这才可以对节点进行删除操作。

混合云环境下基于负载预测的资源弹性伸缩方法分析

本发明提出的混合云环境下基于负载预测的资源弹性伸缩方法模型由两部分组成:(1)资源弹性扩展方法,通过负载预测方法预测集群下一时间戳的负载情况,然后根据不同配置资源的处理能力,计算进行弹性扩展的资源,使用以用户公有云集群租用成本最小化为目标的扩展模型进行弹性扩展。(2)资源弹性收缩方法,考虑到弹性收缩可能对集群数据安全性以及完整性的影响,在进行弹性收缩之前,需要确定将要收缩的一个或者多个节点,然后将这些节点上的数据进行迁移。本发明建立基于多目标优化的弹性收缩节点的选择方法,然后选择迁移代价最小的一个或多个节点作为释放节点,数据迁移完成后即可进行资源的释放。

弹性扩展模型

资源弹性扩展的目标是找到最优的节点配置方案来降低用户公有云集群的成本。通过负载预测,可以获取下一个预测周期内需要满足的最高负载需求。接下来的目标就是确定新的虚拟机供给配置方案从而使用户租用成本最小化。资源弹性扩展主要分为两步:(1)确定每一种配置节点在单位时间能够处理的最大请求数。(2)在已知需要满足的集群负载和每种配置节点的处理能力之后,设计一个以用户公有云集群租用成本最小化为目标的扩展模型。

对于云平台支持的每种配置节点,必须首先计算出其可以处理的最大请求速率。本发明将节点可以处理的最大请求速率作为服务器能力,同时这一信息将作为虚拟机供给算法的重要输入参数。配置越高,可以处理的最大请求速率会越高。本发明通过经验性估计配置节点处理能力。经验性估计实际上是在特定的节点上运行相应应用,通过缓慢升高请求到达速率直到出现违约情况,本发明将之前未出现违约的最大请求速率作为该虚拟机的能力。尽管经验性估计会消耗一定资源,但是,有研究表明,实际测出的虚拟机能力估计值更为准确。

确定完各种节点处理能力后,需要通过扩展模型确定扩展方案。本发明扩展模型考虑到公有云资源按小时计费(未满一小时按一小时计费)的特点,提出了资源有效开销和无效开销的概念。无效开销是指淘汰节点的剩余时间段的处理能力。本模型的目标是寻找有效开销和无效开销之和最低的供给方案。

式中,mincost为开销最低供给方案,为有效开销,为无效开销,ai代表当前虚拟机供给配置中类型i虚拟机实例的数量。tij代表ai个类型i虚拟机中第j个虚拟机实例的剰余时间(虚拟机实例按剩余时间从小到大依次排列)。ai、tij为常量,不同时刻可以通过分析当前虚拟机供给配置获得。eij为虚拟机淘汰变量,取值为0或1,取值为1表示当前虚拟机供给配置中类型i虚拟机中第j个虚拟机被淘汰,反之,则该虚拟机不被淘汰。是用于权衡有效开销和无效开销的常量。μ,pi,ci,ai,tij,n均为常量,其中n表示当前云服务提供商资源类型的数量,pi表示类型为i的公有云资源单位时间内对应的成本,xi表示进行资源伸缩方案后类型为i的公有云资源对应的数量,xi为自然数且其中的i小于资源类型数n,β表示通过负载预测得到的混合云集群负载预测值,ci表示类型为i的公有云资源的处理能力,μ表示比较有效成本和无效成本的权值参数。

约束条件:

μ,pi,ci,ai,tij,n均为常量(5)

该模型的约束条件如上所示。其中约束(2)是负载满足约束,保证调整后的虚拟机供给方案xi的负载处理能力高于当前需要满足的应用负载。约束(3)为虚拟机淘汰约束,如果某类型虚拟机需要被淘汰,那么,优先淘汰剩余时间最小的该类型虚拟机。约束(4)、(5)为基本约束。

弹性收缩模型

资源弹性收缩的目标是找到最优的节点配置方案来降低用户公有云集群的成本。通过负载预测可以确定集群在下一个时间段是否需要进行收缩操作。考虑到弹性收缩可能对集群数据安全性以及完整性的影响,在进行弹性收缩之前,需要确定将要收缩的一个或者多个节点,然后将这些节点上的数据进行迁移。首先需要通过负载预测确定集群收缩节点的个数,然后通过集群剩余负载能力、数据迁移时间、数据传输代价求得每一个数据节点的迁移代价,迁移代价最小的一个或多个节点即为本发明选择的收缩节点。本研究的目标是提出一种能准确反映数据节点的剩余负载能力,兼顾cpu、内存和磁盘负载均衡效果、负载迁移代价和数据传输代价的负载均衡策略,进行资源弹性收缩后保证集群的可靠性及负载均衡。收缩模型节点选择步骤如下:

(1)集群弹性收缩模型首先计算当前集群每个数据节点的剩余负载能力。首先求出cpu的剩余负载能力方差:

其中:n为数据节点数量,为第k个数据节点的cpu负载指标归一化值,ec为所有数据节点cpu负载指标归一化值的期望值,同样,求出内存和磁盘负载指标的剩余负载能力方差xm和xd。最后,求出方案的剩余负载能力方差为

x=xcωc+xmωm+xdωd(7)

其中ωc、ωm、ωd分别为cpu、内存和磁盘负载指标的权重,ωc+ωm+ωd=1。

(2)第二步,计算每个数据节点的迁移时间。迁移时间t度量负载均衡方案的迁移代价,则

其中:m为迁移任务的个数,ql为第l次迁移的数据量大小,bl为第l次迁移中,迁出和迁入节点之间的带宽。

(3)第三步,计算每个数据节点的数据传输代价。数据到用户的平均距离用来衡量负载均衡方案的数据传输代价,集群中所有迁移数据的数据传输代价之和为

其中:kb为数据块b的数据到用户的平均距离,反映数据储存位置到用户的平均网络距离,(k为该数据块访问用户个数;uc为第c个用户距离数据块所在数据节点的网络路由跳数;fc为第c个用户与集群中距离该用户最近的数据节点之间的路由跳数;gc为第c个用户对数据块的访问次数占该数据总访问量的比重,其中:uc为用户c对数据的访问次数,p为数据的被访问总次数);rb为数据块b的访问量占所有迁移数据访问量的比重,rb=nb/num(nb为数据块b一段时间被访问的次数,num为所有数据在一段时间的总访问次数)。

由于剩余负载能力、数据迁移时间和数据传输代价这三个决策价值节点的值度量单位不同,在求出每个负载均衡方案的三个决策价值节点值后,采用极差格式化法将所有负载均衡方案的三个评价值格式化为可以统一度量的值,格式化的结果为介于0~1之间的小数。剩余负载能力方差的极差格式化方式为

其中:xmax为所有负载均衡方案剩余负载能力方差的最大值,xmin为最小值。同样,可求出迁移时间和传输代价的格式化值t′和l′。最后,求出每个负载均衡方案的最终效用值为

y=wxx′+wtt′+wll′(11)

其中wx、wt、wl为权重。根据上式计算方案价值评价列表并排序,得出最优负载均衡决策方案。多属性决策问题的求解过程中,属性的权重具有举足轻重的作用。它被用来反映属性的相对重要性,属性越重要,则赋给它的权重应越大,反之则越小。

目前关于属性权重的确定方法有很多,根据计算权重时原始数据的来源不同,可以将这些方法分为三类第一类是主观赋权法,它是根据决策者主观上对各属性的重视程度来确定属性权重的方法,其原始数据由专家根据经验主观判断而得到。常用的主观赋权法有专家调查法法、层次分析法、最小平方法等第二类是客观赋权法,该方法基于决策矩阵等客观信息,即根据属性值之间的相关关系或属性值的变异程度来确定权重,不依赖于人的主观判断,如主成分分析法、熵值法、因子分析法等。运用主观赋权法确定权重,虽然反映了决策者的主观判断或直觉,但是方案的评估可能有很大的主观随意性,也可能受到决策者的知识或经验缺乏的影响。而运用客观赋权法确定权重,虽然通常利用完善的数学理论,但忽略了决策者的主观信息。由于上述两种赋权方法各有优缺点,因此人们又提出了第三类赋权法,即综合主、客观赋权法的组合赋权法。

本发明采用综合主、客观赋权法的组合赋权法。使用熵值法确定评价指标的客观权重和层次分析法确定主观权重相结合确定评价指标的最终权重,并采用topsis法对各种收缩方案进行综合评价,确定最优方案。权重确定时既考虑了主观因素,又考虑数据内部之间的关系,指标权重确定的客观、科学,利用topsis法计算结果时,既能反映项目的优劣顺序,也能分析项目各因素的好坏情况。

首先,利用熵值法确定指标的客观权重,步骤如下。

1.构建弹性收缩决策矩阵x=(xab)p×q,xij表示第a个项目方案的第b个评估指标值。q为决策评价指标数量,本发明q=3。

2.评价指标的同向无量纲化处理。为了消除弹性收缩决策指标体系中的各指标由于量纲、数量级和对评价目标的影响方向的不同而可能造成的决策失误,需要对决策矩阵x进行同向无量化处理,构造标准化的矩阵v=(vab)p×q;为了降低计算过程中的复杂程度,本发明采用极差变换法处理,其计算公式如下:

在决策矩阵x=(xab)p×q中,对于正向指标

对于逆向指标

矩阵v=(vab)p×q称为极差变换标准化矩阵。矩阵x经过极差变化后,其指标全化成了正向指标,且满足0≤vab≤1,最优值为1,最劣值为0。

3.利用熵值法确定指标的客观权重。对标准化矩阵v=(vab)p×q进行规范化处理。计算第b项指标下第a项目对应的指标比重tab,其表达公式如下:

计算第b项指标的熵值eb:

式中,k=1/lnp,并且规定当tab=0时,tablntab=0。

计算第b项指标的差异系数gb。对于给定的熵值eb越大,因素评价值的差异性越小,则因素在综评价中所起的作用就越小。定义差异系数:

gb=1-eb,(b=1,2,...,q)(17)

则当因素的越大时gb,因素越重要。

定义权数wb。

则wb就是熵值法确定的评价指标的客观权重。

其次,利用层次分析法确定指标的主观权重。层次分析法(ahp)是将决策总是有关的元素分解成目标、准则、方案等层次,在此基础之上进行定性和定量分析的决策方法,步骤如下。

1.构造比较矩阵。假定指标集z={z1,z2,...,zq},其中,zb为第b个评价指标(b=1,2,...,q),q为评价指标总数。用3标度原则对评价指标两两对比,构造的比较矩阵为

其中3标度矩阵含义见表1

表13标度矩阵含义

2.将比较矩阵a转化为最优传递矩阵最优传递矩阵为

其中

把最优传递矩阵r转化为一致判断矩阵

其中dij=exp(rij)。

3.利用层次分析法确定指标的主观权重。通过计算一致判断矩阵d的最大特征值及对应特征向量确定权重,即满足式dw=λmaxw的特征向量作为评价指标的权重,其中特征值向量采用方根法求解。

权重向量w=[w′1,w′2,...,w′n]计算公式为

通过熵值法确定的各指标的权重为各指标的客观权重,它的确定是由评价体系中实际的项目数据值所确定的,而层次分析法通过专家系统对各项决策指标进行比较分析确定各指标的主观权重。组合赋权就是将二者进行综合集成,使最终的指标权重既反映主观经验判断与决策偏好,又反映客观评价信息与方案差异。

最后,通过主客观权重相结合赋权方法确定权重,计算公式为:

其中,wb表示第b个指标的综合权重,wb表示第b个指标的客观权重,wb′表示第b个指标的主观权重。

混合云环境下基于负载预测的资源弹性伸缩方法的实现

本发明提出了混合云环境下基于负载预测的资源弹性伸缩方法。研究了基于服务代价的弹性扩展方法,并实现了弹性资源的自动化部署;将针对弹性收缩带来的数据迁移问题,提出了基于多目标优化的弹性收缩节点选择方法,。本方法具体描述如下:

(1)通过预测混合云集群下一时间戳的负载值,判断集群是否需要进行资源弹性伸缩。若负载增大,则进行弹性扩展;若负载减小,则进行弹性收缩;

(2)确定每一种配置节点在单位时间能够处理的最大请求数。根据不同配置资源的处理能力,计算进行弹性扩展或弹性收缩的资源;

(3)若需要进行弹性扩展,使用以用户公有云集群租用成本最小化为目标的扩展模型。

(4)若需要进行弹性收缩,在保证集群数据安全性以及完整性的前提下(即进行数据迁移),找到最优的节点配置方案来降低混合云集群的成本。

(5)在实际负载来临之前完成资源的弹性扩展或弹性收缩,达到优化资源成本和提高集群资源利用率的目的。

调度方法的伪代码描述

本领域的技术人员应当理解,此处所述的具体实施方案仅用解释本发明专利,并不用于限制本发明专利。在本发明专利的精神和原则之内做出的任何修改、等同替换和改进等,均应包含在本发明专利的保护范围之中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1