网络控制策略的生成方法、装置及网络控制器技术领域
本发明实施例涉及网络数据路由领域,并且更具体地,涉及网络控制策略的生成方
法、装置及网络控制器,以及其应用的网络数据路由方法及装置。
背景技术
传统网络控制策略生成过程一般是将问题转化为一系列的优化问题。优化问题的输
入为网络的拓扑结构,网络中链路的带宽,网络的流量矩阵等;而优化问题的解则一般
为优化得到的网络端到端的路径,或者是发送端的发送速率等。传统网络控制策略生成
方法具有如下的缺陷:1、优化问题一般通过线性规划或者整数规划得到。受限于线性规
划或者整数规划的复杂度,该方法可扩展性比较弱,尤其是随着网元数量,业务类型和
流量的不断增加,优化求解将变得过于复杂而无法求解或求解代价(如计算时间)过大。同
时这种通过离线优化的方案难以实现动态即时的策略调整。2、当网络状态信息,比如拓
扑发生变化(节点增加或减少),需要重新进行优化问题求解。重新求解优化问题,一
方面具有明显滞后性,另一方面需要大量的人力配置以使优化模型适应新的场景。这些
缺陷使得由传统网络控制策略生成方法生成的网络控制策略导致网络控制效率低下。
发明内容
本发明实施例提供一种网络控制策略的生成方法、装置及网络控制器,具有自我学
习功能,能够自适应的动态调整控制策略。
第一方面,本发明实施例提供,一种网络控制策略的生成方法,应用于SDN网络,
所述方法包括:
获取网络的网络状态数据;
根据所述网络状态数据估计网络状态信息,并根据所述网络状态信息预测所述网络
下一时刻状态信息,所述网络状态信息用于描述所述网络的网络链路情况、所述网络中
网元队列情况、所述网络的网络数据流分布情况;
接收当前进入所述网络的数据流,对所述数据流进行预处理得到数据流预处理结果;
应用当前网络控制策略根据所述网络状态信息、所述网络下一时刻状态信息以及所
述数据流预处理结果生成控制动作;
根据所述控制动作控制所述网络,并得到经所述控制动作控制的所述网络的反馈信
息;
根据所述反馈信息对所述当前网络控制策略进行实时调整得到下一时刻网络控制策
略。
结合第一方面,在第一方面的第一种可能的实现方式中,所述网络状态数据包括网
络当前状态数据,所述网络状态信息包括网络当前状态信息,在所述根据所述网络状态
数据估计所述网络状态信息之前,所述方法还包括:
发送状态采集命令;
接收根据所述状态采集命令采集得到的网络当前状态数据;
对应地,所述根据所述网络状态数据估计所述网络状态信息具体包括:
根据所述网络当前状态数据估计所述网络当前状态信息,所述网络当前状态信息包
括网络当前链路情况、网络中当前网元队列情况、网络当前数据流分布情况。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,
所述网络状态信息还包括网络历史状态信息,所述根据所述网络状态信息预测所述网络
下一时刻状态信息之前,所述方法还包括:
从数据库获取网络历史状态信息;
对应地,所述根据所述网络状态信息预测所述网络下一时刻状态信息包括:根据所
述网络当前状态信息和所述网络历史状态信息预测所述网络下一时刻状态信息。
结合第一方面、第一方面的第一种可能的实现方式或第一方面的第二种可能的实现
方式中任意一种可能的实现方式,在第一方面的第三种可能的实现方式中,
所述根据所述网络状态信息预测所述网络下一时刻状态信息为:
其中表示所述网络下一时刻状态信息,其中St-τ表示所述网络状态信息,且
0≤τ≤L;其中L为所述网络状态信息的时间窗口长度,其中f为线性函数或非线性函
数。
结合第一方面、第一方面的第一种可能的实现方式至第一方面的第三种可能的实现
方式中任意一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述对所述
数据流进行预处理得到数据流预处理结果,包括:
提取所述数据流的特征,所述特征包括数据包报头五元组、数据包长度序列或数据
包到达时间间隔序列;
通过所述特征对所述数据流进行时空数据挖掘处理和/或因果关系分析处理,得到处
理结果;
根据所述处理结果对所述数据流打标签得到所述数据流的标签,所述数据流的标签
为所述数据流预处理结果。
结合第一方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,
所述应用当前网络控制策略根据所述网络状态信息、所述网络下一时刻状态信息以及所
述数据流预处理结果生成控制动作为:
其中表示所述网络下一时刻状态信息,其中St表示所述网络状态信息,其中li表
示所述数据流的标签,其中i表示第i个数据流,其中πt表示所述当前网络控制策略,其
中表示以St,li作为条件变量的当前网络控制策略下a的概率分布,
其中a为控制变量,在所述控制变量a的概率分布中随机采样得到所述控制动作ai。
第二方面,本发明实施例提供一种网络控制策略的生成方法,应用于SDN网络,所
述方法包括:
接收网络的网络状态信息,网络下一时刻状态信息,数据流预处理结果;其中,所
述网络状态信息用于描述所述网络的网络链路情况、所述网络中网元队列情况、所述网
络的网络数据流分布情况,所述网络下一时刻状态信息是根据所述网络状态信息进行预
测得到的,所述数据流预处理结果是对当前进入网络的数据流进行预处理得到的;
应用当前网络控制策略根据所述网络状态信息、所述网络下一时刻状态信息以及所
述数据流预处理结果生成控制动作;所述控制动作用于控制所述网络并得到经所述控制
动作控制的所述网络的反馈信息;
接收所述网络的反馈信息,并根据所述反馈信息对所述当前网络控制策略进行实时
调整得到下一时刻网络控制策略。
结合第二方面,在第二方面的第一种可能的实现方式中,所述网络下一时刻状态信
息是根据所述网络状态信息进行预测得到的,其中所述预测的方法为:
其中表示所述网络下一时刻状态信息,其中St-τ表示所述网络状态信息,且
0≤τ≤L;其中L为所述网络状态信息的时间窗口长度,其中f为线性函数或非线性函
数。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实
现方式中,所述数据流预处理结果是对当前进入网络的数据流进行预处理得到的,其中
所述预处理的方法包括:
提取所述数据流的特征,所述特征包括数据包报头五元组、数据包长度序列或数据
包到达时间间隔序列;
通过所述特征对所述数据流进行时空数据挖掘处理和/或因果关系分析处理,得到处
理结果;
根据所述处理结果对所述数据流打标签得到所述数据流的标签,所述数据流的标签
为所述数据流预处理结果。
第三方面,本发明实施例提供一种网络控制策略的生成方法,应用于SDN网络,所
述方法包括:从所述SDN网络接收反馈信息,并将所述反馈信息转发给控制模块,用于
使所述控制模块根据所述反馈信息对当前网络控制策略进行实时调整得到下一时刻网络
控制策略;其中,所述反馈信息是根据上一时刻网络运行中所述控制模块发出的控制动
作对所述网络进行控制得到的。
第四方面,本发明实施例提供一种网络控制策略的生成装置,应用于SDN网络,所
述装置包括:
获取模块,用于获取网络的网络状态数据;
预测模块,用于根据所述网络状态数据估计网络状态信息,并根据所述网络状态信
息预测所述网络下一时刻状态信息,所述网络状态信息用于描述所述网络的网络链路情
况、所述网络中网元队列情况、所述网络的网络数据流分布情况;
流数据预处理模块,用于接收当前进入所述网络的数据流,对所述数据流进行预处
理得到数据流预处理结果;
控制模块,用于应用当前网络控制策略根据所述网络状态信息、所述网络下一时刻
状态信息以及所述数据流预处理结果生成控制动作;
执行模块,用于根据所述控制动作控制所述网络,并得到经所述控制动作控制的所
述网络的反馈信息;
所述控制模块还用于接收所述网络的反馈信息,并根据根据所述反馈信息对所述当前
网络控制策略进行实时调整得到下一时刻网络控制策略。
结合第四方面,在第四方面的第一种可能的实现方式中,所述网络状态数据包括网
络当前状态数据,所述网络状态信息包括网络当前状态信息,所述预测模块具体用于:
发送状态采集命令;
接收根据所述状态采集命令采集得到的网络当前状态数据;
根据所述网络当前状态数据估计所述网络当前状态信息,所述网络当前状态信息包
括网络当前链路情况、网络中当前网元队列情况、网络当前数据流分布情况。
结合第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,
所述网络状态信息还包括网络历史状态信息,所述预测模块还用于:从数据库获取网络
历史状态信息;并根据所述网络当前状态信息和所述网络历史状态信息预测所述网络下
一时刻状态信息。
结合第四方面、第四方面的第一种可能的实现方式或第四方面的第二种可能的实现
方式中任意一种可能的实现方式,在第四方面的第三种可能的实现方式中,所述预测模
块具体用于:
其中表示所述网络下一时刻状态信息,其中St-τ表示所述网络状态信息,且
0≤τ≤L;其中L为所述网络状态信息的时间窗口长度,其中f为线性函数或非线性函
数。
结合第四方面、第四方面的第一种可能的实现方式至第四方面的第三种可能的实现
方式中任意一种可能的实现方式,在第四方面的第四种可能的实现方式中,所述流数据
预处理模块包括:
提取单元,用于提取所述数据流的特征,所述特征包括数据包报头五元组、数据包
长度序列或数据包到达时间间隔序列;
挖掘分析单元,用于通过所述特征对所述数据流进行时空数据挖掘处理和/或因果关
系分析处理,得到处理结果;
标识单元,用于根据所述处理结果对所述数据流打标签得到所述数据流的标签,所
述数据流的标签为所述数据流预处理结果。
结合第四方面的第四种可能的实现方式,在第四方面的第五种可能的实现方式中,
所述控制模块具体用于:
其中表示所述网络下一时刻状态信息,其中St表示所述网络状态信息,其中li表
示所述数据流的标签,其中i表示第i个数据流,其中πt表示所述当前网络控制策略,其
中表示以St,li作为条件变量的当前网络控制策略下a的概率分布,
其中a为控制变量,在所述控制变量a的概率分布中随机采样得到所述控制动作ai。
第五方面,本发明实施例提供一种网络控制策略的生成装置,应用于SDN网络,所
述装置包括:
接收模块,用于接收网络的网络状态信息,网络下一时刻状态信息,数据流预处理
结果;其中,所述网络状态信息用于描述所述网络的网络链路情况、所述网络中网元队
列情况、所述网络的网络数据流分布情况,所述网络下一时刻状态信息是根据所述网络
状态信息进行预测得到的,所述数据流预处理结果是对当前进入网络的数据流进行预处
理得到的;
控制模块,用于应用当前网络控制策略根据所述网络状态信息、所述网络下一时刻
状态信息以及所述数据流预处理结果生成控制动作,所述控制动作用于控制所述网络并
得到经所述控制动作控制的所述网络的反馈信息;
所述控制模块还用于接收所述网络的反馈信息,并根据所述反馈信息对所述当前网络
控制策略进行实时调整得到下一时刻网络控制策略。
结合第五方面,在第五方面的第一种可能的实现方式中,所述网络下一时刻状态信
息是根据所述网络状态信息进行预测得到的具体为:
其中表示所述网络下一时刻状态信息,其中St-τ表示所述网络状态信息,且
0≤τ≤L;其中L为所述网络状态信息的时间窗口长度,其中f为线性函数或非线性函
数。
结合第五方面或第五方面的第一种可能的实现方式,在第五方面的第二种可能的实
现方式中,所述数据流预处理结果是对当前进入网络的数据流进行预处理得到的具体包
括:
提取所述数据流的特征,所述特征包括数据包报头五元组、数据包长度序列或数据
包到达时间间隔序列;
通过所述特征对所述数据流进行时空数据挖掘处理和/或因果关系分析处理,得到处
理结果;
根据所述处理结果对所述数据流打标签得到所述数据流的标签,所述数据流的标签
为所述数据流预处理结果。
第六方面,本发明实施例提供一种网络控制器,应用于SDN网络,用于从所述SDN
网络接收反馈信息,并将所述反馈信息转发给控制模块,用于使所述控制模块根据所述
反馈信息对当前网络控制策略进行实时调整得到下一时刻网络控制策略;其中,所述反
馈信息是根据上一时刻网络运行中所述控制模块发出的控制动作对所述网络进行控制得
到的。
本发明中根据网络状态信息预测网络下一时刻状态信息,并对当前进入所述网络的
数据流进行预处理得到数据流预处理结果,从而应用当前网络控制策略根据所述网络状
态信息、所述网络下一时刻状态信息以及所述数据流预处理结果生成控制动作,根据该
控制动作控制所述网络以得到反馈信息,所述反馈信息是根据所述控制动作对所述网络
进行控制得到的,最后根据所述反馈信息对所述当前网络控制策略进行实时调整得到下
一时刻网络控制策略。这样,网络控制策略总是动态的根据当前的数据及网络情况进行
实时的优化和调整,即本文所称自适应。每一个时刻都有针对本时刻网络及数据所需要
的最优的网络控制策略,根据实时更新的网络控制策略对网络进行控制以此提高网络控
制效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用
的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对
于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得
其他的附图。
图1是部署本发明实施例提供的网络控制策略的生成方法的数据传输网络架构图;
图2是本发明实施例提供的网络控制策略的生成方法200的示意性流程图;
图3是本发明实施例提供的执行网络控制策略的生成方法200的结构图示例;
图4是本发明实施例提供的执行网络控制策略的生成方法200的另一结构图示例;
图5是本发明实施例提供的执行网络控制策略的生成方法200的又一结构图示例;
图6是本发明实施例提供的网络控制策略的生成方法600的示意性流程图;
图7是本发明实施例提供的执行网络控制策略的生成方法600的结构图示例;
图8是本发明实施例提供的网络控制策略的生成方法800的示意性流程图;
图9是本发明实施例提供的网络控制策略的生成装置900的结构框图;
图10是本发明实施例提供的网络控制策略的生成装置1000的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整
地描述,显然,所述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发
明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他
实施例,都应属于本发明保护的范围。
本发明所提供的网络控制策略的生成方法可以在如图1所述的数据传输网络100中
部署和实施。所述数据传输网络100包括有中央控制服务器110,源服务器120,网络交
换机130,传输网络140,客户端设备150,预测服务器160,及训练服务器170。
所述中央控制服务器110为所述传输网络100的核心处理设备,其分别与网络交换
机130,传输网络140,客户端设备150,预测服务器160及训练服务器170相互连接,
用于与网络交换机130,传输网络140,训练服务器170及预测服务器160进行信息交流,
指令传递及网络数据传输。同时,源服务器120,网络交换机130,传输网络140,客户
端设备150,训练服务器170及预测服务器160之间可以根据不同的业务需求及功能需求
相互连接,进行信息及指令的交互。以下,将详细介绍各个设备的功能及组成。
中央控制服务器110主要由处理器、存储器及数据接口等主要部件组成,处理器主
要通过调用存储在存储设备中的处理程序以完成相应处理功能,而数据接口则主要负责
中央服务器110内部的各个器件之间以及中央处理服务器110与外部组件之间的数据收
发。所述的处理器,可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、
专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field
Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器
件、分立硬件组件。可以实现或者执行本发明以下实施例中的公开的各方法、步骤及逻
辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合
本发明实施例所公开的方法中的步骤可以直接体现为硬件译码处理器执行完成,或者用
译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器
(Random Access Memory,RAM)、闪存、只读存储器(Read-Only Memory,ROM)、
可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。
所述中央控制服务器110通过数据接口接受网络交互机130上报的路由请求,该路
由请求中包括了将要路由的当前数据流信息,并将所述路由请求中的当前数据流信息通
过数据接口发送至预测服务器160。预测服务器160根据当前数据流的信息,将网络下一
时刻状态信息作为预测结果发送给中央控制服务器110,中央控制服务器110的中央处理
器将调用存储器中预存的处理程序,根据预测服务器160返回的预测结果及调用的存储
器中存储的当前网络控制策略,生成控制动作该控制动作中包含与当前数据流的类型匹
配的最优的传输路径,随后,中央控制服务器110将根据所述最优的传输路径配置针对
当前数据流的路由,并将配置好的路由发送给网络交换机130。此外,所述中央控制服务
器110还用于通过其数据接口收集由所述网络交换机130上报的已经完成路由的历史数
据流信息,并根据路由前数据和路由后数据得到反馈信息,并将反馈信息发送给训练服
务器170,训练服务器170根据所述反馈信息对所述当前网络控制策略进行实时调整得到
下一时刻网络控制策略。
源服务器120主要由处理器、存储器及数据接口等主要部件组成,处理器主要用于
通过数据接口将存储在存储器内的数据经过网络交换机130及传输网络140发送给客户
端设备150。
网络交换机130,其主要任务是对新进入网络的数据流,即当前数据流,提取数据
流第一个数据包的报头,并上报给中央控制服务器110,等待并根据中央控制服务器110
计算和配置的路由对当前数据流的数据包进行转发。同时,网络交换机130还将收集已
完成路由的历史数据流信息的收集,并上报给中央控制服务器110。
传输网络140,其由传输线缆和多个网络节点构成,主要用于根据网络交换机130
的指令进行数据传输。
客户端设备150,由处理器、存储器及数据接口等主要部件组成,处理器主要用于
将客户的数据请求通过数据接口及网络交换机130发送至源服务器120,并将源服务器
120通过网络交换机130及传输网络140发送的数据内容存储在存储器中。
预测服务器160,可以是独立的处理设备,例如由独立的处理器,存储器,数据接
口组成,所述处理器主要用于调用存储在所述存储器中的处理程序对通过数据接口接收
到的当前数据流的信息进行处理,以对网络下一时刻状态信息进行预测,并将预测得到
的网络下一时刻状态信息通过数据接口发送至中央控制服务器110。其中,所述当前数据
流的信息来自于中央控制服务器110。此外,预测服务器160,也可以是依附于中央控制
服务器110的一个工作单元,即与中央控制服务器110共用相同存储器,数据接口,但
采用不同的处理器,此时,预测服务器160与所述中央控制服务器110之间的数据传输
主要通过中央控制服务器110内部的数据总线完成。此外,所述预测服务器160也可以
和中央控制服务器110共用相同的处理器,所述共用的方式可以是通过利用处理器中不
同的处理资源进行同步(并行处理)或者异步(分时处理)数据处理,或者是利用处理
器中相同的处理资源进行异步(分时处理)处理。此外,所述预测服务器160也可以通
过虚拟机来实现,即由中央控制服务器110利用自身的处理器,存储器,数据接口,通
过调用存储在存储器中的程序模拟出具有完整的硬件系统功能的、运行在一个完全隔离
环境中的完整计算机系统,该计算机系统可以独立完成所有预测服务器160所需完成的
工作而不影响中央控制服务器110自身的运行。可以理解,所述预测服务器160可以进
一步简化为存储在中央控制服务器110的存储器中的一个软件程序,该软件程序由中央
控制服务器110在适合的时机调用,以实现上述的网络下一时刻状态信息预测功能。
训练服务器170,可以是独立的处理设备,由处理器、存储器及数据接口等主要部
件组成,所述处理器主要用于根据接收到的反馈信息对调用的存储于所述存储器中的当
前网络控制策略进行实时调整得到下一时刻网络控制策略,,并将该下一时刻网络控制
策略存储在存储器中供下一次循环的调用。与预测服务器160相同,所述训练服务器170
也可以是依附于中央控制服务器110的一个工作单元,即与中央控制服务器110共用相
同存储器,数据接口,但采用不同的处理器,此时,训练服务器170与中央控制服务器
110之间的数据传输主要通过中央控制服务器110内部的数据总线完成。此外,训练服务
器170也可以和中央控制服务器110共用相同的处理器,所述共用的方式可以是通过利
用处理器的不同的处理资源进行同步(并行处理)或者异步(分时处理)的数据处理,
或者是利用处理器中相同的处理资源进行异步(分时处理)数据处理。此外,训练服务
器170也可以通过虚拟机来实现,即由中央控制服务器110利用自身的处理器,存储器,
数据接口,通过调用存储在所述存储器中的程序模拟出具有完整的硬件系统功能的、运
行在一个完全隔离环境中的完整计算机系统,该计算机系统可以独立完成所有训练服务
器170所需完成的工作。可以理解,训练服务器170可以进一步简化为存储在中央控制
服务器110的存储器中的一个软件程序,该软件程序由所述中央控制服务器110在适合
的时机调用,以实现上述的对当前网络控制策略的实时调整及实时更新。
以上为实现本发明网络数据流类型检测的硬件环境,但需要注意的是,上述硬件环
境并不是执行本发明的唯一方式,其可以根据硬件资源,以及业务需求,即数据传输需
求动态的调整,例如将央控制服务器110,网络交换机130,预测服务器160及训练服务
器170集中在一个数据控制中心,以提高处理效率。
即,本发明的方法可以基于上述的应用环境来进行部署及实施。以下将结合附图来
介绍本发明网络数据流类型检测方法。
实施例一:
图2是根据本发明实施例提供的网络控制策略的生成方法200的示意性流程图。该
网络控制策略的生成方法200应用于SDN网络。
S201,获取网络的网络状态数据。
所述网络状态数据是用于表示网络状态的原始数据。
S203,根据所述网络状态数据估计网络状态信息,并根据所述网络状态信息预测所
述网络下一时刻状态信息,所述网络状态信息用于描述所述网络的网络链路情况、所述
网络中网元队列情况、所述网络的网络数据流分布情况。
需要说明书的,我们从具有低层次物理含义的网络状态数据中估计出具有高层次物
理含义的网络状态信息,这个网络状态信息是带有时效性的,即t时刻(我们可以称之
为当前时刻)下的网络状态信息描述的是t时刻的网络链路情况、网络中网元队列情况、
网络数据流分布等情况;在t-1时刻(我们可以称之为历史时刻)下的网络状态信息描述
的是t-1时刻的网络链路情况、网络中网元队列情况、网络数据流分布等情况;在t+1时
刻(我们可以称之为下一时刻或将来时刻)下的网络状态信息描述的是t+1时刻的网络
链路情况、网络中网元队列情况、网络数据流分布等情况,此处不再赘述。
S205,接收当前进入所述网络的数据流,对所述数据流进行预处理得到数据流预处
理结果。
具体的,所述预处理可以包括但不限于通过聚类、分类、回归或因果分析等方式进
行处理。
S207,应用当前网络控制策略根据所述网络状态信息、所述网络下一时刻状态信息
以及所述数据流预处理结果生成控制动作。
S209,根据所述控制动作控制所述网络,并得到经所述控制动作控制的所述网络的
反馈信息。
S211,根据所述反馈信息对所述当前网络控制策略进行实时调整得到下一时刻网络
控制策略。
需要说明的是,本发明实施例提供的网络控制策略的生成方法200中虽然以S201、
S203、S205……等依次增大的数字进行步骤描述,但这些数字并不对本方案中的具体步
骤顺序进行限制,例如,在本方案中S203与S205就没有这样的顺序限制,它们可以同
时发生,也可以S203早于S205,还可以S203晚于S205发生。即本发明实施例中的步
骤顺序只与数据流的走向相关,不与描述的先后相关。
本发明实施例根据网络状态信息预测网络下一时刻状态信息,并对当前进入所述网
络的数据流进行预处理得到数据流预处理结果,从而应用当前网络控制策略根据所述网
络状态信息、所述网络下一时刻状态信息以及所述数据流预处理结果生成控制动作,根
据该控制动作控制所述网络以得到反馈信息,所述反馈信息是根据所述控制动作对所述
网络进行控制得到的,最后根据所述反馈信息对所述当前网络控制策略进行实时调整得
到下一时刻网络控制策略。在下一次网络数据过来时,循环此过程,最后基于下一次的
反馈信息对本次实时调整后得到的下一时刻网络控制策略再进行相应地实时调整,并由
此循环下去。这样,网络控制策略总是动态的根据当前的数据及网络情况进行实时的优
化和调整,即本文所称自适应。每一个时刻都有针对本时刻网络及数据所需要的最优的
网络控制策略,根据实时更新的网络控制策略对网络进行控制以此提高网络控制效率。
具体的,上述实施例可以在图3所示的结构上实现。例如,在控制系统300中,通
过周期性的或者随机触发的向网络中发出采集网络状态数据命令(图中用线段①表示),
SDN控制器基于命令收集这些网络状态数据命令并转发(图中用线段②表示)给相应的
处理装置,由相应的处理装置根据网络状态数据估计出网络状态信息,并由网络状态信
息预测出网络下一时刻的状态信息,值得说明的是,对应于网络下一时刻的状态信息,
此处的网络状态信息用于描述与下一时刻不同的网络状态信息,比如网络历史时刻状态
信息或者网络当前状态信息。同时的,或者早于,或者晚于网络状态数据收集及网络状
态信息估计等动作的时序,SDN控制器将进入网络的当前数据流实时的转发(图中用线
段③表示)给另一个相应的处理装置,这个相应的处理装置对当前进入网络的数据流进
行预处理从而得到数据流预处理结果,之所以要强调数据流预处理的动作与网络状态信
息估计及网络下一时刻状态信息预测动作的先后顺序可以是同时,或早于或晚于,是因
为在现实方案的运行中,原本对此处并不做额外限定,因此无论以何顺序执行上述动作
均在本发明实施例的保护范围之内,不再赘述。网络状态信息、网络下一时刻的状态信
息及数据流预处理结果作为控制模块的输入信息,并且,控制模块将调用缓存设备中或
存储器中的当前网络控制策略,利用网络状态信息、网络下一时刻的状态信息及数据流
预处理结果这些信息根据当前网络控制策略生成控制动作,并将该控制动作输出给SDN
控制器(图中用线段④表示),SDN控制器根据该控制动作对网络执行具体的控制命令。
网络将根据该控制动作产生的控制效果作为反馈信息反馈(图中用线段⑤表示)给SDN
控制器,SDN控制器将该反馈信息转发(图中用线段⑤表示)给控制模块,控制模块根
据反馈信息对当前网络控制策略进行实时调整得到下一时刻网络控制策略,并由控制模
块的缓存设备对该实时的网络控制策略进行缓存或将其存储在存储器中留待下一次循环
的备用。这样,第一次循环生成的控制动作是针对该次循环时刻或时期下网络所需要的
最优的控制动作,这个控制动作被执行之后产生本次反馈信息,由反馈信息得到的下一
时刻网络控制策略,这个下一时刻网络控制策略将作为下一次循环中的当前网络控制策
略进入下一次循环,由此展开接下来第二次循环,第三次循环,第四次循环……以保证
在每一个当前时刻都有针对该当前时刻下的网络状态及数据流信息进行最优的控制从而
提高整个控制系统的控制效率,不再赘述。
值得说明的是,上述图3所示的结构是本方法的一种示例,并不作为唯一的结构限
制,凡是依本发明实施例提供的网络控制策略的生成方法200进行网络控制策略的生成
或网络控制等,就应该被纳入本发明保护范围内,不再赘述。
具体的,如S203步骤所解释,网络状态信息是带有时效性的,对应地,网络状态数
据也应该是带有时效性的,即可以有当前时刻的网络状态数据及网络状态信息,还可以
有历史时刻的网络状态数据和网络状态信息。
具体来看,所述网络状态数据包括网络当前状态数据,所述网络状态信息包括网络
当前状态信息,在上述实施例提供的方法的基础上,本发明实施例提供另一种可选的实
施方式:
在S203根据所述网络状态数据估计所述网络状态信息之前,所述方法还包括:
发送状态采集命令;
接收根据所述状态采集命令采集得到的网络当前状态数据;
对应地,S203、所述根据所述网络状态数据估计所述网络状态信息具体包括:
根据所述网络当前状态数据估计所述网络当前状态信息,所述网络当前状态信息包
括网络当前链路情况、网络中当前网元队列情况、网络当前数据流分布情况。
如上所述,所述网络状态信息还可以包括网络历史状态信息(同理,所述网络状态
数据也还可以包括网络历史状态数据),所述根据所述网络状态信息预测所述网络下一
时刻状态信息之前,所述方法还可以包括:
从数据库获取网络历史状态信息;这里的数据库可以是预存在存储器中数据信息。
对应地,所述根据所述网络状态信息预测所述网络下一时刻状态信息包括:根据所
述网络当前状态信息和所述网络历史状态信息预测所述网络下一时刻状态信息。
具体的,根据网络状态数据估计网络状态信息,并根据网络状态信息预测网络下一
时刻状态信息可以通过如下方式实现:
其中表示所述网络下一时刻状态信息,其中St-τ表示所述网络状态信息,且
0≤τ≤L;其中L为所述网络状态信息的时间窗口长度,其中f为线性函数或非线性函
数。
其中,需要说明的是,根据网络状态数据估计网络状态信息的方法,现实中比较常
见,我们通过举例来说明,例如:我们可以根据采集到的交换机端口计数器数据,估计
交换机的链路利用率;又比如可以通过采集到的交换机队列计数器数据,估计交换机延
迟;再比如通过采集到的交换机流表数据,估计网络中的活跃数据流数量等等。具体的
估计方法细节此处无需赘述,本领域相关技术人员应该理解。
具体的,上述方案可以在图4所示的结构上实现,例如,SDN控制器实时的、或周
期性的、亦或由事件触发型的向网络发出网络状态数据采集命令(图中用线段①表示),
SDN控制器收集该采集得到的网络状态数据Dt并将Dt转发(图中用线段②表示)给相
应的处理装置,在图4的示例中我们叫它状态估计器,该状态估计器根据Dt估计出网络
状态信息St,此处的St用来表示网络当前状态信息,St作为状态预测器的输入(在另一
种实施例中St和来自数据库中的网络历史状态信息St-1,St-2,...一起作为状态预测器的输
入),状态预测器根据上述输入信息进行预测得到网络下一时刻状态信息具体的预
测方法可以为上述方法,此处的f具体表示的函数形式此处不做限定。值得说明的是,
我们根据当前时刻或根据当前时刻及历史时刻的网络状态信息预测得到不一定只能是下
一时刻的网络状态信息,即上文所述的网络下一时刻状态信息,还有可能是下两个时刻,
三个时刻……,我们可以管这个状态信息叫做未来时刻的状态信息,其预测思路与预测
下一时刻的思路一致,另外,如图4所示,我们将估计得到的St存储在数据库中,具体
可以存储在数据库缓存设备中或存储器中,以形成下一时刻的网络历史状态信息留待备
用。
值得说明的是,上述图4所示的结构是本方法的一种示例,并不作为唯一的结构限
制,凡是依本发明实施例提供的网络控制策略的生成方法200进行网络控制策略的生成
或网络控制等,就应该被纳入本发明保护范围内,不再赘述。
具体的,S205、对所述数据流进行预处理得到数据流预处理结果可以按如下方法实
施:
提取所述数据流的特征,所述特征包括但不限于数据包报头五元组、数据包长度序
列或数据包到达时间间隔序列;
通过所述特征对所述数据流进行时空数据挖掘处理和/或因果关系分析处理,得到处
理结果;
根据所述处理结果对所述数据流打标签得到所述数据流的标签,所述数据流的标签
为所述数据流预处理结果,该预处理结果可以是标签本身,此处所述的标签可以是标识,
或者别的相关的用于区分流类型和/或流间关系的标记。
具体的,所述步骤S207,应用当前网络控制策略根据所述网络状态信息、所述网络
下一时刻状态信息以及所述数据流预处理结果生成控制动作具体可以以下述方式实现:
其中表示所述网络下一时刻状态信息,其中St表示所述网络状态信息,其中li
表示所述数据流的标签,其中i表示第i个数据流,其中πt表示所述当前网络控制策略,
其中表示以St,li作为条件变量的当前网络控制策略下a的概率分
布,其中a为控制变量,在所述控制变量a的概率分布中随机采样得到所述控制动作ai。
具体的,上述方案可以在图5所示的结构上实现,例如,SDN控制器将当前进入网
络的数据流转发给相应的处理装置,在图5示例中我们叫它特征提取模块,特征提取模
块提取所述数据流的特征,并利用提取的特征进行时空数据挖掘处理和/或因果关系分析
处理。具体可以如下操作:
对数据流进行特征提取,具体可以通过Xi=F(fi)进行特征提取,其中fi表示第i个
数据流,F表示特征提取函数,Xi表示从数据流i中提取到的特征向量。将提取到的特
征用x表示。x是一个高维的向量,如下所示:X={x1,x2...xn}T。
例如,一个从数据流中提取到的特征中,其所包含的时空信息可以包括但不限于:
源端地址(Source IP),32位二进制串;目的端地址(Destination IP),32位二进制串;
服务器端口(Server Port),16位二进制串;客户端端口(Client Port),16位二进制串;传输
协议(Protocol),类别类型;发送时间(Starting time),实数类型;数据包长度序列(Packet
length),整数类型;数据包到达时间间隔序列(Packet inter-arrival time):实数类型等。
所述预处理的具体方法包括:关于数据流的时空数据挖掘和/或因果关系挖掘。
其中,所述时空数据挖掘具体包括但不限于:
聚类(Clustering):以数据流提取的特征全集或者是部分特征集合,作为特征向量,
代表该数据流,对特征向量进行聚类,可以获得数据流的时空信息。比如,通过聚类,
可以获得协同流信息(Co-flow information),即是可以分析哪一些数据流可能属于同一个
任务。
分类(Classification):数据流往往可以根据其本身的性质,进行分类。比如,根据数
据流长度(flow size)或者持续时间(duration),可以将数据流分为大象流(elephant flow)和老
鼠流(mice flow)。又比如,根据数据流产生的应用,可以将数据流分为视频流(video
stream),数据备份(data backup)等等。通过离线人工标签的方式,我们可以获得训练数据,
根据训练数据训练分类器(Classifier)。利用分类器,在线实时地对数据流进行分类。
回归(Regression):回归与分类有类似的地方,即是根据训练数据学习得到函数g,
函数g将特征作为输入,函数g输出数据流某个特征,比如我们可以建立一个回归模型,
利用数据流的特征,估计数据流的长度。
其中,所述因果关系挖掘包括但不限于:
因果分析(Causal analysis):数据流之间可能还存在因果关系。比如,某些客户端可
能通过向服务器端发送一些请求,而服务器端则相应地做出响应。在这种情形下,客户
端发送到服务器端以及服务器端发送到客户端的数据流存在因果关系。假设我们研究网
络中频繁交流的IP地址对(Source IP,Destination IP)之间发送的数据流之间是否有因果关
系,我们可以将研究的时间划分为多个时间段,定义为t时间段内,从
SourceIP发送到DestinnaItPio的数据流数量。我们研究与
τ≥0是否有因果关系:
通过上述处理,得到处理结果,并根据所述处理结果对所述数据流打标签得到即图
中所示标签li,即所述数据流预处理结果。
值得说明的是,上述图5所示的结构是本方法的一种示例,并不作为唯一的结构限
制,凡是依本发明实施例提供的网络控制策略的生成方法200进行网络控制策略的生成
或网络控制等,就应该被纳入本发明保护范围内,不再赘述。
实施例二:
图6是根据本发明实施例提供的网络控制策略的生成方法600的示意性流程图。该
网络控制策略的生成方法600应用于SDN网络。
S601,接收网络的网络状态信息,网络下一时刻状态信息,数据流预处理结果。
其中,所述网络状态信息用于描述所述网络的网络链路情况、所述网络中网元队列
情况、所述网络的网络数据流分布情况,所述网络下一时刻状态信息是根据所述网络状
态信息进行预测得到的,所述数据流预处理结果是对当前进入网络的数据流进行预处理
得到的。
S603,应用当前网络控制策略根据所述网络状态信息、所述网络下一时刻状态信息
以及所述数据流预处理结果生成控制动作。
所述控制动作用于控制所述网络并得到经所述控制动作控制的所述网络的反馈信
息。
S605,接收所述网络的反馈信息,并根据所述反馈信息对所述当前网络控制策略进
行实时调整得到下一时刻网络控制策略。
具体的,所述网络下一时刻状态信息是根据所述网络状态信息进行预测得到的,其中
所述预测的方法具体可以为:
其中表示所述网络下一时刻状态信息,其中St-τ表示所述网络状态信息,且
0≤τ≤L;其中L为所述网络状态信息的时间窗口长度,其中f为线性函数或非线性函
数。
具体的,所述数据流预处理结果是对当前进入网络的数据流进行预处理得到的,其
中所述预处理的方法具体可以为:
提取所述数据流的特征,所述特征包括数据包报头五元组、数据包长度序列或数据
包到达时间间隔序列;
通过所述特征对所述数据流进行时空数据挖掘处理和/或因果关系分析处理,得到处
理结果;
根据所述处理结果对所述数据流打标签,得到所述数据流预处理结果。
本发明实施例通过接收网络状态信息,网络下一时刻状态信息,数据流预处理结果,
从而基于网络状态信息、网络下一时刻状态信息和数据流预处理结果,并根据当前网络
控制策略生成控制动作,所述控制动作用于控制所述网络以得到根据所述控制动作对所
述网络进行控制得到的反馈信息,最后,接收所述反馈信息,并根据所述反馈信息对所
述当前网络控制策略进行实时调整得到下一时刻网络控制策略。在下一次网络数据过来
时,循环此过程,最后基于下一次的反馈信息对本次实时调整后的网络控制策略再进行
实时调整得到再下一个时刻网络控制策略,并由此循环下去。这样,网络控制策略总是
动态的根据当前的数据及网络情况进行实时的优化和调整,即本文所称自适应。每一个
时刻都有针对本时刻网络及数据所需要的最优的网络控制策略,根据实时更新的网络控
制策略对网络进行控制以此提高网络控制效率。
具体的,上述实施例可以在图3所示的结构上实现。例如,在控制系统300中完整
的方案实现过程应该是:通过周期性的或者随机触发的向网络中发出采集网络状态数据
命令,SDN控制器基于命令收集这些网络状态数据命令并转发给相应的处理装置,由相
应的处理装置根据网络状态数据估计出网络状态信息,并由网络状态信息预测出网络下
一时刻的状态信息,值得说明的是,对应于网络下一时刻的状态信息,此处的网络状态
信息用于描述与下一时刻不同的网络状态信息,比如网络历史时刻状态信息或者网络当
前状态信息。同时的,或者早于,或者晚于网络状态数据收集及网络状态信息估计等动
作的时序,SDN控制器将进入网络的当前数据流实时的转发给另一个相应的处理装置,
这个相应的处理装置对当前进入网络的数据流进行预处理从而得到数据流预处理结果,
之所以要强调数据流预处理的动作与网络状态信息估计及网络下一时刻状态信息预测动
作的先后顺序可以是同时,或早于或晚于,是因为在现实方案的运行中,原本对此处并
不做额外限定,因此无论以何顺序执行上述动作均在本发明实施例的保护范围之内,不
再赘述。网络状态信息、网络下一时刻的状态信息及数据流预处理结果作为控制模块的
输入信息,并且,控制模块将调用缓存设备中或存储器中的当前网络控制策略,利用网
络状态信息、网络下一时刻的状态信息及数据流预处理结果这些信息根据当前网络控制
策略生成控制动作,并将该控制动作输出给SDN控制器,SDN控制器根据该控制动作
对网络执行具体的控制命令。网络将根据该控制动作产生的控制效果作为反馈信息反馈
给SDN控制器,SDN控制器将该反馈信息转发给控制模块,控制模块根据反馈信息对
当前网络控制策略进行实时调整得到下一时刻网络控制策略,并由控制模块的缓存设备
对该下一时刻网络控制策略进行缓存或将其存储在存储器中留待下一次循环的备用。这
样,第一次循环生成的控制动作是针对该次循环时刻或时期下网络所需要的最优的控制
动作,这个控制动作被执行之后产生本次反馈信息,由反馈信息得到下一时刻网络控制
策略,这个下一时刻网络控制策略将作为下一次循环中的当前网络控制策略进入下一次
循环,由此展开接下来第二次循环,第三次循环,第四次循环……以保证在每一个当前
时刻都有针对该当前时刻下的网络状态及数据流信息进行最优的控制从而提高整个控制
系统的控制效率,不再赘述。本发明实施例所提供的方法执行主体可以是结构300中的
控制模块。
更具体的,上述方案还可以在图7所示的结构上实现,例如,控制模块接收网络状
态信息,网络下一时刻状态信息以及数据流预处理结果,根据调用的策略πt及接收的信
息生成控制动作ai,具体的通过如下方式进行:其中表示所述
网络下一时刻状态信息,其中St表示所述网络状态信息,其中li表示所述数据流的标签,
其中i表示第i个数据流,其中πt表示所述当前网络控制策略,其中表示以
St,li作为条件变量的当前网络控制策略下a的概率分布,其中a为控制变量,在
所述控制变量a的概率分布中随机采样得到所述控制动作ai,所述控制动作ai服从的
概率分布。具体的,可以如图中所示采用Q学习的方法,或MDP(马尔
科夫决策过程),或POMDP(部分可观察马尔科夫决策过程)进行。控制动作ai被发送
给SDN控制器,用于使SDN控制器去执行该控制动作。网络在接受控制动作ai,从状
态st转移到实际的状态st+1时,反馈给控制模块该控制动作所产生的回报
Rt=R(st,ai,st+1),我们把该回报叫做反馈信息。进一步的,控制模块根据该反馈信息相
应地对策略πt进行实时调整得到下一时刻网络控制策略:πt+1=L(πt,Rt),其中L表示利
用反馈对策略进行调整的学习算法,其中πt+1为下一时刻网络控制策略。具体的,S为有
限网络状态信息集合,A为有限控制动作集合,J(π)表示衡量策略优越性的目标函数,
P(st+1|st,at)为系统在动作at的作用下,从状态st转移到状态st+1的概率,R(st,at,st+1)为
系统从状态st转移到st+1获得的回报,π(a|s)为策略函数,表示在网络状态信息所描述的
网络状态s采用控制动作a的概率,μπ(s)为在策略π下状态s的分布,则最佳的策略可
以由如下的有限制优化问题获得:
假设在初始化的时候,我们通过离线收集到的数据:
(s0,a0,s′0,R0),(s1,a1,s′1,R1),…,(sn,an,s′n,Rn)
并学习得到初始化的网络控制策略π0,系统在初始化运转的时候通过网络控制策略
π0控制网络运行,等收集足够多新的数据集时,我们用新的数据集,重新学习得到新的
网络控制策略π1,如此不断循环(这个循环的过程可以离线进行也可以在线进行),直
到我们认为一个足够好的网络控制策略可以被当作上述方法200或600中的当前网络控
制策略,则进入上述提供的实施例中的第一个循环。
可选的,如图7所示,在本方案实施例中,我们可以将该反馈信息存储在控制模块
的缓存设备中或存储器中,此处不做赘述。
值得说明的是,上述图3和图7所示的结构是本方法的示例,并不作为唯一的结构
限制,凡是依本发明实施例提供的网络控制策略的生成方法600进行网络控制策略的生
成或网络控制等,就应该被纳入本发明保护范围内,不再赘述。
实施例三:
图8是根据本发明实施例提供的网络控制策略的生成方法800的示意性流程图。该
网络控制策略的生成装置800应用于SDN网络。
S801,从所述网络接收反馈信息。
S803,将所述反馈信息转发给控制模块,用于使所述控制模块根据所述反馈信息对
当前网络控制策略进行实时调整得到下一时刻网络控制策略。
本发明实施例接收反馈信息,并将所述反馈信息转发给控制模块,用于使所述控制
模块根据所述反馈信息对当前网络控制策略进行实时调整得到下一时刻网络控制策略。
在下一次网络数据过来时,循环此过程,最后基于下一次的反馈信息对本次实时调整后
网络控制策略再进行实时调整得到再下一个时刻网络控制策略,并由此循环下去。这样,
网络控制策略总是动态的根据当前的数据及网络情况进行实时的优化和调整,即本文所
称自适应。每一个时刻都有针对本时刻网络及数据所需要的最优的网络控制策略,根据
实时更新的网络控制策略对网络进行控制以此提高网络控制效率。
具体的,上述实施例可以在图3所示的结构上实现。例如,在控制系统300中完整
的方案实现过程应该是:通过周期性的或者随机触发的向网络中发出采集网络状态数据
命令,SDN控制器基于命令收集这些网络状态数据命令并转发给相应的处理装置,由相
应的处理装置根据网络状态数据估计出网络状态信息,并由网络状态信息预测出网络下
一时刻的状态信息,值得说明的是,对应于网络下一时刻的状态信息,此处的网络状态
信息用于描述与下一时刻不同的网络状态信息,比如网络历史时刻状态信息或者网络当
前状态信息。同时的,或者早于,或者晚于网络状态数据收集及网络状态信息估计等动
作的时序,SDN控制器将进入网络的当前数据流实时的转发给另一个相应的处理装置,
这个相应的处理装置对当前进入网络的数据流进行预处理从而得到数据流预处理结果,
之所以要强调数据流预处理的动作与网络状态信息估计及网络下一时刻状态信息预测动
作的先后顺序可以是同时,或早于或晚于,是因为在现实方案的运行中,原本对此处并
不做额外限定,因此无论以何顺序执行上述动作均在本发明实施例的保护范围之内,不
再赘述。网络状态信息、网络下一时刻的状态信息及数据流预处理结果作为控制模块的
输入信息,并且,控制模块将调用缓存设备中或存储器中的当前网络控制策略,利用网
络状态信息、网络下一时刻的状态信息及数据流预处理结果这些信息根据当前网络控制
策略生成控制动作,并将该控制动作输出给SDN控制器,SDN控制器根据该控制动作
对网络执行具体的控制命令。网络将根据该控制动作产生的控制效果作为反馈信息反馈
给SDN控制器,SDN控制器将该反馈信息转发给控制模块,控制模块根据反馈信息对
当前网络控制策略进行实时调整得到下一时刻网络控制策略,并由控制模块的缓存设备
对该下一时刻网络控制策略进行缓存或将其存储在存储器中留待下一次循环的备用。这
样,第一次循环生成的控制动作是针对该次循环时刻或时期下网络所需要的最优的控制
动作,这个控制动作被执行之后产生本次反馈信息,由反馈信息得到下一时刻网络控制
策略,这个下一时刻网络控制策略将作为下一次循环中的当前网络控制策略进入下一次
循环,由此展开接下来第二次循环,第三次循环,第四次循环……以保证在每一个当前
时刻都有针对该当前时刻下的网络状态及数据流信息进行最优的控制从而提高整个控制
系统的控制效率,不再赘述。本发明实施例所提供的方法执行主体可以是结构300中的
SDN控制器。
实施例四:
图9是根据本发明实施例提供的网络控制策略的生成装置900的结构框图。该网络
控制策略的生成装置900应用于SDN网络。
获取模块901,用于获取网络的网络状态数据。
所述网络状态数据是用于表示网络状态的原始数据。
预测模块903,用于根据所述网络状态数据估计网络状态信息,并根据所述网络状态
信息预测所述网络下一时刻状态信息,所述网络状态信息用于描述所述网络的网络链路
情况、所述网络中网元队列情况、所述网络的网络数据流分布情况。
需要说明书的,我们从具有低层次物理含义的网络状态数据中估计出具有高层次物
理含义的网络状态信息,这个网络状态信息是带有时效性的,即t时刻(我们可以称之
为当前时刻)下的网络状态信息描述的是t时刻的网络链路情况、网络中网元队列情况、
网络数据流分布等情况;在t-1时刻(我们可以称之为历史时刻)下的网络状态信息描述
的是t-1时刻的网络链路情况、网络中网元队列情况、网络数据流分布等情况;在t+1时
刻(我们可以称之为下一时刻或将来时刻)下的网络状态信息描述的是t+1时刻的网络
链路情况、网络中网元队列情况、网络数据流分布等情况,此处不再赘述。
流数据预处理模块905,用于接收当前进入所述网络的数据流,对所述数据流进行预
处理得到数据流预处理结果。
控制模块907,用于应用当前网络控制策略根据所述网络状态信息、所述网络下一时
刻状态信息以及所述数据流预处理结果生成控制动作。
执行模块909,用于根据所述控制动作控制所述网络,并得到经所述控制动作控制的
所述网络的反馈信息。
所述控制模块907还用于接收所述网络的反馈信息,并根据所述反馈信息对所述当
前网络控制策略进行实时调整得到下一时刻网络控制策略。
值得说明的是,执行模块909与获取模块901的关系,可以是同一个硬件来实现,
也可以是不同硬件实现。获取模块901可以由独立的软件实现,执行模块909可以为设
置在SDN控制器内的功能单元。
本发明实施例根据网络状态信息预测网络下一时刻状态信息,并对当前进入所述网
络的数据流进行预处理得到数据流预处理结果,从而基于网络状态信息、网络下一时刻
状态信息和数据流预处理结果,根据当前网络控制策略生成控制动作,根据该控制动作
控制所述网络以得到反馈信息,所述反馈信息是根据所述控制动作对所述网络进行控制
得到的,最后根据所述反馈信息对所述当前网络控制策略进行实时调整得到下一时刻网
络控制策略。在下一次网络数据过来时,循环此过程,最后基于下一次的反馈信息对本
次实时调整后的网络控制策略再进行实时调整得到再下一个时刻网络控制策略,并由此
循环下去。这样,网络控制策略总是动态的根据当前的数据及网络情况进行实时的优化
和调整,即本文所称自适应。每一个时刻都有针对本时刻网络及数据所需要的最优的网
络控制策略,根据实时更新的网络控制策略对网络进行控制以此提高网络控制效率。
具体的,所述网络状态数据可以包括网络当前状态数据,相应的,所述网络状态信
息可以包括网络当前状态信息,则上述预测模块903具体可以用于:发送状态采集命令;
接收根据所述状态采集命令采集得到的网络当前状态数据;并根据所述网络当前状态数
据估计所述网络当前状态信息,所述网络当前状态信息包括网络当前链路情况、网络中
当前网元队列情况、网络当前数据流分布情况。
具体的,所述网络状态信息还可以包括网络历史状态信息(相应的,所述网络状态
数据还可以包括网络历史状态数据),则所述预测模块903还用于:从数据库获取网络
历史状态信息;并根据所述网络当前状态信息和所述网络历史状态信息预测所述网络下
一时刻状态信息。
具体的,所述预测模块具体可以用于执行运算;
其中表示预测的所述网络下一时刻状态信息,其中St-τ表示所述网络状态信息,
且0≤τ≤L;其中L为所述网络状态信息的时间窗口长度,其中f为线性函数或非线性
函数。
作为一种可选的实施方案,所述流数据预处理模块905具体可以包括:
提取单元,用于提取所述数据流的特征,所述特征包括数据包报头五元组、数据包
长度序列或数据包到达时间间隔序列;
挖掘分析单元,用于通过所述特征对所述数据流进行时空数据挖掘处理和/或因果关
系分析处理,得到处理结果;
标识单元,用于根据所述处理结果对所述数据流打标签得到所述数据流的标签,所
述数据流的标签为所述数据流预处理结果。
作为一种可选的实施方案,所述控制模块具体可以用于进行如下操作:
其中表示所述网络下一时刻状态信息,其中St表示所述网络状态信息,其中li
表示所述数据流的标签,其中i表示第i个数据流,其中πt表示所述当前网络控制策略,
其中表示以St,li作为条件变量的当前网络控制策略下a的概率分
布,其中a为控制变量,在所述控制变量a的概率分布中随机采样得到所述控制动作ai。
实施例五:
图10是根据本发明实施例提供的网络控制策略的生成装置1000的结构框图。
接收模块1001,用于接收网络的网络状态信息,网络下一时刻状态信息,数据流预
处理结果;其中,所述网络状态信息用于描述所述网络的网络链路情况、所述网络中网
元队列情况、所属网络的网络数据流分布情况,所述网络下一时刻状态信息是根据所述
网络状态信息进行预测得到的,所述数据流预处理结果是对当前进入网络的数据流进行
预处理得到的。
控制模块1003,用于应用当前网络控制策略根据所述网络状态信息、所述网络下一
时刻状态信息以及所述数据流预处理结果生成控制动作,所述控制动作用于控制所述网
络并得到经所述控制动作控制的所述网络的反馈信息。
所述控制模块1003还用于接收所述网络的反馈信息,并根据所述反馈信息对所述当
前网络控制策略进行实时调整得到下一时刻网络控制策略。
本发明实施例通过接收网络状态信息,网络下一时刻状态信息,数据流预处理结果,
从而基于网络状态信息、网络下一时刻状态信息和数据流预处理结果,并根据当前网络
控制策略生成控制动作,所述控制动作用于控制所述网络以得到根据所述控制动作对所
述网络进行控制得到的反馈信息,最后,接收所述反馈信息,并根据所述反馈信息对所
述当前网络控制策略进行实时调整得到下一时刻网络控制策略。在下一次网络数据过来
时,循环此过程,最后基于下一次的反馈信息对本次实时调整后的网络控制策略再进行
与当时的网络状态信息及数据流情况相应地实时调整,并由此循环下去。这样,网络控
制策略总是动态的根据当前的数据及网络情况进行实时的优化和调整,即本文所称自适
应。每一个时刻都有针对本时刻网络及数据所需要的最优的网络控制策略,根据实时更
新的网络控制策略对网络进行控制以此提高网络控制效率。
其中,所述网络下一时刻状态信息是根据所述网络状态信息进行预测得到的具体为:
其中表示预测的所述网络下一时刻状态信息,其中St-τ表示所述网络状态信息,
且0≤τ≤L;其中L为所述网络状态信息的时间窗口长度,其中f为线性函数或非线性
函数。
所述数据流预处理结果是对当前进入网络的数据流进行预处理得到的具体包括:
提取所述数据流的特征,所述特征包括数据包报头五元组、数据包长度序列或数据
包到达时间间隔序列;
通过所述特征对所述数据流进行时空数据挖掘处理和/或因果关系分析处理,得到处
理结果;
根据所述处理结果对所述数据流打标签得到所述数据流的标签,所述数据流的标签
为所述数据流预处理结果。
实施例五:
本发明实施例提供一种网络控制器,应用于SDN网络,其特征在于,用于从所述SDN
网络接收反馈信息,并将所述反馈信息转发给控制模块,用于使所述控制模块根据所述
反馈信息对当前网络控制策略进行实时调整得到下一时刻网络控制策略;其中,所述反
馈信息是根据上一时刻网络运行中所述控制模块发出的控制动作对所述网络进行控制得
到的。
需要说明的是,上述所有装置实施例中提供的装置都可以用于实现上述所有方法实
施例中的方法,同理,上述所有方法实施例中提供的方法都可以在上述所有装置实施例
中提供的装置上运行。方法实施例中详述的方案中细节信息可以用于解释装置实施例中
相应特征。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元
及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究
竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术
人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认
为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、
装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以
通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单
元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单
元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一
点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置
或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示
的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的
目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是
各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存
储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说
对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该
计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以
是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施
例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器
(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、
磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何
熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都
应涵盖在本发明的保护范围之内,因此本发明的保护范围应以权利要求的保护范围为准。