CN111638959A - 云环境下基于负载回归预测的弹性伸缩方法及可读存储介质 - Google Patents

云环境下基于负载回归预测的弹性伸缩方法及可读存储介质 Download PDF

Info

Publication number
CN111638959A
CN111638959A CN202010489641.3A CN202010489641A CN111638959A CN 111638959 A CN111638959 A CN 111638959A CN 202010489641 A CN202010489641 A CN 202010489641A CN 111638959 A CN111638959 A CN 111638959A
Authority
CN
China
Prior art keywords
load
time
data
data set
user
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
CN202010489641.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.)
Shandong Huimao Electronic Port Co Ltd
Original Assignee
Shandong Huimao Electronic Port Co Ltd
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 Shandong Huimao Electronic Port Co Ltd filed Critical Shandong Huimao Electronic Port Co Ltd
Priority to CN202010489641.3A priority Critical patent/CN111638959A/zh
Publication of CN111638959A publication Critical patent/CN111638959A/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/5072Grid computing
    • 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

Abstract

本发明公开了一种云环境下基于负载回归预测的弹性伸缩方法及可读存储介质,属于计算资源弹性伸缩领域,要解决的技术问题为如何对下一时间段用户负载进行预测,并根据负载合理调整用户的计算资源。包括如下步骤:获取一段时间内用户服务正常运行时的历史数据,构建训练数据集;基于训练数据集,训练回归模型并通过训练后回归模型计算下一时刻的负载,训练计算资源使用量与负载之间的线性模型,并通过训练后线性模型计算下一时刻的计算资源使用量;以上述下一时刻的计算资源使用量为限制条件,优化用户成本,得到计算资源配置目标解集,将计算资源配置目标解集与计算资源配置当前解集进行重排并计算得出差异,基于差异选择合适的水平伸缩方式或垂直伸缩方式。

Description

云环境下基于负载回归预测的弹性伸缩方法及可读存储介质
技术领域
本发明涉计算资源弹性伸缩领域,具体地说是一种云环境下基于负载回归预测的弹性伸缩方法及可读存储介质。
背景技术
随着云计算技术的成熟与发展,市面上提供各种公有云服务的厂商越来越多,越来越多的企业和用户也选择将自己的应用服务迁移部署到云端,使用公有云厂商提供的资源和服务降低计算资源的部署、运维、管理和网络防护等成本。用户可以按需付费,合理选择自己的资源使用量,同时也可以根据业务负载需求随时购买和删除计算资源,从而大大节省自身技术和资金成本。
根据许多应用不同时间段之间业务负载波动较大,用户手动对计算资源进行创建部署和删除不及时的问题,许多公有云厂商提供了弹性伸缩服务,帮助用户根据策略自动创建和和删除计算资源。计算资源的伸缩活动可以分为水平伸缩和垂直伸缩两种。水平伸缩是指以云服务器(或其他用户服务部署的载体)为单位,通过创建云服务器并部署用户服务来扩容资源或删除云服务器来缩容,适应用户的负载变化。显然水平伸缩是一种粗粒度的弹性资源调整,一般资源的开销较大。垂直伸缩是指在当前云服务器资源数量保持不变的情况下,对单一云服务器的配置大小进行动态调整,相较于水平伸缩,垂直伸缩在CPU、内存或者网络级别进行资源调整,是一种细粒度的弹性资源调整,资源开销较小。
目前主流厂商的弹性伸缩服务允许用户通过定时策略或者周期策略,在特定时间点增加或减少计算资源,也可以使用监控策略,当监控到计算资源的使用率超出用户设置的扩容阈值时自动对计算资源进行扩容。但是,各厂商提供的伸缩方式均为当前相同计算资源配置的水平扩展方式这种粗粒度的伸缩活动,无法灵活的适应用户服务产品负载的变化,虽然这降低了应用创建和部署的难度,但是会造成一定的资源浪费,无法良好的控制用户的资源使用成本。
基于上述分析,如何对下一时间段用户负载进行预测,并根据负载合理调整用户的计算资源,控制用户成本是需要解决的技术问题。
发明内容
本发明的技术任务是针对以上不足,提供一种云环境下基于负载回归预测的弹性伸缩方法及可读存储介质,来解决如何对下一时间段用户负载进行预测,并根据负载合理调整用户的计算资源的问题。
第一方面,本发明提供一种云环境下基于负载回归预测的弹性伸缩方法,包括如下步骤:
S100、获取一段时间内用户服务正常运行时的历史数据,构建训练数据集,所述历史数据包括请求负载数以及对应时间段云服务器的计算机资源使用率和计算机资源配置,所述计算资源为云计算平台上用户可以使用的所有付费资源,包括但不限于CPU、RAM、硬盘存储和网络带宽;
S200、基于训练数据集,训练回归模型并通过训练后回归模型计算下一时刻的负载,训练计算资源使用量与负载之间的线性模型,并通过训练后线性模型计算下一时刻的计算资源使用量,每种计算资源对应一个线性模型;
S300、以上述下一时刻的计算资源使用量为限制条件,优化用户成本,得到计算资源配置目标解集,将计算资源配置目标解集与计算资源配置当前解集进行重排并计算得出差异,基于差异选择合适的水平伸缩方式或垂直伸缩方式。
作为优选,步骤S100中,以预设的分割时间为时间单位将上述历史数据划分为多行,对于每行历史数据,基于预设的分割时长进行划分、并计算每个分割时长内历史数据的统计值,将每行历史数据划分为多列,得到初始数据集,对于上述初始数据集将计算资源使用率替换为计算资源使用量,得到数据集矩阵,所述数据集矩阵作为训练数据集。
作为优选,步骤S100中包括如下步骤:
S110、以预设的分割时间mT为单位将上述历史数据划分为m行,每个分割时间对应的历史数据作为一行;
S120、以预设的分割时长T为单位将每行历史数据划分为n列,n=(mTh*60)÷T,计算每个分割时长内历史数据的统计值,包括但不限于均值、方差和最大值,得到大小为m×(a×b×n)的初始数据矩阵,所述初始数据矩阵作为初始数据集;
其中,m为自然数,以天为单位,且m>1,n为自然数,且n>1;
T以分钟为单位,且T>Tcreate+Tdeploy,Tcreate表示云服务器的创建时间,Tdeploy表示用户服务应用部署时间;
mTh表示分割时间mT对应的小时数;
a为自然数,且a>1,表示计算资源的种类数;
b为自然数,且b>1,表示统计值的种类数。
作为优选,得到初始数据集后,对初始数据集中异常值进行清洗,包括对资源使用率大于1或者小于0的异常值进行清洗;
得到数据集矩阵后,对数据集矩阵中异常值进行清洗,包括对CPU使用量大于RAM使用量相关的数据进行清洗。
作为优选,步骤S200中,以下一时刻为界调整训练数据集,基于调整后训练数据集训练回归模型,通过训练后回归模型计算下一时刻的负载,所述回归模型为线性回归模型或二阶多项式回归模型;
基于训练数据集训练计算资源使用量与负载之间的线性模型,以下一时刻的负载为输入,通过训练后线性模型计算下一时刻的计算资源使用量。
作为优选,步骤S200中,基于训练数据集,训练回归模型并通过训练后回归模型计算下一时刻的负载,包括如下步骤:
对于下一时刻t+1,确定其所对应的时间段为分割时长Ti+1
将数据集矩阵中分割时长Ti+1之后时间段的数据列移动至数据集矩阵前端T0之前进行矩阵连接,得到调整后训练集,所述调整后训练数据集是预测时间Ti+1之前预设的分割时间之内的连续数据,
将数据集矩阵中请求负载数均值对应的一列数据为目标数据列,通过上述调整后训练数据集训练回归模型,得到训练后回归模型;
对于下一时刻t+1之前分割时间内的历史数据,基于预设的分割时长进行划分、并计算每个分割时长内历史数据的统计值后,作为输入数据输入训练后回归模型的输入数据以计算下一时刻的负载。
作为优选,步骤S200中,训练计算资源使用量与负载之间的线性模型,并通过训练后线性模型计算下一时刻的计算资源使用量,包括如下步骤:
将数据集矩阵中计算资源使用量均值对应的一列数据为目标数据列,以数据集矩阵中负载请求数均值相关的各列数据作为训练数据,训练计算资源使用量与负载之间的线性模型,所述线性模型含有偏差,得到训练后线性模型,每种计算资源对应一个训练后线性模型;
以下一时刻的负载作为输入,通过训练后线性模型计算下一时刻的计算资源使用量。
作为优选,以上述下一时刻的计算资源使用量为限制条件,优化用户成本,得到计算资源配置目标解集,包括如下步骤:
确定用户成本函数,用户成本函数为:
Figure BDA0002520563110000041
限制条件为:
Figure BDA0002520563110000042
其中,Pj表示第j台云服务器的计算资源使用成本;
uj表示第j台云服务器在实际负载中使用的计算机资源量;
Figure BDA0002520563110000043
表示用户实际的有效成本;
μ表示冗余系数,为用户选择的定值,即用户愿意为服务正常运行选择的多余成本;
Figure BDA0002520563110000044
表示无效成本;
n表示用户允许的云服务器数量;
Cj表示第j台云服务器的计算资源配置目标解集;
Utarget表示云服务器可以承载的下一时刻的计算资源使用量;
Cuser表示用户选定的用于创建云服务器的预设云服务器配置集合;
基于上述限制条件,通过优化算法优化上述用户成本函数,得到计算资源配置目标解集,所述优化算法包括但不限于遗传算法。
作为优选,将计算资源配置目标解集与计算资源配置当前解集进行重排并计算得出差异,基于差异选择合适的水平伸缩方式或垂直伸缩方式,包括如下步骤:
对计算资源配置目标解集C和计算资源配置当前解集Creal中的元素进行重排,使得计算资源配置目标解集C和计算资源配置当前解集Creal的相似性最大化以减少后续伸缩活动的变更时间;
计算计算资源配置目标解集C和计算资源配置当前解集Creal之间的差异Cdiff,计算公式为:
Cdiff=C-Creal
根据Cdiff中每个元素选择水平伸缩方式或垂直伸缩方式,具体为:
如果Cdiff,j>0,且Creal,j=0,则水平扩展第j台云服务器到Cj对应规格;
如果Cdiff,j=-Creal,j,且Creal,j≠0,则删除第j台云服务器,即水平缩容;
如果Cdiff,j>0,且Creal,j≠0,则垂直扩容第j台云服务器到Cj对应规格;
如果Cdiff,j<0,但Cdiff,j>-Creal,j,且Creal,j≠0,则垂直扩容第j台云服务器到Cj对应规格;
如果Cdiff,j=0,不对第j台云服务器进行伸缩活动。
上述过程可设置为定时任务,周期性调整和管理计算资源。
第二方面,本发明提供一种可读存储介质,为计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,程序指令当被处理器执行时所述处理器执行如第一方面1-9任一项所述的云环境下基于负载回归预测的弹性伸缩方法。
本发明的一种云环境下基于负载回归预测的弹性伸缩方法及可读存储介质具有以下优点:
1、使用用户服务的历史数据提取数据集并进行模型训练,对用户下一时间段内的应用负载进行回归预测,根据预测值合理选择适合下一时间段的计算资源配置规格,并进行对应的水平或垂直伸缩活动,实现自动化地为用户提供成本最优的计算资源使用,尽量将用户的资源利用率提高,避免了资源浪费;
2、相比于现有的各公有云厂商提供的单一配置水平伸缩服务相比,本发明将水平和垂直伸缩策略结合,更加灵活自由,且避免了用户自行研究应用负载记录,频繁设置和更改定时或周期策略的麻烦,可以提供更加良好的用户体验;
3、在构建训练数据集过程中,以时间为单位对获取的历史数据进行分割,并计算统计值,通过统计值构建训练数据集,提高了数据集的准确性,尽可能的扩大了数据范围并提高了运算速度;
4、在构建训练数据集过程中,对初始数据集和数据集中异常值进行清洗,提高了训练数据集的准确性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
下面结合附图对本发明进一步说明。
附图1为实施例1云环境下基于负载回归预测的弹性伸缩方法的流程框图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。
需要理解的是,在本发明实施例中的“多个”,是指两个或两个以上。
本发明实施例提供一种云环境下基于负载回归预测的弹性伸缩方法及可读存储介质,用于解决如何对下一时间段用户负载进行预测,并根据负载合理调整用户的计算资源的技术问题。
实施例1:
本发明的一种云环境下基于负载回归预测的弹性伸缩方法,包括如下步骤:
S100、获取一段时间内用户服务正常运行时的历史数据,构建训练数据集,所述历史数据包括请求负载数以及对应时间段云服务器的计算机资源使用率和计算机资源配置,所述计算资源为云计算平台上用户可以使用的所有付费资源,包括但不限于CPU、RAM、硬盘存储和网络带宽;
S200、基于训练数据集,训练回归模型并通过训练后回归模型计算下一时刻的负载,训练计算资源使用量与负载之间的线性模型,并通过训练后线性模型计算下一时刻的计算资源使用量,每种计算资源对应一个线性模型;
S300、以上述下一时刻的计算资源使用量为限制条件,优化用户成本,得到计算资源配置目标解集,将计算资源配置目标解集与计算资源配置当前解集进行重排并计算得出差异,基于差异选择合适的水平伸缩方式或垂直伸缩方式。
其中,步骤S100中,以预设的分割时间为时间单位将上述历史数据划分为多行,对于每行历史数据,基于预设的分割时长进行划分、并计算每个分割时长内历史数据的统计值,将每行历史数据划分为多列,得到初始数据集,对于上述初始数据集将计算资源使用率替换为计算资源使用量,得到数据集矩阵,数据集矩阵作为训练数据集。具体的,包括如下分步骤:
S110、以预设的分割时间mT为单位将上述历史数据划分为m行,每个分割时间对应的历史数据作为一行;
S120、以预设的分割时长T为单位将每行历史数据划分为n列,n=(mTh*60)÷T,计算每个分割时长内历史数据的统计值,包括但不限于均值、方差和最大值,得到大小为m×(a×b×n)的初始数据矩阵,所述初始数据矩阵作为初始数据集;
其中,m为自然数,以天为单位,且m>1,n为自然数,且n>1;
T以分钟为单位,且T>Tcreate+Tdeploy,Tcreate表示云服务器的创建时间,Tdeploy表示用户服务应用部署时间;
mTh表示分割时间mT对应的小时数;
a为自然数,且a>1,表示计算资源的种类数;
b为自然数,且b>1,表示统计值的种类数。
由于不同云服务器中计算资源占比不同,对于上述初始数据集将计算资源使用率替换为计算资源使用量,基于计算资源使用率和计算资源配置规格,计算计算资源使用量,每种计算资源使用量计算公式为:U=C×R,其中,U表示计算资源使用量,C表示计算资源配置规格,R表示计算资源使用率。
为确保数据集的数据的准确性,得到初始数据集后,对初始数据集中异常值进行清洗,包括对资源使用率大于1或者小于1的异常值进行清洗;得到数据集矩阵后,对数据集矩阵中异常值进行清洗,包括对CPU使用量大于RAM使用量相关的数据进行清洗。
计算资源包括CPU、RAM、网络带宽、硬盘存储等,本实施例中以CPU和RAM为例。
请求负载数Nreq和计算资源使用率以分钟为单位进行记录。由于用户服务负载常按周或天呈现相同的使用负载情况,建议收集2周以上服务负载数据,本实施例中假设收了m天的数据。
对收集的数据进行整理划分,首先以天为单位分割数据,每天数据为一行,即m行;然后,根据服务情况选择每天数据的分割时长T分钟,要求T大于云服务平台云服务器的创建时间Tcreate和用户服务应用部署时间Tdeploy之和,即T>Tcreate+Tdeploy;将每天24小时划分为n=(24*60)÷T,在每个时间段T内统计统计请求负载量Nreq、云服务器CPU配置Ccpu和云服务器ARM配置Cram的均值、方差和最大值,分别为:负载请求量均值Nreq-mean、负载请求量方差Nreq-var和负载请求量最大值Nreq-max,所述计算资源使用量的统计值包括云服务器CPU使用量均值Rcup-mean、云服务器CPU使用量方差Rcup-var和云服务器CPU使用量大值Rcup-max以及云服务器RAM使用量均值Rram-mean、云服务器RAM使用量方差Rram-vat和云服务器RAM使用量大值Rram-max,即每行数据将有9n列,形成m×9n大小的初始数据集矩阵。
之后对初始数据集矩阵中计算资源使用率大于1或者小于0的异常值进行清洗。
针对Rcpu和Rram两种数据,分别计算CPU使用量和RAM使用量,分别为:
Ucup=Ccup×Rcup,Uram=Cram×Rram
其中Ucpu表示CPU使用量,Uram表示RAM使用量。
将CPU和RAM使用量数据U替换初始数据集矩阵中的使用率数据R,得到数据集矩阵,并数据集矩阵中异常值进行清洗,对数据集矩阵中Ucpu>Uram的相关异常值进行清洗,得到训练数据集矩阵X。
步骤S200中,包括如下分步骤:
S210、对于下一时刻t+1,确定其所对应的时间段为分割时长Ti+1
将数据集矩阵中分割时长Ti+1之后时间段的数据列移动至数据集矩阵前端T0之前进行矩阵连接,得到调整后训练集,调整后训练数据集是预测时间Ti+1之前预设的分割时间之内的连续数据,
将数据集矩阵中请求负载数均值对应的一列数据Nreq-mean为目标数据列,通过上述调整后训练数据集训练回归模型,得到训练后回归模型Mload
S220、将数据集矩阵中计算资源使用量均值对应的一列数据为目标数据列,本实施例中以Ucup-mean和Uram-mean作为目标数据列,以数据集矩阵中负载请求数均值Nreq相关的各列数据作为训练数据,训练计算资源使用量与负载之间的线性模型,该线性模型含有偏差,得到训练后线性模型Mcup和Mram,每种计算资源对应一个训练后线性模型;
S230、得到上述三个训练后模型后,根据当前数据进行当前负载预测和使用量预测,取下一时刻t+1之前分割时间(24小时)内的请求负载数据和计算资源使用量数据并计算其统计值作为模型Mload的输入数据,对下一时刻t+1的负载使用量进行预测得到下一时刻的负载Lt+1;然后以下一时刻的负载Lt+1作为模型Mcup和Mram的输入数据,预测得到对应的下一时刻的计算资源使用量,分别为Ucup·target和Ucup·target
步骤S300,包括如下分步骤:
S310、确定用户成本函数,用户成本函数为:
Figure BDA0002520563110000101
限制条件为:
Figure BDA0002520563110000102
其中,Pj表示第j台云服务器的计算资源使用成本,该成本分别包括CPU和RAM等资源的使用成本;
uj表示第j台云服务器在实际负载中使用的计算机资源量;
Figure BDA0002520563110000103
表示用户实际的有效成本;
μ表示冗余系数,为用户选择的定值,即用户愿意为服务正常运行选择的多余成本,即使该部分资源大部分时间未被使用;
Figure BDA0002520563110000104
表示无效成本;
n表示用户允许的云服务器数量;
Cj表示第j台云服务器的计算资源配置目标解集;
Utarget表示云服务器可以承载的下一时刻的计算资源使用量;
Cuser表示用户选定的用于创建云服务器的预设云服务器配置集合;
S320、基于上述限制条件,通过优化算法优化上述用户成本函数,得到计算资源配置目标解集,优化算法包括但不限于遗传算法;
S330、对计算资源配置目标解集C和计算资源配置当前解集Creal中的元素进行重排,使得计算资源配置目标解集C和计算资源配置当前解集Creal的相似性最大化以减少后续伸缩活动的变更时间;
S340、计算计算资源配置目标解集C和计算资源配置当前解集Creal之间的差异Cdiff,计算公式为:
Cdiff=C-Creal
S350、根据Cdiff中每个元素选择水平伸缩方式或垂直伸缩方式,具体为:
如果Cdiff,j>0,且Creal,j=0,则水平扩展第j台云服务器到Cj对应规格;
如果Cdiff,j=-Creal,j,且Creal,j≠0,则删除第j台云服务器,即水平缩容;
如果Cdiff,j>0,且Creal,j≠0,则垂直扩容第j台云服务器到Cj对应规格;
如果Cdiff,j<0,但Cdiff,j>-Creal,j,且Creal,j≠0,则垂直扩容第j台云服务器到Cj对应规格;
如果Cdiff,j=0,不对第j台云服务器进行伸缩活动。
上述过程可设置为定时任务,周期性调整和管理计算资源。
根据以上策略进行实际的伸缩活动变更,使计算资源达到可以承载预测负载同时成本最优的状态。可将以上策略作为周期性定时任务,每隔时间间隔T进行一次定时的伸缩变更活动。
实施例2:
本发明的一种可读存储介质,为计算机可读存储介质,其特征在于所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,程序指令当被处理器执行时所述处理器执行如实施例1公开的云环境下基于负载回归预测的弹性伸缩方法。
计算机可读存储介质可为机械硬盘、固态硬盘等计算机可读存储介质。
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。

Claims (10)

1.云环境下基于负载回归预测的弹性伸缩方法,其特征在于包括如下步骤:
S100、获取一段时间内用户服务正常运行时的历史数据,构建训练数据集,所述历史数据包括请求负载数以及对应时间段云服务器的计算机资源使用率和计算机资源配置,所述计算资源为云计算平台上用户可以使用的所有付费资源,包括但不限于CPU、RAM、硬盘存储和网络带宽;
S200、基于训练数据集,训练回归模型并通过训练后回归模型计算下一时刻的负载,训练计算资源使用量与负载之间的线性模型,并通过训练后线性模型计算下一时刻的计算资源使用量,每种计算资源对应一个线性模型;
S300、以上述下一时刻的计算资源使用量为限制条件,优化用户成本,得到计算资源配置目标解集,将计算资源配置目标解集与计算资源配置当前解集进行重排并计算得出差异,基于差异选择合适的水平伸缩方式或垂直伸缩方式。
2.根据权利要求1所述的云环境下基于负载回归预测的弹性伸缩方法,其特征在于步骤S100中,以预设的分割时间为时间单位将上述历史数据划分为多行,对于每行历史数据,基于预设的分割时长进行划分、并计算每个分割时长内历史数据的统计值,将每行历史数据划分为多列,得到初始数据集,对于上述初始数据集将计算资源使用率替换为计算资源使用量,得到数据集矩阵,所述数据集矩阵作为训练数据集。
3.根据权利要求2所述的云环境下基于负载回归预测的弹性伸缩方法,其特征在于步骤S100中包括如下步骤:
S110、以预设的分割时间mT为单位将上述历史数据划分为m行,每个分割时间对应的历史数据作为一行;
S120、以预设的分割时长T为单位将每行历史数据划分为n列,n=(mTh*60)÷T,计算每个分割时长内历史数据的统计值,包括但不限于均值、方差和最大值,得到大小为m×(a×b×n)的初始数据矩阵,所述初始数据矩阵作为初始数据集;
其中,m为自然数,以天为单位,且m>1,n为自然数,且n>1;
T以分钟为单位,且T>Tcreate+Tdeploy,Tcreate表示云服务器的创建时间,Tdeploy表示用户服务应用部署时间;
mTh表示分割时间mT对应的小时数;
a为自然数,且a>1,表示计算资源的种类数;
b为自然数,且b>1,表示统计值的种类数。
4.根据权利要求2或3所述的云环境下基于负载回归预测的弹性伸缩方法,其特征在于得到初始数据集后,对初始数据集中异常值进行清洗,包括对资源使用率大于1或者小于0的异常值进行清洗;
得到数据集矩阵后,对数据集矩阵中异常值进行清洗,包括对CPU使用量大于RAM使用量相关的数据进行清洗。
5.根据权利要求1、2或3所述的云环境下基于负载回归预测的弹性伸缩方法,其特征在于步骤S200中,以下一时刻为界调整训练数据集,基于调整后训练数据集训练回归模型,通过训练后回归模型计算下一时刻的负载,所述回归模型为线性回归模型或二阶多项式回归模型;
基于训练数据集训练计算资源使用量与负载之间的线性模型,以下一时刻的负载为输入,通过训练后线性模型计算下一时刻的计算资源使用量。
6.根据权利要求5所述的基于负载回归预测的弹性伸缩方法,其特征在于步骤S200中,基于训练数据集,训练回归模型并通过训练后回归模型计算下一时刻的负载,包括如下步骤:
对于下一时刻t+1,确定其所对应的时间段为分割时长Ti+1
将数据集矩阵中分割时长Ti+1之后时间段的数据列移动至数据集矩阵前端T0之前进行矩阵连接,得到调整后训练集,所述调整后训练数据集是预测时间Ti+1之前预设的分割时间之内的连续数据,
将数据集矩阵中请求负载数均值对应的一列数据为目标数据列,通过上述调整后训练数据集训练回归模型,得到训练后回归模型;
对于下一时刻t+1之前分割时间内的历史数据,基于预设的分割时长进行划分、并计算每个分割时长内历史数据的统计值后,作为输入数据输入训练后回归模型的输入数据以计算下一时刻的负载。
7.根据权利要求5所述的基于负载回归预测的弹性伸缩方法,其特征在于步骤S200中,训练计算资源使用量与负载之间的线性模型,并通过训练后线性模型计算下一时刻的计算资源使用量,包括如下步骤:
将数据集矩阵中计算资源使用量均值对应的一列数据为目标数据列,以数据集矩阵中负载请求数均值相关的各列数据作为训练数据,训练计算资源使用量与负载之间的线性模型,所述线性模型含有偏差,得到训练后线性模型,每种计算资源对应一个训练后线性模型;
以下一时刻的负载作为输入,通过训练后线性模型计算下一时刻的计算资源使用量。
8.根据权利要求1、2或3所述的云环境下基于负载回归预测的弹性伸缩方法,其特征在于以上述下一时刻的计算资源使用量为限制条件,优化用户成本,得到计算资源配置目标解集,包括如下步骤:
确定用户成本函数,用户成本函数为:
Figure FDA0002520563100000031
限制条件为:
Figure FDA0002520563100000032
其中,Pj表示第j台云服务器的计算资源使用成本;
uj表示第j台云服务器在实际负载中使用的计算机资源量;
Figure FDA0002520563100000033
表示用户实际的有效成本;
μ表示冗余系数,为用户选择的定值,即用户愿意为服务正常运行选择的多余成本;
Figure FDA0002520563100000041
表示无效成本;
n表示用户允许的云服务器数量;
Cj表示第j台云服务器的计算资源配置目标解集;
Utarget表示云服务器可以承载的下一时刻的计算资源使用量;
Cuser表示用户选定的用于创建云服务器的预设云服务器配置集合;
基于上述限制条件,通过优化算法优化上述用户成本函数,得到计算资源配置目标解集,所述优化算法包括但不限于遗传算法。
9.根据权利要求1、2或3所述的云环境下基于负载回归预测的弹性伸缩方法,其特征在于将计算资源配置目标解集与计算资源配置当前解集进行重排并计算得出差异,基于差异选择合适的水平伸缩方式或垂直伸缩方式,包括如下步骤:
对计算资源配置目标解集C和计算资源配置当前解集Creal中的元素进行重排,使得计算资源配置目标解集C和计算资源配置当前解集Creal的相似性最大化以减少后续伸缩活动的变更时间;
计算计算资源配置目标解集C和计算资源配置当前解集Creal之间的差异Cdiff,计算公式为:
Cdiff=C-Creal
根据Cdiff中每个元素选择水平伸缩方式或垂直伸缩方式,具体为:
如果Cdiff,j>0,且Creal,j=0,则水平扩展第j台云服务器到Cj对应规格;
如果Cdiff,j=-Creal,j,且Creal,j≠0,则删除第j台云服务器,即水平缩容;
如果Cdiff,j>0,且Creal,j≠0,则垂直扩容第j台云服务器到Cj对应规格;
如果Cdiff,j<0,但Cdiff,j>-Creal,j,且Creal,j≠0,则垂直扩容第j台云服务器到Cj对应规格;
如果Cdiff,j=0,不对第j台云服务器进行伸缩活动。
上述过程可设置为定时任务,周期性调整和管理计算资源。
10.可读存储介质,为计算机可读存储介质,其特征在于所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,程序指令当被处理器执行时所述处理器执行如权利要求1-9任一项所述的云环境下基于负载回归预测的弹性伸缩方法。
CN202010489641.3A 2020-06-02 2020-06-02 云环境下基于负载回归预测的弹性伸缩方法及可读存储介质 Pending CN111638959A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010489641.3A CN111638959A (zh) 2020-06-02 2020-06-02 云环境下基于负载回归预测的弹性伸缩方法及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010489641.3A CN111638959A (zh) 2020-06-02 2020-06-02 云环境下基于负载回归预测的弹性伸缩方法及可读存储介质

Publications (1)

Publication Number Publication Date
CN111638959A true CN111638959A (zh) 2020-09-08

Family

ID=72329627

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010489641.3A Pending CN111638959A (zh) 2020-06-02 2020-06-02 云环境下基于负载回归预测的弹性伸缩方法及可读存储介质

Country Status (1)

Country Link
CN (1) CN111638959A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112527498A (zh) * 2020-12-03 2021-03-19 哈尔滨工程大学 一种服务资源弹性扩缩容处理方法
CN112925608A (zh) * 2021-02-26 2021-06-08 平安付科技服务有限公司 基于机器学习的智能扩缩容方法、装置、设备及存储介质
CN112965813A (zh) * 2021-02-10 2021-06-15 山东英信计算机技术有限公司 一种ai平台资源调控方法、系统及介质
CN113225211A (zh) * 2021-04-27 2021-08-06 中国人民解放军空军工程大学 细粒度的服务功能链扩展方法
CN113612635A (zh) * 2021-07-29 2021-11-05 西安电子科技大学 基于水平/垂直伸缩结合的网络切片实例资源分配方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160034835A1 (en) * 2014-07-31 2016-02-04 Hewlett-Packard Development Company, L.P. Future cloud resource usage cost management
CN105631196A (zh) * 2015-12-22 2016-06-01 中国科学院软件研究所 一种面向微服务架构的容器级弹性资源供给系统及方法
CN106201718A (zh) * 2016-07-05 2016-12-07 北京邮电大学 一种基于负载预测的云计算资源动态伸缩方法
CN106933650A (zh) * 2017-03-03 2017-07-07 北方工业大学 云应用系统的负载管理方法及系统
CN107995039A (zh) * 2017-12-07 2018-05-04 福州大学 面向云软件服务的资源自学习与自适应分配方法
CN109918194A (zh) * 2019-01-16 2019-06-21 深圳壹账通智能科技有限公司 智能化扩容缩容方法、装置、计算机设备及存储介质
CN110990159A (zh) * 2019-12-25 2020-04-10 浙江大学 一种基于历史数据分析的容器云平台资源配额预测方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160034835A1 (en) * 2014-07-31 2016-02-04 Hewlett-Packard Development Company, L.P. Future cloud resource usage cost management
CN105631196A (zh) * 2015-12-22 2016-06-01 中国科学院软件研究所 一种面向微服务架构的容器级弹性资源供给系统及方法
CN106201718A (zh) * 2016-07-05 2016-12-07 北京邮电大学 一种基于负载预测的云计算资源动态伸缩方法
CN106933650A (zh) * 2017-03-03 2017-07-07 北方工业大学 云应用系统的负载管理方法及系统
CN107995039A (zh) * 2017-12-07 2018-05-04 福州大学 面向云软件服务的资源自学习与自适应分配方法
CN109918194A (zh) * 2019-01-16 2019-06-21 深圳壹账通智能科技有限公司 智能化扩容缩容方法、装置、计算机设备及存储介质
CN110990159A (zh) * 2019-12-25 2020-04-10 浙江大学 一种基于历史数据分析的容器云平台资源配额预测方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112527498A (zh) * 2020-12-03 2021-03-19 哈尔滨工程大学 一种服务资源弹性扩缩容处理方法
CN112965813A (zh) * 2021-02-10 2021-06-15 山东英信计算机技术有限公司 一种ai平台资源调控方法、系统及介质
CN112925608A (zh) * 2021-02-26 2021-06-08 平安付科技服务有限公司 基于机器学习的智能扩缩容方法、装置、设备及存储介质
CN113225211A (zh) * 2021-04-27 2021-08-06 中国人民解放军空军工程大学 细粒度的服务功能链扩展方法
CN113225211B (zh) * 2021-04-27 2022-09-02 中国人民解放军空军工程大学 细粒度的服务功能链扩展方法
CN113612635A (zh) * 2021-07-29 2021-11-05 西安电子科技大学 基于水平/垂直伸缩结合的网络切片实例资源分配方法
CN113612635B (zh) * 2021-07-29 2022-08-12 西安电子科技大学 基于水平和垂直伸缩结合的网络切片实例资源分配方法

Similar Documents

Publication Publication Date Title
CN111638959A (zh) 云环境下基于负载回归预测的弹性伸缩方法及可读存储介质
US9106589B2 (en) Predicting long-term computing resource usage
US8346921B1 (en) Predictive governing of dynamic modification of program execution capacity
CN106484540B (zh) 一种资源配置方法及装置
US20200089624A1 (en) Apparatus and method for managing storage of data blocks
US20140282520A1 (en) Provisioning virtual machines on a physical infrastructure
US9571347B2 (en) Reactive auto-scaling of capacity
US7930573B2 (en) Workload apportionment according to mean and variance
WO2021104096A1 (zh) 容器云环境下的任务调度方法、装置、服务器及存储装置
US20150312169A1 (en) Adaptive Resource Management
US8626902B2 (en) Modeling and reducing power consumption in large IT systems
WO2021103790A1 (zh) 容器的调度方法、装置和非易失性计算机可读存储介质
CN109766175A (zh) 面向高性能计算在云上的资源弹性伸缩系统及其调度方法
US20230359512A1 (en) Predicting expansion failures and defragmenting cluster resources
US8024542B1 (en) Allocating background workflows in a data storage system using historical data
CN111966449B (zh) 一种虚拟机备份管理方法、系统、终端及存储介质
CN113434253B (zh) 集群资源调度方法、装置、设备及存储介质
CN111078404B (zh) 一种计算资源确定方法、装置、电子设备及介质
CN101374076A (zh) 一种电信业务支撑系统服务器处理能力预测与规划方法
CN111414070A (zh) 一种机箱功耗管理方法、系统及电子设备和存储介质
Dittakavi Deep Learning-Based Prediction of CPU and Memory Consumption for Cost-Efficient Cloud Resource Allocation
CN116467082A (zh) 一种基于大数据的资源分配方法及系统
CN114416355A (zh) 资源调度方法、装置、系统、电子设备及介质
US11722558B2 (en) Server-side resource monitoring in a distributed data storage environment
CN109933433A (zh) 一种gpu资源调度系统及其调度方法

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

Application publication date: 20200908