CN114500360B - 一种基于深度强化学习的网络流量调度方法以及系统 - Google Patents

一种基于深度强化学习的网络流量调度方法以及系统 Download PDF

Info

Publication number
CN114500360B
CN114500360B CN202210098810.XA CN202210098810A CN114500360B CN 114500360 B CN114500360 B CN 114500360B CN 202210098810 A CN202210098810 A CN 202210098810A CN 114500360 B CN114500360 B CN 114500360B
Authority
CN
China
Prior art keywords
network
layer
state
information
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210098810.XA
Other languages
English (en)
Other versions
CN114500360A (zh
Inventor
江志远
廖小平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hohai University HHU
Original Assignee
Hohai University HHU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hohai University HHU filed Critical Hohai University HHU
Priority to CN202210098810.XA priority Critical patent/CN114500360B/zh
Publication of CN114500360A publication Critical patent/CN114500360A/zh
Application granted granted Critical
Publication of CN114500360B publication Critical patent/CN114500360B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Optimization (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于深度强化学习的网络流量调度方法,旨在提供智能路由,同时利用网络状态信息,在做出路由决策时探索、利用和学习最佳路径。本发明通过收集网络信息,计算出整个网络中的所有链路状态指标,并设计了与带宽、时延和丢包率相关的奖励函数,采用双重深度Q学习网络DDQN对路径状态信息进行探索与学习,得出每一对源、目的节点之间的最优路径。本发明利用SDN提供的网络全局视图以及DRL智能体与环境的交互,预先在数据层的交换机上安装最佳路由;本发明还提出了一种基于该方法的流量调度系统,采用包括知识层、管理层、控制层和数据层的四层SDN结构,实现了网络流量随着实际环境动态调度。

Description

一种基于深度强化学习的网络流量调度方法以及系统
技术领域
本发明涉及网络技术领域,特别是一种基于深度强化学习的网络流量调度方法以及系统。
背景技术
随着互联网的快速发展,人们对广域网数据传播有了更高的要求。一方面需要更大的带宽保障,一方面对数据传输的可靠性提高了要求。在这种情况下,如何选取满足QoS需求的链路成了当下的研究热点。
基于早期提出的“推动网络的创新,需要在硬件数据通路上编程”的论述,即动态网络,研究人员一开始想法就是分层,将数据与控制分开。随着研究的进行,三层的SDN(软件定义网络)应运而生。实现了对底层数据的解耦合,数据与控制层分开。传统的研究思路在SDN架构中控制层使用OSPF等传统算法进行链路选择,但局限性很大,传统算法只是选择跳数最短的链路,并不是实际上时延最小或者带宽较大的链路,容易造成链路阻塞。在此基础上,Q学习为寻路提供了很好的帮助,基于马尔科夫决策的Q学习为每一个状态遍历所有可以选择的动作,从而选择最优的动作,局限性在于当状态和动作逐渐增加时,遍历效率就变得低下,也会浪费很大的存储空间。
发明内容
发明目的:为克服现有技术的局限,本发明目的在于提供一种网络流量调度方法以及系统,采用了一种基于深度强化学习的深度Q学习来进行寻路,通过利用SDN的全局视图,与实际环境交互,在学习与训练中通过计算链路之间的实际指标来获得最优最合适的链路,最后将智能体部署到真实环境中,达到智能化的寻路结果。
技术方案:为实现上述发明目的,本发明采用以下技术方案:
基于深度强化学习的网络流量调度方法,包括如下步骤:
软件定义网络SDN控制器收集网络信息,包括端口、带宽和时延信息;
对收集到的网络信息进行处理,计算出整个网络中的所有链路状态指标,包括带宽指标、时延指标和丢包率,并将每一条链路的相关信息设置成元组形式,存储到网络信息数据存储库中;每一个元组包括源节点,目的节点以及对应的指标信息;
以网络信息数据存储库中的信息作为输入,为随机状态St选择最优的动作At,然后到达下一个状态St+1,同时获得奖励Rt;将新的元组信息<St,At,St+1,Rt>存储在数据集中,方便后续采用经验重放机制进行训练;
根据全局视图,采用双重深度Q学习网络DDQN对路径状态信息进行探索与学习,计算出每一对源、目的节点之间的最优路径,将这些路径存储在链路数据存储库;
根据实际流量转发需求,检索最优路径,同时将检索到的最优路径部署到相应的路由设备上。
作为优选,SDN控制器从底层转发设备收集网络信息,根据这些信息生成整个网络的实际拓扑图,通过周期性地收集节点和链路的拓扑信息,检测节点和链路相关的拓扑变化,并将这些信息存储到网络信息数据存储库中,实时提供更新后的全局视图。
作为优选,使用深度强化学习DRL来计算出最优路径,将路径状态信息作为输入,输出的是动态变化的最优路径,根据实时的拓扑变化,寻路会出现不同的结果,最后部署或者更新交换机的路径信息。
作为优选,基于DDQN算法学习从初始状态到目标状态,即源节点到目标节点,转换过程中所采取的一系列步骤;每个步骤包括选择和执行一个行动,改变状态,以及获得奖励;DDQN的三个指标的设定分别为:
状态空间:是DDQN可以观测到的状态的集合,每一个状态都是代表着通信的源、目的节点对,在给定N个节点的网络中,状态空间大小为N!/(N-2)!,DDQN根据全局视图来构建状态空间;
动作空间:是对于状态空间中状态转换所执行的动作的集合,状态At∈[1,…,k]对应着对于给定的状态St的路径选择Pi∈[P1,…,Pk],其中k表示当前状态可选择的动作数量;
奖励函数:根据路径指标计算出来的,路径的指标包括三个部分:带宽bandwidthLink,丢包率dLink以及时延lLink,奖励函数的计算方式为
Figure BDA0003491726510000031
Figure BDA0003491726510000032
既奖励函数与带宽成反比,与时延以及丢包成正比;其中βa、βb、lLink三个参数是可调的,在[0,1]之内,为计算奖励提供权重值。
作为优选,为了避免某个度量指标影响太大,对奖励函数进行归一化处理,将度量的范围重新缩放到一个范围[a,b];归一化过程如下:
Figure BDA0003491726510000033
其中每个Xi为待归一化的值,
Figure BDA0003491726510000034
为归一化后的值,X为归一化所用值的集合;
归一化后的奖励函数的计算表达式如下:
Figure BDA0003491726510000035
其中
Figure BDA0003491726510000036
分别是归一化后的带宽、丢包率以及时延。
作为优选,采用双重深度Q学习网络来逼近最优策略,两个网络分别是目标神经网络以及在线神经网络;在线神经网络的作用是根据状态St的奖励值Rt获得更新后的Q值:
Figure BDA0003491726510000037
Figure BDA0003491726510000038
其中Qt(St,At)是状态St对应动作At的更新前Q值,Qt+1(St,At)是更新后的值,α是预设的权值,
Figure BDA0003491726510000039
表示未更新时候到达下一状态St+1获得最小Q值的估计值;目标神经网络根据关联状态获得最小Q值对应的动作
Figure BDA00034917265100000310
再根据这个动作获得更新后的Q值:Qt+1′(St,At)=Rt+γ*Qt(St,A′),γ是预设的权值,Qt(St,A′)是未更新时候当前状态的最优Q值;在学习过程中,训练在线神经网络减小损失函数:Loss=(Qt+1′(St,At)-Qt+1(St,At))2,即减小两网络更新后的差值。
作为优选,在学习阶段,为了提高训练的稳定性,目标神经网络和在线神经网络的权重是一样的;在训练过程中,目标神经网络的权重在预定步数之后定期进行更新来配合在线神经网络;两个网络的结构是一样的,输入层只有一个神经元,将状态作为输入,输出层有k个神经元,也就是动作空间中的k个动作都有一个神经元,输出层根据每个动作来计算对应的Q值;两个网络全连接层之前添加有卷积层,通过卷积层处理流量之间的关系,当相似流多次经过时,不会浪费资源重复计算路径。
基于所述的网络流量调度方法的流量调度系统,包括知识层、管理层、控制层和数据层的四层SDN结构;
所述数据层,由一系列不存在主动转发能力的交换机以及与其相连的主机构成,通过南向接口向控制层发送底层的全局信息,并接收控制层传下来的转发策略,根据策略进行路由转发;
所述控制层,从数据层收集全局信息,将全局信息统计成矩阵形式,存储到管理层,后通过北向接口转发给知识层作为DRL智能体的输入,而后将转发策略下发到数据层;
所述管理层,包含数据处理模块和网络信息数据存储库,数据处理模块利用控制层收集到的原始数据,计算出链路可用带宽、时延和丢包率,这些度量用来描述路由选择的链路状态;
所述知识层,通过DRL智能体学习网络行为,智能计算路径;知识层与管理层和控制层交互,检索链路状态信息和计算路由并下发安装路由信息。
作为优选,数据层的交换机使用Open vSwitch交换机,控制层使用Open Daylight控制器;当交换机接收到数据传输时,会先去查询自身的流表项是否存在对应的下一跳,如果不存在,通过南向Openflow协议的PACKET_IN消息将该数据包发往控制器,询问控制器如何处理,而后控制器在通过DRL智能体寻路后,将最优路径安装到交换机上,完成寻路过程。
基于相同的发明构思,本发明提供的一种计算机系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现所述的基于深度强化学习的网络流量调度方法。
有益效果:与现有技术相比,本发明具有以下技术效果:
本发明能够对网络寻路中存在的过估计问题进行改良,原生的DQN算法当动作选择估计出现问题时,后续的寻路都在错误的动作上进行,使得寻路造成过估计问题,DDQN则很好的解决了这个问题。本发明方法中使用最小奖励的Q值在设计使得寻路更精准。在实际生活中,丢包率可能很小,时延大部分是毫秒级而带宽则偏向于一个较大的数值,进行正相关时,时延和丢包会产生精度丢失,而负相关则使得对于三个参数的关注度更相近。此外,引入的逻辑上的四层结构对于传统的三层结构来说更突出了寻路算法的重要性,控制层中更多是控制器自身的信息流转,而知识层中时嵌入的学习好的智能体不再是控制器的信息流转,称之为知识层更符合算法的整体结构,逻辑更为清晰。
附图说明
图1为本发明实施例的网络流量调度方法流程图。
图2为本发明实施例的网络流量调度系统架构图。
图3为本发明实施例中智能寻路算法流程图。
具体实施方式
下面结合附图和具体实施例对本发明方案做进一步说明。
如图1所示,本发明实施例提供的一种基于深度强化学习的网络流量调度方法,包括以下步骤:
步骤一、网络信息收集。SDN控制器中的拓扑发现模块通过南向协议open flow获取一段时间内的实时网络信息,包括端口信息以及带宽信息、时延信息等,控制器收集这些信息备用,为后续信息处理做信息累计。
步骤二、管理层的数据处理模块对收集到的网络信息进行处理,通过计算获得所有链路的状态指标。
1.带宽指标:
Figure BDA0003491726510000051
对于任意一条链路k∈M(M即为实时拓扑中的链路集合),对于其上的每一个节点i∈k,这条链路的带宽指标取带宽最小的那一段。
2.时延指标:
Figure BDA0003491726510000052
对于任意一条链路k∈M,对于其上的每一个节点i∈k,链路延迟等于每一对节点之间的延迟之和。
3.丢包率:
Figure BDA0003491726510000053
对于任意一条链路k∈M,对于其上的每一个节点i∈k,这条链路的丢包率为单位1减去每一对节点之间的准确送达率连乘。
将每一条链路的相关信息设置成元组形式<res,dst,bwres,dst,dres,dst,lres,dst>,包括源节点res、目的节点dst以及对应的指标信息,存储到网络信息数据存储库中,供给DDQN进行寻路。
步骤三、管理层的数据处理模块将控制层传输的数据处理完成后存储到网络信息数据存储库中。以网络信息数据存储库中的信息作为输入,采用epsilon-greedy方法为当前的随机状态St选择最优的动作At,然后到达下一个状态St+1,同时获得他的奖励Rt。将新的元组信息<St,At,St+1,Rt>存储在数据集中,方便后续采用经验重放机制进行训练。
步骤四、根据全局视图,采用双重深度Q学习网络DDQN对路径状态信息进行探索与学习,计算出每一对源、目的节点之间的最优路径,将这些路径存储在链路数据存储库。
本步骤中基于DDQN算法学习从初始状态到目标状态,即源节点到目标节点,转换过程中所采取的一系列步骤;每个步骤包括选择和执行一个行动,改变状态,以及获得奖励;DDQN的三个指标的设定分别为:
状态空间:是DDQN可以观测到的状态的集合,每一个状态都是代表着通信的源、目的节点对,在给定N个节点的网络中,状态空间大小为N!/(N-2)!,DDQN根据全局视图来构建状态空间;
动作空间:是对于状态空间中状态转换所执行的动作的集合,状态At∈[1,…,k]对应着对于给定的状态St的路径选择Pi∈[P1,…,Pk],其中k表示当前状态可选择的动作数量;
奖励函数:根据路径指标计算出来的,路径的指标包括三个部分:带宽bandwidthLink,丢包率dLink以及时延lLink,奖励函数的计算方式为
Figure BDA0003491726510000061
Figure BDA0003491726510000062
既奖励函数与带宽成反比,与时延以及丢包成正比;其中βa、βb、lLink三个参数是可调的,在[0,1]之内,为计算奖励提供权重值。
为了避免某个度量指标影响太大,对奖励函数进行归一化处理,将度量的范围重新缩放到一个范围[a,b];归一化过程如下:
Figure BDA0003491726510000071
其中每个Xi为待归一化的值,
Figure BDA0003491726510000072
为归一化后的值,X为归一化所用值的集合;
归一化后的奖励函数的计算表达式如下:
Figure BDA0003491726510000073
其中
Figure BDA0003491726510000074
分别是归一化后的带宽、丢包率以及时延。
采用双重深度Q学习网络来逼近最优策略,两个网络分别是目标神经网络以及在线神经网络。当迭代的步数超过设定的训练步数时,DDQN从重放内存中获取一个小批处理来训练在线神经网络,使用经验重放机制可以使得智能体在更少的交互中就可以学习。在线神经网络的作用是根据状态St的奖励值Rt获得更新后的Q值:
Figure BDA0003491726510000075
其中Qt(St,At)是状态St对应动作At的更新前Q值,Qt+1(St,At)是更新后的值,α是预设的权值,
Figure BDA0003491726510000076
表示未更新时候到达下一状态St+1获得最小Q值的估计值;目标神经网络根据关联状态获得最小Q值对应的动作
Figure BDA0003491726510000077
Figure BDA0003491726510000078
再根据这个动作获得更新后的Q值:Qt+1′(St,At)=Rt+γ*Qt(St,A′),γ是预设的权值,Qt(St,A′)是未更新时候当前状态的最优Q值;在学习过程中,训练在线神经网络减小损失函数:Loss=(Qt+1′(St,At)-Qt+1(St,At))2,即减小两网络更新后的差值,避免了过度估计的问题。然后,利用梯度下降和反向传播算法来调整在线神经网络的权值和偏差。用在线神经网络的权值和偏差更新目标神经网络的权值和偏差,DDQN代理然后移动到下一个状态。在学习阶段,为了提高训练的稳定性,目标神经网络和在线神经网络的权重是一样的;在训练过程中,目标神经网络的权重在预定步数之后定期进行更新来配合在线神经网络;两个网络的结构是一样的,输入层只有一个神经元,将状态作为输入,输出层有k个神经元,也就是动作空间中的k个动作都有一个神经元,输出层根据每个动作来计算对应的Q值;两个网络全连接层之前添加有卷积层,通过卷积层处理流量之间的关系,当相似流多次经过时,不会浪费资源重复计算路径。
步骤五、最后,在DDQN完成状态转换之后,通过每一个状态对应的最小Q值来检索对应的路径选择,将这些路径存储在候选链路数据存储库。
步骤六、根据实际流量转发需求,检索最优路径,同时将检索到的最优路径部署到相应的路由设备上。可通过控制器中的流量安装模块通过北向接口将实际路径安装到数据层的转发设备上,这里安装过程是通过南向协议的帮助实现的。
基于上述的网络流量调度方法的网络流量调度系统,包括知识层、管理层、控制层、数据层的四层SDN结构。
数据层,由一系列不存在主动转发能力的交换机以及与其相连的主机构成,通过南向接口向控制层发送底层的全局信息,并接收控制层传下来的转发策略,根据策略进行路由转发。
控制层,从数据层收集全局信息,将全局信息统计成矩阵形式,存储到管理层,后通过北向接口转发给知识层作为DRL智能体的输入,而后将转发策略下发到数据层。控制层包括拓扑发现、统计和流程安装三个模块。拓扑发现模块用于收集数据层的数据信息,统计模块用于对信息进行处理,流量安装模块用于将最优路径安装到open vSwitch中。
管理层,包含数据处理模块和网络信息数据存储库,数据处理模块利用控制层收集到的原始数据,计算出链路可用带宽、时延和丢包率,这些度量用来描述路由选择的链路状态。
知识层,通过DRL智能体学习网络行为,智能计算路径;知识层与管理层和控制层交互,检索链路状态信息和计算路由并下发安装路由信息。
数据层的交换机可使用Open vSwitch交换机,控制层可使用Open Daylight控制器;当交换机接收到数据传输时,会先去查询自身的流表项是否存在对应的下一跳,如果不存在,通过南向Openflow协议的PACKET_IN消息将该数据包发往控制器,询问控制器如何处理,而后控制器在通过DRL智能体寻路后,将最优路径安装到交换机上,完成寻路过程。
图2为本发明实施例的流量调度系统的总体架构图,本发明实施例采用如图2所示的框架实现,在知识层,存在DDQN智能体,可以通过历史信息来实现寻路过程,以及候选链路存储库;在管理层中存在网络信息数据存储库;在控制层使用基于Python开发的Opendaylight控制器,开发控制器南向采用OpenFlow协议与数据层的Open vSwitch交换机通信,北向接口采用REST API与应用平面通信;数据平面采用Open vSwitch交换机,根据流表项实现对数据包的转发等相应的操作。物理上的SDN三层结构形成了逻辑上的四层结构。
在一个实施例中,流量调度的实现步骤如下:
步骤1、在控制器文件夹下添加新的网络流量调度配置与应用程序文件。
步骤2、在添加的网络流量调度配置与应用程序文件完成对控制器核心包库的调用和声明,并实现对controller、toaster、handler等基类的继承和函数的3定义,尤其是监听PACKET_IN消息事件对应的handler定义,实现与控制器的通信。
步骤3、开发DDQN智能体,实现智能寻路过程,并且将寻路结果暂存候选路径存储库中。
步骤4、将对应的寻路结果经过流量安装模块安装到数据层的交换机上。
图3所示为DDQN智能体智能寻路算法流程图。算法输入为n(训练总步骤数)、ε(ε-greedy大小,表示采取ε的概率使用以往的经验去学习,1-ε的概率进行随机探索)、de(衰变率)、rm(经验重放开始大小)、tup(目标网络更新的频率),NN(神经网络)。
当训练次数小于预定次数时,获得最初的初始状态St,判断St的下一个状态是否是最终状态,若是则算法结束,反之更新ε,同时为当前状态选择最合适的动作到下一状态并将当前元组信息存储到数据集中。
此时,判断是否到经验重放开始时期,未达到,继续进行元组信息获取过程,反之,开始进行学习阶段,DDQN用在线神经网络估计当前Q值,以及与之关联的最优动作,随着当前动作获得目标网络对应的下一个状态的Q值,防止过估计。最小化损失函数以及更新在线网络的权重。
此时开始判断是否到达目标网络权重更新阶段,若还没有,则继续训练,反之更新目标网络权重,并到达下一状态,直至整个算法结束。
在一个实施例中,网络流量调度系统的工作流程如下:
步骤1、数据层的Open vSwitch交换机接收到数据包,解析数据,匹配交换机中的流表项,如果匹配到流表项,则根据流表项进行调度,如果没有匹配到流表项,则通过南向Openflow协议的PACKET_IN消息将该数据包发往控制器,询问控制器如何处理;
步骤2、知识层通过北向REST API监听到达控制器的PACKET_IN消息,并获取PACKET_IN消息中包含的数据内容。解析数据,根据经验重放进行寻路过程。
步骤3、知识层的网络流量调度结果,通过北向REST API连接控制器发送PACKET_OUT消息,将数据包发回到交换机,以及通过FLOW_MOD消息发送流表到交换机,指示该数据包到达交换机之后该执行的操作;
步骤4、数据层的Open vSwitch交换机根据流表项指示的相应操作对数据进行调度。
基于相同的发明构思,本发明实施例还提供了一种计算机系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被加载至处理器时实现上述的基于深度强化学习的网络流量调度方法。

Claims (8)

1.基于深度强化学习的网络流量调度方法,其特征在于,包括如下步骤:
软件定义网络SDN控制器收集网络信息,包括端口、带宽和时延信息;
对收集到的网络信息进行处理,计算出整个网络中的所有链路状态指标,包括带宽指标、时延指标和丢包率,并将每一条链路的相关信息设置成元组形式,存储到网络信息数据存储库中;每一个元组包括源节点,目的节点以及对应的指标信息;
以网络信息数据存储库中的信息作为输入,为随机状态St选择最优的动作At,然后到达下一个状态St+1,同时获得奖励Rt;将新的元组信息<St,At,St+1,Rt>存储在数据集中,方便后续采用经验重放机制进行训练;
根据全局视图,采用双重深度Q学习网络DDQN对路径状态信息进行探索与学习,计算出每一对源、目的节点之间的最优路径,将这些路径存储在链路数据存储库;
根据实际流量转发需求,检索最优路径,同时将检索到的最优路径部署到相应的路由设备上;
基于DDQN算法学习从初始状态到目标状态,即源节点到目标节点,转换过程中所采取的一系列步骤;每个步骤包括选择和执行一个行动,改变状态,以及获得奖励;DDQN的三个指标的设定分别为:
状态空间:是DDQN可以观测到的状态的集合,每一个状态都是代表着通信的源、目的节点对,在给定N个节点的网络中,状态空间大小为N!/(N-2)!,DDQN根据全局视图来构建状态空间;
动作空间:是对于状态空间中状态转换所执行的动作的集合,动作At∈[1,...,k]对应着对于给定的状态St的路径选择Pi∈[P1,...,Pk],其中k表示当前状态可选择的动作数量;
奖励函数:根据路径指标计算出来的,路径的指标包括三个部分:带宽bandwidthLink,丢包率dLink以及时延lLink,奖励函数的计算方式为
Figure FDA0003827187150000011
Figure FDA0003827187150000012
即奖励函数与带宽成反比,与时延以及丢包率成正比;其中βa、βb、lLink三个参数是可调的,在[0,1]之内,为计算奖励提供权重值;
采用双重深度Q学习网络来逼近最优策略,两个网络分别是目标神经网络以及在线神经网络;在线神经网络的作用是根据状态St的奖励值Rt获得更新后的Q值:
Figure FDA0003827187150000021
其中Qt(St,At)是状态St对应动作At的更新前Q值,Qt+1(St,At)是更新后的值,α是预设的权值,
Figure FDA0003827187150000022
表示未更新时候到达下一状态St+1获得最小Q值的估计值;目标神经网络根据关联状态获得最小Q值对应的动作
Figure FDA0003827187150000023
再根据这个动作获得更新后的Q值:Qt+1′(St,At)=Rt+γ*Qt(St,A′),γ是预设的权值,Qt(St,A′)是未更新时候当前状态的最优Q值;在学习过程中,训练在线神经网络减小损失函数:Loss=(Qt+1′(St,At)-Qt+1(St,At))2,即减小两网络更新后的差值。
2.根据权利要求1所述的一种基于深度强化学习的网络流量调度方法,其特征在于,SDN控制器从底层转发设备收集网络信息,根据这些信息生成整个网络的实际拓扑图,通过周期性地收集节点和链路的拓扑信息,检测节点和链路相关的拓扑变化,并将这些信息存储到网络信息数据存储库中,实时提供更新后的全局视图。
3.根据权利要求1所述的一种基于深度强化学习的网络流量调度方法,其特征在于,使用深度强化学习DRL来计算出最优路径,将路径状态信息作为输入,输出的是动态变化的最优路径,根据实时的拓扑变化,寻路会出现不同的结果,最后部署或者更新交换机的路径信息。
4.根据权利要求1所述的一种基于深度强化学习的网络流量调度方法,其特征在于,为了避免某个度量指标影响太大,对奖励函数进行归一化处理,将度量的范围重新缩放到一个范围[a,b];归一化过程如下:
Figure FDA0003827187150000024
其中每个Xi为待归一化的值,
Figure FDA0003827187150000025
为归一化后的值,X为归一化所用值的集合;
归一化后的奖励函数的计算表达式如下:
Figure FDA0003827187150000026
其中
Figure FDA0003827187150000031
分别是归一化后的带宽、丢包率以及时延。
5.根据权利要求1所述的一种基于深度强化学习的网络流量调度方法,其特征在于,在学习阶段,为了提高训练的稳定性,目标神经网络和在线神经网络的权重是一样的;在训练过程中,目标神经网络的权重在预定步数之后定期进行更新来配合在线神经网络;两个网络的结构是一样的,输入层只有一个神经元,将状态作为输入,输出层有k个神经元,也就是动作空间中的k个动作都有一个神经元,输出层根据每个动作来计算对应的Q值;两个网络全连接层之前添加有卷积层,通过卷积层处理流量之间的关系,当相似流多次经过时,不会浪费资源重复计算路径。
6.基于权利要求1-5任一项所述的网络流量调度方法的流量调度系统,其特征在于,包括知识层、管理层、控制层和数据层的四层SDN结构;
所述数据层,由一系列不存在主动转发能力的交换机以及与其相连的主机构成,通过南向接口向控制层发送底层的全局信息,并接收控制层传下来的转发策略,根据策略进行路由转发;
所述控制层,从数据层收集全局信息,将全局信息统计成矩阵形式,存储到管理层,后通过北向接口转发给知识层作为DRL智能体的输入,而后将转发策略下发到数据层;
所述管理层,包含数据处理模块和网络信息数据存储库,数据处理模块利用控制层收集到的原始数据,计算出链路可用带宽、时延和丢包率,这些度量用来描述路由选择的链路状态;
所述知识层,通过DRL智能体学习网络行为,智能计算路径;知识层与管理层和控制层交互,检索链路状态信息和计算路由并下发安装路由信息。
7.根据权利要求6所述的流量调度系统,其特征在于,数据层的交换机使用OpenvSwitch交换机,控制层使用Open Daylight控制器;当交换机接收到数据传输时,会先去查询自身的流表项是否存在对应的下一跳,如果不存在,通过南向Openflow协议的PACKET_IN消息将数据包发往控制器,询问控制器如何处理,而后控制器在通过DRL智能体寻路后,将最优路径安装到交换机上,完成寻路过程。
8.一种计算机系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被加载至处理器时实现根据权利要求1-5任一项所述的基于深度强化学习的网络流量调度方法。
CN202210098810.XA 2022-01-27 2022-01-27 一种基于深度强化学习的网络流量调度方法以及系统 Active CN114500360B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210098810.XA CN114500360B (zh) 2022-01-27 2022-01-27 一种基于深度强化学习的网络流量调度方法以及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210098810.XA CN114500360B (zh) 2022-01-27 2022-01-27 一种基于深度强化学习的网络流量调度方法以及系统

Publications (2)

Publication Number Publication Date
CN114500360A CN114500360A (zh) 2022-05-13
CN114500360B true CN114500360B (zh) 2022-11-11

Family

ID=81477131

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210098810.XA Active CN114500360B (zh) 2022-01-27 2022-01-27 一种基于深度强化学习的网络流量调度方法以及系统

Country Status (1)

Country Link
CN (1) CN114500360B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114884895B (zh) * 2022-05-05 2023-08-22 郑州轻工业大学 一种基于深度强化学习的智能流量调度方法
CN115022231B (zh) * 2022-06-30 2023-11-03 武汉烽火技术服务有限公司 一种基于深度强化学习的最优路径规划的方法和系统
CN115225561B (zh) * 2022-08-15 2022-12-06 南京邮电大学 一种基于图结构特征的路由优化方法与系统
CN116170370B (zh) * 2023-02-20 2024-03-12 重庆邮电大学 一种基于注意力机制和深度强化学习的sdn多路径路由方法
CN116527567B (zh) * 2023-06-30 2023-09-12 南京信息工程大学 一种基于深度强化学习的智能网络路径优选方法与系统
CN116846818B (zh) * 2023-09-01 2023-12-01 北京邮电大学 一种算力网络流量调度方法、系统、装置及存储介质
CN117235119B (zh) * 2023-11-09 2024-01-30 北京谷器数据科技有限公司 一种低代码平台下多表联合查询的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107483511A (zh) * 2017-10-10 2017-12-15 山东大学 一种基于软件定义网络SDN的流媒体QoE控制系统
CN108667734A (zh) * 2018-05-18 2018-10-16 南京邮电大学 一种基于q学习和lstm神经网络的快速路由决策算法
CN111416774A (zh) * 2020-03-17 2020-07-14 深圳市赛为智能股份有限公司 网络拥塞控制方法、装置、计算机设备及存储介质
CN111416771A (zh) * 2020-03-20 2020-07-14 深圳市大数据研究院 基于多智能体强化学习路由策略控制路由动作的方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5858753A (en) * 1996-11-25 1999-01-12 Icos Corporation Lipid kinase
CN107547379B (zh) * 2016-06-23 2020-08-25 华为技术有限公司 软件定义网络中生成路由控制动作的方法和相关设备
CN107911299B (zh) * 2017-10-24 2020-12-29 浙江工商大学 一种基于深度q学习的路由规划方法
CN108401015B (zh) * 2018-02-02 2020-10-02 广州大学 一种基于深度强化学习的数据中心网络路由方法
CN108512760B (zh) * 2018-03-09 2020-07-28 西安电子科技大学 基于SDN保障业务QoS的路由方法
US11050656B2 (en) * 2018-05-10 2021-06-29 Dell Products L.P. System and method to learn and prescribe network path for SDN
CN110321666B (zh) * 2019-08-09 2022-05-03 重庆理工大学 基于先验知识与dqn算法的多机器人路径规划方法
CN112491714B (zh) * 2020-11-13 2022-04-08 安徽大学 SDN环境下基于深度强化学习的智能QoS路由优化方法、系统
CN112822109B (zh) * 2020-12-31 2023-04-07 上海缔安科技股份有限公司 一种基于强化学习的SDN核心网QoS路由优化方法
CN113507503B (zh) * 2021-06-16 2022-06-14 华南理工大学 一种具有负载均衡的车联网资源分配方法
CN113761791A (zh) * 2021-08-02 2021-12-07 国网江苏省电力有限公司电力科学研究院 一种基于物理信息和深度强化学习的电力系统自动化操作方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107483511A (zh) * 2017-10-10 2017-12-15 山东大学 一种基于软件定义网络SDN的流媒体QoE控制系统
CN108667734A (zh) * 2018-05-18 2018-10-16 南京邮电大学 一种基于q学习和lstm神经网络的快速路由决策算法
CN111416774A (zh) * 2020-03-17 2020-07-14 深圳市赛为智能股份有限公司 网络拥塞控制方法、装置、计算机设备及存储介质
CN111416771A (zh) * 2020-03-20 2020-07-14 深圳市大数据研究院 基于多智能体强化学习路由策略控制路由动作的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于深度Q网络的水面无人艇路径规划算法;随博文等;《上海海事大学学报》;20200930(第03期);全文 *
基于深度强化学习的公路初始路径寻优方法;李懿等;《交通科学与工程》;20200330(第01期);全文 *

Also Published As

Publication number Publication date
CN114500360A (zh) 2022-05-13

Similar Documents

Publication Publication Date Title
CN114500360B (zh) 一种基于深度强化学习的网络流量调度方法以及系统
CN113328938B (zh) 一种基于深度强化学习的网络自主智能管控方法
CN110365514B (zh) 基于强化学习的sdn多级虚拟网络映射方法和装置
US10389585B2 (en) System and method for data flow optimization
CN108540384B (zh) 软件定义网络中基于拥塞感知的智能重路由方法和装置
Di Caro et al. AntNet: Distributed stigmergetic control for communications networks
CN108667734A (zh) 一种基于q学习和lstm神经网络的快速路由决策算法
CN109039942A (zh) 一种基于深度强化学习的网络负载均衡系统及均衡方法
CN114286413B (zh) Tsn网络联合路由选择与流分配方法及相关设备
CN111770019A (zh) 基于Dijkstra算法的Q-learning光片上网络自适应路由规划方法
CN109413707B (zh) 无线网络环境下基于深度强化学习技术的智能路由方法
CN113162800B (zh) 一种基于强化学习的网络链路性能指标异常定位方法
US20230145097A1 (en) Autonomous traffic (self-driving) network with traffic classes and passive and active learning
CN116527565A (zh) 基于图卷积神经网络的互联网路由优化方法及装置
Wei et al. GRL-PS: Graph embedding-based DRL approach for adaptive path selection
Yao et al. A SMDP-based forwarding scheme in named data networking
CN116527558A (zh) 基于q学习的多目标路由规划方法及装置
CN112511445B (zh) 一种基于负载加权的最短路径路由生成方法
CN115150335A (zh) 一种基于深度强化学习的最优流量分割的方法和系统
CN114500561A (zh) 电力物联网网络资源分配决策方法、系统、设备及介质
Wu et al. On-demand Intelligent Routing Algorithms for the Deterministic Networks
CN113177636A (zh) 一种基于多约束条件的网络动态路由方法及系统
Masoumzadeh et al. Deep blue: A fuzzy q-learning enhanced active queue management scheme
CN117294643B (zh) 一种基于SDN架构的网络QoS保障路由方法
Wei et al. G-Routing: Graph Neural Networks-Based Flexible Online Routing

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant