CN107404409A - 面向突变负载的容器云弹性供给容器数量预测方法与系统 - Google Patents
面向突变负载的容器云弹性供给容器数量预测方法与系统 Download PDFInfo
- Publication number
- CN107404409A CN107404409A CN201710781072.8A CN201710781072A CN107404409A CN 107404409 A CN107404409 A CN 107404409A CN 201710781072 A CN201710781072 A CN 201710781072A CN 107404409 A CN107404409 A CN 107404409A
- Authority
- CN
- China
- Prior art keywords
- mrow
- load
- msub
- container
- prediction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Pure & Applied Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种面向突变负载的容器云弹性供给容器数量预测方法与系统。所述方法包括:监测容器系统的负载数据,根据所述负载数据采用移动平均法计算预测点的负载斜率,并根据负载斜率确定容器供给开始点的位置;在容器供给开始点的位置处,获得容器系统中n个服务的容器实时数据,针对主机i上n个服务对应的容器,获得容器的实际数量,将这组容器实际数量数据作为原始序列;对所述原始序列进行累加,得到新的生成序列;根据上述原始序列和生成序列计算容器序列预测值。本发明方法根据当前系统负载预测容器供给时间点以及容器供给数量,从而提前进行容器资源的预测,从而有效的应对突发负载,尽量减少资源调整对服务响应的影响。
Description
技术领域
本发明属于计算机技术领域,更具体地,涉及一种面向突变负载的容器云弹性供给容器数量预测方法与系统。
背景技术
随着云服务网络环境的日益复杂化,系统面临的请求负载存在着较大的突发性和不确定性。为了解决突发性负载场景下的云资源弹性控制问题,需要通过对云资源进行合理的调度和扩展,来满足用户对于系统资源的常规和突发性需求。已有的虚拟机集群管理策略需要有效应对这种突发场景下的服务响应速度需求,突发负载场景对应用载体性能要求高,容器技术比较好的适应了这种需求。以容器为代表的容器技术基于操作系统分时复用机制,将应用程序绑定到一套完整的沙箱运行环境中,系统资源消耗小、启动快,并可采用横向扩展策略应对突发的流量高峰。容器技术能够快速的针对系统瓶颈组件进行横向扩展,来有效的应对突发负载。为了尽量减少资源调整对服务响应的影响,需要提前进行容器资源的预测。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种面向突变负载的容器云弹性供给容器数量预测方法与系统,其目的在于根据当前系统负载预测容器供给时间点以及容器供给数量,从而提前进行容器资源的预测,从而有效的应对突发负载,尽量减少资源调整对服务响应的影响。
为实现上述目的,按照本发明的一个方面,提供了一种面向突变负载的容器云弹性供给容器数量预测方法,包括:
(1)监测容器系统的负载数据,根据所述负载数据采用移动平均法计算预测点的负载斜率,并根据负载斜率确定容器供给开始点的位置;
(2)在容器供给开始点的位置处,获得容器系统中n个服务的容器实时数据,针对主机i上n个服务对应的容器,获得容器的实际数量将这组容器实际数量数据作为原始序列X(0);
(3)对所述原始序列X(0)进行累加,得到新的生成序列其中为1到第k个容器实际数量的和;
(4)根据上述原始序列X(0)和生成序列X(1)计算容器序列预测值,
其中 e为自然常数。
本发明的一个实施例中,所述容器系统的负载数据定义为:L={L1,L2,…,Lt},Lk=<Throughput,Containers,Memory,CPU>,其中Throughput为吞吐量,Containers为容器数量,Memory为内存使用率,CPU为处理器使用率。
本发明的一个实施例中,所述步骤(1)中根据所述负载数据采用移动平均法计算预测点的负载斜率,并根据负载斜率确定容器供给开始点的位置,具体为:
(1.1)以最近系统负载实际值的一次移动平均值为起点,以二次移动平均值来计算预测曲线的截距和预测曲线的斜率,即:
式中,k′为趋势预测的期数,为预测曲线的截距,为预测曲线的斜率,LNi为预测时期的期数,代表LNi期的一次移动均值,代表第二期的二次移动均值;代表第二期的一次移动均值,代表LNi期的二次移动均值;
(1.2)根据上述和建立趋势移动平均法的预测模型,求取负载预测值:
其中为第LNi+k′期的预测负载;
(1.3)根据负载预测值计算负载曲线在LNi+k′期的斜率,若LNi+k′时期负载增量预测结果满足预设斜率条件时,将所述LNi作为容器供给开始点。
本发明的一个实施例中,根据负载预测值计算负载曲线在LNi+k′期的斜率,具体为:
计算资源预测点LNi+k′时期的负载增长斜率其中为资源预测点LNi+k′时期的预测负载,为资源预测点LNi时期的预测负载。
本发明的一个实施例中,在所述步骤(1)中还包括根据负载趋势变化的斜率大小对步幅大小step进行动态调整,具体为:
根据斜率值进行下次预测期数的步幅step大小的调整:依据函数关系来获得新的步幅取值stepnew,stepold为调整前的步幅取值。
按照本发明的另一方面,还提供了一种面向突变负载的容器云弹性供给容器数量预测系统,包括容器供给开始点计算模块、容器数量原始序列获得模块、容器生成序列计算模块以及容器数量预测计算模块,其中:
所述容器供给开始点计算模块,用于监测容器系统的负载数据,根据所述负载数据采用移动平均法计算预测点的负载斜率,并根据负载斜率确定容器供给开始点的位置;
所述容器数量原始序列获得模块,用于在容器供给开始点的位置处,获得容器系统中n个服务的容器实时数据,针对主机i上n个服务对应的容器,获得容器的实际数量将这组容器实际数量数据作为原始序列X(0);
所述容器生成序列计算模块,用于对所述原始序列X(0)进行累加,得到新的生成序列其中为1到第k个容器实际数量的和;
所述容器数量预测计算模块,用于根据上述原始序列X(0)和生成序列X(1)计算容器序列预测值,
其中 e为自然常数。
本发明的一个实施例中,所述容器供给开始点计算模块包括预测曲线参数计算子模块、负载预测值计算子模块以及容器供给开始点确定子模块,其中:
所述预测曲线参数计算子模块,用于以最近系统负载实际值的一次移动平均值为起点,以二次移动平均值来计算预测曲线的截距和预测曲线的斜率,即:
式中,k′为趋势预测的期数,为预测曲线的截距,为预测曲线的斜率,LNi为预测时期的期数,代表LNi期的一次移动均值,代表第二期的二次移动均值;代表第二期的一次移动均值,代表LNi期的二次移动均值;
所述负载预测值计算子模块,用于根据和建立趋势移动平均法的预测模型,求取负载预测值:
其中为第LNi+k′期的预测负载;
所述容器供给开始点确定子模块,用于根据负载预测值计算负载曲线在LNi+k′期的斜率,若LNi+k′时期负载增量预测结果满足预设斜率条件时,将所述LNi作为容器供给开始点。
本发明的一个实施例中,所述容器供给开始点确定子模块根据负载预测值计算负载曲线在LNi+k′期的斜率,具体为:
计算资源预测点LNi+′时期的负载增长斜率其中为资源预测点LNi+k′时期的预测负载,为资源预测点LNi时期的预测负载。
本发明的一个实施例中,所述容器供给开始点确定子模块还用于根据负载趋势变化的斜率大小对步幅大小step进行动态调整,具体为:
根据斜率值进行下次预测期数的步幅step大小的调整:依据函数关系来获得新的步幅取值stepnew,stepold为调整前的步幅取值。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有如下有益效果:在突发负载场景下相较于其他的预测方法,本技术方案能够预测容器数量需求的数值,具有较好的预测精度和较低的误差数值。在突发负载环境下,根据较少的历史数据信息能够有效的预测容器需求数值,从而持续的提高服务的质量和效率。
附图说明
图1是本发明实施例中容器供给时间预测模型的示意图;
图2是本发明实施例中一种面向突变负载的容器云弹性供给容器数量预测方法的流程示意图;
图3是本发明实施例中一种面向突变负载的容器云弹性供给容器数量预测系统的结构示意图;
图4是本发明实施例中容器供给开始点计算模块的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
在云环境负载的动态变化中,大量的请求使服务器端负载压力过大,从而造成服务延迟显著增加甚至服务器宕机的现象。在这些场景下,服务需要能够得到及时的响应。在容器云的高并发应用场景下,如电子商务应用中的秒杀、抢购和春运抢票等情况,时常面临着突发的海量请求陡然增加。大规模突发访问Flash-crowd发生时访问请求量巨大,发生时访问请求量往往达到正常情况下的数百甚至数万倍。实验数据表明:容器在该类突发负载应用场景下会随着请求并发量的持续增加,系统表现出流量停滞在400Mbps至900Mbps区间、并且响应时间增长3.85倍的问题。在大规模突发访问flash-crowd场景下,由于服务器负载过重导致了服务器缓冲区的大量消耗,并且计算资源无法及时的按需扩展来进行资源补充,所以请求需要等待较长时间的响应,造成了严重的SLA违约。
为了实现容器云的弹性供给,本发明设计了容器弹性伸缩框架:在docker的基础上加入了Elastic Controller弹性控制器,扩展实现了突发负载场景下容器云的弹性伸缩。Elastic Controller弹性控制器主要包括:MQueueSet消息队列集组件、Predictcontroller预测控制器组件、消息总线Message_bus组件组成。其中Predict controller预测控制器组件对负载数据进行预测得出容器的供给时间和容器数量的预测值,制定出相应的容器供给策略。通过Message_bus中的主题topic与任务job的映射关系,一次性的扩展目标服务的容器数量。模型介绍:由MQueueSet消息队列集组件实现请求的异步队列化缓存,Message_bus作为消息总线进行主题topic形式的发布,Elastic Controller弹性控制器组件实现了容器数量能够按照预测值进行供给。容器服务器Docker Server将接受的请求通过分发器Dispatcher进行消息分发,根据不同的事务类型形成对应的不同消息队列,组建形成MQueueSet消息队列集。在高并发环境下引擎(Engine)中的job将和消息总线中的主题topic形成映射,容器将实现融合弹性控制的能力,有效处理的实现容器数量的弹性控制。
相较于普通容器系统通过客户端请求进行容器的创建,而面临着突发负载场景下缺乏快速自动化的扩展功能。为了解决这个问题本发明引入了基于预测的弹性控制,由于大规模突发访问flash-crowd场景下对于实时性的高需求,首先通过Elastic Controller弹性控制器组件对消息实现分发操作,增大了消息的缓存能力同时也依据消息队列集MQueueSet建立起多个主题topic。定义为时期LNi的负载预测值,为时期LNi对应的容器数量需求预测值。其中,k代表预测容器的序号,LNi为趋势预测的期数,i为趋势期数的下标。然后通过预测控制器Predict controller预测控制器组件来进行大规模突发访问(flash-crowd)场景下弹性策略的控制操作,解决了突发负载情况下的弹性伸缩问题。本发明容器弹性伸缩框架的核心组件为:
(1)预测控制器组件(Predict controller):Predict controller组件根据检测到的负载数据,建立起容器供给时间预测模型和容器数量需求的预测模型,计算出容器供给策略,得到预测值进行弹性伸缩控制。
(2)弹性控制器组件(Elastic Controller):将预测值传回容器监控器中,Driver组件控制特定服务所属容器的生成和关闭,并在消息队列集MQueueSet中实时同步消息队列的长度和数量。然后根据前面消息队列分类的结果建立起多个消息队列,MQueueSet消息队列集组件将队列中的消息发布到服务映射的容器中,从而建立由主题topic到容器container的映射关系。通过MQueueSet消息队列集组件和ElasticController弹性控制器组件的执行实现容器云集群的弹性伸缩。与服务相映射的容器集具有基于资源需求的弹性伸缩特性。内部原理为容器监控器响应队列的动态伸缩,而后底层通过libcontainer来控制容器的伸缩。
在引入弹性控制器后,通过预测控制器Predict controller组件的弹性控制操作,实现容器资源的弹性供给。相较于原有的容器框架,本发明引入的预测控制器有效的解决了资源供给时间的问题,为后续的弹性控制提供依据。通过预先的容器拷贝操作提高了容器整体系统应对突发负载的能力,本发明具体阐述了容器供给时间预测方案。
容器供给模型是根据突发负载场景下的负载特征,定义的包含突发负载的预测点,容器供给开始点,和容器供给区间的模型。模型中的曲线表示突发负载的特征曲线,纵坐标为负载的吞吐量,横坐标为时间。通过容器供给模型对突发负载的特征进行分析,得出容器供给开始点和容器供给区间,为容器的弹性控制提供依据,如图1所示。其中,容器供给开始点(Container supply start point)、容器预测点(Container predict point)、容器供给结束点(Container supply end point),通过容器供给开始点和容器预测点的斜率计算出当前负载的变化趋势,根据斜率大小确定容器供给开始点的位置。时间滑块Timeslider代表预测的时期,step代表每一期的步幅大小,k’代表预测期数的大小。
为了能够有效的确定突发负载的开始时刻,本发明在预测过程中根据突发负载曲线的分段特征,采用“移动平均法+三次指数平滑法”的预测算法进行预测。由于在突发负载开始阶段负载波动较大,移动平均法对于该阶段的场景较为适用,故采用移动平均法计算预测点的负载斜率并预测供给点开始的选取位置。由于突发负载过程中时间序列数据的倾向线呈非线性,三次指数平滑法对于该场景有较好的预测性能,故用来预测后续时段的负载变化趋势。
如图2所示,本发明提供了一种面向突变负载的容器云弹性供给容器数量预测方法,包括:
S1、监测容器系统的负载数据,根据所述负载数据采用移动平均法计算预测点的负载斜率,并根据负载斜率确定容器供给开始点的位置;
S2、在容器供给开始点的位置处,获得容器系统中n个服务的容器实时数据,针对主机i上n个服务对应的容器,获得容器的实际数量将这组容器实际数量数据作为原始序列X(0);
S3、对所述原始序列X(0)进行累加,得到新的生成序列其中为1到第k个容器实际数量的和;
S4、根据上述原始序列X(0)和生成序列X(1)计算容器序列预测值,
下面结合具体实施例来说明本发明的预测方法:
利用移动平均法来确定突发负载初始短期的负载变化趋势。移动平均法适用于即期预测,能有效地消除预测中的随机波动,对突发负载有较好的预测。由于突发负载的增长趋势具有短期的持续性,可以将采集的数据集由远而近的按一定的期数进行平均,来实现系统负载短期趋势的预测。通过监测获取系统实时的负载情况。采用移动平均法来预测负载增量的变化趋势,计算后面第t时期(t=LNi)的负载变化的斜率,定义趋势期数参数LN={LN1,LN2,…,LNi}。移动平均法以最近实际值的一次移动平均值为起点,以二次移动平均值来计算趋势变化的斜率,建立请求负载增量预测模型,即:
式中,为预测直线的截距,为预测直线的斜率,代表一次移动均值。LNi为预测时期的期数。趋势移动平均法的预测模型为:
其中,k’为趋势预测的期数,为第LNi+k’期的预测值。通过趋势预测获取的负载曲线的斜率为依据,选取LNi+k’时期负载增量预测结果显著增大的时刻作为资源供给开始的点时刻。
为了确定负载变化的持续时间,需要继续预测下一时期的负载情况。根据负载斜率的大小来对步幅step大小的进行了动态调整的策略。资源预测点LNi+k’时期的负载为计算该点的负载增长斜率然后,根据斜率值进行下次预测期数的步幅step大小的调整,依据函数关系来获得新的step取值。
三次指数平滑法来预测后续时段的负载变化趋势,从而确定供给区间的范围。平滑系数α值的修正,采用可变α系数的指数平滑法。变指数平滑法的基本原理在于使平滑系数值随实际负载而变化,即随负载预测值与实际值的相对误差的绝对值的大小而变化。当较小时,说明预测值较好地反映了实际负载的变动情况,在预测量下一期的取值时,的加权系数应增大,即平滑系数α值应减小。反之,当较大时,预测量下一期的取值时,α应增大。这样,α的取值就随着的变化而自动地得到了调整,即得到修正后的预测值通过多次采样预测来不断更新容器预测点(Container predict point)的位置,最终确定容器供给结束点(Container supply end point)的位置。对于容器k,定义为负载预测值,对应的容器数量需求值。
依据趋势预测结果来确定容器供给点的区间。参数为监测负载曲线的斜率。当容器预测点(Container predict point)的负载值出现多次时说明负载出现减弱。根据负载和当前容器数量情况进行扩展与否的判断,通过下一节的灰色预测结果判断当前资源是否够用,和预测结果制定相应的资源调整策略。根据策略确定出资源供给的结束点,这两点作为负载斜率预测区间来进行资源的供给LNi+k’。因此,区间阈值的设定[k’,LNi+k’],k’为设定的资源供给开始点期数,LNi+k’为选取的趋势预测增量大的期数。
在得到容器供给的时间后需要得到容器需求的数量,故需要对容器的数量进行预测。突发负载场景下的容器数量预测具有历史数据贫乏,实时性要求高的特征,故产生了对于历史数据不充足条件下进行相对准确预测的技术需求。在这种复杂的突发环境下,需要选取一种合适的预测方法来对容器的数量需求进行预测,典型的预测算法有神经网络算法、深度学习算法、回归分析算法等。为了得到相对准确的预测数据,以上这些机器学习算法需要较多的历史数据进行分析,例如:回归分析算法是在掌握大量观察数据的基础上,利用数理统计进行预测的算法,但在容器云环境下,容器集群状态的监测数据无法做到完全足够的数据量,且监测结果是部分的、不全面的,无法全面体现系统的特征。神经网络算法适用于比较复杂的网络化应用场景,并不适用于结构相对简单的容器数量预测问题。深度学习通常应用于数据量特别大量的情况下,通过组合特征形成问题的抽象,是建立于大数据之上的一种预测算法,故并不适用于本发明的应用场景。由于灰色预测在历史数据相对不足的情况下可以提供相对准确的预测结果,所以适用于本发明的应用场景。
由于灰度预测具有依据不全面历史数据信息,便可对未来需求进行较为可靠预测的特征。结合突发负载情况下,容器数量历史数据不足的需求,适宜采用灰度预测模型对未来LNi个时期(即资源开始供给点到资源预测点区间)容器的需求量进行预测,计算时期LNi对应的容器需求数量值通过对容器的数量数据进行监控,组成历史数据序列(0),而后经累加生成序列(1)。然后建立起容器需求的数量微分方程模型GM(1,1),以此来对容器集群弹性伸缩大小进行预测。依据预测结果计算出中的对应取值。下面对容器数量进行灰度预测模型的建模:在主机i上n个服务对应的容器中,定义容器IaaS层资源的实际使用容器数量数据为我们将这组容器实际使用数据作为GM(1,1)模型的一组原始序列X(0)。通过监测组件对实时数据的获取,然后对这组容器使用量数据X(0)进行累加,得到新的生成序列其中为1到k个容器使用数值的和。为了求解容器k的发展灰数和内生控制灰数,我们利用容器实际使用量的原始数据建立近似的微分方程,带入均值生成算子,对容器数量k取近似微分方程。
分别将服务框架下的n个服务,将其实际容器使用数量按式(3.3)进行累加,得到服务集群所属容器分配的微分方程。求解得出微分方程的解集:
定义待评估参数则化简得:为了得到预测下一次为分配容器数量值的模型,在新的生成数据的基础上,用线性动态模型对生成的容器数量值拟合逼近,求解参数a,b。在本文的容器预测场景中,参数a为容器需求数量的发展灰数,参数b为容器需求数量的内生控制灰数。B为容器的数据阵。
Z为由微分方程(3.5)化简得到容器数量的数据列,
故由最小乘积得到:
通过分离变量法求解:
对序列作累减生成,得到最后的容器分配预测模型,由此获取容器的原始数据序列的预测值
依据得到的预测模型,系统动态调整消息队列的长度阈值和服务所属队列集元素的个数。在后面的预测过程中,通过获取服务对应队列的历史记录,并结合前面的消息队列化处理结果,为服务集合建立起基于灰色预测的容器伸缩幅度控制。根据上述预测模型获得的容器分配预测结果,容器集群据此快速启动新容器、关闭暂时不需要的容器。在本文的容器模型中,容器需求预测模块为Elastic controller弹性控制器控制提供直接的依据。通过多次计算计算得到多组的容器供给值序列,为了在保证Qos的同时适度的考虑成本因素,采用多目标算法对几组值进行分析,根据权值向量搜索Pareto最优面。即:Supplyk=minF(x)=[f1(x),f2(x),...,fM(x)]T,x∈RD。其中,x=[x1,x2,...,xD]T,D为决策变量的个数,目标函数表示为f1,f2,...,fM,M为目标的个数。根据消息对象和用户的偏好引入加权来动态的调整M个目标的侧重程度,w1、w2、w3。。。wM分别表示资源消耗量、响应时间优先级等目标函数在Supply计算中的权重,最后得出最优的容器供给值序列。
进一步地,如图3所示,本发明还提供了一种面向突变负载的容器云弹性供给容器数量预测系统,包括容器供给开始点计算模块1、容器数量原始序列获得模块2、容器生成序列计算模块3以及容器数量预测计算模块4,其中:
所述容器供给开始点计算模块1,用于监测容器系统的负载数据,根据所述负载数据采用移动平均法计算预测点的负载斜率,并根据负载斜率确定容器供给开始点的位置;
具体地,如图4所示,所述容器供给开始点计算模块1包括预测曲线参数计算子模块11、负载预测值计算子模块12以及容器供给开始点确定子模块13,其中:
所述预测曲线参数计算子模块11,用于以最近系统负载实际值的一次移动平均值为起点,以二次移动平均值来计算预测曲线的截距和预测曲线的斜率,即:
式中,k′为趋势预测的期数,为预测曲线的截距,为预测曲线的斜率,LNi为预测时期的期数,代表LNi期的一次移动均值,代表第二期的二次移动均值;代表第二期的一次移动均值,代表LNi期的二次移动均值;
所述负载预测值计算子模块12,用于根据和建立趋势移动平均法的预测模型,求取负载预测值:
其中为第LNi+k′期的预测负载;
所述容器供给开始点确定子模块13,用于根据负载预测值计算负载曲线在LNi+k′期的斜率,若LNi+k′时期负载增量预测结果满足预设斜率条件时,将所述LNi作为容器供给开始点;
具体地,所述容器供给开始点确定子模块13根据负载预测值计算负载曲线在LNi+k′期的斜率,具体为:
计算资源预测点LNi+k′时期的负载增长斜率其中为资源预测点LNi+k′时期的预测负载,为资源预测点LNi时期的预测负载;
进一步地,所述容器供给开始点确定子模块13还用于根据负载趋势变化的斜率大小对步幅大小step进行动态调整,具体为:
根据斜率值进行下次预测期数的步幅step大小的调整:依据函数关系来获得新的步幅取值stepnew,stepold为调整前的步幅取值;
所述容器数量原始序列获得模块2,用于在容器供给开始点的位置处,获得容器系统中n个服务的容器实时数据,针对主机i上n个服务对应的容器,获得容器的实际数量将这组容器实际数量数据作为原始序列X(0);
所述容器生成序列计算模块3,用于对所述原始序列X(0)进行累加,得到新的生成序列其中为1到第k个容器实际数量的和;
所述容器数量预测计算模块4,用于根据上述原始序列X(0)和生成序列X(1)计算容器序列预测值,
其中 e为自然常数。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种面向突变负载的容器云弹性供给容器数量预测方法,其特征在于,包括如下步骤:
(1)监测容器系统的负载数据,根据所述负载数据采用移动平均法计算预测点的负载斜率,并根据负载斜率确定容器供给开始点的位置;
(2)在容器供给开始点的位置处,获得容器系统中n个服务的容器实时数据,针对主机i上n个服务对应的容器,获得容器的实际数量将这组容器实际数量数据作为原始序列X(0);
(3)对所述原始序列X(0)进行累加,得到新的生成序列其中为1到第k个容器实际数量的和;
(4)根据上述原始序列X(0)和生成序列X(1)计算容器序列预测值,
其中 e为自然常数。
2.如权利要求1所述的面向突变负载的容器云弹性供给容器数量预测方法,其特征在于,所述步骤(1)中根据所述负载数据采用移动平均法计算预测点的负载斜率,并根据负载斜率确定容器供给开始点的位置,具体为:
(1.1)以最近系统负载实际值的一次移动平均值为起点,以二次移动平均值来计算预测曲线的截距和预测曲线的斜率,即:
<mrow>
<msub>
<mi>a</mi>
<mrow>
<msub>
<mi>LN</mi>
<mi>i</mi>
</msub>
</mrow>
</msub>
<mo>=</mo>
<mn>2</mn>
<msubsup>
<mi>m</mi>
<mrow>
<msub>
<mi>LN</mi>
<mi>i</mi>
</msub>
</mrow>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</msubsup>
<mo>-</mo>
<msubsup>
<mi>m</mi>
<mn>2</mn>
<mrow>
<mo>(</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
</msubsup>
<mo>,</mo>
<msub>
<mi>b</mi>
<mrow>
<msub>
<mi>LN</mi>
<mi>i</mi>
</msub>
</mrow>
</msub>
<mo>=</mo>
<mfrac>
<mn>2</mn>
<mrow>
<msup>
<mi>k</mi>
<mo>&prime;</mo>
</msup>
<mo>-</mo>
<mn>1</mn>
</mrow>
</mfrac>
<mrow>
<mo>(</mo>
<msubsup>
<mi>m</mi>
<mn>2</mn>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</msubsup>
<mo>-</mo>
<msubsup>
<mi>m</mi>
<mrow>
<msub>
<mi>LN</mi>
<mi>i</mi>
</msub>
</mrow>
<mrow>
<mo>(</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
</msubsup>
<mo>)</mo>
</mrow>
</mrow>
式中,k′为趋势预测的期数,为预测曲线的截距,为预测曲线的斜率,LNi为预测时期的期数,代表LNi期的一次移动均值,代表第二期的二次移动均值;代表第二期的一次移动均值,代表LNi期的二次移动均值;
(1.2)根据上述和建立趋势移动平均法的预测模型,求取负载预测值:
<mrow>
<msub>
<mover>
<mi>Y</mi>
<mo>^</mo>
</mover>
<mrow>
<msub>
<mi>LN</mi>
<mi>i</mi>
</msub>
<mo>+</mo>
<msup>
<mi>k</mi>
<mo>&prime;</mo>
</msup>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mi>a</mi>
<mrow>
<msub>
<mi>LN</mi>
<mi>i</mi>
</msub>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>b</mi>
<mrow>
<msub>
<mi>LN</mi>
<mi>i</mi>
</msub>
</mrow>
</msub>
<mo>&times;</mo>
<msup>
<mi>k</mi>
<mo>&prime;</mo>
</msup>
</mrow>
其中为第LNi+k′期的预测负载;
(1.3)根据负载预测值计算负载曲线在LNi+k′期的斜率,若LNi+k′时期负载增量预测结果满足预设斜率条件时,将所述LNi作为容器供给开始点。
3.如权利要求2所述的面向突变负载的容器云弹性供给容器数量预测方法,其特征在于,根据负载预测值计算负载曲线在LNi+k′期的斜率,具体为:
计算资源预测点LNi+k′时期的负载增长斜率其中为资源预测点LNi+k′时期的预测负载,为资源预测点LNi时期的预测负载。
4.如权利要求3所述的面向突变负载的容器云弹性供给容器数量预测方法,其特征在于,在所述步骤(1)中还包括根据负载趋势变化的斜率大小对步幅大小step进行动态调整,具体为:
根据斜率值进行下次预测期数的步幅step大小的调整:依据函数关系来获得新的步幅取值stepnew,stepold为调整前的步幅取值。
5.一种面向突变负载的容器云弹性供给容器数量预测系统,其特征在于,包括容器供给开始点计算模块、容器数量原始序列获得模块、容器生成序列计算模块以及容器数量预测计算模块,其中:
所述容器供给开始点计算模块,用于监测容器系统的负载数据,根据所述负载数据采用移动平均法计算预测点的负载斜率,并根据负载斜率确定容器供给开始点的位置;
所述容器数量原始序列获得模块,用于在容器供给开始点的位置处,获得容器系统中n个服务的容器实时数据,针对主机i上n个服务对应的容器,获得容器的实际数量将这组容器实际数量数据作为原始序列X(0);
所述容器生成序列计算模块,用于对所述原始序列X(0)进行累加,得到新的生成序列其中为1到第k个容器实际数量的和;
所述容器数量预测计算模块,用于根据上述原始序列X(0)和生成序列X(1)计算容器序列预测值,
其中 e为自然常数。
6.如权利要求5所述的面向突变负载的容器云弹性供给容器数量预测系统,其特征在于,所述容器供给开始点计算模块包括预测曲线参数计算子模块、负载预测值计算子模块以及容器供给开始点确定子模块,其中:
所述预测曲线参数计算子模块,用于以最近系统负载实际值的一次移动平均值为起点,以二次移动平均值来计算预测曲线的截距和预测曲线的斜率,即:
<mrow>
<msub>
<mi>a</mi>
<mrow>
<msub>
<mi>LN</mi>
<mi>i</mi>
</msub>
</mrow>
</msub>
<mo>=</mo>
<mn>2</mn>
<msubsup>
<mi>m</mi>
<mrow>
<msub>
<mi>LN</mi>
<mi>i</mi>
</msub>
</mrow>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</msubsup>
<mo>-</mo>
<msubsup>
<mi>m</mi>
<mn>2</mn>
<mrow>
<mo>(</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
</msubsup>
<mo>,</mo>
<msub>
<mi>b</mi>
<mrow>
<msub>
<mi>LN</mi>
<mi>i</mi>
</msub>
</mrow>
</msub>
<mo>=</mo>
<mfrac>
<mn>2</mn>
<mrow>
<msup>
<mi>k</mi>
<mo>&prime;</mo>
</msup>
<mo>-</mo>
<mn>1</mn>
</mrow>
</mfrac>
<mrow>
<mo>(</mo>
<msubsup>
<mi>m</mi>
<mn>2</mn>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</msubsup>
<mo>-</mo>
<msubsup>
<mi>m</mi>
<mrow>
<msub>
<mi>LN</mi>
<mi>i</mi>
</msub>
</mrow>
<mrow>
<mo>(</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
</msubsup>
<mo>)</mo>
</mrow>
</mrow>
式中,k′为趋势预测的期数,为预测曲线的截距,为预测曲线的斜率,LNi为预测时期的期数,代表LNi期的一次移动均值,代表第二期的二次移动均值;代表第二期的一次移动均值,代表LNi期的二次移动均值;
所述负载预测值计算子模块,用于根据和建立趋势移动平均法的预测模型,求取负载预测值:
<mrow>
<msub>
<mover>
<mi>Y</mi>
<mo>^</mo>
</mover>
<mrow>
<msub>
<mi>LN</mi>
<mi>i</mi>
</msub>
<mo>+</mo>
<msup>
<mi>k</mi>
<mo>&prime;</mo>
</msup>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mi>a</mi>
<mrow>
<msub>
<mi>LN</mi>
<mi>i</mi>
</msub>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>b</mi>
<mrow>
<msub>
<mi>LN</mi>
<mi>i</mi>
</msub>
</mrow>
</msub>
<mo>&times;</mo>
<msup>
<mi>k</mi>
<mo>&prime;</mo>
</msup>
</mrow>
其中为第LNi+k′期的预测负载;
所述容器供给开始点确定子模块,用于根据负载预测值计算负载曲线在LNi+k′期的斜率,若LNi+k′时期负载增量预测结果满足预设斜率条件时,将所述LNi作为容器供给开始点。
7.如权利要求6所述的面向突变负载的容器云弹性供给容器数量预测系统,其特征在于,所述容器供给开始点确定子模块根据负载预测值计算负载曲线在LNi+k′期的斜率,具体为:
计算资源预测点LNi+k′时期的负载增长斜率其中为资源预测点LNi+k′时期的预测负载,为资源预测点LNi时期的预测负载。
8.如权利要求7所述的面向突变负载的容器云弹性供给容器数量预测系统,其特征在于,所述容器供给开始点确定子模块还用于根据负载趋势变化的斜率大小对步幅大小step进行动态调整,具体为:
根据斜率值进行下次预测期数的步幅step大小的调整:依据函数关系来获得新的步幅取值stepnew,stepold为调整前的步幅取值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710781072.8A CN107404409B (zh) | 2017-09-01 | 2017-09-01 | 面向突变负载的容器云弹性供给容器数量预测方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710781072.8A CN107404409B (zh) | 2017-09-01 | 2017-09-01 | 面向突变负载的容器云弹性供给容器数量预测方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107404409A true CN107404409A (zh) | 2017-11-28 |
CN107404409B CN107404409B (zh) | 2020-01-31 |
Family
ID=60397939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710781072.8A Active CN107404409B (zh) | 2017-09-01 | 2017-09-01 | 面向突变负载的容器云弹性供给容器数量预测方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107404409B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108322541A (zh) * | 2018-02-09 | 2018-07-24 | 杭州顺网科技股份有限公司 | 一种自适应的分布式体系架构 |
CN108897839A (zh) * | 2018-06-26 | 2018-11-27 | 中国联合网络通信集团有限公司 | 数据接收方法和系统 |
CN108965485A (zh) * | 2018-09-30 | 2018-12-07 | 北京金山云网络技术有限公司 | 容器资源的管理方法、装置和云平台 |
CN110941495A (zh) * | 2019-12-10 | 2020-03-31 | 广西大学 | 一种基于图着色的容器协同编排方法 |
CN112764994A (zh) * | 2021-01-26 | 2021-05-07 | 广西大学 | 一种容器云存储系统的灰色故障检测方法 |
CN113010260A (zh) * | 2020-09-29 | 2021-06-22 | 证通股份有限公司 | 容器数量弹性伸缩方法以及容器数量弹性伸缩方法系统 |
CN113392378A (zh) * | 2021-07-16 | 2021-09-14 | 中南大学 | 一种基于时间序列的围岩变形多点突变识别方法及系统 |
CN113762647A (zh) * | 2021-10-19 | 2021-12-07 | 咪咕文化科技有限公司 | 一种数据的预测方法、装置及设备 |
CN114493732A (zh) * | 2020-10-27 | 2022-05-13 | 华中科技大学 | 生鲜电商可复用容器租赁数量预测模型建立方法及其应用 |
CN115202889A (zh) * | 2022-09-13 | 2022-10-18 | 阿里巴巴(中国)有限公司 | 计算资源调整方法及计算系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100058342A1 (en) * | 2007-01-11 | 2010-03-04 | Fumio Machida | Provisioning system, method, and program |
US20120198447A1 (en) * | 2011-01-31 | 2012-08-02 | International Business Machines Corporation | Determining an allocation configuration for allocating virtual machines to physical machines |
CN103220337A (zh) * | 2013-03-22 | 2013-07-24 | 合肥工业大学 | 基于自适应弹性控制的云计算资源优化配置方法 |
CN103685542A (zh) * | 2013-12-23 | 2014-03-26 | 重庆广播电视大学 | 云虚拟机迁移方法、装置和系统 |
CN106933650A (zh) * | 2017-03-03 | 2017-07-07 | 北方工业大学 | 云应用系统的负载管理方法及系统 |
CN106933649A (zh) * | 2016-12-21 | 2017-07-07 | 华南师范大学 | 基于移动平均和神经网络的虚拟机负载预测方法及系统 |
CN106961351A (zh) * | 2017-03-03 | 2017-07-18 | 南京邮电大学 | 基于Docker容器集群的智能弹性伸缩方法 |
-
2017
- 2017-09-01 CN CN201710781072.8A patent/CN107404409B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100058342A1 (en) * | 2007-01-11 | 2010-03-04 | Fumio Machida | Provisioning system, method, and program |
US20120198447A1 (en) * | 2011-01-31 | 2012-08-02 | International Business Machines Corporation | Determining an allocation configuration for allocating virtual machines to physical machines |
CN103220337A (zh) * | 2013-03-22 | 2013-07-24 | 合肥工业大学 | 基于自适应弹性控制的云计算资源优化配置方法 |
CN103685542A (zh) * | 2013-12-23 | 2014-03-26 | 重庆广播电视大学 | 云虚拟机迁移方法、装置和系统 |
CN106933649A (zh) * | 2016-12-21 | 2017-07-07 | 华南师范大学 | 基于移动平均和神经网络的虚拟机负载预测方法及系统 |
CN106933650A (zh) * | 2017-03-03 | 2017-07-07 | 北方工业大学 | 云应用系统的负载管理方法及系统 |
CN106961351A (zh) * | 2017-03-03 | 2017-07-18 | 南京邮电大学 | 基于Docker容器集群的智能弹性伸缩方法 |
Non-Patent Citations (1)
Title |
---|
吴和生: "TeraPELB:云计算中基于预测的弹性负载均衡算法", 《系统仿真学报》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108322541B (zh) * | 2018-02-09 | 2021-04-06 | 杭州顺网科技股份有限公司 | 一种自适应的分布式体系架构 |
CN108322541A (zh) * | 2018-02-09 | 2018-07-24 | 杭州顺网科技股份有限公司 | 一种自适应的分布式体系架构 |
CN108897839A (zh) * | 2018-06-26 | 2018-11-27 | 中国联合网络通信集团有限公司 | 数据接收方法和系统 |
CN108897839B (zh) * | 2018-06-26 | 2020-10-27 | 中国联合网络通信集团有限公司 | 数据接收方法和系统 |
CN108965485B (zh) * | 2018-09-30 | 2021-10-15 | 北京金山云网络技术有限公司 | 容器资源的管理方法、装置和云平台 |
CN108965485A (zh) * | 2018-09-30 | 2018-12-07 | 北京金山云网络技术有限公司 | 容器资源的管理方法、装置和云平台 |
CN110941495A (zh) * | 2019-12-10 | 2020-03-31 | 广西大学 | 一种基于图着色的容器协同编排方法 |
CN110941495B (zh) * | 2019-12-10 | 2022-04-05 | 广西大学 | 一种基于图着色的容器协同编排方法 |
CN113010260A (zh) * | 2020-09-29 | 2021-06-22 | 证通股份有限公司 | 容器数量弹性伸缩方法以及容器数量弹性伸缩方法系统 |
CN114493732A (zh) * | 2020-10-27 | 2022-05-13 | 华中科技大学 | 生鲜电商可复用容器租赁数量预测模型建立方法及其应用 |
CN114493732B (zh) * | 2020-10-27 | 2024-05-28 | 华中科技大学 | 生鲜电商可复用容器租赁数量预测模型建立方法及其应用 |
CN112764994A (zh) * | 2021-01-26 | 2021-05-07 | 广西大学 | 一种容器云存储系统的灰色故障检测方法 |
CN113392378A (zh) * | 2021-07-16 | 2021-09-14 | 中南大学 | 一种基于时间序列的围岩变形多点突变识别方法及系统 |
CN113392378B (zh) * | 2021-07-16 | 2024-04-09 | 中南大学 | 一种基于时间序列的围岩变形多点突变识别方法及系统 |
CN113762647A (zh) * | 2021-10-19 | 2021-12-07 | 咪咕文化科技有限公司 | 一种数据的预测方法、装置及设备 |
CN115202889A (zh) * | 2022-09-13 | 2022-10-18 | 阿里巴巴(中国)有限公司 | 计算资源调整方法及计算系统 |
CN115202889B (zh) * | 2022-09-13 | 2022-12-09 | 阿里巴巴(中国)有限公司 | 计算资源调整方法及计算系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107404409B (zh) | 2020-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107404409A (zh) | 面向突变负载的容器云弹性供给容器数量预测方法与系统 | |
CN106020933B (zh) | 基于超轻量虚拟机的云计算动态资源调度系统及方法 | |
CN110231976B (zh) | 一种基于负载预测的边缘计算平台容器部署方法及系统 | |
CN110825520B (zh) | 一种实现资源高效利用的集群极速弹性伸缩方法 | |
CN111611062B (zh) | 云边协同分层计算方法及云边协同分层计算系统 | |
Zhang et al. | A-SARSA: A predictive container auto-scaling algorithm based on reinforcement learning | |
CN107992353B (zh) | 一种基于最小迁移量的容器动态迁移方法及系统 | |
CN104283946A (zh) | 一种单物理机下多虚拟机的资源自适应调整系统及方法 | |
CN113037877B (zh) | 云边端架构下时空数据及资源调度的优化方法 | |
CN113806018B (zh) | 基于神经网络和分布式缓存的Kubernetes集群资源混合调度方法 | |
CN108881432A (zh) | 基于ga算法的云计算集群负载调度方法 | |
CN113112088A (zh) | 一种边云协同数字孪生智能排产应用运行位置适配方法 | |
CN115714820A (zh) | 一种分布式的微服务调度优化方法 | |
CN110990160A (zh) | 一种基于负荷预测的静态安全分析容器云弹性伸缩方法 | |
CN117608806A (zh) | 智能电网云边协同机制下计算任务雾-雾-云优化方法 | |
Lin et al. | Deep reinforcement learning for multi-resource cloud job scheduling | |
Faraji-Mehmandar et al. | A self-learning approach for proactive resource and service provisioning in fog environment | |
Wang et al. | A study of situation awareness-based resource management scheme in cloud environment | |
Yan et al. | Service caching for meteorological emergency decision-making in cloud-edge computing | |
Srichandan et al. | A Secure and Distributed Placement for Quality of Service-Aware IoT Requests in Fog-Cloud of Things: A Novel Joint Algorithmic Approach | |
CN114978913B (zh) | 一种基于切链的服务功能链跨域部署方法及系统 | |
CN107689891A (zh) | 大规模突访情境下容器云弹性供给时间点预测方法与系统 | |
Cui et al. | Resource-Efficient DNN Training and Inference for Heterogeneous Edge Intelligence in 6G | |
Kusic et al. | Approximation modeling for the online performance management of distributed computing systems | |
Qian et al. | A Reinforcement Learning-based Orchestrator for Edge Computing Resource Allocation in Mobile Augmented Reality Systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |