一种时间敏感网络中各优先级周期性消息的门控调度方法

文档序号:33520991发布日期:2023-03-22 06:35阅读:82来源:国知局
一种时间敏感网络中各优先级周期性消息的门控调度方法

1.本发明属于时间敏感网络技术领域,更为具体地讲,涉及一种时间敏感网络中各优先级周期性消息的门控调度方法。


背景技术:

2.由音视频桥接(audio video bridging,avb)发展而来的时间敏感网络(tsn:time sensitive networking)作为一种底层的协议架构,以实时以太网为基础,具有低时延、低抖动、高可靠等优点。这些特点使得时间敏感网络能实现数据端到端的确定性传输,满足工业网络中关键数据流的端到端性能需求。
3.时间敏感网络是由一系列的关于数据链路层的标准定义的,包括ieee802.1as时间同步、ieee802.1qbv门控调度、ieee802.1qbu帧抢占、ieee802.1qcc网络配置等一系列标准,这些标准主要用于解决tsn中的时间同步、流量调度和网络配置等问题。
4.在ieee 802.1qbv协议中提出了时间感知整形(tas:time aware shaper),该算法基于时分复用原理,将网络通信系统按照确定长度分为不断重复的传输周期。一个周期时间内,系统可以分配不同的时间片资源给一种优先级业务类型,特别是时间敏感类业务。时间感知整形的基本目的是保证时间敏感类业务(高优先级帧)不会因为传输端口被低优先级帧占用而增加传输时延。每一个输出端口都通过门控列表(gcl:gate control list)来控制对应优先级的发送许可。gcl表中,o代表门状态为开,c代表门状态为闭,从而控制各队列中数据帧是否进行传输。
5.在时间敏感网络门控调度研究方面,国外学者针对时间感知整形的传输性质,描述了如何确定一个有效的门控列表的形式约束,并使用整数线性规划来确定可行的解决方案。在此基础上,其他学者针对时间敏感网络的传输特性,同时结合5g的网络架构,提出了一种联合配置方法,该方法可在以5g为网桥组成的桥接网络上实现端到端的调度优化,通过合适的约束策略,得出满足端到端qos需求的门控列表配置方案。其中,针对时间敏感网络的约束策略,包括全局约束、传输顺序约束、端到端时延约束、抖动约束、时分多址(tdma:time division multiple access)约束、资源约束和门控约束,虽然约束策略很多,但是多个约束策略之间的重复约束较多,大大增加了计算的工作量,而且在抖动约束的设计上,违背了抖动的定义,在约束策略上是不合理的。


技术实现要素:

6.本发明的目的在于克服现有技术不足,在传统时间感知整形(tas:time aware shaper)算法的门控调度机制的基础上,提供一种时间敏感网络(tsn:time sensitive networking)中各优先级周期性消息的门控调度方法,在给定周期性消息的情况下,求出所有消息满足约束条件下的无冲突、低时延转发的调度时间,进而求得一种合适的门控调度列表,实现消息的无冲突、低时延的转发调度。
7.为实现上述发明目的,本发明时间敏感网络中各优先级周期性消息的门控调度方
法,其特征在于,包括以下步骤:
8.(1)、读取每条待调度的消息,提取出每条消息的发送端口、接收端口、周期、优先级以及长度,第i条待调度消息ti可表示为:
9.ti={source(i),destination(i),period(i),priority(i),length(i)}
10.其中,从左到右依次为第i条消息的发送端口、接收端口、周期、优先级、消息长度。
11.然后,根据网络拓扑图确定经过的链路;
12.(2)、计算所有消息的周期的最小公倍数lcm,以最小公倍数lcm作为一个矩阵周期;
13.(3)、对所有待调度消息进行排序,排序方式如下:
14.a)、按消息周期的大小进行从小到大排序;
15.b)、若周期相等,按消息的传输链路是否经过交换机间级联链路进行排序,经过交换机间级联链路的优先排序;
16.c)、若均经过交换机间级联链路,按消息的优先级高低进行从高到低排序;
17.d)、若优先级相等,按消息长度从大到小进行排序
18.排序完毕后的所有待调度消息放入消息数组tsnunset中,并记录总消息数为tnum;
19.设置消息二维调度数组launchslot,launchslot(i)(p)的值为第i条消息第p周期的调度时隙,其初始值全部为-1,p∈[0,lcm/period(i)-1];
[0020]
(4)、依次遍历消息数组tsnunset中的每条消息,为其分配调度时隙
[0021]
4.1)、根据最小公倍数lcm、消息的周期及消息长度生成待验证的发送时隙,其中,第i条消息对应的发送时隙temp(i)为[0,period(i)-t(i)]中的整数,初始为0,t(i)为第i条消息的传输时长,包括链路传输时间和调度时间;
[0022]
4.2)、对第i条消息对应的发送时隙temp(i)进行验证,如果满足调度约束条件,则将launchslot中对应消息的元素值launchslot(i)(p)由-1设置为temp(i)+p
×
period(i),同时将第i条消息从消息数组tsnunset中移除,若该消息来源于集合undoset,将其从集合undoset中移除,进入步骤4.6);
[0023]
如果不满足约束条件,则说明存在与第i条消息冲突的消息j,则首先判断所冲突的第i条消息的优先级priority(i)与消息j的优先级priority(j)的大小,若priority(j)《priority(i),则将消息j放入集合undoset中,若priority(j)≥priority(i)则不将消息j放入集合undoset中;然后,判断发送时隙temp(i)是否到达上限period(i)-t(i),若不是,则发送时隙temp(i)加1,并返回步骤4.1),若是则判断undoset是否为空,若不为空进入步骤4.3),若为空则进入步骤4.4);
[0024]
4.3)、遍历集合undoset,对其中每条消息执行步骤4.1)-4.2)的操作;
[0025]
4.4)、根据最小公倍数lcm、第i条消息的周期数period(i)及消息长度length(i)对消息的每个周期生成待验证的发送时隙,记为temp(i)(p);其中,第i条消息第p个周期对应的发送时隙temp(i)(p)为[0+p
×
period(i),period(i)-t(i)+p
×
period(i)]中的整数,初始为区间最左侧整数,period(i)为第i条消息的周期,t(i)为第i条消息的传输时长,包括链路传输时长和调度时长,p∈[0,lcm/period(i)-1];
[0026]
4.5)、依次对第i条消息的每个周期发送时隙temp(i)(p)进行验证,如果满足调度
约束条件,则将元素值launchslot(i)(p)设置为temp(i)(p),同时将第i条消息从消息数组tsnunset中移除;若不满足,则temp(i)(p)加1,返回步骤4.4);
[0027]
4.6)、判断数组tsnunset是否为空,如果为空,则表示所有消息都分配成功,获得无冲突发送的消息二维调度数组数launchslot,进入步骤(5),否则,返回步骤4.1)继续为未完成的消息进行分配调度时隙;
[0028]
(5)、根据消息二维调度数组launchslot为所有链路构造一个横轴为时隙的链路时隙数轴图,然后根据交换机输出端口对应链路的链路时隙数轴图中具体的消息调度时隙分配信息得到该输出端口的一个可行的门控队列调度方案;
[0029]
其中,调度约束条件为
[0030]
a)、无冲突约束:在同一个时隙中同一条链路最多只能被一条消息占据,若有经过同一条链路l的不同消息i和j,且链路l为消息i从发送端到接收端顺序下的第m条链路,为消息j从发送端到接收端顺序下的第n条链路,若消息i和消息j无冲突,则对于任意p和q均有以下不等式成立:
[0031]
launchslot(i)(p)+m
×
t(i)《launchslot(j)(q)+(n-1)
×
t(j)
[0032]

[0033]
launchslot(i)(p)+(m-1)
×
t(i)》launchslot(j)(q)+n
×
t(j)
[0034]
其中,p和q分别为在一个矩阵周期内消息i和j发送周期号,表示消息i的第p个发送周期和消息j的第q个发送周期,且p∈[0,lcm/period(i)-1],q∈[0,lcm/period(j)-1];
[0035]
b)、路径约束:若消息i需要连续通过链路l1和链路l2且在时隙s
x
通过链路l1,则必定在时隙s
x
+d(i)通过链路l2,d(i)为消息i的调度时长;
[0036]
c)、端到端约束:消息i通过链路的初始时隙必定在最大时隙数以内,即满足:launchslot(i)(p)《lcm,且launchslot(i)(p)》=0,p∈[0,lcm/period(i)-1]。
[0037]
本发明的发明目的是这样实现的:
[0038]
本发明时间敏感网络中各优先级周期性消息的门控调度方法,通过读取待调度的消息,提取发送端口、接收端口、周期、优先级以及长度,确定经过的链路,计算最小公倍数,然后进行排序,依据对发送时隙temp(i)、temp(i)(p)对第i条消息进行验证,并对消息二维调度数组元素值launchslot(i)(p)进行赋值,在给定周期性消息的情况下,求出所有消息满足约束条件下的无冲突、低时延转发的调度时间,进而求得一种合适的门控调度列表,实现消息的无冲突、低时延的转发调度。相较于现有的门控调度方法,简化了调度分配时的约束策略,从而减小了计算工作量,降低了时间复杂度,并且同时保证了所调度的高优先级消息的实时性和低时延特性。
附图说明
[0039]
图1是本发明时间敏感网络中各优先级周期性消息的门控调度方法一种具体实施例方式流程图;
[0040]
图2是时间敏感网络一具体实例网络拓扑图;
[0041]
图3是消息1、消息2和消息3分配完后的链路时隙数轴图;
[0042]
图4是完成对消息4的链路时隙数轴图;
[0043]
图5是完成对消息5的链路时隙数轴图;
[0044]
图6是完成对消息6的链路时隙数轴图。
具体实施方式
[0045]
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
[0046]
图1是本发明时间敏感网络中各优先级周期性消息的门控调度方法一种具体实施例方式流程图。
[0047]
在本实施例中,图1所示,本发明时间敏感网络中各优先级周期性消息的门控调度方法包括以下步骤:
[0048]
步骤s1:提取发送端口、接收端口、周期、优先级以及长度,确定经过的链路
[0049]
读取每条待调度的消息,提取出每条消息的发送端口、接收端口、周期、优先级以及长度,第i条待调度消息ti可表示为:
[0050]
ti={source(i),destination(i),period(i),priority(i),length(i)}
[0051]
其中,从左到右依次为第i条消息的发送端口、接收端口、周期、优先级、消息长度。
[0052]
然后,根据网络拓扑图确定经过的链路;
[0053]
步骤s2:计算所有消息的周期最小公倍数
[0054]
计算所有消息的周期的最小公倍数lcm,以最小公倍数lcm作为一个矩阵周期;
[0055]
步骤s3:对所有待调度消息进行排序
[0056]
所述排序的方式如下:
[0057]
a)、按消息周期的大小进行从小到大排序;
[0058]
b)、若周期相等,按消息的传输链路是否经过交换机间级联链路进行排序,经过交换机间级联链路的优先排序;
[0059]
c)、若均经过交换机间级联链路,按消息的优先级高低进行从高到低排序;
[0060]
d)、若优先级相等,按消息长度从大到小进行排序
[0061]
排序完毕后的所有待调度消息放入消息数组tsnunset中,并记录总消息数为tnum;
[0062]
设置消息二维调度数组launchslot,launchslot(i)(p)的值为第i条消息第p周期的调度时隙,其初始值全部为-1,p∈[0,lcm/period(i)-1];
[0063]
步骤s4:依次遍历消息数组tsnunset中的每条消息,为其分配调度时隙
[0064]
步骤s4.1:根据最小公倍数lcm、消息的周期及消息长度生成待验证的发送时隙,其中,第i条消息对应的发送时隙temp(i)为[0,period(i)-t(i)]中的整数,初始为0,t(i)为第i条消息的传输时长,包括链路传输时间和调度时间;
[0065]
步骤s4.2:对第i条消息对应的发送时隙temp(i)进行验证,如果满足调度约束条件,则将launchslot中对应消息的元素值launchslot(i)(p)由-1设置为temp(i)+p
×
period(i),同时将第i条消息从消息数组tsnunset中移除,若该消息来源于集合undoset,将其从集合undoset中移除,进入步骤s4.6);
[0066]
如果不满足约束条件,则说明存在与第i条消息冲突的消息j,则首先判断所冲突的第i条消息的优先级priority(i)与消息j的优先级priority(j)的大小,若priority(j)《
priority(i),则将消息j放入集合undoset中,若priority(j)≥priority(i)则不将消息j放入集合undoset中;然后,判断发送时隙temp(i)是否到达上限period(i)-t(i),若不是,则发送时隙temp(i)加1,并返回步骤s4.1,若是则判断undoset是否为空,若不为空进入步骤s4.3,若为空则进入步骤s4.4;
[0067]
步骤s4.3:遍历集合undoset,对其中每条消息执行步骤s4.1-s4.2的操作;
[0068]
步骤s4.4:根据最小公倍数lcm、第i条消息的周期数period(i)及消息长度length(i)对消息的每个周期生成待验证的发送时隙,记为temp(i)(p);其中,第i条消息第p个周期对应的发送时隙temp(i)(p)为[0+p
×
period(i),period(i)-t(i)+p
×
period(i)]中的整数,初始为区间最左侧整数,period(i)为第i条消息的周期,t(i)为第i条消息的传输时长,包括链路传输时长和调度时长,p∈[0,lcm/period(i)-1];
[0069]
步骤s4.5:依次对第i条消息的每个周期发送时隙temp(i)(p)进行验证,如果满足调度约束条件,则将元素值launchslot(i)(p)设置为temp(i)(p),同时将第i条消息从消息数组tsnunset中移除;若不满足,则temp(i)(p)加1,返回步骤步骤s4.4;
[0070]
步骤s4.6:判断数组tsnunset是否为空,如果为空,则表示所有消息都分配成功,获得无冲突发送的消息二维调度数组数launchslot,进入步骤s5,否则,返回步骤s4.1继续为未完成的消息进行分配调度时隙;
[0071]
步骤s5:构造链路时隙数轴图,得到门控队列调度方案
[0072]
根据消息二维调度数组launchslot为所有链路构造一个横轴为时隙的链路时隙数轴图,然后根据交换机输出端口对应链路的链路时隙数轴图中具体的消息调度时隙分配信息得到该输出端口的一个可行的门控队列调度方案;
[0073]
其中,调度约束条件为
[0074]
a)、无冲突约束:在同一个时隙中同一条链路最多只能被一条消息占据,若有经过同一条链路l的不同消息i和j,且链路l为消息i从发送端到接收端顺序下的第m条链路,为消息j从发送端到接收端顺序下的第n条链路,若消息i和消息j无冲突,则对于任意p和q均有以下不等式成立:
[0075]
launchslot(i)(p)+m
×
t(i)《launchslot(j)(q)+(n-1)
×
t(j)
[0076]

[0077]
launchslot(i)(p)+(m-1)
×
t(i)》launchslot(j)(q)+n
×
t(j)
[0078]
其中,p和q分别为在一个矩阵周期内消息i和j发送周期号,表示消息i的第p个发送周期和消息j的第q个发送周期,且p∈[0,lcm/period(i)-1],q∈[0,lcm/period(j)-1];
[0079]
b)、路径约束:若消息i需要连续通过链路l1和链路l2且在时隙s
x
通过链路l1,则必定在时隙s
x
+d(i)通过链路l2,d(i)为消息i的调度时长;
[0080]
c)、端到端约束:消息i通过链路的初始时隙必定在最大时隙数以内,即满足:launchslot(i)(p)《lcm,且launchslot(i)(p)》=0,p∈[0,lcm/period(i)-1]。
[0081]
实施例
[0082]
图2是时间敏感网络一具体实例网络拓扑图。如图2所示,有abcd四个终端和两个交换机sw1和sw2;假设abcd上行至sw1或sw2的链路分别标为1、2、3、4,sw1或sw2下行至abcd的链路分别标为5、6、7、8,sw1至sw2的链路标为9,sw2至sw1的链路标为10,交换机sw1、sw2的6个输出端口于图中标记。假设链路传输速率归一化单位后为1,交换机调度时延归一化
单位后为5。
[0083]
有以下6条消息:
[0084][0085]
表1
[0086]
[1]根据以上6条消息得到,周期最小公倍数lcm=1200;
[0087]
[2]按照上述步骤(3)对消息进行排序,得到排序后消息放入tsnunset为:
[0088]
tsnunset={1,2,3,4,5,6};
[0089]
[3]按上述步骤(4.1)、(4.2)为消息分配调度时隙,消息1、消息2和消息3分配完后,链路时隙数轴图如图3所示;
[0090]
[4]继续为消息4分配调度时隙,执行步骤(4.2)发现为消息4分配的调度时隙无法满足约束条件,进入步骤(4.4)(4.5)完成对消息4的链路时隙数轴图,如图4;
[0091]
[5]继续为消息5分配时隙,执行步骤(4.1)(4.2)后,发现为消息5分配的调度时隙无法满足约束条件,消息4与消息5发生冲突且优先级小于消息5,将其加入到undoset中,并进入步骤(4.3)为undoset中的消息重新分配调度时隙,从而完成消息5的时隙分配及消息4的时隙重分配,完成后,如图5;
[0092]
[6]继续为消息6分配调度时隙,执行步骤(4.1)(4.2)为消息6分配的调度时隙,进入步骤(4.6)完成对所有消息的时隙分配,如图6;
[0093]
[7]根据相关链路的时隙分配状态得到交换机6个输出端口的门控调度策略例如对于sw2的输出端口

对应链路8,根据链路8的时隙分配信息得到一种可行的门控调度策略为:
[0094][0095]
表2
[0096]
本发明是在传统tas方法的门控调度机制的基础上,进一步研究针对于周期性消息的门控列表gcl调度生成算法;相较于现有的门控调度算法,简化了调度分配时的约束策略,从而减小了计算工作量,降低了时间复杂度,并且同时保证了所调度的高优先级消息的实时性和低时延特性。但是其局限性在于无法根据消息变化而动态生成门控调度列表。
[0097]
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1