最小时延最大匹配的时间触发业务调度表生成方法转让专利

申请号 : CN201810443556.6

文献号 : CN108712224B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 邱智亮刘梅张式琪潘伟涛陈郝明

申请人 : 西安电子科技大学

摘要 :

本发明公开了一种最小时延最大匹配的时间触发业务调度表生成方法。主要解决现有技术在生成调度表时TT业务时延大,网络链路利用率低的问题。其包括:获取业务参数和网络参数,并计算业务调度的矩阵周期和基本周期;将TT业务的传输时间点放入矩阵周期的一个或多个基本周期内,生成源端系统的TT业务带宽预案;采用最大匹配算法,对TT业务进行调度优先级排序,分配源端系统各基本周期中TT业务的发送时间,依次生成源端系统的发送表、交换机的接收表和发送表以及目的端系统的接收表。本发明生成的调度表能保证各网络节点有序、无冲突地传输TT业务,提高了链路利用率,且TT业务总时延最小,可用于时间触发以太网中TT业务的调度。

权利要求 :

1.最小时延最大匹配的时间触发业务调度表生成方法,包括如下步骤:(1)获取业务参数和网络参数:

所述业务参数包括:业务ID、帧长、周期、源端系统编号、目的端系统编号和产生时间,共6个;

所述网络参数包括:时间触发TT业务数目n、链路带宽w、最小时间间隔u、同步精度a、源端系统的最小发送时延s1、源端系统的最大发送时延s2、最小链路传输时延t1、最大链路传输时延t2、交换机的最小接收时延sr1、交换机的最大接收时延sr2、交换机的最小转发时延sw1、交换机的最大转发时延sw2、交换机的最小发送时延ss1、交换机的最大发送时延ss2、目的端系统的最小接收时延r1和目的端系统的最大接收时延r2,共16个;

(2)计算业务调度的矩阵周期MC和基本周期BC;

(3)根据业务参数,对时间触发TT业务进行调度优先级预排序,并将时间触发TT业务的传输时间点放入矩阵周期的一个或多个基本周期内,生成源端系统的时间触发TT业务带宽预案;

(4)结合业务参数,采用最大匹配算法,对时间触发TT业务进行调度优先级排序:(4a)根据每个基本周期待分配的时间触发TT业务,建立执行时间点集合E、待分配业务流集合A、输入端口状态集合I、输出端口状态集合O、已排序业务流集合S和已分配业务流集合D这6个集合,并对其初始化;

(4b)基于时间触发TT业务的产生时间,采用最大匹配算法,对待分配业务流集合A中的时间触发TT业务进行调度优先级再排序,并将排序后的结果压入已排序业务集合S;

(5)分配源端系统中各时间触发TT业务在每个基本周期中的发送时间,并生成各源端系统的发送表:(5a)取出执行时间点集合E的第一个子集合,即一个由所有时间触发TT业务中的最小产生时间生成的类类型对象,其成员包括最小产生时间点、最小产生时间点下产生的业务ID,以及最小产生时间点下释放的输入端口和输出端口;根据该子集合分别对输入端口状态集合I、输出端口状态集合O和已排序业务流集合S进行修改;

(5b)判断时间触发TT业务的产生时间是否大于当前执行时间点:若是,将该业务重新压入已排序业务流集合S;若否,执行(5c);

(5c)根据网络当前状态执行一次时间触发TT业务调度;

(5d)判断已分配业务流集合D是否包含已排序业务流集合S中的所有时间触发TT业务:若是,则本基本周期内所有时间触发TT业务分配完成;若否,则返回(5a);

(5e)重复(5a)~(5d),完成源端系统所有基本周期内的时间触发TT业务的发送时间分配;

(5f)生成各源端系统的发送表;

(6)在各源端系统发送表的基础上,结合网络参数中引入的各个时延,生成网络中交换机的接收表、交换机的发送表以及各目的端系统的接收表。

2.根据权利要求1所述的方法,其特征在于步骤(2)计算业务调度的矩阵周期MC和基本周期BC,按如下步骤进行:(2a)计算所有时间触发TT业务周期的最大公约数,作为基本周期BC;

(2b)计算所有时间触发TT业务周期的最小公倍数,作为矩阵周期MC。

3.根据权利要求1所述的方法,其特征在于步骤(3)中根据业务参数,对时间触发TT业务进行调度优先级预排序,是将所有时间触发TT业务按照周期从小到大排序,周期相同时,按照帧长从大到小排序。

4.根据权利要求1所述的方法,其特征在于步骤(3)中将时间触发TT业务的传输时间点放入矩阵周期的一个或多个基本周期内,生成源端系统的TT业务带宽预案,按如下步骤进行:(3a)对于某个TT业务,确定当前业务应该在矩阵周期中的第几个基本周期开始分配其传输时间点,将该基本周期的编号记作初始偏移量offset,其计算方式如下:其中,BC表示基本周期,u表示最小时间片,w表示链路带宽,s表示当前时间触发TT业务的帧长,p表示当前业务的产生时间,%表示取余运算,/表示乘法运算;

(3b)将矩阵周期看做由多行多列组成的大矩形,其每一行代表一个基本周期,每一列代表各基本周期中的同一传输时间段;

(3c)判断将当前时间触发TT业务放入矩阵周期的各个基本周期后,是否会引起列冲突,即判断矩阵周期同一列中已分配的所有时间触发TT业务两两取周期的最大公约数,再进行求导求和后是否小于等于1:若是,则在当前列中,根据(3a)中的初始偏移量offset开始分配该业务的传输时间点;若否,则在另外一列中分配该业务的传输时间点;

(3d)在当前列中,从初始偏移量offset开始,根据时间触发TT业务的周期c,每隔c/BC个基本周期,分配一次当前业务,直到将当前业务的传输时间点均匀分配到整个矩阵周期中;

(3e)重复(3a)~(3d),直到将所有时间触发TT业务的传输时间点分配到矩阵周期的一个或多个基本周期内,得到源端系统的TT业务带宽预案。

5.根据权利要求1所述的方法,其特征在于步骤(4a)中建立6个集合并初始化,按如下步骤进行:(4a1)用一个类类型的vector容器来建立执行时间点集合E,该容器中每一个元素为一个类类型的对象,其成员包括时间点、当前时间点下产生的业务ID,以及当前时间点下释放的输入端口和输出端口,其中的时间点包括每个时间触发TT业务的产生时间点和服务结束时间点;

初始化时,执行时间点集合E每个元素中的时间点为每个业务的产生时间点,当前时间点下产生的业务ID为网络中已存在业务的ID,而当前时间点下释放的输入端口号和输出端口号均为0,表示没有端口释放;

(4a2)用一个整型类型的二维vector容器来建立待分配业务流集合A,该容器中每个元素为一个整型的vector容器,每个元素的下标与输入-输出端口号有如下对应关系:下标=(输入端口号-1)/输入端口总数=(输出端口号-1)%输出端口总数;

输入端口号=下标/输入端口总数+1;

输出端口号=下标%输出端口总数+1;

而每个元素的内容为与输入-输出端口号匹配的待分配业务ID;

其中,/表示除法运算,%表示取余运算;

初始化时,待分配业务流集合A包含所有已产生但还未被服务的业务ID;

(4a3)用一个整型数组来建立输入端口状态集合I,该数组的长度为输入端口的数目,数组中每个元素的下标表示输入端口编号,取值表示对应输入端口的状态,取值为0表示该输入端口空闲,取值为1表示该输入端口忙;

初始化时,该数组所有元素取值为0,表示各输入端口均空闲;

(4a4)用一个整型数组来建立输出端口状态集合O,该数组的长度为输出端口的数目,数组中每个元素的下标表示输出端口编号,取值表示对应输出端口的状态,取值为0表示该输出端口空闲,取值为1表示该输出端口忙;

初始化时,该数组所有元素取值为0,表示各输出端口均空闲;

(4a5)用一个整型的vector容器来建立已排序业务流集合S,该容器每个元素为一个整型数据,表示已排序的业务ID;

初始化时,该集合为空;

(4a6)用一个整型的vector容器来建立已分配业务流集合D,该容器每个元素为一个整型数据,表示已分配的业务ID;

初始化时,该集合为空。

6.根据权利要求1所述的方法,其特征在于步骤(4b)中基于时间触发TT业务的产生时间,采用最大匹配算法,对待分配业务流集合A中的时间触发TT业务进行调度优先级再排序,按如下步骤进行:(4b1)将同一基本周期中所有时间触发TT业务按照产生时间从小到大的顺序进行排序;

(4b2)采用最大匹配算法,对同一产生时间下的时间触发TT业务按照如下步骤进行排序:(4b21)先建立入度数集合N和出度数集合T;这两个集合均用数组来建立,数组的长度为输入或输出端口总数,数组中每个元素的下标表示输入或输出端口编号,取值表示对应输入或输出端口号的入度数或者出度数,初始化这两个数组为全0;

(4b22)根据待分配业务流集合A,统计各输入端口的入度数与各输出端口的出度数,并将统计结果记录到入度数集合N和出度数集合T中;将输入端口状态集合I和输出端口状态集合O中各端口状态置为0,表示各端口均空闲;

(4b23)定义入度轮和出度轮两个变量来实现度数相同时的端口轮询;

(4b24)选择输入端口状态集合I中入度数最小的空闲输入端口作为基准输入端口,选择输出端口状态集合O中出度数最大的空闲输出端口作为基准输出端口;

(4b25)判断其他输入端口与基准输入端口的入度数是否相等:若是,执行(4b210);若否,直接取出基准输入端口;

(4b26)判断其他输出端口与基准输出端口的出度数是否相等:若是,执行(4b210);若否,直接取出基准输出端口;

(4b27)根据取出的输入-输出端口对,判断待分配业务流集合A中对应的子集合中是否有待排序业务:若有,则将该业务加入已排序业务流集合S,执行(4b212);若无,执行(4b28);

(4b28)判断取出当前基准输入端口时,是否所有空闲输出端口已完成上述判断:若是,选择入度数次大的空闲输入端口作为基准输入端口;若否,基准输入端口不变;返回(4b25);

(4b29)选择出度数次大的空闲输出端口作为基准输出端口,返回(4b26);

(4b210)从入度轮所指的的输入端口开始,按照输入端口号从小到大循环的顺序,取出与入度轮所指端口最近但不相等的空闲输入端口,将入度轮指向该输入端口,返回(4b25);

(4b211)从出度轮所指的输出端口开始,按照输出端口号从小到大循环的顺序,取出与出度轮所指端口最近但不相等的空闲输出端口,将出度轮指向该输出端口,返回(4b26);

(4b212)当某个时间触发TT业务被成功排序后,依次对待分配业务流集合A、入度数集合N、出度数集合T、输入端口状态集合I和输出端口状态集合O进行修改,修改后的结果将作为下一个时间触发TT业务进行排序的依据;

(4b213)重复(4b23)~(4b212),直到所有无端口冲突的时间触发TT业务被成功排序;

(4b214)重复(4b22)~(4b213),直到当前产生时间下的所有时间触发TT业务被成功排序;

(4b3)重复(4b2),直到本基本周期中所有产生时间下的时间触发TT业务被成功排序;

(4b4)重复(4b1)~(4b3),完成所有基本周期内时间触发TT业务的调度优先级再排序。

7.根据权利要求6所述的方法,其特征在于步骤(4b212)中当某个TT业务被成功排序后,依次对待分配业务流集合A、入度数集合N、出度数集合T、输入端口状态集合I和输出端口状态集合O进行修改,按如下步骤进行:首先,从待分配业务流集合A中去除已排序过的业务;

接着,根据已排序过业务的目的端系统编号,将入度数集合N中相应输入端口的入度数减1;

接着,根据已排序过业务的源端系统编号,将出度数集合T中相应输出端口的出度数减

1;

接着,根据已排序过业务的目的端系统编号,将输入端口状态集合I中相应输入端口的状态从空闲态变为忙态,即取值从0变为1;

最后,根据已排序过业务的源端系统编号,将输出端口状态集合O中相应输出端口的状态从空闲态变为忙态,即取值从0变为1。

8.根据权利要求1所述的方法,其特征在于步骤(5a)中取出执行时间点集合E的第一个子集合,根据该子集合分别对输入端口状态集合I、输出端口状态集合O和已排序业务流集合S进行修改,按如下步骤进行:(5a1)从执行时间点集合E中取出第一个子集合E1;

(5a2)根据子集合E1中当前时间点下释放的输入端口号,将输入端口状态集合I中相应端口的状态从忙态变为空闲态,即取值从1变为0;

(5a3)根据子集合E1中当前时间点下释放的输出端口号,将输出端口状态集合O中相应端口的状态从忙态变为空闲态,即取值从1变为0;

(5a4)判断子集合E1中当前时间点下产生的业务ID是否为0:若是,则对已排序业务流集合S不做修改;

若否,则将该业务ID加入到已排序业务流集合S,表示在该时间点下有新业务产生。

9.根据权利要求1所述的方法,其特征在于步骤(5c)中根据网络当前状态执行一次时间触发TT业务调度,按如下步骤进行:(5c1)从输入端口状态集合I空闲的各输入端口中,取出已排序业务流集合S内产生时间最早的业务,判断该业务对应的输出端口是否忙:若是,则不发起申请;若否,则向输出端口发起申请;

(5c2)从输出端口状态集合O空闲的各输出端口中,选择申请中产生时间最早的业务流进行授权;

(5c3)从输入端口状态集合I空闲的各输入端口中,选择授权中产生时间最早的业务进行接受;

(5c4)判断授权业务的服务结束时间是否大于基本周期长度:若是,则分配失败;若否,则为授权业务分配服务时间,其中,基本周期长度为所有时间触发TT业务周期的最大公约数;

(5c5)当某个业务被成功分配服务时间后,依次对已排序业务流集合S、输入端口状态集合I、输出端口状态集合O和执行时间点集合S进行修改,并将修改后的结果作为对下一个时间触发TT业务进行服务时间分配的依据。

10.根据权利要求9所述的方法,其特征在于步骤(5c5)中依次对已排序业务流集合S、输入端口状态集合I、输出端口状态集合O和执行时间点集合S进行修改,按如下步骤进行:首先,从已排序业务流集合S中去除已分配服务时间的业务;

接着,将已分配服务时间的业务加入已分配业务流集合D;

接着,根据已分配服务时间业务的目的端系统编号,将输入端口状态集合I中相应输入端口的状态从空闲态变为忙态,即取值从0变为1;

接着,根据已分配服务时间业务的源端系统编号,将输出端口状态集合O中相应输出端口的状态从空闲态变为忙态,即取值从0变为1;

接着,计算已分配服务时间业务的服务时长,其值等于已分配服务时间业务的帧长/链路带宽w/最小时间片u,其中/表示除法运算;

接着,计算已分配服务时间业务的服务结束时间点,其值等于当前时间点+已分配服务时间业务的服务时长+保护带,其中保护带取1,表示一个最小时间片u;

接着,生成一个时间点子集合,其中,时间点为已分配服务时间业务的服务结束时间点,当前时间点下产生的业务ID为0,当前时间点下释放的输入端口为已分配服务时间业务的目的端系统编号,当前时间点下释放的输出端口为已分配服务时间业务的源端系统编号;

最后,将生成的时间点子集合加入执行时间点集合S。

11.根据权利要求1所述的方法,其特征在于,步骤(5f)中生成各源端系统的发送表,是根据时间触发TT业务的源端系统编号,将各时间触发TT业务划分到相应源端系统的发送表中,从而为每个源端系统生成自己的发送表:源端系统的发送表包含多行,每一行是一条表项,每条表项之间用换行符分隔开;每条表项中包含多个字段,每个字段之间用空格符分隔开;

每条表项中包含的字段有:业务ID、基本周期号、源系统的开始发送时间点,源端系统的发送结束时间点和源端系统的发送窗口长度,共5个;计算这些字段时,均是对于同一条时间触发TT业务而言的,具体计算方式如下:业务ID=源端系统编号与当前端系统编号一致的业务ID;

基本周期号=步骤(3)中分配当前业务传输时间点的基本周期编号;

源系统的开始发送时间点=步骤(5)中分配给当前业务的服务时间点;

源端系统的发送结束时间点=源系统的开始发送时间点+当前业务的传输时长;

源端系统的发送窗口长度=同步精度a;

其中,当前业务的传输时长=当前业务的帧长/(链路带宽w*最小时间片u),*表示乘法运算,/表示除法运算。

12.根据权利要求1所述的方法,其特征在于步骤(6)中生成网络中交换机的接收表,是将所有时间触发TT业务整合到交换机的输入端口,从而生成交换机的接收表:交换机的接收表包含多行,每一行是一条表项,每条表项之间用换行符分隔开;每条表项中包含多个字段,每个字段之间用空格符分隔开;

每条表项中包含的字段有:业务ID、基本周期号、源端系统编号、目的端系统编号、交换机的开始接收时间点、交换机的接收结束时间点和交换机的接收窗口长度,共7个;计算这些字段时,均是对于同一条时间触发TT业务而言的,具体计算方式如下:业务ID=得到服务时间分配的业务ID;

基本周期号=步骤(3)中分配该业务传输时间点的基本周期编号;

源端系统编号=当前业务的源端系统编号;

目的端系统编号=当前业务的目的端系统编号;

交换机的开始接收时间点=源端系统的发送时间点+端系统的最小发送时延s1+最小链路传输时延t1–同步精度a;

交换机的接收结束时间点=交换机的开始接收时间点+当前业务的传输时长+交换机的最小接收时延sr1-同步精度a;

交换机的接收窗口长度=(源端系统的最大发送时延s2–源端系统的最小发送时延s1)+(最大链路传输时延t2–最小链路传输时延t1)+(交换机的最大接收时延sr2–交换机的最小接收时延sr1)+2*同步精度a;

其中,当前业务的传输时长=当前业务的帧长/(链路带宽w*最小时间片u),*表示乘法运算,/表示除法运算。

13.根据权利要求1所述的方法,其特征在于步骤(6)中生成网络中交换机的发送表,是将所有时间触发TT业务整合到交换机的输出端口,从而生成交换机的发送表:交换机的发送表包含多行,每一行是一条表项,每条表项之间用换行符分隔开;每条表项中包含多个字段,每个字段之间用空格符分隔开;

每条表项中包含的字段有:业务ID、基本周期号、源端系统编号、目的端系统编号、交换机的开始发送时间点、交换机的发送结束时间点和交换机的发送窗口长度,共7个;计算这些字段时,均是对于同一条时间触发TT业务而言的,具体计算方式如下:业务ID=得到服务时间分配的业务ID;

基本周期号=步骤(3)中分配当前业务传输时间点的基本周期编号;

源端系统编号=当前业务的源端系统编号;

目的端系统编号=当前业务的目的端系统编号;

交换机的开始发送时间点=交换机的开始接收时间点+交换机的最小接收时延sr1+交换机的最小转发时延sw1;

交换机的发送结束时间点=发送开始时间点+当前业务的传输时长;

交换机的发送窗口长度=同步精度a;

其中,当前业务的传输时长=当前业务的帧长/(链路带宽w*最小时间片u),*表示乘法运算,/表示除法运算。

14.根据权利要求1所述的方法,其特征在于步骤(6)中生成各目的端系统的接收表,是根据时间触发TT业务的目的端系统编号,将各时间触发TT业务划分到相应目的端系统的接收表中,从而为每个目的端系统生成自己的接收表:目的端系统的接收表包含多行,每一行是一条表项,每条表项之间用换行符分隔开;每条表项中包含多个字段,每个字段之间用空格符分隔开;

每条表项中包含的字段有:业务ID、基本周期号、目的端系统的开始接收时间点,目的端系统的接收结束时间点和目的端系统的接收窗口长度,共5个;计算这些字段时,均是对于同一条时间触发TT业务而言的,具体计算方式如下:业务ID=目的端系统编号与当前端系统编号一致的业务ID;

基本周期号=步骤(3)中分配当前业务传输时间点的基本周期编号;

目的端系统的开始接收时间点=交换机发送时间点+交换机的最小发送时延ss1+最小链路传输时延t1–同步精度a;

目的端系统的接收结束时间点=目的端系统接收开始时间点+当前业务的传输时长;

目的端系统的接收窗口长度=(交换机的最大转发时延sw2–交换机的最小转发时延sw1)+(交换机的最大发送时延ss2–交换机的最小发送时延ss1)+(最大链路传输时延t2–最小链路传输时延t1)+(目的端系统的最大接收时延r2-目的端系统的最小接收时延r1)+2*同步精度a;

其中,当前业务的传输时长=当前业务的帧长/(链路带宽w*最小时间片u),*表示乘法运算,/表示除法运算。

说明书 :

最小时延最大匹配的时间触发业务调度表生成方法

技术领域

[0001] 本发明属于航空电子技术领域,尤其涉及一种时间触发业务调度表生成方法,可用于时间触发以太网中时间触发TT业务的调度。

背景技术

[0002] 随着高完整性时间触发通信互连技术的出现,航空电子体系结构向分布式综合模块化DIMA体系结构演进,对于网络通信的实时性、可靠性和准确性提了更高的需求,时间触发以太网TTE在传统的以太网中引入了时间触发机制,可以提供亚秒级的分布式时钟同步服务,能够保证严格的时间确定性和良好的容错性。TTE网络同时具有标准以太网AFDX网络和时间触发网络的特点,是DIMA理想的总线网络。但TTE并未规定消息调度方法,其消息调度机制需要根据实际应用场合进行定制。
[0003] 目前国内外对TTE调度算法的研究主要集中在时间触发TT业务调度表的生成与优化方面。目前已有的时间触发TT业务调度算法有:中国航空无线电电子研究所徐晓飞等人在北京航空航天大学学报(2015,41(8):1403-1408)中提出了一种基于单调速率调度机制的离线消息调度算法,该方法优化了消息的调度过程,但不支持对非调和周期的TT业务进行调度;空军工程大学航空航天工程学院张超等人在空军工程大学学报(2016,17(6):82-87)中提出了一种改进的时间触发单调速率调度算法,该方法增加了算法的适用范围,但未考虑时钟同步服务;西安电子科技大学姚明旴等人在其申请的专利文献“一种时间触发业务静态调度表的生成方法”(申请号201710263462.6,申请公布号CN107241179A)中公开了基于时隙的一种时间触发业务静态调度表的生成方法,该方法减小了ET业务的等待时延,但未考虑到时间触发TT业务的产生时间对事件触发ET业务等待时延的影响;西安微电子技术研究所哈云雪等人在其申请的专利文献“一种面向时间触发通信的动态时槽锁定方法”(申请号201710676640.8,申请公布号CN107332794A)中公开了一种按照需求动态分配时间触发TT时槽进行业务调度的方法,该方法在时间触发TT业务负载较低且有多个交换机存在的级联系统中可显著提升带宽利用率,但在时间触发TT业务负载较高的网络中链路利用率不够高。上述已有调度算法均未考虑时间触发TT业务的产生时间对时延产生的影响,且在时间触发TT业务负载较高而端口竞争激烈的网络中,链路利用率较低。

发明内容

[0004] 本发明的目的在于提出一种最小时延最大匹配的时间触发业务调度表生成方法,以解决目前时间触发以太网中在生成时间触发TT业务的调度表时,未考虑业务的产生时间而导致时间触发TT业务时延大,网络链路利用率低的问题。
[0005] 为实现上述目的,本发明技术方案包括如下:
[0006] (1)获取网络参数和业务参数:
[0007] 所述网络参数包括:时间触发TT业务数目、链路带宽、最小时间间隔、同步精度、源端系统的最小发送时延、源端系统的最大发送时延、最小链路传输时延、最大链路传输时延、交换机的最小接收时延、交换机的最大接收时延、交换机的最小转发时延、交换机的最大转发时延、目的端系统的最小接收时延和目的端系统的最大接收时延,共14个;
[0008] 所述业务参数包括:业务ID、帧长、周期、源端系统编号、目的端系统编号和产生时间,共6个;
[0009] (2)计算业务调度的矩阵周期MC和基本周期BC;
[0010] (3)根据业务参数,对时间触发TT业务进行调度优先级预排序,并将时间触发TT业务的传输时间点放入矩阵周期的一个或多个基本周期内,生成源端系统的TT业务带宽预案;
[0011] (4)结合业务参数,对时间触发TT业务进行调度优先级排序:
[0012] (4a)根据每个基本周期待分配的时间触发TT业务,建立执行时间点集合[0013] E、待分配业务流集合A、输入端口状态集合I、输出端口状态集合O、已排序业务流集合S和已分配业务流集合D这6个集合,并对其初始化;
[0014] (4b)基于时间触发TT业务的产生时间,采用最大匹配算法,对待分配业务流集合D中的时间触发TT业务进行调度优先级再排序,并将排序后的结果压入已排序业务集合S;
[0015] (5)分配源端系统中各时间触发TT业务在每个基本周期中的发送时间,并生成各源端系统的发送表:
[0016] (5a)取出执行时间点集合E的第一个子集合,根据该子集合分别对输入端口状态集合I、输出端口状态集合O和已排序业务流集合S进行修改;
[0017] (5b)判断时间触发TT业务的产生时间是否大于当前执行时间点:若是,将该业务重新压入已排序业务流集合S;若否,执行(5c);
[0018] (5c)根据网络当前状态执行一次时间触发TT业务调度;
[0019] (5d)判断已分配业务流集合A是否包含已排序业务流集合S中的所有时间触发TT业务:若是,则本基本周期内所有时间触发TT业务分配完成;若否,则返回(5a);
[0020] (5e)重复(5a)~(5d),完成源端系统所有基本周期内的时间触发TT业务的发送时间分配;
[0021] (5f)生成各源端系统的发送表;
[0022] (6)在各源端系统发送表的基础上,结合网络中引入的各个时延,生成网络中交换机的接收表、交换机的发送表以及各目的端系统的接收表。
[0023] 本发明与现有技术相比具有以下优点:
[0024] 第一,由于本发明在将时间触发TT业务的传输时间点放入矩阵周期的一个或多个基本周期内时,选择与业务产生时间最近的基本周期开始分配其传输时间点,而在各基本周期内,通过对业务按照产生时间从小到大进行排序,使业务的服务时间尽量靠近其产生时间,而网络整体上呈现先产生的业务先得到服务,每个业务的服务时间尽量靠近其产生时间的特点,克服了现有技术中未考虑时间触发TT业务产生时间而导致业务时延较大的问题,使得触发TT业务总时延最小。
[0025] 第二,由于本发明在分配各基本周期内时间触发TT业务的服务时间时,采用最大匹配算法,优先分配入度数最小的输入端口和出度数最大的输出端口相应业务的服务时间,使得网络中的同一时间,有尽可能多的业务进行无冲突传输,因此各时间触发TT业务的传输时间较为集中,为事件触发ET业务留出了更多连续的传输时间,提高了网络链路利用率;特别是在时间触发TT业务负载较高,端口竞争激烈的网络中,显著提高了链路的利用率。

附图说明

[0026] 图1是本发明的实现总流程图;
[0027] 图2是本发明中涉及到的各时延的示意图;
[0028] 图3是本发明中使用入度轮和出度轮进行端口轮询时的轮询顺序示意图;
[0029] 图4是本发明中生成各网络节点的示意图。

具体实施方式

[0030] 下面结合附图对本发明作进一步的详细描述。
[0031] 参照图1,本发明的实现步骤如下:
[0032] 步骤1,获取业务参数和网络参数
[0033] 所述业务参数包括:业务ID、帧长、周期、源端系统发送编号、目的端系统编号和产生时间,共6个;
[0034] 所述网络参数包括:时间触发TT业务数目n、链路带宽w、最小时间间隔u、同步精度a、源端系统的最小发送时延s1、源端系统的最大发送时延s2、最小链路传输时延t1、最大链路传输时延t2、交换机的最小接收时延sr1、交换机的最大接收时延sr2、交换机的最小转发时延sw1、交换机的最大转发时延sw2、交换机的最小发送时延ss1、交换机的最大发送时延ss2、目的端系统的最小接收时延r1和目的端系统的最大接收时延r2,共16个,其中:
[0035] 将最小时间间隔u作为时间调度表的最小时间粒度单位,根据每个TT业务帧长的不同,为其分配若干个最小时间间隔作为发送窗口;
[0036] 参照图2,对网络中的各类时延含义描述如下:
[0037] 源端系统的最小发送时延s1:表示源端系统开始输出时间触发TT业务的第一个比特到该比特真正放到传输线路上的最小时延;
[0038] 源端系统的最大发送时延s2:表示源端系统开始输出时间触发TT业务的第一个比特到该比特真正放到传输线路上的最大时延;
[0039] 交换机的最小接收时延sr1:表示时间触发TT业务的第一个比特到达交换机的接收端口到该比特被交换机确认接收的最小时延;
[0040] 交换机的最大接收时延sr2:表示时间触发TT业务的第一个比特到达交换机的接收端口到该比特被交换机确认接收的最小时延;
[0041] 交换机的最小交换时延sw1:表示时间触发TT业务的第一个比特被交换机确认接收到该比特真正转发完成进入发送缓存的最小时延;
[0042] 交换机的最大交换时延sw2:表示时间触发TT业务的第一个比特被交换机确认接收到该比特真正转发完成进入发送缓存的最大时延;
[0043] 交换机的最小发送时延ss1:表示时间触发TT业务的第一个比特被交换机转发完成到该比特真正放到传输线路上的最小时延;
[0044] 交换机的最大发送时延ss2:表示时间触发TT业务的第一个比特被交换机转发完成到该比特真正放到传输线路上的最大时延;
[0045] 目的端系统的最小接收时延r1:表示时间触发TT业务的第一个比特到达端系统的接收端口到该比特被端系统确认接收的最小时延;
[0046] 目的端系统的最大接收时延r2:表示时间触发TT业务的第一个比特到达端系统的接收端口到该比特被端系统确认接收的最大时延;
[0047] 最小链路传输时延t1:表示时间触发TT业务的第一个比特被放到传输线路上到抵达端系统或交换机接收端口的最小时延;
[0048] 最大链路传输时延t2:表示时间触发TT业务的第一个比特被放到传输线路上到抵达端系统或交换机接收端口的最大时延。
[0049] 步骤2,计算业务调度的矩阵周期和基本周期。
[0050] 所述矩阵周期,是所有时间触发TT业务周期传输一次所需的总时间,其可划分为若干个基本周期,这两个周期的计算如下:
[0051] 计算所有时间触发TT业务周期的最大公约数,作为基本周期BC;
[0052] 计算所有时间触发TT业务周期的最小公倍数,作为矩阵周期MC。
[0053] 步骤3,将时间触发TT业务的传输时间点放入矩阵周期的一个或多个基本周期内,生成源端系统的TT业务带宽预案。
[0054] (3a)对于某个TT业务,确定当前业务应该在矩阵周期中的第几个基本周期开始分配其传输时间点,将该值记作初始偏移量offset,其计算方式如下:
[0055]
[0056] 其中,BC表示基本周期,u表示最小时间片,w表示链路带宽,s表示当前时间触发TT业务的帧长,p表示当前业务的产生时间,%表示取余运算,/表示乘法运算;
[0057] (3b)将矩阵周期看做由多行多列组成的大矩形,其每一行代表一个基本周期,每一列代表各基本周期中的同一传输时间段;
[0058] (3c)判断将当前时间触发TT业务放入矩阵周期的各个基本周期后,是否会引起列冲突,即判断矩阵周期同一列中已分配的所有时间触发TT业务两两取周期的最大公约数,再进行求导求和后是否小于等于1:若是,则在当前列中,根据(3a)中的初始偏移量offset开始分配该业务的传输时间点;若否,则在另外一列中分配该业务的传输时间点;
[0059] (3d)在当前列中,从初始偏移量offset开始,根据时间触发TT业务的周期c,每隔c/BC个基本周期,分配一次当前业务,直到将当前业务的传输时间点均匀分配到整个矩阵周期中;
[0060] (3e)重复(3a)~(3d),直到将所有时间触发TT业务的传输时间点分配到矩阵周期的一个或多个基本周期内,得到源端系统的TT业务带宽预案。
[0061] 下面通过举例的方式,直观地展示生成的源端系统的TT业务带宽预案:
[0062] 设网络中当前有5个时间触发TT业务,它们的部分属性如表1所示。
[0063] 表1 TT业务的部分属性
[0064]业务ID 产生时间(ms) 周期(ms)
m1 0 1
m2 0 2
m3 0 3
m4 1 2
m5 2.5 3
[0065] 根据这5个业务的周期,可计算得到基本周期为1ms,矩阵周期为6ms,再按照上述分配方法,生成如表2所示的源端系统的TT业务带宽预案。
[0066] 表2时间触发TT业务带宽预案
[0067]
[0068] 从表2可以看出,各时间触发TT业务的传输时间点分配结果如下:
[0069] 对于周期为1ms,产生时间为0ms的TT业务m1,其传输时间点将被分配在每个基本周期内;
[0070] 对于周期为2ms,产生时间为0ms的TT业务m2,其传输时间点被将分配在第1,3,5基本周期内;
[0071] 对于周期为3ms,产生时间为0ms的TT业务m3,其传输时间点将被分配在第2,5基本周期内;
[0072] 对于周期为2ms,产生时间为1ms的TT业务m4,其传输时间点将被分配在第2,4,6基本周期内;
[0073] 对于周期为3ms,产生时间为2.5ms的TT业务m5,其传输时间点将被分配在第3,6基本周期内。
[0074] 步骤4,结合业务参数,采用最大匹配算法,对时间触发TT业务进行调度优先级排序。
[0075] (4a)根据每个基本周期待分配的时间触发TT业务,建立执行时间点集合E、待分配业务流集合A、输入端口状态集合I、输出端口状态集合O、已排序业务流集合S和已分配业务流集合D这6个集合,并对其初始化:
[0076] (4a1)用一个类类型的vector容器来建立执行时间点集合E,该容器中每一个元素为一个类类型的对象,其成员包括时间点、当前时间点下产生的业务ID,以及当前时间点下释放的输入端口和输出端口,其中的时间点包括每个时间触发TT业务的产生时间点和服务结束时间点;
[0077] 初始化时,执行时间点集合E每个元素中的时间点为每个业务的产生时间点,当前时间点下产生的业务ID为网络中已存在业务的ID,而当前时间点下释放的输入端口号和输出端口号均为0,表示没有端口释放;
[0078] (4a2)用一个整型类型的二维vector容器来建立待分配业务流集合A,该容器中每个元素为一个整型的vector容器,每个元素的下标与输入-输出端口号有如下对应关系:
[0079] 下标=(输入端口号-1)/输入端口总数=(输出端口号-1)%输出端口总数;
[0080] 输入端口号=下标/输入端口总数+1;
[0081] 输出端口号=下标%输出端口总数+1;
[0082] 而每个元素的内容为与输入-输出端口号匹配的待分配业务ID;
[0083] 其中,/表示除法运算,%表示取余运算;
[0084] 初始化时,待分配业务流集合A包含所有已产生但还未被服务的业务ID;
[0085] (4a3)用一个整型数组来建立输入端口状态集合I,该数组的长度为输入端口的数目,数组中每个元素的下标表示输入端口编号,取值表示对应输入端口的状态,取值为0表示该输入端口空闲,取值为1表示该输入端口忙;
[0086] 初始化时,该数组所有元素取值为0,表示各输入端口均空闲;
[0087] (4a4)用一个整型数组来建立输出端口状态集合O,该数组的长度为输出端口的数目,数组中每个元素的下标表示输出端口编号,取值表示对应输出端口的状态,取值为0表示该输出端口空闲,取值为1表示该输出端口忙;
[0088] 初始化时,该数组所有元素取值为0,表示各输出端口均空闲;
[0089] (4a5)用一个整型的vector容器来建立已排序业务流集合S,该容器每个元素为一个整型数据,表示已排序的业务ID;
[0090] 初始化时,该集合为空;
[0091] (4a6)用一个整型的vector容器来建立已分配业务流集合D,该容器每个元素为一个整型数据,表示已分配的业务ID;
[0092] 初始化时,该集合为空。
[0093] (4b)基于时间触发TT业务的产生时间,采用最大匹配算法,对待分配业务流集合D中的时间触发TT业务进行调度优先级再排序,并将排序后的结果压入已排序业务集合S:
[0094] (4b1)将同一基本周期中所有时间触发TT业务按照产生时间从小到大的顺序进行排序:
[0095] (4b2)采用最大匹配算法,对同一产生时间下的时间触发TT业务按照如下步骤进行排序:
[0096] 参照图3,本步骤的具体实现如下:
[0097] (4b21)先建立入度数集合N和出度数集合T;这两个集合均用数组来建立,数组的长度为输入或输出端口总数,数组中每个元素的下标表示输入或输出端口编号,取值表示对应输入或输出端口号的入度数或者出度数,初始化这两个数组为全0;
[0098] (4b22)根据待分配业务流集合A,统计各输入端口的入度数与各输出端口的出度数,并将统计结果记录到入度数集合N和出度数集合T中;将输入端口状态集合I和输出端口状态集合O中各端口状态置为0,表示各端口均空闲;
[0099] (4b23)定义入度轮和出度轮两个变量来实现度数相同时的端口轮询;
[0100] (4b24)选择输入端口状态集合I中入度数最小的空闲输入端口作为基准输入端口,选择输出端口状态集合O中出度数最大的空闲输出端口作为基准输出端口;
[0101] (4b25)判断其他输入端口与基准输入端口的入度数是否相等:若是,执行(4b210);若否,直接取出基准输入端口;
[0102] (4b26)判断其他输出端口与基准输出端口的出度数是否相等:若是,执行(4b210);若否,直接取出基准输出端口;
[0103] (4b27)根据取出的输入-输出端口对,判断待分配业务流集合A中对应的子集合中是否有待排序业务:若有,则将该业务加入已排序业务流集合S,执行(4b212);若无,执行(4b28);
[0104] (4b28)判断取出当前基准输入端口时,是否所有空闲输出端口已完成上述判断:若是,选择入度数次大的空闲输入端口作为基准输入端口;若否,基准输入端口不变;返回(4b25);
[0105] (4b29)选择出度数次大的空闲输出端口作为基准输出端口,返回(4b26);
[0106] (4b210)从入度轮所指的的输入端口开始,按照输入端口号从小到大循环的顺序,取出与入度轮所指端口最近但不相等的空闲输入端口,将入度轮指向该输入端口,返回(4b25);
[0107] (4b211)从出度轮所指的输出端口开始,按照输出端口号从小到大循环的顺序,取出与出度轮所指端口最近但不相等的空闲输出端口,将出度轮指向该输出端口,返回(4b26);
[0108] (4b212)当某个时间触发TT业务被成功排序后,依次对待分配业务流集合A、入度数集合N、出度数集合T、输入端口状态集合I和输出端口状态集合O进行修改,修改后的结果将作为下一个时间触发TT业务进行排序的依据,具体修改方式如下:
[0109] 首先,从待分配业务流集合A中去除已排序过的业务;
[0110] 接着,根据已排序过业务的目的端系统编号,将入度数集合N中相应输入端口的入度数减1;
[0111] 接着,根据已排序过业务的源端系统编号,将出度数集合T中相应输出端口的出度数减1;
[0112] 接着,根据已排序过业务的目的端系统编号,将输入端口状态集合I中相应输入端口的状态从空闲态变为忙态,即取值从0变为1;
[0113] 最后,根据已排序过业务的源端系统编号,将输出端口状态集合O中相应输出端口的状态从空闲态变为忙态,即取值从0变为1。
[0114] (4b213)重复(4b23)~(4b212),直到所有无端口冲突的时间触发TT业务被成功排序;
[0115] (4b214)重复(4b22)~(4b213),直到当前产生时间下的所有时间触发TT业务被成功排序;
[0116] (4c)重复(4b),直到本基本周期中所有产生时间下的时间触发TT业务被成功排序;
[0117] (4d)重复(4a)到(4c),完成所有基本周期内时间触发TT业务的调度优先级再排序;
[0118] 步骤5,分配源端系统中时间触发TT业务在每个基本周期中的发送时间,并生成各源端系统的发送表。
[0119] (5a)取出执行时间点集合E的第一个子集合,根据该子集合分别对输入端口状态集合I、输出端口状态集合O和已排序业务流集合S进行如下修改:
[0120] (5a1)从执行时间点集合E中取出第一个子集合E1;
[0121] (5a2)根据子集合E1中当前时间点下释放的输入端口号,将输入端口状态集合I中相应端口的状态从忙态变为空闲态,即取值从1变为0;
[0122] (5a3)根据子集合E1中当前时间点下释放的输出端口号,将输出端口状态集合O中相应端口的状态从忙态变为空闲态,即取值从1变为0;
[0123] (5a4)判断子集合E1中当前时间点下产生的业务ID是否为0:
[0124] 若是,则对已排序业务流集合S不做修改;
[0125] 若否,则将该业务ID加入到已排序业务流集合S,表示在该时间点下有新业务产生。
[0126] (5b)判断时间触发TT业务的产生时间是否大于当前执行时间点:
[0127] 若是,将该业务重新压入已排序业务流集合S;
[0128] 若否,执行(5c);
[0129] (5c)根据网络当前状态执行一次时间触发TT业务调度:
[0130] (5c1)从输入端口状态集合I空闲的各输入端口中,取出已排序业务流集合S内产生时间最早的业务,判断该业务对应的输出端口是否忙:若是,则不发起申请;若否,则向输出端口发起申请;
[0131] (5c2)从输出端口状态集合O空闲的各输出端口中,选择申请中产生时间最早的业务流进行授权;
[0132] (5c3)从输入端口状态集合I空闲的各输入端口中,选择授权中产生时间最早的业务进行接受;
[0133] (5c4)判断授权业务的服务结束时间是否大于基本周期长度:若是,则分配失败;若否,则为授权业务分配服务时间,其中,基本周期长度为所有时间触发TT业务周期的最大公约数;
[0134] (5c5)当某个业务被成功分配服务时间后,依次对已排序业务流集合S、输入端口状态集合I、输出端口状态集合O和执行时间点集合S进行修改,具体修改过程如下:
[0135] 首先,从已排序业务流集合S中去除已分配服务时间的业务;
[0136] 接着,将已分配服务时间的业务加入已分配业务流集合D;
[0137] 接着,根据已分配服务时间业务的目的端系统编号,将输入端口状态集合I中相应输入端口的状态从空闲态变为忙态,即取值从0变为1;
[0138] 接着,根据已分配服务时间业务的源端系统编号,将输出端口状态集合O中相应输出端口的状态从空闲态变为忙态,即取值从0变为1;
[0139] 接着,计算已分配服务时间业务的服务时长,其值等于已分配服务时间业务的帧长/链路带宽w/最小时间片u,其中/表示除法运算;
[0140] 接着,计算已分配服务时间业务的服务结束时间时间点,其值等于当前时间点+已分配服务时间业务的服务时长+保护带,其中保护带取1,表示一个最小时间片u;
[0141] 接着,生成一个时间点子集合,其中,时间点为已分配服务时间业务的服务结束时间点,当前时间点下产生的业务ID为0,当前时间点下释放的输入端口为已分配服务时间业务的目的端系统编号,当前时间点下释放的输出端口为已分配服务时间业务的源端系统编号;
[0142] 最后,将生成的时间点子集合加入执行时间点集合S;
[0143] (5d)将修改后的结果作为对下一个时间触发TT业务进行服务时间分配的依据,判断已分配业务流集合A是否包含已排序业务流集合S中的所有时间触发TT业务:若是,则本基本周期内所有时间触发TT业务分配完成;若否,则返回(5a);
[0144] (5e)重复(5a)到(5d),完成源端系统所有基本周期内的时间触发TT业务的发送时间分配;
[0145] (5f)根据时间触发TT业务的源端系统编号,将各时间触发TT业务划分到相应源端系统的发送表中,为每个源端系统生成自己的发送表。
[0146] 源端系统的发送表包含多行,每一行是一条表项,每条表项之间用换行符分隔开;每条表项中包含多个字段,每个字段之间用空格符分隔开;
[0147] 每条表项中包含的字段有:业务ID、基本周期号、源系统的开始发送时间点,源端系统的发送结束时间点和源端系统的发送窗口长度,共5个;计算这些字段时,均是对于同一条时间触发TT业务而言的,具体计算方式如下:
[0148] 业务ID=源端系统编号与当前端系统编号一致的业务ID;
[0149] 基本周期号=步骤(3)中分配当前业务传输时间点的基本周期编号;
[0150] 源系统的开始发送时间点=步骤(5b)中分配给当前业务的服务时间点;
[0151] 源端系统的发送结束时间点=源系统的开始发送时间点+当前业务的传输时长;
[0152] 源端系统的发送窗口长度=同步精度a;
[0153] 其中,当前业务的传输时长=当前业务的帧长/(链路带宽w*最小时间片u),*表示乘法运算,/表示除法运算。
[0154] 步骤6,在各源端系统发送表的基础上,结合网络中引入的各个时延,生成网络中交换机的接收表、交换机的发送表以及各目的端系统的接收表。
[0155] 参照图4,本步骤的具体实现如下:
[0156] (6a)将所有时间触发TT业务整合到交换机的输入端口,从而生成交换机的接收表:
[0157] 交换机的接收表包含多行,每一行是一条表项,每条表项之间用换行符分隔开;每条表项中包含多个字段,每个字段之间用空格符分隔开;
[0158] 每条表项中包含的字段有:业务ID、基本周期号、源端系统编号、目的端系统编号、交换机的开始接收时间点、交换机的接收结束时间点和交换机的接收窗口长度,共7个;计算这些字段时,均是对于同一条时间触发TT业务而言的,具体计算方式如下:
[0159] 业务ID=得到服务时间分配的业务ID;
[0160] 基本周期号=步骤(3)中分配该业务传输时间点的基本周期编号;
[0161] 源端系统编号=当前业务的源端系统编号;
[0162] 目的端系统编号=当前业务的目的端系统编号;
[0163] 交换机的开始接收时间点=源端系统的发送时间点+端系统的最小发送时延s1+最小链路传输时延t1–同步精度a;
[0164] 交换机的接收结束时间点=交换机的开始接收时间点+当前业务的传输时长+交换机的最小接收时延sr1-同步精度a;
[0165] 交换机的接收窗口长度=(源端系统的最大发送时延s2–源端系统的最小发送时延s1)+(最大链路传输时延t2–最小链路传输时延t1)+(交换机的最大接收时延sr2–交换机的最小接收时延sr1)+2*同步精度a;
[0166] 其中,当前业务的传输时长=当前业务的帧长/(链路带宽w*最小时间片u),*表示乘法运算,/表示除法运算;
[0167] (6b)将所有时间触发TT业务整合到交换机的输出端口,从而生成交换机的发送表:
[0168] 交换机的发送表包含多行,每一行是一条表项,每条表项之间用换行符分隔开;每条表项中包含多个字段,每个字段之间用空格符分隔开;
[0169] 每条表项中包含的字段有:业务ID、基本周期号、源端系统编号、目的端系统编号、交换机的开始发送时间点、交换机的发送结束时间点和交换机的发送窗口长度,共7个;计算这些字段时,均是对于同一条时间触发TT业务而言的,具体计算方式如下:
[0170] 业务ID=得到服务时间分配的业务ID;
[0171] 基本周期号=步骤(3)中分配当前业务传输时间点的基本周期编号;
[0172] 源端系统编号=当前业务的源端系统编号;
[0173] 目的端系统编号=当前业务的目的端系统编号;
[0174] 交换机的开始发送时间点=交换机的开始接收时间点+交换机的最小接收时延sr1+交换机的最小转发时延sw1;
[0175] 交换机的发送结束时间点=发送开始时间点+当前业务的传输时长;
[0176] 交换机的发送窗口长度=同步精度a;
[0177] 其中,当前业务的传输时长=当前业务的帧长/(链路带宽w*最小时间片u),*表示乘法运算,/表示除法运算;
[0178] (6c)根据时间触发TT业务的目的端系统编号,将各时间触发TT业务划分到相应目的端系统的接收表中,从而为每个目的端系统生成自己的接收表:
[0179] 目的端系统的接收表包含多行,每一行是一条表项,每条表项之间用换行符分隔开;每条表项中包含多个字段,每个字段之间用空格符分隔开;
[0180] 每条表项中包含的字段有:业务ID、基本周期号、目的端系统的开始接收时间点,目的端系统的接收结束时间点和目的端系统的接收窗口长度,共5个;计算这些字段时,均是对于同一条时间触发TT业务而言的,具体计算方式如下:
[0181] 业务ID=目的端系统编号与当前端系统编号一致的业务ID;
[0182] 基本周期号=步骤(3)中分配当前业务传输时间点的基本周期编号;
[0183] 目的端系统的开始接收时间点=交换机发送时间点+交换机的最小发送时延ss1+最小链路传输时延t1–同步精度a;
[0184] 目的端系统的接收结束时间点=目的端系统接收开始时间点+该消息服务时间;
[0185] 目的端系统的接收窗口长度=(交换机的最大转发时延sw2–交换机的最小转发时延sw1)+(交换机的最大发送时延ss2–交换机的最小发送时延ss1)+(最大链路传输时延t2–最小链路传输时延t1)+(目的端系统的最大接收时延r2-目的端系统的最小接收时延r1)+2*同步精度a;
[0186] 其中,当前业务的传输时长=当前业务的帧长/(链路带宽w*最小时间片u),*表示乘法运算,/表示除法运算。
[0187] 本发明的效果可通过以下实验进一步说明:
[0188] 一、实验条件
[0189] 设网络中有4个端系统,10条时间触发TT业务,其中业务参数和网络参数分别如表3和表4所示。
[0190] 表3时间触发TT业务
[0191]
[0192] 表4网络参数
[0193]参数名 取值
TT业务数目 5
同步精度(ns) 200
链路带宽(Mbps) 1000
源端系统的最小发送时延(ns) 10
源端系统的最小发送时延(ns) 10
最小链路传输时延(ns) 1656
最大链路传输时延(ns) 1744
交换机的最小接收时延(ns) 10
交换机的最大接收时延(ns) 10
交换机的最小转发时延(ns) 40
交换机的最大转发时延(ns) 40
交换机的最小发送时延(ns) 8
交换机的最大发送时延(ns) 16
目的端系统的最小接收时延(ns) 10
目的端系统的最大接收时延(ns): 10
[0194] 二、实验内容与结果
[0195] 实验1,根据上述步骤(2)计算基本周期和矩阵周期,结果为:
[0196] 基本周期=1ms
[0197] 矩阵周期=6ms
[0198] 实验2,根据上述步骤(3)将时间触发TT业务的传输时间点放入矩阵周期的一个或多个基本周期内生成源端系统的时间触发TT业务带宽预案,结果如表5所示。
[0199] 表5源端系统的时间触发TT业务带宽预案
[0200]基本周期号 待传输的业务
1 ID2,ID1,ID5,ID3
2 ID2,ID1,ID4
3 ID2,ID1,ID5
4 ID2,ID1,ID4,ID3
5 ID2,ID1,ID5
6 ID2,ID1,ID4
[0201] 实验3,根据上述步骤(5f)生成各源端系统的发送表,结果如表6所示。
[0202] 其中,表6-1为源端系统1的发送表,表6-2为源端系统2的发送表,表6-3为源端系统3的发送表,表6-4为源端系统4的发送表。
[0203] 表6-1源端系统1的发送表
[0204]
[0205] 表6-2源端系统2的发送表
[0206]
[0207] 表6-3源端系统3的发送表
[0208]
[0209] 表6-4源端系统4的发送表
[0210]
[0211] 表6-1至表6-4中,源系统的开始发送时间点,源端系统的发送结束时间点和交换机的接收窗口长度这三个字段均以最小时间片为单位。
[0212] 实验4,根据步骤(6a)生成交换机的接收表,结果如表7所示。
[0213] 表7交换机的接收表
[0214]
[0215] 表7中,交换机的开始接收时间点,交换机的接收结束时间点和交换机的接收窗口长度这三个字段均以最小时间片为单位。
[0216] 实验5,根据步骤(6b)生成交换机的发送表,结果如表8所示。
[0217] 表8交换机的发送表
[0218]
[0219] 表8中,交换机的开始发送时间点,交换机的发送结束时间点和交换机的发送窗口长度这三个字段均以最小时间片为单位。
[0220] 实验6,根据步骤(6c)生成各目的端系统的接收表,结果如表9所示。
[0221] 其中,表9-1为目的端系统1的接收表,表9-2为目的端系统2的接收表,表9-3为目的端系统3的接收表,表9-4为目的端系统4的接收表。
[0222] 表9-1目的端系统1的接收表
[0223]
[0224]
[0225] 表9-2目的端系统2的接收表
[0226]
[0227] 表9-3目的端系统3的接收表
[0228]
[0229] 表9-4目的端系统4的接收表
[0230]
[0231] 表9-1至表9-4中,目的端系统的开始接收时间点,目的端系统的接收结束时间点和目的端系统的接收窗口长度这三个字段均以最小时间片为单位。