CN116436863A - 报文调度方法、网络设备、存储介质及计算机程序产品 - Google Patents
报文调度方法、网络设备、存储介质及计算机程序产品 Download PDFInfo
- Publication number
- CN116436863A CN116436863A CN202210005978.1A CN202210005978A CN116436863A CN 116436863 A CN116436863 A CN 116436863A CN 202210005978 A CN202210005978 A CN 202210005978A CN 116436863 A CN116436863 A CN 116436863A
- Authority
- CN
- China
- Prior art keywords
- time
- message
- local
- deadline
- accumulated
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 91
- 238000004590 computer program Methods 0.000 title claims abstract description 26
- 238000011144 upstream manufacturing Methods 0.000 claims abstract description 33
- 230000001186 cumulative effect Effects 0.000 claims description 85
- 230000005540 biological transmission Effects 0.000 claims description 46
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 239000000872 buffer Substances 0.000 description 13
- 238000010586 diagram Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000011895 specific detection Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
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/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- 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)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种报文调度方法、网络设备、存储介质及计算机程序产品。其中,报文调度方法包括:获取本地截止时间;获取累计截止时间和累计驻留时间;根据本地截止时间、累计截止时间和累计驻留时间,计算得到截止时间调整值;根据截止时间调整值调整报文的发送时间。本发明实施例的方案,并不限定必须达到本地截止时间才发送报文,而是根据由本地截止时间、累计截止时间和累计驻留时间计算得到的截止时间调整值调整报文的发送时间,所以,即使某些上游节点由于延迟发送报文或者提前发送报文而导致出现较大的时延抖动,本地节点也能够通过截止时间调整值对报文的发送时间进行调整而减小时延抖动,从而符合具有更严格的抖动要求的业务需求。
Description
技术领域
本发明实施例涉及但不限于网络技术领域,尤其涉及一种报文调度方法、网络设备、存储介质及计算机程序产品。
背景技术
RFC8655描述了确定性网络的架构,其中定义了确定性转发的QoS(Quality ofService,服务质量)目标包括:从源节点到目的节点的最小时延和最大时延、有界的时延抖动、允许的报文丢失率、无序报文传递的上界。为了达到这些QoS目标,一般会在传输报文之前计算好确定性路径,其中,确定性路径是一条依赖集中式控制器计算得到的严格显式路径,在该路径沿途的节点上预留资源,从而满足确定性业务的SLA(Service LevelAgreement,服务等级协定)需求。
相关技术中,控制器会限定确定性路径中每个节点的本地截止时间,要求每个节点在达到其本地截止时间时把报文发送出去。但是,如果某些节点由于各种原因导致延迟发送报文,则会导致报文在到达目的节点时存在较大的时延抖动,不符合具有更严格的抖动要求的业务需求。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本发明实施例提供了一种报文调度方法、网络设备、存储介质及计算机程序产品,能够减小时延抖动,从而符合具有更严格的抖动要求的业务需求。
第一方面,本发明实施例提供了一种报文调度方法,包括:
获取本地截止时间,其中,所述本地截止时间用于表征报文在本地节点内的最大允许驻留时长;
获取累计截止时间和累计驻留时间,其中,所述累计截止时间用于表征所述报文所经历过的所有上游节点的所述本地截止时间之和,所述累计驻留时间用于表征所述报文所经历过的所有所述上游节点的驻留时间之和;
根据所述本地截止时间、所述累计截止时间和所述累计驻留时间,计算得到截止时间调整值;
根据所述截止时间调整值调整所述报文的发送时间。
第二方面,本发明实施例提供了一种报文调度方法,包括:
获取本地截止时间,其中,所述本地截止时间用于表征报文在本地节点内的最大允许驻留时长;
获取累计时延误差,其中,所述累计时延误差用于表征所述报文所经历过的所有上游节点的所述本地截止时间之和与所述报文所经历过的所有所述上游节点的驻留时间之和的差值;
根据所述本地截止时间和所述累计时延误差,计算得到截止时间调整值;
根据所述截止时间调整值调整所述报文的发送时间。
第三方面,本发明实施例还提供了一种网络设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上第一方面所述的报文调度方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行如上所述的报文调度方法。
第五方面,本发明实施例还提供了一种计算机程序产品,包括计算机程序或计算机指令,所述计算机程序或所述计算机指令存储在计算机可读存储介质中,计算机设备的处理器从所述计算机可读存储介质读取所述计算机程序或所述计算机指令,所述处理器执行所述计算机程序或所述计算机指令,使得所述计算机设备执行如上第一方面所述的报文调度方法。
本发明实施例包括:获取本地截止时间、累计截止时间和累计驻留时间,其中,本地截止时间用于表征报文在本地节点内的最大允许驻留时长,累计截止时间用于表征报文所经历过的所有上游节点的本地截止时间之和,累计驻留时间用于表征报文所经历过的所有上游节点的驻留时间之和,因此,可以根据本地截止时间、累计截止时间和累计驻留时间计算得到截止时间调整值,然后根据截止时间调整值调整报文的发送时间,也就是说,本发明实施例并不限定必须达到本地截止时间才发送报文,而是根据由本地截止时间、累计截止时间和累计驻留时间计算得到的截止时间调整值调整报文的发送时间,所以,即使某些上游节点由于延迟发送报文或者提前发送报文而导致出现较大的时延抖动,本地节点也能够通过截止时间调整值对报文的发送时间进行调整而减小时延抖动,从而符合具有更严格的抖动要求的业务需求。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1是本发明一个实施例提供的用于执行报文调度方法的网络拓扑的示意图;
图2是本发明一个具体示例提供的Deadline队列的示意图;
图3是本发明一个实施例提供的报文调度方法的流程图;
图4是图3中步骤S130的一种具体方法流程图;
图5是图3中步骤S140的一种具体方法流程图;
图6是本发明一个具体示例提供的确定目标转发队列的示意图;
图7是本发明另一实施例提供的报文调度方法的流程图;
图8是本发明一个具体示例提供的用于执行报文调度方法的网络拓扑的示意图;
图9是本发明另一具体示例提供的用于执行报文调度方法的网络拓扑的示意图;
图10是本发明一个实施例提供的网络设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本发明提供了一种报文调度方法、网络设备、存储介质及计算机程序产品,通过先获取本地截止时间、累计截止时间和累计驻留时间,其中,本地截止时间用于表征报文在本地节点内的最大允许驻留时长,累计截止时间用于表征报文所经历过的所有上游节点的本地截止时间之和,累计驻留时间用于表征报文所经历过的所有上游节点的驻留时间之和,然后根据本地截止时间、累计截止时间和累计驻留时间计算得到截止时间调整值,接着根据截止时间调整值调整报文的发送时间。本发明实施例提供的技术方案并不限定必须达到本地截止时间才发送报文,而是根据由本地截止时间、累计截止时间和累计驻留时间计算得到的截止时间调整值调整报文的发送时间,所以,即使某些上游节点由于延迟发送报文或者提前发送报文而导致出现较大的时延抖动,本地节点也能够通过截止时间调整值对报文的发送时间进行调整而减小时延抖动,从而符合具有更严格的抖动要求的业务需求。
下面结合附图,对本发明实施例作进一步阐述。
如图1所示,图1是本发明一个实施例提供的用于执行报文调度方法的网络拓扑的示意图。在图1的示例中,该网络拓扑包括第一节点110、第二节点120和第三节点130。其中,第一节点110和第三节点130之间可以建立一条途径第二节点120的确定性时延路径。第一节点110、第二节点120和第三节点130均可以是路由器或者交换机等网络设备,能够对报文进行转发。
在该网络拓扑中,任何一个节点均能够先获取本地截止时间、累计截止时间和累计驻留时间,然后根据本地截止时间、累计截止时间和累计驻留时间计算得到截止时间调整值,接着根据截止时间调整值调整报文的发送时间,其中,本地截止时间用于表征报文在本地节点内的最大允许驻留时长,累计截止时间用于表征报文所经历过的所有上游节点的本地截止时间之和,累计驻留时间用于表征报文所经历过的所有上游节点的驻留时间之和。
此外,在该网络拓扑中,任何一个节点均维护有针对某些特定出端口的具有倒计时间(或称剩余时间)的转发队列(或称为Deadline队列),该Deadline队列的数量可以为1个或多个,可以根据实际应用情况进行适当的设置。该Deadline队列具有如下几点特征:
(1)每个Deadline队列的倒计时间会随着时间的推移而递减,当倒计时间递减到0时,对应的Deadline队列的调度优先级会被设置为最高,从而立即获得调度报文的机会,并禁止缓存新的报文,该Deadline队列中已缓存的报文会被立即从出端口往外发送。其中,允许Deadline队列发送报文的最长持续时间为预设的授权发送时间,Deadline队列会在该授权发送时间内将队列中缓存的所有报文发送完毕。如果队列内的报文发送完毕后授权发送时间还有空闲,则可以在该空闲的授权发送时间内继续调度其它的次高优先级的队列中的报文。
(2)节点内可以设置一个循环定时器对所有的Deadline队列的倒计时间进行递减操作,即,每当循环定时器超时时,所有Deadline队列的倒计时间都会被减去循环定时器的循环时间间隔。例如,假设循环定时器的循环时间间隔为1us,那么每当循环定时器超时时,所有Deadline队列的倒计时间都会被减去1us。
(3)对于倒计时间已经递减到0的Deadline队列,在经过新一轮的循环定时器超时(即经过循环定时器的循环时间间隔)后,其倒计时间会恢复为预设的初始值,并允许该Deadline队列重新缓存新的报文,使得该Deadline队列进入下一轮的随着时间推移而递减倒计时间的操作。
(4)对于倒计时间未递减到0的Deadline队列,允许其缓存报文。例如,当节点接收到或产生待从特定出端口转发的报文时,节点可以先获取本地截止时间、累计截止时间和累计驻留时间,其中,本地截止时间用于表征报文在本地节点内的最大允许驻留时长,累计截止时间用于表征报文所经历过的所有上游节点的本地截止时间之和,累计驻留时间用于表征报文所经历过的所有上游节点的驻留时间之和,然后,根据本地截止时间、累计截止时间和累计驻留时间计算得到截止时间调整值,接着,将报文缓存到当前倒计时间为该截止时间调整值(或称为允许排队时延值)的Deadline队列中,等待发送该报文。
(5)对于倒计时间未递减到0的Deadline队列,其调度优先级不会被设置为最高优先级,例如可以设置为某个中等优先级或最低优先级。此时,节点可配置相应的策略去控制缓存在该Deadline队列中的报文的发送,例如:
1、允许参与队列调度(或称为提前发送策略,适用于要求低时延的业务需求);
2、不允许参与队列调度(或称为到点发送策略,适用于要求低时延抖动的业务需求)。
(6)初始时,所有Deadline队列中,每个队列的初始倒计时间的初始值相互错开,也就是说,在任何时候都只会有一个Deadline队列的倒计时间递减到0。
参照图2所示,图2是一个具体示例提供的Deadline队列的示意图。在图2中,Deadline队列包括队列queue1至队列queue61,而其它队列则是传统的非Deadline队列。每个Deadline队列均有其倒计时间属性,预设的最大倒计时间为60us。参考图2,在初始时刻(即T0时刻),所有Deadline队列的初始倒计时间相互错开,例如,队列queue1的初始倒计时间为60us,队列queue2的初始倒计时间为59us,队列queue3的初始倒计时间为58us,等等。此时,仅队列queue61的初始倒计时间为0,即是说,此时的队列queue61具有最高的调度优先级。
假设节点内设置了一个循环时间间隔为1us的循环定时器,那么,当循环定时器每次超时后,都会将所有的Deadline队列的当前倒计时间减去循环定时器的循环时间间隔,如图2中,在T0+1us时刻,循环定时器超时,则队列queue1的当前倒计时间为59us,队列queue2的当前倒计时间为58us,队列queue3的当前倒计时间为57us,等等。此时,队列queue61的当前倒计时间恢复为最大倒计时间(即60us),并且,队列queue61的调度优先级不再为最高级,而队列queue60的当前倒计时间变为0,因此队列queue60具有最高的调度优先级。
需要说明的是,授权发送时间可以小于或者等于循环定时器的循环时间间隔,例如,假设授权发送时间等于循环定时器的循环时间间隔,那么,当某个Deadline队列的当前倒计时间变为0的那一刻起,其具有1us的时间额度用于发送缓存在队列中的报文,在此期间,会禁止该Deadline队列缓存新的报文,随着这1us的时间流逝后,循环定时器将再次超时,此时,另一个Deadline队列的当前倒计时间变为0,并且,该另一个Deadline队列也会在1us的时间额度内发送缓存在其中的报文。
本发明实施例描述的网络拓扑以及应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域技术人员可知,随着网络拓扑的演变和新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图1中示出的拓扑结构并不构成对本发明实施例的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
基于上述网络拓扑的结构,下面提出本发明的报文调度方法的各个实施例。
参照图3所示,图3是本发明一个实施例提供的报文调度方法的流程图,该报文调度方法可以应用于网络中的节点,例如图1所示网络拓扑中的第一节点110或第二节点120,该报文调度方法包括但不限于步骤S110、步骤S120、步骤S130和步骤S140。
步骤S110,获取本地截止时间。
需要说明的是,本地截止时间是一个相对时间,用于表征报文在本地节点内的最大允许驻留时长。
需要说明的是,当本地节点为报文传输路径的首节点时,本地截止时间可以包含在本地路由表项中,或者可以包含在本地策略表项中,因此,可以从本地路由表项中获取该本地截止时间,或者可以从本地策略表项中获取该本地截止时间。当本地节点为报文传输路径的中间节点时,本地截止时间可以携带在报文中,或者可以包含在本地路由表项中,或者可以包含在本地策略表项中,因此,可以从接收到的报文中获取该本地截止时间,或者可以从本地路由表项中获取该本地截止时间,或者可以从本地策略表项中获取该本地截止时间。
在一实施例中,当本地截止时间携带在报文中时,报文传输路径中的首节点可以在封装确定性业务流时,根据业务SLA需求显式地在封装的报文中插入本地截止时间,当报文传输路径中的中间节点接收到该报文后,中间节点可以从该报文中直接获取该本地截止时间。在一些可行的实施方式中,报文中可以携带单个本地截止时间,并且该单个本地截止时间适用于报文传输路径中的所有节点,也就是说,报文传输路径中的所有节点都可以将报文中携带的该单个本地截止时间作为其本地截止时间。在另一些可行的实施方式中,报文中可以携带由多个本地截止时间组成的栈,这些本地截止时间与报文传输路径中的各个节点对应,例如,假设报文传输路径包括3个节点,其中1个首节点、1个中间节点和1个目的节点,那么,由首节点发送的报文中可以携带由2个本地截止时间组成的栈,其中,第1个本地截止时间与中间节点对应,第2个本地截止时间与目的节点对应,当中间节点接收到报文后,中间节点可以将报文中的第1个本地截止时间作为其本地截止时间,当目的节点接收到报文后,目的节点可以将报文中的第2个本地截止时间作为其本地截止时间。
需要说明的是,本实施例并不限定在报文中的哪个字段或新增字段携带本地截止时间,可以根据实际应用情况而选择适当的字段或者新增字段以携带本地截止时间。例如,可以在IPv6报文的Hop-by-Hop扩展头中携带本地截止时间,或者可以在IPv6报文的SourceAddress字段中携带本地截止时间,或者可以在其他类型的报文的其他字段中携带本地截止时间。
在一实施例中,当本地截止时间包含在本地路由表项中时,报文传输路径中的各个节点均会维护该本地路由表项(例如确定性路由表项),当接收到报文并且命中该本地路由表项后,可以从该本地路由表项所包含的转发信息中获取本地截止时间。
在一实施例中,当本地截止时间包含在本地策略表项中时,报文传输路径中的各个节点均会配置有该本地策略表项,当接收到报文后,可以根据报文的特征信息从该本地策略表项中匹配出对应的本地截止时间。
步骤S120,获取累计截止时间和累计驻留时间。
需要说明的是,累计截止时间用于表征报文所经历过的所有上游节点的本地截止时间之和;累计驻留时间用于表征报文所经历过的所有上游节点的驻留时间之和,其中,每个上游节点的驻留时间是一个相对时间,可以根据发送报文的时刻与接收到报文或产生报文的时刻的差值得到驻留时间。
需要说明的是,累计截止时间和累计驻留时间均为携带在报文中,因此,当本地节点为报文传输路径的首节点时,由于报文中还没有携带累计截止时间和累计驻留时间,因此获取到的累计截止时间和累计驻留时间均为0;当本地节点为报文传输路径的中间节点时,由于报文中已经携带有累计截止时间和累计驻留时间,因此可以直接从报文中获取累计截止时间和累计驻留时间。
需要说明的是,报文中可以包括用于携带累计截止时间的“累计截止时间”字段以及用于携带累计驻留时间“累计驻留时间”字段,因此,当报文每经过一个节点时,对应的节点都会将自身对应的本地截止时间累加到报文中的“累计截止时间”字段中,并且将报文在本地节点中的实际驻留时间累加到报文中的“累计驻留时间”字段中,以便于下游节点能够根据报文中的累计截止时间和累计驻留时间对报文的发送时间进行调整,达到减小时延抖动的目的。
需要说明的是,本实施例并不限定在报文中的哪个字段或新增字段携带累计截止时间和累计驻留时间,可以根据实际应用情况而选择适当的字段或者新增字段以携带累计截止时间和累计驻留时间。例如,可以在IPv6报文的Hop-by-Hop扩展头中携带累计截止时间和累计驻留时间,或者可以在IPv6报文的Source Address字段中携带累计截止时间和累计驻留时间,或者可以在其他类型的报文的其他字段中携带累计截止时间和累计驻留时间。
值得注意的是,相关技术中有涉及在报文中携带接收时间和发送时间的方案,例如,某个节点A在接收到报文后,该节点A会在报文中携带其接收到该报文时的接收时间以及对外发送该报文的发送时间,当节点B接收到该报文后,节点B可以根据报文中携带的接收时间和发送时间计算得到该报文在节点A内的驻留时间。但是,该方法需要消耗报文中的过多字节,并且该方法仅适用于特定的报文类型(例如特定的检测报文)以便于芯片处理,此外,该方法一般还需要节点间能够实现严格的时间同步。因此,相关技术中的该方法存在资源利用率不高的问题。而本实施例中,在报文中直接携带用于表征报文所经历过的所有上游节点的驻留时间之和的累计驻留时间,当节点接收到报文后,可以直接获取报文中携带的累计驻留时间,以便于后续步骤可以根据该累计驻留时间调整报文的发送时间。由于本实施例是在报文中直接携带累计驻留时间,因此不需要携带接收时间和发送时间,从而不会消耗报文中的过多字节,还可以适用于各种类型的报文(不会受到标准对报文的限制),提高资源的利用率;此外,由于累计驻留时间是一个相对时间,因此不需要节点间实现严格的时间同步,从而可以降低实现的复杂度。
以一个具体示例进行说明,假设节点A记录了其接收到某个报文的时刻T1与发送该报文的时刻T2,因此,用T2减去T1,即可得到该报文在节点A内的驻留时间;然后,节点A将该驻留时间累加到报文中的“累计驻留时间”字段中,并将该报文发给其它节点B;节点B根据报文中的“累计驻留时间”字段,即可直接获得该报文在包括节点A在内的所有上游节点的驻留时间之和,当节点B向节点C发送该报文时,节点B会先按照相同的方法计算该报文在节点B内的驻留时间,并将该驻留时间累加到报文中的“累计驻留时间”字段中,然后再向节点C发送该报文。
步骤S130,根据本地截止时间、累计截止时间和累计驻留时间,计算得到截止时间调整值。
本步骤中,由于在步骤S110中获取到了本地截止时间,并且在步骤S120中获取到了累计截止时间和累计驻留时间,因此可以根据本地截止时间、累计截止时间和累计驻留时间,计算得到截止时间调整值,以便于后续步骤可以根据该截止时间调整值调整报文的发送时间,达到减小时延抖动的目的。
需要说明的是,由于本地截止时间用于表征报文在本地节点内的最大允许驻留时长,累计截止时间用于表征报文所经历过的所有上游节点的本地截止时间之和,累计驻留时间用于表征报文所经历过的所有上游节点的驻留时间之和,因此,根据累计截止时间和累计驻留时间可以计算得到报文的累计时延误差,其中,累计时延误差可正可负,当累计时延误差为正值时,说明上游节点出现提前发送的情况,当累计时延误差为负值时,说明上游节点出现延迟发送的情况。接着,根据累计时延误差和本地截止时间,可以计算得到截止时间调整值,该截止时间调整值是一个相对时间,用于表征在符合时延抖动要求下的报文在本地节点内的实际允许驻留时长,因此,当后续步骤根据该截止时间调整值调整报文的发送时间,可以减小时延抖动,从而可以符合具有更严格的抖动要求的业务需求。
步骤S140,根据截止时间调整值调整报文的发送时间。
本步骤中,由于在步骤S130计算得到了截止时间调整值,因此可以根据截止时间调整值调整报文的发送时间,从而能够减小时延抖动,进而能够符合具有更严格的抖动要求的业务需求。
本实施例中,通过采用包括上述步骤S110、步骤S120、步骤S130和步骤S140的报文调度方法,先获取本地截止时间、累计截止时间和累计驻留时间,其中,本地截止时间用于表征报文在本地节点内的最大允许驻留时长,累计截止时间用于表征报文所经历过的所有上游节点的本地截止时间之和,累计驻留时间用于表征报文所经历过的所有上游节点的驻留时间之和,然后根据本地截止时间、累计截止时间和累计驻留时间计算得到截止时间调整值,接着根据截止时间调整值调整报文的发送时间,因此,本实施例并不限定必须达到本地截止时间才发送报文,而是根据由本地截止时间、累计截止时间和累计驻留时间计算得到的截止时间调整值调整报文的发送时间,所以,即使某些上游节点由于延迟发送报文或者提前发送报文而导致出现较大的时延抖动,本地节点也能够通过截止时间调整值对报文的发送时间进行调整而减小时延抖动,消除了相关技术中所存在的端到端时延抖动的累积效应,从而能够符合具有更严格的抖动要求的业务需求。
参照图4所示,本发明的一个实施例,对步骤S130进行进一步的说明,步骤S130可以包括但不限于以下步骤:
步骤S131,获取转发时延;
步骤S132,将本地截止时间与累计截止时间的和减去累计驻留时间与转发时延,得到截止时间调整值。
需要说明的是,报文在沿确定性路径转发时,报文在节点内的转发过程主要包括两部分:第一部分是从入端口接收报文(或由控制平面产生报文),然后查询转发表项,接着根据查询表项将报文投递到对应的出端口所在的线卡;第二部分是将报文缓存到出端口对应的转发队列中以等待传输。由此可知,这两部分过程都会产生报文驻留在节点内的驻留时间,其中,第一部分过程所产生的时延可称为转发时延,第二部分过程所产生的时延可称为排队时延(或队列时延),也就是说,报文在节点内的驻留时间等于转发时延与排队时延之和,其中,转发时延与芯片实现相关,其值一般是恒定的,而排队时延则由转发队列的具体设置方式而确定。因此,在本实施例中,当需要计算截止时间调整值时,可以获取转发时延,然后将本地截止时间与累计截止时间的和减去累计驻留时间与转发时延得到截止时间调整值,也就是说,可以先将累计截止时间减去累计驻留时间得到报文的累计时延误差,然后将累计时延误差与本地截止时间进行相加得到本地时延调整值,接着,在本地时延调整值的基础上,扣除掉报文在本节点内的转发时延后,即可得到截止时间调整值。需要说明的是,截止时间调整值与排队时延相对应,因此后续步骤可以选择数值等于截止时间调整值的排队时延所对应的Deadline队列,并将报文缓存到该Deadline队列中等待发送。
以一个具体示例进行说明,假设本节点i为一条确定性路径中的节点,节点i的所有上游节点包括节点1至节点i-1,下游节点为节点i+1,节点的本地截止时间为D,报文在节点内的驻留时间为R,节点的本地时延调整值为M,节点的转发时延为P,累计时延误差为E,截止时间调整值为Q,则报文在本节点i上的截止时间调整值Qi的计算过程如下:
(1)从节点1至节点i-1的累计时延误差E为:
(2)节点i的本地时延调整值Mi为:
Mi=Di+E (b)
其中,Di表示节点i的本地截止时间。
(3)节点i的截止时间调整值Qi为:
Qi=Mi-Pi (c)
其中,Pi表示报文在节点i内的转发时延。
也就是说,通过上述公式(a)至公式(c),可以计算得到本地节点的截止时间调整值,因此后续步骤可以选择数值等于截止时间调整值的排队时延所对应的Deadline队列,并将报文缓存到该Deadline队列中等待发送。
需要说明的是,在一般情况下,如果报文传输路径中的每一跳都严格按照其本地截止时间D去控制报文的调度,使得报文在节点内的驻留时间R与本地截止时间D非常接近,那么,累计时延误差E的绝对值会非常小。另外,在一些情况下,假设节点1至节点i-1都采取提前发送策略以快速的发送报文,那么报文在这些节点内几乎不用排队等待,因此,报文在节点内的驻留时间R主要取决于转发时延P,所以,约等于/>此时,节点i的截止时间调整值Qi为/>
参照图5所示,本发明的一个实施例,对步骤S140进行进一步的说明,步骤S140可以包括但不限于以下步骤:
步骤S141,根据截止时间调整值从多个转发队列中确定目标转发队列;
步骤S142,将报文缓存至目标转发队列以调整报文的发送时间。
需要说明的是,步骤S141中的转发队列为上述实施例中的Deadline队列,不同的转发队列对应有不同的发送报文的时间(即Deadline队列所对应的倒计时间为0时的时刻)。
本实施例中,节点内可以设置有多个转发队列(即Deadline队列),因此,当执行步骤S130得到截止时间调整值之后,可以根据截止时间调整值从多个转发队列中确定目标转发队列,然后将报文缓存至目标转发队列以调整报文的发送时间,从而可以减小时延抖动,消除相关技术中所存在的端到端时延抖动的累积效应,符合具有更严格的抖动要求的业务需求。
另外,本发明的一个实施例,对步骤S141进行进一步的说明,在不同的转发队列对应有不同的当前倒计时间,并且当前倒计时间为0时所对应的时刻为发送报文的时刻的情况下,步骤S141可以包括但不限于以下步骤:
在多个转发队列中,将当前倒计时间等于截止时间调整值的转发队列确定为目标转发队列。
需要说明的是,本实施例中的转发队列,都为上述实施例中所述的Deadline队列,而当Deadline队列的当前倒计时间为0时,该Deadline队列会在预设的授权发送时间内发送其所缓存的报文,因此,在执行了步骤S130而计算得到截止时间调整值之后,为了能够根据截止时间调整值而调整报文的发送时间,消除相关技术中所存在的端到端时延抖动的累积效应以减小时延抖动,因此可以将当前倒计时间等于截止时间调整值的转发队列确定为目标转发队列,以便于后续步骤可以将报文缓存至该目标转发队列以调整报文的发送时间。
另外,本发明的一个实施例,对步骤S141进行进一步的说明,在多个转发队列对应有相同的最大倒计时间,不同的转发队列对应有不同的当前倒计时间,并且当前倒计时间为0时所对应的时刻为发送报文的时刻的情况下,步骤S141可以包括但不限于以下步骤:
当截止时间调整值大于最大倒计时间,在多个转发队列中,将当前倒计时间等于最大倒计时间的转发队列确定为目标转发队列。
需要说明的是,当截止时间调整值大于最大倒计时间,会导致没有转发队列能够对报文进行缓存以等待发送,随着时间的推移,会导致该报文的传输时延以及时延抖动都变大,从而无法满足确定性业务的SLA需求,更有甚者,可能会导致该报文无法发送出去,从而导致业务中断,影响用户的正常使用。为了避免这些问题,本实施例中,当截止时间调整值大于最大倒计时间时,会在这些转发队列中,将当前倒计时间等于最大倒计时间的转发队列确定为目标转发队列,使得后续步骤能够将报文缓存至该目标转发队列以等待发送,不仅能够避免导致报文的传输时延以及时延抖动变大,还能够避免导致报文无法发送出去而使得业务中断。
另外,本发明的一个实施例,对步骤S141进行进一步的说明,在不同的转发队列对应有不同的当前倒计时间,并且当前倒计时间为0时所对应的时刻为发送报文的时刻的情况下,步骤S141可以包括但不限于以下步骤:
当截止时间调整值小于或等于0,在多个转发队列中,将数值为非0的并且数值最小的当前倒计时间所对应的转发队列确定为目标转发队列。
需要说明的是,当截止时间调整值小于或等于0时,在多个转发队列中,将数值为非0的并且数值最小的当前倒计时间所对应的转发队列确定为目标转发队列,具体是指,将最接近授权发送时间的当前倒计时间所对应的转发队列确定为目标转发队列,其中,授权发送时间为允许发送报文的最长持续时间。对于授权发送时间的具体说明,可以参考上述实施例中的相关说明,此处不再赘述。
需要说明的是,假设某个节点出现异常,并没有严格的根据本地截止时间去控制报文的调度,从而导致出现了非常大的驻留时间,那么截止时间调整值将会小于或等于0,在这种情况下,截止时间调整值会比节点内部维护的循环定时器的循环时间间隔还小,此时,会导致没有转发队列能够对报文进行缓存以等待发送,随着时间的推移,会导致该报文的传输时延以及时延抖动都变大,从而无法满足确定性业务的SLA需求,更有甚者,可能会导致该报文无法发送出去,从而导致业务中断,影响用户的正常使用。为了避免这些问题,本实施例中,当截止时间调整值小于或等于0时,会在这些转发队列中,将当前倒计时间最接近授权发送时间的转发队列确定为目标转发队列,使得后续步骤能够将报文缓存至该目标转发队列以等待发送,不仅能够避免导致报文的传输时延以及时延抖动变大,还能够避免导致报文无法发送出去而使得业务中断。
另外,当截止时间调整值小于或等于0时,说明应该尽快把报文发送出去,因此,将当前倒计时间最接近授权发送时间的转发队列确定为目标转发队列,能够使得目标转发队列可以尽快发送报文,从而避免进一步增大传输时延以及时延抖动。
下面以一个具体示例对目标转发队列的确定过程进行具体的说明。
参照图6所示,图6是一个具体示例提供的确定目标转发队列的示意图。在图6中,假设节点从三个入端口陆续接收到6个报文,其中,报文1、报文2、报文3和报文5携带有相应的本地截止时间、累计截止时间和累计驻留时间,而报文4和报文6则为普通报文。这些报文按照本地转发表项均需向同一个出端口进行转发,假设这些报文在经过节点内的转发时延(例如5us)之后,几乎在同一时刻到达出端口所在的线卡,此时,该出端口的队列状态如图6所示,则:
报文1在节点内的截止时间调整值为30+90-87-5=28us,因此报文1将被缓存到Deadline队列中的队列queue33(其当前倒计时间为28us);
报文2在节点内的截止时间调整值为20+60-54-5=21us,因此报文2将被缓存到Deadline队列中的队列queue40(其当前倒计时间为21us);
报文3在节点内的截止时间调整值为30+30-60-5=-5us,因此该截止时间调整值会被修改为循环定时器的循环时间间隔(例如1us),因此报文3将被缓存到Deadline队列中的队列queue60(其当前倒计时间为1us),使得报文3能够被尽快发送;
报文5在节点内的截止时间调整值为30+90-30-5=85us,因此该截止时间调整值会被修改为预设的最大倒计时间(例如60us),因此报文5将被缓存到Deadline队列中的队列queue1(其当前倒计时间为60us);
报文4和报文6会按照传统的方式被缓存到非Deadline队列中。
参照图7所示,本发明的一个实施例,对该报文调度方法进行进一步的说明,该报文调度方法还可以包括但不限于以下步骤:
步骤S150,获取报文在本地节点的驻留时间;
步骤S160,根据本地截止时间和累计截止时间得到新的累计截止时间;
步骤S170,根据累计驻留时间和报文在本地节点的驻留时间得到新的累计驻留时间;
步骤S180,将新的累计截止时间和新的累计驻留时间填充至报文,或者,将本地截止时间、新的累计截止时间和新的累计驻留时间封装至报文。
本实施例中,在通过目标转发队列对报文进行发送之前,可以先获取报文在本地节点的驻留时间,然后根据本地截止时间和累计截止时间得到新的累计截止时间,并且根据累计驻留时间和报文在本地节点的驻留时间得到新的累计驻留时间,接着将新的累计截止时间和新的累计驻留时间填充至报文,或者,将本地截止时间、新的累计截止时间和新的累计驻留时间封装至报文,使得报文被传输到下一个节点后,该下一个节点能够从该报文中获取累计截止时间和累计驻留时间,或者从该报文中获取本地截止时间、累计截止时间和累计驻留时间,以便于该下一个节点能够根据这些信息计算截止时间调整值,从而能够根据截止时间调整值调整报文的发送时间,减小时延抖动,消除相关技术中所存在的端到端时延抖动的累积效应,进而符合具有更严格的抖动要求的业务需求。
需要说明的是,如果报文传输路径中的每一个节点均在其维护的本地路由表项或者本地策略表项中保存本地截止时间,那么本地节点在封装报文时,将新的累计截止时间和新的累计驻留时间填充至报文即可。如果报文传输路径中的每一个节点均没有在其维护的本地路由表项或者本地策略表项中保存本地截止时间,那么本地节点在封装报文时,需要将本地截止时间、新的累计截止时间和新的累计驻留时间均封装至报文。
此外,本发明的另一个实施例还提供了一种报文调度方法,该报文调度方法与上述实施例中的报文调度方法的区别在于:本实施例是获取本地截止时间和累计时延误差,然后根据本地截止时间和累计时延误差计算得到截止时间调整值以调整报文的发送时间;上述实施例则是获取本地截止时间、累计截止时间和累计驻留时间,然后根据本地截止时间、累计截止时间和累计驻留时间计算得到截止时间调整值以调整报文的发送时间。本实施例的报文调度方法包括但不限于以下步骤:
获取本地截止时间,其中,本地截止时间用于表征报文在本地节点内的最大允许驻留时长;
获取累计时延误差,其中,累计时延误差用于表征报文所经历过的所有上游节点的本地截止时间之和与报文所经历过的所有上游节点的驻留时间之和的差值;
根据本地截止时间和累计时延误差,计算得到截止时间调整值;
根据截止时间调整值调整报文的发送时间。
在一实施例中,步骤“根据本地截止时间和累计时延误差,计算得到截止时间调整值”,具体可以包括但不限于以下步骤:
获取转发时延;
将本地截止时间与累计时延误差的和减去转发时延,得到截止时间调整值。
在一实施例中,步骤“根据截止时间调整值调整报文的发送时间”,具体可以包括但不限于以下步骤:
根据截止时间调整值从多个转发队列中确定目标转发队列,其中,不同的转发队列对应有不同的发送报文的时间;
将报文缓存至目标转发队列以调整报文的发送时间。
在一实施例中,在不同的转发队列对应有不同的当前倒计时间,并且当前倒计时间为0时所对应的时刻为发送报文的时刻的情况下,步骤“根据截止时间调整值从多个转发队列中确定目标转发队列”,具体可以包括但不限于以下步骤:
在多个转发队列中,将当前倒计时间等于截止时间调整值的转发队列确定为目标转发队列。
在一实施例中,在多个转发队列对应有相同的最大倒计时间,不同的转发队列对应有不同的当前倒计时间,并且当前倒计时间为0时所对应的时刻为发送报文的时刻的情况下,步骤“根据截止时间调整值从多个转发队列中确定目标转发队列”,具体可以包括但不限于以下步骤:
当截止时间调整值大于最大倒计时间,在多个转发队列中,将当前倒计时间等于最大倒计时间的转发队列确定为目标转发队列。
在一实施例中,在不同的转发队列对应有不同的当前倒计时间,并且当前倒计时间为0时所对应的时刻为发送报文的时刻的情况下,步骤“根据截止时间调整值从多个转发队列中确定目标转发队列”,具体可以包括但不限于以下步骤:
当截止时间调整值小于或等于0,在多个转发队列中,将数值为非0的并且数值最小的当前倒计时间所对应的转发队列确定为目标转发队列。
在一实施例中,该报文调度方法还包括:
获取报文在本地节点的驻留时间;
根据累计时延误差、本地截止时间和报文在本地节点的驻留时间,得到新的累计时延误差;
将新的累计时延误差填充至报文,或者,将本地截止时间和新的累计时延误差封装至报文。
在一实施例中,在本地节点为报文传输路径的中间节点的情况下,步骤“获取本地截止时间”,具体可以包括但不限于以下步骤:
从报文中获取本地截止时间;
或者,
从本地路由表项中获取本地截止时间;
或者,
从本地策略表项中获取本地截止时间。
在一实施例中,在本地节点为报文传输路径的中间节点的情况下,步骤“获取累计时延误差”,具体可以包括但不限于以下步骤:
从报文中获取累计时延误差。
需要说明的是,本实施例中的累计时延误差,可以通过将累计截止时间减去累计驻留时间而得到。在本实施例中,累计时延误差可以直接携带于报文中,因此,当中间节点接收到报文时,可以直接在报文中获取该累计时延误差;另外,当向下一个节点发送报文时,可以在报文中填充累计时延误差,使得下一个节点也能够在报文中直接获取累计时延误差,以便于下一个节点能够根据累计时延误差计算得到截止时间调整值以调整报文的发送时间。
需要说明的是,本实施例的报文调度方法(即可以在报文中直接携带累计时延误差的方法),与上述实施例的报文调度方法(即在报文中携带累计截止时间和累计驻留时间的方法),除了具有上述的区别点之外,还具有相同点,关于相同点的具体内容以及具体说明,可以参照上述实施例的报文调度方法(即在报文中携带累计截止时间和累计驻留时间的方法)中的相关说明,为了避免内容重复冗余,此处不再赘述。
为了更加清楚的说明报文调度方法的处理流程,下面以具体的示例进行说明。
示例一:
在如图8所示的网络拓扑中,包括有节点S、节点A、节点B、节点C、节点D和节点E,该网络拓扑中建立有一条基于Deadline队列调度的确定性时延路径,其中,该路径可以实例化为SR policy、SR tunnel或RSVP-TE tunnel,此处不作具体限定。该路径具体为S-A-C-E-D,其中,该路径具有确定性的时延为160us,该路径中沿途的各节点均采用本发明实施例提供的报文调度方法以提供确定性的时延目标。在图8的网络拓扑中,示出了每段链路的除节点外的时延参数,例如,节点S与节点A之间的链路的最小时延为20us。因此,在整个路径的总的时延要求(160us)中,其中的60us为累计的节点外的链路时延,其中的100us为累计的节点内的时延,其中,累计的节点内的时延由节点S、节点A、节点B、节点C、节点D和节点E平均分担,即报文在每个节点内的本地截止时间均为25us。
当节点S在封装报文并沿该确定性时延路径进行转发时,可以在报文中携带单个本地截止时间(数值为25us),用于该确定性时延路径中沿途的所有节点进行本发明实施例提供的报文调度方法。假设每个节点的转发时延均为5us,并且每个节点均采取“到点发送”的策略,那么,报文在整个路径中的传输过程为如下:
在初始T0时刻,节点S封装好报文,然后花费5us(即转发时延)将报文转发到出端口(link-S-A)所在的线卡,再将报文缓存到当前倒计时间为20us(本地截止时间减去转发时延)的Deadline队列中。经过20us之后,报文被调度,假设节点S在授权发送时间为1us的尾端从出端口(link-S-A)把报文发送出去,即需要额外花费1us才把报文发送出去,然后,经过链路传输时延20us之后,报文到达节点A。此时,报文中封装有数值为25us的累计截止时间以及数值为26us的累计驻留时间。
在T0+46us时刻,节点A收到报文,然后花费5us(即转发时延)将报文转发到出端口(link-A-C)所在的线卡,再将报文缓存到当前倒计时间为19us(即25us+25us-26us-5us=19us)的Deadline队列中。经过19us之后,报文被调度,假设节点A在授权发送时间为1us的头端从出端口(link-A-C)把报文发送出去,即不需要额外花费1us才把报文发送出去,然后,经过链路传输时延10us之后,报文到达节点C。此时,报文中封装有数值为50us的累计截止时间以及数值为50us的累计驻留时间。
在T0+80us时刻,节点C收到报文,然后花费5us(即转发时延)将报文转发到出端口(link-C-E)所在的线卡,再将报文缓存到当前倒计时间为20us(即25us+50us-50us-5us=20us)的Deadline队列中。经过20us之后,报文被调度,假设节点C在授权发送时间为1us的尾端从出端口(link-C-E)把报文发送出去,即需要额外花费1us才把报文发送出去,然后,经过链路传输时延10us之后,报文到达节点E。此时,报文中封装有数值为75us的累计截止时间以及数值为76us的累计驻留时间。
在T0+116us时刻,节点E收到报文,然后花费5us(即转发时延)将报文转发到出端口(link-E-D)所在的线卡,再将报文缓存到当前倒计时间为19us(即25us+70us-76us-5us=19us)的Deadline队列中。经过19us之后,报文被调度,假设节点E在授权发送时间为1us的尾端从出端口(link-E-D)把报文发送出去,即需要额外花费1us才把报文发送出去,然后,经过链路传输时延20us之后,报文到达节点D。此时,报文中封装有数值为100us的累计截止时间以及数值为101us的累计驻留时间。
在T0+161us时刻,节点D收到报文。
根据本示例可知,报文在转发时,每一个节点都能动态地调整其发送报文的时间,使得端到端抖动仅为授权发送时间(例如为循环定时器的循环时间间隔,本示例中为1us),提供了十分优异的去抖动能力。而值得注意的是,如果采用相关技术中的报文调度方法,端到端的抖动会为传输跳数乘以转发队列的授权发送时间,例如按照本示例中的路径S-A-C-E-D进行报文发送时,端到端的抖动会达到4us,因此,本示例中提供的报文调度方法能够更加有效地减小时延抖动,从而能够符合具有更严格的抖动要求的业务需求。
示例二:
在如图9所示的IGP(Interior Gateway Protocol,内部网关协议)网络中,包括有节点R1、节点R2、节点R3、节点R4和节点R5,其中,节点R1与节点R2连接,节点R2分别与节点R3和节点R4连接,节点R3和节点R4分别连接节点R5,每条链路均为双向链路,该IGP网络中的各个节点均采用本发明实施例提供的报文调度方法以提供确定性的时延目标。在图9的IGP网络中,示出了每段链路的除节点外的时延参数,例如,节点R1与节点R2之间的链路的最小时延为10us。此外,假设该IGP网络中的所有节点均配置有一致的报文调度参数,并且这些节点均具有一致的节点内时延与时延抖动属性,例如配置的节点内时延为30us,节点内时延抖动为0。
假设节点R5为目的节点,那么该IGP网络中的各节点将会各自创建至目的节点R5的确定性转发表项,其中,该确定性转发表项所包含的转发信息中,为报文提供的本地截止时间为30us。另外,由于时延抖动为0,则各节点均会采取“到点发送”的队列调度策略。相比于上述示例一,本示例是在路由表项中给出本地截止时间,因此无需在报文中携带本地截止时间,在报文只携带累计截止时间和累计驻留时间,使得下一个节点能够在接收到报文后,根据路由表项所给出的本地截止时间以及报文所携带的累计截止时间和累计驻留时间,计算得到截止时间调整值以调整报文的发送时间,减小时延抖动,消除相关技术中所存在的端到端时延抖动的累积效应,从而能够符合具有更严格的抖动要求的业务需求。此外,本示例中各节点在计算截止时间调整值以调整报文的发送时间时,与上述示例一中各节点在计算截止时间调整值的过程相类似,因此,本示例中各节点在计算截止时间调整值的过程,可以参考上述示例一中的相关内容描述,为了避免重复冗余,此处不再赘述。
另外,参照图10所示,本发明的一个实施例还提供了一种网络设备,该网络设备200包括存储器210、处理器220及存储在存储器210上并可在处理器220上运行的计算机程序。
处理器220和存储器210可以通过总线或者其他方式连接。
存储器210作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器210可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器210可选包括相对于处理器220远程设置的存储器,这些远程存储器可以通过网络连接至该处理器220。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
需要说明的是,本实施例中的网络设备200,可以应用为如图1所示实施例中的任一个节点,本实施例中的网络设备200能够构成图1所示实施例中的网络拓扑的一部分,这些实施例均属于相同的发明构思,因此这些实施例具有相同的实现原理以及技术效果,此处不再详述。
实现上述实施例的报文调度方法所需的非暂态软件程序以及指令存储在存储器210中,当被处理器220执行时,执行上述实施例中的报文调度方法,例如,执行以上描述的图3中的方法步骤S110至S140、图4中的方法步骤S131至S132、图5中的方法步骤S141至S142、图7中的方法步骤S150至S180。
以上所描述的设备实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
此外,本发明的一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个处理器或控制器执行,例如,被上述设备实施例中的一个处理器执行,可使得上述处理器执行上述实施例中的报文调度方法,例如,执行以上描述的图3中的方法步骤S110至S140、图4中的方法步骤S131至S132、图5中的方法步骤S141至S142、图7中的方法步骤S150至S180。
此外,本发明的一个实施例还提供了一种计算机程序产品,包括计算机程序或计算机指令,计算机程序或计算机指令存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取计算机程序或计算机指令,处理器执行计算机程序或计算机指令,使得计算机设备执行如前面任意实施例所述的报文调度方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本发明权利要求所限定的范围内。
Claims (16)
1.一种报文调度方法,包括:
获取本地截止时间,其中,所述本地截止时间用于表征报文在本地节点内的最大允许驻留时长;
获取累计截止时间和累计驻留时间,其中,所述累计截止时间用于表征所述报文所经历过的所有上游节点的所述本地截止时间之和,所述累计驻留时间用于表征所述报文所经历过的所有所述上游节点的驻留时间之和;
根据所述本地截止时间、所述累计截止时间和所述累计驻留时间,计算得到截止时间调整值;
根据所述截止时间调整值调整所述报文的发送时间。
2.根据权利要求1所述的报文调度方法,其特征在于,所述根据所述本地截止时间、所述累计截止时间和所述累计驻留时间,计算得到截止时间调整值,包括:
获取转发时延;
将所述本地截止时间与所述累计截止时间的和减去所述累计驻留时间与所述转发时延,得到截止时间调整值。
3.根据权利要求1所述的报文调度方法,其特征在于,所述根据所述截止时间调整值调整所述报文的发送时间,包括:
根据所述截止时间调整值从多个转发队列中确定目标转发队列,其中,不同的所述转发队列对应有不同的发送报文的时间;
将报文缓存至所述目标转发队列以调整所述报文的发送时间。
4.根据权利要求3所述的报文调度方法,其特征在于,不同的所述转发队列对应有不同的当前倒计时间,所述当前倒计时间为0时所对应的时刻为发送报文的时刻;
所述根据所述截止时间调整值从多个转发队列中确定目标转发队列,包括:
在所述多个转发队列中,将所述当前倒计时间等于所述截止时间调整值的转发队列确定为目标转发队列。
5.根据权利要求3所述的报文调度方法,其特征在于,所述多个转发队列对应有相同的最大倒计时间,不同的所述转发队列对应有不同的当前倒计时间,所述当前倒计时间为0时所对应的时刻为发送报文的时刻;
所述根据所述截止时间调整值从多个转发队列中确定目标转发队列,包括:
当所述截止时间调整值大于所述最大倒计时间,在所述多个转发队列中,将所述当前倒计时间等于所述最大倒计时间的转发队列确定为目标转发队列。
6.根据权利要求3所述的报文调度方法,其特征在于,不同的所述转发队列对应有不同的当前倒计时间,所述当前倒计时间为0时所对应的时刻为发送报文的时刻;
所述根据所述截止时间调整值从多个转发队列中确定目标转发队列,包括:
当所述截止时间调整值小于或等于0,在所述多个转发队列中,将数值为非0的并且数值最小的所述当前倒计时间所对应的转发队列确定为目标转发队列。
7.根据权利要求1所述的报文调度方法,其特征在于,所述报文调度方法还包括:
获取所述报文在本地节点的驻留时间;
根据所述本地截止时间和所述累计截止时间得到新的累计截止时间;
根据所述累计驻留时间和所述报文在本地节点的驻留时间得到新的累计驻留时间;
将所述新的累计截止时间和所述新的累计驻留时间填充至所述报文,或者,将所述本地截止时间、所述新的累计截止时间和所述新的累计驻留时间封装至所述报文。
8.根据权利要求1所述的报文调度方法,其特征在于,本地节点为报文传输路径的中间节点;
所述获取本地截止时间,包括:
从所述报文中获取所述本地截止时间;
或者,
从本地路由表项中获取所述本地截止时间;
或者,
从本地策略表项中获取所述本地截止时间。
9.根据权利要求1所述的报文调度方法,其特征在于,本地节点为报文传输路径的中间节点;
所述获取累计截止时间和累计驻留时间,包括:
从所述报文中获取所述累计截止时间和所述累计驻留时间。
10.一种报文调度方法,包括:
获取本地截止时间,其中,所述本地截止时间用于表征报文在本地节点内的最大允许驻留时长;
获取累计时延误差,其中,所述累计时延误差用于表征所述报文所经历过的所有上游节点的所述本地截止时间之和与所述报文所经历过的所有所述上游节点的驻留时间之和的差值;
根据所述本地截止时间和所述累计时延误差,计算得到截止时间调整值;
根据所述截止时间调整值调整所述报文的发送时间。
11.根据权利要求10所述的报文调度方法,其特征在于,所述根据所述本地截止时间和所述累计时延误差,计算得到截止时间调整值,包括:
获取转发时延;
将所述本地截止时间与所述累计时延误差的和减去所述转发时延,得到截止时间调整值。
12.根据权利要求10所述的报文调度方法,其特征在于,所述报文调度方法还包括:
获取所述报文在本地节点的驻留时间;
根据所述累计时延误差、所述本地截止时间和所述报文在本地节点的驻留时间,得到新的累计时延误差;
将所述新的累计时延误差填充至所述报文,或者,将所述本地截止时间和所述新的累计时延误差封装至所述报文。
13.根据权利要求10所述的报文调度方法,其特征在于,本地节点为报文传输路径的中间节点;
所述获取累计时延误差,包括:
从所述报文中获取所述累计时延误差。
14.一种网络设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至13中任意一项所述的报文调度方法。
15.一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1至13中任意一项所述的报文调度方法。
16.一种计算机程序产品,包括计算机程序或计算机指令,其特征在于,所述计算机程序或所述计算机指令存储在计算机可读存储介质中,计算机设备的处理器从所述计算机可读存储介质读取所述计算机程序或所述计算机指令,所述处理器执行所述计算机程序或所述计算机指令,使得所述计算机设备执行如权利要求1至13中任意一项所述的报文调度方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210005978.1A CN116436863A (zh) | 2022-01-04 | 2022-01-04 | 报文调度方法、网络设备、存储介质及计算机程序产品 |
PCT/CN2022/115917 WO2023130744A1 (zh) | 2022-01-04 | 2022-08-30 | 报文调度方法、网络设备、存储介质及计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210005978.1A CN116436863A (zh) | 2022-01-04 | 2022-01-04 | 报文调度方法、网络设备、存储介质及计算机程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116436863A true CN116436863A (zh) | 2023-07-14 |
Family
ID=87073001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210005978.1A Pending CN116436863A (zh) | 2022-01-04 | 2022-01-04 | 报文调度方法、网络设备、存储介质及计算机程序产品 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116436863A (zh) |
WO (1) | WO2023130744A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108270674B (zh) * | 2016-12-30 | 2021-02-09 | 华为技术有限公司 | 一种报文转发的方法、装置 |
CN110166380B (zh) * | 2018-02-14 | 2022-08-19 | 华为技术有限公司 | 调度报文的方法、第一网络设备及计算机可读存储介质 |
CN110266422B (zh) * | 2019-06-21 | 2020-12-29 | 北京东土军悦科技有限公司 | 中间时钟设备报文驻留时间处理方法、装置、设备及介质 |
WO2021101610A1 (en) * | 2020-05-06 | 2021-05-27 | Futurewei Technologies, Inc. | Latency guarantee for data packets in a network |
-
2022
- 2022-01-04 CN CN202210005978.1A patent/CN116436863A/zh active Pending
- 2022-08-30 WO PCT/CN2022/115917 patent/WO2023130744A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023130744A1 (zh) | 2023-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11516134B2 (en) | Method and apparatus for controlling traffic in packet-based network | |
Le Boudec | Rate adaptation, congestion control and fairness: A tutorial | |
US6839767B1 (en) | Admission control for aggregate data flows based on a threshold adjusted according to the frequency of traffic congestion notification | |
Le Boudec | Rate adaptation, congestion control and fairness: A tutorial | |
US8693489B2 (en) | Hierarchical profiled scheduling and shaping | |
CN107852371B (zh) | 数据分组网络 | |
CN102223300B (zh) | 一种网络设备中多媒体数据的传输控制方法 | |
EP1417808A2 (en) | Method for supporting non-linear, highly scalable increase-decrease congestion control scheme | |
WO2020253488A1 (zh) | 拥塞控制方法及装置、通信网络、计算机存储介质 | |
Irazabal et al. | Active queue management as quality of service enabler for 5G networks | |
Irazabal et al. | Dynamic buffer sizing and pacing as enablers of 5G low-latency services | |
WO2021083160A1 (zh) | 数据传输的方法和装置 | |
KR102111029B1 (ko) | 다중망 병합 전송 장치, 그리고 이의 패킷 스케줄링 방법 | |
CN112737964A (zh) | 一种融合推拉语义的传输控制方法及系统 | |
CN107852372B (zh) | 数据分组网络 | |
EP1730903A2 (en) | Expedited data transmission in packet based network | |
CN113542155B (zh) | 用于处理业务流的方法及装置 | |
Dong et al. | High-precision end-to-end latency guarantees using packet wash | |
CN116436863A (zh) | 报文调度方法、网络设备、存储介质及计算机程序产品 | |
JP4376855B2 (ja) | パケット通信品質制御装置 | |
US7009989B2 (en) | Forwarding ordered data packets with less delay | |
EP1506644B1 (en) | Shared-communications channel utilization for applications having different class of service requirements | |
Szilágyi et al. | Efficient LTE PDCP buffer management | |
WO2023109188A1 (zh) | 报文调度方法、网络设备及计算机可读存储介质 | |
WO2024055675A1 (zh) | 报文调度方法、网络设备、存储介质及计算机程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |