一种基于ARIMA和小波变换的云数据中心请求流预测方法与流程

文档序号:14686478发布日期:2018-06-15 02:51阅读:224来源:国知局

本发明涉及一种基于ARIMA和小波变换的云数据中心请求流预测方法。



背景技术:

随着通信技术的发展,云计算已经成为互联网提供的新的一种服务模式,而云计算所具有的高可扩展性、灵活性和对资源的高效利用等特点使得其获得了庞大的用户量,更进一步促使了云计算的飞速发展。云数据中心是云计算的一个重要应用,随着云计算的广泛发展,云数据中心也变得越来越重要,它通过将基础设施中的物理机虚拟化和池化从而得到多个相互隔离的虚拟机,以此为基础,云数据中心向用户提供各种计算服务,用户将请求发送给云数据中心后,这些请求流会被调度到底层虚拟机节点上运行。对云计算服务提供商而言,为了维持对用户请求的高效处理,云数据中心需要保持大量硬件设备的长时间运行,维持设备运行和散热需要大量的能源,随着用户数量的增长和请求复杂度的提升,云数据中心的耗能过大的问题越发彰显。

为了解决上述问题,研究人员主要从软件优化调度和降低硬件能源消耗两个方面对其进行研究。对于硬件而言,能源主要消耗于两方面,一是维持处理器、硬盘或其他组件的正常工作,二则是维持散热设备的正常运行,前者通过调整各个组件的工作架构以实现组件功能的高效完成,对于后者,将云数据中心建在高维度寒冷地区是有效的解决方案。但是硬件方面的解决方案往往代表着较高的成本,对于已有的云数据中心而言,无论是更换资源池中物理机的设备还是将数据中心迁移到寒冷区域,都需要云数据中心供应商提供大量的资金。

与硬件方案不同的是软件方面的解决方案仅需要很少的资金就可以实现对云数据中心现有资源池的高效利用,所以对于大部分供应商而言更愿意采用软件方面的解决方案,即通过提升资源池中各个工作节点的工作效率,在现有研究方案中,主要从两个方面实现资源池的高效利用。第一个方面是将到达云数据中心的请求在尽可能短的时间内处理完成并返回给用户,目前存在很多种优化调度算法通过最小化请求在云数据中心内部网络转发时间和请求在底层节点中的处理时间来实现这一优化目标,有效的降低了云数据中心底层节点的运行时长。对云数据中心而言,请求的数量是随着时间而波动不定的,如果仅仅从第一个方面来优化,云数据中心需要提供恒定数目的底层节点,所以提出了第二个方面的优化方案,即通过资源需求的变化实现弹性改变底层节点的运行数目,在第一个方面的优化基础上,大大提升了云数据中心的性能,有效提高了能源的利用效率。目前关于资源需求的变化主要基于对底层节点资源使用情况的历史数据来预测未来的资源需求量,而对资源使用历史数据的利用会带来两点不足,一是加重了底层节点的工作负担,工作节点需要使用额外的资源监控并收集当前设备的使用情况,二是资源使用数据并不能直接的反应云数据中心用户的需求特征,为了解决这个问题,现有研究将预测重点放在到达云数据中心的请求流数量上,建立请求流的预测模型,得到下一时刻的请求到达数目,然后结合优化调度算法来决定底层工作节点的数目,本发明即在此基础之上提出的一种新的请求流预测模型。



技术实现要素:

针对以上现有技术的不足,本发明提供一种基于ARIMA和小波变换的云数据中心请求流预测方法,以实现预测云数据中心下一个时间段的请求到达数量,从而实现动态调整云数据中心底层工作节点的数量,最终达到以软件优化的方式降低云数据中的能源消耗,提升能源利用率。

根据本发明的一个方面,提供了对云数据中心历史请求数据集的处理算法,包括:从原始请求数据集中以一定的时间粒度提取请求流序列,处理每一条请求记录并获取其时间戳,将时间戳转化为真实时间,设置时间序列的时间粒度大小,按照时间粒度将历史请求数据集所持续的时间划分为多段,统计每一个时间段内的请求流数量,最终获得时间粒度可以灵活调控的请求流数量时间序列,利用Savitzky-Golay算法对序列进行平滑以实现降低原始序列中含有的噪声,提升最终预测模型的准确度,最后采用差分的方法对平滑序列进行平稳处理,采用ADF算法判断序列是否平稳,为下一步建模提供了一条平稳的时间序列。

根据本发明的另一方面,提供了对云数据中心请求数目的预测模型,包括:挖掘原始平稳序列更深层次信息的特征提取算法,利用尺度为1的改进后的哈尔小波对序列进行分解,最终得到两条分别包含原始平稳序列细节和趋势信息的特征序列。进而对得到的特征序列分别建立ARIMA模型,根据模型可以得到每一种特征的预测结果,利用小波重建从而得到下一时刻的请求数目。

根据本发明的上述方面,针对目前云数据中心处理应用请求的模式,基于ARIMA和小波变换的请求流数量预测方法的基础上,获得了下一时刻即将到达云数据中心的请求流数量,实现了按需求调整云数据中心底层节点,优化能源利用率,提高请求调度效率并提高用户体验,使得云数据中心提供商的效益最大化。

本发明的目的通过以下技术方案来实现:

一种基于ARIMA和小波变换的云数据中心请求流预测方法,该方法包括如下步骤:

1)获取到云数据中心请求流到访数据集后,以五分钟为时间粒度,统计期间到达的请求流数量,最终获得一条请求流时间序列;

2)利用Savitzky-Golay算法对请求流时间序列进行平滑操作;

3)对2)中获得的平滑序列进行ADF平稳性检验,如果不能通过检验,差分序列使其平稳;

4)在2)和3)的基础上获得一条平稳的差分请求流时间序列,为了获得序列更深层次的特征信息,使用小波分解对序列进行处理,从而得到原始序列的细节和趋势两种特征序列;

5)对4)中获得的两部分特征序列分别进行ARIMA建模,得到两部分特征的预测模型,继而可以得到两条包含下一时刻特征的新序列;

6)在5)的基础上,使用小波还原处理两条新的信息序列,得到一条包含预测信息的差分序列,进而最终可以得到下一时刻到达云数据中心的请求流数量。

进一步,通过云数据中心请求流到达记录生成请求序列的构造算法。

进一步,使用窗口大小为5的三次Savitzky-Golay算法平滑请求流时间序列。

进一步,使用Savitzky-Golay算法生成的拟合点代替原始序列中点,拟合函数形式如下:

其中,

i)n代表窗口中当前点的序号;

ii)p(n)表示第n个拟合点的值;

iii)N代表拟合函数的次数;

iv)ak代表拟合函数的第k个参数;

v)y(n)表示第n个点的真实值。

进一步,通过ADF检验确定平滑后的序列是否平稳,如果不平稳则对序列进行差分处理。

进一步,在进行ADF检验时,把请求流序列视为一条p阶自回归序列,然后判断这个自回归序列的特征方程是否存在单位根,如果存在单位根,那么判定序列不平稳,对序列进行差分操作使序列平稳;如果不存在单位根,那么此时的请求流时间序列属于平稳序列,可以进行下一步建模操作。

进一步,在请求流序列不能通过ADF检验后,通过差分操作使得序列平稳,差分函数为:

yt=xt+1-xt t∈[1,L]

其中,

i)t代表中当前值的在序列中的位置;

ii)yt表示差分序列中的第t个差分值;

iii)xt代表原始序列中的第t个值;

iv)L代表原始序列的长度。

进一步,对于平稳后的序列,使用尺度为1的哈尔小波分解对原始序列进行更深层次的挖掘,得到平稳序列的细节信息和趋势信息,两部分信息表示如下:

Detailn=xn+1-xn n∈[1,t-1]

Trendn=xn+1+xn n∈[1,t-1]

其中,

i)Detailn是指细节信息中第n个信息的值;

ii)Trendn是指趋势信息中第n个信息的值;

iii)xn表示原始序列中第n个值;

iv)t表示原始序列的长度。

进一步,使用ARIMA算法对小波分解后的两条序列进行建模,最后模型表现形式如下:

xt=a1xt-1+a2xt-2+...+apxt-p+εt+β1εt-1+...+βqεt-q

其中:

i)p指的是p阶自回归过程;

ii)q指的是q阶移动平均过程;

iii)xt表示时间序列中的第t个值;

iv)αn是指自回归函数中p个参数中的第n个值;

v)εt表示整个移动移动平均过程的q个高斯误差中的第t个值;

vi)βt表示移动平均过程中q个参数中的第t个值。

进一步,对原始序列细节部分和趋势部分的序列建立预测模型,在得到各自的预测值之后,使用小波还原最终计算出差分请求流时间序列的预测值,小波还原函数形式如下所示:

其中:

Diffi指的是差分序列的第i个值。

进一步,使用差分还原算法对差分序列进行反差分处理,进而推导出下一时刻的请求流数量,还原函数形式如下:

其中:

i)mi指的是差分序列的第i个预测值;

ii)d指的是平稳序列的差分次数;

iii)xi表示平稳序列的第i个值。

本发明的优点在于:

1.该方法能够较其他方法更为准确的预测下一刻到达云数据中心的请求流数量。

2.对请求序列的预处理操作可以有效地消除原始序列中所含有的噪声,与其他预处理方法相比,可以有效地提升预测模型的预测精度。

3.结合优化调度算法,可以有效地降低用户请求的响应时间,提高用户使用满意度,进而实现云数据中心提供商利润最大化。

附图说明

图1一种基于ARIMA和小波变换的云数据中心请求流预测方法组成示意图;

图2请求流时间序列预处理流程图;

图3建立预测模型流程图。

具体实施方式

如图1所示,本发明提供一种基于ARIMA和小波变换的云数据中心请求流预测方法,其包括以下步骤:

第一步原始序列生成及平滑算法

该方法根据云数据中心历史请求到访记录,利用每一条请求记录的时间戳,获得所有请求的时间分布,设定时间粒度的大小,按照时间粒度将请求数据集所处的时间段划分为多个短时间段,统计每一个短时间段内到达云数据中心的请求流数量,最终获得一条表示某一时间段内时间变化相同的情况下到访云数据中心请求流变化的序列,接下来的预测模型就以这条请求流数量序列为基础而建立。

然而,原始序列中包含很多噪声,还有因云数据中心物理故障或者其他突发事件而导致的异常请求流数量,如果在建立预测模型时不将这些值剔除,或极大的影响模型的预测精度,所以这里采用Savitzky-Golay平滑算法对原始序列进行平滑,经过多次试验,确定了效果最好的窗口大小为5的三次Savitzky-Golay平滑算法,从原始序列中的第一个位置开始,一次选中接下来的四个数字,然后以这五个数字为一个窗口,假设存在一个三次函数可以拟合这五个数字,然而大多数情况下,这样的函数是不存在的,这样求解问题转化为一个优化问题,为了得到最优解,利用最小二乘法求解出一个与五个点拟合程度最好的函数,该函数在所有对应点的拟合值与真实值之间误差平方和最小,最后用这个拟合窗口中心点的拟合值代替中心点真实值,此时当前窗口的平滑操作已经结束,窗口滑动到第二个位置,重复上述平滑操作,一直到序列的最后。在这个平滑算法中,由于仅仅替换中心点,所以原始开始和结束的位置不会被平滑,在本发明中,我们用第一个窗口和最后一个窗口拟合函数的拟合值来替换不能被平滑的点。经过上述操作可以获得一条平滑序列,经过试验证明,上述平滑操作可以有效的提升预测模型的预测精度。

第二步对平滑序列进行处理以获得平稳序列

经过上一步的操作后,我们获得一条平滑序列,因为后续建模方法的限制,需要保证这条时间序列是平稳的,即没有明显的趋势,且先前发生的点对未来不会有持续影响。为了判断当前平滑序列是否平稳,本发明采用ADF检验的方式来确定当前序列的平稳性,首先假定当前序列是一个q阶自回归过程,利用已知的数据求出其特征方程的特征根,如果一条序列是不平稳的,那么其特征方程一定有一个根在单位圆之外,对应则有特征方程各项系数之和为一,说明对于此时的序列而言,之前发生的点会对未来产生持续的影响,所以当前序列不能通过ADF检验。

目前对于非平稳序列的平稳化操作中,差分和季节差分可以有效实现序列的平稳化,前者可以去除序列中存在的趋势性,差分后的序列不会存在明显的趋势特征,而后者则可以去除原始序列中的周期因素。在本发明所获得的请求流数量时间序列中,没有发现明显的周期特征,所以仅仅对原始序列进行差分,而在一次差分后,获得的差分序列通过了ADF检验,即差分序列是一条平稳序列,至此,得到一条可以被用于建立预测模型的平稳序列,与未经过平稳操作的序列相比,所建立的模型预测精度有显著提升,前两步的处理流程如图2所示。

第三步平稳序列的特征提取及建模

在获得平稳序列后,采用尺度为1的哈尔小波变换来获得更深层次的序列特征信息,其主要计算可以用以下两个公式表示:

Detailn=xn+1-xn n∈[1,t-1]

Trendn=xn+1+xn n∈[1,t-1]

经过这一步操作,两条分别代表平稳序列细节和趋势成分的特征序列被获得,对两条特征序列建立ARIMA模型,进一步需要确定ARIMA模型的自回归阶数和移动平均阶数,在传统研究中,这两个参数可以通过序列的自相关函数和偏自相关函数的图像来确定,分别观察这两个函数图像在第几个位置发生截断现象,即可确定参数的值。在对平稳后的请求流时间序列的分析中,该序列的自相关函数和偏自相关函数均表现为拖尾现象,所以为了确定两个参数,本发明以AIC信息准则为衡量,测试不同的阶数组合,从而最终选择AIC最小的两个参数。在确定两个过程的阶数后,即可建立对应的ARIMA方程,利用大量的历史数据,结合最小二乘法求出模型最优解,最终得到模型函数的结构如下所示:

xt=a1xt-1+a2xt-2+...+apxt-p+εt+β1εt-1+...+βqεt-q

对于基于此模型可以预测到下一时刻流量的趋势和细节两个特征值,这一步的处理过程如图3所示。

第四步基于预测特征的还原算法

经过第三步的处理,获得了平稳序列的两个特征的预测值,但此时得到的仅仅是两条包含有预测特征值的特征序列,所以下一步采用哈尔小波还原算法重构出差分平稳序列,进而得到一条包含预测信息的差分序列,进一步,为了推导出下一时刻到达云数据中心的请求流数量,还需要对差分序列进行反差分,反差分的表达式如下所示:

最终得到下一时刻到达云数据中心的请求流数量。

本发明的基于ARIMA(Auto-Regressive Integrated Moving Average)和小波变换的云数据中心请求流预测方法。该方法消除了原始请求序列数据中可能存在的极值点和噪声点并对其进行平稳化操作,然后对处理后的请求序列进行小波分解从而得到不同分辨率下的特征序列,最后,利用ARIMA对特征序列建立预测模型。在这一过程中,生成原始序列并采用窗口大小为5的三次Savitzky-Golay平滑算法对原始序列进行滑动平滑,从而有效地消除序列中的噪声对下一步特征提取的干扰;在此基础上,对平滑后的序列进行差分得到一条通过ADF平稳性检验的平稳序列;随后为了获得更深层次的特征信息,利用尺度为1的哈尔小波分解对平稳序列进行处理,分别获得包含平稳序列细节和趋势信息的特征序列,使用ARIMA对两条特征序列分别进行建模,预测出下一时刻两部分特征的值;最后使用还原算法对包含预测信息的序列进行重构,从而得到下一时刻到达云数据中心的请求流数量。本发明为云数据中心预测出下一时间段的负载大小,结合有效的调度算法,可以提高云数据中心节点运行效率,提升用户体验,并且确保云数据中心供应商的利润最大化。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1