一种调度方法及调度装置与流程

文档序号:16149703发布日期:2018-12-05 17:18阅读:422来源:国知局
一种调度方法及调度装置与流程

本发明涉及通信技术,尤指一种调度方法及调度装置。

背景技术

云计算的弹性伸缩和按需使用的特点非常适合部署web(万维网)应用,然而动态变化的工作负载、服务质量目标和应用场景为云计算资源的动态调整增加了难度。

传统的基于虚拟机的资源管理较为重载,难以实现细粒度的资源动态调整与云平台中应用服务的快速迁移。新兴的容器技术具有占据资源少,启动速度快,并发性高的特点慢慢成为一种替代虚拟机的方案。由于容器和虚拟机的底层实现方式具有很大的不同,使得基于虚拟机的调度方式并不适用于基于容器的调度。



技术实现要素:

为了解决上述技术问题,本发明提供了一种调度方法及调度装置,适用于多样的web应用、提高云计算资源利用率。

为了达到本发明目的,本发明提供了一种调度方法,包括:

确定万维网应用对服务器造成的平均负载;

根据所述平均负载及指定算法预测下一时刻的平均负载;

根据所述下一时刻的平均负载与预置的服务负载值动态调整万维网应用集群中容器的数量。

与现有技术相比,本发明实施例的方法将容器技术用于web应用管理,实时对应用数据进行分析,按照设定的算法策略对web应用进行调度,保证服务的可靠性,提高云计算资源利用率。

进一步地,所述确定万维网应用对服务器造成的平均负载包括:通过动态加权法确定万维网应用对服务器造成的平均负载。

进一步地,所述万维网应用包括以下一种或多种类型:

cpu密集型、内存密集型、i/o密集型。

进一步地,所述指定算法包括:灰色预测算法。

进一步地,所述根据所述下一时刻的平均负载与预置的服务负载值动态调整万维网应用集群中容器的数量,包括:

当所述下一时刻的平均负载大于预置的服务最高负载时,增加新的容器实例;当所述下一时刻的平均负载小于预置的服务最低负载时,减少容器实例。

一种调度装置,包括:

确定模块,用于确定万维网应用对服务器造成的平均负载;

预测模块,用于根据所述平均负载及指定算法预测下一时刻的平均负载;

调整模块,用于根据所述下一时刻的平均负载与预置的服务负载范围动态调整万维网应用集群中容器的数量。

进一步地,所述确定模块,确定万维网应用对服务器造成的平均负载包括:通过动态加权的方法确定不同种类的万维网应用对服务器造成的平均负载。

进一步地,所述指定算法包括:灰色预测算法。

进一步地,所述确定模块,根据所述下一时刻的平均负载与预置的服务负载范围动态调整万维网应用集群中容器的数量,包括:当所述下一时刻的平均负载大于预置的服务最高负载时,增加新的容器实例;当所述下一时刻的平均负载小于预置的服务最低负载时,减少容器实例。

一种调度装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:

确定万维网应用对服务器造成的平均负载;

根据所述平均负载及指定算法预测下一时刻的平均负载;

根据所述下一时刻的平均负载与预置的服务负载值动态调整万维网应用集群中容器的数量。

综上,本发明实施例适用于多样的web应用,可以提高云计算资源利用率,主要采用动态加权的方法应对多样的web应用,运用灰色预测的方法调整容器的数量,提高云计算资源利用率和web应用服务的可靠性。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。

图1为本发明实施例的一种调度方法的流程图;

图2为本发明实施例的一种调度装置的示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1为本发明实施例的一种调度方法的流程图,如图1所示,本实施例的调度方法包括:

步骤s101、确定万维网应用对服务器造成的平均负载;

本实施例中,可以通过动态加权法来确定万维网应用对服务器造成的平均负载。例如:

假设一个应用某一时刻包含ndocker容器(c1,c2,c3,…cn),资源维度为d[1,2,3,…d],已使用的资源为q[q1,q2,q3,…qd],分配给某一容器的资源总量为r[r1,r2,r3,…rd]。

该应用的资源利用率u[u1,u2,u3,…ud]为:

某一维度资源的权值m[m1,m2,m3,…md]为:

则某一时刻应用的负载为:

如有多个万维网应用对服务器造成的负载,则取平均负载。

运用动态加权法可以将不同种类的万维网应用所呈现出的多指标转化为单指标,例如,可以将cpu利用率、内存利用率、网络i/o等多个指标值转化为一个值。

本实施例中,所述不同种类的万维网应用包括以下一种或多种类型,但不限于此:

cpu密集型、内存密集型、i/o密集型等等。

步骤s102、根据所述平均负载及指定算法预测下一时刻的平均负载;

本实施例中,运用灰色预测算法预测web应用的负载,将预测值与设置的服务负载值进行比较,决定是否进行扩缩容的调度。本实施例的指定算法采用灰色预测算法,预测精度较高,预测误差较小。

假设应用的负载数据为x(0)=(x(0)(1),x(0)(2),x(0)(3),…x(0)(n),)

设时间序列x(0)为n个元素的数列:

x(0)=(x(0)(1),x(0)(2),x(0)(3),…x(0)(n),),x(0)的ago(累加生成序列)位为:

x(1)=(x(1)(1),x(1)(2),x(1)(3),…x(1)(n)(4)

均值数列:

z(1)(k)=0.5z(1)(k)+0.5z(1)(k-1),k=2,3,…n。(6)

根据灰色预测方法得出gm(1,1)灰色模型的灰微分方程模型为:

x(0)(k)+az(1)(k)=b,k=2,3,…n。(7)

其中,x(0)(k)称为灰导数,α称为发展系数,z(1)(k)称为白化背景值,b称为灰作用量。

相应的白化微分方程为:

gm(1,1)模型可表示为y=bu,记u=(a,b)t,由最小二乘法解得:

y=(x(0)(2),x(0)(3),…x(0)(n))t(10)

求解白化微分方程(8)得预测值:

其中:

精度检验:根据公式(14)计算原始数据和预测数据的相对残差:

如果|ε(k)|<0.2,则认为达到一般要求,如果|ε(k)|<0.1,则认为达到较高的要求。

步骤s103、根据所述下一时刻的平均负载与预置的服务负载值动态调整万维网应用集群中容器的数量。

本实施例中,当所述下一时刻的平均负载大于预置的服务最高负载时,增加新的容器实例,保证应用提供可靠的服务;当所述下一时刻的平均负载小于预置的服务最低负载时,减少容器实例的数量,节约能耗。

本实施例的方法将容器技术用于web应用动态管理,实时对应用数据进行分析,按照设定的算法策略对web应用进行动态调度,保证服务的可靠性,提高云计算资源利用率。

图2为本发明实施例的一种调度装置的示意图,如图2所示,本实施例的调度装置200包括:

确定模块201,用于确定万维网应用对服务器造成的平均负载;

预测模块202,用于根据所述平均负载及指定算法预测下一时刻的平均负载;

调整模块203,用于根据所述下一时刻的平均负载与预置的服务负载范围动态调整万维网应用集群中容器的数量。

本实施例的调度装置200将容器技术用于web应用动态管理,实时对应用数据进行分析,按照设定的算法策略对web应用进行动态调度,保证服务的可靠性,提高云计算资源利用率。

在一实施例中,所述确定模块201是通过动态加权的方法确定不同种类的万维网应用对服务器造成的平均负载的。

运用动态加权法可以将不同种类的万维网应用所呈现出的多指标转化为单指标,这样,本实施例的方法可以适用于多种的web应用类型。

在一实施例中,预测模块202运用灰色预测算法预测web应用的负载,将预测值与设置的服务负载值进行比较,决定是否进行扩缩容的调度。本实施例的指定算法采用灰色预测算法,预测精度较高,预测误差较小。

在一实施例中,所述调整模块203,根据所述下一时刻的平均负载与预置的服务负载值动态调整万维网应用集群中容器的数量包括:当所述下一时刻的平均负载大于预置的服务最高负载时,增加新的容器实例,保证应用提供可靠的服务;当所述下一时刻的平均负载小于预置的服务最低负载时,减少容器实例的数量,节约能耗。

本发明实施例还提供一种调度装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:

确定万维网应用对服务器造成的平均负载;

根据所述平均负载及指定算法预测下一时刻的平均负载;

根据所述下一时刻的平均负载与预置的服务负载值动态调整万维网应用集群中容器的数量。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

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