CN117319287B - 一种基于多智能体强化学习的网络可扩展路由方法与系统 - Google Patents
一种基于多智能体强化学习的网络可扩展路由方法与系统 Download PDFInfo
- Publication number
- CN117319287B CN117319287B CN202311585505.4A CN202311585505A CN117319287B CN 117319287 B CN117319287 B CN 117319287B CN 202311585505 A CN202311585505 A CN 202311585505A CN 117319287 B CN117319287 B CN 117319287B
- Authority
- CN
- China
- Prior art keywords
- network
- key
- node
- agent
- routing
- 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
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000002787 reinforcement Effects 0.000 title claims abstract description 34
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 16
- 239000003795 chemical substances by application Substances 0.000 claims description 63
- 239000013598 vector Substances 0.000 claims description 36
- 238000012545 processing Methods 0.000 claims description 17
- 238000012512 characterization method Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 11
- 238000009826 distribution Methods 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 10
- 230000007246 mechanism Effects 0.000 claims description 6
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 230000009471 action Effects 0.000 claims description 4
- 238000005070 sampling Methods 0.000 claims description 4
- 230000002457 bidirectional effect Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 claims description 2
- 239000003999 initiator Substances 0.000 claims description 2
- 238000013461 design Methods 0.000 abstract description 6
- 230000006870 function Effects 0.000 abstract description 6
- 238000005457 optimization Methods 0.000 abstract description 5
- 230000003993 interaction Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013016 damping Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/08—Learning-based routing, e.g. using neural networks or artificial intelligence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于多智能体强化学习的网络可扩展路由方法与系统,通过PageRank算法对网络节点重要性进行建模,并选取网络中的关键节点,然后在若干个关键网络节点上训练Actor网络,在SDN控制器上训练Critic网络,基于多智能体强化学习进行网络流量的逐跳路由,实现大型数据中心网络的可扩展路由。通过本发明既提升了路由方案的稳定性又降低了大型网络中路由寻优的复杂度;同时不需要传统监督学习方法中的带标签的样本,通过与环境反复交互获得实时反馈的样本,以指导模型的迭代和优化;奖励函数的设计综合考虑了网络链路的吞吐量、时延和丢包率,通过多种指标加权指导多智能体生成最优的流量路由策略。
Description
技术领域
本发明属于计算机网络流量路由领域,尤其涉及一种基于多智能体强化学习的网络可扩展路由方法与系统。
背景技术
网络路由将网络连接起来并将网络信息导向其他网络上,通常网络信息全自动寻找多个路由器,并选择效率最高的路由。网络路由器是计算机网络的重要组成部分,主要服务于网络间的连接,进行路由的选择等活动。网络路由通过对信息进行过滤、转发等,把两个或更多的网络连接起来,从而在计算机间连接起有效的网络,通过选择合适的路由路线,以最快的速度,将信息从一个网络节点输送至另外一个网络节点。网络路由的优劣直接影响到网络的整体性能。
设计合适的网络路由方案来优化流量传输时间具有较大难度。在数据中心网络中,网络路由方案一方面需要考虑流量本身的特性,另一方面也要考虑网络的特性,除了考虑网络可用带宽、时延抖动,还要考虑网络规模,尤其在现阶段网络规模日渐增大,给设计高效的网络路由方案带来挑战。目前研究主要集中在两点,一方面在小型数据中心网络中,通过多智能体强化学习实现网络流量的逐跳路由,该方法并不适用于解决大型数据中心网络中的网络路由问题;另一方面在大型数据网络中通过采样算法选取关键网络节点,然后在SDN控制器中训练单智能体强化学习模型实现关键网络节点上的路由,该方法虽然适用于大型数据中心网络的路由问题,但是通过采样算法选取的关键节点并不固定,从而导致路由方法并不稳定,且其路由策略是周期性产生的,并不能针对每个网络流量产生实时的路由策略。所以亟需一种面向大型数据中心网络的可扩展路由方法实现网络流量的实时高效传输。
发明内容
本发明的目的在于针对现有技术的不足,提供了一种基于多智能体强化学习的网络可扩展路由方法与系统。
为实现上述目的,本发明提供了一种基于多智能体强化学习的网络可扩展路由方法,包括以下步骤:
(1)获取网络拓扑,基于PageRank算法对网络节点进行计算并生成其重要性排序结果,从重要性排序结果中选取关键网络节点生成关键节点集合,其余网络节点放入从节点集合;
(2)通过当前关键网络节点获取流量的信息、网络性能数据,并生成状态表征向量;
(3)通过智能体以状态表征向量输入,并给出动作输出,动作输出即路由到下一个关键网络节点的概率分布,取概率最大的作为下一跳关键网络节点;
(4)基于步骤(3)得到的下一跳关键节点,SDN控制器基于最短路径算法在从节点集合中生成两个关键网络节点之间的路由,并下发给路由器;
(5)收集网络流量逐跳决策过程中的相关信息,并将其存储在样本列表中,当样本列表中的数据总量达到阈值后,更新Actor网络和Critic网络直至收敛。
进一步地,所述步骤(1)包括以下子步骤:
(1.1)获取网络拓扑并将其建模成一个双向无权图,然后统计每个网络节点的出度信息;
(1.2)将网络节点的PR值初始化为1/N,其中N为网络节点总量;
(1.3)基于PageRank算法以及子步骤(1.1)得到的出度信息,计算网络节点的PR值;
(1.4)进行网络节点PR值的迭代计算,直至各网络节点的PR值达到任一终止条件时,停止迭代;
(1.5)按网络节点PR值从高到低进行排序,得到网络节点的重要性排序结果,从重要性排序结果中取k个关键网络节点放入关键节点集合D,其余网络节点放入从节点集合F。
进一步地,所述子步骤(1.4)中,所述终止条件包括:
终止条件一:前后两次迭代,各个网络节点的PR值均保持不变,说明达到终止条件;
终止条件二:前后两次迭代,各个网络节点的PR值的差值均不大于,说明达到终止条件。
进一步地,所述步骤(2)包括以下子步骤:
(2.1)当前网络节点获取网络流量的信息,当前网络节点通过网络遥测技术获取其到相邻关键网络节点之间的可用带宽、时延和丢包率信息;获取网络流量已经过的关键节点列表信息;
(2.2)将子步骤(2.1)中获取的信息拼接成1个一维的状态表征向量S。
进一步地,所述步骤(3)包括以下子步骤:
(3.1)将状态表征向量S输入到当前关键网络节点的智能体Actor网络中,然后Actor网络输出与当前关键网络节点相邻的所有关键网络节点的概率分布;
(3.2)从子步骤(3.1)得到的概率分布中取最大值,所述最大值对应的关键网络节点为下一跳的关键网络节点。
进一步地,所述步骤(4)包括以下子步骤:
(4.1)上报当前关键网络节点和步骤(3)选择的下一跳关键节点;
(4.2)基于最短路径算法在从节点集合中生成两个关键网络节点之间的路由,并将路由进行下发给路由器。
进一步地,所述步骤(5)包括以下子步骤:
(5.1)收集网络流量逐跳的相关信息,包括输入第j个智能体的Actorj网络中的状态输入向量Sj、Actor网络输出的路由策略Aj、网络流量从当前关键网络节点传输到下一个关键网络节点所获得的奖励Rj、以及网络流量达到下一个关键网络节点后的状态输入向量Sj’;将收集的信息样本表示为四元组形式(Sj,Aj,Rj,Sj’),存储在第j个智能体的Actorj网络所对应的样本列表Bufferj中;
(5.2)当样本列表Bufferj中的数据总量超过阈值4096时,从样本列表Bufferj中随机采样若干数据进行Actorj网络和Critic网络的参数更新;将(S1,S’1,R1)输入到Critic网络中,得到Critic网络对于状态S1的价值估计V1和对状态S’1的价值估计V’1,计算时序差分误差,然后计算Actor1网络的误差,并通过反向传播机制更新Actor1网络的参数;计算Critic网络的误差/>,并通过反向传播机制更新Critic网络的参数;
(5.3)基于子步骤(5.2)更新k个Actor网络的参数和1个Critic网络的参数,在总迭代次数达到100万至150万次后,多智能体强化学习模型即可收敛并稳定运行。
为实现上述目的,本发明还提供了一种基于多智能体强化学习的网络可扩展路由系统,包括:
控制平面,包括SDN控制器;所述SDN控制器用于获取数据平面的信息和生成路由表项,并将数据平面的信息和路由表项下发给数据平面的转发设备;所述SDN控制器包括关键节点生成模块和智能体Critic网络;所述关键节点生成模块用于输出关键节点集合和从节点集合;所述智能体Critic网络用于对智能体Actor网络输出的路由策略进行评估;
数据平面,包括转发设备,所述转发设备用于执行路由策略转发流量;所述转发设备包括特征处理模块和智能体Actor网络;所述特征处理模块用于采集信息并转化成智能体的状态输入向量;所述智能体Actor网络用于决策流量转发的下一跳关键网络节点,并输出路由策略。
为实现上述目的,本发明还提供了一种电子设备,包括存储器和处理器,所述存储器与所述处理器耦接;其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现上述的基于多智能体强化学习的网络可扩展路由方法。
为实现上述目的,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述的基于多智能体强化学习的网络可扩展路由方法。
与现有技术相比,本发明的有益效果是:首先,本发明从数据中心网络的路由场景出发,一方面考虑网络拓扑变更或更新对路由方案稳定性的影响,另一方面考虑大型网络中路由寻优的复杂性,提出基于PageRank算法选取网络关键节点,然后基于关键节点生成路由,既提升了路由方案的稳定性又降低了大型网络中路由寻优的难度;其次,本发明方法是针对每条网络流量设计的路由方案,可实时感知网络的性能变化从而给出实时的、最优的路由策略;再次,本发明不需要传统监督学习方法中的带标签的样本,本发明中智能体是通过与环境反复交互获得实时反馈的样本,以指导模型的迭代和优化;最后,本发明方法设计的强化学习奖励函数,综合考虑了网络链路的吞吐量、时延和丢包率,通过多种指标加权指导多智能体为流量生成最优的路由策略。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明方法的流程图;
图2为本发明的架构图;
图3为本发明中多智能体模型更新的示意图;
图4为本发明系统的示意图;
图5为一种电子设备的示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
下面结合附图,对本发明进行详细说明。在不冲突的情况下,下述的实施例及实施方式中的特征可以相互组合。
本发明在网络路由的场景下,设计一种基于多智能体强化学习的可扩展路由方法,以实现网络流量传输的整体性能最优。
如图1和图2所示,本发明提供的一种基于多智能体强化学习的网络可扩展路由方法,所述方法包括以下步骤:
(1)获取网络拓扑,基于PageRank算法计算并生成网络节点的重要性排序结果,从重要性排序结果中选取关键网络节点放入关键节点集合D,其余网络节点放入从节点集合F。
步骤(1)包括以下子步骤:
(1.1)获取网络拓扑并将其建模成一个双向无权图,然后统计每个网络节点的出度信息,用于公式(1)的迭代计算。
(1.2)初始化网络节点的PR值,初始值为1/N,其中N为网络节点总量。
(1.3)基于PageRank算法的随机浏览模型计算网络节点的PR值,计算方式如公式(1),其中PRu表示待计算节点u的价值,Bu表示节点u的入链节点集合,N表示网络节点总量,d表示阻尼系数,本发明中d取0.85,Lv表示节点v的出链节点总量(即出度),表示待计算节点u的价值。需要说明的是,公式(1)中对网络节点价值PR的计算,由两个部分组成,第一个部分是网络节点自身价值的预估,第二个部分是由于网络节点之间的连接,价值传播而产生的价值预估,其中引入阻尼系数是为了避免PR的迭代计算过程陷入不收敛的情况,使迭代过程更加稳定。
(1)
(1.4)网络节点PR值的计算通过迭代过程进行,经过若干次迭代,当各网络节点的PR值达到以下任一终止条件时说明迭代过程已收敛,即可停止迭代;
终止条件一:前后两次迭代,各个网络节点的PR均保持不变,说明达到终止条件;
终止条件二:前后两次迭代,各个网络节点的PR差值均不大于,说明达到终止条件;本实施例中/>设为0.0001。
(1.5)按网络节点PR值从高到低进行排序,得到网络节点的重要性排序结果,从重要性排序结果中取k个关键网络节点放入关键节点集合D,其余网络节点放入从节点集合F,本发明中k的取值见公式(2):
(2)
(2)当网络流量达到某关键网络节点时,通过当前关键网络节点获取流量的信息、网络流量数据,并生成状态表征向量。
步骤(2)包括以下子步骤:
(2.1)当网络流量达到某关键网络节点,当前网络节点获取网络流量的信息;当前网络节点通过网络遥测技术INT获取其到相邻关键网络节点之间的可用带宽、时延和丢包率信息;获取网络流量已经过的关键节点列表。
具体地,对子步骤(2.1)包括的信息进行详述:
(2.1.1)当前网络节点获取网络流量的信息,网络流量的信息包括网络流量的源节点、目的节点等信息,该信息表示成1个一维向量,向量的长度为N,向量的每个维度对应于1个网络节点的索引,向量的元素为0或1,1表示该元素索引对应的网络节点为源节点或目的节点,0表示该元素索引对应的网络节点不是源节点或目的节点;
(2.1.2)统计任意两个相邻关键节点之间的可用带宽、时延和丢包率,记为He,统计所有关键节点上的流量数量和数据包大小,记为Hv。基于图卷积网络实现网络拓扑的局部信息感知,有表达式如下:
(3)
(4)
(5)
本发明中使用的近似谱图卷积、归一化拉普拉斯邻接矩阵如公式(3)所示,其中i表示关键节点v或任意两个相邻关键节点之间的链路e,Ai表示关键节点或链路之间的邻接矩阵,IN是单位矩阵,D是A+IN的对角度矩阵。公式(4)表示关键节点之间的信息传递,公式(5)表示链路之间的消息传递,其中σ表示激活函数Relu的变换操作,T是转移矩阵,Ti,m表示节点i与链路m是否有链接关系,有则Ti,m=1,否则Ti,m=0。Φ表示矩阵的对角化操作,Pv和Pe分别表示关键节点和链路向量的可学习参数,⊙表示矩阵的元素点积操作,Wv表示关键节点之间消息传播过程的网络参数,We表示链路之间消息传播过程的网络参数。构建一个两层的神经网络,其中第一层基于公式(4)实现关键节点之间信息传递,输出链路向量He和更新后的关键节点向量Hv,经过Relu激活函数后,输入到第二层,第二层是基于公式(5)实现链路之间的信息传递,最终得到关键节点和链路的表征向量。此外,该网络结构的参数更新与后续Actor网络和Critic网络更新一起进行,按照梯度反向传播实现网络参数的更新。
(2.1.3)基于子步骤(2.1.2)的输出,得到当前网络节点到相邻关键节点之间链路的可用带宽、时延和丢包率的表征向量;其中,相邻关键节点的个数记为M,则表征向量的长度为3*M。
(2.1.4)获取网络流量已经过的关键节点列表,该列表用1个一维向量表示,向量长度为k,向量的每个维度对应于一个关键网络节点的索引,向量的元素为0或1,0表示该网络流量未经过该索引对应的关键网络节点,1表示该网络流量已经经过该索引对应的关键网络节点。
(2.2)将子步骤(2.1)中获取的信息拼接成1个一维的状态表征向量S,该状态表征向量的长度为N+3*M+k。
(3)通过智能体以状态表征向量输入,并给出动作输出,动作输出即路由到下一个关键节点的概率分布,取其中概率最大的作为下一跳关键节点。
步骤(3)包括以下子步骤:
(3.1)将状态表征向量S输入到当前关键网络节点的智能体Actor网络中,Actor网络会输出与当前关键网络节点相邻的所有关键网络节点的概率分布;
(3.2)从子步骤(3.1)得到的概率分布中取最大值,概率分布中最大值所对应的关键网络节点为下一跳的关键网络节点。
(4)基于步骤(3)选择的下一跳关键网络节点,SDN控制器基于最短路径算法在从节点集合F中生成两个关键网络节点之间的路由,并将其下发给路由器(即数据平面的转发设备)。
步骤(4)包括以下子步骤:
(4.1)将当前关键网络节点和步骤(3)选择的下一跳关键节点,上报给SDN控制器;
(4.2)SDN控制器基于最短路径算法Dijkstra在从节点集合F中生成两个关键网络节点之间的路由,并将路由下发给路由器(数据平面的转发设备)。
(5)收集网络流量逐跳决策过程中的相关信息,并将该相关信息存储在样本列表中,当样本列表中的数据总量达到一定数量后更新Actor网络和Critic网络直至收敛。
步骤(5)包括以下子步骤:
(5.1)收集网络流量逐跳的相关信息,包括输入第j个智能体的Actorj网络中的状态输入向量Sj、Actor网络输出的路由策略Aj、网络流量从当前关键网络节点传输到下一个关键网络节点所获得的奖励Rj、以及网络流量达到下一个关键网络节点后的状态输入向量Sj’。其中奖励R的设计考虑吞吐量、时延和丢包率等因素,奖励R的计算见公式(3),其中Throughput表示两个相邻的关键节点之间的吞吐量、Delay表示时延,DropRate表示丢包率,在代入公式计算之前,前述三个变量都需要经过归一化处理。将收集的信息样本表示成四元组形式(Sj,Aj,Rj,Sj’),存储在第j个智能体的Actorj网络所对应的样本列表Bufferj中;
(6)
进一步地,对所述子步骤(5.1)中的归一化处理具体包括:
(5.1.1)针对吞吐量,执行最大最小值归一化,吞吐量的最大值Tmax按照网络链路中的最大吞吐量计,最小吞吐量Tmin设为0,则吞吐量的归一化公式如下:
(7)
(5.1.2)针对时延Delay和丢包率DropRate,采用均值归一化,Delayavg表示当前时刻整个网络中的链路时延平均值,DropRateavg表示当前时刻整个网络中的链路丢包率平均值,则归一化公式如下:
(8)
(9)
(5.2)当样本列表Bufferj中的数据总量超过4096的时候,从样本列表Bufferj中随机采样若干数据进行Actorj网络和Critic网络的参数更新。更新过程以k=2为例,如图3所示。针对Actor1网络,将(S1,S’1,R1)输入到Critic网络中,得到Critic网络对于状态S1的价值估计V1和对状态S’1的价值估计V’1,计算时序差分误差,然后计算Actor1网络的误差/>,并通过反向传播机制更新Actor1网络的参数;计算Critic网络的误差/>,并通过反向传播机制更新Critic网络的参数;Actor2网络的更新过程与此相同;
(5.3)基于子步骤(5.2)更新k个Actor网络的参数和1个Critic网络的参数,在总迭代次数达到100万至150万次后,多智能体强化学习模型即可收敛并稳定运行。
与前述的网络可扩展路由方法的实施例相对应,本申请还提供了一种基于多智能体强化学习的网络可扩展路由系统的实施例。
图4是一种基于多智能体强化学习的网络可扩展路由系统的结构示意图。参见图4,该系统可以包括:
控制平面,包括SDN控制器;SDN控制器用于获取数据平面的信息和生成路由表项,并下发给数据平面的转发设备。
进一步地,控制平面还包括关键节点生成模块、智能体Critic网络;关键节点生成模块,用于输出关键节点集合和从节点集合;智能体Critic网络,用于对数据平面的智能体Actor网络输出路由策略的优劣进行评估,共有1个Critic网络;关键节点生成模块和智能体Critic网络均部署在SDN控制器上。
数据平面,包括转发设备、特征处理模块和智能体Actor网络。转发设备用于执行路由策略转发流量。特征处理模块和智能体Actor网络均部署在转发设备上。
进一步地,数据平面还包括特征处理模块、智能体Actor网络;特征处理模块,用于采集信息(包括流量信息、网络性能等信息)并转化成智能体的状态输入向量;智能体Actor网络,用于决策流量转发的下一跳关键网络节点,输出路由策略,每个关键网络节点上会训练一个Actor网络,即共有k个Actor网络;特征处理模块和智能体Actor网络均部署在转发设备上。
关于上述实施例中的系统,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
与前述基于多智能体强化学习的网络可扩展路由方法的实施例相对应,本申请实施例还提供一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的基于多智能体强化学习的网络可扩展路由方法。如图5所示,为本申请实施例提供的基于多智能体强化学习的网络可扩展路由方法所在任意具备数据处理能力的设备的一种硬件结构图,除了图5所示的处理器、内存、DMA控制器、磁盘、以及非易失内存之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
与前述基于多智能体强化学习的网络可扩展路由方法的实施例相对应,本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述实施例中的基于多智能体强化学习的网络可扩展路由方法。
所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是任意具备数据处理能力的设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。进一步的,所述计算机可读存储介质还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
以上实施例仅用于说明本发明的设计思想和特点,其目的在于使本领域内的技术人员能够了解本发明的内容并据以实施,本发明的保护范围不限于上述实施例。所以,凡依据本发明所揭示的原理、设计思路所作的等同变化或修饰,均在本发明的保护范围之内。
Claims (9)
1.一种基于多智能体强化学习的网络可扩展路由方法,其特征在于,包括以下步骤:
(1)获取网络拓扑,基于PageRank算法对网络节点进行计算并生成其重要性排序结果,从重要性排序结果中选取关键网络节点生成关键节点集合,其余网络节点放入从节点集合;
(2)通过当前关键网络节点获取流量的信息、网络性能数据,并生成状态表征向量;
(3)通过智能体以状态表征向量输入,并给出动作输出,动作输出即路由到下一个关键网络节点的概率分布,取概率最大的作为下一跳关键网络节点;
(4)基于步骤(3)得到的下一跳关键节点,SDN控制器基于最短路径算法在从节点集合中生成两个关键网络节点之间的路由,并下发给路由器;
(5)收集网络流量逐跳决策过程中的相关信息,并将其存储在样本列表中,当样本列表中的数据总量达到阈值后,更新Actor网络和Critic网络直至收敛;
(5.1)收集网络流量逐跳的相关信息,包括输入第j个智能体的Actorj网络中的状态输入向量Sj、Actor网络输出的路由策略Aj、网络流量从当前关键网络节点传输到下一个关键网络节点所获得的奖励Rj、以及网络流量达到下一个关键网络节点后的状态输入向量Sj’;将收集的信息样本表示为四元组形式(Sj,Aj,Rj,Sj’),存储在第j个智能体的Actorj网络所对应的样本列表Bufferj中;
(5.2)当样本列表Bufferj中的数据总量超过阈值4096时,从样本列表Bufferj中随机采样若干数据进行Actorj网络和Critic网络的参数更新;将(S1,S’1,R1)输入到Critic网络中,得到Critic网络对于状态S1的价值估计V1和对状态S’1的价值估计V’1,计算时序差分误差,然后计算Actor1网络的误差,并通过反向传播机制更新Actor1网络的参数;计算Critic网络的误差/>,并通过反向传播机制更新Critic网络的参数;
(5.3)基于子步骤(5.2)更新k个Actor网络的参数和1个Critic网络的参数,在总迭代次数达到100万至150万次后,多智能体强化学习模型即可收敛并稳定运行。
2.根据权利要求1所述的基于多智能体强化学习的网络可扩展路由方法,其特征在于,所述步骤(1)包括以下子步骤:
(1.1)获取网络拓扑并将其建模成一个双向无权图,然后统计每个网络节点的出度信息;
(1.2)将网络节点的PR值初始化为1/N,其中N为网络节点总量;
(1.3)基于PageRank算法以及子步骤(1.1)得到的出度信息,计算网络节点的PR值;
(1.4)进行网络节点PR值的迭代计算,直至各网络节点的PR值达到任一终止条件时,停止迭代;
(1.5)按网络节点PR值从高到低进行排序,得到网络节点的重要性排序结果,从重要性排序结果中取k个关键网络节点放入关键节点集合D,其余网络节点放入从节点集合F。
3.根据权利要求2所述的基于多智能体强化学习的网络可扩展路由方法,其特征在于,所述子步骤(1.4)中,所述终止条件包括:
终止条件一:前后两次迭代,各个网络节点的PR值均保持不变,说明达到终止条件;
终止条件二:前后两次迭代,各个网络节点的PR值的差值均不大于,说明达到终止条件。
4.根据权利要求1所述的基于多智能体强化学习的网络可扩展路由方法,其特征在于,所述步骤(2)包括以下子步骤:
(2.1)当前网络节点获取网络流量的信息,当前网络节点通过网络遥测技术获取其到相邻关键网络节点之间的可用带宽、时延和丢包率信息;获取网络流量已经过的关键节点列表信息;
(2.2)将子步骤(2.1)中获取的信息拼接成1个一维的状态表征向量S。
5.根据权利要求1所述的基于多智能体强化学习的网络可扩展路由方法,其特征在于,所述步骤(3)包括以下子步骤:
(3.1)将状态表征向量S输入到当前关键网络节点的智能体Actor网络中,然后Actor网络输出与当前关键网络节点相邻的所有关键网络节点的概率分布;
(3.2)从子步骤(3.1)得到的概率分布中取最大值,所述最大值对应的关键网络节点为下一跳的关键网络节点。
6.根据权利要求1所述的基于多智能体强化学习的网络可扩展路由方法,其特征在于,所述步骤(4)包括以下子步骤:
(4.1)上报当前关键网络节点和步骤(3)选择的下一跳关键节点;
(4.2)基于最短路径算法在从节点集合中生成两个关键网络节点之间的路由,并将路由进行下发给路由器。
7.一种实现如权利要求1 所述方法的基于多智能体强化学习的网络可扩展路由系统,其特征在于,包括:
控制平面,包括SDN控制器;所述SDN控制器用于获取数据平面的信息和生成路由表项,并将数据平面的信息和路由表项下发给数据平面的转发设备;所述SDN控制器包括关键节点生成模块和智能体Critic网络;所述关键节点生成模块用于输出关键节点集合和从节点集合;所述智能体Critic网络用于对智能体Actor网络输出的路由策略进行评估;
数据平面,包括转发设备,所述转发设备用于执行路由策略转发流量;所述转发设备包括特征处理模块和智能体Actor网络;所述特征处理模块用于采集信息并转化成智能体的状态输入向量;所述智能体Actor网络用于决策流量转发的下一跳关键网络节点,并输出路由策略。
8.一种电子设备,包括存储器和处理器,其特征在于,所述存储器与所述处理器耦接;其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现上述权利要求1-6任一项所述的基于多智能体强化学习的网络可扩展路由方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-6任一项所述的基于多智能体强化学习的网络可扩展路由方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311585505.4A CN117319287B (zh) | 2023-11-27 | 2023-11-27 | 一种基于多智能体强化学习的网络可扩展路由方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311585505.4A CN117319287B (zh) | 2023-11-27 | 2023-11-27 | 一种基于多智能体强化学习的网络可扩展路由方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117319287A CN117319287A (zh) | 2023-12-29 |
CN117319287B true CN117319287B (zh) | 2024-04-05 |
Family
ID=89273846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311585505.4A Active CN117319287B (zh) | 2023-11-27 | 2023-11-27 | 一种基于多智能体强化学习的网络可扩展路由方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117319287B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8825646B1 (en) * | 2008-08-08 | 2014-09-02 | Google Inc. | Scalable system for determining short paths within web link network |
CN109818786A (zh) * | 2019-01-20 | 2019-05-28 | 北京工业大学 | 一种云数据中心应用可感知的分布式多资源组合路径最优选取方法 |
CN112052198A (zh) * | 2020-08-11 | 2020-12-08 | 大连理工大学 | 能耗监测平台下基于节点介数流行度的哈希路由协同缓存方法 |
WO2023272722A1 (en) * | 2021-07-02 | 2023-01-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for packet forwarding control with reinforcement learning |
CN115714739A (zh) * | 2022-11-14 | 2023-02-24 | 广东电网有限责任公司 | 一种电力通信网业务路由规划方法及装置 |
CN116248164A (zh) * | 2022-12-16 | 2023-06-09 | 重庆邮电大学 | 基于深度强化学习的完全分布式路由方法和系统 |
CN116418730A (zh) * | 2023-04-06 | 2023-07-11 | 中国电子科技集团公司第五十四研究所 | 一种基于关键节点的分布式可扩展智能路由方法 |
CN116527567A (zh) * | 2023-06-30 | 2023-08-01 | 南京信息工程大学 | 一种基于深度强化学习的智能网络路径优选方法与系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021043387A1 (en) * | 2019-09-03 | 2021-03-11 | Huawei Technologies Co., Ltd. | Large-scale policy evaluation in multi-agent systems |
US20230022959A1 (en) * | 2021-07-20 | 2023-01-26 | Cisco Technology, Inc. | Detecting critical regions and paths in the core network for application-driven predictive routing |
CN114827931B (zh) * | 2022-04-12 | 2023-03-10 | 电子科技大学 | 基于多智能体增强学习的wsn能量效率优化路由方法 |
CN114884895B (zh) * | 2022-05-05 | 2023-08-22 | 郑州轻工业大学 | 一种基于深度强化学习的智能流量调度方法 |
-
2023
- 2023-11-27 CN CN202311585505.4A patent/CN117319287B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8825646B1 (en) * | 2008-08-08 | 2014-09-02 | Google Inc. | Scalable system for determining short paths within web link network |
CN109818786A (zh) * | 2019-01-20 | 2019-05-28 | 北京工业大学 | 一种云数据中心应用可感知的分布式多资源组合路径最优选取方法 |
CN112052198A (zh) * | 2020-08-11 | 2020-12-08 | 大连理工大学 | 能耗监测平台下基于节点介数流行度的哈希路由协同缓存方法 |
WO2023272722A1 (en) * | 2021-07-02 | 2023-01-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for packet forwarding control with reinforcement learning |
CN115714739A (zh) * | 2022-11-14 | 2023-02-24 | 广东电网有限责任公司 | 一种电力通信网业务路由规划方法及装置 |
CN116248164A (zh) * | 2022-12-16 | 2023-06-09 | 重庆邮电大学 | 基于深度强化学习的完全分布式路由方法和系统 |
CN116418730A (zh) * | 2023-04-06 | 2023-07-11 | 中国电子科技集团公司第五十四研究所 | 一种基于关键节点的分布式可扩展智能路由方法 |
CN116527567A (zh) * | 2023-06-30 | 2023-08-01 | 南京信息工程大学 | 一种基于深度强化学习的智能网络路径优选方法与系统 |
Non-Patent Citations (1)
Title |
---|
"对抗网络中的链路特征建模与路由算法优化技术研究";韩笑;《硕士电子期刊 2023年第11期》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117319287A (zh) | 2023-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Meloni et al. | A rollout metaheuristic for job shop scheduling problems | |
CN114286413B (zh) | Tsn网络联合路由选择与流分配方法及相关设备 | |
WO2018103562A1 (zh) | 一种数据处理系统及方法 | |
CN112422443B (zh) | 一种拥塞算法的自适应控制方法、存储介质、设备及系统 | |
Lei et al. | Congestion control in SDN-based networks via multi-task deep reinforcement learning | |
Baglietto et al. | Distributed-information neural control: The case of dynamic routing in traffic networks | |
CN108111335A (zh) | 一种调度和链接虚拟网络功能的方法及系统 | |
You et al. | A networked parallel algorithm for solving linear algebraic equations | |
CN111340192B (zh) | 网络路径分配模型训练方法、路径分配方法、以及装置 | |
JP7451689B2 (ja) | ネットワーク輻輳処理方法、モデル更新方法、および関連装置 | |
CN117319287B (zh) | 一种基于多智能体强化学习的网络可扩展路由方法与系统 | |
CN117395188B (zh) | 一种基于深度强化学习的天地一体化负载均衡路由方法 | |
Chae et al. | Multicast Tree Generation using Meta Reinforcement Learning in SDN-based Smart Network Platforms. | |
Zheng | Adaptation of network simplex for the traffic assignment problem | |
CN112529148A (zh) | 一种基于图神经网络的智能QoS推理方法 | |
CN115150335B (zh) | 一种基于深度强化学习的最优流量分割的方法和系统 | |
CN115022231B (zh) | 一种基于深度强化学习的最优路径规划的方法和系统 | |
CN117014355A (zh) | 一种基于ddpg深度强化学习算法的tssdn动态路由决策方法 | |
CN115499365A (zh) | 路由优化方法、装置、设备及介质 | |
CN115695280A (zh) | 基于边缘节点的路由方法及装置、电子设备、存储介质 | |
Borkar et al. | A novel ACO algorithm for optimization via reinforcement and initial bias | |
CN110781352B (zh) | 一种最低成本优化拓扑结构实现网络结构可控性的方法 | |
CN116996443B (zh) | 一种结合gnn和sac模型的网络协同流量调度方法与系统 | |
Pan et al. | A hybrid neural network and genetic algorithm approach for multicast QoS routing | |
US7089163B2 (en) | Smooth operators in optimization of structures |
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 |