CN115086245B - 一种tsn报文调度的方法、交换机、设备及存储介质 - Google Patents
一种tsn报文调度的方法、交换机、设备及存储介质 Download PDFInfo
- Publication number
- CN115086245B CN115086245B CN202210763954.2A CN202210763954A CN115086245B CN 115086245 B CN115086245 B CN 115086245B CN 202210763954 A CN202210763954 A CN 202210763954A CN 115086245 B CN115086245 B CN 115086245B
- Authority
- CN
- China
- Prior art keywords
- tsn
- message
- scheduling
- level
- queue
- 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/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
- H04L47/562—Attaching a time tag to queues
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种TSN报文调度的方法、交换机、设备及存储介质,其技术方案包括:调度流程分为一级调度和二级调度,分别设置一级缓存和二级缓存;一级调度根据TSN报文的时间戳从一级缓存中选择最先到达的TSN报文,并把该TSN报文同时并行调度到二级缓存中各对应的队列中,一个二级缓存的队列存储经过同一个端口输出的所有TSN报文;二级调度选择二级缓存中一个队列,并根据TSN报文的时间戳调度出该队列中最先到达的TSN报文调度的出端口。本发明实施例的技术方案满足TSN报文所需的低延时和延时稳定需求。
Description
技术领域
本发明涉及TCP/IP互联网与通信领域TCP/IP互联网与通信领域领域,尤其涉及一种TSN报文调度的方法、交换机、设备及存储介质。
背景技术
目前交换机采用一次调度方式且每次只调度一个TSN报文的出端口,图1示出了现有技术的SP+DWRR交换机的调度方法,每次调度时间简单举例如下:
(1)当只有源端口0优先级0存在报文申请,且为单播报文,即报文只有一个出端口,则只要2个clk就可以调度完成。
(2)当只有源端口0优先级0存在报文申请,报文为多播报文,示例地,报文的出端口为端口1~30,则需要2*30=60个clk完成调度。
(3)当存在多个报文申请,且每个报文的出端口不包括其源端口,出端口数目为31,均需要32*8*31*2=15872个clk才能调度出一个报文的一个出端口。
上述示例可以看出,调度延时随着端口的增加平方次增长,延时较大,不满足TSN报文的调度要求。
发明内容
有鉴于此,本发明实施例提供了一种TSN报文调度的方法、交换机、设备及存储介质,其技术方案包括:调度流程分为一级调度和二级调度,分别设置一级缓存和二级缓存;一级调度根据TSN报文的时间戳从一级缓存中选择最先到达的TSN报文,并把该TSN报文同时并行调度到二级缓存中各对应的队列中,一个二级缓存的队列存储经过同一个端口输出的所有TSN报文;二级调度选择二级缓存中一个队列,并根据TSN报文的时间戳调度出该队列中最先到达的TSN报文调度的出端口。在一些实施例中,把报文分为TSN报文和非TSN报文,TSN报文的优先级高于所有非TSN报文,根据报文优先级优先把调度出同一个出端口的TSN报文和非TSN的报文中的TSN报文调度至对应的端口。本发明实施例的技术方案满足TSN报文所需的低延时和延时稳定需求。
第一方面,本发明实施例提供了一种TSN报文调度的方法,包括:一级调度和二级调度;所述一级调度根据TSN报文的时间戳从一级缓存中选择最先到达的TSN报文,并把该TSN报文同时并行调度到二级缓存中各对应的队列中,一个二级缓存的队列存储经过同一个端口输出的所有TSN报文,二级缓存中不同队列对应不同的出端口;所述二级调度选择二级缓存中一个队列,并根据TSN报文的时间戳调度出该队列中最先到达的TSN报文的出端口。
由上,通过一级调度把TSN报文同时并行调度到二级缓存中各对应的队列中,本实施例的技术方案提高调度效率,降低调度延时,从而满足TSN报文所需的低延时和延时稳定需求。
在第一方面一种可能的实施方式中,一种TSN报文调度的方法还包括:把报文分为TSN报文和非TSN的报文,并把TSN报文存储在一级缓存中,其中,TSN报文的优先级高于非TSN的报文的优先级;当一个TSN报文和非TSN的报文被同时调度出同一个出端口,根据报文优先级优先把该TSN报文调度至对应的端口。
由上,通过增加TSN报文与非TSN报文的区分,使TSN报文的优先级高于非TSN报文,在TSN报文与非TSN报文的混合场景去除非TSN报文对TSN报文的调度的反压,从而在混合场景下满足TSN报文所需的低延时和延时稳定需求。
在第一方面一种可能的实施方式中,所述选择二级缓存中一个队列,具体包括:根据二级缓存中各队列对应的端口,轮询选择二级缓存中一个队列。
由上,通过轮询选择二级缓存中各列,使各个出端口的TSN报文被公平调度。
在第一方面一种可能的实施方式中,在第一设定数目的***时钟周期内完成一个报文的一级调度,在第二设定数目的***时钟周期内完成二级缓存的一个队列中一个报文的二级调度。
由上,通过调度和二级调度均在设定***时钟周期内完成调度,使一级调度和二级调度与现有调度技术兼容,复用现有的调度技术。
在第一方面一种可能的实施方式中,一种TSN报文调度的方法还包括:当根据TSN报文的时间戳在所选择的二级缓存的队列中最先到达的TSN报文多于1条时,调度其中优先级最高的报文至其出端口。
由上,通过根据优先级在二级缓存的队列中选择优选级高的最先到达的TSN报文优先调度,满足TSN的QoS管理需求。
在第一方面一种可能的实施方式中,一种TSN报文调度的方法还包括:当根据TSN报文的时间戳在一级缓存中选择最先到达的TSN报文多于1条时,选择其中优先级最高的TSN报文;以及当所述优先级最高的TSN报文多于1条,则根据TSN报文的源端口轮询选择一条报文。
由上,通过根据优先级和端口轮询的方式在一级缓存的队列中选择优选级高的最先到达的TSN报文优先调度,满足TSN的QoS管理需求,又保证来自各源端口的报文被公平调度。
第二方面,本发明实施例提供了一种TSN报文调度的交换机,包括:一级调度模块和二级调度模块;所述一级调度模块用于根据TSN报文的时间戳从一级缓存中选择最先到达的TSN报文,并把该TSN报文同时并行调度到二级缓存中各对应的队列中,一个二级缓存的队列存储经过同一个端口输出的所有TSN报文,二级缓存中不同队列对应不同的出端口;所述二级调度模块用于选择二级缓存中一个队列,并根据TSN报文的时间戳调度出该队列中最先到达的TSN报文的出端口。
由上,通过一级调度把TSN报文同时并行调度到二级缓存中各对应的队列中,本实施例的技术方案提高调度效率,降低调度延时,从而满足TSN报文所需的低延时和延时稳定需求。
在第二方面一种可能的实施方式中,一种TSN报文调度的交换机还包括:报文区分模块,用于把报文分为TSN报文和非TSN的报文,并把TSN报文存储在一级缓存中,其中,TSN报文的优先级高于非TSN的报文的优先级;优先级调度模块,用于当一个TSN报文和非TSN的报文被同时调度出同一个出端口,根据报文优先级优先把该TSN报文调度至对应的端口。
由上,通过增加TSN报文与非TSN报文的区分,使TSN报文的优先级高于非TSN报文,在TSN报文与非TSN报文的混合场景去除非TSN报文对TSN报文的调度的反压,从而在混合场景下满足TSN报文所需的低延时和延时稳定需求。
在第二方面一种可能的实施方式中,所述二级调度在选择二级缓存中一个队列时,具体用于根据二级缓存中各队列对应的端口,轮询选择二级缓存中一个队列。
由上,通过轮询选择二级缓存中各列,使各个出端口的TSN报文被公平调度。
在第二方面一种可能的实施方式中,在第一设定数目的***时钟周期内完成一个报文的一级调度,在第二设定数目的***时钟周期内完成二级缓存的一个队列中一个报文的二级调度。
由上,通过调度和二级调度均在设定***时钟周期内完成调度,使一级调度和二级调度与现有调度技术兼容,复用现有的调度技术。
在第二方面一种可能的实施方式中,当根据TSN报文的时间戳在所选择的二级缓存的队列中最先到达的TSN报文多于1条时,所述一级调度模块具体用于调度其中优先级最高的报文至其出端口。
由上,通过根据优先级在二级缓存的队列中选择优选级高的最先到达的TSN报文优先调度,满足TSN的QoS管理需求。
在第二方面一种可能的实施方式中,当根据TSN报文的时间戳在一级缓存中选择最先到达的TSN报文多于1条时,所述二级调度模块具体用于选择其中优先级最高的TSN报文;以及当所述优先级最高的TSN报文多于1条,则根据TSN报文的源端口轮询选择一条报文。
由上,通过根据优先级和端口轮询的方式在一级缓存的队列中选择优选级高的最先到达的TSN报文优先调度,满足TSN的QoS管理需求,又保证来自各源端口的报文被公平调度。
第三方面,本发明实施例提供了一种计算设备,包括,
总线;
通信接口,其与所述总线连接;
至少一个处理器,其与所述总线连接;以及
至少一个存储器,其与所述总线连接并存储有程序指令,所述程序指令当被所述至少一个处理器执行时使得所述至少一个处理器执行本发明第一方面任一所述实施方式。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有程序指令,所述程序指令当被计算机执行时使得所述计算机执行申请第一方面任一所述实施方式。
附图说明
图1为现有技术的SP+DWRR交换机的调度方法示意图;
图2为本发明的一种TSN报文的调度方法实施例一的流程示意图;
图3为本发明的一种TSN报文的调度方法实施例一的一种应用场景的结构示意图;
图4为本发明的一种TSN报文的调度方法实施例二的流程示意图;
图5为本发明的一种TSN报文的调度方法实施例二的TSN报文与非TSN报文分开调度方法的示意图;
图6为本发明的一种TSN报文的调度装置实施例一的结构示意图;
图7为本发明的一种TSN报文的调度装置实施例二的结构示意图;
图8为本发明各实施例的一种计算设备的结构示意图。
具体实施方式
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三等”或模块A、模块B、模块C等,仅用于区别类似的对象,或用于区别不同的实施例,不代表针对对象的特定排序,可以理解地,在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
在以下的描述中,所涉及的表示步骤的标号,如S110、S120……等,并不表示一定会按此步骤执行,在允许的情况下可以互换前后步骤的顺序,或同时执行。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
本发明实施例提供了一种TSN报文调度的方法、交换机、设备及存储介质,其技术方案包括:调度流程分为一级调度和二级调度,分别设置一级缓存和二级缓存;一级调度根据TSN报文的时间戳从一级缓存中选择最先到达的TSN报文,并把该TSN报文同时并行调度到二级缓存中各对应的队列中,一个二级缓存的队列存储经过同一个端口输出的所有TSN报文;二级调度选择二级缓存中一个队列,并根据TSN报文的时间戳调度出该队列中最先到达的TSN报文调度的出端口。在一些实施例中,把报文分为TSN报文和非TSN报文,TSN报文的优先级高于所有非TSN报文,根据报文优先级把调度出同一个出端口的TSN报文和非TSN的报文中的TSN报文优先调度至对应的端口。本发明实施例的技术方案满足TSN报文所需的低延时和延时稳定需求。
下面根据图2至图5介绍本发明的一种TSN报文的调度方法实施例方法实施例。
首先根据图2介绍本发明的一种TSN报文的调度方法实施例一。
一种TSN报文的调度方法实施例一包括:调度流程分为一级调度和二级调度,分别设置一级缓存和二级缓存;一级调度根据TSN报文的时间戳从一级缓存中选择最先到达的TSN报文,并把该TSN报文同时并行调度到二级缓存中各对应的队列中,一个二级缓存的队列存储经过同一个端口输出的所有TSN报文。本实施例的技术方案提高调度效率,降低调度延时,从而满足TSN报文所需的低延时和延时稳定需求。
图2示出了一种TSN报文的调度方法实施例一的流程,包括步骤S110和S120。
S110:一级调度,根据TSN报文的时间戳从一级缓存中选择最先到达的TSN报文,并把该TSN报文同时并行调度到二级缓存中各对应队列。
其中,一级缓存中存储调调度的TSN报文,每个报文包括源端口、出端口、优先级和时间戳,该时间戳按照报文到达的时间设置。
其中,二级缓存包括多个队列,每个队列存储经过同一个端口输出的所有TSN报文,不同队列对应不同的端口。
其中,一级调度对每条报文采用并行调度的方式,把一级缓存中最先到达的TSN报文同时调度到二级缓存中各对应队列中。
其中,在第一设定数目的***时钟周期clk内完成一个报文的一级调度,一级调度的最大时间为(源端口数*优先级别数*第一设定数目)个clk。示例地,在2个clk完成一个报文的一级调度,报文的源端口数为32,优先级别数为8,一级调度的最大时间为32*8*2=512clk。
由上,设置二级缓存并把一级缓存中最先到达的TSN报文同时并行调度到二级缓存中各对应队列中,提高一级调度的调度效率,从而降低整个调度的延时。
S120:二级调度,选择一个二级缓存的队列,并根据TSN报文的时间戳从该队列中调度最先到达的TSN报文。
其中,在选择二级缓存的队列时,在一些实施例中,根据二级缓存各队列对应的端口,轮询选择一个二级缓存的一个队列。
其中,在第二设定数目的***时钟周期clk内完成一个队列中一个报文的二级调度,二级调度的最大时间为(端口数*第二设定数目)个clk。示例地,在2个clk完成一个队列中一个报文的二级调度,报文的端口数为32,二级调度的最大时间为32*2=64clk。
由上,通过二级缓存各队列分别对应一个端口,控制二级调度时延。
下面结合图3为介绍本实施例的效果。
图3示出了一种TSN报文的调度方法实施例一的一种应用场景,TSN报文在32个端口之间交换,TSN报文的优先级从0到7。调度分一级调度和二级调度,分别设置一级缓存和二级缓存。
为了便于介绍本实施例的效果,本实施例的技术方案和现有技术均对下面示例的两种情况的调度时间进行对比分析。
第一种情况:每个端口分别有一个优先级0到7的报文,共256个报文,其中,源端口0优先级0的报文向31端口输出,其它报文则向除其源端口以外的其他端口输出,即每个其他报文向31个端口输出。
第二种情况:只有源端口0源优先级0的单播报文。
为了便于对比,现有技术需要2个clk调度出一个报文的出端口;本实施例一级调度需要2个clk把一个报文从一级缓存同时并行调度到二级缓存中各对应的端口的队列,二级调度需要2个clk把一个报文从二级缓存的一个队列中调度到其出端口。
对于第一种情况,现有技术中设源端口0优先级0的报文按照优先级和端口轮询被最后调度,则总共需要(32*8-1)*(32-1)*2+2=15812个clk的调度时间;对于第二种情况,只需要2个clk的调度时间。可以得出现有技术中第一种情况与第二种情况的延时差异15810clk,延时约为70us,超过了TSN报文的容忍范围。
同时现有技术中,报文按照SP+DWRR调度,有些端口(10GE)和优先级(高优先级)会调度好几个报文,才调度端口(1G)和低优先级的报文。所以上述的最大延时15812clk,还需要乘以系数(系数配置在交换机的寄存器中,示例地为3),才是实际使用中的最大延时,远远超过了TSN报文的容忍范围。
对于第一种情况,本实施例中假设源端口0优先级0的报文最后到达,则一级调度需要255*2+2=512个clk,二级调度最多需要32*2=64个clk,调度时间为576个clk;对于第二种情况,本实施例中一级调度和和二级调度都是2个clk,调度时间为4个clk。完成总体调度即完成一级调度和二级调度。可以得出本实施例中第一种情况与第二种情况的延时差异为572clk,延时差异约为2.6us,远低于现有技术的15810clk即约70us,本实施例的延时差异在TSN报文的容忍范围之内。同时报文不按照SP+DWRR调度,报文按照时间戳调度,先来先调度,可以去除SP+DWRR的误差,最大延时就不会需要乘以额外的系数扩大,满足TSN报文的调度要求。
综上,一种TSN报文的调度方法实施例一的调度流程分为一级调度和二级调度,分别设置一级缓存和二级缓存;一级调度根据TSN报文的时间戳从一级缓存中选择最先到达的TSN报文,并把该TSN报文同时并行调度到二级缓存中各对应的队列中,一个二级缓存的队列存储经过同一个端口输出的所有TSN报文;二级调度选择二级缓存中一个队列,并根据TSN报文的时间戳调度出该队列中最先到达的TSN报文调度的出端口。本实施例提高调度效率,降低调度延时,从而满足TSN报文所需的低延时和延时稳定需求。
一种TSN报文的调度方法实施例二继承一种TSN报文的调度方法实施例一的方法,具有一种TSN报文的调度方法实施例一的一切优点,同时增加TSN报文与非TSN报文的区分,使TSN报文的优先级高于非TSN报文,在TSN报文与非TSN报文的混合场景去除非TSN报文对TSN报文的调度的反压,从而在混合场景下满足TSN报文所需的低延时和延时稳定需求。
图4示出了一种TSN报文的调度方法实施例二的流程,包括步骤S210至S250。
S210:把报文分为TSN报文和非TSN的报文,并把TSN报文存储按时间戳存储在一级缓存中。
其中,TSN报文的最低优先级高于非TSN的报文的最高优先级,即TSN报文的优先级高于非TSN的报文。
由上,通过设置SN报文的优先级高于非TSN的报文,避免了非TSN报文流量大且出端口容易反压TSN报文,排除非TSN报文对TSN报文调度的影响。
S220:根据TSN报文的时间戳从一级缓存中选择最先到达的TSN报文,并把该TSN报文同时并行调度到二级缓存中各对应的队列。
其中,本步骤在一种TSN报文的调度方法实施例一的步骤S110的基础上,当根据TSN报文的时间戳在一级缓存中选择最先到达的TSN报文多于1条时,选择其中优先级最高的TSN报文;以及当该优先级最高的TSN报文多于1条,则根据TSN报文的源端口轮询选择一条报文。
S230:根据各二级缓存对应出端口,轮询选择一个二级缓存,并根据TSN报文的时间戳从该二级缓存中调度最先到达的TSN报文。
其中,本步骤在一种TSN报文的调度方法实施例一的步骤S120的基础上,当根据TSN报文的时间戳在所选择的二级缓存的队列中最先到达的TSN报文多于1条时,调度其中优先级最高的报文至其出端口。
S240:调度出各非TSN报文的出端口。
其中,非TSN报文调度的方法在本实施例中不受限,示例地,可以为现有技术的SP+DWRR技术
S250:把调度了出端口的TSN报文和非TSN报文根据优先级调度至出端口。
其中,因为TSN报文的优先级高于非TSN的报文,当有同时调度同一个出端口的TSN报文和非TSN报文时,总是把TSN报文调度出队,输出到该出端口。
图5示出了TSN报文与非TSN报文分开调度方法的示意图,TSN报文进入TSN报文调度模块,非TSN报文进入非TSN报文调度模块,TSN报文的输出比非TSN报文的输出具有绝对优先,只要TSN报文有调度出队,优先级调度时就先输出TSN报文。
综上,一种TSN报文的调度方法实施例二在一种TSN报文的调度方法实施例一的基础上,增加TSN报文与非TSN报文的区别,使TSN报文的优先级高于非TSN报文,从而在TSN报文与非TSN报文的混合场景下满足TSN报文所需的低延时和延时稳定需求。
下面基于图6至图7介绍本发明的一种TSN报文的调度交换机实施例。
图6示出了本发明的一种TSN报文的调度交换机实施例一的结构,其包括:一级缓存610、二级缓存620、一级调度模块630和二级调度模块640。
一级缓存610用于缓存到达交换机的TSN报文。
二级缓存620包括多个队列,每个队列对应一个交换机的一个端口,按照队列的FIFO方法缓存输出到对应端口的TSN报文。
一级调度模块630用于根据TSN报文的时间戳从一级缓存中选择最先到达的TSN报文,并把该TSN报文同时并行调度到二级缓存中各对应队列。其原理和优点请参照一种TSN报文的调度交方法实施例一的步骤S110。
二级调度模块640用于选择一个二级缓存的队列,并根据TSN报文的时间戳从该队列中调度最先到达的TSN报文。其原理和优点请参照一种TSN报文的调度交方法实施例一的步骤S120。
图7示出了本发明的一种TSN报文的调度交换机实施例一的结构,其包括:一级缓存710、二级缓存720、报文区分模块730、一级调度模块740、二级调度模块750、非TSN报文调度模块760、优先级调度模块770。
一级缓存710用于缓存到达交换机的TSN报文。
二级缓存720包括多个队列,每个队列对应一个交换机的一个端口,按照队列的FIFO方法缓存输出到对应端口的TSN报文。
报文区分模块730用于把报文分为TSN报文和非TSN的报文,并把TSN报文存储按时间戳存储在一级缓存中。其原理和优点请参照一种TSN报文的调度交方法实施例二的步骤S210。
一级调度模块740用于根据TSN报文的时间戳从一级缓存中选择最先到达的TSN报文,并把该TSN报文同时并行调度到二级缓存中各对应队列。其原理和优点请参照一种TSN报文的调度交方法实施例二的步骤S220。
二级调度模块750用于选择一个二级缓存的队列,并根据TSN报文的时间戳从该队列中调度最先到达的TSN报文。其原理和优点请参照一种TSN报文的调度交方法实施例二的步骤S230。
非TSN报文调度模块760用于调度出各非TSN报文的出端口。其原理和优点请参照一种TSN报文的调度交方法实施例二的步骤S240。
优先级调度模块770用于把调度了出端口的TSN报文和非TSN报文根据优先级调度至出端口。其原理和优点请参照一种TSN报文的调度交方法实施例二的步骤S250。
本发明实施例还提供了一种计算设备,下面结合图8详细介绍。
该计算设备800包括,处理器810、存储器820、通信接口830、总线840。
应理解,该图所示的计算设备800中的通信接口830可以用于与其他设备之间进行通信。
其中,该处理器810可以与存储器820连接。该存储器820可以用于存储该程序代码和数据。因此,该存储器820可以是处理器810内部的存储单元,也可以是与处理器810独立的外部存储单元,还可以是包括处理器810内部的存储单元和与处理器810独立的外部存储单元的部件。
可选的,计算设备800还可以包括总线840。其中,存储器820、通信接口830可以通过总线840与处理器810连接。总线840可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(EFStended Industry StandardArchitecture,EISA)总线等。所述总线840可以分为地址总线、数据总线、控制总线等。为便于表示,该图中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
应理解,在本发明实施例中,该处理器810可以采用中央处理单元(centralprocessing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器810采用一个或多个集成电路,用于执行相关程序,以实现本发明实施例所提供的技术方案。
该存储器820可以包括只读存储器和随机存取存储器,并向处理器810提供指令和数据。处理器810的一部分还可以包括非易失性随机存取存储器。例如,处理器810还可以存储设备类型的信息。
在计算设备800运行时,所述处理器810执行所述存储器820中的计算机执行指令执行各方法实施例的操作步骤。
应理解,根据本发明实施例的计算设备800可以对应于执行根据本发明各实施例的方法中的相应主体,并且计算设备800中的各个模块的上述和其它操作和/或功能分别为了实现本实施例各方法的相应流程,为了简洁,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行各方法实施例的操作步骤。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括,具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括、但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,均属于本发明保护范畴。
Claims (9)
1.一种TSN报文调度的方法,其特征在于,包括:一级调度和二级调度;
所述一级调度根据TSN报文的时间戳从一级缓存中选择最先到达的TSN报文,并把该TSN报文同时并行调度到二级缓存中各对应的队列中,一个二级缓存的队列存储经过同一个端口输出的所有TSN报文,二级缓存中不同队列对应不同的出端口,在第一设定数目的***时钟周期内完成一个报文的一级调度,一级调度对一个报文的最大调度时间为源端口数*优先级别数*第一设定数;
所述二级调度选择二级缓存中一个队列,并根据TSN报文的时间戳调度出该队列中最先到达的TSN报文的出端口,在第二设定数目的***时钟周期内完成二级缓存的一个队列中一个报文的二级调度,二级调度对一个报文的最大调度时间为出端口数*第二设定数。
2.根据权利要求1所述方法,其特征在于,还包括:
把报文分为TSN报文和非TSN的报文,并把TSN报文存储在一级缓存中,其中,TSN报文的优先级高于非TSN的报文的优先级;
当一个TSN报文和非TSN的报文被同时调度出同一个出端口,根据报文优先级优先把该TSN报文调度至对应的端口。
3.根据权利要求1所述方法,其特征在于,所述选择二级缓存中一个队列,具体包括:
根据二级缓存中各队列对应的端口,轮询选择二级缓存中一个队列。
4.根据权利要求1所述方法,其特征在于,还包括:当根据TSN报文的时间戳在所选择的二级缓存的队列中最先到达的TSN报文多于1条时,调度其中优先级最高的报文至其出端口。
5.根据权利要求1所述方法,其特征在于,还包括:
当根据TSN报文的时间戳在一级缓存中选择最先到达的TSN报文多于1条时,选择其中优先级最高的TSN报文;以及
当所述优先级最高的TSN报文多于1条,则根据TSN报文的源端口轮询选择一条报文。
6.一种TSN报文调度的交换机,其特征在于,包括:一级调度模块和二级调度模块;
所述一级调度模块用于根据TSN报文的时间戳从一级缓存中选择最先到达的TSN报文,并把该TSN报文同时并行调度到二级缓存中各对应的队列中,一个二级缓存的队列存储经过同一个端口输出的所有TSN报文,二级缓存中不同队列对应不同的出端口,在第一设定数目的***时钟周期内完成一个报文的一级调度,一级调度对一个报文的最大调度时间为源端口数*优先级别数*第一设定数;
所述二级调度模块用于选择二级缓存中一个队列,并根据TSN报文的时间戳调度出该队列中最先到达的TSN报文的出端口,在第二设定数目的***时钟周期内完成二级缓存的一个队列中一个报文的二级调度,二级调度对一个报文的最大调度时间为出端口数*第二设定数。
7.根据权利要求6所述交换机,其特征在于,还包括:报文区分模块,用于把报文分为TSN报文和非TSN的报文,并把TSN报文存储在一级缓存中,其中,TSN报文的优先级高于非TSN的报文的优先级;
优先级调度模块,用于当一个TSN报文和非TSN的报文被同时调度出同一个出端口,根据报文优先级优先把该TSN报文调度至对应的端口。
8.一种计算设备,其特征在于,包括,
总线;
通信接口,其与所述总线连接;
至少一个处理器,其与所述总线连接;以及
至少一个存储器,其与所述总线连接并存储有程序指令,所述程序指令当被所述至少一个处理器执行时使得所述至少一个处理器执行权利要求1至5任一所述方法。
9.一种计算机可读存储介质,其特征在于,其上存储有程序指令,所述程序指令当被计算机执行时使得所述计算机执行权利要求1至5任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210763954.2A CN115086245B (zh) | 2022-06-29 | 2022-06-29 | 一种tsn报文调度的方法、交换机、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210763954.2A CN115086245B (zh) | 2022-06-29 | 2022-06-29 | 一种tsn报文调度的方法、交换机、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115086245A CN115086245A (zh) | 2022-09-20 |
CN115086245B true CN115086245B (zh) | 2023-10-03 |
Family
ID=83258539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210763954.2A Active CN115086245B (zh) | 2022-06-29 | 2022-06-29 | 一种tsn报文调度的方法、交换机、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115086245B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6850490B1 (en) * | 1999-10-06 | 2005-02-01 | Enterasys Networks, Inc. | Hierarchical output-queued packet-buffering system and method |
CN101505273A (zh) * | 2009-03-04 | 2009-08-12 | 中兴通讯股份有限公司 | 一种交换机及其实现虚拟私有网报文的调度方法 |
WO2017211252A1 (zh) * | 2016-06-08 | 2017-12-14 | 中兴通讯股份有限公司 | 业务流调度方法及装置、设备、存储介质 |
CN113627832A (zh) * | 2021-10-09 | 2021-11-09 | 国网江苏省电力有限公司营销服务中心 | 一种用于用电信息采集的任务多级智能调度方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050047425A1 (en) * | 2003-09-03 | 2005-03-03 | Yonghe Liu | Hierarchical scheduling for communications systems |
US10990441B2 (en) * | 2018-07-31 | 2021-04-27 | Nutanix, Inc. | Multi-level job processing queues |
-
2022
- 2022-06-29 CN CN202210763954.2A patent/CN115086245B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6850490B1 (en) * | 1999-10-06 | 2005-02-01 | Enterasys Networks, Inc. | Hierarchical output-queued packet-buffering system and method |
CN101505273A (zh) * | 2009-03-04 | 2009-08-12 | 中兴通讯股份有限公司 | 一种交换机及其实现虚拟私有网报文的调度方法 |
WO2017211252A1 (zh) * | 2016-06-08 | 2017-12-14 | 中兴通讯股份有限公司 | 业务流调度方法及装置、设备、存储介质 |
CN113627832A (zh) * | 2021-10-09 | 2021-11-09 | 国网江苏省电力有限公司营销服务中心 | 一种用于用电信息采集的任务多级智能调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115086245A (zh) | 2022-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11687374B2 (en) | Configurable logic platform with reconfigurable processing circuitry | |
EP1774714B1 (en) | Hierarchal scheduler with multiple scheduling lanes | |
US8891517B2 (en) | Switching device | |
US7843940B2 (en) | Filling token buckets of schedule entries | |
US8463967B2 (en) | Method and device for scheduling queues based on chained list | |
CN110100235B (zh) | 异类事件队列 | |
US10146468B2 (en) | Addressless merge command with data item identifier | |
US8775685B1 (en) | Parallel processing of network packets | |
CN102025639A (zh) | 队列调度方法及*** | |
US11134021B2 (en) | Techniques for processor queue management | |
CN114679415B (zh) | 一种满足AXI5-Lite协议标准的无阻塞banyan网络 | |
US7565496B2 (en) | Sharing memory among multiple information channels | |
US8599694B2 (en) | Cell copy count | |
EP1638273B1 (en) | Scheduling using quantum and deficit values | |
US20110055842A1 (en) | Virtual multiple instance extended finite state machines with wait rooms and/or wait queues | |
CN115086245B (zh) | 一种tsn报文调度的方法、交换机、设备及存储介质 | |
US20160085701A1 (en) | Chained cpp command | |
CN110868364B (zh) | 一种带宽隔离装置及方法 | |
CN102594670B (zh) | 多端口多流的调度方法、装置及设备 | |
US7583678B1 (en) | Methods and apparatus for scheduling entities using a primary scheduling mechanism such as calendar scheduling filled in with entities from a secondary scheduling mechanism | |
Kogan et al. | Towards software-defined buffer management | |
EP3110091B1 (en) | Output arbitration control method and device | |
US11743134B2 (en) | Programmable traffic management engine | |
US11461069B2 (en) | Multi-core audio processor with deadline scheduler | |
US11915041B1 (en) | Method and system for sequencing artificial intelligence (AI) jobs for execution at AI accelerators |
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 |