基于ARIMA的自适应低代价SDN业务流吞吐量测量方法及系统与流程

文档序号:15567193发布日期:2018-09-29 03:37阅读:204来源:国知局

本发明涉及sdn网络技术领域,尤其涉及一种基于arima的自适应低代价sdn业务流吞吐量测量方法及测量系统。



背景技术:

流量测量是流量工程的基础,其目的是为获取网络中业务流的统计信息,从而计算链路利用率等网络参数,其性能对网络性能管理,qos等有着重要的影响。

传统ip网络中,常用的流量测量技术有sflow和netflow。sflow是通过采样的方式收集业务流的统计信息,然后发送给sflow收集器。sflow可以写入交换机的asic,因此可以大大减少收集统计信息时cpu的负担,不会对交换机的线速度产生影响,并且可以保证永远在线。netflow基于软件实现,使用高速缓存对业务流的统计信息进行采样或完全收集,然后将收集到的统计信息传送给中央收集器。netflow可以提供丰富和精确的业务流统计信息,但当监测的业务流规模增大时会给cpu和缓存带来很大负担。

软件定义网络是新一代的网络范式,该范式将数据平面与控制平面分离,控制平面可以将分布式的网络状态集中起来并为用户应用提供一个全局视图。这种范式相较之传统ip网络,在网络管理,网络虚拟化,qos等方面有诸多优势。

近年来,软件定义网络中针对业务流的测量方法已有较多的研究。flowsense是一种基于openflow协议的业务流监测方法。flowsense使用业务流的第一个报文到达交换机时交换机发出的packetin消息和流表项被移除时交换机发出的flowremoved消息收集业务流的统计信息,这种方式可以使控制器被动地接受业务流的统计信息,而不会因控制器的轮询造成网络开销。然而,这种测量方法不适用于细粒度的业务流测量。目前适用于细粒度业务流测量的方法有opennetmon,opensample,payless,cemon等等。

目前的自适应业务流测量方法通常基于当前吞吐量或近期吞吐量的特征调整控制器的轮询速率。然而现实场景中,业务流的吞吐量特征有可能动态变化,上述方法在吞吐量特征发生变化是容易对未来吞吐量的预测发生误判,从而导致控制器不能及时调整轮询周期去适应业务流的变化。



技术实现要素:

本发明克服了现有技术的局限性,提出了一种基于arima的自适应低代价sdn业务流吞吐量测量方法。

本发明提出了一种基于arima的自适应低代价sdn业务流吞吐量测量方法,包括以下步骤:

s1.获取指定业务流的吞吐量数据:控制器根据业务流的吞吐量测量需求通过周期性地对交换机主动轮询获取并存储指定业务流的统计信息,然后基于所述统计信息计算并存储当前的吞吐量;

s2.建立业务流吞吐量的arima模型:控制器基于业务流的吞吐量时间序列建立该业务流的arima模型,其处理步骤如下:

步骤s201控制器取出指定业务流的业务流信息表;

步骤s202控制器从指定业务流的业务流信息表中获取业务流的吞吐量时间序列,并根据吞吐量变化率判断该业务流是否是cbr业务流;如果该业务流是cbr业务流,则跳转至步骤s203;如果该业务流不是cbr业务流,则跳转至步骤s204;

步骤s203控制器对业务流的吞吐量时间序列进行线性插值;

步骤s204控制器对业务流的吞吐量时间序列进行分形插值;

步骤s205控制器将业务流的吞吐量时间序列分割为k个子序列,分别计算其样本均值,样本方差和样本自相关函数,并采用统计检验法判断是否平稳,如果业务流的吞吐量时间序列不平稳,则跳转至s206;如果业务流的吞吐量时间序列平稳,则跳转至步骤s207;

步骤s206控制器对业务流的吞吐量时间序列进行一阶差分处理;

步骤s207控制器基于样本自相关系数和偏自相关系数估算p,q阶的取值范围,并使用aic信息准则法进行模型识别,选取arima模型最优的p,q阶;

步骤s208控制器使用数值解法计算模型参数的矩估计;

s3.控制器基于arima模型预测下个轮询周期内业务流的吞吐量变化率;

s4.如果吞吐量变化率的预测值大于阈值参数max,控制器减小其轮询周期;如果吞吐量变化率的预测值小于阈值参数min,控制器增大其轮询周期;如果吞吐量变化率的预测值在阈值参数max和阈值参数min之间,控制器的轮询周期不变。

其中,所述控制器的轮询周期为交换机中流表项字节计数器的更新周期的整数倍。

其中,所述吞吐量时间序列的时间步长为交换机中流表项字节计数器的更新周期。

其中,所述下个轮询周期内的吞吐量变化率为下个轮询周期内的吞吐量的标准差其中xi是下个轮询周期内的吞吐量数据点,μ是下个轮询周期内吞吐量的平均值,n是下个轮询周期内吞吐量数据点的个数。

基于以上发明方法,本发明还提出了一种基于arima的自适应低代价sdn业务流吞吐量测量系统,包括:吞吐量数据获取模块、arima模型建立模块、变化率预测模块及轮询周期调整模块。

其中,所述吞吐量数据获取模块,用于根据业务流的吞吐量测量需求通过周期性地对交换机主动轮询获取并存储指定业务流的统计信息,然后基于所述统计信息计算并存储当前的吞吐量;所述arima模型建立模块,用于基于业务流的吞吐量时间序列建立该业务流的arima模型;所述变化率预测模块,用于基于arima模型预测下个轮询周期内业务流的吞吐量变化率;所述轮询周期调整模块,用于当吞吐量变化率的预测值大于阈值参数max时,减小其轮询周期;当吞吐量变化率的预测值小于阈值参数min时,增大其轮询周期;当吞吐量变化率的预测值在阈值参数max和阈值参数min之间,轮询周期不作调整。

本发明的有益效果:

本发明首次提出了一种基于arima的自适应低代价sdn业务流吞吐量测量方法及测量系统,可以使控制器以较低的网络开销获得较高准确度的网络业务流吞吐量数据。

本发明还有以下优点:控制器在对网络业务流的吞吐量进行测量时,能够基于arima模型预测业务流吞吐量并基于业务流吞吐量的预测值来确定下一次轮询的时间周期,避免了使用传统自适应吞吐量测量方法的情况下,在业务流的吞吐量发生变化时控制器调整轮询周期的行为滞后的现象。

本发明适用于具有短相关性,且长相关性和突发性较弱的vbr业务流,例如监控视频的vbr业务流,主播直播视频的vbr业务流,和新闻类视频的vbr业务流等等。

附图说明

图1是本发明基于arima的自适应低代价sdn业务流吞吐量测量方法工作流程示意图。

图2是本发明建立业务流吞吐量的arima模型的工作流程图。

图3是本发明基于arima的自适应低代价sdn业务流吞吐量测量系统的结构示意图。

图4是本发明基于arima的自适应低代价sdn业务流吞吐量测量系统在软件定义网络中的部署示意图。

具体实施方式

结合以下具体实施例和附图,对本发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。

图1是本发明基于arima的自适应低代价sdn业务流吞吐量测量方法工作流程示意图。如图1所示,本发明基于arima的自适应低代价sdn业务流吞吐量测量方法主要包括四个阶段:获取并存储指定业务流的吞吐量数据,建立业务流吞吐量的arima模型,基于arima模型对下一周期内业务流的吞吐量变化率进行预测,以及根据下一周期内业务流的吞吐量变化率自适应调整控制器轮询周期。

获取并存储指定业务流的吞吐量数据:

业务流的测量需求通过restfulapi以json的形式被发送给基于openflow的sdn控制器,控制器在本地数据库中建立业务流的测量需求表来存储不同的业务流的测量需求。业务流的测量需求中有交换机编号,流表编号和流表项匹配字段。交换机编号唯一匹配sdn网络中的一个openflow使能的交换机,流表编号唯一匹配交换机中的一个流表。

控制器根据测量需求向sdn网络中的openflow使能的交换机发送flowstatsrequset消息,交换机返回给控制器flowstatsreply消息,控制器从flowstatsreply消息提取出业务流的统计信息。业务流的统计信息包括字节计数,报文计数。控制器根据业务流的统计信息计算出当前的业务流的吞吐量其中tn是当前轮询的时刻,tn-1是上次轮询的时刻,分别是当前轮询和上次轮询得到的业务流的字节计数值。

控制器在本地数据库中采用一个业务流信息表来存储业务流在不同时刻的统计信息,吞吐量。控制器通过计算得到指定业务流的当前的吞吐量数值后,将该数值添加到本地数据库中。

建立业务流吞吐量的arima模型:

建立业务流吞吐量的arima模型需要针对业务流的特征做不同的插值处理。图2是建立业务流吞吐量的arima模型的工作流程图。如图2所示,建立业务流吞吐量的arima模型包括以下步骤:

步骤s201控制器取出指定业务流的业务流信息表,并跳转至步骤s202。

步骤s202控制器从指定业务流的业务流信息表中获取业务流的吞吐量时间序列,并根据吞吐量变化率判断该业务流是否是cbr业务流。如果该业务流是cbr业务流,则跳转至步骤s203;如果该业务流不是cbr业务流,则跳转至步骤s204。

步骤s203控制器对业务流的吞吐量时间序列进行线性插值,并跳转至步骤s205。

步骤s204控制器对业务流的吞吐量时间序列进行分形插值,并跳转至步骤s205。

步骤s205控制器将业务流的吞吐量时间序列分割为k个子序列,分别计算其样本均值,样本方差和样本自相关函数,并采用统计检验法判断是否平稳,如果业务流的吞吐量时间序列不平稳,则跳转至s206;如果业务流的吞吐量时间序列平稳,则跳转至步骤s207。

步骤s206控制器对业务流的吞吐量时间序列进行一阶差分处理,如果差分序列平稳则跳转到步骤s207。

步骤s207控制器基于样本自相关系数和偏自相关系数估算p,q阶的取值范围,并使用aic信息准则法进行模型识别,选取arima模型最优的p,q阶,并跳转到步骤s208。

步骤s208控制器使用数值解法计算模型参数的矩估计。

基于arima模型对下一周期内业务流的吞吐量变化率进行预测:

控制器基于arima模型对下一周期内业务流的吞吐量变化率进行预测。已知指定业务流吞吐量的arima模型的参数和p,q阶,以及指定业务流吞吐量的时间序列。控制器通过计算得到下一个轮询周期时间内所有时刻的吞吐量预测值。

根据下一周期内业务流的吞吐量变化率自适应调整控制器轮询周期:

控制器根据下一周期内业务流的吞吐量变化率自适应调整控制器轮询周期。控制器根据指定业务流在下一周期内的吞吐量数据计算吞吐量变化率。如果吞吐量变化率大于阈值max,则控制器减小轮询指定业务流的轮询周期;如果吞吐量变化率小于阈值min,则控制器增大轮询指定业务流的轮询周期;其他情况,则不更改指定业务流的轮询周期。

如图3所示的基于arima的自适应低代价sdn业务流吞吐量测量系统的结构,其包括:吞吐量数据获取模块、arima模型建立模块、变化率预测模块及轮询周期调整模块。

吞吐量数据获取模块,用于根据业务流的吞吐量测量需求通过周期性地对交换机主动轮询获取并存储指定业务流的统计信息,然后基于统计信息计算并存储当前的吞吐量。

arima模型建立模块,用于基于业务流的吞吐量时间序列建立该业务流的arima模型。

变化率预测模块,用于基于arima模型预测下个轮询周期内业务流的吞吐量变化率。

轮询周期调整模块,用于当吞吐量变化率的预测值大于阈值参数max时,减小其轮询周期;当吞吐量变化率的预测值小于阈值参数min时,增大其轮询周期;当吞吐量变化率的预测值在阈值参数max和阈值参数min之间,轮询周期不作调整。

如图4所示基于arima的自适应低代价sdn业务流吞吐量测量系统在软件定义网络中的部署示意图,其包括openflow使能的交换机网络,openflow控制器和流量测量模块。

openflow使能的交换机网络,是数据平面的主要组成部分,主要由openflow交换机构成。openflow交换机通过其openflow通道与openflow控制器在网络中互相发送openflow消息实现通信。

openflow控制器,是控制平面的主要组成部分,基于openflow协议通过与交换机通信来控制其行为和获取网络状态,以实现对网络的配置和管理。

流量测量模块,是基于arima的自适应低代价sdn业务流吞吐量测量方法的实现,位于控制平面。流量测量模块通过控制器提供的api获取业务流的统计信息,并计算出控制器下一次轮询的时刻。

本发明的保护内容不局限于以上实施例。在不背离发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。

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