一种门控列表的制作方法

文档序号:33458422发布日期:2023-03-15 03:04阅读:40来源:国知局
一种门控列表的制作方法

1.本发明属于网络通信调度领域,具体涉及一种门控列表。


背景技术:

2.时间敏感网络系统中同一端口传输周期特性存在较大差异的数据流队列门控的周期控制问题。在采用队列门控调度的时间敏感网络系统中,网络交换机或网络端系统输出端口队列门控列表的执行周期通常为该端口所有周期型数据流传输周期的最小公倍数,其周期值应为门控表项执行周期与表项数量的积,门控表项执行周期即为门控精度。为实现离散型大传输周期数据流输出周期控制,在保持一定门控精度的条件下,需要增加门控表项的深度,且表项内容重复率较高,影响硬件缓存资源开销;而扩大门控表项执行周期,即降低门控精度则会影响调度效率,增加非周期型数据流的发送延迟,故一般的队列门控列表设计方法难以实现离散型大传输周期数据流队列门控的周期控制。


技术实现要素:

3.有鉴于此,为解决现有端口队列门控列表的不足,本发明提供一种基于周期插值的可变队列门控列表,解决了时间敏感网络系统中同一端口传输周期特性存在较大差异的数据流队列门控的周期控制问题。通过对不同队列的门控表项执行周期进行插值,在不增加输出端口门控表项深度、不损失门控周期精度的条件下,实现网络系统中离散型大传输周期数据流队列门控的周期控制,减小网络设备输出端口门控列表的缓存资源开销,提升队列门控周期配置的灵活性。
4.为了实现上述技术目的,本发明所采用的具体技术方案为:
5.一种门控列表,其特征在于,所述门控列表具备以下特征:
6.s1:所述门控列表运行时,对传输周期大于端口门控表项最大可执行周期的周期数据流进行周期插值;
7.s2:所述门控列表的端口队列门控的基本执行周期为非插值周期数据流传输周期的最小公倍数且为插值周期数据流传输周期的公约数;
8.s3:所述端口队列门控表项单元由门控状态布尔值和数据流周期插值组成;
9.s4:在所述门控列表中,传输周期大于端口门控表项最大可执行周期的大周期数据流的周期插值为传输周期与门控列表基本执行周期的商值;传输周期小于端口门控表项最大可执行周期的小周期数据流在门控列表中的周期插值为0;
10.s5:所述门控列表根据各小周期数据流的传输周期编排队列门控表项的布尔值状态和周期插值,各所述队列门控开启状态互斥;
11.s6:在所述门控列表中大周期数据流使用小周期数据流未使用的队列门控表项编排数据流的布尔值状态和周期插值,各队列门控开启状态互斥;
12.s7:所述门控列表的门控调度器按照基本执行周期重复执行门控列表依次读取门控表项内容,若队列周期插值为0,且布尔值为1,则开启队列传输;若队列周期插值为0,且
布尔值为0,则关闭队列传输;若队列周期插值不为0且门控表项执行次数值为周期插值的倍数,则开启队列传输,若否,关闭队列传输。
13.进一步的,执行所述s1的具体方法为:根据队列门控精度以及硬件资源能够承受的队列表项缓存数量,计算端口允许的队列门控的最大执行周期;将传输周期大于最大执行周期的周期数据流标识为si,其他周期数据流标识为sj。
14.进一步的,执行所述s2的具体方法为:按照各小周期数据流sj传输周期的最小公倍数和队列门控精度计算队列门控表项的数量,该最小公倍数为该端口队列门控的基本执行周期t;同时,基本周期值为各大数据流sj传输周期的公约数。
15.进一步的,执行所述s4的具体方法为:根据各sj数据流传输周期t
sj
,计算各数据流所对应队列在门控列表中的周期插值n
sj
,其中n
sj
=t
sj
/t;
16.各si数据流的在门控列表中的周期插值n
si
设置为0。
17.进一步的,执行所述s5的具体方法为:根据各si数据流传输周期,编排各队列门控表项的布尔值状态和周期插值,各队列门控开启状态互斥;
18.进一步的,执行所述s6的具体方法为:在si未使用的队列门控表项中编排sj数据流的布尔值状态和周期插值,各队列门控开启状态互斥;
19.进一步的,执行所述s7的具体方法为:门控调度器按照基本执行周期t重复执行门控列表,重复次数标识为ri,依次读取门控表项内容,若队列周期插值为0,且布尔值为1,则开启队列传输;若队列周期插值为0,且布尔值为0,则关闭队列传输;若队列周期插值不为0,且当前ri值为n
sj
的倍数,则开启队列传输;否则关闭队列传输。
附图说明
20.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
21.图1为本发明具体实施方式中输出端口队列及门控列表示意图。
具体实施方式
22.下面结合附图对本公开实施例进行详细描述。
23.以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
24.要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例
来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
25.还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图示中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
26.另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
27.在本发明的一个实施例中,时间敏感网络交换机或端系统同一输出端口存在周期特性差异较大的周期数据流,本实施例提出一种门控列表,门控列表具备以下特征:
28.s1:门控列表运行时,对传输周期大于端口门控表项最大可执行周期的周期数据流进行周期插值;
29.s2:门控列表的端口队列门控的基本执行周期为非插值周期数据流传输周期的最小公倍数且为插值周期数据流传输周期的公约数;
30.s3:端口队列门控表项单元由门控状态布尔值和数据流周期插值组成;
31.s4:在门控列表中,传输周期大于端口门控表项最大可执行周期的大周期数据流的周期插值为传输周期与门控列表基本执行周期的商值;传输周期小于端口门控表项最大可执行周期的小周期数据流在门控列表中的周期插值为0;
32.s5:门控列表根据各小周期数据流的传输周期编排队列门控表项的布尔值状态和周期插值,各队列门控开启状态互斥;
33.s6:在门控列表中大周期数据流使用小周期数据流未使用的队列门控表项编排数据流的布尔值状态和周期插值,各队列门控开启状态互斥;
34.s7:门控列表的门控调度器按照基本执行周期重复执行门控列表依次读取门控表项内容,若队列周期插值为0,且布尔值为1,则开启队列传输;若队列周期插值为0,且布尔值为0,则关闭队列传输;若队列周期插值不为0且门控表项执行次数值为周期插值的倍数,则开启队列传输,若否,关闭队列传输。
35.在本实施例中,根据队列门控精度以及硬件资源能够承受的队列表项缓存数量,计算端口允许的队列门控的最大执行周期;将传输周期大于最大执行周期的周期数据流标识为si,其他周期数据流标识为sj。
36.在本实施例中,执行s2的具体方法为:按照各小周期数据流sj传输周期的最小公倍数和队列门控精度计算队列门控表项的数量,该最小公倍数为该端口队列门控的基本执行周期t;同时,基本周期值为各大数据流sj传输周期的公约数。
37.在本实施例中,执行s4的具体方法为:根据各sj数据流传输周期t
sj
,计算各数据流所对应队列在门控列表中的周期插值n
sj
,其中n
sj
=t
sj
/t;
38.各si数据流的在门控列表中的周期插值n
si
设置为0。
39.在本实施例中,执行s5的具体方法为:根据各si数据流传输周期,编排各队列门控表项的布尔值状态和周期插值,各队列门控开启状态互斥;
40.在本实施例中,执行s6的具体方法为:在si未使用的队列门控表项中编排sj数据流
的布尔值状态和周期插值,各队列门控开启状态互斥;
41.在本实施例中,执行s7的具体方法为:门控调度器按照基本执行周期t重复执行门控列表,重复次数标识为ri,依次读取门控表项内容,若队列周期插值为0,且布尔值为1,则开启队列传输;若队列周期插值为0,且布尔值为0,则关闭队列传输;若队列周期插值不为0,且当前ri值为n
sj
的倍数,则开启队列传输;否则关闭队列传输。
42.总体来说,本实施例所采用的技术方案是:根据网络系统的门控精度以及硬件资源所允许的门控列表缓存数量,选择传输周期超出门控列表执行周期的周期数据流进行门控列表的周期插值,从而对所有的周期消息流的门控表项进行统一编排。同时,将周期插值和门控状态值共同作为队列门控表项的控制内容,对队列中数据流的传输进行控制。对于未超出门控列表执行周期的数据流直接按照门控状态值调度;对于超出门控列表执行周期的周期数据流按照周期插值和门控状态值综合调度,在门控列表的执行次数能被周期插值整除时开启队列输出。
43.图1为输出端口队列及门控列表示意图,网络交换机或端系统的输出端口具有8个优先级队列,具有不同传输优先级的周期数据流进入不同的队列。每个队列后级具有门控单元和门控列表,门控表项由8个单元组成,分别对应8个传输队列,每个单元由周期数据流的周期插值和门控状态组成。输出调度器以相同的时间间隔依次执行每个表项,并循环执行。
44.本实施例门控列表的具体执行方式如下:
45.步骤1:根据系统设计的队列门控精度以及硬件资源能够承受的队列表项缓存数量,确定需要插值的大周期数据流;
46.步骤2:按照小周期数据流传输周期的最小公倍数和队列门控精度,计算图1所示的队列门控表项的数量t
mn

47.步骤3:根据各大周期数据流传输周期,计算各数据流所对应队列在门控列表中的周期插值,如图1中所示的n
qi
的值;
48.步骤4:各小周期数据流的在门控列表中的周期插值设置为0;
49.步骤5:建立图1所示的队列门控列表,在队列门控表项单元中增加周期插值,每个队列门控表项单元由门控状态布尔值和周期插值2部分组成;
50.步骤6:按照小周期数据流的周期编排门控表项的布尔值状态,如图1中所示的“o”或者“c”,每一个门控表项中仅有一个队列的门控状态为“o”;
51.步骤7:在小周期数据流未使用的队列门控表项中编排大周期数据流的布尔值状态和周期插值,每一个门控表项中仅有一个队列的门控状态为“o”;
52.步骤8:门控调度器按照基本执行周期t重复执行门控列表,重复次数标识为ri,依次读取门控表项内容,若队列周期插值为0,且布尔值为1,则开启队列传输;若队列周期插值为0,且布尔值为0,则关闭队列传输;若队列周期插值不为0,且当前ri值为n
sj
的倍数,则开启队列传输;否则关闭队列传输。
53.以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1