一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于应用运行负载数据预测的容器资源弹性预伸缩方法与流程

2021-12-01 01:22:00 来源:中国专利 TAG:


1.本发明涉及一种容器资源弹性预伸缩方法,尤其涉及一种基于应用运行负载数据预测的容器资源弹性预伸缩方法。


背景技术:

2.在计算机领域,容器作为业内使用最为广泛的微服务管理技术,通过将微服务及其运行环境进行统一打包处理,可以很好的降低系统的运维成本和资源成本,但这同时也给容器平台的管理带来了新的挑战。由于当前容器伸缩仅依靠容器管理平台依据当前负载状况进行手动响应式调整,其反应速度和伸缩精度均不能很好地满足复杂微服务集群架构下的服务运行要求和资源管理要求,主要表现在以下两个方面:一、完全响应式弹性伸缩带来的滞后性。
3.现有的响应式容器弹性伸缩策略在发生负载变化时无法即时生效,会对业务产生影响。一方面,容器伸缩需要人工操作,通常是在接到负载抖动的告警之后才能做出判断和反应,反应时间内的请求会由于反应延时而丢失;另一方面,容器通过资源调整进行横向和纵向的伸缩需要消耗系统资源,花费一定的的时间,在负载变化到伸缩过程完成前的这段时间该服务提供的业务连续性很难保障。
4.二、人工运维与水平复制的伸缩精确度无法保障。
5.容器伸缩度量调整的依据是当前抖动负载的峰值,通常运维人员会以预先设定的服务资源为单位进行调整,该调整过程会有一定的主观因素。另外,当前的容器伸缩均通过以预设资源标注为单位的水平复制来实现,这导致资源量配必须为预设单元的公倍数,资源再伸缩过程需要经过间隔保护期,总体上容器伸缩精确度难以保障。


技术实现要素:

6.本发明的目的就在于为了解决上述问题而提供一种能够依据容器负载预期值自动提前进行容器弹性精确调整的基于应用运行负载数据预测的容器资源弹性预伸缩方法。
7.本发明通过以下技术方案来实现上述目的:一种基于应用运行负载数据预测的容器资源弹性预伸缩方法,包括以下步骤:步骤1、采用高性能小样本综合时间序列预测方法对当前容器负载数据进行预测计算;步骤2、将步骤1得到的预测结果作为容器弹性伸缩的预期输入,计算出容器扩展目标;步骤3、若容器扩展目标在当前已就绪资源内,则不做弹性伸缩,结束;若容器扩展目标高于当前已就绪资源,则转至步骤4;步骤4、容器弹性伸缩至目标值;步骤5、接受实际的负载请求量,判断当前资源是否满足使用预期目标;步骤6、若满足目标,则转至步骤8;若不满足目标,则转至步骤7;
步骤7、将预测误差带来的容器资源误差覆盖的请求转入等待队列,并转至步骤4;步骤8、消费请求队列,结束。
8.作为优选,所述步骤1中的高性能小样本综合时间序列预测方法包括以下步骤:步骤1.1、输入当前容器负载数据;步骤1.2、将数据进行降噪处理;步骤1.3、将降噪后的数据作为arma模型的输入变量进行初步计算;arma(autoregressive moving average)模型即自回归滑动平均模型,是研究时间序列的重要方法,由自回归模型(简称ar模型)与移动平均模型(简称ma模型)为基础“混合”构成,是现有技术;步骤1.4、训练完成后记录标准结果,然后将残差数据作为svm模型的输入变量进行进一步计算;svm(support vector machine)模型是一种支持向量机模型,是按监督学习(supervised learning)方式对数据进行二元分类的广义线性分类器(generalized linear classifier),其决策边界是对学习样本求解的最大边距超平面,svm被提出于1964年,在二十世纪90年代后得到快速发展并衍生出一系列改进和扩展算法,在人像识别、文本分类等模式识别(pattern recognition)问题中有得到应用,是现有技术;步骤1.5、将步骤1.3的计算结果和步骤1.4的计算结果相结合形成组合预测结果。
9.作为优选,所述步骤1.3包括以下步骤:步骤1.3.1、画时间序列图:在确定arma模型之前,首先对数据进行预处理,并绘制时间序列图以观察数据中是否存在季节性趋势;步骤1.3.2、平稳性检测:从自相关图、adf检测、kpss检测三个方面对时间序列的平稳性进行检测;adf检测和kpss检测都是单位根检测的具体方式,用于检测序列中是否存在单位根,因为存在单位根就是非平稳时间序列了,单位根就是指单位根过程,可以证明,序列中存在单位根过程就不平稳,会使回归分析中存在伪回归,是现有技术;步骤1.3.3、白噪声检测:采取lb统计量的方法进行白噪声检测;lb统计量用于检验时间序列是否为白噪声序列,一般如果统计量的p值小于0.05时,则可以拒绝原假设,认为该序列为非白噪声序列,跟q统计量差不多,是现有技术;步骤1.3.4、模式匹配:采用极大似然比方进行模型参数的估计,然后针对各个不同的模型,根据bic信息标准用于对模型进行分类,并且确定最终的参数值以选择最优模型,从而选出最优模型;bic信息标准是贝叶斯信息准则,贝叶斯决策理论是主观贝叶斯派归纳理论的重要组成部分,是现有技术。
10.作为优选,所述步骤1.4包括以下步骤:步骤1.4.1、数据归一化处理:选取arma模型预测的结果的残差值作为数据输入,采用sklearn.preprocessing.scale方法对原始应用运行负载数据进行正规化处理,使其分布在[0,1]之间;sklearn.preprocessing.scale是一种数据标准化方法,是现有技术;步骤1.4.2、选择径向核函数rbf来构造模型;rbf即径向核函数;步骤1.4.3、对步骤1.4.1的残差输入数据进行预测,将预测结果与arma预测结果进行组合求取均值。
[0011]
作为优选,所述步骤4中的容器弹性伸缩的伸缩策略采用如下步骤制定的非线性的容器弹性伸缩策略:
步骤4.1、通过负载变化进行预期容器扩展目标计算,取得计算结果后与当前的容器服务能力进行拆分;步骤4.2、将拆分结果向下取整数,作为标注运行单元的实施数量;步骤4.3、整合一个独立的标准化容器,依据当前已实施值与目标值的差距,将该容器资源调整至差距值;步骤4.4、将所有已实施集群融合,形成新的服务集群。
[0012]
本发明的有益效果在于:本发明从响应式弹性伸缩方案和预测式弹性伸缩方案两个维度深入探索容器弹性伸缩机理,突破快速小样本时间序列预测分析、纵向容器单元伸缩的关键技术,组合形成具有期望效果的预测算法并制定容器弹性伸缩策略,实现预发、高效的容器弹性伸缩方案,解决响应式弹性伸缩可能会出现的反应滞后、精确度低的问题,在复杂微服务集群架构的系统上具有广泛应用价值。
附图说明
[0013]
图1是本发明所述基于应用运行负载数据预测的容器资源弹性预伸缩方法的流程图;图2是本发明所述基于应用运行负载数据预测的容器资源弹性预伸缩方法中的高性能小样本综合时间序列预测方法的流程图;图3是本发明所述高性能小样本综合时间序列预测方法中arma模型计算的流程图;图4是本发明所述高性能小样本综合时间序列预测方法中svm模型计算的流程图;图5是本发明所述容器弹性伸缩采用的伸缩策略的制定方法流程图。
具体实施方式
[0014]
下面结合附图对本发明作进一步说明:如图1

图5所示,本发明所述基于应用运行负载数据预测的容器资源弹性预伸缩方法包括以下步骤:步骤1、采用高性能小样本综合时间序列预测方法对当前容器负载数据进行预测计算,如图2所示,具体包括以下步骤:步骤1.1、输入当前容器负载数据;步骤1.2、将数据进行降噪处理;步骤1.3、将降噪后的数据作为arma模型的输入变量进行初步计算;如图3所示,具体包括以下步骤:步骤1.3.1、画时间序列图:在确定arma模型之前,首先对数据进行预处理,并绘制时间序列图以观察数据中是否存在季节性趋势;步骤1.3.2、平稳性检测:从自相关图、adf检测、kpss检测三个方面对时间序列的平稳性进行检测;步骤1.3.3、白噪声检测:采取lb统计量的方法进行白噪声检测;步骤1.3.4、模式匹配:采用极大似然比方进行模型参数的估计,然后针对各个不
同的模型,根据bic信息标准用于对模型进行分类,并且确定最终的参数值以选择最优模型,从而选出最优模型;步骤1.4、训练完成后记录标准结果,然后将残差数据作为svm模型的输入变量进行进一步计算;如图4所示,具体包括以下步骤:步骤1.4.1、数据归一化处理:选取arma模型预测的结果的残差值作为数据输入,采用sklearn.preprocessing.scale方法对原始应用运行负载数据进行正规化处理,使其分布在[0,1]之间;步骤1.4.2、选择径向核函数rbf来构造模型;步骤1.4.3、对步骤1.4.1的残差输入数据进行预测,将预测结果与arma预测结果进行组合求取均值;步骤1.5、将步骤1.3的计算结果和步骤1.4的计算结果相结合形成组合预测结果;步骤2、将步骤1得到的预测结果作为容器弹性伸缩的预期输入,计算出容器扩展目标;步骤3、若容器扩展目标在当前已就绪资源内,则不做弹性伸缩,结束;若容器扩展目标高于当前已就绪资源,则转至步骤4;步骤4、容器弹性伸缩至目标值,如图5所示,其伸缩策略采用如下步骤制定的非线性的容器弹性伸缩策略:步骤4.1、通过负载变化进行预期容器扩展目标计算,取得计算结果后与当前的容器服务能力进行拆分;步骤4.2、将拆分结果向下取整数,作为标注运行单元的实施数量;步骤4.3、整合一个独立的标准化容器,依据当前已实施值与目标值的差距,将该容器资源调整至差距值;步骤4.4、将所有已实施集群融合,形成新的服务集群;步骤5、接受实际的负载请求量,判断当前资源是否满足使用预期目标;步骤6、若满足目标,则转至步骤8;若不满足目标,则转至步骤7;步骤7、将预测误差带来的容器资源误差覆盖的请求转入等待队列,并转至步骤4;步骤8、消费请求队列,结束。
[0015]
说明:图1

图5中的内容与上述各步骤分别对应,但内容不是完全相同,是为了同时满足具体方法说明和流程图展示的需要,并不矛盾。
[0016]
本发明取用arma模型的相关特性捕捉性能数据的线性规律,取用svm模型的相关特性捕捉性能数据中的非线性规律,综合负载中的典型非平稳时间序列进行预测;依据容器水平复制原理,在容器伸缩控制器使用rc更改容器状态时,依据需求调整具有时间状态属性的rc文件备份,动态调整新增容器的个体特征,形成横向为主,纵向为辅的容器弹性伸缩机制,解决单个服务的容器资源总量必须为预设资源单元的公倍数问题,达到容器非整数复制的效果。本方法缩短了负载抖动带来的容器扩展等待时间,将容器规模调整的工作提前进行,仅预测误差值会进入等待队列。
[0017]
上述实施例只是本发明的较佳实施例,并不是对本发明技术方案的限制,只要是不经过创造性劳动即可在上述实施例的基础上实现的技术方案,均应视为落入本发明专利的权利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献