CN113645149B - 时间敏感网络门控列表实现方法 - Google Patents

时间敏感网络门控列表实现方法 Download PDF

Info

Publication number
CN113645149B
CN113645149B CN202111200856.XA CN202111200856A CN113645149B CN 113645149 B CN113645149 B CN 113645149B CN 202111200856 A CN202111200856 A CN 202111200856A CN 113645149 B CN113645149 B CN 113645149B
Authority
CN
China
Prior art keywords
list
gating
target
lists
time
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
Application number
CN202111200856.XA
Other languages
English (en)
Other versions
CN113645149A (zh
Inventor
詹双平
冯景斌
崔春来
成剑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peng Cheng Laboratory
Original Assignee
Peng Cheng Laboratory
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Peng Cheng Laboratory filed Critical Peng Cheng Laboratory
Priority to CN202111200856.XA priority Critical patent/CN113645149B/zh
Priority to CN202111643220.2A priority patent/CN114500392B/zh
Publication of CN113645149A publication Critical patent/CN113645149A/zh
Application granted granted Critical
Publication of CN113645149B publication Critical patent/CN113645149B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了时间敏感网络门控列表实现方法及门控列表条目生成方法,所述时间敏感网络门控列表实现方法包括:接收门控列表配置指令,其中,门控列表配置指令中包括目标门控列表的数量N和目标端口,N为正整数,且N≥0;若N≥1,查找门控列表池中的空闲门控列表,其中,多个端口对应一个所述门控列表池;若空闲门控列表的数量不小于N,则读取每个目标门控列表的列表条目和循环周期,将各个目标门控列表的列表条目和循环周期分别写入至N个空闲门控列表,生成N个目标门控列表;配置目标端口和N个目标门控列表的映射关系。本发明能实现门控列表和端口之间灵活的映射,最大化利用硬件资源,使得单个端口最多能够承担的业务流的数量增大。

Description

时间敏感网络门控列表实现方法
技术领域
本发明涉及时间敏感网络技术领域,特别涉及时间敏感网络门控列表实现方法及门控列表条目生成方法。
背景技术
信息化技术带来工业自动化的深入变革,很多新的业务需要确定性的网络通信保证,如高质量音视频传输、远程医疗、无人机群控制等等,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个条目记为
Figure 333325DEST_PATH_IMAGE001
Figure 453727DEST_PATH_IMAGE002
...
Figure 967885DEST_PATH_IMAGE003
。对于其中的第i个条目
Figure 769619DEST_PATH_IMAGE004
,其执行时刻(即该条目的生效时刻)为
Figure 115150DEST_PATH_IMAGE005
,那么第i个条目的持续时间可以表示为
Figure 609716DEST_PATH_IMAGE006
,所述原始门控列表中所有条目的持续时间之和就是所述原始门控列表的循环周期T,即:
Figure 407908DEST_PATH_IMAGE007
将所述原始门控列表中的k个条目拆分成N个部分,得到N个条目集合,每个所述条目集合中的条目数量不小于1,每个所述条目集合中的条目的数量可以分别表示为
Figure 341229DEST_PATH_IMAGE008
Figure 682212DEST_PATH_IMAGE009
...
Figure 206734DEST_PATH_IMAGE010
,那么有:
Figure 695484DEST_PATH_IMAGE011
在本实施例提供的时间敏感网络门控列表条目生成方法中,所述目标端口对应的每个所述目标门控列表和所述目标端口的所述原始门控列表的生效时刻和循环周期相同。
具体地,将所述目标端口的原始门控列表的列表条目拆分为N个条目集合后,分别将每个条目集合中的条目作为一个所述目标门控列表中的列表条目,即将第n个条目集合中的列表条目作为第n个所述目标门控列表中的门控列表条目。在另一种可能的实现方式中,每个条目集合中的列表条目是连续的,每个所述目标门控列表的第一条条目都可以是所述原始门控列表的第一个条目,其余的条目为对应的条目集合中的条目,即每个所述目标门控列表的条目的生成步骤可以如下:
将第一个条目集合中的
Figure 104600DEST_PATH_IMAGE012
个条目适配到第一个目标门控列表
Figure 362406DEST_PATH_IMAGE013
中,包括:
设置
Figure 323408DEST_PATH_IMAGE013
的第一个条目为
Figure 237138DEST_PATH_IMAGE014
,执行时间为
Figure 246682DEST_PATH_IMAGE015
设置
Figure 686891DEST_PATH_IMAGE013
的第二个条目为
Figure 428582DEST_PATH_IMAGE016
,执行时间为
Figure 891924DEST_PATH_IMAGE017
依次直到最后一个条目为
Figure 767476DEST_PATH_IMAGE018
,执行时间为
Figure 999875DEST_PATH_IMAGE019
,且这个条目需要一直持续到周期结束,即
Figure 178046DEST_PATH_IMAGE020
将第二个条目集合中的
Figure 925422DEST_PATH_IMAGE021
个条目适配到第二个目标门控列表
Figure 542348DEST_PATH_IMAGE022
中,包括:
设置
Figure 301357DEST_PATH_IMAGE022
的第一个条目为
Figure 40643DEST_PATH_IMAGE014
,执行时间为
Figure 212998DEST_PATH_IMAGE015
设置
Figure 305719DEST_PATH_IMAGE022
的第二个条目为
Figure 309447DEST_PATH_IMAGE023
,执行时间为
Figure 157318DEST_PATH_IMAGE024
依次直到最后一个条目为
Figure 754652DEST_PATH_IMAGE025
,执行时间为
Figure 713381DEST_PATH_IMAGE026
,且这个条目需要一直持续到周期结束,即
Figure 306036DEST_PATH_IMAGE027
将第i个条目集合中的
Figure 256631DEST_PATH_IMAGE028
个条目适配到第i个目标门控列表
Figure 200317DEST_PATH_IMAGE029
中,包括:
设置
Figure 962736DEST_PATH_IMAGE030
的第一个条目为
Figure 816423DEST_PATH_IMAGE014
,执行时间为
Figure 740517DEST_PATH_IMAGE015
设置
Figure 437077DEST_PATH_IMAGE030
的第二个条目为
Figure 737608DEST_PATH_IMAGE031
,其执行时间为
Figure 445801DEST_PATH_IMAGE032
依次直到最后一个条目
Figure 603113DEST_PATH_IMAGE033
,执行时间为
Figure 724653DEST_PATH_IMAGE034
,且这个条目需要一直持续到周期结束,即
Figure 500979DEST_PATH_IMAGE035
直至完成所有N个目标门控列表条目的适配。
例如:调度器输出了一个具有30个条目的原始门控列表,超出了交换机中门控列表的条目容量,可以将其拆分并适配到3个不同的门控列表中,在与目标端口建立映射关系。步骤如下:
将30个条目分为3个连续不相交的部分,每部分包含10个条目;
设置
Figure 188312DEST_PATH_IMAGE013
Figure 719788DEST_PATH_IMAGE036
Figure 728DEST_PATH_IMAGE037
具有相同的生效时刻和循环周期,循环周期等于原始门控列表的循环周期。
如图12所示,将条目1~10填写到
Figure 908641DEST_PATH_IMAGE013
,将条目1和11~20填写到
Figure 450481DEST_PATH_IMAGE036
,将条目1和21~30填写到
Figure 90541DEST_PATH_IMAGE037
,得到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按照业务周期分为
Figure 921093DEST_PATH_IMAGE038
等N组。具体地,所述根据每个所述目标业务流的业务周期将所有的所述目标业务流分为N组,包括:
按照使得属于同一组的所述目标业务流的业务周期的最小公倍数和最大公约数的比值满足预设条件的原则将所有的所述目标业务流分为N组。
要使得门控列表中的重复条目减少,就要降低门控列表的循环周期,在本实施例中,所述预设条件可以为同一组内所有所述目标业务流的最小公倍数和最大公约数的比值最小,或者,同一组内所有所述目标业务流的最小公倍数和最大公约数的比值低于一个预设阈值。降低同一组内的所有所述目标业务流的最小公倍数和最大公约数的比值,可以降低同一组内的所有所述目标业务流在该组对应的门控列表中的重复次数,从而减少重复冗余的表项消耗。
以分组原则是使得同一组内所有流业务周期的最小公倍数和最大公约数的比值最小为例,在有4种业务周期{2ms、4ms、5ms、10ms}的场景,如果使用2个门控列表并行交错控制,可以将业务流按照周期分为
Figure 429435DEST_PATH_IMAGE039
={2ms、4ms}和
Figure 701147DEST_PATH_IMAGE040
={5ms、10ms}两组,分别表示周期为{2ms、4ms}以及周期为{5ms、10ms}的流集合。
S230、根据预设的调度约束条件对所有所述目标业务流分配时隙,根据时隙分配结果生成目标端口对应的每个所述目标门控列表中的列表条目。
所述调度约束条件为:属于同一组的所述目标业务流的时隙不允许重叠,并且,属于不同组的所述目标业务流的时隙不允许重叠且不允许相邻。
具体地,所有所述目标业务流的调度周期为所有所述目标业务流的周期的最小公倍数,对所有所述目标业务流分配时隙的目的是要确保所有的流在调度周期内不冲突。将调度周期表示为:HP。
在调度时,对于任意的所述目标业务流
Figure 574426DEST_PATH_IMAGE041
,业务周期为
Figure 954591DEST_PATH_IMAGE042
,其在调度周期内需要重复
Figure 938728DEST_PATH_IMAGE043
次,将
Figure 596105DEST_PATH_IMAGE044
的第
Figure 437022DEST_PATH_IMAGE045
次重复时隙的起时刻记为
Figure 242167DEST_PATH_IMAGE046
,用
Figure 967678DEST_PATH_IMAGE047
表示
Figure 338616DEST_PATH_IMAGE044
第一个时隙相对调度周期起始时刻的偏移量,那么有:
Figure 553697DEST_PATH_IMAGE048
相应地,将
Figure 518242DEST_PATH_IMAGE044
的第
Figure 109760DEST_PATH_IMAGE049
次重复时隙的结束时刻记为
Figure 335205DEST_PATH_IMAGE050
,用
Figure 658870DEST_PATH_IMAGE051
表示
Figure 438608DEST_PATH_IMAGE044
的传输时长,
Figure 630554DEST_PATH_IMAGE051
Figure 585872DEST_PATH_IMAGE044
的包长和链路速率有关,那么有:
Figure 408335DEST_PATH_IMAGE052
如图15所示,普通的时隙调度只需要保证任意两个时隙不重叠即可,允许两个时隙紧挨在一起,即下一个时隙的开始时刻可以等于上一个时隙的结束时刻,这种情况下,流
Figure 472106DEST_PATH_IMAGE044
的结束事件和流
Figure 405427DEST_PATH_IMAGE044
的开始事件可以合并为一个门控列表条目。但是在一个端口对应多个门控列表的实现中,如果两个时隙分别属于不同的门控列表来控制,而这两个事件又同时发生,会产生门控列表条目冲突,因此,在本实施例中,如图16所示,除了属于同一组的所述目标业务流的时隙不允许重叠(允许相邻)的约束之外,还设置有属于不同组的所述目标业务流的时隙不允许重叠且不允许相邻的约束。属于不同组的时隙之间至少要间隔一定的安全距离以确保在不同的门控列表中分别执行的条目有明确的先后顺序,避免发生冲突,安全距离可以用
Figure 480830DEST_PATH_IMAGE053
表示。
属于同一组的所述目标业务流的时隙不允许重叠(允许相邻)的约束可以表示为:
Figure 270931DEST_PATH_IMAGE054
属于不同组的所述目标业务流的时隙不允许重叠且不允许相邻的约束可以表示为:
Figure 759682DEST_PATH_IMAGE055
针对上述约束进行求解,计算出满足约束的所有所述目标业务流的时隙调度方案,获得每个所述目标业务流每个时隙的开始和结束时间,即
Figure 168797DEST_PATH_IMAGE056
,得到
Figure 223341DEST_PATH_IMAGE046
Figure 387606DEST_PATH_IMAGE057
将在所述目标端口上的时隙调度合成到N个不同的门控列表,得到所述目标端口对应的N个所述目标门控列表的条目。
具体地,所述根据时隙分配结果生成目标端口对应的每个所述目标门控列表中的列表条目,包括:
获取所述目标端口的调度结果中的第一个时隙的起始时刻
Figure 35756DEST_PATH_IMAGE058
,确定所述第一个时隙的起始时刻对应的所述目标业务流所属的目标分组,根据所述目标分组中的所有所述目标业务流的业务周期确定第n个所述目标门控列表的循环周期
Figure 310880DEST_PATH_IMAGE059
设置
Figure 485509DEST_PATH_IMAGE060
为第n个所述目标门控列表的生效时刻,在所述目标端口的调度结果中提取
Figure 492779DEST_PATH_IMAGE061
范围内的所有属于所述目标分组的时隙位置和每个时隙位置对应的开关门事件;
Figure 956122DEST_PATH_IMAGE060
时刻对应的开关门事件作为第n个所述目标门控列表中的第一个列表条目,其他开关门事件按时隙位置顺序依次作为第n个所述目标门控列表中的后续条目,且后续条目的执行时刻是以
Figure 831674DEST_PATH_IMAGE062
为基准获得的相对时刻,得到第n个所述目标门控列表对应的全部列表条目;
在所述目标端口的调度结果中删除属于所述目标分组的所有时隙信息,对所述目标端口的调度结果进行更新后,重新执行所述获取所述目标端口的调度结果中第一个时隙的起始时刻的步骤,直至得到所有所述目标门控列表分别对应的全部列表条目。
具体地,得到目标门控列表
Figure 64072DEST_PATH_IMAGE013
中的条目,包括:
找到调度结果中第一个时隙的起始位置,记为
Figure 970805DEST_PATH_IMAGE015
找到
Figure 983760DEST_PATH_IMAGE063
时刻对应流所属的分组,假设为
Figure 600687DEST_PATH_IMAGE064
设置
Figure 359695DEST_PATH_IMAGE013
的循环周期
Figure 98981DEST_PATH_IMAGE065
等于分组
Figure 271336DEST_PATH_IMAGE064
中所有流周期的最小公倍数;
从时隙调度结果中提取
Figure 364057DEST_PATH_IMAGE066
范围内所有属于分组
Figure 571048DEST_PATH_IMAGE064
的时隙位置;
上述时隙的位置信息是以调度周期的起始时刻作为基准的,需要更改为以
Figure 950076DEST_PATH_IMAGE015
为基准,即将上述时隙位置信息减去
Figure 547411DEST_PATH_IMAGE015
获得与
Figure 506140DEST_PATH_IMAGE015
的相对位置。
Figure 364374DEST_PATH_IMAGE015
时刻对应的事件作为
Figure 320829DEST_PATH_IMAGE013
的第一个条目,其他事件依次作为
Figure 467777DEST_PATH_IMAGE067
的后续条目,且这些条目的执行时刻是以
Figure 761355DEST_PATH_IMAGE015
为基准获得的相位位置。
设置
Figure 615041DEST_PATH_IMAGE013
的生效时刻
Figure 804714DEST_PATH_IMAGE068
Figure 235695DEST_PATH_IMAGE015
从调度结果中删除属于分组
Figure 473910DEST_PATH_IMAGE069
的所有时隙信息,得到新的调度结果。
得到目标门控列表
Figure 41157DEST_PATH_IMAGE022
中的条目,包括:
从前述步骤中获得的新的调度结果中找到第一个时隙的起始位置,记为
Figure 401732DEST_PATH_IMAGE017
找到
Figure 460954DEST_PATH_IMAGE017
时刻对应流所属的分组,假设为
Figure 299598DEST_PATH_IMAGE070
设置
Figure 986931DEST_PATH_IMAGE022
的循环周期
Figure 456089DEST_PATH_IMAGE071
等于分组
Figure 799346DEST_PATH_IMAGE070
中所有流周期的最小公倍数;
从调度结果中提取
Figure 503997DEST_PATH_IMAGE072
范围内所有属于分组
Figure 186782DEST_PATH_IMAGE070
的时隙位置;
上述时隙的位置信息是以调度周期的起始时刻作为基准的,需要更改为以
Figure 889159DEST_PATH_IMAGE017
为基准,即将上述时隙位置信息减去
Figure 516449DEST_PATH_IMAGE017
获得与
Figure 634578DEST_PATH_IMAGE017
的相对位置。
Figure 499766DEST_PATH_IMAGE017
时刻对应的事件作为
Figure 435361DEST_PATH_IMAGE022
的第一个条目,其他事件依次作为
Figure 425314DEST_PATH_IMAGE022
的后续条目,且这些条目的执行时刻为以
Figure 409450DEST_PATH_IMAGE017
为基准获得的相位位置。
设置
Figure 191461DEST_PATH_IMAGE022
的生效时刻
Figure 235641DEST_PATH_IMAGE073
Figure 712889DEST_PATH_IMAGE017
从调度结果中删除属于分组
Figure 563034DEST_PATH_IMAGE070
的所有时隙信息,得到新的调度结果。
重复上述步骤,直到得到所有N个所述目标门控列表中的条目。在得到所有N个所述目标门控列表中的条目后,下发到所述目标端口对应的交换机设备,逻辑框图可以如图14所示。
例如,有两条流
Figure 137235DEST_PATH_IMAGE074
Figure 24419DEST_PATH_IMAGE075
,其周期分别是
Figure 113598DEST_PATH_IMAGE076
Figure 705116DEST_PATH_IMAGE077
。调度结果如图17所示,调度周期为
Figure 71507DEST_PATH_IMAGE078
。在调度周期内,
Figure 254226DEST_PATH_IMAGE074
重复了三次,
Figure 33964DEST_PATH_IMAGE075
重复了2次,一共5个时隙,每个时隙的起始和结束时间如图17所示。将这个调度结果合成到2个门控列表中。
在合成
Figure 101277DEST_PATH_IMAGE013
时,
以调度结果中的第一个时隙的起始时刻
Figure 384490DEST_PATH_IMAGE079
作为
Figure 3691DEST_PATH_IMAGE015
,设置
Figure 960406DEST_PATH_IMAGE013
的生效时刻为
Figure 628148DEST_PATH_IMAGE079
确定
Figure 828185DEST_PATH_IMAGE079
所属的流
Figure 759232DEST_PATH_IMAGE074
及其分组
Figure 982403DEST_PATH_IMAGE080
设置
Figure 781731DEST_PATH_IMAGE013
的周期等于分组
Figure 711641DEST_PATH_IMAGE080
中所有流周期的最小公倍数,即
Figure 610327DEST_PATH_IMAGE076
找到在
Figure 648690DEST_PATH_IMAGE081
范围内属于分组
Figure 923814DEST_PATH_IMAGE080
的所有时隙位置,即
Figure 708230DEST_PATH_IMAGE079
Figure 105713DEST_PATH_IMAGE082
。将这两个事件作为
Figure 303477DEST_PATH_IMAGE013
的两个条目。
在合成
Figure 319974DEST_PATH_IMAGE022
时,与
Figure 349110DEST_PATH_IMAGE074
相关的时隙已经被删除,第一个时隙变成
Figure 589599DEST_PATH_IMAGE075
的时隙,将其起始时刻
Figure 477920DEST_PATH_IMAGE083
作为
Figure 891584DEST_PATH_IMAGE017
,设置
Figure 978489DEST_PATH_IMAGE022
的生效时刻为
Figure 327561DEST_PATH_IMAGE084
,并找到在
Figure 499917DEST_PATH_IMAGE085
范围内属于组2的所有时隙位置,只有
Figure 982851DEST_PATH_IMAGE083
Figure 596366DEST_PATH_IMAGE086
。将这两个事件作为
Figure 444236DEST_PATH_IMAGE022
的两个条目。
从图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中存储的程序代码或处理数据,例如执行实施例四和/或实施例五提供的时间敏感网络门控列表实现方法等。
实施例七
本发明还提供一种计算机可读存储介质,其中,存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上所述的时间敏感网络门控列表实现方法的步骤和/或时间敏感网络门控列表条目生成方法的步骤。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (7)

1.一种时间敏感网络门控列表实现方法,其特征在于,所述方法包括:
接收门控列表配置指令,其中,所述门控列表配置指令中包括目标门控列表的数量N和目标端口,N为正整数,且N≥0;
若N≥1,查找门控列表池中的空闲门控列表,其中,多个端口对应一个所述门控列表池;
若所述空闲门控列表的数量不小于N,则读取每个所述目标门控列表的列表条目和循环周期,将各个所述目标门控列表的列表条目和循环周期分别写入至N个所述空闲门控列表,生成N个所述目标门控列表;
配置所述目标端口和N个所述目标门控列表的映射关系。
2.根据权利要求1所述的时间敏感网络门控列表实现方法,其特征在于,所述接收门控列表配置指令之后,还包括:
若N=0,解除所述目标端口当前的映射关系。
3.根据权利要求1所述的时间敏感网络门控列表实现方法,其特征在于,所述配置所述目标端口和N个所述目标门控列表的映射关系,包括:
获取每个所述目标门控列表的生效时刻;
控制每个所述目标门控列表在对应的生效时刻生效。
4.根据权利要求1所述的时间敏感网络门控列表实现方法,其特征在于,所述配置所述目标端口和N个所述目标门控列表的映射关系之后,包括:
获取所述目标端口映射的所述目标门控列表中生效的门控列表中的所有列表条目的生效时刻;
当达到目标列表条目的生效时刻时,将当前生效的列表条目切换为所述目标列表条目。
5.一种交换机,其特征在于,所述交换机包括处理器、与处理器通信连接的计算机可读存储介质,所述计算机可读存储介质适于存储多条指令,所述处理器适于调用所述计算机可读存储介质中的指令,以执行实现上述权利要求1-4任一项所述的时间敏感网络门控列表实现方法的步骤。
6.一种时间敏感网络门控列表配置装置,其特征在于,所述装置包括:
指令接收模块,所述指令接收模块用于接收门控列表配置指令,其中,所述门控列表配置指令中包括目标门控列表的数量N和目标端口,N为正整数,且N≥0;
资源查找模块,所述资源查找模块用于若N≥1,则查找门控列表池中的空闲门控列表,其中,多个端口对应一个所述门控列表池;
列表条目读取模块,所述列表条目读取模块用于在所述空闲门控列表的数量不小于N时,读取每个所述目标门控列表的列表条目和循环周期,将各个所述目标门控列表的列表条目和循环周期分别写入至N个所述空闲门控列表,生成N个所述目标门控列表;
映射模块,所述映射模块用于配置所述目标端口和N个所述目标门控列表的映射关系。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-4任一项所述的时间敏感网络门控列表实现方法的步骤。
CN202111200856.XA 2021-10-15 2021-10-15 时间敏感网络门控列表实现方法 Active CN113645149B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111200856.XA CN113645149B (zh) 2021-10-15 2021-10-15 时间敏感网络门控列表实现方法
CN202111643220.2A CN114500392B (zh) 2021-10-15 2021-10-15 时间敏感网络门控列表条目生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111200856.XA CN113645149B (zh) 2021-10-15 2021-10-15 时间敏感网络门控列表实现方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202111643220.2A Division CN114500392B (zh) 2021-10-15 2021-10-15 时间敏感网络门控列表条目生成方法

Publications (2)

Publication Number Publication Date
CN113645149A CN113645149A (zh) 2021-11-12
CN113645149B true CN113645149B (zh) 2022-02-08

Family

ID=78426983

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202111200856.XA Active CN113645149B (zh) 2021-10-15 2021-10-15 时间敏感网络门控列表实现方法
CN202111643220.2A Active CN114500392B (zh) 2021-10-15 2021-10-15 时间敏感网络门控列表条目生成方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202111643220.2A Active CN114500392B (zh) 2021-10-15 2021-10-15 时间敏感网络门控列表条目生成方法

Country Status (1)

Country Link
CN (2) CN113645149B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114172843B (zh) * 2022-01-17 2023-05-16 重庆邮电大学 一种时间敏感网络中路径选择和门控调度的联合优化方法
CN114389946B (zh) * 2022-02-14 2023-09-12 重庆邮电大学 一种面向tsn交换机的网络配置管理方法
CN114500606A (zh) * 2022-02-21 2022-05-13 中车大连电力牵引研发中心有限公司 一种固定编组列车网络架构系统
WO2023159433A1 (zh) * 2022-02-24 2023-08-31 华为技术有限公司 一种时间敏感网络中门控列表的切换方法及装置
CN114884904B (zh) * 2022-03-21 2023-08-04 西安电子科技大学 适用于可预期时间关键业务的确定性流量调度方法及装置
CN114979030A (zh) * 2022-05-12 2022-08-30 昆高新芯微电子(江苏)有限公司 大规模时间敏感网络异步门控的实现方法和系统
CN115276867A (zh) * 2022-06-16 2022-11-01 中国第一汽车股份有限公司 一种基于tsn时间敏感网络通信技术的雷达数据传输方法、装置及其车辆
CN117424666A (zh) * 2022-07-11 2024-01-19 中兴通讯股份有限公司 门控调度的方法、控制器、节点、计算机可读介质
CN115314444B (zh) * 2022-10-11 2023-01-17 北京科技大学 一种基于sdn的时间敏感网络门控决策方法及装置
CN115396378B (zh) * 2022-10-31 2022-12-27 中国人民解放军军事科学院系统工程研究院 基于时隙映射的跨域协同时延敏感网络调度方法和系统
CN115883482B (zh) * 2023-02-27 2023-06-06 鹏城实验室 一种增强tsn设备门控列表的实现方法及相关设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630607A (zh) * 2015-12-23 2016-06-01 联想(北京)有限公司 一种资源池管理方法、容器创建方法及电子设备
CN111526583A (zh) * 2019-02-01 2020-08-11 电信科学技术研究院有限公司 资源配置方法、获取方法、网络设备及终端
CN111740924A (zh) * 2020-07-29 2020-10-02 上海交通大学 一种时间敏感网络门控机制流量整形与路由规划调度方法
CN113163450A (zh) * 2021-04-25 2021-07-23 上海映驰科技有限公司 门控制列表生成方法、网络设备及计算机可读存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10511455B1 (en) * 2017-09-18 2019-12-17 Xilinx, Inc. Time sensitive networking control circuitry
WO2021075671A1 (ko) * 2019-10-15 2021-04-22 한양대학교 에리카산학협력단 중앙 네트워크 구성개체 및 이를 포함하는 시간 민감 네트워크 제어 시스템
US11228942B2 (en) * 2020-03-27 2022-01-18 Mitsubishi Electric Research Laboratories, Inc. Scheduling data traffic in wireless time sensitive networks
CN112235194B (zh) * 2020-09-03 2022-03-25 北京邮电大学 在线路由调度时延敏感流量的方法和装置
CN113271264B (zh) * 2021-05-20 2022-06-21 北京邮电大学 一种时间敏感网络的数据流传输方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630607A (zh) * 2015-12-23 2016-06-01 联想(北京)有限公司 一种资源池管理方法、容器创建方法及电子设备
CN111526583A (zh) * 2019-02-01 2020-08-11 电信科学技术研究院有限公司 资源配置方法、获取方法、网络设备及终端
CN111740924A (zh) * 2020-07-29 2020-10-02 上海交通大学 一种时间敏感网络门控机制流量整形与路由规划调度方法
CN113163450A (zh) * 2021-04-25 2021-07-23 上海映驰科技有限公司 门控制列表生成方法、网络设备及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
时间敏感型网络技术综述;宋华振;《自动化仪表》;20200229;第41卷(第2期);全文 *

Also Published As

Publication number Publication date
CN114500392B (zh) 2023-07-25
CN113645149A (zh) 2021-11-12
CN114500392A (zh) 2022-05-13

Similar Documents

Publication Publication Date Title
CN113645149B (zh) 时间敏感网络门控列表实现方法
US20060067218A1 (en) NoC semi-automatic communication architecture for "data flows" applications
EP1839166B1 (en) Shared-memory switch fabric architecture
US8930593B2 (en) Method for setting parameters and determining latency in a chained device system
CN102045258A (zh) 数据缓存管理方法及装置
CN116016371A (zh) 一种发送报文的方法、设备和系统
CN103543954A (zh) 一种数据存储管理方法和装置
CN110795028B (zh) 针对网络装置实施阶层分布式链接列表的系统及方法
WO2022222242A1 (zh) 一种时间敏感网络报文转发方法、装置、终端及存储介质
GB2479653A (en) A Method of FIFO Tag Switching in a Multi-core Packet Processing Apparatus
US10142228B2 (en) Device and method for retransmitting data in a network switch
US20220210078A1 (en) Method implemented by computer means of a communicating entity in a packet-switched network, and computer program and computer-readable non-transient recording medium thereof, and communicating entity of a packet-switched network
EP2506158A1 (en) Cross-region access method for embedded file system
US9166804B2 (en) Packet transmission control device, packet transmission control method, and program
CN115834511B (zh) 一种时间敏感网络中各优先级周期性消息的门控调度方法
JP5372699B2 (ja) 車載ネットワーク装置
CN109857382A (zh) 一种SoC芯片软件定义无线电解耦设计方法
JP6811916B1 (ja) 時分割多重通信システム、時分割多重通信方法及びプログラム
CN112199333B (zh) 一种支持多值索引文件的存储方法和装置
CN115618966A (zh) 用于训练机器学习模型的方法、装置、设备和介质
CN108139767B (zh) 针对网络装置实施分布式链接列表的系统及方法
CN104052831A (zh) 一种基于队列的数据传输方法、装置及通信系统
US10067690B1 (en) System and methods for flexible data access containers
WO2023159433A1 (zh) 一种时间敏感网络中门控列表的切换方法及装置
CN115086241B (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