CN114285751B - 一种流量工程方法及系统 - Google Patents
一种流量工程方法及系统 Download PDFInfo
- Publication number
- CN114285751B CN114285751B CN202111483364.6A CN202111483364A CN114285751B CN 114285751 B CN114285751 B CN 114285751B CN 202111483364 A CN202111483364 A CN 202111483364A CN 114285751 B CN114285751 B CN 114285751B
- Authority
- CN
- China
- Prior art keywords
- reinforcement learning
- flow
- baseline
- traffic engineering
- network
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种流量工程方法,所述方法采用智能体,所述智能体中部署有根据网络拓扑信息和业务流信息获取流量工程策略的基线模块和强化学习模块,所述方法包括在预设的周期内重复执行如下步骤:S1、基于网络拓扑信息和业务流信息,通过智能体分别获取由基线模块得到的基于基线方法的流量工程策略和强化学习模块得到的基于强化学习方法的流量工程策略;S2、对比基于基线方法的流量工程策略和基于强化学习方法的流量工程策略的安全性,并执行安全性高的策略;S3、将被执行了的基于基线方法的流量工程策略对应的状态信息存储到示范数据集,将基于强化学习方法的流量工程策略对应的状态信息存储到经验回放数据集,从经验回放数据集和示范数据集中采集样本训练强化学习模块。
Description
技术领域
本发明属于流量工程技术领域,具体来说,涉及SDN环境下的基于强化学习的流量工程领域,更具体地说,涉及一种流量工程方法及系统。
背景技术
随着互联网飞速发展,网络的规模和复杂性不断增加,网络流量爆炸式增长,给网络承载能力和服务质量提出了更高的要求,如何优化网络流量以保证服务质量就成为了需要解决的关键问题。
用于优化网络流量的代表性技术就是流量工程技术(Traffic Engine ering,简称TE),所谓流量工程技术是指通过对网络流量进行有目的的调度和优化,从而减少网络拥塞、优化网络资源的分配、提升网络整体性能。其中,SDN技术(Software Defined Network,软件定义网络)将控制平面与转发平面进行分离,决策者可基于全局信息进行网络资源的集中式调度和优化,为实施流量工程带来了诸多便利。
现有的SDN环境下集中式流量工程方法主要有以下两类:
1)基于数学规划的流量工程方法。这类方法对网络进行数学建模,并利用数学规划或相应的近似方法对特定目标进行优化,但随着网络越来越复杂,精确建模真实网络模型变得越来越难。
2)基于机器学习的流量工程方法。这类方法无需进行精确的建模,以数据驱动的方式从历史数据中学习出一种流量调度方案,但是由于带标签的数据难获取,在线强化学习方法是这类方法的主流。在这类方法中,一个智能体在每个周期观察当前网络状态,根据当前的策略做出流量工程决策,做出决策后观察网络状态的变化,根据这一反馈改进自己的策略,并不断重复以上过程。但是现有的基于在线强化学习的流量工程方法存在一些问题,影响其使用效果,其中,主要问题包括:(1)交互时间长,学习过程耗时。流量工程方法通常周期性执行,现实中的执行周期一般为5分钟至10分钟。由于在线强化学习方法需要根据这一周期进行采集数据并进行模型更新,因此需要较长时间的交互才能学习到一个好的策略,学习过程前期的效果很可能不如传统方法。(2)难以安全部署。现有方法没有对强化学习生成的决策的安全性加以判断和限制,在线部署的过程中,尤其是学习过程的前期更有可能做出较差的流量工程决策,影响网络质量,甚至对网络带来负面的优化效果。
发明内容
因此,本发明的目的在于克服上述现有技术的缺陷,提供一种新的交互时间短且部署安全的流量工程方法及系统。
根据本发明的第一方面,提供一种流量工程方法,所述方法采用智能体,所述智能体中部署有根据网络拓扑信息和业务流信息获取流量工程策略的基线模块和强化学习模块,所述方法包括在预设的周期内重复执行如下步骤:S1、基于网络拓扑信息和业务流信息,通过智能体分别获取由基线模块得到的基于基线方法的流量工程策略和强化学习模块得到的基于强化学习方法的流量工程策略;S2、对比基于基线方法的流量工程策略和基于强化学习方法的流量工程策略的安全性,并执行安全性高的策略;S3、将被执行了的基于基线方法的流量工程策略对应的状态信息存储到示范数据集,将基于强化学习方法的流量工程策略对应的状态信息存储到经验回放数据集,从经验回放数据集和示范数据集中采集样本训练强化学习模块。
其中,所述预设的周期为根据实际应用场景需求设置的执行流量工程的时间。
优选的,所述步骤S2包括:S21、分别评估基于基线方法的流量工程策略和基于强化学习方法的流量工程策略的带宽;S22、对比基于基线方法的流量工程策略和基于强化学习方法的流量工程策略的带宽,强化学习方法的流量工程策略的带宽大于或等于基于基线方法的流量工程策略的带宽与安全阈值的乘积时,执行基于强化学习方法的流量工程策略,基于强化学习方法的流量工程策略的带宽小于基于基线方法的流量工程策略的带宽与安全阈值的乘积时,执行基于基线方法的流量工程策略。在本发明的一些实施例中,所述步骤S21中通过如下方式评估不同策略对应的带宽:
Tt=∑Tij
Tij=biwij/MAX(1.0,u)
其中,Tij表示业务流i在第j条路径上的带宽,bi表示业务流i所需的带宽信息,wij表示在当前流量工程策略下第i条流被分配在第j条路径上的比例,u表示第i条流在网络中的瓶颈利用率,Ue表示在当前流量工程策略下业务流对每条链路的利用率,Pi,j表示业务流i的第j条路径。
优选的,所述安全阈值为0-1之间的小数,且根据网络应用环境设定。
在本发明的一些实施例中,所述执行了的基于基线方法的流量工程策略对应的状态信息表示方式为:
所述基于强化学习方法的流量工程策略对应的状态信息表示方式为:
其中,st表示t时刻的网络状态信息,表示t时刻获得的基于基线方法的流量工程策略,表示t时刻获得的基于强化学习方法的流量工程策略,st+1表示执行了流量工程策略后下一时刻的网络状态信息,rt表示执行流量工程策略所获得的智能体给出的奖励,未被执行的基于强化学习的流量工程策略对应的奖励为0。
优选的,所述强化学习模块包括价值神经网络和策略神经网络,其中,所述步骤S3包括:S41、从经验回放数据集中随机采样第一预设比例的样本形成第一训练集,从示范数据集中随机采样第二预设比例的样本形成第二训练集;S42、基于第一训练集,采用批量梯度下降方式更新价值神经网络和策略神经网络的参数,其中,价值神经网络的损失为其第一数据集中的样本上的损失,策略神经网络的损失为其在第一训练集中的样本上的损失与其在第二训练集的样本上的模仿损失之和,所述模仿损失为策略神经网络生成的策略与第二训练集中样本对应策略之间的距离。在本发明的一些实施例中,第一预设比例和第二预设比例均通过实验确定,其中,如果当前被执行的策略是基于基线方法的流量工程策略,则此次采样的第二预设比例为0。
根据本发明的第二方面,提供一种用于实现如本发明第一所述方法的系统,其部署在SDN网络环境中,所述系统包括:智能体,包括基线模块和强化学习模块,其中,所述基线模块用于根据网络拓扑信息和业务流信息获得基于基线方法的流量工程策略,所述强化学习模块用于根据网络拓扑信息和业务流信息获得基于强化学习的流量工程策略;安全判断模块,用于对比基于基线方法的流量工程策略和基于强化学习方法的流量工程策略的安全性,并选择安全性高的策略进行执行;示范数据集,用于存储被执行了的基于基线方法的流量工程策略对应的状态信息;经验回放数据集,用于存储基于强化学习方法的流量工程策略对应的状态信息存储到经验回放数据集;其中,所述强化学习模块被配置为:在一个执行周期内,每次执行了被选择的策略后从经验回放数据集和示范数据集中采集样本进行训练。
与现有技术相比,本发明的优点在于:本发明采集流量工程示范数据并将其用于加速强化学习方法的收敛速度,缓解了现有方法存在的在线学习交互时间长、学习速度慢的问题。现实中的流量工程方法通常以数分钟的时间间隔周期性执行,以在线学习的方式需要长时间的交互才能收敛到比较好的结果,因此提出采集过去流量工程方法的执行记录作为示范数据,通过修改传统强化学习的训练方法提升算法收敛速度。本发明对强化学习生成的流量工程决策进行安全检查和过滤,提前排除强化学习生成的预期表现较差的决策,并储存相应数据用于训练,解决了现有方法存在的在训练初期会产生较差决策,难以安全部署的问题。现有的基于强化学习的流量工程在线训练的过程中忽略了训练初期产生的决策可能较差,甚至可能对网络产生负面的效果。通过基于规则的传统方法对强化学习产生的决策进行判断和过滤,使得训练初期较差的决策不会被部署,同时根据判断过程产生的数据又可用于训练以减少类似决策的产生。本发明在对智能体神经网络的训练过程中同时维护经验数据和示范数据用于学习,并基于传统方法对强化学习方法产生的决策进行过滤,根据过滤结果的不同从不同的数据集合中采样进行训练,能在较短时间内从历史数据中学习得到更优的强化学习策略,同时保证了学习过程中强化学习产生的较差流量工程决策不会部署到真实网络中。通过本发明能够加速基于强化学习的流量工程的学习速度,并保证在线训练过程中由强化学习产生的预期结果较差的决策不会被执行,最终通过数据驱动的在线学习不断提升决策的效果,无需人工进行精确的数学建模即可得到优于传统建模的流量工程策略,提升流量工程的实施效果。
附图说明
以下参照附图对本发明实施例作进一步说明,其中:
图1为根据本发明实施例的现有技术下流量工程示例示意图;
图2为根据本发明实施例的一种流量工程方法流程示意图;
图3为根据本发明实施例的一种流量工程系统示意图;
图4为根据本发明实施例的本发明方法与其他方法在Claranet拓扑结构下的实验结果示意图;
图5为根据本发明实施例的本发明方法与其他方法在NSFNET拓扑结构下的实验结果示意图;
图6为根据本发明实施例的本发明方法与其他方法的安全性验证结果示意图。
具体实施方式
为了使本发明的目的,技术方案及优点更加清楚明白,以下通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
首先介绍一下本发明涉及的技术原理。
流量工程(Traffic Engineering,TE),指针对网络性能进行优化的一系列方法,即针对网络中的数据流的行为模式进行分析预测和有目的的管理。流量工程的最终目的是优化网络设备的使用负载,提升网络的整体性能。本文中提到的流量工程概念重点关注对网络流量进行调度和优化,即分析网络状态,为网络中的每条数据流规划合适的路由路径并分配指定的带宽,从而提升网络链路资源的利用效率,对网络容量进行优化。如图1所示,以数字代表流量,其中,ABCD表示网络节点,节点之间的线段表示链路,链路上的数字代表该条链路的最大容量,有箭头的线段代表流被分配的路径,路径上的数字代表该路径被分配的流所需的容量,在相同的网络环境中,将同样的流量需求(本示例中包括A→C需求为4和B→C需求为2的两条流)的业务流按照不同的调度策略进行调度:图1(a)中的方案将两条流均由最短路径转发,给部分链路带来了极大的负担,而部分链路资源闲置;图1(b)和图1(c)中的方案将其中一个业务流分配在两条路径中,减轻了拥塞,提高了网络资源的利用效率,而图1(b)和图1(c)中的方案之间的差异在于不同的路径分配比例,这也会给网络的整体性能带来区别。
如背景技术提到的,SDN为流量工程的开展提供了更好的基础,SDN控制器可以实时地收集全局网络状态信息,对流量进行集中式监控和管理,综合考虑全局网络状态和应用需求,以流为单位进行灵活的流量调度。流量工程问题通常将网络表示为有向图G(V,E),其中V代表网络节点的集合,E代表网络链路的集合;链路e的链路容量表示为c(e),链路权重表示为w(e),本发明中仍然采用这样的方式对流量工程问题进行表述。
本发明主要针对SDN场景下的集中式流量工程方法,集中式流量工程方法通常表述为对一个约束优化问题进行求解。为了更好的理解,将每条流通过如下方式进行描述:网络中的每条流可表示为源点si、终点ti、网络需求di、以及可能的路径集合Pi组成的四元组(si,ti,di,Pi)。定义网络中有M条流,每条流均采用四元组表示,流量工程优化的目的就是为了获得更好的决策用于对流的调度进行优化。在已知网络G的情况下,可以通过各种方法计算获得流量工程决策,决策对应的是将每条流合理的分配到不同的路径上的方案,流量工程过程中涉及到以下三个方面:
输入:上文定义的网G;M条流,每条流的信息是上文的四元组组成。
目标:某个优化目标得到最大化。常见的优化目标有最大-最小公平、吞吐量最大化、链路最大利用率最小化等,本发明选择吞吐量最大化作为优化目标进行说明。
输出:对于每一个流i输出其可以分配到的总带宽bi,以及对于这条流i的每个可用路径pij∈Pi,输出该流在该路径上所分配的带宽fij,根据每条流总带宽和路径上分配的带宽,可以得到每条流在每条路径的分流比(链路权重)wij,即fij除以流i分配到的总带宽bi。
如上所述,本发明的优化目标是吞吐量最大化,以该优化目标为基础,通过流量工程可以计算获得每条流对应的路径集合以及在每条路径上的分流比,下面简单介绍一下几种现有方法和本发明方法进行流量工程的思想。
(一)基于传统线性规划方法的流量工程方法
采用传统的线性规划方法进行流程工程时,可表示为:
其中,M表示流的条数,公式(1)是优化目标,即最大化网络的整体吞吐量,j代表路径,fij表示第i条流在第j条路径上被分配的带宽;公式(2)是链路容量的约束,对于网络中的每条链路,根据每条业务流在每条路径上分配的流量以及每条路径所包含的链路,累加得到每条链路上的流量,累加值应当不大于链路的容量c(e);公式(3)是流量需求约束,要求每条业务流i在所有可用路径上的流量之和应不超过该流的流量需求d(i);公式(4)是非负性约束,要求每条业务流在每条路径上的流量大小都是非负的。用上面线性规划求解的方法,下文称之为成为基线方法(LP)。
基于SDN的集中式流量调度使得流量工程更加灵活,但这类方法依赖于对网络状态和行为的精确建模,基于对现有网络复杂性的考虑这是很难做到的。例如,传统的线性规划求解方法可以描述流量的分配比例与链路利用率的关系,却无法直接用数学语言描述流量的分配比例与流量的端到端时延之间存在的具体联系。为了解决这一问题,近年来有研究者开始尝试用机器学习方法解决SDN环境中的流量调度和优化问题,这类方法将流量调度的决策过程建模为监督学习或强化学习过程,以数据驱动的方式对隐含的传统数学优化方法难以直接进行优化的因素加以利用。
(二)基于强化学习的流量工程方法
首先介绍一下强化学习的概念。强化学习(Reinforcement Learning)是机器学习的一个领域,强调如何基于环境采取行动来取得预期收益的最大化。强化学习的主体在离散时间步内与环境进行交互。在每一个时间t,主体接收到一个观测代表当前状态st和上一轮产生的奖励rt。然后,它从允许的集合中选择一个动作at送出到环境中去,环境则随之变化到一个新的状态st+1,然后得到和这个变化(st,at,st+1)相关联的奖励rt+1。强化学习的目标是寻找一个行动策略得到尽可能多的未来预期奖励。
其次,介绍一下基于深度确定策略梯度(Deep Deterministic Policy Gradient,DDPG)的智能体,所谓深度确定策略梯度是一种学习连续动作的无模型策略算法,其包含一个价值神经网络Q和一个策略神经网络π。价值神经网络Q根据输入的状态和动作对,输出估计的Q值,即该状态-动作对的价值,通过最小化时间差分误差进行神经网络参数更新;策略神经网络π根据输入的状态,输出动作,通过计算策略梯度(policy gradient)进行神经网络参数更新。在每一步生成动作时,通过对策略网络π的输出增加一个随机噪声来提高智能体的探索性。DDPG算法维护一个经验回放数据池,每一步从中采样数据进行参数更新。DDPG还维护了两个目标神经网络Q’和π’,分别与策略网络和价值网络具有相同的结构,使用平滑替换的方式进行参数更新,以提高训练的稳定性。
最后,介绍一下基于强化学习的流量工程方法。
通过上面的描述可知,流量工程的决策过程与强化学习的设置非常相似,都是一个主体在离散时间步内与环境进行交互,取得预期回报的最大化。因此,只要确定状态、动作、奖励等强化学习的关键要素在流量工程场景下的表示方法,就可以将各类强化学习算法应用到流量工程中去。深度强化学习流量工程方法(Deep Reinforcement Learning-Traffic Engineering,DRL-TE)是其中一个比较有代表性的工作,与基线方法不同,DRL-TE在使用基线方法用到的数据和变量的同时,额外采集了端到端时延信息,并定义了一个效用函数,目标是最大化该效用函数值,同时对每条流的带宽和时延进行优化。下面简单介绍一下DRL-TE方法,用xi和yi分别表示第i条流在时刻t的流量大小和端到端时延,根据这些数据,DRL-TE对问题的表示方法为:
状态:每条流的平均流量大小和端到端时延(x1,y1,x2,y2,…,xM,yM);
动作:每条流在自己第j条路径上的权重(被分配比例)wij;
DRL-TE总共运行T个时刻,对于每个时刻t执行如下步骤:
测量采集用到的状态数据xj和yi,得到状态st;
根据状态用策略网络生成动作at,执行;
采用一个概率p从基线方法和策略网络生成的动作中做选择,其中,概率p随时间t递减;
执行一段时间,测量采集下一个时刻的状态,记为st+1;
根据采集的xi和yi,采用价值网络计算本次的奖励rt,并将(st,at,rt,st+1)存入经验回放数据池;
开始当前时刻的训练过程:从经验回访数据集随机采样一批数据,使用DDPG的更新算法依次对两个网络进行更新,需要注意的是,采样时每个样本的权重不同,根据梯度更新每个样本的采样概率;
结束当前时刻,在下一时刻用上一时刻更新后的策略网络和价值网络生成动作和计算奖励;
重复以上过程。
但是,从上面对DRL-TE的描述可以看出,DRL-TE存在两个问题:(1)交互时间长,学习过程耗时。流量工程方法通常周期性执行,现实中的执行周期一般为5分钟至10分钟。由于在线强化学习方法需要根据这一周期进行采集数据并进行模型更新,因此需要较长时间的交互才能学习到一个好的策略,学习过程前期的效果很可能不如传统方法。(2)难以安全部署。现有方法没有对强化学习生成的决策的安全性加以判断和限制,在线部署的过程中,尤其是学习过程的前期更有可能做出较差的流量工程决策,影响网络质量,甚至对网络带来负面的优化效果。
为了解决上述问题,本发明提供一种流量工程方法及系统。
根据本发明的一个实施例,如图2所示,本发明包括三个阶段:
第一阶段:获取网络的网络拓扑、链路容量、链路权重、流量矩阵等网络状态信息。如上面的描述可知,网络拓扑信息一般包括:网络拓扑抽象的有向图G(V,E),其中V代表网络节点的集合,E代表网络链路的集合。链路e的链路容量表示为c(e);链路权重表示为w(e);业务流信息主要为流量矩阵信息,从而进一步获得每条业务流的源节点、目的节点、流量需求、并根据链路权重预先计算的源与目的之间的k条最短路径。该实施例所述的业务流特指具有相同的源点-目的点对的流聚合而成的聚合流。
第二阶段:在部署智能体之前,先部署任意一种现有的流量工程方法作为基线方法,执行若干个周期,每个周期通过测量或估计采集基线方法执行前后的信息,作为示范数据存储到示范数据集中,示范数据主要包括:执行前每条流的状态,表示为s;执行基线方法计算得到的流量工程决策a;执行决策后每条流的状态,表示为s’;根据状态数据和设定的奖励计算函数计算得到奖励r,即示范数据表示为(s,a,s’,r)的形式。
第三阶段:执行和部署基于强化学习的流量工程方法。在每个周期采集网络状态信息,生成流量工程决策进行网络优化,结合示范数据进行在线训练,结合基线方法进行安全部署。如图3所示,本发明的基于强化学习的流量工程系统包括:智能体、安全判断模块、示范数据集、经验回放数据集。其中所述智能体包括基线模块和强化学习模块,所述基线模块用于根据网络拓扑信息和业务流信息获得基于基线方法的流量工程策略,所述强化学习模块用于根据网络拓扑信息和业务流信息获得基于强化学习的流量工程策略,所述强化学习模块中包含价值神经网络和策略神经网络。所述安全判断模块用于对比基于基线方法的流量工程策略和基于强化学习方法的流量工程策略的安全性,并选择安全性高的策略进行执行。所述示范数据集用于存储被执行了的基于基线方法的流量工程策略对应的状态信息。所述经验回放数据集,用于存储基于强化学习方法的流量工程策略对应的状态信息存储到经验回放数据集,且经验回放数据格式与示范数据一致。
根据本发明的一个实施例,所述第三阶段包括在预设的周期内重复如下步骤:
步骤3.1:利用SDN的测量应用确定本步骤要用到的网络拓扑信息和全局业务流信息,得到网络状态信息st。
步骤3.3:将网络状态信息输入强化学习模块,得到强化学习方法对当前状态的决策adrl。具体来说,是将网络状态信息st输入策略网络π,得到强化学习方法对当前状态的决策其中是标准正态分布的随机噪声,用于鼓励强化学习对动作空间进行探索。
步骤3.4:将步骤3.2和3.3得到的两个决策输入安全模块,用带宽估计算法对强化学习方法和基线方法得到的决策分别进行带宽估计,并分别记为和进行计算。进行安全性判断:如果判定为安全,则跳转至步骤3.5;如果判定为不安全,则跳转至3.6。其中ε是一个超参数,取值为0到1之间,作为安全判定的阈值,越高越严格。根据本发明的一个实施例,所述带宽估计算法通过如下方式实现:
Tt=∑Tij
Tij=biwij/MAX(1.0,u)
其中,Tij表示业务流i在第j条路径上的带宽,bi表示业务流i所需的带宽信息,wij表示在当前流量工程策略下第i条流被分配在第j条路径上的比例,u表示第i条流在网络中的瓶颈利用率,Ue表示在当前流量工程策略下的业务流对每条链路的利用率,Pi,j表示业务流i的第j条路径。
用于实现上述过程的伪代码如表1所示,算法的输入为步骤3.1提到的拓扑信息和业务流信息,以及需要进行估计的流量工程决策:首先根据决策结果和流量需求对每条流累加计算出在没有容量限制的情况下每条链路的利用率。然后考虑链路拥塞情况,对每条流的每条路径找到其中利用率最大的链路,用这个利用率作为这条路径的瓶颈利用率u。最后依次估计每条流在每条路径上的带宽,方法是bi*wij/Max(1.0,u),(即如果之前计算的u超过1.0说明路径将发生拥塞,无法承载这么多带宽,除以u对结果进行修正),将每条流的结果累加,输出总流量大小的估计值。如果强化学习决策预测得到的总流量不小于基线方法的总流量乘一个设定的阈值(0-1之间),则将该强化学习决策判定为安全。
表1
步骤3.6:执行基线方法得到的流量工程决策。执行后采集过程中的信息并将其存储到示范数据集,同时将判定为不安全而未执行的强化学习策略对应的信息存储到经验回放数据集,目的是将其用于作为后续训练的负样本,跳转至步骤3.7.
步骤3.7:依次进行价值神经网络和策略神经网络的神经网络参数更新。根据本发明的一个实施例,如表2的伪代码所示,所述步骤3.7包括:
步骤3.71:如果基于强化学习的流量工程策略被判断为安全,仅从经验回放数据随机采样第一预设个数(此处记为NB)的样本。更新方式为首先对每一个采样样本l计算价值网络的损失yl=rl+γQ′(sl+1,π(st|θπ′)|θQ′,根据损失函数可以计算价值网络的梯度,采用梯度下降的方式朝最小化损失方向对价值神经网络进行网络参数更新。然后依据策略梯度的原理计算策略网络的更新梯度 作为策略网络的梯度,使用梯度上升的方式朝最大化回报的方向对策略神经网络进行网络参数的更新。
步骤3.7.2如果基于强化学习的流量工程策略被判断为不安全,则同时从经验回放数据集和示范数据集采样。从经验回放数据随机采样第一预设个数(此处记为NA个)的样本,同时从示范数据随机采样第二预设个数(此处记为NS个)的样本。在更新方式上,价值网络的更新与步骤3.7.1一致,对于每个样本都计算。但对于策略网络,除了在每个样本计算步骤3.7.1中所描述的策略梯度外,额外在每一个示范数据上计算模仿损失.该损失表示的是当前策略网络生成的动作与示范数据动作的距离。其中是一个过滤函数,仅对示范数据中动作的Q值大于当前策略网络产生动作的Q值的数据取值为1,其余为0.因此,对于策略网络,最终的更新梯度变为其中引入了两个超参数λ1和λ2,用于控制模仿损失带来损失的权重,λ1和λ2根据需要的效果进行设置。需要说明的是,在更新网络参数过程中可能存在一种特殊情况,即前期经验回放数据集中的数据比设定的采样数量少,此时可以理解为网络参数更新更新方式同步骤3.7.2一致,但经验回放数据采样数目为0,只从示范数据采样。
表2
与现有技术相比,本发明采集流量工程示范数据并将其用于加速强化学习方法的收敛速度,缓解了现有方法存在的在线学习交互时间长、学习速度慢的问题。现实中的流量工程方法通常以数分钟的时间间隔周期性执行,以在线学习的方式需要长时间的交互才能收敛到比较好的结果,因此提出采集过去流量工程方法的执行记录作为示范数据,通过修改传统强化学习的训练方法提升算法收敛速度。本发明对强化学习生成的流量工程决策进行安全检查和过滤,提前排除强化学习生成的预期表现较差的决策,并储存相应数据用于训练,解决了现有方法存在的在训练初期会产生较差决策,难以安全部署的问题。现有的基于强化学习的流量工程在线训练的过程中忽略了训练初期产生的决策可能较差,甚至可能对网络产生负面的效果。通过基于规则的传统方法对强化学习产生的决策进行判断和过滤,使得训练初期较差的决策不会被部署,同时根据判断过程产生的数据又可用于训练以减少类似决策的产生。本发明在对智能体神经网络的训练过程中同时维护经验数据和示范数据用于学习,并基于传统方法对强化学习方法产生的决策进行过滤,根据过滤结果的不同从不同的数据集合中采样进行训练,能在较短时间内从历史数据中学习得到更优的强化学习策略,同时保证了学习过程中强化学习产生的较差流量工程决策不会部署到真实网络中。通过本发明能够加速基于强化学习的流量工程的学习速度,并保证在线训练过程中由强化学习产生的预期结果较差的决策不会被执行,最终通过数据驱动的在线学习不断提升决策的效果,无需人工进行精确的数学建模即可得到优于传统建模的流量工程策略,提升流量工程的实施效果。
为了验证本发明的效果,本发明利用NS-3搭建了可用于流量工程研究的仿真环境,首先根据拓扑文件创建路由设备,生成相应的网络拓扑,之后随机生成20个源-目的会话,每一对会话的发送速率设置在一个窗口内均匀分布,流量的强度可以根据输入的参数进行调节,流量的到来符合泊松分布。在NS-3中设置回调函数统计端到端带宽和时延,根据提前计算的最短路径安装静态路由,在设备发送数据包时根据随机生成的概率和这条流对应的多路径分流比选择合适的转发路径,模拟实现任意比例的流量多路径分配。其中,对比方法有:基线方法(记为LP),原始DDPG(表示为DDPG),DRL-TE;本发明方法(记为Ours)。
如图4所示,为Claranet拓扑实验结果,图5为NSFNET拓扑实验结果,其中,图4和图5中的纵坐标分别为总吞吐量、平均端到端时延、效用函数值、多次实验归一化的效用函数值在运行中每一步的值;横坐标表示流量强度窗口左侧的值,窗口大小固定为20,比如10代表流量大小为[10Mbps,30Mbps]。可以看到本发明的方法具有更低的时延,更高的效用函数值。从每一步的值可以看出本发明方法相比其他DRL的方法具有更快的收敛速度。
在实验过程中,发明人对不同方法的安全性进行了验证,在NSFNET拓扑下的验证结果如图6所示,图中记录了每一步时间t的端到端总带宽,流量强度窗口为[25Mbps,45Mbps]。虚线是基线方法的值乘以阈值得到的安全界限,可以看到本发明方法一直远离安全界限,其他方法则时常低于界限,尤其是训练初期。由此可以看出,本发明的安全性高于其他方法。
需要说明的是,虽然上文按照特定顺序描述了各个步骤,但是并不意味着必须按照上述特定顺序来执行各个步骤,实际上,这些步骤中的一些可以并发执行,甚至改变顺序,只要能够实现所需要的功能即可。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以包括但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (11)
1.一种流量工程方法,所述方法采用智能体,且所述智能体中部署有根据网络拓扑信息和业务流信息获取流量工程策略的基线模块和强化学习模块,其特征在于,所述方法包括在预设的周期内重复执行如下步骤:
S1、基于网络拓扑信息和业务流信息,通过智能体分别获取由基线模块得到的基于基线方法的流量工程策略和强化学习模块得到的基于强化学习方法的流量工程策略;
S2、对比基于基线方法的流量工程策略和基于强化学习方法的流量工程策略的安全性,并执行安全性高的策略;
S3、将被执行了的基于基线方法的流量工程策略对应的状态信息存储到示范数据集,将基于强化学习方法的流量工程策略对应的状态信息存储到经验回放数据集,从经验回放数据集和示范数据集中采集样本训练强化学习模块。
2.根据权利要求1所述的方法,其特征在于,所述预设的周期为根据实际应用场景需求设置的执行流量工程的时间。
3.根据权利要求1所述的方法,其特征在于,所述步骤S2包括:
S21、分别评估基于基线方法的流量工程策略和基于强化学习方法的流量工程策略的带宽;
S22、对比基于基线方法的流量工程策略和基于强化学习方法的流量工程策略的带宽,强化学习方法的流量工程策略的带宽大于或等于基于基线方法的流量工程策略的带宽与安全阈值的乘积时,执行基于强化学习方法的流量工程策略,基于强化学习方法的流量工程策略的带宽小于基于基线方法的流量工程策略的带宽与安全阈值的乘积时,执行基于基线方法的流量工程策略。
5.根据权利要求3所述的方法,其特征在于,所述安全阈值为0-1之间的小数,且根据网络应用环境设定。
7.根据权利要求1所述的方法,其特征在于,所述强化学习模块包括价值神经网络和策略神经网络,其中,所述步骤S3包括:
S41、从经验回放数据集中随机采样第一预设比例的样本形成第一训练集,从示范数据集中随机采样第二预设比例的样本形成第二训练集;
S42、基于第一训练集,采用批量梯度下降方式更新价值神经网络和策略神经网络的参数,其中,价值神经网络的损失为其第一数据集中的样本上的损失,策略神经网络的损失为其在第一训练集中的样本上的损失与其在第二训练集的样本上的模仿损失之和,所述模仿损失为策略神经网络生成的策略与第二训练集中样本对应策略之间的距离。
8.根据权利要求7所述的方法,其特征在于,
第一预设比例和第二预设比例均通过实验确定,其中,如果当前被执行的策略是基于基线方法的流量工程策略,则此次采样的第二预设比例为0。
9.一种用于实现如权利要求1-8任一所述方法的系统,其部署在SDN网络环境中,其特征在于,所述系统包括:
智能体,包括基线模块和强化学习模块,其中,所述基线模块用于根据网络拓扑信息和业务流信息获得基于基线方法的流量工程策略,所述强化学习模块用于根据网络拓扑信息和业务流信息获得基于强化学习的流量工程策略;
安全判断模块,用于对比基于基线方法的流量工程策略和基于强化学习方法的流量工程策略的安全性,并选择安全性高的策略进行执行;
示范数据集,用于存储被执行了的基于基线方法的流量工程策略对应的状态信息;
经验回放数据集,用于存储基于强化学习方法的流量工程策略对应的状态信息存储到经验回放数据集;
其中,所述强化学习模块被配置为:在一个执行周期内,每次执行了被选择的策略后从经验回放数据集和示范数据集中采集样本进行训练。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序可被处理器执行以实现权利要求1至8任一所述方法的步骤。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如权利要求1至8中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111483364.6A CN114285751B (zh) | 2021-12-07 | 2021-12-07 | 一种流量工程方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111483364.6A CN114285751B (zh) | 2021-12-07 | 2021-12-07 | 一种流量工程方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114285751A CN114285751A (zh) | 2022-04-05 |
CN114285751B true CN114285751B (zh) | 2023-01-20 |
Family
ID=80871081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111483364.6A Active CN114285751B (zh) | 2021-12-07 | 2021-12-07 | 一种流量工程方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114285751B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115118608B (zh) * | 2022-05-07 | 2024-05-03 | 清华大学 | 快速流量工程方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110611619A (zh) * | 2019-09-12 | 2019-12-24 | 西安电子科技大学 | 一种基于ddpg强化学习算法的智能化路由决策方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7299840B2 (ja) * | 2017-11-17 | 2023-06-28 | ソニーセミコンダクタソリューションズ株式会社 | 情報処理装置および情報処理方法 |
EP3620880A1 (en) * | 2018-09-04 | 2020-03-11 | Autonomous Intelligent Driving GmbH | A method and a device for deriving a driving strategy for a self-driving vehicle and an electronic control unit for performing the driving strategy and a self-driving vehicle comprising the electronic control unit |
CN109768940B (zh) * | 2018-12-12 | 2020-12-29 | 北京邮电大学 | 多业务sdn网络的流量分配方法及装置 |
CN111010294B (zh) * | 2019-11-28 | 2022-07-12 | 国网甘肃省电力公司电力科学研究院 | 一种基于深度强化学习的电力通信网路由方法 |
US11323473B2 (en) * | 2020-01-31 | 2022-05-03 | Bank Of America Corporation | Network threat prevention and information security using machine learning |
CN111949131B (zh) * | 2020-08-17 | 2023-04-25 | 陈涛 | 一种基于眼动追踪技术的眼动交互方法、系统及设备 |
CN113449458A (zh) * | 2021-07-15 | 2021-09-28 | 海南大学 | 一种基于课程学习的多智能体深度确定性策略梯度方法 |
-
2021
- 2021-12-07 CN CN202111483364.6A patent/CN114285751B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110611619A (zh) * | 2019-09-12 | 2019-12-24 | 西安电子科技大学 | 一种基于ddpg强化学习算法的智能化路由决策方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114285751A (zh) | 2022-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109768940B (zh) | 多业务sdn网络的流量分配方法及装置 | |
Wang et al. | Adaptive Traffic Signal Control for large-scale scenario with Cooperative Group-based Multi-agent reinforcement learning | |
CN110119844B (zh) | 引入情绪调控机制的机器人运动决策方法、系统、装置 | |
CN114756358B (zh) | 一种dag任务调度方法、装置、设备及存储介质 | |
CN107231436B (zh) | 一种进行业务调度的方法和装置 | |
Chin et al. | Q-learning based traffic optimization in management of signal timing plan | |
CN113341712B (zh) | 无人机自主控制系统智能分层递阶控制选择方法 | |
CN110858973B (zh) | 小区网络流量预测方法及装置 | |
CN111106999A (zh) | 一种ip-光网络通信业务联合分配方法及装置 | |
Liang et al. | A deep q learning network for traffic lights’ cycle control in vehicular networks | |
CN116669068A (zh) | 一种基于gcn的时延业务端到端切片部署方法及系统 | |
CN114285751B (zh) | 一种流量工程方法及系统 | |
CN116362522B (zh) | 基于多点分布模型的数字能源氮气站数据处理方法及系统 | |
CN117933673B (zh) | 线路巡视的规划方法、装置和线路巡视规划系统 | |
CN103345663A (zh) | 考虑爬坡速率约束的电力系统机组组合优化方法 | |
Ruiz et al. | Knowledge management in optical networks: architecture, methods, and use cases | |
CN114726770B (zh) | 一种应用于分段路由网络环境的流量工程方法 | |
CN117149410A (zh) | 一种基于ai智能模型训练调度指挥监控系统 | |
CN106406082B (zh) | 一种系统控制方法、装置,控制器及控制系统 | |
CN114006827B (zh) | 时间触发调度模型的训练、时间触发调度方法及装置 | |
CN110119268A (zh) | 基于人工智能的工作流优化方法 | |
CN115576686A (zh) | 一种基于混合模型的优化边缘云资源的分配方法及系统 | |
CN113220437B (zh) | 一种工作流多目标调度方法及装置 | |
CN117009042A (zh) | 物联网模式下的信息计算负载调度方法、装置、设备及介质 | |
CN115150335A (zh) | 一种基于深度强化学习的最优流量分割的方法和系统 |
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 |