CN113722108A - 基于应用运行负载数据预测的容器资源弹性预伸缩方法 - Google Patents

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

Info

Publication number
CN113722108A
CN113722108A CN202111285456.3A CN202111285456A CN113722108A CN 113722108 A CN113722108 A CN 113722108A CN 202111285456 A CN202111285456 A CN 202111285456A CN 113722108 A CN113722108 A CN 113722108A
Authority
CN
China
Prior art keywords
container
prediction
data
resource
target
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.)
Pending
Application number
CN202111285456.3A
Other languages
English (en)
Inventor
成运畅
文泽鹏
李龚亮
高鹏翔
杨光宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
COMPUTER APPLICATION RESEARCH INST CHINA ACADEMY OF ENGINEERING PHYSICS
Original Assignee
COMPUTER APPLICATION RESEARCH INST CHINA ACADEMY OF ENGINEERING PHYSICS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by COMPUTER APPLICATION RESEARCH INST CHINA ACADEMY OF ENGINEERING PHYSICS filed Critical COMPUTER APPLICATION RESEARCH INST CHINA ACADEMY OF ENGINEERING PHYSICS
Priority to CN202111285456.3A priority Critical patent/CN113722108A/zh
Publication of CN113722108A publication Critical patent/CN113722108A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于应用运行负载数据预测的容器资源弹性预伸缩方法,属于容器资源弹性伸缩技术领域,包括以下步骤:对当前容器负载数据进行预测计算;将预测结果作为容器弹性伸缩的预期输入,计算出容器扩展目标;若容器扩展目标高于当前已就绪资源,则容器弹性伸缩至目标值;接受实际的负载请求量,判断当前资源是否满足使用预期目标,若不满足目标,则将预测误差带来的容器资源误差覆盖的请求转入等待队列,再容器弹性伸缩至目标值,满足则消费请求队列,结束。本发明组合形成具有期望效果的预测算法并制定容器弹性伸缩策略,实现预发、高效的容器弹性伸缩方案,在复杂微服务集群架构的系统上具有广泛应用价值。

Description

基于应用运行负载数据预测的容器资源弹性预伸缩方法
技术领域
本发明涉及一种容器资源弹性预伸缩方法,尤其涉及一种基于应用运行负载数据预测的容器资源弹性预伸缩方法。
背景技术
在计算机领域,容器作为业内使用最为广泛的微服务管理技术,通过将微服务及其运行环境进行统一打包处理,可以很好的降低系统的运维成本和资源成本,但这同时也给容器平台的管理带来了新的挑战。由于当前容器伸缩仅依靠容器管理平台依据当前负载状况进行手动响应式调整,其反应速度和伸缩精度均不能很好地满足复杂微服务集群架构下的服务运行要求和资源管理要求,主要表现在以下两个方面:
一、完全响应式弹性伸缩带来的滞后性。
现有的响应式容器弹性伸缩策略在发生负载变化时无法即时生效,会对业务产生影响。一方面,容器伸缩需要人工操作,通常是在接到负载抖动的告警之后才能做出判断和反应,反应时间内的请求会由于反应延时而丢失;另一方面,容器通过资源调整进行横向和纵向的伸缩需要消耗系统资源,花费一定的的时间,在负载变化到伸缩过程完成前的这段时间该服务提供的业务连续性很难保障。
二、人工运维与水平复制的伸缩精确度无法保障。
容器伸缩度量调整的依据是当前抖动负载的峰值,通常运维人员会以预先设定的服务资源为单位进行调整,该调整过程会有一定的主观因素。另外,当前的容器伸缩均通过以预设资源标注为单位的水平复制来实现,这导致资源量配必须为预设单元的公倍数,资源再伸缩过程需要经过间隔保护期,总体上容器伸缩精确度难以保障。
发明内容
本发明的目的就在于为了解决上述问题而提供一种能够依据容器负载预期值自动提前进行容器弹性精确调整的基于应用运行负载数据预测的容器资源弹性预伸缩方法。
本发明通过以下技术方案来实现上述目的:
一种基于应用运行负载数据预测的容器资源弹性预伸缩方法,包括以下步骤:
步骤1、采用高性能小样本综合时间序列预测方法对当前容器负载数据进行预测计算;
步骤2、将步骤1得到的预测结果作为容器弹性伸缩的预期输入,计算出容器扩展目标;
步骤3、若容器扩展目标在当前已就绪资源内,则不做弹性伸缩,结束;若容器扩展目标高于当前已就绪资源,则转至步骤4;
步骤4、容器弹性伸缩至目标值;
步骤5、接受实际的负载请求量,判断当前资源是否满足使用预期目标;
步骤6、若满足目标,则转至步骤8;若不满足目标,则转至步骤7;
步骤7、将预测误差带来的容器资源误差覆盖的请求转入等待队列,并转至步骤4;
步骤8、消费请求队列,结束。
作为优选,所述步骤1中的高性能小样本综合时间序列预测方法包括以下步骤:
步骤1.1、输入当前容器负载数据;
步骤1.2、将数据进行降噪处理;
步骤1.3、将降噪后的数据作为ARMA模型的输入变量进行初步计算;ARMA(Autoregressive moving average)模型即自回归滑动平均模型,是研究时间序列的重要方法,由自回归模型(简称AR模型)与移动平均模型(简称MA模型)为基础“混合”构成,是现有技术;
步骤1.4、训练完成后记录标准结果,然后将残差数据作为SVM模型的输入变量进行进一步计算;SVM(Support Vector Machine)模型是一种支持向量机模型,是按监督学习(supervised learning)方式对数据进行二元分类的广义线性分类器(generalizedlinear classifier),其决策边界是对学习样本求解的最大边距超平面,SVM被提出于1964年,在二十世纪90年代后得到快速发展并衍生出一系列改进和扩展算法,在人像识别、文本分类等模式识别(pattern recognition)问题中有得到应用,是现有技术;
步骤1.5、将步骤1.3的计算结果和步骤1.4的计算结果相结合形成组合预测结果。
作为优选,所述步骤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信息标准是贝叶斯信息准则,贝叶斯决策理论是主观贝叶斯派归纳理论的重要组成部分,是现有技术。
作为优选,所述步骤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预测结果进行组合求取均值。
作为优选,所述步骤4中的容器弹性伸缩的伸缩策略采用如下步骤制定的非线性的容器弹性伸缩策略:
步骤4.1、通过负载变化进行预期容器扩展目标计算,取得计算结果后与当前的容器服务能力进行拆分;
步骤4.2、将拆分结果向下取整数,作为标注运行单元的实施数量;
步骤4.3、整合一个独立的标准化容器,依据当前已实施值与目标值的差距,将该容器资源调整至差距值;
步骤4.4、将所有已实施集群融合,形成新的服务集群。
本发明的有益效果在于:
本发明从响应式弹性伸缩方案和预测式弹性伸缩方案两个维度深入探索容器弹性伸缩机理,突破快速小样本时间序列预测分析、纵向容器单元伸缩的关键技术,组合形成具有期望效果的预测算法并制定容器弹性伸缩策略,实现预发、高效的容器弹性伸缩方案,解决响应式弹性伸缩可能会出现的反应滞后、精确度低的问题,在复杂微服务集群架构的系统上具有广泛应用价值。
附图说明
图1是本发明所述基于应用运行负载数据预测的容器资源弹性预伸缩方法的流程图;
图2是本发明所述基于应用运行负载数据预测的容器资源弹性预伸缩方法中的高性能小样本综合时间序列预测方法的流程图;
图3是本发明所述高性能小样本综合时间序列预测方法中ARMA模型计算的流程图;
图4是本发明所述高性能小样本综合时间序列预测方法中SVM模型计算的流程图;
图5是本发明所述容器弹性伸缩采用的伸缩策略的制定方法流程图。
具体实施方式
下面结合附图对本发明作进一步说明:
如图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、消费请求队列,结束。
说明:图1-图5中的内容与上述各步骤分别对应,但内容不是完全相同,是为了同时满足具体方法说明和流程图展示的需要,并不矛盾。
本发明取用ARMA模型的相关特性捕捉性能数据的线性规律,取用SVM模型的相关特性捕捉性能数据中的非线性规律,综合负载中的典型非平稳时间序列进行预测;依据容器水平复制原理,在容器伸缩控制器使用RC更改容器状态时,依据需求调整具有时间状态属性的RC文件备份,动态调整新增容器的个体特征,形成横向为主,纵向为辅的容器弹性伸缩机制,解决单个服务的容器资源总量必须为预设资源单元的公倍数问题,达到容器非整数复制的效果。本方法缩短了负载抖动带来的容器扩展等待时间,将容器规模调整的工作提前进行,仅预测误差值会进入等待队列。
上述实施例只是本发明的较佳实施例,并不是对本发明技术方案的限制,只要是不经过创造性劳动即可在上述实施例的基础上实现的技术方案,均应视为落入本发明专利的权利保护范围内。

Claims (5)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111285456.3A CN113722108A (zh) 2021-11-02 2021-11-02 基于应用运行负载数据预测的容器资源弹性预伸缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111285456.3A CN113722108A (zh) 2021-11-02 2021-11-02 基于应用运行负载数据预测的容器资源弹性预伸缩方法

Publications (1)

Publication Number Publication Date
CN113722108A true CN113722108A (zh) 2021-11-30

Family

ID=78686375

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111285456.3A Pending CN113722108A (zh) 2021-11-02 2021-11-02 基于应用运行负载数据预测的容器资源弹性预伸缩方法

Country Status (1)

Country Link
CN (1) CN113722108A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114726735A (zh) * 2022-04-15 2022-07-08 海南大学 一种服务扩缩容方法及其系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108228347A (zh) * 2017-12-21 2018-06-29 上海电机学院 一种任务感知的Docker自适应调度系统
CN111930526A (zh) * 2020-10-19 2020-11-13 腾讯科技(深圳)有限公司 负载预测方法、装置、计算机设备和存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108228347A (zh) * 2017-12-21 2018-06-29 上海电机学院 一种任务感知的Docker自适应调度系统
CN111930526A (zh) * 2020-10-19 2020-11-13 腾讯科技(深圳)有限公司 负载预测方法、装置、计算机设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
赵尘: ""组合预测式容器弹性伸缩方案的研究与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114726735A (zh) * 2022-04-15 2022-07-08 海南大学 一种服务扩缩容方法及其系统

Similar Documents

Publication Publication Date Title
CN112365029B (zh) 用于空调负荷预测的缺失值处理方法及空调负荷预测系统
CN107784440A (zh) 一种电力信息系统资源调配系统及方法
US20150113539A1 (en) Method for executing processes on a worker machine of a distributed computing system and a distributed computing system
CN111930526B (zh) 负载预测方法、装置、计算机设备和存储介质
CN114143326A (zh) 负载调节方法、管理节点以及存储介质
WO2019092931A1 (ja) 判別モデル生成装置、判別モデル生成方法および判別モデル生成プログラム
CN110705685A (zh) 一种神经网络量化分类方法与系统
CN110751278A (zh) 一种神经网络比特量化方法和系统
CN111401642A (zh) 自动调整预测值的方法、装置、设备及存储介质
CN113722108A (zh) 基于应用运行负载数据预测的容器资源弹性预伸缩方法
CN116841753A (zh) 一种流处理和批处理的切换方法及切换装置
CN114819391B (zh) 基于历史数据集时间跨度优化的光伏发电功率预测方法及系统
CN116380438A (zh) 一种故障诊断方法、装置、电子设备及存储介质
CN109816034A (zh) 信号特征组合选取方法、装置、计算机设备及存储介质
CN109657943A (zh) 风电场机组运行状态的动态评估方法、装置及电子设备
CN115858155A (zh) 一种算力网络平台的应用资源动态扩缩容方法及装置
CN105897503B (zh) 基于资源信息增益的Hadoop集群瓶颈检测方法
CN114880067A (zh) 一种基于容器负载预测的容器调度策略
CN111459838B (zh) 一种基于流形对齐的软件缺陷预测方法及系统
CN110942089A (zh) 一种基于多级决策的击键识别方法
US6931363B2 (en) EDR direction estimating method, system, and program, and memory medium for storing the program
Mohammed et al. Multilevel artificial intelligence classification of faulty image data for enhancing sensor reliability
Kosiorowski Two procedures for robust monitoring of probability distributions of economic data stream induced by depth functions
CN117828371B (zh) 一种综合运维平台的业务信息智能分析方法
JP7495874B2 (ja) プラント制御システム、プラント制御方法及びプログラム

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20211130

RJ01 Rejection of invention patent application after publication