时间敏感网络门控列表实现方法及门控列表条目生成方法

文档序号:1834623 发布日期:2021-11-12 浏览:10次 >En<

阅读说明:本技术 时间敏感网络门控列表实现方法及门控列表条目生成方法 (Time-sensitive network gating list implementation method and gating list entry generation method ) 是由 詹双平 冯景斌 崔春来 成剑 于 2021-10-15 设计创作,主要内容包括:本发明公开了时间敏感网络门控列表实现方法及门控列表条目生成方法,所述时间敏感网络门控列表实现方法包括:接收门控列表配置指令,其中,门控列表配置指令中包括目标门控列表的数量N和目标端口,N为正整数,且N≥0;若N≥1,查找门控列表池中的空闲门控列表,其中,多个端口对应一个所述门控列表池;若空闲门控列表的数量不小于N,则读取每个目标门控列表的列表条目和循环周期,将各个目标门控列表的列表条目和循环周期分别写入至N个空闲门控列表,生成N个目标门控列表;配置目标端口和N个目标门控列表的映射关系。本发明能实现门控列表和端口之间灵活的映射,最大化利用硬件资源,使得单个端口最多能够承担的业务流的数量增大。(The invention discloses a method for realizing a time-sensitive network gating list and a method for generating entries of the gating list, wherein the method for realizing the time-sensitive network gating list comprises the following steps: receiving a gating list configuration instruction, wherein the gating list configuration instruction comprises the number N of target gating lists and target ports, N is a positive integer and is more than or equal to 0; if N is larger than or equal to 1, searching a free gating list in a gating list pool, wherein a plurality of ports correspond to one gating list pool; if the number of the idle gating lists is not less than N, reading list items and cycle periods of each target gating list, respectively writing the list items and cycle periods of each target gating list into the N idle gating lists, and generating N target gating lists; and configuring the mapping relation between the target port and the N target gating lists. The invention can realize flexible mapping between the gating list and the port, and maximally utilize hardware resources, so that the number of service flows which can be borne by a single port at most is increased.)

时间敏感网络门控列表实现方法及门控列表条目生成方法

技术领域

本发明涉及时间敏感网络技术领域,特别涉及时间敏感网络门控列表实现方法及门控列表条目生成方法。

背景技术

信息化技术带来工业自动化的深入变革,很多新的业务需要确定性的网络通信保证,如高质量音视频传输、远程医疗、无人机群控制等等,TSN(Time-SensitiveNetworking,时间敏感网络)被广泛应用,实现TSN技术的关键是要保证业务数据流的低时延可靠传送。

IEEE802.1Qbv,也称为时间感知整形(TAS:Time Aware Shaper)是TSN的一个核心协议,正是它的应用为时间敏感数据提供了确定性时延保证。TAS时间感知调度控制器,将数据流量划分为不同的类型,为时间敏感型关键数据分配特定的时间槽,确保该类数据的转发不受其他数据业务的干扰和阻塞。TAS是通过门控列表GCL(Gate Control List)实现精确时间调度的,通过门控列表GCL来控制每个队列在某一时刻的开关门状态,数据只有在开门的时候才可以进行发送,在关键数据发送前和发送中,我们会关闭其他数据的发送,以保证关键数据不会受到影响,这也是TAS能保证确定性的关键。门控列表是周期循环的,说明TAS适合为周期性数据提供延时的保障。

而在现有技术中,交换机每个端口会绑定两个GCL列表,一个是当前在运行的列表,另外一个接收新数据的配置列表,由于交换机中的存储资源比较紧缺,GCL列表的表项条目数量是固定的,GCL的条目数量决定了交换机能支持的时间敏感网络业务流数量,当一个端口承担的业务流很多时,网络控制器可能会输出一个条目数量过长的GCL列表以致于无法实施,单个端口最多能够承担的业务流的数量小。

因此,现有技术还有待改进和提高。

发明内容

针对现有技术的上述缺陷,本发明提供一种时间敏感网络门控列表实现方法、装置、交换机及存储介质,旨在解决现有技术中单个端口最多能够承担的业务流的数量少的问题。

为了解决上述技术问题,本发明所采用的技术方案如下:

本发明的第一方面,提供一种时间敏感网络门控列表实现方法,所述方法包括:

接收门控列表配置指令,其中,所述门控列表配置指令中包括目标门控列表的数量N和目标端口,N为正整数,且N≥0;

若N≥1,查找门控列表池中的空闲门控列表,其中,多个端口对应一个所述门控列表池;

若所述空闲门控列表的数量不小于N,则读取每个所述目标门控列表的列表条目和循环周期,将各个所述目标门控列表的列表条目和循环周期分别写入至N个所述空闲门控列表,生成N个所述目标门控列表;

配置所述目标端口和N个所述目标门控列表的映射关系。

本发明的第二方面,提供一种交换机,所述交换机包括处理器、与处理器通信连接的计算机可读存储介质,所述计算机可读存储介质适于存储多条指令,所述处理器适于调用所述计算机可读存储介质中的指令,以执行实现上述任一项所述的时间敏感网络门控列表实现方法的步骤。

本发明的第三方面,提供一种时间敏感网络门控列表配置装置,包括:

指令接收模块,所述指令接收模块用于接收门控列表配置指令,其中,所述门控列表配置指令中包括目标门控列表的数量N和目标端口,N为正整数,且N≥0;

资源查找模块,所述资源查找模块用于若N≥1,则查找门控列表池中的空闲门控列表,其中,多个端口对应一个所述门控列表池;

列表条目读取模块,所述列表条目读取模块用于在所述空闲门控列表的数量不小于N时,读取每个所述目标门控列表的列表条目和循环周期,将各个所述目标门控列表的列表条目和循环周期分别写入至N个所述空闲门控列表,生成N个所述目标门控列表;

映射模块,所述映射模块用于配置所述目标端口和N个所述目标门控列表的映射关系。

本发明的第四方面,提供一种时间敏感网络门控列表条目生成方法,包括:

获取时间敏感网络中的网络拓扑信息和目标业务流的业务流信息;

根据所述网络拓扑信息和所述目标业务流的业务流信息确定每个所述目标业务流的转发路径,为每个所述目标业务流在转发路径上分配时隙,实现所有所述目标业务流的时隙调度;

根据所有所述目标业务流的时隙调度结果确定目标端口的原始门控列表;

获取目标端口对应的目标门控列表数量N,将所述目标端口的原始门控列表中的列表条目拆分为N个条目集合,每个条目集合中包括至少一条列表条目,得到每个所述目标门控列表的列表条目,N为正整数,N≥1。

本发明的第五方面,提供一种时间敏感网络门控列表条目生成方法,包括:

获取时间敏感网络中的网络拓扑信息和目标业务流的业务流信息;

获取目标端口对应的目标门控列表数量N,根据每个所述目标业务流的业务周期将所有的所述目标业务流分为N组,N为正整数,N≥1;

根据预设的调度约束条件对所有所述目标业务流分配时隙,根据时隙分配结果生成目标端口对应的每个所述目标门控列表中的列表条目;

其中,所述调度约束条件为:属于同一组的所述目标业务流的时隙不允许重叠,并且,属于不同组的所述目标业务流的时隙不允许重叠且不允许相邻。

本发明的第六方面,提供一种网络控制器,所述网络控制器包括处理器、与处理器通信连接的计算机可读存储介质,所述计算机可读存储介质适于存储多条指令,所述处理器适于调用所述计算机可读存储介质中的指令,以执行实现上述第四方面和/或第五方面提供的时间敏感网络门控列表实现方法的步骤。

本发明的第七方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现本发明第一方面提供的时间敏感网络门控列表实现方法的步骤和/或本发明第四方面提供的时间敏感网络门控列表条目生成方法的步骤和/或本发明第五方面提供的时间敏感网络门控列表条目生成方面的步骤。

与现有技术相比,本发明提供了时间敏感网络门控列表实现方法及门控列表条目生成方法,本发明提供的时间敏感网络门控列表实现方法中,设置有门控列表池,每个端口可以映射多个门控列表。在单个门控列表的条目的数量受限的情况下,可以使用门控列表池中空闲的门控列表资源来配置门控列表条目,这样,在同样的交换机的存储资源的约束下,承担较多的业务流的端口可以占用更多的门控列表资源,承担较少的业务流的端口可以释放出不需要的门控列表资源,门控列表资源和端口可以根据需要进行灵活的映射,最大化利用硬件资源,使得单个端口最多能够承担的业务流的数量增大。并且在一个端口映射多个门控列表时,支持两种门控列表生成方法。第一种方法可以将大量的门控列表条目加载到不同的门控列表中顺序执行,相当于将多个小的门控列表合并为一个大的门控列表,实现了表项大小的灵活扩展。第二种方法支持多个门控列表以不同的周期并行交错执行,可以避免由于业务周期差异而产生的大量重复冗余条目,节省表项资源。

附图说明

图1为本发明提供的时间敏感网络门控列表实现方法的实施例的流程图;

图2为通过GCL列表控制开关门状态的示意图;

图3为门控列表与端口之间为固定的一一映射关系的示意图;

图4为本发明提供的时间敏感网络门控列表实现方法的实施例中门控列表池的示意图;

图5为本发明提供的时间敏感网络门控列表实现方法的实施例中门控列表池实现的示意图;

图6为本发明提供的时间敏感网络门控列表实现方法的实施例中配置映射关系的逻辑框图;

图7为本发明提供的时间敏感网络门控列表实现方法的实施例中目标端口和目标门控列表的映射结构示意图;

图8为本发明提供的时间敏感网络门控列表配置装置的实施例的结构原理图;

图9为本发明提供的交换机的实施例的原理示意图;

图10为本发明提供的第一种时间敏感网络门控列表条目生成方法的实施例的流程图;

图11为本发明提供的第一种时间敏感网络门控列表条目生成方法的实施例的逻辑框图;

图12为本发明提供的第一种时间敏感网络门控列表条目生成方法的实施例中对原始门控列表条目进行拆分的示意图;

图13为本发明提供的第二种时间敏感网络门控列表条目生成方法的实施例的流程图;

图14为本发明提供的第二种时间敏感网络门控列表条目生成方法的实施例的逻辑框图;

图15为本发明提供的第二种时间敏感网络门控列表条目生成方法的实施例中约束条件的示意图一;

图16为本发明提供的第二种时间敏感网络门控列表条目生成方法的实施例中约束条件的示意图二;

图17为本发明提供的第二种时间敏感网络门控列表条目生成方法的实施例的效果图;

图18为本发明提供的网络控制器的实施例的原理示意图。

具体实施方式

为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

在时间敏感网络中,通过门控列表GCL来控制每个队列在某一时刻的开关门状态,具体地,门控列表中的每个条目中规定了队列状态和该条目的执行时刻,由于所有的业务流有一定的业务周期,门控列表中的列表条目是循环执行的,门控列表中还包括循环周期,如图2所示,以T1时刻为例,该时刻队列7到队列0的开关门状态分别是10000000(1表示开门,0表示关门),数据只有在开门的时候才可以进行发送,也就是说该时刻只有队列7可以发送数据。发明人发现,当交换机中的端口与门控列表是固定的一一映射关系时,如图3所示,交换机每个端口会绑定a和b两个门控列表,一个是当前在运行的列表,另外一个接收新数据的配置列表,当新增或者删除业务需要更新门控列表条目时,为了避免中断在运行的业务,需要将新的表项下发到配置列表中,然后再将配置列表切换为运行列表,并将原来的运行列表切换为配置列表,对于支持16个端口的交换机,需要32个门控列表,如果每个门控列表支持的条目数是256个,每个条目位宽为32bit(其中8bit对应8个队列的开关状态,24bit对应条目的持续时间),则一共需要32*256*32bit=256Kbit的存储资源。存储是交换机中比较紧缺的资源,在存储资源不足的情况下,会限制每个门控列表中条目的数量,而端口绑定的门控列表的条目数量又决定了交换机能支持的TSN流数量,当端口承担业务流增多时,控制器可能会输出一个超出设备能力范围的长门控列表以致于无法实施,也就是端口最多能够承担的业务流的数量较少,无法实现一个端口承担很多的流。

为了解决上述问题中的至少一个问题,本发明提供一种时间敏感网络门控列表实现方法及门控列表条目生成方法,本发明提供的时间敏感网络门控列表实现方法,可以是由时间敏感网络中任一个网络节点的交换机执行,本发明提供的时间敏感网络门控列表条目生成方法,可以是由时间敏感网络的网络控制器执行。

实施例一

如图1所示,所述时间敏感网络门控列表实现方法的一个实施例中,包括步骤:

S100、接收门控列表配置指令,其中,所述门控列表配置指令中包括目标门控列表的数量N和目标端口,N为正整数且N≥0。

具体地,所述门控列表配置指令可以是由网络控制器下发给交换机,网络控制器先获取目标端口对应的目标门控列表的数量,可以是接收指令设置所述目标门控列表的数量,或者是采取默认值等。

S200、若N≥1,查找门控列表池中的空闲门控列表,其中,多个端口对应一个所述门控列表池。

具体地,在本实施例中,如图4所示,设置有门控列表池,每个交换机设备上有多个端口,多个端口共用一个所述门控列表池,门控列表池中设置有多个独立的门控列表,所述门控列表池中的空闲门控列表是当前没有与任何端口建立映射关系的门控列表,所述门控列表池中的空闲门控列表可以用于写入门控列表条目,生成所述目标门控列表。若所述网络控制器下发的所述门控列表配置指令中的所述目标门控列表的数量N≥1,说明所述目标端口需要建立与N个门控列表的映射。若N=0,说明所述目标端口不需要建立与门控列表的映射,那么,可以解除所述目标端口当前的映射关系,解除端口和门控列表的映射关系后,将不存在映射关系的门控列表清空,将其转为空闲门控列表,可以用来写入其他端口对应的门控列表条目。具体地,所述门控列表配置指令中还包括生效时刻,若N=0,在生效时刻解除所述目标端口当前的映射关系。

S300、若所述空闲门控列表的数量不小于N,则读取每个所述目标门控列表的列表条目和循环周期,将各个所述目标门控列表的列表条目和循环周期分别写入至N个所述空闲门控列表,生成N个所述目标门控列表。

具体地,每个所述目标门控列表的列表条目和循环周期、生效时刻等是所述网络控制器下发给交换机设备,可以是随着所述目标门控列表的数量N和目标端口一起下发,或者在交换机设备上报所述门控列表池中的空闲门控列表数量不小于N后,所述网络控制器再下发。

S400、配置所述目标端口和N个所述目标门控列表的映射关系。

所述配置所述目标端口和N个所述目标门控列表的映射关系,包括:

获取每个所述目标门控列表的生效时刻;

控制每个所述目标门控列表在对应的生效时刻生效。

具体地,所述门控列表池中输出每个端口的队列时间门控状态(GCL_Status),作为每个端口的输出队列的开门和关门的条件。如图5所示,所述门控列表池中的每个门控列表是独立的,每个被写入列表条目后的门控列表的生效时刻到后,可以同时独立循环输出其时间门控列表条目的内容GCL_Out以及GCL_Out开始生效的脉冲信号GCL_Change。

当所述目标端口和N个所述目标门控列表的映射关系建立,所述目标端口对应的所述目标门控列表生效后,所述门控列表池根据所述目标门控列表中的各个条目输出GCL_Status,控制所述目标端口的各个队列的开门或关门。具体地,可以通过多个独立的GCL复用器GCL_Mux对应控制各个端口的时间门控输出,所述目标端口的GCL复用器根据所述目标端口的映射关系在门控列表池中选择1个或者多个所述目标门控列表作为输入来源,所述目标端口的GCL复用器使用多个输入来源的GCL_Change作为锁存标志,分别锁存对应门控列表输出的GCL_Out作为所述目标端口时间门控状态GCL_Status的输出。即,所述配置所述目标端口和N个所述目标门控列表的映射关系之后,还包括:

获取所述目标端口映射的所述目标门控列表中生效的门控列表中的所有列表条目的生效时刻;

当达到目标列表条目的生效时刻时,将当前生效的列表条目切换为所述目标列表条目。

所述目标端口对应的每个所述目标门控列表在生效后都可以独立地输出门控列表条目,在同一时刻,所述目标端口的所有所述目标门控列表的列表条目中不会同时存在两条生效的列表条目,即所述目标端口对应的所有所述目标门控列表中的列表条目之间互不冲突。具体地,交换机中可以设置GCL管理模块,用于接收来自网络控制器的配置命令、完成对门控列表池的门控列表的配置和查询以及完成GCL复用器的配置和查询。

本实施例提供的时间敏感网络门控列表实现方法的一个实施例的逻辑框图可以如图6所示:

S01:GCL管理模块收到来自TSN控制器的命令,需要配置x个GCL并将其映射绑定到端口y,跳转到S02;

S02:GCL管理模块查询当前门控列表池中的门控列表使用情况;

S03:如果当前门控列表池中有大于等于x个空闲的GCL可供使用,跳转到S4;否则直接结束,报告“当前GCL资源不足”给网络控制器;

S04:GCL管理模块选择x个空闲的GCL(GCL1、GCL2…GCLx),按网络控制器的命令配置其列表条目、循环时间和生效时刻(GCL_BaseTime),跳转到S5;

S05:GCL管理模块配置端口y对应的GCL_Mux复用器,根据GCL的生效时刻来配置GCL_Mux的生效时刻和输入源。不同的GCL可以在同一时刻生效,也可以在不同时刻生效。

a)在同一时刻生效时:

若GCL1、GCL2…GCLx的生效时刻为t0,则在t0时刻GCL_MUX将GCL1、GCL2…GCLx同时加入到输入源;

b)在不同时刻生效时:

若GCL1生效时刻为t1,则在t1时刻GCL_MUX将GCL1加入到输入源;

若GCL2生效时刻为t2,则在t2时刻GCL_MUX将GCL2加入到输入源,此时GCL_MUX具有GCL1和GCL2共两个输入源;

若GCLx生效时刻为tx,则在tx时刻GCL_MUX将GCLx加入到输入源,此时GCL_MUX具有GCL1、GCL2…GCLx共x个输入源;

S06:分别检查GCL生效时刻是否到达(将输入PTP全网同步时间与生效时刻比较),如果生效时刻到,跳转到S7,否则继续等待,此时端口y仍按上一次配置继续正常输出。

S07:端口y对应的GCL以及GCL_MUX同时生效,开始按照本次配置进行正常输出。

从以上的说明不难看出,通过本实施例提供的时间敏感网络门控列表实现方法,可以实现门控列表和端口之间的灵活映射,即可以设置任意门控列表与任意端口之间的映射,如图7所示,图7为将GCL1、GCL2和GCL3绑定到端口1的最终映射结构,GCL1、GCL2和GCL3每个列表都会独立地输出8个队列的控制信息,当任意一个GCL列表条目执行时,复用器都会将当前执行的GCL条目作为输出来更新队列开关的状态,并维持此状态直到下一个GCL条目执行为止。通过本实施例提供的方法,空闲端口可以释放门控列表资源,繁忙端口可以获得更多的门控列表资源,同时所有端口不再需要专门的备份门控列表用于表项更新,任何一个门控列表都可以作为其他任意端口的配置列表,在更新配置时,只需要更改GCL复用器的配置即可,从工程实施角度可以做到低代价、易实现。

综上所述,本实施例提供一种时间敏感网络门控列表实现方法,设置有门控列表池,每个端口可以映射多个门控列表,在单个门控列表的条目的数量受限的情况下,可以使用门控列表池中空闲的门控列表资源来配置门控列表条目,这样,在同样的交换机的存储资源的约束下,承担较多的业务流的端口可以占用更多的门控列表资源,承担较少的业务流的端口可以释放出不需要的门控列表资源,门控列表资源和端口可以根据需要进行灵活的映射,最大化利用硬件资源,使得单个端口最多能够承担的业务流的数量增大。

应该理解的是,虽然本发明说明书附图中给出的的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取计算机可读存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

实施例二

基于上述实施例一,本发明还相应提供了一种时间敏感网络门控列表配置装置,如图8所示,所述时间敏感网络门控列表配置装置包括:

指令接收模块,所述指令接收模块用于接收门控列表配置指令,其中,所述门控列表配置指令中包括目标门控列表的数量N和目标端口,N为正整数,且N≥0具体如实施例一中所述;

资源查找模块,所述资源查找模块用于若N≥1,则查找门控列表池中的空闲门控列表具体如实施例一中所述;

列表条目读取模块,所述列表条目读取模块用于在所述空闲门控列表的数量不小于N时,读取每个所述目标门控列表的列表条目和循环周期,将各个所述目标门控列表的列表条目和循环周期分别写入至N个所述空闲门控列表,生成N个所述目标门控列表具体如实施例一中所述;

映射模块,所述映射模块用于配置所述目标端口和N个所述目标门控列表的映射关系,具体如实施例一中所述。

实施例三

基于上述实施例一,本发明还相应提供了一种交换机,如图9所示,所述交换机包括处理器110以及存储器120。图9仅示出了交换机的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。

所述存储器120在一些实施例中可以是所述交换机的内部存储单元,例如交换机的硬盘或内存。所述存储器120在另一些实施例中也可以是所述交换机的外部存储设备,例如所述交换机上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器120还可以既包括所述交换机的内部存储单元也包括外部存储设备。所述存储器120用于存储安装于所述交换机的应用软件及各类数据。所述存储器120还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,存储器120上存储有时间敏感网络门控列表配置程序130,该时间敏感网络门控列表配置程序130可被处理器110所执行,从而实现本申请中时间敏感网络门控列表实现方法。

所述处理器110在一些实施例中可以是一中央处理器(Central ProcessingUnit, CPU),微处理器或其他芯片,用于运行所述存储器120中存储的程序代码或处理数据,例如执行所述时间敏感网络门控列表实现方法等。

基于上述实施例一提供的时间敏感网络门控列表实现方法,本发明还提供了时间敏感网络门控列表条目生成方法,以生成所述目标端口对应的各个所述目标门控列表的条目。正如前面所说明的,所述目标端口对应的各个所述目标门控列表中的的所有列表条目对应的门控事件均不能冲突。

实施例四

本发明提供的时间敏感网络门控列表条目生成方法的一个实施例中,如图10所示,包括步骤:

S110、获取时间敏感网络中的网络拓扑信息和目标业务流的业务流信息。

具体地,所述目标业务流可以为所述时间敏感网络中的全部业务流或部分业务流。

S120、根据所述网络拓扑信息和所述目标业务流的业务流信息确定每个所述目标业务流的转发路径,为每个所述目标业务流在转发路径上分配时隙,实现所有所述目标业务流的时隙调度。

具体地,所述网络拓扑信息包括所述时间敏感网络中的各个节点和链路时延,所述目标业务流的业务流信息包括目标业务流的业务源节点、宿节点、周期、包长、时延要求等。根据所述网络拓扑信息和所述目标业务流的业务流信息,基于每个目标业务流从源节点经过转发节点转发到达宿节点的时延和抖动尽可能小的约束为每个所述目标业务流在转发路径上分配时隙,所有所述目标业务流的时隙应均不重叠。在对所有所述目标业务流的时隙调度后,就得到了在每个节点中什么时刻需要打开或关闭队列开关使得对应的所述目标业务流的报文被转发。时隙调度可以采用任一种时隙调度方法实现。

S130、根据所有所述目标业务流的时隙调度结果确定目标端口的原始门控列表。

时隙调度结果中包括了节点中打开或关闭开关的时刻,根据所述时隙调度结果就可以得到目标端口的原始门控列表,所述目标端口的原始门控列表中包括记录了经由所述目标端口的队列开门事件和关门事件的执行时刻的列表条目,以及所述原始门控列表的列表条目的循环周期,所述原始门控列表的循环周期为所有所述目标业务流的业务周期的最小公倍数。

S140、获取目标端口对应的目标门控列表数量N,将所述目标端口的原始门控列表中的列表条目拆分为N个条目集合,每个条目集合中包括至少一条列表条目,得到每个所述目标门控列表的列表条目,N为正整数,N≥1。

所述目标端口对应的目标门控列表数量N可以是由人员指定或者是取默认值或者是根据经由所述目标端口转发的业务流的数量得到。

所述将所述目标端口的原始门控列表中的门控列表条目拆分为N个条目集合,得到每个所述目标门控列表的列表条目,包括:

将第n个条目集合中的列表条目作为第n个所述目标门控列表中的门控列表条目,n为正整数,n≤N;

设置每个所述目标门控列表的生效时刻和循环周期与所述原始门控列表相同。

具体地,可以将所述原始门控列表中包括的k个条目记为...。对于其中的第i个条目,其执行时刻(即该条目的生效时刻)为,那么第i个条目的持续时间可以表示为,所述原始门控列表中所有条目的持续时间之和就是所述原始门控列表的循环周期T,即:

将所述原始门控列表中的k个条目拆分成N个部分,得到N个条目集合,每个所述条目集合中的条目数量不小于1,每个所述条目集合中的条目的数量可以分别表示为...,那么有:

在本实施例提供的时间敏感网络门控列表条目生成方法中,所述目标端口对应的每个所述目标门控列表和所述目标端口的所述原始门控列表的生效时刻和循环周期相同。

具体地,将所述目标端口的原始门控列表的列表条目拆分为N个条目集合后,分别将每个条目集合中的条目作为一个所述目标门控列表中的列表条目,即将第n个条目集合中的列表条目作为第n个所述目标门控列表中的门控列表条目。在另一种可能的实现方式中,每个条目集合中的列表条目是连续的,每个所述目标门控列表的第一条条目都可以是所述原始门控列表的第一个条目,其余的条目为对应的条目集合中的条目,即每个所述目标门控列表的条目的生成步骤可以如下:

将第一个条目集合中的个条目适配到第一个目标门控列表中,包括:

设置的第一个条目为,执行时间为

设置的第二个条目为,执行时间为

依次直到最后一个条目为,执行时间为,且这个条目需要一直持续到周期结束,即

将第二个条目集合中的个条目适配到第二个目标门控列表中,包括:

设置的第一个条目为,执行时间为

设置的第二个条目为,执行时间为

依次直到最后一个条目为,执行时间为,且这个条目需要一直持续到周期结束,即

将第i个条目集合中的个条目适配到第i个目标门控列表中,包括:

设置的第一个条目为,执行时间为

设置的第二个条目为,其执行时间为

依次直到最后一个条目,执行时间为,且这个条目需要一直持续到周期结束,即

直至完成所有N个目标门控列表条目的适配。

例如:调度器输出了一个具有30个条目的原始门控列表,超出了交换机中门控列表的条目容量,可以将其拆分并适配到3个不同的门控列表中,在与目标端口建立映射关系。步骤如下:

将30个条目分为3个连续不相交的部分,每部分包含10个条目;

设置具有相同的生效时刻和循环周期,循环周期等于原始门控列表的循环周期。

如图12所示,将条目1~10填写到,将条目1和11~20填写到,将条目1和21~30填写到,得到3个门控列表中的条目。

可以看出,3个门控列表具有相同的生效时刻和循环周期,且除了第一个表项相同外,其他表项均不相同,各个列表按照条目的执行时间顺序执行,实际上将多个物理上的GCL列表在逻辑上拼接为了一个大的GCL列表。其优势在于可以方便的扩展GCL表项的大小,且对调度器没有额外的要求,可以兼容任意调度器,只需要将调度器输出的表项进行简单的拆分即可。

当然,本领域技术人员可以理解,上述只是举例而已,实际上,每个所述目标门控列表的第一个条目可以不是所述原始门控列表中的第一个条目,而是对应的所述条目集合中的第一个条目,每个条目集合中的条目也可以是所述原始门控列表中的不连续的条目。在生成每个所述目标门控列表分别对应的列表条目后,将列表条目下发至交换机设备,逻辑框图可以如图11所示。

实施例五

对根据经由目标端口的所有业务流进行总体调度可能会导致门控列表中存在大量的冗余条目,例如,两条流的周期分别是2和3,为了避免冲突,需要在整个调度周期内预留时隙,调度周期的长度等于两条流业务周期的最小公倍数,在此例中为LCM(2,3)=6,Flow1在整个调度周期内占用了3个时隙,而Flow2在调度周期内占用了2个时隙,因此一共有5个时隙共需要10个GCL条目(时隙的开始和结束分别对应队列打开和关闭,在GCL列表中就会占用两条表项),这些重复冗余的时隙消耗了大量的表项资源。随着流数量的增加及业务周期差异的增大,重复冗余条目所消耗的资源会越发严重。以IEEE/IEC 60802定义的智能工厂场景为例,在16个交换机构成的网络中,存在{100us、1ms、2ms、3ms、4ms、10ms、15ms、20ms}等多种不同周期的业务流,仿真显示在整个网络部署了645条流的情况下,最多的端口需要消耗14676个GCL条目,换算成实际的物理资源,该端口需要约1Mbit的RAM(2*14676*32bits=939264bits)来存储这些GCL条目,但实际上此端口只承载了89条流,效率极低。需要如此多条目的原因在于不同业务流的周期差异太大,导致的重复冗余时隙太多;比如一条100us的流在调度周期(60ms)内就要重复600次,占用600个时隙,这些重复冗余条目需要消耗大量的表项资源。

在实施例四提供的时间敏感网络门控列表生成方法中,是根据全部的目标业务流生成一个原始门控列表,生成的原始门控列表的周期是全部目标业务流的业务周期的最小公倍数,生成的各个目标门控列表的循环周期与原始门控列表的周期相等,这样就不能避免门控列表内存在重复的条目,即冗余条目。为了进一步解决该问题,本发明还提供了另一种时间敏感网络门控列表生成方法来生成目标端口对应的各个目标门控列表中的列表条目,如图13所示,该方法的实施例中,包括步骤:

S210、获取时间敏感网络中的网络拓扑信息和目标业务流的业务流信息。

具体地,所述目标业务流可以为所述时间敏感网络中的全部业务流或部分业务流。

具体地,所述网络拓扑信息包括所述时间敏感网络中的各个节点和链路时延,所述目标业务流的业务流信息包括目标业务流的业务源节点、宿节点、周期、包长、时延要求等。根据所述网络拓扑信息和所述目标业务流的业务流信息,可以确定每个所述目标业务流的转发路径。

S220、获取目标端口对应的目标门控列表数量N,根据每个所述目标业务流的业务周期将所有的所述目标业务流分为N组,N为正整数,N≥1。

所述目标端口对应的目标门控列表数量N可以是由人员指定或者是取默认值或者是根据经由所述目标端口转发的业务流的数量得到。

为了减少目标端口对应的目标门控列表中的冗余条目,在本实施例中,根据每个所述目标业务流的业务周期将所有的所述目标业务流分为N组,属于不同组的所述目标业务流的时隙开关门事件被分至不同的所述目标门控列表中。所有的业务流集合使用F表示,若存在N组GCL,则将F按照业务周期分为等N组。具体地,所述根据每个所述目标业务流的业务周期将所有的所述目标业务流分为N组,包括:

按照使得属于同一组的所述目标业务流的业务周期的最小公倍数和最大公约数的比值满足预设条件的原则将所有的所述目标业务流分为N组。

要使得门控列表中的重复条目减少,就要降低门控列表的循环周期,在本实施例中,所述预设条件可以为同一组内所有所述目标业务流的最小公倍数和最大公约数的比值最小,或者,同一组内所有所述目标业务流的最小公倍数和最大公约数的比值低于一个预设阈值。降低同一组内的所有所述目标业务流的最小公倍数和最大公约数的比值,可以降低同一组内的所有所述目标业务流在该组对应的门控列表中的重复次数,从而减少重复冗余的表项消耗。

以分组原则是使得同一组内所有流业务周期的最小公倍数和最大公约数的比值最小为例,在有4种业务周期{2ms、4ms、5ms、10ms}的场景,如果使用2个门控列表并行交错控制,可以将业务流按照周期分为={2ms、4ms}和={5ms、10ms}两组,分别表示周期为{2ms、4ms}以及周期为{5ms、10ms}的流集合。

S230、根据预设的调度约束条件对所有所述目标业务流分配时隙,根据时隙分配结果生成目标端口对应的每个所述目标门控列表中的列表条目。

所述调度约束条件为:属于同一组的所述目标业务流的时隙不允许重叠,并且,属于不同组的所述目标业务流的时隙不允许重叠且不允许相邻。

具体地,所有所述目标业务流的调度周期为所有所述目标业务流的周期的最小公倍数,对所有所述目标业务流分配时隙的目的是要确保所有的流在调度周期内不冲突。将调度周期表示为:HP。

在调度时,对于任意的所述目标业务流,业务周期为,其在调度周期内需要重复次,将的第次重复时隙的起时刻记为,用表示第一个时隙相对调度周期起始时刻的偏移量,那么有:

相应地,将的第次重复时隙的结束时刻记为,用表示的传输时长,的包长和链路速率有关,那么有:

如图15所示,普通的时隙调度只需要保证任意两个时隙不重叠即可,允许两个时隙紧挨在一起,即下一个时隙的开始时刻可以等于上一个时隙的结束时刻,这种情况下,流的结束事件和流的开始事件可以合并为一个门控列表条目。但是在一个端口对应多个门控列表的实现中,如果两个时隙分别属于不同的门控列表来控制,而这两个事件又同时发生,会产生门控列表条目冲突,因此,在本实施例中,如图16所示,除了属于同一组的所述目标业务流的时隙不允许重叠(允许相邻)的约束之外,还设置有属于不同组的所述目标业务流的时隙不允许重叠且不允许相邻的约束。属于不同组的时隙之间至少要间隔一定的安全距离以确保在不同的门控列表中分别执行的条目有明确的先后顺序,避免发生冲突,安全距离可以用表示。

属于同一组的所述目标业务流的时隙不允许重叠(允许相邻)的约束可以表示为:

属于不同组的所述目标业务流的时隙不允许重叠且不允许相邻的约束可以表示为:

针对上述约束进行求解,计算出满足约束的所有所述目标业务流的时隙调度方案,获得每个所述目标业务流每个时隙的开始和结束时间,即,得到

将在所述目标端口上的时隙调度合成到N个不同的门控列表,得到所述目标端口对应的N个所述目标门控列表的条目。

具体地,所述根据时隙分配结果生成目标端口对应的每个所述目标门控列表中的列表条目,包括:

获取所述目标端口的调度结果中的第一个时隙的起始时刻,确定所述第一个时隙的起始时刻对应的所述目标业务流所属的目标分组,根据所述目标分组中的所有所述目标业务流的业务周期确定第n个所述目标门控列表的循环周期

设置为第n个所述目标门控列表的生效时刻,在所述目标端口的调度结果中提取范围内的所有属于所述目标分组的时隙位置和每个时隙位置对应的开关门事件;

时刻对应的开关门事件作为第n个所述目标门控列表中的第一个列表条目,其他开关门事件按时隙位置顺序依次作为第n个所述目标门控列表中的后续条目,且后续条目的执行时刻是以为基准获得的相对时刻,得到第n个所述目标门控列表对应的全部列表条目;

在所述目标端口的调度结果中删除属于所述目标分组的所有时隙信息,对所述目标端口的调度结果进行更新后,重新执行所述获取所述目标端口的调度结果中第一个时隙的起始时刻的步骤,直至得到所有所述目标门控列表分别对应的全部列表条目。

具体地,得到目标门控列表中的条目,包括:

找到调度结果中第一个时隙的起始位置,记为

找到时刻对应流所属的分组,假设为

设置的循环周期等于分组中所有流周期的最小公倍数;

从时隙调度结果中提取范围内所有属于分组的时隙位置;

上述时隙的位置信息是以调度周期的起始时刻作为基准的,需要更改为以为基准,即将上述时隙位置信息减去获得与的相对位置。

时刻对应的事件作为的第一个条目,其他事件依次作为的后续条目,且这些条目的执行时刻是以为基准获得的相位位置。

设置的生效时刻

从调度结果中删除属于分组的所有时隙信息,得到新的调度结果。

得到目标门控列表中的条目,包括:

从前述步骤中获得的新的调度结果中找到第一个时隙的起始位置,记为

找到时刻对应流所属的分组,假设为

设置的循环周期等于分组中所有流周期的最小公倍数;

从调度结果中提取范围内所有属于分组的时隙位置;

上述时隙的位置信息是以调度周期的起始时刻作为基准的,需要更改为以为基准,即将上述时隙位置信息减去获得与的相对位置。

时刻对应的事件作为的第一个条目,其他事件依次作为的后续条目,且这些条目的执行时刻为以为基准获得的相位位置。

设置的生效时刻

从调度结果中删除属于分组的所有时隙信息,得到新的调度结果。

重复上述步骤,直到得到所有N个所述目标门控列表中的条目。在得到所有N个所述目标门控列表中的条目后,下发到所述目标端口对应的交换机设备,逻辑框图可以如图14所示。

例如,有两条流,其周期分别是。调度结果如图17所示,调度周期为。在调度周期内,重复了三次,重复了2次,一共5个时隙,每个时隙的起始和结束时间如图17所示。将这个调度结果合成到2个门控列表中。

在合成时,

以调度结果中的第一个时隙的起始时刻作为,设置的生效时刻为

确定所属的流及其分组

设置的周期等于分组中所有流周期的最小公倍数,即

找到在范围内属于分组的所有时隙位置,即。将这两个事件作为的两个条目。

在合成时,与相关的时隙已经被删除,第一个时隙变成的时隙,将其起始时刻作为,设置的生效时刻为,并找到在范围内属于组2的所有时隙位置,只有。将这两个事件作为的两个条目。

从图17中可以看到,如果使用一个门控列表来合成调度结果,需要10个条目,而使用2个门控列表合成调度加过,每个表只需要2个条目即可,一共4个条目,两个门控列表以各自的生效时间和循环周期独立执行,所有的条目在执行时不会产生冲突,且最终的执行效果与使用一个门控列表顺序执行所有条目的效果相同。

为了验证本实施例提供的时间敏感网络门控列表条目生成方法的效果,针对更大规模网络进行仿真评估,以智能工厂场景为例,在16个交换机构成的网络中,存在{100us、1ms、2ms、3ms、4ms、10ms、15ms、20ms}等多种不同周期的业务流,如果使用一个GCL列表,在整个网络部署了645条流的情况下,最多的端口需要消耗14676个GCL条目(但此端口只承载了89条流)。如果将上述业务流分为{100us},{1ms、2ms、3ms、4ms},{10ms、15ms、20ms}等三组,使用3个GCL列表来控制,则此端口的每个GCL分别只需要22、234和306个条目,3个GCL消耗的总条目数为562,相比原来的14676下降了96%,说明本实施例提供的时间敏感网络门控列表条目生成方法对消除冗余重复条目具有明显的效果。

实施例六

本发明还相应提供了一种网络控制器,如图18所示,所述网络控制器包括处理器210以及存储器220。图18仅示出了交换机的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。

所述存储器220在一些实施例中可以是所述交换机的内部存储单元,例如交换机的硬盘或内存。所述存储器220在另一些实施例中也可以是所述交换机的外部存储设备,例如所述交换机上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器220还可以既包括所述交换机的内部存储单元也包括外部存储设备。所述存储器220用于存储安装于所述交换机的应用软件及各类数据。所述存储器220还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,存储器220上存储有时间敏感网络门控列表条目生成程序230,该时间敏感网络门控列表配置程序230可被处理器210所执行,从而实现本申请中时间敏感网络门控列表实现方法。

所述处理器210在一些实施例中可以是一中央处理器(Central ProcessingUnit, CPU),微处理器或其他芯片,用于运行所述存储器220中存储的程序代码或处理数据,例如执行实施例四和/或实施例五提供的时间敏感网络门控列表实现方法等。

实施例七

本发明还提供一种计算机可读存储介质,其中,存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上所述的时间敏感网络门控列表实现方法的步骤和/或时间敏感网络门控列表条目生成方法的步骤。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

27页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:传输速率控制方法、装置、电子设备和可读存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!