一种基于软件定义网络的服务感知的流策略定制方法与流程

文档序号:14879516发布日期:2018-07-07 09:21阅读:144来源:国知局

本发明属于流量调度技术领域,尤其涉及一种基于软件定义网络的服务感知的流策略定制方法。



背景技术:

目前,业内常用的现有技术是这样的:流量调度问题是传统网络中流量工程问题的一种,在sdn软件定义网络中通常将流量调度称为流调度。流量调度策略并不完全统一,针对大部分流量使用相同的流调度策略,如负载均衡、最短路径等。但往往,还有许多类型的流量需要区分对待,用于满足用户所需的高质量的传输需求(如关键应用和多媒体应用流量等),对于这部分流量,将其称为服务流,需要定制化特殊的方案来对其识别分类和调度。然而目前流量分类技术有深度包检测技术(dpi)和支持向量机的机器学习方式。但前者只能识别分类出数据库中已知应用程序的流,对于网络中新出现的应用程序产生的流无法识别,并且这不是一个有效的识别服务类别流的方法,因为很多不同的应用程序可能属于同一个服务类别,而后者的分类准确度还能再提高。对分类出来的服务流对其进行满足多个qos(服务质量)约束级别的调度,而调度的本质就是要计算出一条满足多个约束条件的路径。然而现有的求解多约束qos路经问题的方法,虽然可以为某个服务流寻找到一条满足多约束条件的路径,保证该流传输的服务质量,但并不能保证整个网络链路的负载均衡。原因如下,目前在多约束qos路由上做的比较好的属于最大最小蚁群算法,但它的约束条件往往只考虑了时延、剩余带宽、抖动、丢包率等,虽然它能够在较短时间计算出一条满足上述4个约束条件的最优路径,但是当某个时段业务种类增多时,高质量的链路上可能会承载更多的业务流量,而低质量的链路上业务流量很低,造成了负载不均衡的现象。造成上述问题主要的原因是没有充分考虑全网的拓扑和链路状态信息。

综上所述,现有技术存在的问题是:现有的流量调度策略对于网络中新出现的应用程序产生的流无法识别,因而难以准确的为所有的流提供高质量的服务,对分类出来的服务流进行满足多个qos(服务质量)约束级别的调度时,没有充分考虑全网的拓扑和链路状态信息,并不能保证整个网络链路的负载均衡,可能出现某段链路负载很高而某段链路负载很低和时常空闲等负载不均衡问题。



技术实现要素:

针对现有技术存在的问题,本发明提供了一种基于软件定义网络的服务感知的流策略定制方法。

本发明是这样实现的,一种基于软件定义网络的服务感知的流策略定制系统,所述基于软件定义网络的服务感知的流策略定制系统包括:

数据转发层,用于基本的网络数据的传输;

控制器层,包括基本控制器模块和服务流模块;

基本控制器模块用于sdn网络事件管理;

服务流模块由服务流识别与分类模块和服务流策略调度模块两部分组成;协同工作用于完成流的服务级别分类与调度;

初步流检测用于对大象流进行识别,服务分类模型使用深度神经网络作为分类器对大象流进一步做服务级别的分类,同时历史数据库用于采集流信息作为新的训练样本用于后续某时段对服务分类模型进行再训练以提高模型的自适应性;

slave控制器,用于防止主控制器宕机。

进一步,所述服务流识别分类模块运用机器学习中的深度神经网络算法作为训练模型,对历史数据库中的大量流数据样本进行训练,并通过神经网络算法中的前向传播和逆向反馈不断迭代更新权重w和偏置b,训练出一个深度神经网络的分类器。

进一步,所述策略调度模块用于对识别分类模块中识别出的服务流进行满足多qos约束的路径计算,运用最大最小蚁群算法,并将链路利用率作为附加约束条件。

本发明的另一目的在于提供一种实现所述基于软件定义网络的服务感知的流策略定制系统的计算机程序。

本发明的另一目的在于提供一种实现所述基于软件定义网络的服务感知的流策略定制系统的信息数据处理终端。

本发明的另一目的在于提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行所述的基于软件定义网络的服务感知的流策略定制系统。

本发明的另一目的在于提供一种所述基于软件定义网络的服务感知的流策略定制系统的基于软件定义网络的服务感知的流策略定制方法,所述基于软件定义网络的服务感知的流策略定制方法包括:

运用机器学习中的深度神经网络算法作为训练模型,对历史数据库中的大量流数据样本进行训练,并通过神经网络算法中的前向传播和逆向反馈不断迭代更新权重w和偏置b,训练出一个深度神经网络的分类器,并加入弹性机制自适应调整分类模型的粗细粒度;

对识别分类模块中识别出的服务流进行满足多qos约束的路径计算,其中运用到了最大最小蚁群算法,并将链路利用率作为附加约束条件,使用评价指标计算路径评分,同时对于多约束qos路径算法找不到可行解的情况,将保证剩余最大带宽为主要约束,然后加入惩罚因子对不满足约束的路径做惩罚幂计算,最后根据路径的最终评分来选择最优路径。

进一步,所述流信息采集方法如下:当检测到大象流时,会有p的概率被复刻一份存储到历史数据库中,其中p的值依赖于网络状态;如果该流被选择存储,特征信息将被提取并存储到控制器的历史数据库中;

所述服务分类模型将识别出的服务流信息交由服务流策略调度模块中做处理,通过对服务信息的评估制定qos约束条件,使用改进的蚁群算法计算可行路径,然后将得到的路径信息再交由基础控制器模块的流表读写中进行转发策略的安装;手动策略管理用于网络管理员自主调整策略。

本发明的另一目的在于提供一种实现所述基于软件定义网络的服务感知的流策略定制方法的计算机程序。

本发明的另一目的在于提供一种实现所述基于软件定义网络的服务感知的流策略定制方法的信息数据处理终端。

本发明通过神经网络训练出对服务流的分类模型,能弹性粒度划分应用层各种相似服务的流量,并且集成在sdn集中控制中,从而达到对服务流智能感知的能力,同时还具备信息采集和模型再训练的机制,使分类模型具有自适应性,能够满足未来网络的变化,对新应用程序所产生的流具备较好的识别能力;改进后的流调度算法能够为服务流提供qos(服务质量)的保障,同时为服务流计算的路径对全网链路负载的影响总是趋于负载均衡的;本发明是一种在sdn网络中实施智能化的流识别和调度方法,通过实验图进一步分析,通过图2所示本发明所用到的深度神经网络算法与其他两个算法相比有较好的分类准确度,并且通过图3所示本发明的流调度算法在发现最优路径时拥有较快的收敛速度和较少的迭代次数,能充分利用负载较低的链路,快速提供满意的转发策略。

附图说明

图1是本发明实施例提供的基于软件定义网络的服务感知的流策略定制系统结构示意图。

图2是本发明实施例提供的基于软件定义网络的服务感知的流策略定制方法不同类别服务流的分类精确度示意图。

图3是本发明实施例提供的本发明的算法在计算最优路径时的迭代速度和收敛性的示意图;

图中:其中fitness值表示路径评分,其值越大路径越优,best_fitness和avg_fitness越接近表示越收敛,其中utilization表示路径利用率和,在迭代次数达到25次后就没有再变化,既找到最优路径解。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

下面结合附图对本发明的应用原理作详细的描述。

如图1所示,本发明实施例提供的附图1给出本流程架构图中的各模块功能作用:其中数据转发层是用于基本的网络数据的传输,控制器层包括两大块,基本控制器模块和服务流模块。基本控制器模块具备基础的sdn网络事件管理功能,如交换机设备的管理、网络拓扑的收集与发现、链路状态事件的监听、外部api的控制、转发流表的安装与读写等。而服务流模块由服务流识别与分类模块和服务流策略调度模块两部分组成,协同工作用于完成流的服务级别分类与调度,其中初步流检测用于对大象流进行识别,服务分类模型使用深度神经网络作为分类器对大象流进一步做服务级别的分类,同时历史数据库用于采集流信息作为新的训练样本用于后续某时段对服务分类模型进行再训练以提高模型的自适应性,服务分类模型将识别出的服务流信息交由服务流策略调度模块中做处理,通过对服务信息的评估制定qos约束条件,使用改进的蚁群算法计算可行路径,然后将得到的路径信息再交由基础控制器模块的流表读写中进行转发策略的安装。手动策略管理用于网络管理员自主调整策略,最右边的slave控制器是为了防止主控制器宕机而做的高可用);

图3中fitness值表示路径评分,其值越大路径越优,best_fitness和avg_fitness越接近表示越收敛,其中utilization表示路径利用率和,在迭代次数达到25次后就没有再变化,既找到最优路径解)。

如图1所示,本发明实施例提供的基于软件定义网络的服务感知的流策略定制方法,通过扩展控制器的基础模块,开发出服务流识别分类和服务流策略调度两个模块,分别处理流的分类和调度功能;

在服务流识别分类模块中运用机器学习中的深度神经网络算法作为训练模型,对历史数据库中的大量流数据样本进行训练,并通过神经网络算法中的前向传播和逆向反馈不断迭代更新权重和偏置,最终训练出一个深度神经网络的分类器;为了使深度神经网络的分类器具有自适应性,加入一种定期的流信息采集方法,将采集到的新流信息存储在历史数据库中,用于重新培训分类器以使其适应未来网络的变化,加入一种弹性机制,能根据网络需求自适应调整分类粒度的粗细,在网络繁忙时以粗粒度进行服务流分类,以减少网络控制器计算负担,而在网络空闲时能较细粒度分类服务流类别,如表中所示的多媒体服务流可以更细粒度分为在线多媒体视频服务和离线多媒体视频服务流,同理其他类别服务流也可按此规则细粒度划分,以提高用户的弹性体验;

策略调度模块用于对识别分类模块中识别出的服务流进行满足多qos约束的路径计算,其中运用到了最大最小蚁群算法,并将链路利用率作为附加约束条件,对于多约束qos路径算法找不到可行解的情况,将保证剩余最大带宽为主要约束,同时将放宽没有满足约束的那一项条件,通常对它进行可容忍程度的放宽,进行次优级别路径计算。

所述的深度神经网络的分类器能过对需要识别的流进行准确的分类,判断其属于哪一类别的服务流,通常被送往分类器的需要被识别的流往往是“大象流”,大象流的检测是在初步流检测模块中完成的。

所述流信息采集方法如下:当检测到“大象”流时,该流会有p的概率被复刻一份存储到历史数据库中,其中p的值依赖于网络状态;如果该流被选择存储,那么他的特征信息将被提取并存储到控制器的历史数据库中。

深度神经网络一共包括7层,其中含5个隐层,一个输入层一个输出层。通过图2所示的实验结果,发现9个特征值已经可以很好满足分类精确度。因此输入层x包含9个特征输入神经元x(x1,x2,x3,...,x9),输出层y包含5个输出神经元y(y1,y2,...,y5),其中(x1,x2,x3,...,x9)分别表示前五个包的大小、前五个包的达到时间、前五个包到达间隔时间、源主机mac地址、目的主机mac地址、源主机ip地址、目的主机ip地址、源端口、目的端口、流的持续时间、字节计数、报文计数等,然后对上述特征值进行z-score处理,使得输入数据标准化;而其中(y1,y2,...,y5)分别表示语音/视频会议的服务流、交互式数据的服务流、多媒体的服务流、批量数据传输的服务流以及非服务流。以上两个输入输出神经元的具体含义如下表所述。

多约束qos路径选择算法通过将时延、抖动、丢包率、剩余最大带宽和最小利用率等指标作为约束条件,构成数学模型

其中fi(e)(i=1,2,..m)分别表示某一段链路e上的时延、丢包、抖动、最大带宽、利用率等,并且fi(p)要保证不超过单条路径上的约束临界值,fi(e)要保证不超过单条链路上的约束临界值,然后对该数学模型使用最大最小蚁群算法求解,便可以得到一条最优的路径。

一种对未知的传输流进行服务感知和qos级别的调度方法:

(1)当服务器a产生流量到客户b时,首先它会在进入的第一个openflow交换机中进行流表匹配,若匹配到相对应的流表,则会执行安装在该openflow交换机中的流表的转发动作,完成按照已有策略的直接转发,如果该流量并没有匹配到对应的转发流表,openflow交换机会向控制器发送packet_in消息询问控制器为该流表制定相应的转发策略。

(2)通过南向接口openflow协议发往控制器的packet_in消息会包含该流量的相关信息,控制器的监听模块监听到packet_in消息后会将它送往服务流识别分类模块进行处理。首先该模块会对收到的packet_in消息进行解析,获取其流量的协议类型和相关参数,然后对解析后的流量进行安全检测,如果检测到属于恶意类型,将会拒绝服务并向openflow交换机下发一个丢弃该流量的转发策略;如果流量安全性正常,并且该流量属于简单服务类型,将直接交由控制器的基础转发模块进行处理;而如果属于“大象流”,进行步骤三。

(3)需要将其送往服务分类模型中进行分类,并以p的概率存储一份到历史数据库中。在服务分类模型中可以对送入的流进行准确的分类,推断其所属的服务流。

(4)服务流策略调度模块接收到服务流识别分类模块发送来的服务流的类别信息后,将会对该服务进行评估,找出满足该服务流的各项qos约束条件的指标,然后将各个qos约束条件的指标组合成多约束的数学模型,使用最大最小蚁群算法求解最优路径。

(5)对于多约束找不到可行解的情况,加入惩罚因子以防止没有可行解的情况发生,用惩罚因子对不满足约束的路径进行一定程度惩罚幂计算,惩罚因子的取值能在很大程度上保证不满足约束的解得分一定是劣于满足约束的节得分,因此在存在满足约束的路径时,一定是存在满足约束的最优路径,而在找不到满足约束的路径时,也能通过惩罚得分找出次优路径。

(6)服务流策略调度模块计算出一条最优路径的时候,它会将该路径生成策略信息通知给基础模块中流表模块,流表模块将会按照策略信息的指示安装转发流策略到需要的openflow交换机,这样,该服务流将会按照上述步骤计算得到的路径进行传输。该条路径能够合理的满足其服务质量,并且保证整个网络的链路利用始终趋于负载均衡的状态。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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