CN113783793B - 对时间敏感的数据帧的流量调度方法及相关设备 - Google Patents
对时间敏感的数据帧的流量调度方法及相关设备 Download PDFInfo
- Publication number
- CN113783793B CN113783793B CN202110841788.9A CN202110841788A CN113783793B CN 113783793 B CN113783793 B CN 113783793B CN 202110841788 A CN202110841788 A CN 202110841788A CN 113783793 B CN113783793 B CN 113783793B
- Authority
- CN
- China
- Prior art keywords
- periodic
- data frame
- data
- tag
- delay
- 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
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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供一种对时间敏感的数据帧的流量调度方法及相关设备,通过时延标签记录数据帧剩余可接受排队时延d和剩余路由跳数n,再由两者相除可以得到平均每跳排队时延dph,在每个中间节点内,将数据帧缓存入相应的周期性队列进行传输,以平衡在前缀节点经历的过大或过小的排队时延,实现了抖动为2τ的确定性传输。其中τ为中间节点内周期性队列的传输时间,同时也是由构建网络的用户预先设定的,通过设定不同的τ值,可以实现不同程度的确定性抖动传输。
Description
技术领域
本公开涉及互联网技术领域,尤其涉及一种对时间敏感的数据帧的流量调度方法及相关设备。
背景技术
在工业互联网中,诸如离散自动运动控制、协同制造等场景对控制帧的传输有很高的时延抖动要求,为了使生产指挥中心和终端设备(如机械臂、机床等)精准协作,企业往往需要建立能够实现低时延抖动的确定性网络。
实现确定性网络的技术可以根据是否需要网络内所有节点实现时间同步大致分为同步策略和异步策略。其中同步策略由于实现了全网范围的时间同步,能够对全网节点出端口的传输时隙进行统一规划,从而控制时间敏感数据帧离开节点的时间以实现低抖动传输,但时间同步会带来额外的成本,这是部分企业难以接受的。异步策略成本较低,但由于无法统一规划数据帧在所有节点内的传输,端到端的时延抖动往往会随着路由跳数的增加而线性增大。
发明内容
有鉴于此,本公开的目的在于提出一种对时间敏感的数据帧的流量调度方法及相关设备。
基于上述目的,本公开提供了一种用于对时间敏感的数据帧的流量调度方法,该方法由工业互联网中的中间节点执行,包括:
响应于接收到来自在所述中间节点上游的第一节点的所述数据帧,根据所述数据帧携带的第一时延标签而将所述数据帧放入预设的多个周期性队列之一,其中,所述多个周期性队列中的每一个周期性队列轮流在预设的传输周期内输出该周期性队列内缓存的数据;
响应于确定所述数据帧已从所述多个周期性队列中的一个周期性队列输出,根据所述数据帧在该周期性队列中的实际排队时延而将所述第一时延标签更新为第二时延标签;
将携带所述第二时延标签的所述数据帧按帧抢占机制传送给在所述中间节点下游的第二节点。
基于同一发明构思,本公开还提供了一种用于对时间敏感的数据帧的流量调度装置,被设置在工业互联网中的中间节点中,所述流量调度装置包括:
入队模块,被配置成:响应于接收到来自在所述中间节点上游的第一节点的所述数据帧,根据所述数据帧携带的第一时延标签而将所述数据帧放入预设的多个周期性队列之一,其中,所述多个周期性队列中的每一个周期性队列轮流在预设的传输周期内输出该周期性队列内缓存的数据;
标签更新模块,被配置成:响应于确定所述数据帧已从所述多个周期性队列中的一个周期性队列输出,根据所述数据帧在该周期性队列中的实际排队时延而将所述第一时延标签更新为第二时延标签;
传送模块,被配置成:将携带所述第二时延标签的所述数据帧按帧抢占机制传送给在所述中间节点下游的第二节点。
基于同一发明构思,本公开还提供了一种电子设备,被设置在工业互联网中的中间节点中,所述电子设备包括存储器、处理器及存储在所述存储器上并可由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现对时间敏感的数据帧的流量调度方法。
基于同一发明构思,本公开还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行对时间敏感的数据帧的流量调度方法。
从上面所述可以看出,本公开提供的对时间敏感的流量调度方法及相关设备,实现了数据帧的低抖动传输,与同步流量调度策略相比,本公开不再需要实现全网节点间的时间同步,大大降低了构建网络的成本;同时本公开不再仅适用于周期性业务以及预先约定好属性的业务,而是能够作用于所有带有时延标签的时间敏感业务;与异步流量调度策略相比,本公开通过时延标签平衡路径上不同节点内不确定的排队时延。随着路由跳数的增加,本方案实现的抖动收敛于2τ,而不是随路由跳数线性增大。
附图说明
为了更清楚地说明本公开或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的的对时间敏感的流量调度方法的流程图;
图2为本公开实施例提供的将数据帧放入周期性队列的流程图;
图3为本公开实施例提供的含有4个周期性队列的中间节点进行流量调度的流程图;
图4为本公开实施例提供的对时间敏感的数据帧的流量调度装置结构图;
图5为本公开实施例提供的电子设备示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本公开实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
在实际的生产工作中,根据是否需要节点间的时间同步,可以把流量调度策略分为同步和异步两类。其中同步策略通过对全网节点出端口的传输时隙进行统一规划来直接确定预留给时间敏感帧的时隙,而异步策略在每个转发节点内根据各自的流量调度策略以及数据帧自身的特性来实现低抖动传输。
其中,同步流量调度策略主要指时间感知整形器(Time-Aware Shaper,TAS)。TAS由IEEE 802.1Qbv定义,是基于预先设定的周期性门控列表,动态地为出口队列提供开/关控制的机制。通过预先为时间敏感流量计算合适的门控列表,并下发至网络中所有已经实现时间同步的节点,来为这些时间敏感流量提供确定性的传输服务。异步流量调度策略包含帧抢占和帕特诺斯特(Paternoster)机制等。帧抢占允许高优先级的时间敏感帧截断正在传输的低优先级帧,从而不再需要等待低优先级帧传输完再传输,降低了高优先级帧的平均时延。帕特诺斯特机制通过在每个节点内维护4个周期性先进先出队列,并依据当前时刻的队列属性将数据帧放入合适的队列,在无需节点间时间同步的情况下实现了业务的有界时延传输。
然而对于同步流量调度策略来说,尽管能够统一规划全网传输时隙来实现很好的传输性能,但一方面实现全网节点时间同步的成本较大,部分厂家以及企业难以承担;另一方面只有对于周期性业务或者预先约定好属性(如发送时间、帧长等)的业务,才能够进行详尽的规划,对于突发的业务难以提供低抖动的传输服务。异步流量调度策略省去了全网节点时间同步的成本,但由于网络中的节点无法获知时间敏感帧在其他节点内不确定的排队时延,调度策略无法进行相应地调整,因此业务的抖动会随着经过节点数量的增多而不断累积,即端到端的时延抖动与路由跳数呈正比关系,这无法满足工业互联网中对控制帧严格的时延抖动需求。
通过上述对现有技术的分析可以得出,异步流量调度策略之所以无法实现业务的低抖动传输,是因为其他节点无法得知当前时间敏感帧已经在其他节点内经历的排队时延,只要当前节点能够获知数据帧在前缀节点实际经历的时延,便能较好地解决业务的低抖动传输问题。基于这种解决方法,本公开提出了一种对时间敏感的流量调度方法,采用时延标签记录数据帧剩余可接受的排队时延d和后续剩余的路由跳数n,再由两者相除可以得到平均到每一跳的排队时延dph,在每个中间节点内,将数据帧根据dph缓存入相应的周期性队列,以平衡在前缀节点经历的过大或过小的排队时延。
作为一个可选的实施例,参照图1,本公开提供的对时间敏感的数据帧的流量调度方法包括。
步骤S101,响应于接收到来自在所述中间节点上游的第一节点的所述数据帧,根据所述数据帧携带的第一时延标签而将所述数据帧放入预设的多个周期性队列之一。
本步骤中,所述第一时延标签包括:剩余可接受的排队时延d和所述中间节点到目的节点的路由跳数n,所述多个周期性队列中的每一个周期性队列轮流在预设的传输周期内输出该周期性队列内缓存的数据。
设一个中间节点内有4个周期性队列,每个队列传输数据的周期均为τ,假设T0时刻该中间节点开始进行数据传输,则参照表1:
表1,4个周期性队列的门控列表
时间 | 队列状态 |
T0 | OCCC |
T0+τ | COCC |
T0+2τ | CCOC |
T0+3τ | CCCO |
T0+4τ | 重复T0时刻的状态 |
表1中O表示对应的周期性队列畅通,可进行数据帧的传输,C表示对应的周期性队列关闭,不可传输;以T0时刻为例,则T0时刻的队列状态即为周期性队列0畅通,TS周期型队列1至3均关闭。
步骤S102,响应于确定所述数据帧已从所述多个周期性队列中的一个周期性队列输出,根据所述数据帧在该周期性队列中的实际排队时延而将所述第一时延标签更新为第二时延标签。
本步骤中,将所述剩余可接受排队时延减去所述实际排队时延并且将所述剩余路由跳数减1,将所述第一时延标签更新为所述第二时延标签。
步骤S103,将携带所述第二时延标签的所述数据帧按帧抢占机制传送给在所述中间节点下游的第二节点。
本步骤中,将携带所述第二时延标签的所述数据帧通过具有帧抢占功能的MAC层传送给所述第二节点,在所述MAC层中,所述数据帧比低优先级数据帧优先传输。其中,所述低优先级数据帧指对时间不敏感的所述数据帧。
其中,在进行数据传输时,所述低优先级数据帧被放入不受门控列表控制的传输队列中;只有所述周期性队列中没有传输所述数据帧时,不受门控列表控制的所述传输队列才能传输所述低优先级数据帧,而且所述数据帧的传输能够打断所述低优先级数据帧的传输。
作为一个可选的实施例,参照图2,将数据帧放入预设的多个周期性队列之一时,包括:
步骤S201,基于由所述第一时延标签指示的所述剩余可接受排队时延和所述剩余路由跳数,计算得到平均每跳排队时延。
本步骤中,将剩余可接受排队时延和剩余路由跳数相除,即得到平均每跳排队时延。
步骤S202,根据所述平均每跳排队时延以及由所述本地时钟记录的所述数据帧进入所述中间节点的第一时刻,预估所述数据帧离开所述中间节点的第二时刻。
步骤S203,根据所述门控列表,确定所述多个周期性队列中在所述第二时刻正在进行数据传输的第一周期性队列。
步骤S204,根据所述中间节点的出端口速率以及所述传输周期,确定所述多个周期性队列中的每一个周期性队列中可缓存的最大数据量。
步骤S205,从所述第一周期性队列开始轮询所述多个周期性队列中的每一个周期性队列,以基于该周期性队列中的当前数据量、所述数据帧的长度以及该周期性队列中可缓存的所述最大数据量而确定是否将所述数据帧放入该周期性队列。
作为一个可选的实施例,参照图3,以中间节点含有4个周期性队列为例,本公开提供的流量调度方法,包括:
步骤S301,根据数据帧进入中间节点的时刻和第一时延标签计算数据帧预计离开中间节点的时刻TOUT。
本步骤中,所述中间节点记录接收所述数据帧的时刻Tin,根据dph=d/n和第一时延标签计算得到平均每跳排队时延dph,根据TOUT=Tin+dph得到该所述数据帧预计离开所述中间节点的时刻TOUT。
步骤S302,根据计算结果和预设的门控列表计算出TOUT时刻正在进行传输的周期性队列i,将计数值设为0,周期性队列i的状态值设为0。
本步骤中,将状态值设为0表示周期性队列i不为空。
步骤S303,计数值<4?
本步骤中,计数值小于4时,继续执行步骤S305,否则,计数值等于4时即轮询完所有的周期性队列也未能缓存数据帧,执行步骤S304。
步骤S304,数据帧缓存失败,丢弃数据帧。
步骤S305,周期性队列i为空?
本步骤中,周期性队列i不为空队列时,直接执行步骤S307,否则,执行步骤S306。
步骤S306,将状态值设为1。
步骤S307,Ci+l<Cimax-123*状态值?
本步骤中,设所述中间节点出端口速率为s,所述周期性队列传输周期预设为τ,所述周期性队列i剩余的传输时间为ti,所有所述周期性队列可缓存的最大数据量Cimax为
并设所述数据帧长度为l,所述周期性队列i在TOUT时刻的数据量为Ci,将数据帧缓存入周期性队列i时,需保证所述周期性队列i有足够的数据容量容纳所述数据帧。由于帧抢占协议中规定的最大不可被抢占帧长度而确定是否将所述数据帧放入该周期性队列,故将数据帧换存入空队列时,需留出至少123字节的冗余。
对于不满足本步骤条件的,执行步骤S308,即继续判断下一个周期性队列能否缓存数据帧,否则,继续执行步骤S309。
步骤S308,i=i+1,计数值=计数值+1,状态值重置为0。
本步骤中,将周期性队列i的下一个周期性队列视为新的周期性队列i,并为计数值累加。
步骤S309,将数据帧缓存入周期性队列i。
本公开提供的对时间敏感的数据帧的流量调度方法,通过时延标签记录数据帧剩余可接受排队时延d和剩余路由跳数n,再由两者相除可以得到平均每跳排队时延dph,在每个中间节点内,将数据帧缓存入相应的周期性队列,以平衡在前缀节点经历的过大或过小的排队时延,实现了实现了数据帧的低抖动传输,即实现了抖动为2τ的确定性传输。其中τ为中间节点内周期性队列的传输时间,同时也是由构建网络的用户预先设定的,通过设定不同的τ值,可以实现不同程度的确定性抖动传输。
需要说明的是,本公开实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本公开实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本公开的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种对时间敏感的数据帧的流量调度装置。
参考图4,所述对时间敏感的流量调度装置,包括:
入队模块401,被配置成:响应于接收到来自在所述中间节点上游的第一节点的所述数据帧,根据所述数据帧携带的第一时延标签而将所述数据帧放入预设的多个周期性队列之一,其中,所述多个周期性队列中的每一个周期性队列轮流在预设的传输周期内输出该周期性队列内缓存的数据。
标签更新模块402,被配置成:响应于确定所述数据帧已从所述多个周期性队列中的一个周期性队列输出,根据所述数据帧在该周期性队列中的实际排队时延而将所述第一时延标签更新为第二时延标签。
传送模块403,被配置成:将携带所述第二时延标签的所述数据帧按帧抢占机制传送给在所述中间节点下游的第二节点。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本公开时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述任一实施例中相应的对时间敏感的数据帧的流量调度方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的对时间敏感的数据帧的流量调度方法。
图5示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的对时间敏感的数据帧的流量调度方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的对时间敏感的数据帧的流量调度方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、块随机存储器(BRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的对时间敏感的数据帧的流量调度方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
需要说明的是,本公开的实施例还可以以下方式进一步描述:
一种用于对时间敏感的数据帧的流量调度方法,该方法由工业互联网中的中间节点执行,包括:响应于接收到来自在所述中间节点上游的第一节点的所述数据帧,根据所述数据帧携带的第一时延标签而将所述数据帧放入预设的多个周期性队列之一,其中,所述多个周期性队列中的每一个周期性队列轮流在预设的传输周期内输出该周期性队列内缓存的数据;响应于确定所述数据帧已从所述多个周期性队列中的一个周期性队列输出,根据所述数据帧在该周期性队列中的实际排队时延而将所述第一时延标签更新为第二时延标签;将携带所述第二时延标签的所述数据帧按帧抢占机制传送给在所述中间节点下游的第二节点。
作为一个可选的实施例,所述第一时延标签指示对于所述数据帧的剩余可接受排队时延和从所述中间节点到目的节点的剩余路由跳数;根据所述实际排队时延而将所述第一时延标签更新为所述第二时延标签包括:通过将所述剩余可接受排队时延减去所述实际排队时延并且将所述剩余路由跳数减1,将所述第一时延标签更新为所述第二时延标签。
作为一个可选的实施例,基于所述中间节点内维护的本地时钟和门控列表,所述多个周期性队列中的每一个周期性队列轮流在所述传输周期内输出该周期性队列内缓存的数据。
作为一个可选的实施例,根据所述第一时延标签而将所述数据帧放入所述多个周期性队列之一包括:基于由所述第一时延标签指示的所述剩余可接受排队时延和所述剩余路由跳数,计算得到平均每跳排队时延;根据所述平均每跳排队时延以及由所述本地时钟记录的所述数据帧进入所述中间节点的第一时刻,预估所述数据帧离开所述中间节点的第二时刻;根据所述门控列表,确定所述多个周期性队列中在所述第二时刻正在进行数据传输的第一周期性队列;根据所述中间节点的出端口速率以及所述传输周期,确定所述多个周期性队列中的每一个周期性队列中可缓存的最大数据量;从所述第一周期性队列开始轮询所述多个周期性队列中的每一个周期性队列,以基于该周期性队列中的当前数据量、所述数据帧的长度以及该周期性队列中可缓存的所述最大数据量而确定是否将所述数据帧放入该周期性队列。
作为一个可选的实施例,基于该周期性队列中的当前数据量、所述数据帧的长度以及该周期性队列中可缓存的所述最大数据量而确定是否将所述数据帧放入该周期性队列包括:响应于确定该周期性队列中的当前数据量为零,基于所述数据帧的长度、该周期性队列中可缓存的所述最大数据量以及帧抢占协议中规定的最大不可被抢占帧长度而确定是否将所述数据帧放入该周期性队列。
作为一个可选的实施例,将携带所述第二时延标签的所述数据帧按照所述帧抢占机制传送给所述第二节点包括:将携带所述第二时延标签的所述数据帧通过具有帧抢占功能的媒体访问控制MAC层传送给所述第二节点,在所述MAC层中,所述数据帧比低优先级数据帧优先传输;其中,所述低优先级数据帧指对时间不敏感的所述数据帧。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本公开实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本公开实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本公开实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本公开实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本公开实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本公开实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本公开实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (7)
1.一种用于对时间敏感的数据帧的流量调度方法,该方法由工业互联网中的中间节点执行,包括:
响应于接收到来自在所述中间节点上游的第一节点的所述数据帧,根据所述数据帧携带的第一时延标签而将所述数据帧放入预设的多个周期性队列之一,其中,所述多个周期性队列中的每一个周期性队列轮流在预设的传输周期内输出该周期性队列内缓存的数据,所述第一时延标签指示对于所述数据帧的剩余可接受排队时延和从所述中间节点到目的节点的剩余路由跳数;
所述根据所述数据帧携带的第一时延标签而将所述数据帧放入预设的多个周期性队列之一包括:基于由所述第一时延标签指示的所述剩余可接受排队时延和所述剩余路由跳数,计算得到平均每跳排队时延;
根据所述平均每跳排队时延以及由本地时钟记录的所述数据帧进入所述中间节点的第一时刻,预估所述数据帧离开所述中间节点的第二时刻;
根据门控列表,确定所述多个周期性队列中在所述第二时刻正在进行数据传输的第一周期性队列;
根据所述中间节点的出端口速率以及所述传输周期,确定所述多个周期性队列中的每一个周期性队列中可缓存的最大数据量;
从所述第一周期性队列开始轮询所述多个周期性队列中的每一个周期性队列,以基于该周期性队列中的当前数据量、所述数据帧的长度以及该周期性队列中可缓存的所述最大数据量而确定是否将所述数据帧放入该周期性队列;
响应于确定所述数据帧已从所述多个周期性队列中的一个周期性队列输出,根据所述数据帧在该周期性队列中的实际排队时延而将所述第一时延标签更新为第二时延标签;其中包括:通过将所述剩余可接受排队时延减去所述实际排队时延并且将所述剩余路由跳数减1,将所述第一时延标签更新为所述第二时延标签;
将携带所述第二时延标签的所述数据帧按帧抢占机制传送给在所述中间节点下游的第二节点;其中,所述数据帧比低优先级数据帧优先传输,所述低优先级数据帧指对时间不敏感的所述数据帧。
2.根据权利要求1所述的流量调度方法,其中,基于所述中间节点内维护的所述本地时钟和所述门控列表,所述多个周期性队列中的每一个周期性队列轮流在所述传输周期内输出该周期性队列内缓存的数据。
3.根据权利要求2所述的流量调度方法,其中,基于该周期性队列中的当前数据量、所述数据帧的长度以及该周期性队列中可缓存的所述最大数据量而确定是否将所述数据帧放入该周期性队列包括:
响应于确定该周期性队列中的当前数据量为零,基于所述数据帧的长度、该周期性队列中可缓存的所述最大数据量以及帧抢占协议中规定的最大不可被抢占帧长度而确定是否将所述数据帧放入该周期性队列。
4.根据权利要求1至3中任一项所述的流量调度方法,其中,将携带所述第二时延标签的所述数据帧按照所述帧抢占机制传送给所述第二节点包括:
将携带所述第二时延标签的所述数据帧通过具有帧抢占功能的媒体访问控制MAC层传送给所述第二节点,在所述MAC层中。
5.一种用于对时间敏感的数据帧的流量调度装置,被设置在工业互联网中的中间节点中,所述流量调度装置包括:
入队模块,被配置成:响应于接收到来自在所述中间节点上游的第一节点的所述数据帧,根据所述数据帧携带的第一时延标签而将所述数据帧放入预设的多个周期性队列之一,其中,所述多个周期性队列中的每一个周期性队列轮流在预设的传输周期内输出该周期性队列内缓存的数据,所述第一时延标签指示对于所述数据帧的剩余可接受排队时延和从所述中间节点到目的节点的剩余路由跳数;
所述根据所述数据帧携带的第一时延标签而将所述数据帧放入预设的多个周期性队列之一包括:基于由所述第一时延标签指示的所述剩余可接受排队时延和所述剩余路由跳数,计算得到平均每跳排队时延;
根据所述平均每跳排队时延以及由本地时钟记录的所述数据帧进入所述中间节点的第一时刻,预估所述数据帧离开所述中间节点的第二时刻;
根据门控列表,确定所述多个周期性队列中在所述第二时刻正在进行数据传输的第一周期性队列;
根据所述中间节点的出端口速率以及所述传输周期,确定所述多个周期性队列中的每一个周期性队列中可缓存的最大数据量;
从所述第一周期性队列开始轮询所述多个周期性队列中的每一个周期性队列,以基于该周期性队列中的当前数据量、所述数据帧的长度以及该周期性队列中可缓存的所述最大数据量而确定是否将所述数据帧放入该周期性队列;
标签更新模块,被配置成:响应于确定所述数据帧已从所述多个周期性队列中的一个周期性队列输出,根据所述数据帧在该周期性队列中的实际排队时延而将所述第一时延标签更新为第二时延标签;其中包括:通过将所述剩余可接受排队时延减去所述实际排队时延并且将所述剩余路由跳数减1,将所述第一时延标签更新为所述第二时延标签;
传送模块,被配置成:将携带所述第二时延标签的所述数据帧按帧抢占机制传送给在所述中间节点下游的第二节点;其中,所述数据帧比低优先级数据帧优先传输,所述低优先级数据帧指对时间不敏感的所述数据帧。
6.一种电子设备,被设置在工业互联网中的中间节点中,所述电子设备包括存储器、处理器及存储在所述存储器上并可由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至3中任意一项所述的方法。
7.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行如权利要求1至3中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110841788.9A CN113783793B (zh) | 2021-07-23 | 2021-07-23 | 对时间敏感的数据帧的流量调度方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110841788.9A CN113783793B (zh) | 2021-07-23 | 2021-07-23 | 对时间敏感的数据帧的流量调度方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113783793A CN113783793A (zh) | 2021-12-10 |
CN113783793B true CN113783793B (zh) | 2023-07-25 |
Family
ID=78836056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110841788.9A Active CN113783793B (zh) | 2021-07-23 | 2021-07-23 | 对时间敏感的数据帧的流量调度方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113783793B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115277561B (zh) * | 2022-05-16 | 2023-12-15 | 国网福建省电力有限公司超高压分公司 | 一种基于时间敏感的传输队列控制方法及终端 |
CN115086241B (zh) * | 2022-06-09 | 2024-04-09 | 中国人民解放军国防科技大学 | 空间动态网络中时敏数据传输方法和装置 |
CN117279034A (zh) * | 2022-06-15 | 2023-12-22 | 中兴通讯股份有限公司 | 信息处理方法、设备和存储介质 |
CN117955928A (zh) * | 2022-10-20 | 2024-04-30 | 中兴通讯股份有限公司 | 报文调度方法、网络设备、存储介质及计算机程序产品 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6738386B1 (en) * | 2000-05-11 | 2004-05-18 | Agere Systems Inc. | Controlled latency with dynamically limited queue depth based on history and latency estimation |
CN1941737A (zh) * | 2005-09-30 | 2007-04-04 | 富士通株式会社 | 预测节点时延的方法和装置以及时延保证的方法和装置 |
WO2009124991A1 (en) * | 2008-04-10 | 2009-10-15 | Time-Critical Networks Ab | Calculating packet delay in a multihop ethernet network |
CN102904830A (zh) * | 2012-11-06 | 2013-01-30 | 北京交通大学 | 在p2p网络软件自身上实现流量优化的方法 |
WO2018157932A1 (en) * | 2017-03-02 | 2018-09-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Reducing packet delay variation of time-sensitive packets |
CN109787919A (zh) * | 2018-12-27 | 2019-05-21 | 瑞斯康达科技发展股份有限公司 | 一种信息传输的方法、装置、计算机存储介质及终端 |
CN109842674A (zh) * | 2018-12-28 | 2019-06-04 | 深圳竹云科技有限公司 | 一种多语言交互跨平台的延迟队列实现方法 |
CN110933532A (zh) * | 2019-10-24 | 2020-03-27 | 北京邮电大学 | 基于帧抢占的tdm-pon移动前传光网络数据传输方法及装置 |
CN110943927A (zh) * | 2019-12-06 | 2020-03-31 | 湖南大学 | 基于时延管理的命名数据网络传输控制方法、装置和设备 |
CN111431822A (zh) * | 2020-04-19 | 2020-07-17 | 汪勤思 | 一种确定性时延业务智能调度与控制实施方法 |
CN111602376A (zh) * | 2017-11-13 | 2020-08-28 | 瑞典爱立信有限公司 | 用于管理延迟敏感的分组的传输的方法和设备 |
CN112291161A (zh) * | 2020-10-10 | 2021-01-29 | 燕山大学 | 一种时间敏感网络混合流量调度方法 |
CN112887226A (zh) * | 2021-01-26 | 2021-06-01 | 重庆邮电大学 | 有线无线融合的卫星时间敏感网络队列管理调度方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9716664B2 (en) * | 2014-12-03 | 2017-07-25 | Cisco Technology, Inc. | Tracking queuing delay and performing related congestion control in information centric networking |
US11284292B2 (en) * | 2019-06-28 | 2022-03-22 | Apple Inc. | Queuing latency aware buffer status report |
-
2021
- 2021-07-23 CN CN202110841788.9A patent/CN113783793B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6738386B1 (en) * | 2000-05-11 | 2004-05-18 | Agere Systems Inc. | Controlled latency with dynamically limited queue depth based on history and latency estimation |
CN1941737A (zh) * | 2005-09-30 | 2007-04-04 | 富士通株式会社 | 预测节点时延的方法和装置以及时延保证的方法和装置 |
WO2009124991A1 (en) * | 2008-04-10 | 2009-10-15 | Time-Critical Networks Ab | Calculating packet delay in a multihop ethernet network |
CN102904830A (zh) * | 2012-11-06 | 2013-01-30 | 北京交通大学 | 在p2p网络软件自身上实现流量优化的方法 |
WO2018157932A1 (en) * | 2017-03-02 | 2018-09-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Reducing packet delay variation of time-sensitive packets |
CN111602376A (zh) * | 2017-11-13 | 2020-08-28 | 瑞典爱立信有限公司 | 用于管理延迟敏感的分组的传输的方法和设备 |
CN109787919A (zh) * | 2018-12-27 | 2019-05-21 | 瑞斯康达科技发展股份有限公司 | 一种信息传输的方法、装置、计算机存储介质及终端 |
CN109842674A (zh) * | 2018-12-28 | 2019-06-04 | 深圳竹云科技有限公司 | 一种多语言交互跨平台的延迟队列实现方法 |
CN110933532A (zh) * | 2019-10-24 | 2020-03-27 | 北京邮电大学 | 基于帧抢占的tdm-pon移动前传光网络数据传输方法及装置 |
CN110943927A (zh) * | 2019-12-06 | 2020-03-31 | 湖南大学 | 基于时延管理的命名数据网络传输控制方法、装置和设备 |
CN111431822A (zh) * | 2020-04-19 | 2020-07-17 | 汪勤思 | 一种确定性时延业务智能调度与控制实施方法 |
CN112291161A (zh) * | 2020-10-10 | 2021-01-29 | 燕山大学 | 一种时间敏感网络混合流量调度方法 |
CN112887226A (zh) * | 2021-01-26 | 2021-06-01 | 重庆邮电大学 | 有线无线融合的卫星时间敏感网络队列管理调度方法 |
Non-Patent Citations (3)
Title |
---|
SSA:一种面向CQF模型的TSN资源调度算法;姜旭艳;严锦立;全巍;孙志刚;;东北大学学报(自然科学版)(第06期);全文 * |
一种保障时延能量高效的无线传感器网络路由协议;梁庆伟;姚道远;巩思亮;;西安交通大学学报(第06期);全文 * |
时间敏感网络多周期应用调度算法的研究与实现;钟龙;信息科技(第第03期期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113783793A (zh) | 2021-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113783793B (zh) | 对时间敏感的数据帧的流量调度方法及相关设备 | |
US11171862B2 (en) | Multi-subflow network transmission method and apparatus | |
CN111512602B (zh) | 一种发送报文的方法、设备和系统 | |
CN113904991B (zh) | 一种流量整形方法、装置及系统 | |
US20180054394A1 (en) | Scheduling of packets in network devices | |
CN113498106A (zh) | 一种时间敏感网络tsn流的调度方法及装置 | |
US9336006B2 (en) | High-performance parallel traffic management for multi-core platforms | |
CN112311494A (zh) | 一种报文传输方法、装置及系统 | |
CN108092908A (zh) | 控制流量的方法和发送端设备 | |
CN113543210B (zh) | 一种5G-TSN跨域QoS与资源映射方法、设备和计算机可读存储介质 | |
US20180176144A1 (en) | APPARATUS FOR SELF-REGULATER (SR) LAST-IN, FIRST-OUT (LIFO) SCHEDULING IN SOFTWARE DEFINED NETWORKS (SNDs) WITH HYBRID TRAFFIC | |
JP7191253B2 (ja) | パケット交換ネットワークにおいて通信エンティティのコンピューター手段によって実施される方法、並びにそのコンピュータープログラム及びコンピューター可読非一時的記録媒体、並びにパケット交換ネットワークの通信エンティティ | |
US20120051372A1 (en) | Shaping apparatus and method | |
WO2019109902A1 (zh) | 队列调度方法及装置、通信设备、存储介质 | |
CN110301116B (zh) | 通过绑定连接传送和接收数据分组的方法和系统 | |
Bruneel et al. | Queueing models for the analysis of communication systems | |
US11108697B2 (en) | Technologies for controlling jitter at network packet egress | |
US10079769B1 (en) | Methods and apparatus for implementing dynamic rate controllers using linked list of rate programs | |
Chen et al. | Petri net modeling of the reconfigurable protocol stack for cloud computing control systems | |
US9166918B1 (en) | Methods and apparatus for scheduling transmission of data in a network | |
Nie et al. | Hybrid traffic scheduling in time‐sensitive networking for the support of automotive applications | |
WO2024016175A1 (zh) | 确定性流传输方法、系统及电子设备 | |
WO2016088371A1 (ja) | 管理ノード、端末、通信システム、通信方法、および、プログラム記録媒体 | |
Giambene et al. | M/G/1 Queuing theory and applications | |
CN117221248A (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 |