CN113328953B - 网络拥塞调整的方法、装置和存储介质 - Google Patents
网络拥塞调整的方法、装置和存储介质 Download PDFInfo
- Publication number
- CN113328953B CN113328953B CN202010127305.4A CN202010127305A CN113328953B CN 113328953 B CN113328953 B CN 113328953B CN 202010127305 A CN202010127305 A CN 202010127305A CN 113328953 B CN113328953 B CN 113328953B
- Authority
- CN
- China
- Prior art keywords
- index value
- network
- service performance
- adjustment period
- performance index
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种网络拥塞调整的方法、装置和存储介质,属于通信技术领域。在该方法中,第一网络设备获取自身的第一网络状态指标值,以及获取N个局部拓扑信息和N个第二网络状态指标值。之后,先根据N个局部拓扑信息,确定全局拓扑信息,再根据第一网络状态指标值、全局拓扑信息和N个第二网络状态指标值,确定当前调整周期的业务性能指标值。最后,根据上一调整周期的业务性能指标值、当前调整周期的业务性能指标值和第一网络状态指标值,对自身配置的ECN水线进行调整。如此,是根据网络流量特征的动态变化情况来适应性调整所配置的ECN水线,基于动态ECN水线配置进行的网络拥塞调整的可靠性较高,可以有效提升网络性能。
Description
技术领域
本申请涉及通信技术领域,特别涉及一种网络拥塞调整的方法、装置和存储介质。
背景技术
数据中心网络对低时延、高吞吐等特性有着越来越强烈的需求。例如,在云存储等业务中,由于业务操作的高并发特性,数据中心网络中会存在大量的并发数据流,容易造成网络拥塞,导致传输时延高、吞吐率低、网络资源消耗大等问题。
目前,可以采用数据中心网络量化拥塞通知(data center quantizedcongestion notification,DCQCN)算法来实现网络拥塞调整。具体地,交换机接收源节点发送的数据报文,并采用队列形式存储,可以称为报文队列。当报文队列的深度低于显式拥塞通知(explicit congestion notification,ECN)水线下限时,交换机不对数据报文进行ECN标记,对数据报文进行ECN标记也可称为打标。当报文队列的深度高于ECN水线上限时,交换机对报文队列中的所有数据报文打标。当报文队列的深度位于ECN水线下限与ECN水线上限之间时,交换机以一定概率对报文队列中的数据报文随机打标。目的节点接收到交换机发送的数据报文后,若检测到数据报文被打标,则向源节点返回拥塞通知报文(congestion notification packet,CNP),用于通知源节点调整数据报文的发送速率,以缓解网络拥塞。
然而,交换机中的ECN水线是静态配置的。若网络流量特征发生变化,则静态的ECN水线配置很有可能无法有效控制发送速率,最终会引起网络性能下降。
发明内容
本申请提供了一种网络拥塞调整的方法、装置和存储介质,可以有效提升网络性能。所述技术方案如下:
第一方面,提供了一种网络拥塞调整的方法。在该方法中,第一网络设备获取第一网络设备的第一网络状态指标值,以及获取N个局部拓扑信息和N个第二网络状态指标值。第一网络设备先根据该N个局部拓扑信息,确定全局拓扑信息,再根据第一网络状态指标值、该全局拓扑信息和该N个第二网络状态指标值,确定当前调整周期的业务性能指标值。第一网络设备根据上一调整周期的业务性能指标值、当前调整周期的业务性能指标值和第一网络状态指标值,对第一网络设备中配置的ECN水线进行调整。
需要说明的是,N个第二网络设备分别一一对应于N个局部拓扑信息和N个第二网络状态指标值。也就是说,N个第二网络设备与N个局部拓扑信息一一对应,N个第二网络设备中的每个第二网络设备可以发送对应的局部拓扑信息给第一网络设备。N个第二网络设备与N个第二网络状态指标值一一对应,N个第二网络设备中的每个第二网络设备可以发送对应的第二网络状态指标值给第一网络设备。
另外,ECN水线包括下限(Kmin)、上限(Kmax)和最大打标概率(Pmax)。Pmax是当报文队列深度位于Kmin与Kmax之间时,对报文队列中待发送的数据报文随机打标的最大概率。其中,打标是指对数据报文进行ECN标记,用于指示传输路径上出现了拥塞。
本申请中,根据网络流量特征的动态变化情况来适应性调整所配置的ECN水线,也即所配置的ECN水线可以自动适应不同的业务场景,并及时适应业务场景的变化。如此,基于动态ECN水线配置进行的网络拥塞调整的可靠性较高,从而可以有效提升网络性能。
在一种可能的实现方式中,第一网络设备还可以将当前调整周期的业务性能指标值发送给该N个第二网络设备中的任意多个,以便这多个第二网络设备中的每个第二网络设备可以根据当前调整周期的业务性能指标值来调整自身配置的ECN水线。
其中,第一网络设备根据第一网络状态指标值、该全局拓扑信息和该N个第二网络状态指标值,确定当前调整周期的业务性能指标值的操作可以为:第一网络设备根据该全局拓扑信息,对该N个第二网络状态指标值和第一网络状态指标值进行统计分析,得到当前调整周期的业务性能指标值。
需要说明的是,第一网络设备根据该全局拓扑信息,对该N个第二网络状态指标值和第一网络状态指标值进行统计分析时,可以通过函数关系或神经网络模型来进行统计分析。
一种可能的实现方式中,可以根据该全局拓扑信息构建网络状态指标值与业务性能指标值之间的函数关系,然后将该N个第二网络状态指标值和第一网络状态指标值代入该函数关系,获得当前调整周期的业务性能指标值。
另一种可能的实现方式中,可以将该全局拓扑信息、该N个第二网络状态指标值和第一网络状态指标值输入神经网络模型,获得当前调整周期的业务性能指标值。
其中,第一网络设备根据上一调整周期的业务性能指标值、当前调整周期的业务性能指标值和第一网络状态指标值,对第一网络设备中配置的ECN水线进行调整的操作可以为:第一网络设备先根据上一调整周期的业务性能指标值与当前调整周期的业务性能指标值之间的差异,确定强化学习模型的损失值,再根据该强化学习模型的损失值,调整该强化学习模型中的参数,然后将当前调整周期的业务性能指标值和第一网络状态指标值,输入参数调整完成后的该强化学习模型,获得ECN水线调整策略,最后按照该ECN水线调整策略对第一网络设备中配置的ECN水线进行调整。
需要说明的是,该强化学习模型可以是使用强化学习算法的深度学习网络。该强化学习模型的输入可以是业务性能指标值和网络状态指标值。该强化学习模型用于输出ECN水线调整策略。该ECN水线调整策略用于指示ECN水线的调整值,即指示应该将ECN水线中的参数(包括Kmin、Kmax、Pmax中的至少一个)调整并配置的具体值。
在本申请中,可以通过强化学习模型来获得ECN水线调整策略,并且,可以通过确定强化学习模型的损失值,评估本申请所涉及的业务场景下,利用强化学习模型输出的ECN水线调整策略的准确性。
可选地,第一网络设备根据该上一调整周期的业务性能指标值与当前调整周期的业务性能指标值之间的差异,确定强化学习模型的损失值的操作可以为:第一网络设备根据该上一调整周期的业务性能指标值与当前调整周期的业务性能指标值之间的差异,通过该强化学习模型的损失函数得到该强化学习模型的损失值,该损失函数包括奖励函数。
本申请中,该奖励函数用于反映业务性能,即该奖励函数是预先设计的能够指示业务性能好坏的函数,如该奖励函数中的参数可以包括时延、吞吐量等中的至少一个。当该奖励函数中的参数包括与业务性能有关的多个参数时,该强化学习模型进行的是多目标的强化学习。也即是,该强化学习模型可以支持对时延、吞吐量等多个目标的调优,如此,适用范围更广,可以满足各种业务场景的调优需求。
在一种可能的实现方式中,对第一网络设备中配置的ECN水线进行调整之前,第一网络设备还可以根据当前调整周期的业务性能指标值和当前调整周期之前的历史业务性能指标值,确定下一调整周期的业务性能指标预测值。这种情况下,第一网络设备根据上一调整周期的业务性能指标值、当前调整周期的业务性能指标值和第一网络状态指标值,对第一网络设备中配置的ECN水线进行调整的操作可以为:第一网络设备根据上一调整周期的业务性能指标值、当前调整周期的业务性能指标值、下一调整周期的业务性能指标预测值和第一网络状态指标值,对第一网络设备中配置的ECN水线进行调整。
其中,第一网络设备根据当前调整周期的业务性能指标值和当前调整周期之前的历史业务性能指标值,确定下一调整周期的业务性能指标预测值的操作可以为:第一网络设备对该历史业务性能指标值和当前调整周期的业务性能指标值进行回归分析,得到下一调整周期的业务性能指标预测值。
在本申请中,不仅可以根据当前调整周期的业务性能指标值和第一网络状态指标值来调整ECN水线,在此基础上还可以增加下一调整周期的业务性能指标预测值来共同调整ECN水线。如此,是结合当前调整周期的业务性能变化、当前网络状态以及即将有可能出现的业务性能变化来调整ECN水线,从而使得ECN水线的动态调整更为准确,进而可以更为快速的提升网络性能。
第二方面,提供了一种网络拥塞调整的方法。在该方法中,第二网络设备获取第二网络设备的网络状态指标值,以及接收第一网络设备发送的当前调整周期的业务性能指标值,然后根据上一调整周期的业务性能指标值、当前调整周期的业务性能指标值和该网络状态指标值,对第二网络设备中配置的ECN水线进行调整。
需要说明的是,ECN水线包括下限(Kmin)、上限(Kmax)和最大打标概率(Pmax)。Pmax是当报文队列深度位于Kmin与Kmax之间时,对报文队列中待发送的数据报文随机打标的最大概率。其中,打标是指对数据报文进行ECN标记,用于指示传输路径上出现了拥塞。
在本申请中,根据网络流量特征的动态变化情况来适应性调整所配置的ECN水线,也即所配置的ECN水线可以自动适应不同的业务场景,并及时适应业务场景的变化。如此,基于动态ECN水线配置进行的网络拥塞调整的可靠性较高,从而可以有效提升网络性能。
在一种可能的实现方式中,第二网络设备接收第一网络设备发送的当前调整周期的业务性能指标值之前,还可以将第二网络设备的局部拓扑信息和第二网络设备的网络状态指标值发送给第一网络设备,以便第一网络设备可以据此确定当前调整周期的业务性能指标值。
其中,第二网络设备根据上一调整周期的业务性能指标值、当前调整周期的业务性能指标值和该网络状态指标值,对第二网络设备中配置的ECN水线进行调整的操作可以为:第二网络设备先根据上一调整周期的业务性能指标值与当前调整周期的业务性能指标值之间的差异,确定强化学习模型的损失值,再根据该强化学习模型的损失值,调整该强化学习模型中的参数,然后将当前调整周期的业务性能指标值和该网络状态指标值,输入参数调整完成后的该强化学习模型,获得ECN水线调整策略,最后按照该ECN水线调整策略对第二网络设备中配置的ECN水线进行调整。
需要说明的是,该强化学习模型可以是使用强化学习算法的深度学习网络。该强化学习模型的输入可以是业务性能指标值和网络状态指标值。该强化学习模型用于输出ECN水线调整策略。该ECN水线调整策略用于指示ECN水线的调整值,即指示应该将ECN水线中的参数(包括Kmin、Kmax、Pmax中的至少一个)调整并配置的具体值。
在本申请中,可以通过强化学习模型来获得ECN水线调整策略。并且,可以通过确定强化学习模型的损失值,评估本申请所涉及的业务场景下,利用强化学习模型输出的ECN水线调整策略的准确性。
在一种可能的实现方式中,第二网络设备根据该上一调整周期的业务性能指标值与当前调整周期的业务性能指标值之间的差异,确定强化学习模型的损失值的操作可以为:第二网络设备根据上一调整周期的业务性能指标值与当前调整周期的业务性能指标值之间的差异,通过该强化学习模型的损失函数得到该强化学习模型的损失值,该损失函数包括奖励函数。
本申请中,该奖励函数用于反映业务性能,即该奖励函数是预先设计的能够指示业务性能好坏的函数,如该奖励函数中的参数可以包括时延、吞吐量等中的至少一个。当该奖励函数中的参数包括与业务性能有关的多个参数时,该强化学习模型进行的是多目标的强化学习。也即是,该强化学习模型可以支持对时延、吞吐量等多个目标的调优,如此,适用范围更广,可以满足各种业务场景的调优需求。
在一种可能的实现方式中,在对第二网络设备中配置的ECN水线进行调整之前,第二网络设备还可以接收第一网络设备发送的下一调整周期的业务性能指标预测值。这种情况下,第二网络设备根据上一调整周期的业务性能指标值、当前调整周期的业务性能指标值和该网络状态指标值,对第二网络设备中配置的ECN水线进行调整的操作可以为:第二网络设备根据上一调整周期的业务性能指标值、当前调整周期的业务性能指标值、下一调整周期的业务性能指标值和该网络状态指标值,对第二网络设备中配置的ECN水线进行调整。
在本申请中,不仅可以根据当前调整周期的业务性能指标值和第一网络状态指标值来调整ECN水线,在此基础上还可以增加下一调整周期的业务性能指标预测值来共同调整ECN水线。如此,是结合当前调整周期的业务性能变化、当前网络状态以及即将有可能出现的业务性能变化来调整ECN水线,从而使得ECN水线的动态调整更为准确,进而可以更为快速的提升网络性能。
第三方面,提供了一种网络拥塞调整的装置,所述网络拥塞调整的装置具有实现上述第一方面中网络拥塞调整的方法行为的功能。所述网络拥塞调整的装置包括至少一个模块,所述至少一个模块用于实现上述第一方面所提供的网络拥塞调整的方法。
第四方面,提供了一种网络拥塞调整的装置,所述网络拥塞调整的装置具有实现上述第二方面中网络拥塞调整的方法行为的功能。所述网络拥塞调整的装置包括至少一个模块,所述至少一个模块用于实现上述第二方面所提供的网络拥塞调整的方法。
第五方面,提供了一种网络拥塞调整的装置,所述网络拥塞调整的装置的结构中包括处理器和存储器,所述存储器用于存储支持网络拥塞调整的装置执行上述第一方面所提供的网络拥塞调整的方法的程序,以及存储用于实现上述第一方面所述的网络拥塞调整的方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述网络拥塞调整的装置还可以包括通信总线,所述通信总线用于在所述处理器与所述存储器之间建立连接。
第六方面,提供了一种网络拥塞调整的装置,所述网络拥塞调整的装置的结构中包括处理器和存储器,所述存储器用于存储支持网络拥塞调整的装置执行上述第二方面所提供的网络拥塞调整的方法的程序,以及存储用于实现上述第二方面所述的网络拥塞调整的方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述网络拥塞调整的装置还可以包括通信总线,所述通信总线用于在所述处理器与所述存储器之间建立连接。
第七方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的网络拥塞调整的方法。
第八方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第二方面所述的网络拥塞调整的方法。
第九方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的网络拥塞调整的方法。
第十方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面所述的网络拥塞调整的方法。
上述第三方面、第五方面、第七方面和第九方面所获得的技术效果与上述第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
上述第四方面、第六方面、第八方面和第十方面所获得的技术效果与上述第二方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
附图说明
图1是本申请实施例提供的一种数据传输系统的示意图;
图2是本申请实施例提供的一种ECN水线的示意图;
图3是本申请实施例提供的一种网络示意图;
图4是本申请实施例提供的一种网络拥塞调整的方法的流程图;
图5是本申请实施例提供的另一种网络拥塞调整的方法的流程图;
图6是本申请实施例提供的一种第一网络设备的模块图;
图7是本申请实施例提供的一种第二网络设备的模块图;
图8是本申请实施例提供的一种硬件架构图;
图9是本申请实施例提供的一种计算机设备的结构示意图;
图10是本申请实施例提供的另一种计算机设备的结构示意图;
图11是本申请实施例提供的一种网络拥塞调整的装置的结构示意图;
图12是本申请实施例提供的另一种网络拥塞调整的装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式作进一步地详细描述。
应当理解的是,本申请提及的“多个”是指两个或两个以上。在本申请的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,为了便于清楚描述本申请的技术方案,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
在对本申请实施例进行详细解释说明之前,先对本申请实施例的应用场景予以说明。
数据中心网络对低时延、高吞吐等特性有着越来越强烈的需求。在云存储等业务中,由于业务操作的高并发特性,数据中心网络中会存在大量并发数据流,容易造成网络拥塞。网络拥塞会引入额外延时,造成报文传输时延高、吞吐率低、网络资源消耗大等问题。这就对网络拥塞调整算法提出了非常高的要求。
图1是本申请实施例提供的一种数据传输系统的示意图。参见图1,该数据传输系统包括发送设备101、传输设备102和接收设备103。发送设备101将数据报文发送给传输设备102,传输设备102将数据报文转发给接收设备103。
具体地,传输设备102中配置有ECN水线。如图2所示,ECN水线包括下限(Kmin)、上限(Kmax)和最大打标概率(Pmax)。Pmax是当报文队列深度位于Kmin与Kmax之间时,对报文队列中待发送的数据报文随机打标的最大概率。其中,打标是指对数据报文进行ECN标记,用于指示传输路径上出现了拥塞。打标方式可以有多种。例如,数据报文中可以包括ECN标识位,若打标则将该ECN标识位设置为11,若不打标则将该ECN标识位保持为00。可以理解地,也可以通过其它方式打标,本申请实施例对此不作特别限定。
传输设备102接收到发送设备101发送的数据报文后,将数据报文存储在报文队列中。当报文队列深度低于Kmin时,传输设备102不对报文队列中待发送的数据报文打标。当报文队列深度高于Kmax时,传输设备102对报文队列中待发送的数据报文都打标。当报文队列深度位于Kmin与Kmax之间时,传输设备102以0至Pmax的概率对报文队列中待发送的数据报文随机打标。
接收设备103接收到传输设备102发送的数据报文后,若检测到数据报文被打标,则向发送设备101返回CNP,用于通知发送设备101调整数据报文的发送速率,以缓解网络拥塞。
然而,上述方案中的ECN水线是静态配置的,但是数据中心网络的网络流量特征经常会动态变化。例如,在并行处理场景中,传输设备102中支持存在多个报文队列,各个报文队列的出速率可能不同。又例如,业务运行过程中,流量模式随着时间动态变化,如存储业务的流量模式会随着读写随机性、读写比、块大小和并发度的变化而实时改变。在同一网络流量特征下,不同的ECN水线配置带来的网络性能差异较为明显。如采用基于静态ECN水线配置的网络拥塞调整算法无法适应网络流量特征动态变化的场景,难以有效保障高吞吐、低时延等网络性能要求。
为此,本申请实施例提供了一种网络拥塞调整的方法,可以根据网络流量特征的动态变化情况来适应性调整所配置的ECN水线。如此,基于动态ECN水线配置进行的网络拥塞调整的可靠性较高,从而可以有效提升网络性能。
接下来对本申请实施例涉及的系统架构予以说明。
图3是本申请实施例提供的一种网络示意图。该网络可以是交换网络,如可以是数据中心网络、多层交换网络、扩展规模网络等。该网络可以运行各种业务,如可以运行存储业务等。
参见图3,该网络包括第一网络设备、与第一网络设备通信的第二网络设备。
第一网络设备的数量不做限定,图3中以两个第一网络设备为例示出,包括第一网络设备3011和第一网络设备3012。与第一网络设备通信的第二网络设备的数量也不做限定,图3中以4个第二网络设备为例示出,包括第二网络设备3021、第二网络设备3022、第二网络设备3023和第二网络设备3024。每个第一网络设备可以支持与一个或多个第二网络设备通信,如图3所示,这两个第一网络设备中的每个第一网络设备均与这4个第二网络设备通信。
以交换网络为例,第一网络设备和第二网络设备均可以是交换设备。交换网络是两层结构:接入层-汇聚层,汇聚层处于接入层的上层,终端设备部署在接入层之下。其中,接入层中部署第二网络设备,与终端设备相连,用于接收终端设备发送的数据报文。汇聚层中部署与第二网络设备通信的第一网络设备,用于汇聚接入层中的第二网络设备的数据报文并转发。也即是,一个终端设备可以通过与这个终端设备相连的第二网络设备和第一网络设备来与另一个第二网络设备下的终端设备通信,所述另一个第二网络设备也与所述第一网络设备连接。例如,第二网络设备3021下的终端设备可以将数据先通过第二网络设备3021发至第一网络设备3011,然后再由第一网络设备3011发往同样与其相连的第二网络设备3022,从而实现第二网络设备3021下的终端设备与第二网络设备3022下的终端设备之间的通信。示例地,处于接入层的第二网络设备可以称为叶子(leaf)节点,处于汇聚层的第一网络设备可以称为骨干(spine)节点。
实际应用中,第一网络设备和第二网络设备均可以是具备数据转发功能的网络设备,如交换机、路由器等设备。终端设备可以是包括但不限于手机、平板电脑、个人数字助理(personal digital assistant,PDA)、移动上网装置(mobile internet device,MID)、可穿戴设备、车载设备以及其他支持和网络通信的设备。
接下来对本申请实施例提供的网络拥塞调整的方法予以说明。
图4是本申请实施例提供的一种网络拥塞调整的方法的流程图,该方法可以应用于图3所示的网络中,具体可以应用于图3所示的第一网络设备3011或第一网络设备3012中。参见图4,该方法包括:
401:第一网络设备获取第一网络设备的第一网络状态指标值。
需要说明的是,第一网络状态指标值是第一网络设备在运行业务时产生的与网络拥塞相关的参数,该业务可以是存储业务、高性能计算(high-performance computing,HPC)业务、人工智能(artificial intelligence,AI)业务等。
例如,第一网络状态指标值可以是第一网络设备的关键性能指标(keyperformance Indicator,KPI)值,可以包括时延、吞吐量、丢包率、端口利用率、转发字节数、报文队列的出速率、报文队列深度(包括报文队列的当前深度、报文队列的平均深度等)、端口传输的基于优先级的流量控制(priority-based flow control,PFC)报文数、携带ECN标记的数据报文数等其他影响网络状态的参数中的至少一个。
其中,ECN水线包括下限(Kmin)、上限(Kmax)和最大打标概率(Pmax)。Pmax是当报文队列深度位于Kmin与Kmax之间时,对报文队列中待发送的数据报文随机打标的最大概率。其中,打标是指对数据报文进行ECN标记,用于指示传输路径上出现了拥塞。
402:第一网络设备获取N个局部拓扑信息和N个第二网络状态指标值,N为正整数。
需要说明的是,N个第二网络设备分别一一对应于N个局部拓扑信息和N个第二网络状态指标值。也就是说,N个第二网络设备与N个局部拓扑信息一一对应,N个第二网络设备中的每个第二网络设备可以发送对应的局部拓扑信息给第一网络设备。N个第二网络设备与N个第二网络状态指标值一一对应,N个第二网络设备中的每个第二网络设备可以发送对应的第二网络状态指标值给第一网络设备。
另外,N个第二网络设备是能够与第一网络设备进行通信的第二网络设备。例如,如图3所示,对于第一网络设备3011而言,与第一网络设备3011通信的N个第二网络设备是第二网络设备3021-3024;对于第一网络设备3012而言,与第一网络设备3012通信的N个第二网络设备也是第二网络设备3021-3024。
对于N个第二网络设备中的任意一个第二网络设备,这个第二网络设备对应的局部拓扑信息相对于与其通信的第一网络设备可以确定的网络拓扑信息而言是局部的。也即是,局部拓扑信息是第一网络设备和第二网络设备所在网络中的部分设备组成的局部网络的拓扑信息。例如,所述局部拓扑信息可以是由这个第二网络设备以及与这个第二网络设备直接通信的第一网络设备和终端设备组成的局部网络的拓扑信息。
例如,如图3所示,对于第二网络设备3021而言,第二网络设备3021对应的局部拓扑信息可以是由第二网络设备3021、与第二网络设备3021直接通信的第一网络设备3011和第一网络设备3012、以及与第二网络设备3021相连的多个终端设备组成的局部网络的拓扑信息。在另一些情形下,也可以根据预先定义的规则确定与第二网络设备对应的局部拓扑信息所包括的设备范围。
第二网络设备对应的第二网络状态指标值是第二网络设备在运行业务时产生的与网络拥塞相关的参数。例如,第二网络状态指标值可以是第二网络设备的KPI值,可以包括时延、吞吐量、丢包率、端口利用率、转发字节数、报文队列的出速率、报文队列深度(包括报文队列的当前深度、报文队列的平均深度等)、端口传输的PFC报文数、携带ECN标记的数据报文数等其他影响网络状态的参数中的至少一个。
第二网络设备可以通过多种方式获取其对应的局部拓扑信息,第二网络设备对应的局部拓扑信息可以包括第二网络设备的设备标识、第二网络设备的端口标识、与第二网络设备直接相连的邻居设备的设备标识及端口标识等信息。例如,第二网络设备可以通过链路层发现协议(Link Layer Discovery Protocol,LLDP)采集其对应的局部拓扑信息。
在一种情形下(例如第一网络设备首次收集N个第二网络设备的局部拓扑信息和第二网络状态指标值时),第一网络设备可以在确定接收到N个第二网络设备中的每个第二网络设备发送的局部拓扑信息后,即确定接收到该N个局部拓扑信息后,再执行403来确定全局拓扑信息,以提高确定出的全局拓扑信息的准确度。第一网络设备还可以在确定接收到N个第二网络设备中的每个第二网络设备发送的第二网络状态指标值后,即确定接收到该N个第二网络状态指标值后,再执行404来确定当前调整周期的业务性能指标值,以提高确定出的业务性能指标值的准确度。
在另一种情形下(例如第一网络设备非首次收集N个第二网络设备的局部拓扑信息和第二网络状态指标值时),第一网络设备中存储有之前收集到的N个局部拓扑信息和N个第二网络状态指标值,即存储有N个历史局部拓扑信息和N个历史第二网络状态指标值。这种情形下,第一网络设备可以每隔预定时段从N个第二网络设备中获取局部拓扑信息的更新信息和第二网络状态指标值的更新信息,然后根据N个历史局部拓扑信息和局部拓扑信息的更新信息确定N个局部拓扑信息,以及根据N个历史第二网络状态指标值和第二网络状态指标值的更新信息确定N个第二网络状态指标值。
需要说明的是,401和402的执行顺序没有严格的限定。也即是,可以先执行401,再执行402;或者,可以先执行402,再执行401;或者,可以同时执行401和402。并且,在执行完402之后,就可以执行403。在执行完403和401之后,可以执行404。
403:第一网络设备根据该N个局部拓扑信息,确定全局拓扑信息。
需要说明的是,全局拓扑信息是一个第一网络设备能够确定出的网络拓扑信息。全局拓扑信息是指相对于与该第一网络设备通信的若干第二网络设备可以确定的局部拓扑信息而言,该第一网络设备能够获得的网络拓扑信息是全局的。也即是,所述全局拓扑信息可以是由第一网络设备、与第一网络设备直接通信的N个第二网络设备、以及与N个第二网络设备中的每个第二网络设备直接通信的终端设备和其它存在连接关系的第一网络设备组成的全局网络的拓扑信息。
例如,如图3所示,对于第一网络设备3011而言,第一网络设备3011确定的全局拓扑信息是由第一网络设备3011、与第一网络设备3011直接通信的四个第二网络设备(即第二网络设备3021、第二网络设备3022、第二网络设备3023和第二网络设备3024)、以及与这四个第二网络设备3021-3024中的每个第二网络设备均通信的第一网络设备3012、以及这四个第二网络设备中的每个第二网络设备相连的多个终端设备组成的全局网络的拓扑信息。
具体地,第一网络设备可以对该N个局部拓扑信息进行组合,以还原N个第二网络设备和第一网络设备所在网络的全局拓扑信息。
404:第一网络设备根据第一网络状态指标值、该全局拓扑信息和该N个第二网络状态指标值,确定当前调整周期的业务性能指标值。
需要说明的是,调整周期是时间周期(也称循环周期)。调整周期的时长可以预先进行设置,如调整周期的时长可以是5分钟、10分钟等。
另外,业务性能指标值是用于反映第一网络设备和N个第二网络设备正在运行的业务的传输性能的参数。例如,业务性能指标值可以是关键质量指标(key qualityIndicator,KQI)值,可以包括时延、吞吐量、每秒进行读写操作的次数(Input/OutputOperations Per Second,IOPS)等其他影响业务性能的参数中的至少一个。
具体地,第一网络设备可以根据该全局拓扑信息,对该N个第二网络状态指标值和第一网络状态指标值进行统计分析,得到当前调整周期的业务性能指标值。
需要说明的是,第一网络设备根据该全局拓扑信息,对该N个第二网络状态指标值和第一网络状态指标值进行统计分析时,可以通过函数关系或神经网络模型来进行统计分析。
一种可能的实现方式中,可以根据该全局拓扑信息构建网络状态指标值与业务性能指标值之间的函数关系,然后将该N个第二网络状态指标值和第一网络状态指标值代入该函数关系,获得当前调整周期的业务性能指标值。
需要说明的是,该函数关系是网络状态指标值与业务性能指标值之间的函数关系。也即是,将某个网络状态指标值输入该函数关系后,就可以求得业务性能指标值。所求得的业务性能指标值就是在该全局拓扑信息指示的网络中,当该网络处于这个网络状态指标值所指示的网络状态时,用于反映该网络中的业务性能的业务性能指标值。
示例地,网络状态指标与业务性能指标的函数关系,可以是根据该全局拓扑信息确定出的业务经过设备端口时产生的同一类网络状态指标参数(如延时)的加权求和,此时对于不同类型的参数可以采用不同的权重,并据此求解得到对应的业务性能指标值。或者,该函数关系可以表现为根据该全局拓扑信息构建出的一个参数矩阵,该参数矩阵以设备为纵坐标、以端口为横坐标进行构建,该参数矩阵中的每个元素是从对应的设备端口采集到的网络状态指标值,通过对该参数矩阵进行矩阵运算,可以求解到对应的业务性能指标值。
另一种可能的实现方式中,可以将该全局拓扑信息、该N个第二网络状态指标值和第一网络状态指标值输入神经网络模型,获得当前调整周期的业务性能指标值。
需要说明的是,该神经网络模型是通过包括有不同网络拓扑下的网络状态指标值和对应的业务性能指标值的大量样本训练得到的。例如,该神经网络模型可以是深度神经网络(Deep Neural Networks,DNN)、卷积神经网络(Convolutional Neural Network,CNN)等,也可以根据不同需求构建适当的神经网络结构。
示例地,可以事先确定多个训练样本,对于该多个训练样本中的任意一个训练样本而言,这个训练样本的样本数据包括网络拓扑信息和网络状态指标值,这个训练样本的样本标签是业务性能指标值,这个训练样本中的网络状态指标值和业务性能指标值是在这个训练样本中的网络拓扑信息指示的网络中同时采集到的。然后可以使用该多个训练样本进行模型训练,得到该神经网络模型。
进一步地,第一网络设备获得当前调整周期的业务性能指标值之后,还可以将当前调整周期的业务性能指标值发送给N个第二网络设备中的任意多个,以便这多个第二网络设备中的每个第二网络设备可以根据当前调整周期的业务性能指标值来调整自身配置的ECN水线。
405:第一网络设备根据上一调整周期的业务性能指标值、当前调整周期的业务性能指标值和第一网络状态指标值,对第一网络设备中配置的ECN水线进行调整。
需要说明的是,上一调整周期的业务性能指标值是第一网络设备在上一调整周期确定的。第一网络设备在上一调整周期确定上一调整周期的业务性能指标值的操作与第一网络设备在当前调整周期确定当前调整周期的业务性能指标值的操作类似,本申请实施例对此不再赘述。
值得说明的是,上一调整周期的业务性能指标值、当前调整周期的业务性能指标值和第一网络状态指标值可以反映网络流量特征的动态变化情况。本申请实施例中可以根据网络流量特征的动态变化情况来适应性调整所配置的ECN水线,也即所配置的ECN水线可以自动适应不同的业务场景,并及时适应业务场景的变化。如此,基于动态ECN水线配置的网络拥塞调整的可靠性较高,从而可以有效提升网络性能。
强化学习作为一种在线的、无导师机器学习方法,可以把环境的反馈作为输入、通过学习选择能达到其目标的最优动作。强化学习模型在环境中做每个动作时,环境都会提供一个反馈信号,也可称为奖励(reward)。强化学习模型的学习过程可以看作是从环境到动作的映射学习过程,其目的就是确定采用某动作能够从环境中得到最大的累积奖励。在一些具体实现中,作为反馈的奖励可以通过机器学习中的损失函数来反映。
基于此,作为一种可能的具体实现,本申请实施例中可以通过引入强化学习模型来实现ECN水线调整。该强化学习模型可以根据网络流量特征的变化情况来输出合适的ECN水线调整策略,并将之后根据该ECN水线调整策略实际取得的业务性能变化作为反馈来不断进行强化学习,不断优化其自身性能,继而输出更为准确的ECN水线调整策略。本实施例具体可以利用强化学习模型中的损失值来反馈业务性能的变化。
具体地,第一网络设备可以根据上一调整周期的业务性能指标值与当前调整周期的业务性能指标值之间的差异,确定强化学习模型的损失值;根据该强化学习模型的损失值,调整该强化学习模型中的参数;将当前调整周期的业务性能指标值和第一网络状态指标值,输入参数调整完成后的该强化学习模型,获得ECN水线调整策略;按照该ECN水线调整策略对第一网络设备中配置的ECN水线进行调整。
需要说明的是,该强化学习模型可以是使用强化学习算法的深度学习网络,如该强化学习模型可以是深度质量网络(Deep Q-Learning,DQN)、双深度质量网络(DoubleDQN,DDQN)等,或者,也可以根据需要采用其他方式的强化学习模型。
另外,该强化学习模型的输入可以是业务性能指标值和网络状态指标值。该强化学习模型用于输出ECN水线调整策略。该ECN水线调整策略用于指示ECN水线的调整值,即指示应该将ECN水线中的参数(包括Kmin、Kmax、Pmax中的至少一个)调整并配置的具体值。
再者,强化学习模型的损失值可以指示该强化学习模型的性能。也即是,强化学习模型的损失值越小,该强化学习模型的性能越好,其输出的结果越准确;强化学习模型的损失值越大,强化学习模型的性能越差,其输出的结果越不准确。强化学习模型的损失值可以根据损失函数确定。损失函数一般是预先设计的、能够指示强化学习模型性能好坏的函数。损失函数可以包括奖励函数,也即是,奖励函数可以是损失函数中的一个参数,损失函数可以根据奖励函数设计得到。
基于此,可以通过确定强化学习模型的损失值,评估本申请实施例所涉及的业务场景下,利用强化学习模型输出的ECN水线调整策略的准确性。
具体地,第一网络设备根据上一调整周期的业务性能指标值和当前调整周期的业务性能指标值之间的差异,确定强化学习模型的损失值的操作可以为:第一网络设备根据上一调整周期的业务性能指标值与当前调整周期的业务性能指标值之间的差异,通过该强化学习模型的损失函数得到该强化学习模型的损失值。
在本实施例应用场景中,该奖励函数用于反映业务性能,即该奖励函数是预先设计的能够指示业务性能好坏的函数,如该奖励函数中的参数可以包括时延、吞吐量等中的至少一个。
另外,当该奖励函数中的参数包括与业务性能有关的多个参数时,该强化学习模型进行的是多目标的强化学习。也即是,该强化学习模型可以支持对时延、吞吐量等多个目标的调优,如此,适用范围更广,可以满足各种业务场景的调优需求。
值得注意的是,该损失函数可以反映两个业务性能指标值之间的差异。也即是,将两个业务性能指标值代入该损失函数后,该损失函数输出的损失值与这两个业务性能指标值之间的差异有关。
这种情况下,第一网络设备根据上一调整周期的业务性能指标值与当前调整周期的业务性能指标值之间的差异,通过该强化学习模型的损失函数得到该强化学习模型的损失值时,可以将上一调整周期的业务性能指标值和当前调整周期的业务性能指标值代入该强化学习模型的损失函数,获得该强化学习模型的损失值。此时该强化学习模型的损失值能够反映上一调整周期的业务性能指标值与当前调整周期的业务性能指标值之间的差异,从而就能反映业务性能是上升了还是下降了,如此也就可以反映该强化学习模型的性能是提升了还是降低了。
其中,第一网络设备根据该强化学习模型的损失值,调整该强化学习模型中的参数的操作可参考现有技术中根据某个神经网络模型的损失值调整这个神经网络模型中的参数的操作,本申请实施例对此不再展开详细阐述。
值得说明的是,本申请实施例中是对该强化学习模型进行在线训练。也即是,可以在每个调整周期,根据这个调整周期的业务性能指标值与上一调整周期的业务性能指标值之间的差异,来调整该强化学习模型中的参数,实现对该强化学习模型的迭代训练。如此,可以实现持续不断的调优,有助于适应各种不同的业务场景,及时适应业务场景发生的变化。
进一步地,在操作405对第一网络设备中配置的ECN水线进行调整之前,还可以先预测下一调整周期的业务性能指标值,并将此也作为依据来实现对ECN水线的调整。具体地,在操作405之前,第一网络设备可以根据当前调整周期的业务性能指标值和当前调整周期之前的历史业务性能指标值,确定下一调整周期的业务性能指标预测值。然后在操作405中,第一网络设备可以根据上一调整周期的业务性能指标值、当前调整周期的业务性能指标值、下一调整周期的业务性能指标预测值和第一网络状态指标值,对第一网络设备中配置的ECN水线进行调整。
需要说明的是,当前调整周期之前的历史业务性能指标值是指在当前调整周期之前的各个调整周期的业务性能指标值。如此,结合该历史业务性能指标值和当前调整周期的业务性能指标值可以反映出业务性能指标值的变化情况,因而可以据此预测下一调整周期的业务性能指标值。
其中,第一网络设备根据当前调整周期的业务性能指标值和当前调整周期之前的历史业务性能指标值,确定下一调整周期的业务性能指标预测值时,可以对该历史业务性能指标值和当前调整周期的业务性能指标值进行回归分析,得到下一调整周期的业务性能指标预测值。
需要说明的是,回归分析是对业务性能指标值与调整周期之间的关系进行统计分析。具体可以根据该历史业务性能指标值和当前调整周期的业务性能指标值,建立业务性能指标值与调整周期之间的数学模型。该数学模型可以用于预测各个调整周期的业务性能指标值,即将某一调整周期代入该数学模型后,就可以得到这一调整周期的业务性能指标预测值。
其中,第一网络设备根据上一调整周期的业务性能指标值、当前调整周期的业务性能指标值、下一调整周期的业务性能指标预测值和第一网络状态指标值,对第一网络设备中配置的ECN水线进行调整时,可以根据上一调整周期的业务性能指标值与当前调整周期的业务性能指标值之间的差异,确定强化学习模型的损失值;根据该强化学习模型的损失值,调整该强化学习模型中的参数;将当前调整周期的业务性能指标值、下一调整周期的业务性能指标预测值和第一网络状态指标值,输入参数调整完成后的该强化学习模型,获得ECN水线调整策略;按照该ECN水线调整策略对第一网络设备中配置的ECN水线进行调整。
值得说明的是,本申请实施例中不仅可以根据当前调整周期的业务性能指标值和第一网络状态指标值来调整ECN水线,在此基础上还可以增加下一调整周期的业务性能指标预测值来共同调整ECN水线。如此,是结合当前调整周期的业务性能变化、当前网络状态以及即将有可能出现的业务性能变化来调整ECN水线,从而使得ECN水线的动态调整更为准确,进而可以更为快速的提升网络性能。
在本申请实施例中,第一网络设备获取自身的第一网络状态指标值,以及获取N个局部拓扑信息和N个第二网络状态指标值。之后,第一网络设备先根据N个局部拓扑信息确定全局拓扑信息,再根据第一网络状态指标值、全局拓扑信息和N个第二网络状态指标值,确定当前调整周期的业务性能指标值。最后,第一网络设备根据上一调整周期的业务性能指标值、当前调整周期的业务性能指标值和第一网络状态指标值,对自身配置的ECN水线进行调整。如此,是根据网络流量特征的动态变化情况来适应性调整所配置的ECN水线,也即所配置的ECN水线可以自动适应不同的业务场景,并及时适应业务场景的变化。如此,基于动态ECN水线配置进行的网络拥塞调整的可靠性较高,从而可以有效提升网络性能。
图5是本申请实施例提供的一种网络拥塞调整的方法的流程图,该方法可以应用于图3所示的网络中,具体可以应用于图3所示的第二网络设备3021、第二网络设备3022、第二网络设备3023、或第二网络设备3024中。参见图5,该方法包括以下步骤:
501:第二网络设备获取第二网络设备的网络状态指标值。
需要说明的是,第二网络设备的网络状态指标值是第二网络设备在运行业务时产生的与网络拥塞相关的参数,该业务可以是存储业务、HPC业务、AI业务等。
例如,第二网络设备的网络状态指标值可以是第二网络设备的KPI值,可以包括时延、吞吐量、丢包率、端口利用率、转发字节数、报文队列的出速率、报文队列深度(包括报文队列的当前深度、报文队列的平均深度等)、端口传输的PFC报文数、携带ECN标记的数据报文数等其他影响网络状态的参数中的至少一个。
其中,ECN水线包括下限(Kmin)、上限(Kmax)和最大打标概率(Pmax)。Pmax是当报文队列深度位于Kmin与Kmax之间时,对报文队列中待发送的数据报文随机打标的最大概率。其中,打标是指对数据报文进行ECN标记,用于指示传输路径上出现了拥塞。
进一步地,第二网络设备还可以将第二网络设备的局部拓扑信息和第二网络设备的网络状态指标值发送给第一网络设备。
在一种情形下(例如第二网络设备首次向第一网络设备发送第二网络设备的局部拓扑信息和第二网络设备的网络状态指标值时),第二网络设备可以直接将第二网络设备的局部拓扑信息和第二网络设备的网络状态指标值发送给第一网络设备。
另一种情形下(例如第二网络设备非首次向第一网络设备发送第二网络设备的局部拓扑信息和第二网络设备的网络状态指标值时),第二网络设备可以在第二网络设备的局部拓扑信息发生变化时,生成局部拓扑信息的更新信息并发送给第一网络设备;第二网络设备可以在第二网络设备的网络状态指标值发生变化时,生成网络状态指标值的更新信息并发送给第一网络设备。第一网络设备可以根据该局部拓扑信息的更新信息更新之前从第二网络设备接收到的局部拓扑信息,根据该网络状态指标值的更新信息更新之前从第二网络设备接收到的网络状态指标值。
需要说明的是,第二网络设备的局部拓扑信息相对于与其通信的第一网络设备可以确定的网络拓扑信息而言是局部的。也即是,局部拓扑信息是第二网络设备及与其通信的第一网络设备所在网络中的部分设备组成的局部网络的拓扑信息。例如,所述局部拓扑信息可以是由第二网络设备以及与第二网络设备通信的第一网络设备和终端设备组成的局部网络的拓扑信息。
例如,如图3所示,对于第二网络设备3021而言,第二网络设备3021对应的局部拓扑信息是由第二网络设备3021、与第二网络设备3021直接通信的第一网络设备3011和第一网络设备3012、以及与第二网络设备3021相连的多个终端设备组成的局部网络的拓扑信息。
另外,第二网络设备将第二网络设备的局部拓扑信息和第二网络设备的网络状态指标值发送给第一网络设备后,第一网络设备可以据此确定当前调整周期的业务性能指标值,具体的确定方式在上述图4实施例进行了详细描述,此处不再赘述。
502:第二网络设备接收第一网络设备发送的当前调整周期的业务性能指标值。
需要说明的是,调整周期是时间周期(也称循环周期)。调整周期的时长可以预先进行设置,如调整周期的时长可以是5分钟、10分钟等。
另外,业务性能指标值是用于反映第一网络设备和第二网络设备正在运行的业务的传输性能的参数。例如,业务性能指标值可以是KQI值,可以包括时延、吞吐量、IOPS等其他影响业务性能的参数中的至少一个。
503:第二网络设备根据上一调整周期的业务性能指标值、当前调整周期的业务性能指标值和该网络状态指标值,对第二网络设备中配置的ECN水线进行调整。
需要说明的是,上一调整周期的业务性能指标值是第一网络设备在上一调整周期确定的。第二网络设备可以在上一调整周期接收第一网络设备发送的上一调整周期的业务性能指标值,当然,第二网络设备也可以从其他存储设备调取上一调整周期的业务性能指标值。
值得说明的是,上一调整周期的业务性能指标值、当前调整周期的业务性能指标值和该网络状态指标值可以反映网络流量特征的动态变化情况。本申请实施例中可以根据网络流量特征的动态变化情况来适应性调整所配置的ECN水线,也即所配置的ECN水线可以自动适应不同的业务场景,并及时适应业务场景的变化。如此,基于动态ECN水线配置的网络拥塞调整的可靠性较高,从而可以有效提升网络性能。
具体地,第二网络设备可以根据上一调整周期的业务性能指标值与当前调整周期的业务性能指标值之间的差异,确定强化学习模型的损失值;根据该强化学习模型的损失值,调整该强化学习模型中的参数;将当前调整周期的业务性能指标值和该网络状态指标值,输入参数调整完成后的该强化学习模型,获得ECN水线调整策略;按照该ECN水线调整策略对第二网络设备中配置的ECN水线进行调整。
具体地,第二网络设备根据上一调整周期的业务性能指标值和当前调整周期的业务性能指标值之间的差异,确定强化学习模型的损失值的操作可以为:第二网络设备根据上一调整周期的业务性能指标值与当前调整周期的业务性能指标值之间的差异,通过该强化学习模型的损失函数得到该强化学习模型的损失值。
在本实施例应用场景中,该奖励函数用于反映业务性能,即该奖励函数是预先设计的能够指示业务性能好坏的函数,如该奖励函数中的参数可以包括时延、吞吐量等中的至少一个。
另外,当该奖励函数中的参数包括与业务性能有关的多个参数时,该强化学习模型进行的是多目标的强化学习。也即是,该强化学习模型可以支持对时延、吞吐量等多个目标的调优,如此,适用范围更广,可以满足各种业务场景的调优需求。
使用强化学习模型获得ECN水线调整策略的具体方式可参考图4实施例中的相关描述,这里不再赘述。
值得说明的是,本申请实施例中是对该强化学习模型进行在线训练。也即是,可以在每个调整周期,根据这个调整周期的业务性能指标值与上一调整周期的业务性能指标值之间的差异,来调整该强化学习模型中的参数,实现对该强化学习模型的迭代训练。如此,可以实现持续不断的调优,有助于适应各种不同的业务场景,及时适应业务场景发生的变化。
进一步地,在操作503对第二网络设备中配置的ECN水线进行调整之前,还可以先预测下一调整周期的业务性能指标值,并将此也作为依据来实现对ECN水线的调整。具体地,在操作503之前,第二网络设备可以接收第一网络设备发送的下一调整周期的业务性能指标预测值。在操作503中,第二网络设备根据上一调整周期的业务性能指标值、当前调整周期的业务性能指标值、下一调整周期的业务性能指标值和该网络状态指标值,对第二网络设备中配置的ECN水线进行调整。
需要说明的是,下一调整周期的业务性能指标预测值可以是第一网络设备根据当前调整周期的业务性能指标值和当前调整周期之前的历史业务性能指标值确定的,具体的确定方式在上述图4实施例中进行了详细描述,此处不再赘述。
其中,第二网络设备根据上一调整周期的业务性能指标值、当前调整周期的业务性能指标值、下一调整周期的业务性能指标预测值和该网络状态指标值,对第二网络设备中配置的ECN水线进行调整时,可以根据上一调整周期的业务性能指标值与当前调整周期的业务性能指标值之间的差异,确定强化学习模型的损失值;根据该强化学习模型的损失值,调整该强化学习模型中的参数;将当前调整周期的业务性能指标值、下一调整周期的业务性能指标预测值和该网络状态指标值,输入参数调整完成后的该强化学习模型,获得ECN水线调整策略;按照该ECN水线调整策略对第二网络设备中配置的ECN水线进行调整。
值得说明的是,本申请实施例中不仅可以根据当前调整周期的业务性能指标值和该网络状态指标值来调整ECN水线,在此基础上还可以增加下一调整周期的业务性能指标预测值来共同调整ECN水线。如此,是结合当前调整周期的业务性能变化、当前网络状态以及即将有可能出现的业务性能变化来调整ECN水线,从而使得ECN水线的动态调整更为准确,进而可以更为快速的提升网络性能。
在本申请实施例中,第二网络设备获取自身的网络状态指标值,以及从第一网络设备接收当前调整周期的业务性能指标值。之后,第二网络设备根据上一调整周期的业务性能指标值、当前调整周期的业务性能指标值和该网络状态指标值,对自身配置的ECN水线进行调整。如此,是根据网络流量特征的动态变化情况来适应性调整所配置的ECN水线,也即所配置的ECN水线可以自动适应不同的业务场景,并及时适应业务场景的变化。如此,基于动态ECN水线配置进行的网络拥塞调整的可靠性较高,从而可以有效提升网络性能。
接下来对本申请实施例中的第一网络设备和第二网络设备予以说明。
图6是本申请实施例提供的一种第一网络设备的模块图。该第一网络设备例如可以是图3中的第一网络设备3011或第一网络设备3012,还可以是前述图4或图5描述的方法实施例中的第一网络设备。参见图6,第一网络设备可以包括以下模块:
信息接收模块601:获取N个第二网络设备中每个第二网络设备发送的局部拓扑信息和第二网络状态指标值,将获取到的N个局部拓扑信息送入拓扑组合模块602,将N个第二网络状态指标值送入数据推理计算模块605。
拓扑组合模块602:根据该N个局部拓扑信息,确定全局拓扑信息,将全局拓扑信息送入数据推理计算模块605。
状态信息采集模块603:从第一网络设备的转发芯片中采集网络状态指标值作为第一网络状态指标值,将第一网络状态指标值送入状态信息处理模块604。
状态信息处理模块604:对第一网络状态指标值进行预处理,将预处理后的第一网络状态指标值输入数据推理计算模块605和模型训练推理计算模块606。该预处理是指进行数据规整化,可以包括数据过滤和数据填充等。
数据推理计算模块605:根据全局拓扑信息,对第一网络状态指标值和N个第二网络状态指标值进行统计分析,得到当前调整周期的业务性能指标值。根据当前调整周期的业务性能指标值和当前调整周期之前的历史业务性能指标值,确定下一调整周期的业务性能指标预测值。将当前调整周期的业务性能指标值和下一调整周期的业务性能指标预测值送入模型训练推理计算模块606和数据封装与分发模块608。
模型训练推理计算模块606:根据上一调整周期的业务性能指标值与当前调整周期的业务性能指标值之间的差异,调整强化学习模型中的参数,将当前调整周期的业务性能指标值、下一调整周期的业务性能指标预测值和第一网络状态指标值,输入参数调整完成后的强化学习模型,获得ECN水线调整策略,将ECN水线调整策略送入配置信息发送模块607。
配置信息发送模块607:将ECN水线调整策略发送到第一网络设备的转发芯片,由该转发芯片按照该ECN水线调整策略对其配置的ECN水线进行调整。
数据封装与分发模块608:对当前调整周期的业务性能指标值和下一调整周期的业务性能指标预测值进行处理,如可以采用预先设置的数据封装格式(包括但不限于预先配置的结构体、互联网协议(internet protocol,IP)包格式)对当前调整周期的业务性能指标值和下一调整周期的业务性能指标预测值进行封装。将封装后的当前调整周期的业务性能指标值和下一调整周期的业务性能指标预测值发送给N个第二网络设备中的任意多个,可以通过包括但不限于谷歌远程过程调用(Google remote procedure call,Grpc)通道发送给第二网络设备。
图7是本申请实施例提供的一种第二网络设备的模块图。该第二网络设备例如可以是图3中的第二网络设备3021、第二网络设备3022、第二网络设备3023、或第二网络设备3024,还可以是前述图4或图5描述的方法实施例中的第二网络设备。参见图7,第二网络设备可以包括以下模块:
拓扑信息采集模块701:采集第二网络设备的局部拓扑信息,将该局部拓扑信息送入拓扑信息处理模块702。
拓扑信息处理模块702:对该局部拓扑信息进行预处理,将预处理后的局部拓扑信息送入数据封装与分发模块705。该预处理是指进行数据规整化,可以包括数据过滤和数据填充等。
状态信息采集模块703:从第二网络设备的转发芯片中采集网络状态指标值作为第二网络状态指标值,将第二网络状态指标值送入状态信息处理模块704。
状态信息处理模块704:对第二网络状态指标值进行预处理,将预处理后的第二网络状态指标值送入数据封装与分发模块705和模型训练推理计算模块707。该预处理是指进行数据规整化,可以包括数据过滤和数据填充等。
数据封装与分发模块705:对该局部拓扑信息和第二网络状态指标值进行处理,如可以采用预先设置的数据封装格式(包括但不限于预先配置的结构体、IP包格式)对该局部拓扑信息和第二网络状态指标值进行封装。将封装后的该局部拓扑信息和第二网络状态指标值发送给第一网络设备,可以通过包括但不限于Grpc通道发送给第一网络设备。
信息接收模块706:接收第一网络设备发送的当前调整周期的业务性能指标值和下一调整周期的业务性能指标预测值,将当前调整周期的业务性能指标值和下一调整周期的业务性能指标预测值送入模型训练推理计算模块707。
模型训练推理计算模块707:根据上一调整周期的业务性能指标值与当前调整周期的业务性能指标值之间的差异,调整强化学习模型中的参数,将当前调整周期的业务性能指标值、下一调整周期的业务性能指标预测值和第一网络状态指标值,输入参数调整完成后的强化学习模型,获得ECN水线调整策略,将ECN水线调整策略送入配置信息发送模块708。
配置信息发送模块708:将ECN水线调整策略发送到第二网络设备的转发芯片,由该转发芯片按照该ECN水线调整策略对其配置的ECN水线进行调整。
接下来对本申请实施例涉及的硬件架构予以说明。
图8是本申请实施例提供的一种硬件架构图。在业务运行过程中,第一网络设备和第二网络设备之间交互网络状态指标值、业务性能指标值、局部拓扑信息等,并据此确定ECN水线调整策略来进行ECN水线调整。
参见图8,第一网络设备包括主控处理器811、人工智能(ArtificialIntelligence,AI)加速芯片812和转发芯片813。第二网络设备包括主控处理器821、AI加速芯片822和转发芯片823。
下面对第一网络设备中的主控处理器811、AI加速芯片812和转发芯片813的功能进行说明。
主控处理器811负责运行软件框架、进行模型管理、发送在线数据(如上一调整周期的业务性能指标值、当前调整周期的业务性能指标值和第一网络状态指标值等)给AI加速芯片812,以及与AI加速芯片812配合通信。
具体地,主控处理器811可以执行上述图4实施例中的401、402、403和404来得到上一调整周期的业务性能指标值、当前调整周期的业务性能指标值和第一网络状态指标值。主控处理器811可以包括上述图6实施例中的信息接收模块601、拓扑组合模块602、状态信息采集模块603、状态信息处理模块604、数据推理计算模块605。
AI加速芯片812负责接收主控处理器811发送的需要的在线数据,并从主控处理器811中获取强化学习基础模型,根据这些在线数据执行模型训练及推理计算,输出包括ECN水线调整策略的模型推理结果,将ECN水线调整策略发送给主控处理器811。
具体地,AI加速芯片812可以执行上述图4实施例中的405来得到ECN水线调整策略。AI加速芯片812可以包括上述图6实施例中的模型训练推理计算模块606。
主控处理器811接收到AI加速芯片812发送的ECN水线调整策略后,将ECN水线调整策略发送到转发芯片813,由转发芯片813接收到主控处理器811发送的ECN水线调整策略后,按照ECN水线调整策略对配置的ECN水线进行调整。
具体地,AI加速芯片812可以执行上述图4实施例中的405来根据ECN水线调整策略对配置的ECN水线进行调整。AI加速芯片1可以包括上述图6实施例中的配置信息发送模块607。
下面对第二网络设备中的主控处理器821、AI加速芯片822和转发芯片823的功能进行说明。
主控处理器821负责运行软件框架、进行模型管理、发送在线数据(如上一调整周期的业务性能指标值、当前调整周期的业务性能指标值和第二网络设备的网络状态指标值等)给AI加速芯片822,以及与AI加速芯片822配合通信。
具体地,主控处理器2可以执行上述图5实施例中的501和502来得到上一调整周期的业务性能指标值、当前调整周期的业务性能指标值和第二网络设备的网络状态指标值。主控处理器821可以包括上述图7实施例中的状态信息采集模块703、状态信息处理模块704和信息接收模块706。
AI加速芯片822负责接收主控处理器2发送的需要训练及推理的在线数据,并从主控处理器821中获取强化学习模型,根据这些在线数据执行模型训练及推理计算,输出包括ECN水线调整策略的模型推理结果,将ECN水线调整策略发送给主控处理器2。
具体地,AI加速芯片822可以执行上述图5实施例中的503来得到ECN水线调整策略。AI加速芯片822可以包括上述图7实施例中的模型训练推理计算模块707。
主控处理器821接收到AI加速芯片2发送的ECN水线调整策略后,将ECN水线调整策略发送到转发芯片823,由转发芯片823接收到主控处理器821发送的ECN水线调整策略后,按照ECN水线调整策略对配置的ECN水线进行调整。
具体地,AI加速芯片822可以执行上述图5实施例中的503来根据ECN水线调整策略对配置的ECN水线进行调整。AI加速芯片822可以包括上述图7实施例中的配置信息发送模块708。
图9是本申请实施例提供的一种计算机设备的结构示意图。该计算机设备例如可以是图3中的第一网络设备3011或第一网络设备3012,还可以是前述图4或图5描述的方法实施例中的第一网络设备。
参见图9,该计算机设备包括至少一个处理器901、通信总线902、存储器903以及至少一个通信接口904。
处理器901可以是微处理器(包括中央处理器(central processing unit,CPU)等)、特定应用集成电路(application-specific integrated circuit,ASIC),或者可以是一个或多个用于控制本申请方案程序执行的集成电路。
通信总线902可包括一通路,用于在上述组件之间传送信息。
存储器903可以是只读存储器(read-only memory,ROM)、随机存取存储器(randomaccess memory,RAM)、电可擦可编程只读存储器(electrically erasable programmableread-Only memory,EEPROM)、光盘(包括只读光盘(compact disc read-only memory,CD-ROM)、压缩光盘、激光盘、数字通用光盘、蓝光光盘等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器903可以是独立存在,并通过通信总线902与处理器901相连接。存储器903也可以和处理器901集成在一起。
通信接口904使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网、无线接入网(radio access network,RAN)、无线局域网(wireless local areanetwork,WLAN)等。
在具体实现中,作为一种实施例,处理器901可以包括一个或多个CPU,如图9中所示的CPU0和CPU1。
在具体实现中,作为一种实施例,计算机设备可以包括多个处理器,如图9中所示的处理器901和处理器905。这些处理器中的每一个可以是一个单核处理器,也可以是一个多核处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,该计算机设备还包括输出设备906和输入设备907。输出设备906与输入设备907均能够与处理器901通信。
上述的计算机设备可以是一个通用计算机设备或一个专用计算机设备。在具体实现中,计算机设备可以是交换设备、网络服务器、台式机、便携式电脑、无线终端设备、或嵌入式设备等。
其中,存储器903用于存储执行本申请方案的程序代码990,处理器901用于执行存储器903中存储的程序代码990。该计算机设备可以通过处理器901以及存储器903中的程序代码990,来实现上述图4实施例提供的网络拥塞调整的方法。
图10是本申请实施例提供的一种计算机设备的结构示意图。该计算机设备例如可以是图3中的第二网络设备3021、第二网络设备3022、第二网络设备3023、或第二网络设备3024,还可以是前述图4或图5描述的方法实施例中的第二网络设备。
参见图10,该计算机设备包括至少一个处理器1001、通信总线1002、存储器1003以及至少一个通信接口1004。关于处理器1001、通信总线1002、存储器1003以及至少一个通信接口1004的描述可参考前述有关处理器901、通信总线902、存储器903以及至少一个通信接口904的描述,这里不再赘述。例如,在具体实现中,作为一种实施例,该计算机设备可以包括多个处理器,如图10中所示的处理器1001和处理器1005。
在具体实现中,作为一种实施例,计算机设备还包括输出设备1006和输入设备1007。输出设备1006与输入设备1007均能够与处理器1001通信。
其中,存储器1003用于存储执行本申请方案的程序代码1010,处理器1001用于执行存储器1003中存储的程序代码1010。该计算机设备可以通过处理器1001以及存储器1003中的程序代码1010,来实现上述图5实施例提供的网络拥塞调整的方法。
图11是本申请实施例提供的一种网络拥塞调整的装置的结构示意图,该装置可以由软件、硬件或者两者的结合实现成为计算机设备的部分或者全部,该计算机设备可以为图9所示的计算机设备。参见图11,该装置包括:第一获取模块1101、第二获取模块1102、第一确定模块1103、第二确定模块1104和调整模块1105。
第一获取模块1101,用于执行上述图4实施例中的步骤401;
第二获取模块1102,用于执行上述图4实施例中的步骤402;
第一确定模块1103,用于执行上述图4实施例中的步骤403;
第二确定模块1104,用于执行上述图4实施例中的步骤404;
调整模块1105,用于执行上述图4实施例中的步骤405。
可选地,该装置还包括:
发送模块,用于将当前调整周期的业务性能指标值发送给N个第二网络设备中的任意多个。
可选地,第二确定模块1104用于:
根据全局拓扑信息,对N个第二网络状态指标值和第一网络状态指标值进行统计分析,得到当前调整周期的业务性能指标值。
可选地,调整模块1105用于:
根据上一调整周期的业务性能指标值与当前调整周期的业务性能指标值之间的差异,确定强化学习模型的损失值,强化学习模型用于输出ECN水线调整策略;
根据强化学习模型的损失值,调整强化学习模型中的参数;
将当前调整周期的业务性能指标值和第一网络状态指标值,输入参数调整完成后的强化学习模型,获得ECN水线调整策略;
按照ECN水线调整策略对第一网络设备中配置的ECN水线进行调整。
可选地,调整模块1105用于:
根据上一调整周期的业务性能指标值与当前调整周期的业务性能指标值之间的差异,通过强化学习模型的损失函数得到强化学习模型的损失值,损失函数包括奖励函数,奖励函数用于反映业务性能。
可选地,奖励函数中的参数包括时延、吞吐量中的至少一个。
可选地,该装置还包括:
第三确定模块,用于对第一网络设备中配置的ECN水线进行调整之前,根据当前调整周期的业务性能指标值和当前调整周期之前的历史业务性能指标值,确定下一调整周期的业务性能指标预测值;
调整模块1105用于:
根据上一调整周期的业务性能指标值、当前调整周期的业务性能指标值、下一调整周期的业务性能指标预测值和第一网络状态指标值,对第一网络设备中配置的ECN水线进行调整。
可选地,第三确定模块用于:
第一网络设备对历史业务性能指标值和当前调整周期的业务性能指标值进行回归分析,得到下一调整周期的业务性能指标预测值。
在本申请实施例中,第一网络设备获取自身的第一网络状态指标值,以及获取N个局部拓扑信息和N个第二网络状态指标值。之后,第一网络设备先根据N个局部拓扑信息确定全局拓扑信息,再根据第一网络状态指标值、全局拓扑信息和N个第二网络状态指标值,确定当前调整周期的业务性能指标值。最后,第一网络设备根据上一调整周期的业务性能指标值、当前调整周期的业务性能指标值和第一网络状态指标值,对自身配置的ECN水线进行调整。如此,是根据网络流量特征的动态变化情况来适应性调整所配置的ECN水线,也即所配置的ECN水线可以自动适应不同的业务场景,并及时适应业务场景的变化。如此,基于动态ECN水线配置进行的网络拥塞调整的可靠性较高,从而可以有效提升网络性能。
图12是本申请实施例提供的一种网络拥塞调整的装置的结构示意图,该装置可以由软件、硬件或者两者的结合实现成为计算机设备的部分或者全部,该计算机设备可以为图10所示的计算机设备。参见图12,该装置包括:获取模块1201、第一接收模块1202和调整模块1203。
获取模块1201,用于执行上述图5实施例中的步骤501;
第一接收模块1202,用于执行上述图5实施例中的步骤502;
调整模块1203,用于执行上述图5实施例中的步骤503。
可选地,该装置还包括:
发送模块,用于将第二网络设备的局部拓扑信息和第二网络设备的网络状态指标值发送给第一网络设备。
可选地,调整模块1203用于:
根据上一调整周期的业务性能指标值与当前调整周期的业务性能指标值之间的差异,确定强化学习模型的损失值,强化学习模型用于输出ECN水线调整策略;
根据强化学习模型的损失值,调整强化学习模型中的参数;
将当前调整周期的业务性能指标值和网络状态指标值,输入参数调整完成后的强化学习模型,获得ECN水线调整策略;
按照ECN水线调整策略对第二网络设备中配置的ECN水线进行调整。
可选地,调整模块1203用于:
根据上一调整周期的业务性能指标值与当前调整周期的业务性能指标值之间的差异,通过强化学习模型的损失函数得到强化学习模型的损失值,损失函数包括奖励函数,奖励函数用于反映业务性能。
可选地,奖励函数中的参数包括时延、吞吐量中的至少一个。
可选地,该装置还包括:
第二接收模块,用于在对第二网络设备中配置的ECN水线进行调整之前,接收第一网络设备发送的下一调整周期的业务性能指标预测值;
调整模块1203用于:
根据上一调整周期的业务性能指标值、当前调整周期的业务性能指标值、下一调整周期的业务性能指标值和网络状态指标值,对第二网络设备中配置的ECN水线进行调整。
在本申请实施例中,第二网络设备获取自身的网络状态指标值,以及从第一网络设备接收当前调整周期的业务性能指标值。之后,第二网络设备根据上一调整周期的业务性能指标值、当前调整周期的业务性能指标值和该网络状态指标值,对自身配置的ECN水线进行调整。如此,是根据网络流量特征的动态变化情况来适应性调整所配置的ECN水线,也即所配置的ECN水线可以自动适应不同的业务场景,并及时适应业务场景的变化。如此,基于动态ECN水线配置进行的网络拥塞调整的可靠性较高,从而可以有效提升网络性能。
需要说明的是:上述实施例提供的网络拥塞调整的装置在网络拥塞调整时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由其他不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的网络拥塞调整的装置与网络拥塞调整的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络或其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(Digital Subscriber Line,DSL))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(Digital Versatile Disc,DVD))或半导体介质(例如:固态硬盘(Solid State Disk,SSD))等。
以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (30)
1.一种网络拥塞调整的方法,其特征在于,所述方法包括:
第一网络设备获取所述第一网络设备的第一网络状态指标值;
所述第一网络设备获取N个局部拓扑信息和N个第二网络状态指标值,N个第二网络设备分别一一对应于所述N个局部拓扑信息和所述N个第二网络状态指标值,N为正整数;
所述第一网络设备根据所述N个局部拓扑信息,确定全局拓扑信息;
所述第一网络设备根据所述第一网络状态指标值、所述全局拓扑信息和所述N个第二网络状态指标值,确定当前调整周期的业务性能指标值;
所述第一网络设备根据上一调整周期的业务性能指标值、所述当前调整周期的业务性能指标值和所述第一网络状态指标值,对所述第一网络设备中配置的显式拥塞通知ECN水线进行调整;
其中,所述网络状态指标值是相应网络设备在运行业务时产生的与网络拥塞相关的参数,所述业务性能指标值是用于反映所述第一网络设备和所述N个第二网络设备正在运行的业务的传输性能的参数。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一网络设备将所述当前调整周期的业务性能指标值发送给所述N个第二网络设备中的任意多个。
3.如权利要求1所述的方法,其特征在于,所述第一网络设备根据所述第一网络状态指标值、所述全局拓扑信息和所述N个第二网络状态指标值,确定当前调整周期的业务性能指标值,包括:
所述第一网络设备根据所述全局拓扑信息,对所述N个第二网络状态指标值和所述第一网络状态指标值进行统计分析,得到所述当前调整周期的业务性能指标值。
4.如权利要求1所述的方法,其特征在于,所述第一网络设备根据上一调整周期的业务性能指标值、所述当前调整周期的业务性能指标值和所述第一网络状态指标值,对所述第一网络设备中配置的显式拥塞通知ECN水线进行调整,包括:
所述第一网络设备根据所述上一调整周期的业务性能指标值与所述当前调整周期的业务性能指标值之间的差异,确定强化学习模型的损失值,所述强化学习模型用于输出ECN水线调整策略;
所述第一网络设备根据所述强化学习模型的损失值,调整所述强化学习模型中的参数;
所述第一网络设备将所述当前调整周期的业务性能指标值和所述第一网络状态指标值,输入参数调整完成后的所述强化学习模型,获得ECN水线调整策略;
所述第一网络设备按照所述ECN水线调整策略对所述第一网络设备中配置的ECN水线进行调整。
5.如权利要求4所述的方法,其特征在于,所述第一网络设备根据所述上一调整周期的业务性能指标值与所述当前调整周期的业务性能指标值之间的差异,确定强化学习模型的损失值,包括:
所述第一网络设备根据所述上一调整周期的业务性能指标值与所述当前调整周期的业务性能指标值之间的差异,通过所述强化学习模型的损失函数得到所述强化学习模型的损失值,所述损失函数包括奖励函数,所述奖励函数用于反映业务性能。
6.如权利要求5所述的方法,其特征在于,所述奖励函数中的参数包括时延、吞吐量中的至少一个。
7.如权利要求1-6任一所述的方法,其特征在于,所述方法还包括:
对所述第一网络设备中配置的ECN水线进行调整之前,所述第一网络设备根据所述当前调整周期的业务性能指标值和所述当前调整周期之前的历史业务性能指标值,确定下一调整周期的业务性能指标预测值;
所述第一网络设备根据上一调整周期的业务性能指标值、所述当前调整周期的业务性能指标值和所述第一网络状态指标值,对所述第一网络设备中配置的显式拥塞通知ECN水线进行调整,包括:
所述第一网络设备根据所述上一调整周期的业务性能指标值、所述当前调整周期的业务性能指标值、所述下一调整周期的业务性能指标预测值和所述第一网络状态指标值,对所述第一网络设备中配置的ECN水线进行调整。
8.如权利要求7所述的方法,其特征在于,所述第一网络设备根据所述当前调整周期的业务性能指标值和所述当前调整周期之前的历史业务性能指标值,确定下一调整周期的业务性能指标预测值,包括:
所述第一网络设备对所述历史业务性能指标值和所述当前调整周期的业务性能指标值进行回归分析,得到所述下一调整周期的业务性能指标预测值。
9.一种网络拥塞调整的方法,其特征在于,所述方法包括:
第二网络设备获取所述第二网络设备的网络状态指标值;
所述第二网络设备接收第一网络设备发送的当前调整周期的业务性能指标值;
所述第二网络设备根据上一调整周期的业务性能指标值、所述当前调整周期的业务性能指标值和所述网络状态指标值,对所述第二网络设备中配置的显式拥塞通知ECN水线进行调整;
其中,所述网络状态指标值是所述第二网络设备在运行业务时产生的与网络拥塞相关的参数,所述业务性能指标值是用于反映所述第一网络设备和所述第二网络设备正在运行的业务的传输性能的参数。
10.如权利要求9所述的方法,其特征在于,所述第二网络设备接收第一网络设备发送的当前调整周期的业务性能指标值之前,所述方法还包括:
所述第二网络设备将所述第二网络设备的局部拓扑信息和所述第二网络设备的网络状态指标值发送给所述第一网络设备。
11.如权利要求9所述的方法,其特征在于,所述第二网络设备根据上一调整周期的业务性能指标值、所述当前调整周期的业务性能指标值和所述网络状态指标值,对所述第二网络设备中配置的显式拥塞通知ECN水线进行调整,包括:
所述第二网络设备根据所述上一调整周期的业务性能指标值与所述当前调整周期的业务性能指标值之间的差异,确定强化学习模型的损失值,所述强化学习模型用于输出ECN水线调整策略;
所述第二网络设备根据所述强化学习模型的损失值,调整所述强化学习模型中的参数;
所述第二网络设备将所述当前调整周期的业务性能指标值和所述网络状态指标值,输入参数调整完成后的所述强化学习模型,获得ECN水线调整策略;
所述第二网络设备按照所述ECN水线调整策略对所述第二网络设备中配置的ECN水线进行调整。
12.如权利要求11所述的方法,其特征在于,所述第二网络设备根据所述上一调整周期的业务性能指标值与所述当前调整周期的业务性能指标值之间的差异,确定强化学习模型的损失值,包括:
所述第二网络设备根据所述上一调整周期的业务性能指标值与所述当前调整周期的业务性能指标值之间的差异,通过所述强化学习模型的损失函数得到所述强化学习模型的损失值,所述损失函数包括奖励函数,所述奖励函数用于反映业务性能。
13.如权利要求12所述的方法,其特征在于,所述奖励函数中的参数包括时延、吞吐量中的至少一个。
14.如权利要求9-13任一所述的方法,其特征在于,所述方法还包括:
在对所述第二网络设备中配置的ECN水线进行调整之前,所述第二网络设备接收所述第一网络设备发送的下一调整周期的业务性能指标预测值;
所述第二网络设备根据上一调整周期的业务性能指标值、所述当前调整周期的业务性能指标值和所述网络状态指标值,对所述第二网络设备中配置的显式拥塞通知ECN水线进行调整,包括:
所述第二网络设备根据所述上一调整周期的业务性能指标值、所述当前调整周期的业务性能指标值、所述下一调整周期的业务性能指标值和所述网络状态指标值,对所述第二网络设备中配置的ECN水线进行调整。
15.一种网络拥塞调整的装置,其特征在于,应用于第一网络设备,所述装置包括:
第一获取模块,用于获取所述第一网络设备的第一网络状态指标值;
第二获取模块,用于获取N个局部拓扑信息和N个第二网络状态指标值,N个第二网络设备分别一一对应于所述N个局部拓扑信息和所述N个第二网络状态指标值,N为正整数;
第一确定模块,用于根据所述N个局部拓扑信息,确定全局拓扑信息;
第二确定模块,用于根据所述第一网络状态指标值、所述全局拓扑信息和所述N个第二网络状态指标值,确定当前调整周期的业务性能指标值;
调整模块,用于根据上一调整周期的业务性能指标值、所述当前调整周期的业务性能指标值和所述第一网络状态指标值,对所述第一网络设备中配置的显式拥塞通知ECN水线进行调整;
其中,所述网络状态指标值是相应网络设备在运行业务时产生的与网络拥塞相关的参数,所述业务性能指标值是用于反映所述第一网络设备和所述N个第二网络设备正在运行的业务的传输性能的参数。
16.如权利要求15所述的装置,其特征在于,所述装置还包括:
发送模块,用于将所述当前调整周期的业务性能指标值发送给所述N个第二网络设备中的任意多个。
17.如权利要求15所述的装置,其特征在于,所述第二确定模块用于:
根据所述全局拓扑信息,对所述N个第二网络状态指标值和所述第一网络状态指标值进行统计分析,得到所述当前调整周期的业务性能指标值。
18.如权利要求15所述的装置,其特征在于,所述调整模块用于:
根据所述上一调整周期的业务性能指标值与所述当前调整周期的业务性能指标值之间的差异,确定强化学习模型的损失值,所述强化学习模型用于输出ECN水线调整策略;
根据所述强化学习模型的损失值,调整所述强化学习模型中的参数;
将所述当前调整周期的业务性能指标值和所述第一网络状态指标值,输入参数调整完成后的所述强化学习模型,获得ECN水线调整策略;
按照所述ECN水线调整策略对所述第一网络设备中配置的ECN水线进行调整。
19.如权利要求18所述的装置,其特征在于,所述调整模块用于:
根据所述上一调整周期的业务性能指标值与所述当前调整周期的业务性能指标值之间的差异,通过所述强化学习模型的损失函数得到所述强化学习模型的损失值,所述损失函数包括奖励函数,所述奖励函数用于反映业务性能。
20.如权利要求19所述的装置,其特征在于,所述奖励函数中的参数包括时延、吞吐量中的至少一个。
21.如权利要求15-20任一所述的装置,其特征在于,所述装置还包括:
第三确定模块,用于对所述第一网络设备中配置的ECN水线进行调整之前,根据所述当前调整周期的业务性能指标值和所述当前调整周期之前的历史业务性能指标值,确定下一调整周期的业务性能指标预测值;
所述调整模块用于:
根据所述上一调整周期的业务性能指标值、所述当前调整周期的业务性能指标值、所述下一调整周期的业务性能指标预测值和所述第一网络状态指标值,对所述第一网络设备中配置的ECN水线进行调整。
22.如权利要求21所述的装置,其特征在于,所述第三确定模块用于:
所述第一网络设备对所述历史业务性能指标值和所述当前调整周期的业务性能指标值进行回归分析,得到所述下一调整周期的业务性能指标预测值。
23.一种网络拥塞调整的装置,其特征在于,应用于第二网络设备,所述装置包括:
获取模块,用于获取所述第二网络设备的网络状态指标值;
第一接收模块,用于接收第一网络设备发送的当前调整周期的业务性能指标值;
调整模块,用于根据上一调整周期的业务性能指标值、所述当前调整周期的业务性能指标值和所述网络状态指标值,对所述第二网络设备中配置的显式拥塞通知ECN水线进行调整;
其中,所述网络状态指标值是所述第二网络设备在运行业务时产生的与网络拥塞相关的参数,所述业务性能指标值是用于反映所述第一网络设备和所述第二网络设备正在运行的业务的传输性能的参数。
24.如权利要求23所述的装置,其特征在于,所述装置还包括:
发送模块,用于将所述第二网络设备的局部拓扑信息和所述第二网络设备的网络状态指标值发送给所述第一网络设备。
25.如权利要求23所述的装置,其特征在于,所述调整模块用于:
根据所述上一调整周期的业务性能指标值与所述当前调整周期的业务性能指标值之间的差异,确定强化学习模型的损失值,所述强化学习模型用于输出ECN水线调整策略;
根据所述强化学习模型的损失值,调整所述强化学习模型中的参数;
将所述当前调整周期的业务性能指标值和所述网络状态指标值,输入参数调整完成后的所述强化学习模型,获得ECN水线调整策略;
按照所述ECN水线调整策略对所述第二网络设备中配置的ECN水线进行调整。
26.如权利要求25所述的装置,其特征在于,所述调整模块用于:
根据所述上一调整周期的业务性能指标值与所述当前调整周期的业务性能指标值之间的差异,通过所述强化学习模型的损失函数得到所述强化学习模型的损失值,所述损失函数包括奖励函数,所述奖励函数用于反映业务性能。
27.如权利要求26所述的装置,其特征在于,所述奖励函数中的参数包括时延、吞吐量中的至少一个。
28.如权利要求23-27任一所述的装置,其特征在于,所述装置还包括:
第二接收模块,用于在对所述第二网络设备中配置的ECN水线进行调整之前,接收所述第一网络设备发送的下一调整周期的业务性能指标预测值;
所述调整模块用于:
根据所述上一调整周期的业务性能指标值、所述当前调整周期的业务性能指标值、所述下一调整周期的业务性能指标值和所述网络状态指标值,对所述第二网络设备中配置的ECN水线进行调整。
29.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如权利要求1-8任意一项所述的方法。
30.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如权利要求9-14任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010127305.4A CN113328953B (zh) | 2020-02-28 | 2020-02-28 | 网络拥塞调整的方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010127305.4A CN113328953B (zh) | 2020-02-28 | 2020-02-28 | 网络拥塞调整的方法、装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113328953A CN113328953A (zh) | 2021-08-31 |
CN113328953B true CN113328953B (zh) | 2023-02-28 |
Family
ID=77412526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010127305.4A Active CN113328953B (zh) | 2020-02-28 | 2020-02-28 | 网络拥塞调整的方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113328953B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114095364B (zh) * | 2021-11-29 | 2024-02-27 | 新华三大数据技术有限公司 | 网络拥塞控制方法及装置 |
CN114900441B (zh) * | 2022-04-29 | 2024-04-26 | 华为技术有限公司 | 网络性能预测方法,性能预测模型训练方法及相关装置 |
CN115102905B (zh) * | 2022-06-28 | 2024-08-23 | 新华三人工智能科技有限公司 | 一种ecn水线调整方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106488303A (zh) * | 2016-12-01 | 2017-03-08 | 金华职业技术学院 | 一种基于软件定义的视频直播网络传输性能优化方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9553813B2 (en) * | 2014-07-23 | 2017-01-24 | Cisco Technology, Inc. | Selectively employing dynamic traffic shaping |
US9716664B2 (en) * | 2014-12-03 | 2017-07-25 | Cisco Technology, Inc. | Tracking queuing delay and performing related congestion control in information centric networking |
US11159428B2 (en) * | 2018-06-12 | 2021-10-26 | Verizon Patent And Licensing Inc. | Communication of congestion information to end devices |
-
2020
- 2020-02-28 CN CN202010127305.4A patent/CN113328953B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106488303A (zh) * | 2016-12-01 | 2017-03-08 | 金华职业技术学院 | 一种基于软件定义的视频直播网络传输性能优化方法及系统 |
Non-Patent Citations (1)
Title |
---|
SDN based ECN Adaptation Scheme for Improving Data Center Long Flow Throughput;Sijo Joy等;《IEEE ICC 2015 - Workshop on Smart Communication Protocols and Algorithms》;20150914;第1545-1550页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113328953A (zh) | 2021-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113328953B (zh) | 网络拥塞调整的方法、装置和存储介质 | |
CN112511325B (zh) | 网络拥塞控制方法、节点、系统及存储介质 | |
Chen et al. | Reinforcement learning–based QoS/QoE‐aware service function chaining in software‐driven 5G slices | |
CN109104373B (zh) | 网络拥塞的处理方法、装置及系统 | |
JP7451689B2 (ja) | ネットワーク輻輳処理方法、モデル更新方法、および関連装置 | |
CN107404530B (zh) | 基于用户兴趣相似度的社交网络协作缓存方法及装置 | |
CN112887217B (zh) | 控制数据包发送方法、模型训练方法、装置及系统 | |
Chuang et al. | Flow-aware routing and forwarding for SDN scalability in wireless data centers | |
CN116963182A (zh) | 时延最优任务卸载方法、装置、电子设备和存储介质 | |
Abbasi et al. | An intelligent method for reducing the overhead of analysing big data flows in Openflow switch | |
CN117439655B (zh) | 一种空间太赫兹信息中心网络轻量级缓存方法及装置 | |
CN117081983B (zh) | 数据传输方法及装置 | |
WO2022166348A1 (zh) | 路由方法、路由装置、控制器和计算机可读存储介质 | |
CN114938334A (zh) | 网络管理方法、装置、设备及计算机可读存储介质 | |
CN117938750B (zh) | 调度路由信息的处理方法、装置、设备、存储介质及产品 | |
CN117579543B (zh) | 一种数据流分割方法、装置、设备和计算机可读存储介质 | |
CN111432447A (zh) | 消息传输方法、系统、终端设备及存储介质 | |
CN114900441B (zh) | 网络性能预测方法,性能预测模型训练方法及相关装置 | |
US20170331716A1 (en) | Active probing for troubleshooting links and devices | |
WO2024125490A1 (zh) | 无线算力调度方法、装置、网络功能及存储介质 | |
US20240163219A1 (en) | System and method for data transfer and request handling among a plurality of resources | |
US20230394373A1 (en) | Method, apparatus, and system for determining collection period, device, and storage medium | |
He et al. | Critical Flow Rerouting Based on Policy Gradient algorithm | |
Ghosh | Building more performant large scale networks for the Internet of Things | |
CN116962191A (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 |