本发明专利技术提供了一种TT
【技术实现步骤摘要】
一种TT
‑
FC网络中时间触发消息的变步长调度方法
[0001]本专利技术涉及时间触发消息调度
,特别涉及一种TT
‑
FC网络中时间触发消息的变步长调度方法。
技术介绍
[0002]随着航空电子系统综合化程度的提高,航电网络吞吐量越来越大、扩展性越来越强,对实时性的要求越来越高。传统航电数据总线传输速率较低、吞吐量较小,无法满足目前的需求。光纤通道(Fibre Channel, FC)具有高速率、高带宽和低延迟的优点,是比较好的航电网络解决方案。但FC的调度算法仍然存在不确定性,无法保证网络中消息实时性的要求。时间触发以太网(Time
‑
Triggered Ethernet, TTE)在普通以太网基础上加入了时间触发的机制,能让网络中的实时性消息在预定的时间发送、转发和接收,避免消息间的冲突。因此在FC中加入时间触发机制,把实时性消息和非实时性消息隔离开,优先保证实时性消息的发送和接收。
[0003]将网络中的消息划分为时间触发(TT)消息(实时性消息)与非时间触发、即事件触发(ET)消息(非实时性消息)。时间触发消息在提前约定的时间发送,此时网络中预留专门的带宽资源,使得时间触发消息在发送、转发和接收时与其他消息没有冲突,保证消息的实时性。事件触发消息在时间触发消息发送的间隙发送,没有实时性的保障。
[0004]在时间触发光纤通道TT
‑
FC(TimeTriggered
‑ꢀ
Fibre Channel)中实时性消息的发送和接收依靠消息调度表。随着实时性消息数量增加和网络规模扩大,求解消息调度表所需要的计算时间呈指数型增长,消耗的资源也越来越多。
[0005]基于上述问题提出了不少关于TTE调度表的生成算法,比如时间触发单调速率调度(TT
‑
RMS)算法、启发式算法如粒子群(PSO)算法等。TT
‑
RMS算法先把时间触发消息按照优先级进行排序,优先排布容易冲突的消息;粒子群算法的每个粒子都代表问题的一个可能解,通过粒子内部信息交互和粒子位置的改变慢慢靠向可行解,但粒子群算法随着消息数量增多,计算时间呈指数增长,且容易陷入局部最优,不一定能得到可行解。还有提出了TTE中的调度表生成算法,比如一种基于可满足性模型理论(SMT)求解器的调度表生成算法,将要求解的线性规划问题输入SMT求解器进行解答,但当消息数量增多时,SMT求解器的计算时间呈指数增长,无法应用于大规模网络。
技术实现思路
[0006]为解决上述技术问题,本专利技术提供了一种TT
‑
FC网络中时间触发消息的变步长调度方法,通过读取每条待调度的时间触发消息,提取出每条时间触发消息的周期、发送端口、接收端口以及经过的链路,再计算所有时间触发消息的周期的最小公倍数LCM,并以最小公倍数LCM作为一个矩阵周期,研究时间触发消息在一个矩阵周期内的排布问题;对所有时间触发消息进行优先级排序,优先排布优先级更高的消息,每次取消息数量为步长数值这么多的消息,为它们分配待验证的时隙,如果取出来的消息都调度成功,则按要求增加步
长;如果取出来的消息调度失败,则按要求减小步长,以此实现排布中的“变步长”,直到得到所有待调度时间触发消息无冲突发送的调度数组,最后根据调度数组生成对应的调度矩阵,从而实现消息的变步长调度。
[0007]本专利技术提供了一种TT
‑
FC网络中时间触发消息的变步长调度方法,具体步骤如下:S1:构建调度数组,存储时间触发消息第一次发送的时隙;S2:构建消息数组,存储时间触发消息,并读取所有待排布的所述时间触发消息的周期,获得时间触发消息周期的最小公倍数LCM;S3:读取所有消息的发送和接收,获得消息在网络中的链路,并对所有的所述时间触发消息进行编号与所述调度数组中的元素对应;S4:遍历所述调度数组,根据遍历结果对消息分配无冲突的发送时隙并通过循环遍历更新时隙,并根据更新的元素值及对应的消息,构建调度矩阵;S5:根据最终得到的无冲突发送的所述调度数组构造调度矩阵,通过所述调度矩阵对每条时间触发消息按照时隙进行调度。
[0008]进一步的,步骤S1中,所述调度数组和所述消息数组的长度为待排布的时间触发消息的条数。
[0009]进一步的,步骤S2中,在读取多数调度数组前,将所述时间触发消息按照周期的大小进行排序,若时间周期相同,则将相同周期消息进行随机放置。
[0010]进一步的,步骤S3中,所述调度数组中的元素值为对应所述时间触发消息无冲突第一次发送的时隙,所述时隙初始值设为
‑
1。
[0011]进一步的,步骤S4中,所述调度矩阵构建的具体过程如下:S401:设置步长,并对步长进行初始化;设置指针指向所述消息数组中编号最大的当前已分配的时间触发消息,并对指针进行初始化;S402:判断当前指针位置,若当前指针加上一个步长小于所述消息数组的长度,则从所述消息数组中提取出当前指针下一个位置至当前指针加上一个步长所在位置的消息;若当期指针小于所述消息数组长度且当前指针加上一个步长不小于所述消息数组的长度,则从所述消息数组中提取当前指针下一个位置至所述消息数组最后一个位置的消息;S403:对提取出的消息分配待验证的发送时隙,并判断提取出的消息是否满足约束条件,若满足,则将当前指针加上一个步长更新当前指针位置,同时将步长加1更新当前的步长,返回步骤S402;若不满足,则截取当前步长一半向上取整更新步长,返回步骤S402;S404:循环执行S402
‑
S403直至指针指向所述消息数组最后一个位置,根据将当前得到的消息数组,以链路数和时隙数分别作为行和列构建所述调度矩阵。
[0012]进一步的,步骤S403中,提取处的消息需满足以下任一约束条件,所述约束条件包括无冲突约束、路径约束以及端到端约束,具体如下:所述无冲突约束满足如下不等式关系:launchslot(i)+(m
‑
1)+period(i)
×
p≠launchslot(j)+(n
‑
1)+period(i)
×
q其中,launchslot()表示某消息对应的时隙,i和j分别表示编号为i和j的不同消息,p和q表示在一个矩阵周期内控制消息i和j重复发送的参数,且p∈[0,LCM/period(i)
‑
1],q∈[0,LCM/period(j)
‑
1],LCM为所有消息周期的最小公倍数,period(i)表示编号为i的消息的周期,m表示消息i从发送端到接收端顺序下的某条链路,n表示消息j从发送端到
接收端顺序下的某条链路;所述路径约束为预先对消息设定好链路和时隙;所述端到端约束为任意消息通过链路的时隙必定在最大时隙以内。
[0013]进一步的,所述步长的初始化值为所述调度数组长度与10比值向上取整的数值,所述指针的初始化值为0。
[0014]本本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种TT
‑
FC网络中时间触发消息的变步长调度方法,其特征在于,包括:S1:构建调度数组,存储时间触发消息第一次发送的时隙;S2:构建消息数组,存储时间触发消息,并读取所有待排布的所述时间触发消息的周期,获得时间触发消息周期的最小公倍数LCM;S3:读取所有消息的发送和接收,获得消息在网络中的链路,并对所有的所述时间触发消息进行编号与所述调度数组中的元素对应;S4:遍历所述调度数组,根据遍历结果对消息分配无冲突的发送时隙并通过循环遍历更新时隙,并根据更新的元素值及对应的消息,构建调度矩阵;S5:根据最终得到的无冲突发送的所述调度数组构造调度矩阵,通过所述调度矩阵对每条时间触发消息按照时隙进行调度。2.根据权利要求1所述的变步长调度方法,其特征在于,步骤S1中,所述调度数组和所述消息数组的长度为待排布的时间触发消息的条数。3.根据权利要求1所述的变步长调度方法,其特征在于,步骤S2中,读取所述时间触发消息的周期时,将所述时间触发消息按照周期的大小进行排序,若时间周期相同,则将相同周期消息进行随机放置。4.根据权利要求1所述的变步长调度方法,其特征在于,步骤S3中,所述调度数组中的元素值为对应所述时间触发消息无冲突第一次发送的时隙,所述时隙的初始值设为
‑
1。5.根据权利要求1所述的变步长调度方法,其特征在于,步骤S4中,所述调度矩阵构建的具体过程如下:S401:设置步长,并对步长进行初始化;设置指针指向所述消息数组中编号最大的当前已分配的时间触发消息,并对指针进行初始化;S402:判断当前指针位置,若当前指针加上一个步长小于所述消息数组的长度,则从所述消息数组中提取出当前指针下一个位置至当前指针加上一个步长所在位置的消息;若当期指针小于所述消息数组的长度且当前指针加上一个步长不小于所述消息数组的长度,则从所述消息数组中提取当前指针下一个位置...
【专利技术属性】
技术研发人员:解军,郭进,王琳,
申请(专利权)人:成都成电光信科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。