网络中流量动态调整方法、系统、电子设备及存储介质转让专利

申请号 : CN201911204067.6

文献号 : CN111211987B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李丹程阳吴建平

申请人 : 清华大学

摘要 :

本发明提供一种网络中流量动态调整方法、系统、电子设备及存储介质,方法包括:获取网络中任一边界路由器节点收集的局部网络状态信息;将任一边界路由器节点收集的局部网络状态信息输入对应的第一预设子模型,得到输出的从源边界路由器节点到目的边界路由器节点的每一条备选路径上的流量分割比例,其中,源边界路由器节点为所述任一边界路由器节点,目的边界路由器节点为网络中的出口边界路由器节点。本发明根据网络中边界路由器收集的局部网络状态信息,对网络路径上的网络流量进行调整,能够实现在网络环境发生变化时,自动及时对各路径上的流量比例进行调整,设计了流量感知的动态路由算法,提升网络的利用率。

权利要求 :

1.一种网络中流量动态调整方法,其特征在于,包括:获取网络中任一边界路由器节点收集的局部网络状态信息;

将所述任一边界路由器节点收集的局部网络状态信息输入对应训练后的第一预设子模型,得到输出的从源边界路由器节点到目的边界路由器节点的每一条备选路径上的流量分割比例,其中,所述源边界路由器节点为所述任一边界路由器节点,所述目的边界路由器节点为网络中的出口边界路由器节点;

每一个源边界路由器节点对应一个第一预设子模型,还包括第二预设子模型,多个所述第一预设子模型和所述第二预设子模型组成预设模型;

通过如下方式对每一个第一预设子模型进行训练:在当前时刻,将网络中每一个源边界路由器节点收集的局部网络状态信息输入每一个源边界路由器节点对应的第一预设子模型,输出从每一个源边界路由器节点到目的边界路由器节点的每一条备选路径上的流量分割比例;

将网络中每一个源边界路由器节点对应的流量分割比例进行组合,得到组合后的流量分割比例集合;以及将每一个源边界路由器节点收集的局部网络状态信息进行组合,得到组合后的全局网络状态信息;

将流量分割比例集合和全局网络状态信息输入第二预设子模型中,输出对应的当前状态‑动作价值Q;

对于任一个源边界路由器节点,将其对应的流量分割比例替换为均等分割比例,除所述任一个源边界路由器节点之外的源边界路由器节点对应的流量分割比例不变,形成更新的流量分割比例集合;

将更新后的流量分割比例集合和所述全局网络状态信息再次输入第二预设子模型中,输出与所述任一个源边界路由器节点对应的基准动作‑状态价值b;

根据所述当前状态‑动作价值Q和所述基准动作‑状态价值b,得到与所述任一个源边界路由器节点的当前动作对应的贡献值A;

根据所述贡献值A对所述任一个源边界路由器节点对应的第一预设子模型的模型参数进行调整,得到训练后的所述任一个源边界路由器节点对应的第一预设子模型。

2.根据权利要求1所述的网络中流量动态调整方法,其特征在于,所述任一边界路由器节点收集的局部网络状态信息包括从源边界路由器节点到目的边界路由器节点的每一条备选路径上的最大链路利用率和每一条备选路径上所有网络设备的最大排队长度信息。

3.根据权利要求1或2所述的网络中流量动态调整方法,其特征在于,还包括:采用预设方法从源边界路由器节点到目的边界路由器节点的所有网络路径中确定出多条备选路径。

4.根据权利要求3所述的网络中流量动态调整方法,其特征在于,所述采用预设方法从源边界路由器节点到目的边界路由器节点的所有网络路径中确定出多条备选路径包括:采用无关路由算法从源边界路由器节点到目的边界路由器节点的所有网络路径中计算出具有多样性的多条备选路径;或者,采用K‑SPF算法从源边界路由器节点到目的边界路由器节点的所有网络路径中计算出多条备选路径。

5.根据权利要求1所述的网络中流量动态调整方法,其特征在于,通过如下方式对所述第二预设子模型进行训练:

在所述当前时刻的下一时刻,将网络中每一个源边界路由器节点收集的局部网络状态信息输入每一个源边界路由器节点对应的第一预设子模型,输出从每一个源边界路由器节点到目的边界路由器节点的每一条备选路径上的流量分割比例;

将网络中每一个源边界路由器节点对应的流量分割比例进行组合,得到组合后的流量分割比例集合;以及将每一个源边界路由器节点收集的局部网络状态信息进行组合,得到组合后的全局网络状态信息;

将流量分割比例集合和全局网络状态信息输入第二预设子模型中,输出对应的Q′值,其中,Q′值为下一时刻对应的状态‑动作价值;

根据所述Q′值与Q值计算当前状态动作的均方贝尔曼误差,根据所述均方贝尔曼误差对所述第二预设子模型的模型参数进行调整,得到训练后的第二预设子模型。

6.根据权利要求1所述的网络中流量动态调整方法,其特征在于,所述得到输出的从源边界路由器节点到目的边界路由器节点的每一条备选路径上的流量分割比例之后还包括:根据所述第一预设子模型输出的从源边界路由器节点到目的边界路由器节点的每一条备选路径上的流量分割比例,为每一条新到达的流上的数据包选择一条备选路径,作为每一条流上的数据包经过网络的转发路径;

利用源路由技术将每一条流上的数据包按照选择的备选路径在网络域内转发到目的边界路由器节点。

7.一种网络中流量动态调整系统,其特征在于,包括:获取模块,用于获取网络中任一边界路由器节点收集的局部网络状态信息;

输出模块,用于将所述任一边界路由器节点收集的局部网络状态信息输入对应训练后的第一预设子模型,得到输出的从源边界路由器节点到目的边界路由器节点的每一条备选路径上的流量分割比例,其中,所述源边界路由器节点为所述任一边界路由器节点,所述目的边界路由器节点为网络中的出口边界路由器节点;

每一个源边界路由器节点对应一个第一预设子模型,还包括第二预设子模型,多个所述第一预设子模型和所述第二预设子模型组成预设模型;

通过如下方式对每一个第一预设子模型进行训练:在当前时刻,将网络中每一个源边界路由器节点收集的局部网络状态信息输入每一个源边界路由器节点对应的第一预设子模型,输出从每一个源边界路由器节点到目的边界路由器节点的每一条备选路径上的流量分割比例;

将网络中每一个源边界路由器节点对应的流量分割比例进行组合,得到组合后的流量分割比例集合;以及将每一个源边界路由器节点收集的局部网络状态信息进行组合,得到组合后的全局网络状态信息;

将流量分割比例集合和全局网络状态信息输入第二预设子模型中,输出对应的当前状态‑动作价值Q;

对于任一个源边界路由器节点,将其对应的流量分割比例替换为均等分割比例,除所述任一个源边界路由器节点之外的源边界路由器节点对应的流量分割比例不变,形成更新的流量分割比例集合;

将更新后的流量分割比例集合和所述全局网络状态信息再次输入第二预设子模型中,输出与所述任一个源边界路由器节点对应的基准动作‑状态价值b;

根据所述当前状态‑动作价值Q和所述基准动作‑状态价值b,得到与所述任一个源边界路由器节点的当前动作对应的贡献值A;

根据所述贡献值A对所述任一个源边界路由器节点对应的第一预设子模型的模型参数进行调整,得到训练后的所述任一个源边界路由器节点对应的第一预设子模型。

8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述网络中流量动态调整方法的步骤。

9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6任一项所述网络中流量动态调整方法的步骤。

说明书 :

网络中流量动态调整方法、系统、电子设备及存储介质

技术领域

[0001] 本发明属于通信网络技术领域,尤其涉及一种网络中流量动态调整方法、系统、电子设备及存储介质。

背景技术

[0002] 路由是现代网络节点互联通信的核心,随着网络规模的扩张和网络硬件的升级,网络系统变得越来越复杂。传统的基于网络拓扑信息的路由技术,由于无法感知流量动态
变化的特征,并不能很好地提升网络的运行效率,网络路由成为制约大规模网络高效运行
的主要瓶颈。
[0003] 为了提升网络的传输效率,考虑结合网络流量动态变化的特征,实时规划路由得到广泛重视,如使用线性规划约束模型实时求解路径规划。然而,网络流量的变化具有实时
性,随着网络规模的增大,求解大规模流量路径规划问题产生巨大的计算开销,无法满足流
量调度对实时性的要求。

发明内容

[0004] 为克服上述现有问题或者至少部分地解决上述问题,本发明实施例提供一种网络中流量动态调整方法、系统、电子设备及存储介质。
[0005] 根据本发明实施例的第一方面,提供一种网络中流量动态调整方法,包括:
[0006] 获取网络中任一边界路由器节点收集的局部网络状态信息;
[0007] 将所述任一边界路由器节点收集的局部网络状态信息输入对应训练后的第一预设子模型,得到输出的从源边界路由器节点到目的边界路由器节点的每一条备选路径上的
流量分割比例,其中,所述源边界路由器节点为所述任一边界路由器节点,所述目的边界路
由器节点为网络中的出口边界路由器节点。
[0008] 在上述技术方案的基础上,本发明还可以作出如下改进。
[0009] 进一步的,所述任一边界路由器节点收集的局部网络状态信息包括从源边界路由器节点到目的边界路由器节点的每一条备选路径上的最大链路利用率和每一条备选路径
上所有网络设备的最大排队长度信息。
[0010] 进一步的,采用预设方法从源边界路由器节点到目的边界路由器节点的所有网络路径中确定出多条备选路径。
[0011] 进一步的,所述采用预设方法从源边界路由器节点到目的边界路由器节点的所有网络路径中确定出多条备选路径包括:
[0012] 采用无关路由算法从源边界路由器节点到目的边界路由器节点的所有网络路径中计算出具有多样性的多条备选路径;或者,
[0013] 采用K‑SPF算法从源边界路由器节点到目的边界路由器节点的所有网络路径中计算出多条备选路径。
[0014] 进一步的,每一个源边界路由器节点对应一个第一预设子模型,还包括第二预设子模型,多个所述第一预设子模型和所述第二预设子模型组成预设模型;
[0015] 通过如下方式对每一个第一预设子模型进行训练:
[0016] 在当前时刻,将网络中每一个源边界路由器节点收集的局部网络状态信息输入每一个源边界路由器节点对应的第一预设子模型,输出从每一个源边界路由器节点到目的边
界路由器节点的每一条备选路径上的流量分割比例;
[0017] 将网络中每一个源边界路由器节点对应的流量分割比例进行组合,得到组合后的流量分割比例集合;以及将每一个源边界路由器节点收集的局部网络状态信息进行组合,
得到组合后的全局网络状态信息;
[0018] 将流量分割比例集合和全局网络状态信息输入第二预设子模型中,输出对应的状态‑动作价值Q;
[0019] 对于任一个源边界路由器节点,将其对应的流量分割比例替换为均等分割比例,除所述任一源边界路由器节点之外的源边界路由器节点对应的流量分割比例不变,形成更
新的流量分割比例集合;
[0020] 将更新后的流量分割比例集合和所述全局网络状态信息再次输入第二预设子模型中,输出与所述任一个源边界路由器节点对应的基准动作‑状态价值b;
[0021] 根据所述Q值和所述任一个源边界路由器节点对应的b值,得到与所述任一个源边界路由器节点的当前动作对应的贡献值A;
[0022] 根据所述贡献值A对所述任一个源边界路由器节点对应的第一预设子模型的模型参数进行调整,得到训练后的所述任一个源边界路由器节点对应的第一预设子模型。
[0023] 进一步的,通过如下方式对所述第二预设子模型进行训练:
[0024] 在所述当前时刻的下一时刻,将网络中每一个源边界路由器节点收集的局部网络状态信息输入每一个源边界路由器节点对应的第一预设子模型,输出从每一个源边界路由
器节点到目的边界路由器节点的每一条备选路径上的流量分割比例;
[0025] 将网络中每一个源边界路由器节点对应的流量分割比例进行组合,得到组合后的流量分割比例集合;以及将每一个源边界路由器节点收集的局部网络状态信息进行组合,
得到组合后的全局网络状态信息;
[0026] 将流量分割比例集合和全局网络状态信息输入第二预设子模型中,输出对应的Q′值,其中,Q′值为下一时刻对应的状态‑动作价值;
[0027] 根据所述Q′值与Q值计算当前状态动作的均方贝尔曼误差,根据所述均方贝尔曼误差对所述第二预设子模型的模型参数进行调整,得到训练后的第二预设子模型。
[0028] 进一步的,所述得到输出的从源边界路由器节点到目的边界路由器节点的每一条备选路径上的流量分割比例之后还包括:
[0029] 根据所述第一预设子模型输出的从源边界路由器节点到目的边界路由器节点的每一条备选路径上的流量分割比例,为每一条新到达的流上的数据包选择一条备选路径,
作为每一条流上的数据包经过网络的转发路径;
[0030] 利用源路由技术将每一条流上的数据包按照选择的备选路径在网络域内转发到目的边界路由器节点。
[0031] 根据本发明实施例第二方面提供一种网络中流量动态调整系统,包括:
[0032] 获取模块,用于获取网络中任一边界路由器节点收集的局部网络状态信息;
[0033] 输出模块,用于将所述任一边界路由器节点收集的局部网络状态信息输入对应训练后的第一预设子模型,得到输出的从源边界路由器节点到目的边界路由器节点的每一条
备选路径上的流量分割比例,其中,所述源边界路由器节点为所述任一边界路由器节点,所
述目的边界路由器节点为网络中的出口边界路由器节点。
[0034] 根据本发明实施例的第三个方面,还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器调用所述程序指令能够执行
第一方面的各种可能的实现方式中任一种可能的实现方式所提供的网络中流量动态调整
方法。
[0035] 根据本发明实施例的第四个方面,还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面
的各种可能的实现方式中任一种可能的实现方式所提供的网络中流量动态调整方法。
[0036] 本发明实施例提供一种网络中流量动态调整方法、系统、电子设备及存储介质,该方法根据网络中边界路由器收集的局部网络状态信息,对网络路径上的网络流量进行调
整,能够实现在网络环境发生变化时,自动及时对各路径上的流量比例进行调整,保证网络
系统的稳定运行。

附图说明

[0037] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发
明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根
据这些附图获得其他的附图。
[0038] 图1为本发明实施例提供的网络中流量动态调整方法整体流程示意图;
[0039] 图2为本发明实施例提供的网络架构图;
[0040] 图3为本发明实施例预设模型的结构示意图;
[0041] 图4为本发明实施例提供的网络中流量动态调整系统整体结构示意图;
[0042] 图5为本发明实施例提供的电子设备整体结构示意图。

具体实施方式

[0043] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发
明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根
据这些附图获得其他的附图。
[0044] 在本发明的一个实施例中提供一种网络中流量动态调整方法,图1为本发明实施例提供的网络中流量动态调整方法整体流程示意图,该方法包括:
[0045] 获取网络中任一边界路由器节点收集的局部网络状态信息;
[0046] 将所述任一边界路由器节点收集的局部网络状态信息输入对应训练后的第一预设子模型,得到输出的从源边界路由器节点到目的边界路由器节点的每一条备选路径上的
流量分割比例,其中,所述源边界路由器节点为所述任一边界路由器节点,所述目的边界路
由器节点为网络中的出口边界路由器节点。
[0047] 可以理解的是,随着网络规模的扩张和网络硬件的升级,网络系统变得越来越复杂,传统的网络拓扑信息的路由技术,由于缺乏对网络流量动态性的感知,并不能很好地提
升网络的运行效率,网络路由成为制约大规模网络高效运行的主要瓶颈。针对传统互联网
路由采用“基于网络拓扑的静态路由+基于线性规划的流量工程”的方法,导致网络链路的
负载不均衡、对动态突发流量的反应慢的问题,本发明实施例针对不断发生变化的网络环
境,对不同网络路径上的流量比例进行调整,实现网络系统的动态路由控制,确保整个网络
系统的稳定运行。
[0048] 具体的,参见图2,对于一个网络系统,其中有很多个路由器节点,其中,网络中的路由器节点包括边界路由器节点、内部路由器节点以及交换设备(比如,网络中的交换机),
比如图2中的编号为1、2、3、4、5和6路由器节点为边界路由器节点,编号为7、8节点为内部路
由器节点。其中,编号为1、2、3、5和6路由器节点均可以为源路由器节点(也可以称为入口边
界路由器节点),编号为4的路由器节点为目的边界路由器节点(也可以称为出口边界路由
器节点)。在此需要说明的是,所有的边界路由器节点既可以作为入口边界路由器节点也可
以作为出口边界路由器节点,因为网络流量可以是双向的,一个路由器节点所扮演的角色,
入口节点还是出口节点依据其上的流量方向而定。图2仅仅示出了从路由器节点1到路由器
节点4的流量方向。
[0049] 在不同的时间点,每一个源边界路由器节点可收集局部网络状态信息,其中,源边界路由器可借助网络遥测工具收集局部网络状态信息,如每一个源边界路由器节点利用带
内遥测技术INT或者OSPF‑TE等方法来收集局部网络状态信息。
[0050] 本发明实施例根据网络中边界路由器收集的局部网络状态信息,对网络路径上的网络流量进行调整,能够根据实时的网络状态变化,自动及时对各路径上的流量比例进行
调整,保证网络系统的运行效率,提升网络利用率。
[0051] 在上述实施例的基础上,本发明实施例中,任一边界路由器节点收集的局部网络状态信息包括从源边界路由器节点到目的边界路由器节点的每一条备选路径上的最大链
路利用率和每一条备选路径上所有网关设备的最大排队长度信息。
[0052] 可以理解的是,对于网络系统中的路由器节点,当源边界路由器节点和目的边界路由器节点确定时,源边界路由器节点到目的边界路由器节点之间存在多条网络路径,通
常在进行网络数据传输时,会从所有的网络路径中选择几条最优的路径,以下将选择出来
的多条最优路径称为从该源边界路由器节点到该目的边界路由器节点的备选路径。网络系
统中的每一个源边界路由器均可以收集到从该源边界路由器节点到该目的边界路由器节
点的每一条备选路径上的最大链路利用率和每一条备选路径上所有网络设备的最大排队
长度信息。也就是说,对于每一个时间点和指定的一对源边界路由器节点和目的边界路由
器节点,每一个源边界路由器节点可收集到该源边界路由器节点和目的边界路由器节点的
每一条备选路径上的最大链路利用率和每一条备选路径上所有网关设备的最大排队长度
信息。
[0053] 具体来说,考虑到在一个网络内部(如图2所示),每一个边界路由器所处在不同的网络位置,具有不同的网络观测视角和控制区域。在本发明实施例中,将每一个边界路由器
都作为一个独立的智能路由决策单元,在每一个边界路由器中,都包含一个具有智能路由
决策的智能体模型,该智能体模型是一个多层的神经网络模型组成。在每个边界路由器上:
利用数据采集技术,如带内遥测技术INT或者OSPF‑TE等方法,采集局部网络状态信息,包括
每一条备选路径上的最大链路利用率和每一条备选路径上的所有网络设备(包括路由器和
交换机)的最大排队信息,其中,备选路径指的是,以该边界路由器为起始节点,到达出口边
界路由器的一条可达路径,选择多条最短路径作为该源边界路由器节点、目的边界路由节
点对的备选路径。
[0054] 其中,对于网络系统中指定的源边界路由器节点和目的边界路由器节点的所有网络路径,采用预设方法从所有网络路径中确定出多条备选路径。
[0055] 具体的,在备选路径的选择过程中,备选路径指的是在一个网络域内,以边界路由器入口节点作为起始节点,到达出口边界路由器节点的可达路径(如图2所示,1→2→3→4,
1→7→8→4,1→6→5→4都可以作为边界路由器节点1到边界路由器节点4的备选路径)。默
认情况下,使用无关路由(OR)的方法计算出具有多样性的K(默认情况下,设置K为3)条备选
路径;使用其他路径计算方法(如K‑SPF)算出的K条最短路径也可以作为本发明实施例中的
备选路径。
[0056] 在上述各实施例的基础上,本发明实施例中,每一个源边界路由器节点对应一个第一预设子模型,还包括第二预设子模型,多个所述第一预设子模型和所述第二预设子模
型组成预设模型;
[0057] 通过如下方式对每一个第一预设子模型进行训练:
[0058] 在当前时刻,将网络中每一个源边界路由器节点收集的局部网络状态信息输入每一个源边界路由器节点对应的第一预设子模型,输出从每一个源边界路由器节点到目的边
界路由器节点的每一条备选路径上的流量分割比例;
[0059] 将网络中每一个源边界路由器节点对应的流量分割比例进行组合,得到组合后的流量分割比例集合;以及将每一个源边界路由器节点收集的局部网络状态信息进行组合,
得到组合后的全局网络状态信息;
[0060] 将流量分割比例集合和全局网络状态信息输入第二预设子模型中,输出对应的状态‑动作价值Q;
[0061] 对于任一个源边界路由器节点,将其对应的流量分割比例替换为均等分割比例,除所述任一源边界路由器节点之外的源边界路由器节点对应的流量分割比例不变,形成更
新的流量分割比例集合;
[0062] 将更新后的流量分割比例集合和所述全局网络状态信息再次输入第二预设子模型中,输出与所述任一个源边界路由器节点对应的基准动作‑状态价值b;
[0063] 根据所述Q值和所述任一个源边界路由器节点对应的b值,得到与所述任一个源边界路由器节点的当前动作(也即流量分割比例)对应的贡献值A;
[0064] 根据所述贡献值A对所述任一个源边界路由器节点对应的第一预设子模型的模型参数进行调整,得到训练后的所述任一个源边界路由器节点对应的第一预设子模型。
[0065] 可以理解的是,每一个源边界路由器节点对应一个第一预设子模型,还包括第二预设子模型,多个第一预设子模型和所述第二预设子模型组成预设模型,可参见图3,每一
个第一预设子模型称为Actor,第二预设子模型称为Critic,多个第一预设子模型和一个第
二预设子模型组成预设模型。另外,为了避免强化学习训练的过程中随机动作探索过程对
真实网络环境的干扰,本发明实施例对模型进行训练的过程是基于搭建的模拟网络环境上
进行的,且是基于离线训练的。其中,所谓的基准动作‑状态价值b代表当前状态下,该Actor
策略模型所能采取的最好动作的价值。贡献值A代表当前策略模型Actor的动作对于当前整
体网络环境的价值。
[0066] 在上述各实施例的基础上,本发明实施例中,通过如下方式对所述第二预设子模型进行训练:
[0067] 在所述当前时刻的下一时刻,将网络中每一个源边界路由器节点收集的局部网络状态信息输入每一个源边界路由器节点对应的第一预设子模型,输出从每一个源边界路由
器节点到目的边界路由器节点的每一条备选路径上的流量分割比例;
[0068] 将网络中每一个源边界路由器节点对应的流量分割比例进行组合,得到组合后的流量分割比例集合;以及将每一个源边界路由器节点收集的局部网络状态信息进行组合,
得到组合后的全局网络状态信息;
[0069] 将流量分割比例集合和全局网络状态信息输入第二预设子模型中,输出对应的Q′值,其中,Q′值与前述的当前时刻对应的Q值对应,为下一时刻对应的状态‑动作价值;其中,
当前时刻经过智能体模型与环境的动作交互状态转移得到下一个时刻。
[0070] 根据所述Q′值与Q值计算当前状态动作的均方贝尔曼误差,根据所述均方贝尔曼误差对所述第二预设子模型的模型参数进行调整,得到训练后的第二预设子模型。
[0071] 其中,整个训练框架(包括多个第一预设子模型和一个第二预设子模型)采用的是一个多智能体Actor‑Critic的框架,可参见图3,下面根据图3对整个框架的训练过程进行
详细说明。
[0072] 其中,每一个第一预设子模型称为Actor,虚拟模拟网络中的每一个源边界路由器节点对应的第一预设子模型分别为Actor1、Actor2、Actor3、…、Actorn,第二预设子模型称
为Critic。在当前时刻t,虚拟模拟网络中的每一个源边界路由器节点收集到的局部网络状
态信息称为
[0073] 先进行第一轮训练:将 输入对应的Actor1中,输出第一个源边界路由器节点对应的流量分割比例 将 输入对应的Actor2中,输出为 以此类推,将 输入对应的Actorn
中,输出为
t
[0074] 将 组合,得到全局网络状态信息S ;将 进行t
组合,得到组合后的流量比例分割集合A;
[0075] 将St和At输入Critic中,Critic可以理解为是一个评价模型,输出对应的Q(St,At)值。
[0076] 对模型训练是为了对每一个Actor以及Critic的模型参数进行调整,对每一个Actor的模型参数进行调整的过程为,以对Actor1的模型参数进行调整的方法为例,将
Actor1的输出结果 替换为默认的流量分割比例,即流量均等分割比例,即每一条备选路
径上的流量比例相等,其它的Actor输出的流量分割比例的结果不变,重新组合成更新后的
t t t t t
A ,S 不变,将更新后的A ,S输入Critic中,输出与Actor1对应的b1。根据前述输出的Q(S ,
t
A)值和该次输出的b1值,得到Actor1对应的贡献值 根据 对Actor1的模
型参数进行调整,得到训练后的Actor1;对于其它的Actor,采用同样的方式对自身的模型
参数进行调整,得到训练后的Actor。
[0077] 对于Critic模型参数进行调整的过程为,对于当前时刻的下一个时刻t′,虚拟模拟网络中的每一个源边界路由器节点收集到的局部网络状态信息称为
[0078] 进行第二轮的训练,将 输入对应的Actor1中,输出第一个源边界路由器节点对应的流量分割比例 将 输入对应的Actor2中,输出为 以此类推,将 输入对应的
Actorn中,输出为
[0079] 将 组合,得到全局网络状态信息St′;将t′
进行组合,得到组合后的流量比例分割集合A ;
[0080] 将St′和At′输入Critic中,Critic可以理解为是一个评价模型,输出对应的Q(St′,t′
A )值。
[0081] 根据Q(St′,At′)值与Q(St,At)值计算当前状态动作的均方贝尔曼误差,其中,均方贝尔曼误差L(w)如下:
[0082] L(w)=(r+γQ(S′,A′)‑Q(S,A))2;
[0083] 随后根据L(w)使用梯度下降方法对Critic模型的参数w进行调整,形成训练后的Critic模型,其中,r是指当前网络环境中瓶颈链路的利用率Umax的倒数,γ表示衰减因子,
默认值设置为0.9;该均方贝尔曼误差可以表述为:评价模型Critic对于当前动作‑状态价
值(也就是Q)的评估和经过状态转移得到的下一个状态‑动作价值Q′,以及单步奖励r之间
2
的误差的平方,也即(r+γQ(S′,A′)‑Q(S,A)) 。
[0084] 该框架能够根据当前状态对每一个Actori(源边界路由器节点)的当前动作ai(从该源路由器节点到目的路由器节点的每一条备选路径上的流量分割比例)进行贡献的评
估,并利用差异化的奖励机制对每一个Actori所做的动作ai进行差异化的反馈,从而实现更
加高效的训练效率。该框架包含两个模型,分别为Actor模型(即前述实施例的第一预设子
模型)和Critic模型(即前述实施例的第二预设子模型)。这两种模型均是由神经网络结构
组成,其中Actor模型均由多层网络组成。Critic模型是由多层全连接神经网络结构组成
(默认情况下设置为5层),输出一个单一的值,表示每一个Actor的动作对当前网络环境的
贡献。Critic是全局唯一实体,用作训练Actor之间的协作优化,其中Actori上的参数用θi表
示;Critic的参数用w表示。
[0085] 具体来说,一个完整的训练模型(包括多个第一预设子模型和第二预设子模型)描述如下:
[0086] 1)每个Actori都根据局部的(K个)网络状态信息si作为输入,得到输出结果ai(从当前源路由器节点到目的路由器节点的每一条备选路径的流量分割比例);
[0087] 2)全局的Critic将全局的输入网络状态St=[s1,…,sn]以及全部的Actor的输出t t t
A=[a1,…,an]作为输入,得到输出Q(S ,A)表示当前所有Actor产生的动作组合在当前网
络状态中产生的总价值,也即总贡献。
[0088] 3)全局的Critic为每一个Actori分配其产生当前动作ai的价值t
其中 表示当前 在固定其他Actor的动作A‑ai情况下,所能达
到的最好评价。 表示当前Actori应该采取的最优动作,也就是均分备选路径上的分割
比。
[0089] 4)每一个Actori根据收到来自Critic动作价值评价 更新其自身模型参数。更新方法表示如下: 其中α表示学习率,默认情况下设置为0.01;
表示Actori的策略函数,在这里使用的是神经网络组成的复杂函数。
[0090] 5)Critic利用最小化均方贝尔曼误差(BE,Bellman error)方法更新其自身的网络模型上的参数。具体更新方法表示为: 其中L(w)=(r+γQ(S′,A′)‑Q(S,
2
A)) 表示当前动作状态的均方贝尔曼误差,其中S′,A′分别表示环境经由当前状态S和动作
A转移到的下一个状态和在下一个状态下应该采取的最优策略组合,其中,γ表示衰减因
子,是一个固定值,默认设置为0.9,r是指当前网络环境中瓶颈链路的利用率Umax的倒数,w
是指Critic模型的参数,β是指Critic模型的更新步长,一般是一个固定值,默认设置成
0.01。
[0091] 经过以上五个步骤,完成一个完整的训练过程,这样经过不断的重复训练,组建调整模型,达到多智能体协作优化的目标。
[0092] 在上述各实施例的基础上,本发明实施例中,得到输出的从源边界路由器节点到目的边界路由器节点的每一条备选路径上的流量分割比例之后还包括:
[0093] 根据第一预设子模型输出的从源边界路由器节点到目的边界路由器节点的每一条备选路径上的流量分割比例,为每一条新到达的流上的数据包选择一条备选路径,作为
每一条流上的数据包的转发路径;
[0094] 利用源路由技术将每一条流上的数据包按照选择的备选路径在网络域内转发到目的边界路由器节点。
[0095] 可以理解的是,在需要对网络系统中的从某一个源边界路由器节点到某一个目的边界路由器节点的多条备选路径的流量比例进行调整时,可以将网络中某个边界路由器收
集的每一条备选路径上的最大链路利用率和每一条备选路径上所有网关设备的最大排队
长度信息输入到最终训练后的第一预设子模型中,得到输出的从该源边界路由器节点到该
目的边界路由器节点的每一条备选路径的流量分割比例。边界路由器根据该流量分割比
例,针对每一条流上的数据包选取对应的一条备选路径,利用源路由技术(如分段路由,SR)
将每一条流上的数据包按照选择的备选路径在该网络域内转发到出口的路由器节点,即目
的路由器节点。
[0096] 针对本发明实施例提供的网络中流量动态调整方法,在不同的网络拓扑中进行了实验,发相比已有的方案(包括强化学习方案以及OSPF等传统协议),能有效降低网络瓶颈
链路的利用率26%‑85%。
[0097] 在本发明的另一个实施例中提供一种网络中流量动态调整系统,该系统用于实现前述各实施例中的方法。因此,在前述网络中流量动态调整方法的各实施例中的描述和定
义,可以用于本发明实施例中各个执行模块的理解。图4为本发明实施例提供的网络中流量
动态调整系统整体结构示意图,该系统包括:
[0098] 获取模块43,用于获取网络中任一边界路由器收集的局部网络状态信息;
[0099] 输出模块44,用于将任一边界路由器收集的局部网络状态信息输入训练后的第一预设子模型,得到输出的从源边界路由器节点到目的边界路由器节点的每一条备选路径上
的流量分割比例,其中,所述源边界路由器节点为所述任一边界路由器节点,所述目的边界
路由器节点为网络中的出口边界路由器节点。
[0100] 图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)501、通信接口(Communications Interface)502、存储器(memory)503和
通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通
信。处理器501可以调用存储器503中的逻辑指令,以执行如下方法:获取网络中任一边界路
由器收集的局部网络状态信息;将任一边界路由器收集的局部网络状态信息输入训练后的
第一预设子模型,得到输出的从源边界路由器节点到目的边界路由器节点的每一条备选路
径上的流量分割比例。
[0101] 此外,上述的存储器503中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本
发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以
软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以
使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施
例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,
Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种
可以存储程序代码的介质。
[0102] 本实施例提供一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行上述各方法实施例所提供的方法,例如包括:获取网
络中任一边界路由器收集的局部网络状态信息;将任一边界路由器收集的局部网络状态信
息输入训练后的第一预设子模型,得到输出的从源边界路由器节点到目的边界路由器节点
的每一条备选路径上的流量分割比例。
[0103] 本发明实施例提供一种网络中流量动态调整方法、系统、电子设备及存储介质,该方法根据网络中边界路由器收集的局部网络状态信息,对网络路径上的网络流量进行调
整,能够实现在网络环境发生变化时,自动及时对各路径上的流量比例进行调整,保证网络
系统的稳定运行。
[0104] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序
在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光
盘等各种可以存储程序代码的介质。
[0105] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单
元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其
中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性
的劳动的情况下,即可以理解并实施。
[0106] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上
述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该
计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指
令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施
例或者实施例的某些部分所述的方法。
[0107] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可
以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;
而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和
范围。