一种基于时间触发通信业务的调度优化方法与流程

文档序号:16007709发布日期:2018-11-20 20:16阅读:233来源:国知局
本发明涉及信息控制与航空电子
技术领域
,具体涉及分布式综合模块化航空电子(DistributedIntegratedModularAvionics,DIMA)中的一种基于时间触发通信混合安全关键的业务调度方法。
背景技术
:现代航空电子系统正在完成从电子机械密集形态向软件密集形态的过渡,其体系结构也从集中式向分布式过渡,DIMA航空电子系统应运而生并成为该领域的主流发展方向。在DIMA系统中,通讯业务包含具有周期性、对时效性要求高的关键安全类数据业务,和基于事件触发、时效性要求较低的数据业务。SAEAS6802标准中所定义的时间触发以太网(Time-TriggeredEthernet,TTE)则是同时支持周期性时间触发(Time-Triggered,TT)业务和非周期性事件触发(EventTriggered,ET)业务的以太网体系,其网络特性可以很好的满足DIMA系统对数据通信的要求。时间触发以太网中,通过预先设置业务调度时间表来保证TT业务的时效性和无冲突传输,调度表中空闲的时间段则是供给后续的ET业务。由此可见,TT业务调度时间表排布的情况,直接影响TT业务和ET业务传输的时间资源分布,所以优化TT业务调度算法具有非常重要的意义。传统的调度表是由SMT解决器对与命题相关的布尔变量进行搜索得到可行解的方式生成的,其优化程度较低且运算复杂度较高,并且只考虑TT单一业务特性,并没有考虑TT时间调度表编排结果对ET业务的影响,从而导致TT业务调度时间表编排处理复杂,ET业务传输延迟和抖动大。技术实现要素:本发明的目的在于,提供一种混合安全关键的业务调度方法,在保证TT业务的时效性和无冲突的前提下,又使得后续ET业务的传输时延更低,性能更加稳定。为了实现上述任务,本发明将TT业务的调度问题转换为二维装箱问题。一种基于时间触发通信业务的调度优化方法,包括以下步骤:将TT业务调度问题转化为装箱问题,其中,TT数据帧的传输时间作为装箱问题中的空箱子,将TT数据帧作为装箱问题中的物块;对网络拓扑结构进行区域划分,并对TT数据帧进行分组;对不在分组内的全局的TT数据帧进行装箱,然后对分组后的每一组TT数据帧依次进行装箱,并对装箱结果求解。进一步地,所述的空箱子的大小LCM为所有TT数据帧发送周期的最小公倍数或为最小公倍数的整数倍;所述的空箱子的长为所有TT数据帧周期的最大公约数或其他公约数;所述的物块的长为LCM/period,物块的高为length/Rate,其中period为TT数据帧的周期,length为TT数据帧的帧长,Rate为网络传输系统的处理速率。进一步地,所述的对网络拓扑结构进行区域划分的过程包括:对网络拓扑结构中的交换机进行编号,然后将网络拓扑结构按照交换机进行区域的划分,每个区域由交换机和交换机上直连的终端组成。进一步地,所述的对TT数据帧进行分组的过程包括:对于所有只在一个区域内传输且只需要一个交换机服务的TT数据帧,将这些TT数据帧作为一组,并以所述交换机的编号进行组别命名;将不满足上述分组条件的TT数据帧记为全局的TT数据帧。进一步地,所述的对不在分组内的全局TT数据帧进行装箱之前,先通过TT数据帧的帧长来设定两个不同的层高来限制装箱过程;其中第一个层高为最大层高Ht,其数值不小于所有TT数据帧中的最大帧长;第二个层高为平均帧长层高Ha,其数值等于所有TT数据帧的平均帧长。进一步地,所述的对不在分组内的全局TT数据帧进行装箱的过程包括:步骤2.2,根据最大层高Ht和平均帧长层高Ha对全局的TT数据帧进行装箱操作,过程如下:步骤2.2.1,对于待装箱的一个TT数据帧,首先在箱子的第一层中找到符合TT数据帧空间且堆叠高度最低的一处位置,验证此位置的高度是否已经超过平均帧长层高Ha,如果超过平均帧长层高Ha则执行步骤2.2.2,否则执行步骤2.2.3:步骤2.2.2,验证将TT数据帧装在此位置是否会使得高度超过最大层高,如果没有超过最大层高,那么则将TT数据帧装在此位置,并进行记录,然后开始对下一个TT数据帧进行装箱;步骤2.2.3,如果没有超过平均帧长层高Ha,则:继续寻找除了当前位置之外符合TT数据帧空间且高度最低的一处,按照步骤2.2.2相同方法继续验证,如当前层位置不足,则在下一层中寻找位置,直至TT数据帧完成装箱。进一步地,所述的对分组后的每一组TT数据帧依次进行装箱的过程包括:依次对每个分组的TT数据帧按照步骤2.2.1-步骤2.2.3相同的方法分别进行装箱,因为分组的TT数据帧彼此可以同时进行传输,所以可以对之前保存的装箱结果进行重复装箱以达到时域复用的效果。进一步地,所述的对装箱结果求解的过程包括:将所有的TT数据帧随机排列生成N个不同个体,对每个个体分别进行装箱,并对装箱的结果进行性能检测,并计算个体的适应度;从N个个体中选择适应度较好的N/2个为优质群体,对优质群体进行选择、交叉操作,生成N/2个子代新个体,将新个体与优质群体合成新的群体,对新群体进行循环,直至循环到指定代数或优质群体的适应度不再变化为止,从最后一代群体中选出最优个体作为结果。进一步地,所述的对装箱的结果进行性能检测的过程包括:步骤3.2.1,根据装箱结果,得到TT数据帧的时间调度表,从而得知空闲时间段和TT数据帧在箱子中占用的时间区域;步骤3.2.2,模拟仿真装箱结果应用于实际通信环境中的情况,假设每个时隙都有随机概率出现ET消息,该ET消息帧长也是随机的;步骤3.2.3,统计每个ET消息出现时,系统中的排队长度,即排队时延;完成模拟仿真,仿真的运行时间为所述集群周期LCM的整数倍;步骤3.2.4,按照下面的公式计算个体的适应度:Fit=ω1·Fit1+ω2·Fit2上式中,Fit表示适应度,blanki表示调度表中的空闲时间段,表示空闲时间段的平均值,n表示空闲时间段的个数,queuei表示非空闲时间段,m表示非空闲时间段的个数,ω1、ω2表示算子,其中ω1+ω2=1。进一步地,所述的交叉操作的过程包括:选取优质群体中的2个个体,从所有的TT数据帧中选出总体数量的25%和25%的不同的A、B两组,并分别在选出的2个个体中找到A、B两组TT数据帧的位置,生成子代新个体,将所述的A、B两组TT数据帧放在新个体的对应位置,对剩余的50%数量的TT数据帧进行随机排列。本发明与现有技术相比具有以下技术特点:1.提升了通信资源利用率:对时间触发TT业务的编排效率,在同等调度周期分布的条件下可以编排更多的TT消息;2.具有更好的全局优化性能:充分考虑了TT业务编排结果对ET业务的影响,在保证TT业务的时效性的同时,使得ET业务的传输时延更低,抖动更小;3.计算复杂度低:将业务编排转换为典型的装箱问题,降低了计算复杂。附图说明图1为网络拓扑结构;图2为将TT业务调度问题转化成二维装箱问题的过程;其中(a)为按照排序A-B-C-D依次对TT帧进行装箱的示意图,(b)为将物块化的TT数据帧按照周期分开的示意图,(c)为将装箱结果转化回调度表的示意图,(d)为TT数据帧视域复用时的示意图(B、E复用,可同时传输)。在图中,A-E为TT数据帧,T1-T8为箱子层数。图3为综合考虑事件触发传输传特性改进版装箱问题;其中,(a)为按照排序A-B-C-D-E依次对TT帧进行装箱的示意图,(b)为将物块化的TT数据帧按照周期分开的示意图,(c)为将装箱结果转化回调度表的示意图;图4改进版装箱结果展示图,其中A区信息是指在交换机编号为A的区域内进行传输的TT数据帧,B区信息指在交换机编号为B的区域内进行传输的TT数据帧,AB区信息是指A区信息、B区信息复用空间后的示意图;图5为实验部分的时延性能对比图;具体实施方式如图1所示,是一个简单的事件触发机制下DIMA系统的网络拓扑结构模型,拓扑结构中以双向业务传输和虚拟链路作为重点。图中实粗线表示实际的物理链路,细箭头表示消息帧的数据传输链路,数据传输链路具有方向性且包含其出发节点和目的节点信息。在图1中,数据传输链路用lij=[ni,nj]表示,意为信息从起始节点ni发送至目的节点nj,i,j为节点的编号;假设从起始节点ni发送至目的节点nj需要依次经过节点nn、nm,则ni到nj的链接路径为Pij的表达式如下:Pij=lin+lnm+lmj则从终端3发送至终端13的链接路径可表示为:P313=l3A+lAB+lB13。为了更加准确地描述TT数据帧的网络传输行为,对TT数据帧的传输参数frame进行定义:frame{id,period,source,sink,time,length}其中,id表示数据帧的标识编号,period表示数据帧的发送周期,source表示起始节点,sink表示目的节点,time表示数据在当前节点发送的时间点,length表示数据帧的长度,由于链路的传输速度一定,所以数据帧的length既可以用字节数表示,也可以用时间表示。根据如上定义和网络拓扑结构可知,数据帧的传输参数中,id、period、source、sink和length由其数据业务需求决定,因此TT业务调度算法所需要解决的就是决定数据帧发送的时间点time。本发明提供了一种混合安全关键的业务调度方法,具体步骤如下:DIMA是一种混合安全关键的嵌入式系统,引入时间触发以太网技术同时满足安全关键信息的实时可靠传输和非安全关键信息传输的一定的服务质量QOS。对于时间触发的业务需要预先确定每个数据帧的具体发送时间点,而同时需要考虑时间触发业务对事件触发的业务带宽利用率以及服务质量的影响。本方法分三个步骤:第一步骤将TT业务调度问题转化为二维装箱问题;第二个步骤分层预装箱,对TT业务进行分层装箱,层间空隙预留给ET业务;第三个步骤在第二个步骤的基础上,考虑TT业务之间间隔的分布对时间触发ET业务传输服务质量QOS,采用遗传算法对TT业务进行精确编排,最终确定每个TT业务具体调度时刻和ET的预留带宽分布。步骤1,将TT业务调度问题转化为装箱问题时间触发业务的调度问题,实际上就是网络服务对时间资源的占用问题,可以将其转化为二维装箱问题来解决,即如何将物块(TT数据帧的传输)按照一定的约束条件以相对更优的方式装入箱子(时间资源)中。该步骤的具体过程如下:步骤1.1,将TT数据帧传输的时间作为装箱问题中的空箱子,将空箱子的总大小设置为LCM;其中,LCM为所有TT数据帧发送周期period的最小公倍数或最小公倍数的整数倍;在本步骤中引入集群周期的概念,集群周期LCM等于所有TT数据帧周期的最小公倍数,或为最小公倍数的整数倍;在一个集群周期中,所有TT数据帧都完成至少一次的周期传输,则TT调度表以集群周期为单位重复工作;步骤1.2,因为是二维装箱,所以把线性的集群周期时间段进行分段折叠成二维维度。所述的空箱子的长设为box_length,其大小等于最小周期,最小周期为所有TT数据帧周期的最大公约数GCD,或其他公约数;则空箱子的高box_heigh大小为LCM/GCD;步骤1.3,将TT数据帧作为装箱问题中的物块,已知TT数据帧的周期period和帧长length,则物块的长tt_length=LCM/period,物块的高tt_height=length/Rate,其中Rate为网络传输系统处理速率;如图2的(a)、(b)和(c)所示;在本示例中,假设TT数据帧一共有五条,为A-E,各TT数据帧的参数如下:表1各TT数据帧的参数ID周期帧长物块化(底*高)A118*1B234*3C23.54*3.5D422*2E841*4步骤1.4,为了提高时域资源的利用率,本方案中根据网络拓扑结构和TT数据帧的起始节点、目的节点,先对网络拓扑结构进行分区,然后再对TT数据帧进行分组。步骤1.4.1,对网络拓扑结构中的交换机进行编号,然后将网络拓扑结构按照交换机进行区域的划分,每个区域由交换机和交换机上直连的终端组成;则分区的数学表达式为:其中,i,j∈1,2,...n,n为网络拓扑中交换机的数量,i,j为交换机的编号,Zonei为网络拓扑中编号为i的交换机和与其直连的终端的集合,网络拓扑中所有节点(包括终端和交换机)的集合为Nodes。步骤1.4.2,对TT数据帧进行分组,分组条件为:对于所有只在一个区域内传输且只需要一个交换机服务的TT数据帧,将这些TT数据帧作为一组,并以所述交换机的编号进行组别命名。具体地,根据TT数据帧的起始节点、目的节点,结合其链路路径可得到TT数据帧传输过程中所经历节点的集合S,如果节点集合S∈Zonei,则将该TT数据帧划分到编号为i的TT数据帧分组中;通过该方法可得到每个TT数据帧在传输过程中的分区占用情况,如果不同TT数据帧所占用的分区完全不同时则表示可以同步传输;即通过前面的分组,不同分组的TT数据帧是可以同时传输的。不满足上述分组条件的TT数据帧,即起始节点、目的节点不在同一个区域内的TT数据帧则为跨区传输TT数据帧。通过这样的划分形式,可将所有的TT数据帧分成若干组区域内传输TT数据帧和剩余的跨区域传输TT数据帧,分别记为分组的TT数据帧和全局的TT数据帧。对于可以同步传输的TT数据帧,表示当它们在进行装箱操作时可以视对方所占用的空间为可用空间,这样提高了时间资源和链路资源的利用率,其问题转化如图2的(d)。步骤2,对TT数据帧进行分层预装箱在保证TT调度时间表可行性的前提下,尽可能的使得TT数据帧排布分散,形成数量更多、分布相对均匀的空闲时间段,以保证后续ET业务的传输性能。在步骤1的基础上,对装箱问题中插入多个空隙,形成分层。该步骤的具体过程如下:步骤2.1,为了保证分层装箱之后的调度表含有空隙,该步骤中根据TT数据帧的帧长length来设定分层之后箱子的层高;设定两个不同的层高来限制装箱过程:(1)第一个层高命名为最大层高Ht,其数值不小于所有TT数据帧中的最大帧长。该层高用来确定每层箱子的高度,在装箱过程中物块的堆叠高度绝对不能超过最大层高,否则TT数据帧的调度则会发生碰撞;(2)第二个层高命名为平均帧长层高Ha,其数值等于所有TT数据帧的平均帧长;该层高用于确保在装箱过程中每层都会留有一定的空隙。在装箱过程中,如果堆叠高度小于平均帧长层高,则说明仍可以继续装箱;如果堆叠高度大于等于平均帧长层高,则说明该处已经较满,不适合继续堆叠。步骤2.2,根据最大层高Ht和平均帧长层高Ha对全局的TT数据帧进行装箱操作,过程如下:步骤2.2.1,对于待装箱的一个TT数据帧,首先在箱子的第一层中找到符合TT数据帧空间且堆叠高度最低的一处位置,验证此位置的高度是否已经超过平均帧长层高Ha,如果超过平均帧长层高Ha则执行步骤2.2.2,否则执行步骤2.2.3:步骤2.2.2,验证将TT数据帧装在此位置是否会使得高度超过最大层高,如果没有超过最大层高,那么则将TT数据帧装在此位置,并进行记录,然后开始对下一个TT数据帧进行装箱;步骤2.2.3,如果没有超过平均帧长层高Ha,则:继续寻找除了当前位置之外符合TT数据帧空间且高度最低的一处按照步骤2.2.2相同方法继续验证,如当前层位置不足,则在下一层中寻找位置,直至TT数据帧完成装箱。对所有全局的TT数据帧按照步骤2.2.1-步骤2.2.3的方法依次进行装箱,完成装箱后将结果保存。步骤2.3,根据步骤1.4对TT数据帧的分组结果以及步骤2.2的装箱结果,依次对每个分组的TT数据帧按照步骤2.2.1-步骤2.2.3相同的方法分别进行装箱,因为分组的TT数据帧彼此可以同时进行传输,所以可以对之前保存的装箱结果进行重复装箱以达到时域复用的效果。在本步骤中,装箱过程将重复多次,第一次对未分组的跨区传输TT数据帧(全局的TT数据帧)进行装箱,因为这类TT数据帧不能与其他TT数据帧同时进行传输;接下来的多次则是对分组的TT数据帧进行装箱,即当一组分组后的TT数据帧完成装箱后,再进行下一组分组后的TT数据帧装箱;由于分组的TT数据帧可以同步传输,装箱时可视其他分组的TT数据帧所占用的空间为可用空间,也就是说他们在时域上可以复用,则每一组TT数据帧在装箱时都是根据第一次未分组的跨区传输TT数据帧装箱后的结果进行装箱的,装箱过程中无视其他分组TT帧所占用的空间。步骤3,对装箱结果通过遗传算法求解装箱算法是一个NP问题,为了优化这样的非连续离散型结果,本方案中采用了遗传算法进行优化。根据步骤2可以得知,不同组的TT数据帧输入队列的顺序会改变装箱算法的结果。遗传算法求解的过程如下:步骤3.1,初始化将所有的TT数据帧随机排列,生成N个不同个体,N为自然数;步骤3.2,对每个个体按照步骤2的分层预装箱方法进行装箱操作,并对装箱结果进行性能检测,步骤如下:步骤3.2.1,根据装箱结果,得到TT数据帧的时间调度表,从而得知空闲时间段和TT数据帧在箱子中占用的时间区域;步骤3.2.2,模拟仿真装箱结果应用于实际通信环境中的情况,假设每个时隙都有随机概率出现ET消息,该ET消息帧长也是随机的;所述的时隙为单位时间,即处理1个字节所用的时间;步骤3.2.3,统计每个ET消息出现时,系统中的排队长度,即排队时延;完成模拟仿真,仿真的运行时间为所述集群周期LCM的整数倍;所述的系统即为时间触发的网络传输系统;在本步骤中,假设没有ET消息时,网络中的TT数据帧会按照时间调度表正常进行传输;如果在某个时刻出现了ET消息,而该时刻可能系统中存在正在进行传输的TT数据帧,那么此时的ET消息必须进行排队等待,直到当前的TT数据帧传输完成才能进行传输;根据这种情况我们可以得出,当这个ET消息出现时,它所需要等待的TT数据帧的传输时间则为ET消息的排队时延。步骤3.2.4,按照下面的公式计算个体的适应度:Fit=ω1·Fit1+ω2·Fit2上式中,Fit表示适应度,blanki表示调度表中的空闲时间段,表示空闲时间段的平均值,n表示空闲时间段的个数,queuei表示非空闲时间段,m表示非空闲时间段的个数,ω1、ω2表示算子,其中ω1+ω2=1;步骤3.3,选择:选取N个个体中适应度较好的N/2个为优质群体,计算优质群体的平均适应度,然后按照优质群体的特性进行种群迭代;所述的适应度较好的N/2个个体是指对每个个体按照步骤3.2进行性能检测计算适应度后,将适应度排名前N/2个个体作为优质群体。步骤3.4,交叉:选取优质群体中的2个个体,从所有的TT数据帧中选出总体数量的25%和25%的不同的A、B两组,并分别在选出的2个个体中找到A、B两组TT数据帧(中每一个TT数据帧)的位置,生成子代新个体,将所述的A、B两组TT数据帧放在新个体的对应(即与这些TT数据帧在所述两个个体中位置相同的)位置,对剩余的50%数量的TT数据帧进行随机排列,从而完成了交叉操作;例如:优质群体中我们选出的两个个体如下:个体1:a,b,c,d,e,f,g,h和个体2:h,g,f,e,d,c,b,a随机挑选出两个25%的组:A:a,b和B:c,d个体1中挑出A:a在1位置,b在2位置;个体2中跳出B:c在6位置,d在5位置;则由AB组成的新个体已知:a,b,?,?,d,c,?,?剩余未安排的efgh,随机安排进剩余的?处,得到子代新个体:a,b,g,h,d,c,e,f步骤3.5,在优质群体中两两进行交叉操作生成N/2个子代新个体,将这N/2个子代新个体和优质群体合成新的群体;步骤3.6,按照步骤3.2-步骤3.5相同的步骤循环,直到循环到指定代数或者优质群体的平均适应度不再变化为止,并从最后一代群体中选出最优个体作为结果,以最优个体对应的装箱结果对应的调度表对TT数据帧进行调度;所述的最优个体是指适应度Fit值最小的个体。在装箱的时候,可以根据装箱位置换算得出对应的时间点,在此时已经做了记录;完成装箱之后,每个TT数据帧都会有对应的开始传输的时间点,最终的调度表会包含所有TT数据帧的传输路径和起始时间,根据以上则可以进行正常的传输。实验部分为了验证上述算法的准确性,对实验仿真环境进行设置,网络拓扑结构如图1所示,其中包含2个交换机,每个交换机上连接11个终端节点。假设交换机在一个时隙中只可以处理一条信息,因此只依靠交换机A和只依靠交换机B就能完成传输的消息可以同时传输,在装箱过程中,彼此可以重叠堆放。假设存在带调度的TT消息416条,根据改进装箱算法的调度和遗传算法的择优,最终装箱结果表示如图4所示。通过结果图对比可以看出改进装箱算法很大程度上改进了ET消息调度时过度堆积的问题,将信息有效的均匀分布了。利用仿真平台搭建模拟航电系统的网络通信环境,根据两种装箱调度算法得到的TT消息调度时间表,统计了在这样的时间表中,ET消息的时延性能,其性能对比结果如图5和表2所示。根据图表中的信息可以得知,改进版装箱算法可以有效的降低ET消息传输过程中的排队时延,并大幅度降低了时延的方差。即在同等传输任务的压力下,改进版装箱算法占用了更少的时间资源,并达到了更好的时延性能,效果显著得提升了通信系统的时延稳定性。表2两种装箱调度法性能结果对比表算法种类平均时延时延方差空闲比例传统法0.226ms0.0917ms23.36%改进法0.148ms0.0463ms28.89%当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1