一种基于时间敏感网络门控列表的配置系统及方法
文献发布时间:2024-04-18 19:58:30
技术领域
本发明涉及时间敏感网络技术领域,具体为一种基于时间敏感网络门控列表的配置系统及方法。
背景技术
时间敏感网络在工业互联网和车载以太网应用有广泛的前景。时间敏感网络具有高带宽低延时的特点,时间感知整形器是为了更低的时间维度、更为严苛的工业控制类应用而设计的调度机制,目前被工业自动化领域的企业所采用。时间感知整形器由IEEE802.1QBV定义,是基于预先设定的周期性门控制列表,动态地为出口队列提供开/关控制的机制。QBV定义了一个时间窗口,是一个时间触发型网络,这个窗口的调度在这个机制中是被预先确定的。门控列表被周期性的扫描,并按预先定义的次序为不同的队列开放传输端口。传输由门控制列表控制,它是由多个门控制实体确定软件的队列调度。
在车载和工业互联的设备中,存在多个端口,每个端口有多个按时隙配置的门列表。周期扫描门控列表时,存在TSN关键帧和非TSN普通帧,即be流,同时因业务的需要,需要TSN关键帧和be流动态切换的需要。当前技术在如何管理这些门控相关的数据无法做到全面高效。
所以,需要一种基于时间敏感网络门控列表的配置系统及方法来解决上述问题。
发明内容
本发明的目的在于提供一种基于时间敏感网络门控列表的配置系统,以解决上述背景技术中提出的问题。
为了解决上述技术问题,本发明提供如下技术方案:该配置系统包括状态检测模块、配置模块、分流模块、数据管理模块和优化模块;
所述状态检测模块用于检测端口对应的TAS的状态;所述配置模块用于配置门控列表;所述分流模块用于将数据帧区分成TSN关键帧和be流;所述数据管理模块用于实现快速查找链表节点和动态变更门控;所述优化模块用于调整关键帧的门控持续时间。
所述TAS为时间感知整形器的缩写;所述TSN为时间敏感网络的缩写。
根据上述方案,所述状态检测模块构建全局数组,数组的下标为端口号,数组的内容为表项标识,当为0表示当前使用的是A表,当为1表示当前使用的是B表;所述表项标识用于识别当前使用的RAM主备表,RAM主备表分为A表和B表,两张表的表项条目和读取地址相同;一张表为当前使用的表项,另一张表为空闲的表项;AB表解决了动态修改TSN门控信息时,切换时间较长的问题;以空间换时间,当需要调整时,在未使用的表项中将信息配置完成;当有表项的内容更新时,读取对应端口的表项标识,能够取反得到当前需要变更的表项地址。所述RAM为随机存取存储器。
根据上述方案,所述门控列表相关的信息由TSN调度算法生成,初始化时会按业务需要规划出初始门控列表信息。
根据上述方案,所述门控列表规定了在所有队列的总周期内每个门控时间段的状态、门控持续时间和字节控制大小,包括循环的周期、时隙的个数、时隙对应的门控开关状态以及持续时间。
根据上述方案,所述分流模块根据业务的优先级,将数据帧区分成TSN关键帧和be流,不同类型的数据帧分配到不同的队列;所述优先级类似于服务质量的优先级划分,业务优先级是根据实际需要;如音频和通话之间,音频为低优先级,通话为高优先级;车载上的影像和刹车启动之间,影像为低优先级,刹车启动为高优先级,可预先配置。
根据上述方案,所述数据管理模块结合链表和hash算法,实现了快速查找和动态变更门控的需求,满足快速高效的数据管理;所述数据管理包括创建一张链表,用于对端口的管理,每个链表用于端口对应的门控列表和时隙的数据信息;根据业务需要,分为新增或者删除某时隙、变更未来时间;将端口号、时隙的序号作为key值,用于快速查询链表的节点;当需要删除某时隙的信息,通过key值快速查询到相应的节点,删除链表的当前节点;新增某时隙时,如果在时隙的最后位置新增信息,则无需快速查询,只需要在尾节点新增一个时隙信息,并将时隙的个数更新;最后根据得到的端口号和表项标识,配置对应的寄存器内容;所述数据管理可以通过软件实现时间敏感网络中对QBV类型的帧的优先级调度和截止时间控制,从而确保高优先级的QBV类型的帧能够在截止时间内得到及时传输,保障数据传输的实时性和可靠性。
所述QBV为IEEE 802.1QBV,是一种通信网络协议。QBV协议所需的信息较多,按照两个维度进行数据管理,一个维度为门控列表的信息,另一个是循环轮转机制信息,本发明实现了便捷的用户数据管理和动态变更。
根据上述方案,所述优化模块优化TSN门控的传输机制,自适应时隙开门控,确保了TSN关键帧的确定性同时尽量让be流的传输;主要为了优化当门控关闭时,恰巧出现某TSN关键帧的包传输一半的情况,需要微调占用be流的时间,让TSN关键帧尽量满足传输带宽。但是包长是有限制的,一般为64-9600B,一旦包长出完,不会再占用be流。
根据本申请的另一个方面,提供了一种基于时间敏感网络门控列表的配置方法,所述方法应用上述一种基于时间敏感网络门控列表的配置方法,所述方法包括以下步骤:
S1:检测端口对应的TAS的状态;
S2:识别当前使用的RAM主备表,配置空闲门控列表相关信息;
S3:将数据帧区分成TSN关键帧和be流,不同类型的数据帧分配到不同的队列;
S4:识别当前运行的队列;
S5:监控每条队列的队列深度,根据TSN关键帧的队列堆积情况,给关键帧队列累加时间,清零TSN关键帧队列缓存堆积。
根据上述方法,监控每条队列的队列深度,队列深度反映了队列中的报文缓存情况,以固定的周期对每个队列进行扫描如果TSN关键帧的队列有队列堆积,给关键帧队列累加一个包长的时间并减少相邻的be流的时间,确保总的周期的时间不变,让TSN关键帧无队列缓存的堆积;如果TSN关键帧无队列缓存的堆积,则无需更改门控的持续时间和状态;本算法主要是为了优化当门控关闭时,恰巧出现某TSN关键帧的包传输一半的情况,需要微调占用be流的时间,让TSN关键帧尽量满足传输带宽。
与现有技术相比,本发明所达到的有益效果是:AB表解决了动态修改TSN门控信息时,切换时间较长的问题,以空间换时间,当需要调整时,在未使用的表项中将信息配置完成;结合链表和hash的方案,实现了快速查找和动态变更门控的需求,满足快速高效的数据管理。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是本发明一种基于时间敏感网络门控列表的配置系统的结构示意图;
图2是本发明一种基于时间敏感网络门控列表的配置方法的流程示意图;
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
时间同步是QBV功能的基础,因为QBV的门控开启时间是基于RTC时间,如果时间同步不正确或者误差较大,则对QBV的门控状态和持续时间造成影响,从而无法实现低延时低抖动的效果。门控的生效和持续时间是从时间同步之后获取的,如果同步的误差较大,导致门控生效的时间和持续时间不准确,则无法精确控制报文的调度时间。本发明中,时间同步采用的是1588协议,主从时钟之间互相发送同步报文并记录收发时间,计算出主从时钟之间的链路延时和时钟误差。时间同步的误差小于±100ns认为同步成功。
如图1所示,该配置系统包括状态检测模块、配置模块、分流模块、数据管理模块和优化模块;
所述状态检测模块用于检测端口对应的TAS的状态;所述配置模块用于配置门控列表;所述分流模块用于将数据帧区分成TSN关键帧和be流;所述数据管理模块用于实现快速查找链表节点和动态变更门控;所述优化模块用于调整关键帧的门控持续时间。
所述状态检测模块构建全局数组,数组的下标为端口号,数组的内容为表项标识,当为0表示当前使用的是A表,当为1表示当前使用的是B表;所述表项标用于识别当前使用的RAM主备表,RAM主备表分为A表和B表,两张表的表项条目和读取地址相同;一张表为当前使用的表项,另一张表为空闲的表项;AB表解决了动态修改TSN门控信息时,切换时间较长的问题;以空间换时间,当需要调整时,在未使用的表项中将信息配置完成;当有表项的内容更新时,读取对应端口的表项标识,能够取反得到当前需要变更的表项地址。
所述门控列表相关的信息由TSN调度算法生成,初始化时会按业务需要规划出初始门控列表信息。
所述门控列表规定了在所有队列的总周期内每个门控时间段的状态、门控持续时间和字节控制大小,包括循环的周期、时隙的个数、时隙对应的门控开关状态以及持续时间。例如,每个端口8条队列,队列可以是TSN关键帧或者be流,按照需求规划不同业务的流量分布到不同的队列。TSN关键帧和be流按照周期循环发包,使用TSN关键帧中的vlan tag(虚拟局域网标签)中pri(优先级)和vid(vlan id号)定义的优先级映射到不同的队列号,按队列号控制时隙的门控状态,即每个门控列表中包含了8条队列,以bitmap(bit位)形式输入,1为open,0为close。门控状态为open表示允许该队列输出报文,门控状态为close表示不允许该队列输出。门控持续的时间是由用户按照实际的需要规划,所述门控持续的时间根据队列的属性,包括是否是TSN关键帧和某周期内划分给TSN关键帧通过的字节数。代表一旦门控开启时,报文可以出队的时间。因此,通过上述的机制,可以准确实现“包等门控”的效果,从而将不同业务的队列按照人为划分的门控机制,达到按预先规定时间到达和出队,确保了关键业务在传输过程中的延时和抖动控制。
所述分流模块根据业务的优先级,将数据帧区分成TSN关键帧和be流,不同类型的数据帧分配到不同的队列;所述优先级类似于服务质量的优先级划分,业务优先级是根据实际需要;如音频和通话之间,音频为低优先级,通话为高优先级;车载上的影像和刹车启动之间,影像为低优先级,刹车启动为高优先级,可预先配置。
因为在本发明实现中,包含多个端口和多条门控列表,同时每个端口需要感知basetime生效时间、时隙个数和周期等。常规方案中,对大量的数据如果得不到有效的管理,则无法适用于对时间敏感的高要求场景。所以数据管理模块结合链表和hash算法,实现了快速查找和动态变更门控的需求,满足快速高效的数据管理,按照两个维度进行数据管理,一个维度为门控列表的信息,另一个是循环轮转机制信息。
所述数据管理包括创建一张链表,用于对端口的管理,每个链表用于端口对应的门控列表和时隙的数据信息;根据业务需要,分为新增或者删除某时隙、变更未来时间;将端口号、时隙的序号作为key值,用于快速查询链表的节点;当需要删除某时隙的信息,通过key值快速查询到相应的节点,删除链表的当前节点;新增某时隙时,如果在时隙的最后位置新增信息,则无需快速查询,只需要在尾节点新增一个时隙信息,并将时隙的个数更新;最后根据得到的端口号和表项标识,配置对应的寄存器内容;所述数据管理可以通过软件实现时间敏感网络中对QBV类型的帧的优先级调度和截止时间控制,从而确保高优先级的QBV类型的帧能够在截止时间内得到及时传输,保障数据传输的实时性和可靠性。
所述QBV为IEEE 802.1QBV,是一种通信网络协议。
所述优化模块用于优化TSN门控的传输机制,根据TSN关键帧队列堆积情况,调整关键帧的门控持续时间,消除队列堆积,确保了TSN关键帧的确定性同时尽量让be流的传输;
主要为了优化当门控关闭时,恰巧出现某TSN关键帧的包传输一半的情况,需要微调占用be流的时间,让TSN关键帧尽量满足传输带宽。但是包长是有限制的,一般为64-9600B,一旦包长出完,不会再占用be流。
下面结合附图2,以及对S1-S6具体步骤的解释,来详细说明本发明一个实施例的实现过程。
S1:检测端口对应的TAS的状态;
S2:识别当前使用的RAM主备表,配置空闲门控列表相关信息;
S3:将数据帧区分成TSN关键帧和be流,不同类型的数据帧分配到不同的队列;
S4:识别当前运行的队列;
S5:监控每条队列的队列深度,根据TSN关键帧的队列堆积情况,给关键帧队列累加时间,清零TSN关键帧队列缓存堆积。
根据上述方法,监控每条队列的队列深度,队列深度反映了队列中的报文缓存情况,以固定的周期对每个队列进行扫描,如果TSN关键帧的队列有队列堆积,给TSN关键帧队列累加一个包长的时间并减少相邻的be流的时间,确保总的周期的时间不变,包长大于64B小于9600B时,使得TSN关键帧继续运行,直至TSN关键帧无队列缓存的堆积,跳转到be流,如果9600B的包长出完后,TSN关键帧队列缓存任有堆积,也需要跳转到be流,继而回归原始设定运行配置;如果TSN关键帧无队列缓存的堆积,则无需更改门控的持续时间和状态;本算法主要是为了优化当门控关闭时,恰巧出向某TSN关键帧的包传输一半的情况,需要微调占用be流的时间,让TSN关键帧尽量满足传输带宽。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 一种基于门控神经网络的高速公路交通流参数预测方法及系统
- 时间敏感网络门控列表实现方法及门控列表条目生成方法
- 时间敏感网络门控列表实现方法