发明内容
针对相关技术中无法准确判断未来出现流量溢出的问题,本发明提出一种流量溢出的判断方法和装置,能够准确预测未来的流量,避免浪费带宽。
本发明的技术方案是这样实现的:
根据本发明的一个方面,提供了一种流量溢出的判断方法,该判断方法包括:
对历史流量进行统计,根据统计结果确定历史流量的分布特性;
根据确定的分布特性预测未来时刻的流量变化;
根据预测的流量变化判断未来出现流量溢出的可能性。
其中,根据自回归模型统计历史流量的分布特性、并预测未来时刻的流量变化。
并且,根据以下公式对历史流量进行统计:
其中,2n为时间长度,
为通过在2n时刻内估计得到的平均流量值,X
i表示第i个时刻的样本取值,t表示当前时刻编号。
该方法进一步包括:
根据以下公式进行流量方差估计:
其中,
为估计得到的流量方差。
该方法进一步包括:
通过以下公式表示历史流量:
其中,y=[x
t x
t-1…x
t-n]
T,
ε=[ε
t ε
t-1…ε
t-n]
T,ε为随机数,
此外通过以下公式对矩阵
依据最大似然准则进行最小二乘估计:
该方法进一步包括:
根据以下公式对变量xi进行中心化:
另外,根据以下公式预测未来时刻的流量变化:
其中,
为权重值,
为预测得到的当前时刻的下一时刻的流量。
而且,如果
大于y
max,则确定下一时刻的流量存在溢出的可能性,
为预测得到的当前时刻的下一时刻的流量。
根据本发明的另一个方面,提供了一种流量溢出的判断装置,该判断装置包括:
确定模块,用于对当历史流量进行统计,根据统计结果确定历史流量的分布特性;
预测模块,用于根据确定的分布特性预测未来时刻的流量变化;
判断模块,用于根据预测的流量变化判断未来出现流量溢出的可能性。
本发明通过对历史流量的统计结果确定历史流量的分布特性,根据确定的分布特性预测未来时刻的流量变化,并根据预测的流量变化判断未来出现流量溢出的可能性,从而实现流量的准确预测,进而实现合理的迁移等后续操作,避免资源的浪费,提高资源利用率。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明的一个实施例,提供了一种流量溢出的判断方法。
如图1所示,根据本发明实施例的流量溢出的判断方法包括:
步骤S101,对历史流量进行统计,根据统计结果确定历史流量的分布特性;
步骤S103,根据确定的分布特性预测未来时刻的流量变化;
步骤S105,根据预测的流量变化判断未来出现流量溢出的可能性。
其中,根据自回归模型(Auto Regressive,简称AR模型,又称为时间序列模型,是一种线性预测,即已知N个数据,可由模型推出第N点前面或后面的数据)统计历史流量的分布特性、并预测未来时刻的流量变化。
并且,根据以下公式对历史流量进行统计:
其中,2n为时间长度,
为通过在2n时刻内估计得到的平均流量值,X
i表示第i个时刻的样本取值,t表示当前时刻编号。
该方法进一步包括:
根据以下公式进行流量方差估计:
其中,
为估计得到的流量方差。
该方法进一步包括:
通过以下公式表示历史流量:
通过以下矩阵来表示该公式:
其中,y=[x
t x
t-1…x
t-n]
T,
ε=[ε
t ε
t-1…ε
t-n]
T,ε为随机数,
此外通过以下公式对矩阵
依据最大似然准则进行最小二乘估计:
该方法进一步包括:
根据以下公式对变量xi进行中心化:
另外,根据以下公式预测未来时刻的流量变化:
其中,
为权重值,
为预测得到的当前时刻的下一时刻的流量。
而且,如果
大于y
max,则确定下一时刻的流量存在溢出的可能性,
为预测得到的当前时刻的下一时刻的流量。
根据本发明的一个实施例,提供了一种流量溢出的判断装置。
如图2所示,根据本发明流量溢出的判断装置包括:
确定模块21,用于对当历史流量进行统计,根据统计结果确定历史流量的分布特性;
预测模块22,用于根据确定的分布特性预测未来时刻的流量变化;
判断模块23,用于根据预测的流量变化判断未来出现流量溢出的可能性。
自回归模型是时序序列分析中最基础且最为实用的时序模型,它通过随机差分方程的形式对随机系统进行描述,不仅可以揭示动态数据本身的结构与规律,还可以描述观测数据之间的联系。更重要的是AR模型作为良好的预测模型,可以在数理统计的基础上进一步预测系统未来值,从而为系统控制提供参考依据。
AR(n)模型可视作多元线性回归模型,如下式(1)所示:
式中Y
t表示当前时刻系统输出值,Y
t-i表示前i时刻系统输出值,
表示前i时刻的输出权重,ε
t为t时刻的系统输入随机变量,服从均值为0,方差为σ
2的正态分布,即ε
t~N(0,σ
2)。
本发明的技术方案分为以下几个步骤:
步骤A,历史数据统计特征:
本发明将前2n时刻内计算节点流量数据视为已知变量,通过该模型(AR模型)推断此后时间序列中的流量分布,因此需要首先求得流量记录的统计特征。
假设需要对前p个时刻内计算节点网络流量进行统计分析,由样本统计公式可知,
前2n时刻内计算节点网络流量均值估计为,如下式(2)所示:
前2n时刻内计算节点网络流量方差估计为,如下式(3)所示:
步骤B,模型参数估计:
据此,对AR模型公式进行改写,将式(1)改为状态方程,如下式(4)所示:
此时可写为矩阵形式,如下式(5)所示:
式中,式(6)为:
y=[xt xt-1…xt-n]T;
式(7)为:
式(8)为:
ε=[εt εt-1…εt-n]T;
式(9)为:
其中上角标T表示矩阵转置。
根据多元回归理论,可以对式(4)-式(9)中矩阵
依据最大似然准则进行最小二乘估计(ordinary least square,简称OLS),估计值为,如下式(10)所示:
其中(·)-1表示矩阵求逆。
该最小二乘估计
为真值
的无偏估计,需要用到前2n时刻内系统流量数据。
需要注意的是,AR模型要求各变量为0均值随机变量,因此式(4)-式(9)中变量x均需中心化,即用该时刻计算节点实际流量减去前2n时刻内平均流量,如下式(11)所示:
步骤C,时间序列预测:
取得了历史数据的统计特征与AR模型参数估计后,就可以使用已建立的AR模型预测未来时刻的计算节点网络流量。
根据式(1)对未来流量进行估计,如下式(12)所示:
该结果反应了未来t+1时刻计算节点流量与已知的t-n+1到t时刻网络流量的相关关系,同时ε
t+1体现了t+1时刻由随机性产生的预测误差,其均值为0,方差为
在忽视系统预测误差的条件下,可以把随机性误差视为唯一预测误差。将
作为t+1时刻网络流量的估计值可以在最大似然准则条件(ML)下得到最小均方误差(MSE)。
步骤D,预测误差分析:
分析t+1时刻计算节点网络流量的与测试可以发现,该预测值由两部分组成,其一是根据历史数据与参数估计计算出来的流量预期,另一部分是随机性误差εt+1。
AR模型要求随机性误差满足高斯白噪声模型ε~N(0,σ2),所以可以根据正态分布函数计算出预测值的置信范围。
正态分布的概率密度函数为,如下式(13)所示:
ε的期望为0,因此随机性误差小于指定目标y的概率为,如下式(14)所示:
假设计算节点流量承载极限是一个确定值ymax,则经过AR模型估计,下一时刻总体流量小于ymax的概率为,如下式(15)所示:
由正态分布特征可知,
也就意味着,当希望下一时刻计算节点负载有95%以上概率可以满足预期流量,则要求计算节点流量承载极限高于下一时刻流量预测值
与1.96倍样本统计标准差
之和。
因此,
是否大于y
max可作为计算节点是否存在流量溢出风险的统计判据。
本发明的上述方案能够适用于诸如云计算网络的多种网络系统,有效解决流量溢出判断的问题,提高判断的准确度。
本申请技术方案中的判定策略以AR(n)模型为基础,模型阶数的差异将直接反映系统的稳定性与复杂度。当n较小时,系统仅以最接近的时间序列作为参考依据,预测值变化快、波动大,较适宜反映流量快速变化的系统情况,同时算法的空间复杂度与时间复杂度均相对较低;当n较大时,系统将依据较长一段时间内流量数据进行预测,可以淡化瞬时峰值的影响,适宜反映流量相对平稳的系统情况。
综上所述,本发明提出了一种基于AR时间序列模型的云计算网络流量溢出判定策略。该策略可依据一段时间内网络带宽实际用量预测后续时间内带宽使用情况,并将下一时间段内流量溢出概率作为判定依据。当溢出的可能性超过一定限度时才认为计算节点存在溢出风险。采用统计学方法对预测情况进行评估,并将下一时间段内流量溢出概率作为是否流量溢出的判定依据。因此可避免阈值判定中峰值迁移、带宽浪费等问题。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。