支持多播业务的时间触发业务调度表生成方法技术

技术编号:19352186 阅读:23 留言:0更新日期:2018-11-07 17:31
本发明专利技术公开了一种支持多播的时间触发业务调度表生成方法。主要解决现有技术在生成时间触发TT业务的调度表时,不支持对多播TT业务进行调度或因调度多播业务造成链路利用率低的问题。其包括:获取业务参数和网络参数,并计算业务调度的矩阵周期和基本周期;将TT业务的传输时间点放入矩阵周期的一个或多个基本周期内,生成源端系统的TT业务带宽预案;根据业务参数,分配源端系统各基本周期中TT业务的发送时间,依次生成源端系统的发送表、交换机的接收表和发送表以及目的端系统的接收表。本发明专利技术生成的调度表能保证多播和单播混合的TT业务在网络中无冲突传输,提高了链路利用率,可用于时间触发以太网中TT业务的调度。

【技术实现步骤摘要】
支持多播业务的时间触发业务调度表生成方法
本专利技术属于航空电子
,尤其涉及一种时间触发业务调度表生成方法,可用于实现时间触发以太网中单播和多播时间触发TT业务混合的调度。
技术介绍
航空电子系统体系结构的发展,促进了时间触发通信机制的引入。分布式嵌入式实时系统领域首先提出了时间触发体系架构,该体系架构在时间同步的基础上按照精确的资源使用计划来引导整个系统的活动,对资源进行充分使用。在此基础上发展而来的时间触发以太网TTE,以时间触发代替事件触发,在全局时钟精确同步的条件下,使网络任务通信具有完全的实时性,有望成为分布式综合模块化航空电子系统的互连基础设施。但时间触发以太网并未规定业务调度方法,其业务调度机制需要根据实际应用场合进行定制。目前已有的时间触发TT业务调度算法包括以下几种:1.中国航空无线电电子研究所徐晓飞等人在其申请的专利文献“一种有效的时间触发网络通信时间调度方法”(申请号201210541489.4,申请公布号CN102970247A)中公开了一种将网络最长帧传输时间作为基本周期进行业务调度的方法,该方法增加了通信时间调度方法的可扩展性,但不支持对非调和周期的时间触发TT业务进行调度。2.北京航空航天大学的张英静等在北京航空航天大学学报(2017,43(8):1577-1584)中提出了一种基于TTE的改进加权轮询调度算法,该方法利用可满足性模理论SMT解析器生成时间触发TT业务调度表,但链路利用率较低。3.西安电子科技大学在其申请的专利文献“一种时间触发业务静态调度表的生成方法”(申请号201710263462.6,申请公布号CN107241179A)中公开了一种时间触发业务调度表的静态生成方法,该方法最大程度减小时间触发TT业务所占据的时间区间长度,但并未考虑到多播时间触发TT业务对调度结果的影响。上述已有调度方法部分不能调度多播时间触发TT业务,部分虽然能够调度多播时间触发TT业务,但在传输此类业务时链路利用率会出现较大幅度下降。
技术实现思路
本专利技术的目的在于提出一种支持多播业务的时间触发业务调度表生成方法,以解决目前时间触发以太网中在生成时间触发TT业务的调度表时,不支持对多播TT业务进行调度或因调度多播业务造成链路利用率低的问题。为实现上述目的,本专利技术技术方案包括如下:(1)获取业务参数和网络参数:所述业务参数,包括:业务ID、帧长、周期、业务类型、源端系统编号、目的端系统编号和产生时间,共7个;所述网络参数,包括:链路带宽w、最小时间间隔u、同步精度a和网络时延,该时延包括:源端系统的最小发送时延s1、源端系统的最大发送时延s2、最小链路传输时延t1、最大链路传输时延t2、交换机的最小接收时延sr1、交换机的最大接收时延sr2、交换机的最小转发时延sw1、交换机的最大转发时延sw2、交换机的最小发送时延ss1、交换机的最大发送时延ss2、目的端系统的最小接收时延r1和目的端系统的最大接收时延r2,共12个时延;(2)计算所有时间触发TT业务周期的最大公约数,作为基本周期BC,再计算所有时间触发TT业务周期的最小公倍数,作为矩阵周期MC;(3)根据业务参数,对时间触发TT业务进行调度优先级排序,并将时间触发TT业务的传输时间点放入矩阵周期的一个或多个基本周期内,生成源端系统的时间触发TT业务带宽预案;(4)结合业务参数,分配源端系统中各时间触发TT业务在每个基本周期中的发送时间:(4a)根据一个基本周期待分配的时间触发TT业务,建立执行时间点集合E和分配结果集合A这2个集合,并对其初始化;(4b)根据业务参数,建立源端系统单播执行时间点数组IS、目的端系统单播执行时间点数组OS、源端系统多播开始时间点数组IM1、源端系统多播结束时间点数组IM2、目的端系统多播开始时间点数组OM1、目的端系统多播结束时间点数组OM2这6个数组,并对其初始化;(4c)取出执行时间点集合E的第一个子集合E1,并判断子集合E1中第一个业务的业务类型是否为多播业务:若是,则执行(4d);若否,执行(4e);(4d)根据各端系统多播开始时间点和多播结束时间点,执行一次多播时间触发TT业务调度;(4e)根据各端系统单播执行时间点、多播开始时间点和多播结束时间点,执行一次单播时间触发TT业务调度;(4f)判断子集合E1是否为空集合:若是,删除子集合E1;若否,则返回(4c);(4g)判断执行时间点集合E是否为空集合:若是,则本基本周期内所有时间触发TT业务分配完成;若否,则返回(4c);(4h)重复(4a)~(4g),完成源端系统所有基本周期内的时间触发TT业务的发送时间分配;(5)根据分配结果集合A,生成各源端系统的发送表Yi,其中i表示源端系统编号;(6)在各源端系统发送表的基础上,结合网络中引入的网络时延,生成网络中交换机的接收表H、交换机的发送表S和各目的端系统的接收表Nj,其中j表示目的端系统编号。本专利技术与现有技术相比具有以下优点:第一,由于本专利技术在为每个业务分配基本周期中的具体发送时间时,先判断其业务类型,如果是多播业务,则根据多播业务需要占用多目的端系统的特性,同时判断多目的端系统的占用情况,保证多播业务在所有相关端系统空闲时传输,避免了TT业务之间产生冲突,克服了现有技术中不支持多播调度的问题。第二,由于本专利技术为每个源端系统和目的端系统设立了单播执行时间点、多播开始时间点、多播结束时间点这3个参数,为多播业务分配发送时间后,在不与已安排发送时间业务冲突的情况下,单播业务仍可利用多播发送之前空闲端口的这段空闲时间进行传输,克服了现有技术中调度多播业务时链路利用率低的问题。附图说明图1是本专利技术的应用环境实例图;图2是本专利技术的实现总流程图。具体实施方式下面结合附图对本专利技术作进一步的详细描述。参照图1,在一个星型网络中,有一台交换机、n个源端系统、m个目的端系统,时间触发TT业务可从任意1个源端系统发往任意的1个或多个目的端系统。本专利技术是为所有时间触发TT业务生成时间调度表来保证无冲突传输。参照图2,本专利技术的实现步骤如下:步骤1,获取业务参数和网络参数。所述业务参数包括:业务ID、帧长、周期、源端系统发送编号、目的端系统编号和产生时间,共6个;所述网络参数,包括:链路带宽w、最小时间间隔u、同步精度a和网络时延,该时延包括:源端系统的最小发送时延s1、源端系统的最大发送时延s2、最小链路传输时延t1、最大链路传输时延t2、交换机的最小接收时延sr1、交换机的最大接收时延sr2、交换机的最小转发时延sw1、交换机的最大转发时延sw2、交换机的最小发送时延ss1、交换机的最大发送时延ss2、目的端系统的最小接收时延r1和目的端系统的最大接收时延r2,共12个时延,其中:将最小时间间隔u作为时间调度表的最小时间粒度单位,根据每个TT业务帧长的不同,为其分配若干个最小时间间隔作为发送窗口。步骤2,计算业务调度的矩阵周期和基本周期。所述矩阵周期,是所有时间触发TT业务周期传输一次所需的总时间,基本周期是时间触发TT业务传输的最短时间间隔,这两个周期的计算如下:计算所有时间触发TT业务周期的最大公约数,作为基本周期BC;计算所有时间触发TT业务周期的最小公倍数,作为矩阵周期MC。步骤3,将时间触本文档来自技高网
...

【技术保护点】
1.支持多播的时间触发业务调度表生成方法,包括如下:(1)获取业务参数和网络参数:所述业务参数,包括:业务ID、帧长、周期、业务类型、源端系统编号、目的端系统编号和产生时间,共7个;所述网络参数,包括:链路带宽w、最小时间间隔u、同步精度a和网络时延,该时延包括:源端系统的最小发送时延s1、源端系统的最大发送时延s2、最小链路传输时延t1、最大链路传输时延t2、交换机的最小接收时延sr1、交换机的最大接收时延sr2、交换机的最小转发时延sw1、交换机的最大转发时延sw2、交换机的最小发送时延ss1、交换机的最大发送时延ss2、目的端系统的最小接收时延r1和目的端系统的最大接收时延r2,共12个时延;(2)计算所有时间触发TT业务周期的最大公约数,作为基本周期BC,再计算所有时间触发TT业务周期的最小公倍数,作为矩阵周期MC;(3)根据业务参数,对时间触发TT业务进行调度优先级排序,并将时间触发TT业务的传输时间点放入矩阵周期的一个或多个基本周期内,生成源端系统的时间触发TT业务带宽预案;(4)结合业务参数,分配源端系统中各时间触发TT业务在每个基本周期中的发送时间:(4a)根据一个基本周期待分配的时间触发TT业务,建立执行时间点集合E和分配结果集合A这2个集合,并对其初始化;(4b)根据业务参数,建立源端系统单播执行时间点数组IS、目的端系统单播执行时间点数组OS、源端系统多播开始时间点数组IM1、源端系统多播结束时间点数组IM2、目的端系统多播开始时间点数组OM1、目的端系统多播结束时间点数组OM2这6个数组,并对其初始化;(4c)取出执行时间点集合E的第一个子集合E1,并判断子集合E1中第一个业务的业务类型是否为多播业务:若是,则执行(4d);若否,执行(4e);(4d)根据各端系统多播开始时间点和多播结束时间点,执行一次多播时间触发TT业务调度;(4e)根据各端系统单播执行时间点、多播开始时间点和多播结束时间点,执行一次单播时间触发TT业务调度;(4f)判断子集合E1是否为空集合:若是,删除子集合E1;若否,则返回(4c);(4g)判断执行时间点集合E是否为空集合:若是,则本基本周期内所有时间触发TT业务分配完成;若否,则返回(4c);(4h)重复(4a)~(4g),完成源端系统所有基本周期内的时间触发TT业务的发送时间分配;(5)根据分配结果集合A,生成各源端系统的发送表Yi,其中i表示源端系统编号;(6)在各源端系统发送表的基础上,结合网络中引入的网络时延,生成网络中交换机的接收表H、交换机的发送表S和各目的端系统的接收表Nj,其中j表示目的端系统编号。...

【技术特征摘要】
1.支持多播的时间触发业务调度表生成方法,包括如下:(1)获取业务参数和网络参数:所述业务参数,包括:业务ID、帧长、周期、业务类型、源端系统编号、目的端系统编号和产生时间,共7个;所述网络参数,包括:链路带宽w、最小时间间隔u、同步精度a和网络时延,该时延包括:源端系统的最小发送时延s1、源端系统的最大发送时延s2、最小链路传输时延t1、最大链路传输时延t2、交换机的最小接收时延sr1、交换机的最大接收时延sr2、交换机的最小转发时延sw1、交换机的最大转发时延sw2、交换机的最小发送时延ss1、交换机的最大发送时延ss2、目的端系统的最小接收时延r1和目的端系统的最大接收时延r2,共12个时延;(2)计算所有时间触发TT业务周期的最大公约数,作为基本周期BC,再计算所有时间触发TT业务周期的最小公倍数,作为矩阵周期MC;(3)根据业务参数,对时间触发TT业务进行调度优先级排序,并将时间触发TT业务的传输时间点放入矩阵周期的一个或多个基本周期内,生成源端系统的时间触发TT业务带宽预案;(4)结合业务参数,分配源端系统中各时间触发TT业务在每个基本周期中的发送时间:(4a)根据一个基本周期待分配的时间触发TT业务,建立执行时间点集合E和分配结果集合A这2个集合,并对其初始化;(4b)根据业务参数,建立源端系统单播执行时间点数组IS、目的端系统单播执行时间点数组OS、源端系统多播开始时间点数组IM1、源端系统多播结束时间点数组IM2、目的端系统多播开始时间点数组OM1、目的端系统多播结束时间点数组OM2这6个数组,并对其初始化;(4c)取出执行时间点集合E的第一个子集合E1,并判断子集合E1中第一个业务的业务类型是否为多播业务:若是,则执行(4d);若否,执行(4e);(4d)根据各端系统多播开始时间点和多播结束时间点,执行一次多播时间触发TT业务调度;(4e)根据各端系统单播执行时间点、多播开始时间点和多播结束时间点,执行一次单播时间触发TT业务调度;(4f)判断子集合E1是否为空集合:若是,删除子集合E1;若否,则返回(4c);(4g)判断执行时间点集合E是否为空集合:若是,则本基本周期内所有时间触发TT业务分配完成;若否,则返回(4c);(4h)重复(4a)~(4g),完成源端系统所有基本周期内的时间触发TT业务的发送时间分配;(5)根据分配结果集合A,生成各源端系统的发送表Yi,其中i表示源端系统编号;(6)在各源端系统发送表的基础上,结合网络中引入的网络时延,生成网络中交换机的接收表H、交换机的发送表S和各目的端系统的接收表Nj,其中j表示目的端系统编号。2.根据权利要求1所述的方法,其特征在于步骤(3)中根据业务参数,对时间触发TT业务进行调度优先级预排序,是将所有时间触发TT业务按照周期从小到大排序,周期相同时,按照产生时间从小到大排序,周期和产生时间都相同的按照帧长从大到小排序。3.根据权利要求1所述的方法,其特征在于步骤(3)中将时间触发TT业务的传输时间点放入矩阵周期的一个或多个基本周期内,生成源端系统的TT业务带宽预案,按如下步骤进行:(3a)对于某个TT业务,确定当前业务应该在矩阵周期中的第几个基本周期开始分配其传输时间点,将该值记作初始偏移量offset,其计算方式如下:其中,BC表示基本周期,u表示最小时间片,w表示链路带宽,s表示当前时间触发TT业务的帧长,p表示当前业务的产生时间,%表示取余运算,/表示乘法运算;(3b)将矩阵周期看做由多行多列组成的大矩形,其每一行代表一个基本周期,每一列代表各基本周期中的同一传输时间段;(3c)判断将当前时间触发TT业务放入矩阵周期的各个基本周期后,是否会引起列冲突:若是,则在当前列中,根据(3a)中的初始偏移量offset开始分配该业务的传输时间点;若否,则在另外一列中分配该业务的传输时间点;(3d)在当前列中,从初始偏移量offset开始,根据时间触发TT业务的周期c,每隔c/BC个基本周期,分配一次当前业务,直到将当前业务的传输时间点均匀分配到整个矩阵周期中;(3e)重复(3a)~(3d),直到将所有时间触发TT业务的传输时间点分配到矩阵周期的一个或多个基本周期内,得到源端系统的TT业务带宽预案。4.根据权利要求3所述的方法,其特征在于步骤(3c)中判断将当前时间触发TT业务放入矩阵周期的各个基本周期后,是否会引起列冲突,是先对矩阵周期同一列中已分配的所有时间触发TT业务两两取周期的最大公约数,再进行求导求和,之后判断最终结果是否小于等于1。5.根据权利要求1所述的方法,其特征在于步骤(4a)中建立2个集合,按如下步骤进行:(4a1)建立执行时间点集合E:将一个基本周期所有业务,按照产生时间相同的原则划分为若干个子集合,并对这些子集合按照其中业务的产生时间从小到大排序,再对每个集合中的业务按照先多播后单播的顺序排序,最后用所有这些子集合构成执行时间点集合E;(4a2)建立分配结果集合A:为所有业务添加发送时间参数,并用所有业务构成分配结果集合A,初始化时所有业务的发送时间均为0。6.根据权利要求1所述的方法,其特征在于步骤(4b)中建立的6个数组,其参数设置如下:源端系统单播执行时间数组IS的长度为源端系统的数目,数组中每个元素的下标表示源端系统编号,每个元素的取值表示对应源端系统单播执行时间,初始化时所有元素数值均为0;目的端系统单播执行时间数组OS,该数组的长度为目的端系统的数目,数组中每个元素的下标表示目的端系统编号,每个元素的取值表示对应目的端系统单播执行时间,初始化时所有元素数值均为0;源端系统多播开始时间数组IM1,该数组的长度为源端系统的数目,数组中每个元素的下标表示源端系统编号,每个元素的取值表示对应源端系统多播开始时间,初始化时所有元素数值均为0;源端系统多播结束时间数组IM2,该数组的长度为源端系统的数目,数组中每个元素的下标表示源端系统编号,每个元素的取值表示对应源端系统多播结束时间,初始化时所有元素数值均为0;目的端系统多播开始时间数组OM1,该数组的长度为目的端系统的数目,数组中每个元素的下标表示目的端系统编号,每个元素的取值表示对应目的端系统多播开始时间,初始化时所有元素数值均为0;目的端系统多播结束时间数组OM2,该数组的长度为目的端系统的数目,数组中每个元素的下标表示目的端系统编号,每个元素的取值表示对应目的端系统多播结束时间,初始化时所有元素数值均为0。7.根据权利要求1所述的方法,其特征在于步骤(4d)中根据各端系统多播开始时间点和多播结束时间点,执行一次多播时间触发TT业务调度,按如下步骤进行:(4d1)将子集合E1的第一个业务设为当前业务,并计算当前业务的传输时长L1,计算公式如下:L1=FL/(w*u);其中,FL表示集合E1的第一个业务帧长,w表示链路带宽,u表示最小时间片,*表示乘法运算,/表示除法运算;(4d2)从当前业务的产生时间、当前业务的源端系统多播结束时间点,和当前业务的所有目的端系统多播结束时间点这几个参数中,找出数值最大的一个,假设为ET;(4d3)将当前业务源端系统多播开始时间点,以及当前业务所有目的端系统多播开始时间点更新为ET;(4d4)将当前业务源端系统的单播执...

【专利技术属性】
技术研发人员:邱智亮张式琪刘梅潘伟涛陈郝明
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1