基于负载预测的容器云平台智能资源优化方法技术

技术编号:19489096 阅读:24 留言:0更新日期:2018-11-17 12:02
本发明专利技术公开了一种基于负载预测的容器云平台智能资源优化方法,属于容器云平台领域。该方法为:根据容器实例的历史负载,基于灰度模型,预测各容器实例下一个时间窗口的负载情况;根据每个物理节点上所有容器的负载预测值,判断节的负载是否过高或者过低;然后执行相应的调度算法,将过高节点上的某些容器迁移到别的节点上去,使该节点的负载在正常范围内;将负载过低节点上的所有容器实例迁移至其他节点,将该节点空置出来。本发明专利技术针对当前数据中心资源利用不均衡、资源调度滞后问题,引入了负载预测分析,提前对数据中心负载进行调度优化,避免出现节点负载过重带来的性能损耗及负载过低带来的资源利用率过低,提高平台资源利用效率。

【技术实现步骤摘要】
基于负载预测的容器云平台智能资源优化方法
本专利技术涉及一种基于负载预测的容器云平台智能资源优化方法,属于云计算领域,更具体说属于容器云平台智能调度范畴。
技术介绍
云计算技术迅速发展,基于云平台的应用也层出不穷。云平台通过虚拟化技术将计算机资源整合成资源池,以按需付费的方式实现了用户对计算资源的弹性需求。云计算发展至今,虚拟化技术一直是云平台中的关键技术,而容器技术则是近年来新兴的一种虚拟化技术。它的出现给传统虚拟化技术带来了挑战,为构建高效的云平台提供了新的思路。在Docker,LXC,Warden,OpenVZ等众多容器技术中,人们最为看好的是Docker容器技术。Docker容器技术自开源以来,就受到了广泛的关注和讨论。Docker容器技术是一种操作系统层虚拟化技术,与传统的虚拟机技术不同,它不需要运行客户机操作系统,容器以进程的形式运行在宿主机操作系统上,这也使得容器具有比传统虚拟机更轻便,灵活,快速部署等优点。由于众多新颖的特性以及项目本身的开放性,Docker迅速获得包括Google、Microsoft、VMware等业界行业领导者的青睐,并对其提供支持。现今各大云计算运营商正在大量的构建基于Docker容器技术的云平台。然而现在大规模的容器云平台普遍存在着资源利用率低,资源利用不均衡、资源调度滞后等问题。不同的容器需求不同维度的资源,当一个节点任意维度的资源耗尽时,如果有多维资源需求的容器被启动,那么该节点将不能满足创建容器的需求,也就不能运行此容器。在这种情况下,其他维度的剩余资源就被闲置了下来,导致资源利用率很低。此外,目前几乎所有云平台的资源调度方法都是基于监控的资源调度,集群通过实时监控各个节点和容器的负载情况,如果负载值大于某个阈值,就执行相应的调度算法,这种调度方法很容易出现资源调度滞后等问题,等到发现负载过重在进行调度时,一方面可能会导致服务质量下降,机器性能下降,严重会导致宕机。另一方面,可能就是某一个时间点负载过重,之后就正常了。如果这种情况还进行调度的话,将大大增加调度成本。
技术实现思路
(一)解决的技术问题本专利技术解决的技术问题是:如何提供一种资源优化方法,用于解决现在容器云平台资源调度存在的资源利用率低,资源利用不均衡、资源调度滞后等问题。(二)技术方案(三)有益效果本专利技术提供了一种基于负载预测的容器云平台智能资源优化方法。该方法基于灰度模型,根据容器实例的历史负载,预测各容器实例下一个时间段的负载情况;根据某个节点上所有容器实例未来负载的资源需求情况,判断该节点资源需求是否过高或者过低;如果未来资源需求高于节点负载上限的情况,对该节点上的部分容器实例进行迁移,防止服务质量下降,机器性能下降。如果未来资源需求低于节点负载下限,为避免出现节点负载过重带来的性能损耗,执行调度将该节点容器实例迁移至其他节点,将该节点空置出来,降低资源开销,提高资源利用率。附图说明图1为容器云平台智能资源优化的主体架构;图2为基于灰度模型的负载预测流程图;图3为基于时间窗口的负载预测示意图;图4为调度策略生成算法的流程图;图5为调度方法的流程图;图6为负载对比图;图7为资源利用率对比图。具体实施方式为了使本专利技术的目的,技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。本专利技术容器云平台智能资源优化的主要架构如图1所示,该方法包括以下步骤:(1)实时获取容器云平台每个容器实例的多维度负载数据,并生成每个维度对应的负载时间序列。具体包括:(1-1)在容器云平台的每一个容器实例上运行cAdvisor工具,实时获取容器节点的资源利用率数据,包括CPU、内存、磁盘、网络等多个维度,并发送给每个物理节点上的DataCollection模块。(1-2)DataCollection模块接收数据。带上物理节点编号,容器编号,以及维度名等信息形成一条JSON格式的负载数据。(1-3)将负载数据发送给调度策略生成节点的DataCollection模块。(1-4)调度策略生成节点的DataCollection模块接收来自各个物理节点的负载数据,解析出JSON数据的每个维度的负载值,根据物理节点编号,容器编号,以及维度名将负载值插入到相应的负载时间序列后边。(2)根据容器实例的历史负载数据,通过基于时序分析的负载预测技术,预测每个容器实例下一时间窗口的负载。如图2所示,具体包括:(2-1)对于容器实例的每个维度,从对应的历史负载时间序列获取最新的n*m个历史负载数据;划分成n个时间窗口,每个时间窗口中包含m个历史负载数据;n的取值一般是30,m为时间窗口大小,根据实际情况而定,一般和数据时间周期大小一样。(2-2)如图3所示,提取每个时间窗口中第i个历史负载数据,构成一个时间序列每个时间窗口中包含m个历史负载数据,所以形成m个时间序列为(2-3)为保证GM(1,1)模型方法的有效性,需要对数据做必要的检验处理。计算序列的级比。方法是:其中,表示第k个时间窗口中第i个历史负载数据。如果所有的级比都落在可容覆盖区间内,则数列可以建立GM(1,1)模型且可以进行灰色预测。(2-4)如果数据序列不满足GM(1,1)模型方法的要求,对数据做适当的变换处理,如平移变换,通过取不同的c使数据序列的级比都落在可容覆盖内。(2-5)对检验处理后的序列使用公式进行一次累加生成新的序列(2-6)建立GM(1,1)模型为其中α为发展灰度,μ为内生成控制灰度。(2-7)用回归分析求得α,μ的估计值。设利用最小二乘法求解得:其中(2-8)得到相应的白化模型为:(2-9)求解微分方程,即可得到预测模型为:(2-10)对预测模型值累减,得到预测值:(2-11)通过对m个时间序列进行预测,得到容器实例下一个时间窗口的m个时刻的负载预测值为(2-12)通过以上方法对CPU、内存、磁盘、网络等多个维度的负载进行预测,得到容器实例的每个维度在下一个时间窗口的m个时刻的负载预测值。(3)根据物理节点上各个容器实例在下一个时间窗口的负载预测值,计算各个物理节点下一个时间窗口的综合负载,根据综合负载为物理节点设置负载标志。(3-1)获取待分析的物理节点上所有的容器实例中的各个维度的下一个时间窗口的m个时刻的负载预测值(3-2)对待分析的物理节点上所有容器实例同一维度的对应时刻负载预测值进行求和,即为q维度的第i个时刻负载预测值,为物理节点上第p个容器实例中维度q的第i个时刻负载预测值,s表示该物理节点上容器实例的个数;cq表示该物理节点在不运行任何容器实例时维度q的负载值。获得物理节点相应维度下一个时间窗口的m个时刻的负载预测值(3-3)根据λq是q维度的权重,为物理节点q维度的第i个时刻负载预测值,获得待分析物理节点下一个时间窗口的m个时刻的综合负载值(3-4)根据为各个物理节点下一个时间窗口的m个时刻设置负载标志。负载值与负载状态的对应关系为:(4)如图4所示,执行容器云平台调度策略生成算法,生成调度策略。即决定迁移哪些容器实例,迁移到那个物理节点等。(4-1)对于下一个时间窗口的m个时刻存在color=red负载状态的物理节点,根据综合负载值Wload的变化趋势判断该物理节点在未来时间t(t一般取5min)内的负载变化本文档来自技高网
...

【技术保护点】
1.基于负载预测的容器云平台智能资源优化方法,其特征在于,包括如下步骤:(1)实时获取容器云平台每个容器实例的多维度负载数据,并生成每个维度对应的负载时间序列;(2)根据容器实例的历史负载数据,通过基于时序分析的负载预测技术,预测每个容器实例下一时间窗口的负载;(3)根据物理节点上各个容器实例在下一个时间窗口的负载预测值,计算各个物理节点下一个时间窗口的综合负载,根据综合负载为物理节点设置负载标志。(4)执行容器云平台调度策略生成算法,生成调度策略。(5)执行调度策略,对每一个需要迁移的容器实例,调用容器云平台的调度接口实现容器实例调度迁移,最终完成整个容器云平台的调度。

【技术特征摘要】
1.基于负载预测的容器云平台智能资源优化方法,其特征在于,包括如下步骤:(1)实时获取容器云平台每个容器实例的多维度负载数据,并生成每个维度对应的负载时间序列;(2)根据容器实例的历史负载数据,通过基于时序分析的负载预测技术,预测每个容器实例下一时间窗口的负载;(3)根据物理节点上各个容器实例在下一个时间窗口的负载预测值,计算各个物理节点下一个时间窗口的综合负载,根据综合负载为物理节点设置负载标志。(4)执行容器云平台调度策略生成算法,生成调度策略。(5)执行调度策略,对每一个需要迁移的容器实例,调用容器云平台的调度接口实现容器实例调度迁移,最终完成整个容器云平台的调度。2.根据权利要求1所述的基于负载预测的容器云平台智能资源优化方法,其特征在于,所述步骤(1)具体为:在容器云平台的每一个容器实例上运行cAdvisor工具,实时获取容器实例的负载数据,包括CPU、内存、磁盘、网络等多个维度,生成每个维度相应的负载时间序列。3.根据权利要求1所述的基于负载预测的容器云平台智能资源优化方法,其特征在于,所述步骤(2)具体包括:(21)对于每个维度,从对应的历史负载时间序列获取最新的n*m个历史负载数据;划分成n个时间窗口,每个时间窗口中包含m个历史负载数据;(22)提取每个时间窗口中第i个历史负载数据,构成一个时间序列每个时间窗口中包含m个历史负载数据,所以形成m个时间序列为(23)为保证GM(1,1)模型方法的有效性,需要对数据做必要的检验处理。计算序列的级比。方法是:其中,表示第k个时间窗口中第i个历史负载数据。如果所有的级比都落在可容覆盖区间内,则第i个时间序列可以建立GM(1,1)模型且可以进行灰色预测。否则,要对数据进行变换,使所有的级比都落在可容覆盖区间内。(24)对检验处理后的序列使用公式进行一次累加生成新的序列(25)建立GM(1,1)模型为其中α为发展灰度,μ为内生成控制灰度。(26)用回归分析求得α,μ的估计值,得到相应的白化模型为:(27)求解微分方程,即可得到预测模型为:(28)对预测模型值累减,得到预测值:(29)通过对m个时间序列进行预测,得到容器实例下一个时间窗口的m个时刻的负载预测值为(210)通过以上方法对CPU、内存、磁盘、网络等多个维度的负载进行预测,得到容器实例的每个维度在下一个时间窗口的m个时刻的负载预测值。4.根据权利要求3所述的基于负载预测的容器云平台智能资源优化方法,其特征在于,所述步骤23中数据的变换处理为平移变换,即通过取不同的c使数据的级比都落在可容覆盖内。5.根据权利要求1所述的基于负载预测的容器云平台智能资源优化方法,其特征在于,根据容器实例的负载预测值,计算物理节点的综合负载情况,根据综合负载值为其设置负载标志。所述步骤(3)具体包括:(31)获取待分析的物理节点上所有的容器实例中的各个维度的下一个时间窗口的m个时刻的负载预测值(32)对待分析的物理节点上所有容器实例同一维度的对应时刻负载预测值进行求和,即为q维度的第i个时刻负载预测值,为物理节点上第p个容器实例中维度q的第i个时刻负载预测值,s表示该物理节点上容器实例的个数;cq表示该物理...

【专利技术属性】
技术研发人员:才振功王羽中王翱宇苌程蔡亮
申请(专利权)人:杭州谐云科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1