一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

网络拥塞控制方法及装置与流程

2022-02-26 00:00:06 来源:中国专利 TAG:


1.本技术涉及通信技术领域,尤其涉及一种网络拥塞控制方法及装置。


背景技术:

2.随着高并发、低时延业务的增多,网络设备(比如,交换机、路由器)的出端口容易发生网络拥塞。网络拥塞是指网络设备通过入端口接收的流量远远大于通过出端口发送的流量时,大量报文滞留(缓存)于出队列(出端口对应队列)的现象,这会影响报文的传输时延以及吞吐量等网络性能。
3.目前,普遍采用静态显示拥塞通知(英文:explicit congestion notification,缩写:ecn)配置来控制网络拥塞。具体为,网络设备根据静态配置的ecn门限,判断出队列是否发生拥塞,如果发生拥塞,则为出队列中报文添加ecn标识,发送至目的设备,目的设备接收到带有ecn标识的报文后,向源设备发送拥塞通知报文(英文:congestion notification packet,缩写:cnp),通知源设备降低流量发送速率,以达到控制网络拥塞的目的。
4.但是,静态ecn配置无法适应动态变化的流量场景,导致各流量场景下的网络性能不佳。


技术实现要素:

5.有鉴于此,本技术提出一种网络拥塞控制方法及装置,用以在实现网络拥塞控制的同时,有效提升各流量场景下的网络性能。
6.为实现上述申请目的,本技术提供了如下技术方案:
7.第一方面,本技术提供一种网络拥塞控制方法,所述方法包括:
8.获取网络设备中待控制出端口在当前场景下的场景参数,所述场景参数为与通过所述待控制出端口转发的流量相关的参数;
9.针对每一个预设的ecn配置,将所述当前场景下的场景参数以及该ecn配置输入已训练好的流量模型,得到当前场景下该ecn配置对应的网络性能值,所述网络性能值用于标识基于ecn配置执行拥塞控制所能达到的网络性能;
10.选取最大网络性能值对应的ecn配置作为当前场景下的最优ecn配置;
11.基于所述最优ecn配置对所述待控制出端口进行网络拥塞控制。
12.可选的,所述将所述当前场景下的场景参数以及该ecn配置输入已训练好的流量模型,包括:
13.利用所述当前场景下的场景参数匹配预设的配置文件,所述配置文件用于记录场景参数与ecn配置的对应关系;
14.如果所述当前场景下的场景参数未命中所述配置文件中的任一场景参数,将所述当前场景下的场景参数以及当前选择的ecn配置输入已训练好的流量模型。
15.可选的,所述方法还包括:
16.如果所述当前场景下的场景参数命中所述配置文件中的目标场景参数,将与所述
目标场景参数对应的ecn配置作为所述当前场景下的最优ecn配置。
17.可选的,所述利用所述当前场景下的场景参数匹配预设的配置文件之前,所述方法还包括:
18.针对每一个常见场景,将该常见场景下的场景参数与通过测试得到的该常见场景下的最优ecn配置之间的对应关系添加到所述配置文件中。
19.可选的,所述将所述当前场景下的场景参数以及该ecn配置输入已训练好的流量模型之前,所述方法还包括:
20.构建强化学习模型,所述强化学习模型的价值函数用于表示不同场景、不同ecn配置下期望达到的网络性能;
21.构建用于表达所述价值函数的神经网络模型,所述神经网络模型的输入为场景参数和ecn配置,输出为网络性能值;
22.利用各常见场景下的场景参数以及各预设的ecn配置训练所述神经网络模型,得到足够逼近所述价值函数所期望网络性能的流量模型。
23.第二方面,本技术提供一种网络拥塞控制装置,所述装置包括:
24.获取单元,用于获取网络设备中待控制出端口在当前场景下的场景参数,所述场景参数为与通过所述待控制出端口转发的流量相关的参数;
25.输入单元,用于针对每一个预设的ecn配置,将所述当前场景下的场景参数以及该ecn配置输入已训练好的流量模型,得到当前场景下该ecn配置对应的网络性能值,所述网络性能值用于标识基于ecn配置执行拥塞控制所能达到的网络性能;
26.选取单元,用于选取最大网络性能值对应的ecn配置作为当前场景下的最优ecn配置;
27.控制单元,用于基于所述最优ecn配置对所述待控制出端口进行网络拥塞控制。
28.可选的,所述输入单元将所述当前场景下的场景参数以及该ecn配置输入已训练好的流量模型,包括:
29.利用所述当前场景下的场景参数匹配预设的配置文件,所述配置文件用于记录场景参数与ecn配置的对应关系;
30.如果所述当前场景下的场景参数未命中所述配置文件中的任一场景参数,将所述当前场景下的场景参数以及当前选择的ecn配置输入已训练好的流量模型。
31.可选的,所述选取单元,还用于如果所述当前场景下的场景参数命中所述配置文件中的目标场景参数,将与所述目标场景参数对应的ecn配置作为所述当前场景下的最优ecn配置。
32.可选的,所述装置还包括:
33.添加单元,用于针对每一个常见场景,将该常见场景下的场景参数与通过测试得到的该常见场景下的最优ecn配置之间的对应关系添加到所述配置文件中。
34.可选的,所述装置还包括:
35.构建单元,用于构建强化学习模型,所述强化学习模型的价值函数用于表示不同场景、不同ecn配置下期望达到的网络性能;
36.所述构建单元,还用于构建用于表达所述价值函数的神经网络模型,所述神经网络模型的输入为场景参数和ecn配置,输出为网络性能值;
37.训练单元,用于利用各常见场景下的场景参数以及各预设的ecn配置训练所述神经网络模型,得到足够逼近所述价值函数所期望网络性能的流量模型。
38.由以上描述可以看出,本技术实施例中,利用已训练模型(流量模型)的泛化能力,针对不同场景、不同ecn配置准确预估相应ecn配置下可达到的网络性能,选择可使当前场景下网络性能达到最优的ecn配置进行拥塞控制。因此,可适应动态变化的流量场景,且各流量场景下均可获得较优的网络性能。
附图说明
39.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
40.图1是本技术实施例示出的一种网络拥塞控制方法流程图;
41.图2是本技术实施例示出的一种步骤102的实现流程;
42.图3是本技术实施例示出的一种流量模型训练流程;
43.图4是本技术实施例示出的一种强化学习模型框架;
44.图5是本技术实施例示出的一种网络拥塞控制装置的结构示意图。
具体实施方式
45.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。
46.在本技术实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术实施例。在本技术实施例中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
47.应当理解,尽管在本技术实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术实施例范围的情况下,协商信息也可以被称为第二信息,类似地,第二信息也可以被称为协商信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
48.为了使本技术的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本技术进行详细描述:
49.参见图1,为本技术实施例示出的一种网络拥塞控制方法流程图,该流程可应用于待执行拥塞控制的网络设备,比如,交换机、路由器等,亦可应用于独立于网络设备之外的控制设备,比如,服务器等。
50.网络设备包括至少一个出端口。管理员可以指定需要执行拥塞控制的出端口,或者,默认对所有出端口均执行拥塞控制。这里,将需要执行拥塞控制的出端口均称为待控制出端口。
51.针对每一个待控制出端口执行图1所示流程。如图1所示,该流程可包括以下步骤:
52.步骤101,获取待控制出端口在当前场景下的场景参数,该场景参数为与通过该待控制出端口转发的流量相关的参数。
53.这里,场景指某一时刻的流量场景。场景参数指某一场景下流量相关参数,本技术中特指通过待控制出端口转发的流量的参数。以下描述中,若无特殊说明,流量均指通过待控制出端口转发的流量。
54.具体地,该场景参数可包括:流量来源端口(入端口)的平均带宽、流的数目、不同类型报文的比例等等。这里,需要说明的是,通过同一出端口转发流量可能来自于一个或多个入端口。
55.步骤102,针对每一个预设的ecn配置,将当前场景下的场景参数以及该ecn配置输入已训练好的流量模型,得到当前场景下该ecn配置对应的网络性能值,其中,该网络性能值用于标识基于ecn配置执行拥塞控制所能达到的网络性能。
56.本技术实施例中,可预设多个可供选择的ecn配置,在后续处理中需要从该多个ecn配置中选择最适合当前场景的ecn配置。
57.这里,需要说明的是,一个ecn配置可至少包括以下三个参数:ecn门限上限、ecn门限下限、ecn标记概率(最大标记概率)。
58.为了更好地理解这三个参数,下面对基于ecn配置进行拥塞控制的过程作简要说明。
59.该过程为,当出队列深度低于ecn门限下限时,网络设备不会为出队列中的报文添加ecn标记;当出队列深度高于ecn门限上限时,为出队列中的所有报文添加ecn标记;当出队列深度位于ecn门限下限和ecn门限上限之间时,为出队列中的报文按照基于出队列深度确定的线性概率(位于0到最大标记概率之间)随机标记。
60.本步骤中,针对每一个预设的ecn配置,将当前场景的场景参数以及该ecn配置输入已训练好的流量模型,该流量模型会输出当前场景下基于该ecn配置进行拥塞控制可达到的网络性能。具体地,可通过输出用于标识网络性能的网络性能值来标识可达到的网络性能。其中,网络性能值越大,代表对应网络性能越优。
61.可以看出,本技术实施例中,流量模型为预先训练好的用于衡量ecn配置对网络性能影响的模型。其中,网络性能可包括吞吐量、时延等性能中的一种或多种的组合。
62.通过本步骤可获取到当前场景下每一个预设ecn配置对应的网络性能值。
63.步骤103,选取最大网络性能值对应的ecn配置作为当前场景下的最优ecn配置。
64.即,选择可使当前场景下网络性能达到最优的ecn配置。
65.步骤104,基于该最优ecn配置对待控制出端口进行网络拥塞控制。
66.具体的,如果由网络设备执行图1所示流程,则本步骤中网络设备可以直接根据步骤103确定的最优ecn配置对本地待控制出端口执行网络拥塞控制;如果由控制设备执行图1所示流程,则本步骤中控制设备需要将通过步骤103确定的最优ecn配置下发到网络设备中,再由网络设备基于该下发的ecn配置对本地待控制出端口执行网络拥塞控制。当然,如果控制设备确定的最优ecn配置与网络设备中待控制出端口对应的已有ecn配置相同,则控制设备可不下发该最优ecn配置。
67.至此,完成图1所示流程。
68.通过图1所示流程可以看出,本技术实施例中,利用已训练模型(流量模型)的泛化能力,针对不同场景、不同ecn配置准确预估相应ecn配置下可达到的网络性能,选择可使当前场景下网络性能达到最优的ecn配置进行拥塞控制。因此,可适应动态变化的流量场景,且各流量场景下均可获得较优的网络性能。
69.下面对步骤102中将当前场景下的场景参数以及ecn配置输入已训练好的流量模型的过程进行描述。
70.参见图2,为本技术实施例示出的一种步骤102的实现流程。如图2所示,该流程可包括以下步骤:
71.步骤201,利用当前场景下的场景参数匹配预设的配置文件,该配置文件用于记录场景参数与ecn配置的对应关系。
72.这里,需要说明的是,该配置文件可根据针对若干常见场景的测试结果生成。
73.作为一个实施例,可在实验室中搭建用于测试不同常见场景的测试环境。针对每一个常见场景,测试该常见场景下采用不同预设ecn配置进行拥塞控制时所能达到的网络性能,选择该常见场景下可使网络性能最优的ecn配置作为当前常见场景的ecn配置,将该常见场景的场景参数与测试得到的该常见场景下的最优ecn配置的对应关系添加到配置文件中。即,通过配置文件存储常见场景的场景参数与常见场景下最优ecn配置的对应关系。
74.本步骤中,将通过步骤101获取到的当前场景的场景参数与配置文件中的各场景参数进行匹配。
75.步骤202,如果当前场景下的场景参数未命中配置文件中的任一场景参数,将当前场景下的场景参数以及当前选择的ecn配置输入已训练好的流量模型。
76.如果当前场景下的场景参数未命中配置文件中的任一场景参数,说明当前场景不属于已测试过的常见场景,则将当前场景下的场景参数以及所选择的预设ecn配置输入已训练好的流量模型,通过流量模型预估当前场景下基于预设ecn配置进行拥塞控制可达到的网络性能,具体参见步骤102的描述,这里不再赘述。
77.反之,如果当前场景下的场景参数命中配置文件中的目标场景参数,说明当前场景属于已测试过的常见场景,则直接从配置文件中获取该目标场景参数对应的ecn配置,将该ecn配置作为当前场景下的最优ecn配置,基于该最优ecn配置对待控制出端口进行网络拥塞控制。
78.至此,完成图2所示流程。
79.通过图2所示流程可以看出,本技术实施例中,对于常见场景,可通过匹配配置文件,快速获取到常见场景下的最优ecn配置,从而保证常见场景下的拥塞控制效率;而对于非常见场景(非常见场景数量巨大),则可利用流量模型的泛化能力预估不同ecn配置下的网络性能,从而选择到适应当前非常见场景的ecn配置。
80.下面对流量模型训练过程进行描述。
81.参见图3,为本技术实施例示出的一种流量模型训练流程。如图3所示,该流程可包括以下步骤:
82.步骤301,构建强化学习模型,该强化学习模型的价值函数用于表示不同场景、不同ecn配置下期望达到的网络性能。
83.参见图4,为本技术实施例示出的一种强化学习模型框架。
84.本技术实施例中,该框架包括的“环境”可以为特定场景下的场景参数,比如,各入端口的平均带宽、流的数目以及不同类型报文的比例等;“状态”可以为统计得到的添加有ecn标记的报文的个数、出队列的吞吐量、出队列深度以及当前ecn配置等;“动作”为下发的ecn配置;“奖赏”为网络性能的增加值。
85.其中,该强化学习模型的价值(value)函数可用于表示不同场景、不同ecn配置下期望达到的网络性能。
86.步骤302,构建用于表达价值函数的神经网络模型,该神经网络模型的输入为场景参数和ecn配置,输出为网络性能值。
87.步骤303,利用各常见场景下的场景参数以及各预设的ecn配置训练神经网络模型,得到足够逼近价值函数所期望网络性能的流量模型。
88.本步骤中,利用各常见场景的测试数据(包括常见场景的场景参数、不同预设ecn配置)进行模型训练,以得到足够逼近价值函数所期望网络性能的流量模型。其中,价值函数所期望的网络性能可以为针对不同常见场景、不同ecn配置进行测试时所得到的实测网络性能。
89.至此,完成图3所示流程。
90.通过图3所示流程可以看出,本技术实施例中,利用常见场景下的测试数据训练流量模型,可以得到用于准确预估任一场景下不同ecn配置时的网络性能,从而为后续(步骤103、步骤104)基于预估结果选择最优ecn配置打下良好基础。
91.以上对本技术实施例提供的方法进行了描述,下面对本技术实施例提供的装置进行描述:
92.参见图5,为本技术实施例示出的一种网络拥塞控制装置,该装置包括获取单元501、输入单元502、选取单元503以及控制单元504,其中:
93.获取单元501,用于获取网络设备中待控制出端口在当前场景下的场景参数,所述场景参数为与通过所述待控制出端口转发的流量相关的参数;
94.输入单元502,用于针对每一个预设的ecn配置,将所述当前场景下的场景参数以及该ecn配置输入已训练好的流量模型,得到当前场景下该ecn配置对应的网络性能值,所述网络性能值用于标识基于ecn配置执行拥塞控制所能达到的网络性能;
95.选取单元503,用于选取最大网络性能值对应的ecn配置作为当前场景下的最优ecn配置;
96.控制单元504,用于基于所述最优ecn配置对所述待控制出端口进行网络拥塞控制。
97.作为一个实施例,所述输入单元502将所述当前场景下的场景参数以及该ecn配置输入已训练好的流量模型,包括:
98.利用所述当前场景下的场景参数匹配预设的配置文件,所述配置文件用于记录场景参数与ecn配置的对应关系;
99.如果所述当前场景下的场景参数未命中所述配置文件中的任一场景参数,将所述当前场景下的场景参数以及当前选择的ecn配置输入已训练好的流量模型。
100.作为一个实施例,所述选取单元503,还用于如果所述当前场景下的场景参数命中所述配置文件中的目标场景参数,将与所述目标场景参数对应的ecn配置作为所述当前场
景下的最优ecn配置。
101.作为一个实施例,所述装置还包括:
102.添加单元,用于针对每一个常见场景,将该常见场景下的场景参数与通过测试得到的该常见场景下的最优ecn配置之间的对应关系添加到所述配置文件中。
103.作为一个实施例,所述装置还包括:
104.构建单元,用于构建强化学习模型,所述强化学习模型的价值函数用于表示不同场景、不同ecn配置下期望达到的网络性能;
105.所述构建单元,还用于构建用于表达所述价值函数的神经网络模型,所述神经网络模型的输入为场景参数和ecn配置,输出为网络性能值;
106.训练单元,用于利用各常见场景下的场景参数以及各预设的ecn配置训练所述神经网络模型,得到足够逼近所述价值函数所期望网络性能的流量模型。
107.至此,完成图5所示装置的描述。
108.由以上描述可以看出,本技术实施例中,利用已训练模型(流量模型)的泛化能力,针对不同场景、不同ecn配置准确预估相应ecn配置下可达到的网络性能,选择可使当前场景下网络性能达到最优的ecn配置进行拥塞控制。因此,可适应动态变化的流量场景,且各流量场景下均可获得较优的网络性能。
109.以上所述仅为本技术实施例的较佳实施例而已,并不用以限制本技术,凡在本技术实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献