一种铁路机车运行操纵系统的混合任务调度方法及模型与流程

文档序号:12459416阅读:236来源:国知局
一种铁路机车运行操纵系统的混合任务调度方法及模型与流程

本发明涉及铁路机车运行操纵系统领域,尤其涉及一种铁路机车运行操纵系统的混合任务调度方法及模型。



背景技术:

铁路机车运行操纵系统是以列车节能操纵机理及运行模型为基础,集成了LKJ通信,机车牵引计算和运动学方程,优化计算,油耗计算,自适应控制,显示及其他一些辅助功能的嵌入式计算机系统。它能够对列车运行的动态过程进行模拟,根据LKJ输入参数感知列车、线路和环境等变化,计算出适用于机车的速度-距离曲线和档位-距离最优节能操纵策略,并在很短的时间间隔内给出优化控制。由于系统运行在实时控车的环境中,所以系统任务必须要实时、准确地得到完成。对于任务的合理调度,降低系统延迟对保障系统正常稳定运行有着至关重要的作用。

铁路机车运行操纵系统是一个典型的复杂优化控制系统,其任务模型是由周期性实时任务、非周期性实时任务和非实时任务共同构成的混合任务集。虽然目前计算机和嵌入式开发技术发展快速,硬件设备的处理能力越来越强,但计算资源依旧是十分宝贵的,优化控制系统的实时任务调度问题一直是计算机领域研究的热点和难点。

现有的混合任务集的调度方法按照驱动方式的不同,可分为:表驱动、优先级驱动、搜索驱动等。

表驱动的实时调度方案是以静态调度表算法为基础的调度方案,在航天飞机软件系统、导弹导航系统等高精度系统中有着广泛应用。这种调度方案调度开销小,运行精度高,对于硬实时任务的调度具有强有力的保障。但是其缺点是不够灵活,仅能够完成对周期性任务的调度,且需要精确位在一个周期内每个任务的到达时间,就绪时间以及最坏执行时间。在铁路机车运行操纵系统的任务调度模型中同时存在着周期性和非周期性实时任务,非周期性任务是随机到达的,周期性任务也会随着系统状态变化而动态改变。所以这种调度方案无法胜任这种不确定的调度环境。

优先级驱动的实时调度方案又可细分为静态优先级调度和动态优先级调度。它是一种十分常见的调度方案,应用于经典的实时操作系统VxWorks,μC/OS中,调度方案具有较强的灵活性。但是其灵活性是建立在频繁任务切换的基础之上的,需要消耗大量系统资源。而铁路机车运行操纵系统中,控制任务的优先级要明显高于优化任务,周期性地完成控制过程是系统最根本的需求。如果采用优先级抢占的调度方案,会造成:第一,周期性控制任务由于优先级倒置等原因无法按时完成;第二,上下文的频繁切换导致资源利用率低,在高负载条件下系统不稳定。所以,基于优先级驱动的调度方案无法解决铁路机车运行操纵系统的调度问题。

搜索驱动的实时调度方案常见的有近视算法和节约算法。该调度方案具有较强的灵活性,但是缺点是搜索过程的开销较大,对于铁路机车运行操纵系统来说,采用搜索的方式同时调度周期性任务和非周期性任务会大幅降低周期性任务调度的成功率,从而严重影响系统性能。

所以,目前现有各种调度方案都无法适应复杂优化控制系统当中的调度需求。设计出一个能够同时满足控制的实时性和优化的稳定性并能充分发挥处理器最大性能的调度方案至关重要。



技术实现要素:

本发明的目的是提供一种铁路机车运行操纵系统的混合任务调度方法及模型。铁路机车系统的任务集是由周期性任务、非周期性任务和非实时任务共同构成的混合任务集。其中周期性任务是整个控制过程的核心,具有最严格的时限约束,执行周期多样化,时序性强,资源共享与互斥情况多;非周期性任务是维护系统稳定,提高系统性能和系统优化的重要组成部分,具有随机到达,任务种类和形式丰富,优先级变化范围大的特点;非实时任务是系统维护和调试的保障,不具有实时处理的要求,但计算耗时最大。本发明考虑到不同类型任务的调度需求,能够清晰地描述任务本身的时间约束,任务间的时序约束和资源约束,准确地体现出实际场景中任务执行的特点,实现混合任务的合理调度。

本发明通过如下技术方案实现:

一种铁路机车运行操纵系统的混合任务调度方法,其特征在于,所述混合任务包括:周期性实时任务、非周期性实时任务以及非实时任务;所述混合任务调度方法以一个帧周期作为基本调度单元,所述混合任务调度方法包括下述步骤:

(1)帧周期开始时,所述混合任务调度方法进行调度准备,所述调度准备至少包括任务切换和资源检查;

(2)针对周期性实时任务,应用基于表驱动的二级优先级规则进行调度序列排序,并按照该序列调度周期性实时任务;

(3)针对非周期性实时任务,应用基于启发式搜索策略和模糊控制的方法,对非周期性实时任务进行排列,并按照该序列调度非周期性实时任务;

(4)对当前周期内未使用的时间片进行回收并且进行调度结果和反馈数据的采集,判断剩余执行时间;

(5)如果当前周期时间未用完,则执行非实时任务;

(6)在帧周期结束时,如果非周期性实时任务或非实时任务还未执行结束,则在下一帧周期开始时执行周期性实时任务,封存未执行完成的非周期性实时任务或非实时任务,确保周期性实时任务的实时性。

进一步地,所述的基于表驱动的二级优先级规则是针对周期性实时任务在机车运行操纵系统中的可预测性提出的一种非抢占调度方法,所述的二级优先级分为组优先级和实例优先级,在所述步骤(2)中先按组优先级排序,再按实例优先级排序,最终生成调度表。

进一步地,所述的基于启发式搜索策略引入了模糊控制的方法,提出了一种新的估价函数:

H(n,t)=h(n,t)*nst

nst=(nd-t)-(nc-e(n,t))

其中H(n,t)是估价函数,h(n,t)是非周期性实时任务n在时刻t的动态阈值系数,nst是非周期性实时任务n在时刻t的剩余空闲时间,nd是任务n的截止期,nc是最坏执行时间,e(n,t)是任务n在时刻t已经执行过的时间。

进一步地,在所述基于表驱动的二级优先级规则中,所述组优先级的设计规则为:先按照任务集中周期性实时任务的截止期由小到大的顺序,设置若干个任务组,然后根据任务间的时序约束,判定每个周期性任务的前驱任务并调整相应的任务组优先级;所述的实例优先级为任务组内部任务的排序规则,排序采用最小最坏执行时间规则。

进一步地,在所述估价函数中,非周期性实时任务的完成率也作为模糊输入参数,输入参数与阈值系数对应关系表如下表所示:

任务完成率定义如下:ncr(t)=e(n,t)/nc

进一步地,在所述步骤(5)中,对于非实时任务,调度顺序按照FIFO规则进行调度。

另一方面,本发明提供一种铁路机车运行操纵系统的混合任务调度模型,其特征在于,所述的调度模型分为两部分,分别为调度单元和执行单元,所述调度单元采用权利要求1-6中任意一项所述的方法对混合任务进行调度。

进一步地,所述的调度单元包括任务收集器、实时调度器和任务整合单元,在机车运行操纵系统的运行过程中,不断有实时任务产生,所述任务收集器用于对所产生的任务进行集中处理,在每个时钟信号到来时,提交给实时调度器;所述实时调度器在下一个周期到来前,针对不同类型任务分别调用周期性实时任务调度算法和非周期性实时任务调度算法,对应生成周期性实时任务调度序列和非周期性实时任务调度序列;最后通过所述任务整合单元将两个序列合并生成一个统一调度序列,提交给所述任务执行单元;所述执行单元根据调度序列执行任务调度,并将调度结果和中间状态信息反馈给所述实时调度器,由所述实时调度器进行采集和保存。

本发明中所提到的动态阈值系数指的是本发明中通过模糊控制方法,在估价值乘以一个参数,这个参数是由模糊控制方法决定的,在不同的状态下会有不同的值,这里称它为动态阈值系数。

采用上述技术方案的有益效果是:

(1)本发明针对周期性实时任务设计的算法相比于优先级调度算法,能够极大地减小系统开销,包括任务切换的开销和处理器执行调度算法的开销;相比于静态表驱动的调度算法,该算法又能够比较灵活地处理系统执行过程中的各种变化情况。而且在系统稳定运行之后,本发明方法生成的调度表所需要的改动开销是非常小的。

(2)本发明采用了全新设计的一种估价函数,应用模糊控制方法对估价函数的参数就行模糊化,在保证最小化非周期性实时任务响应时间的基础上,主要有三点好处:第一,模糊的应用可以降低系统不确定性对调度的影响,在实际运行中,系统的状态是不可精确预知的,与调度模型中指定任务参数不同,任务的时间参数会在系统不同状态下有微小差别,而模糊技术能够减弱这种差别带来的影响;第二,模糊理论可以综合多因素对任务当前状态的累加影响,比如本发明设计中的任务空闲时间和完成率;第三,模糊阈值可以降低边缘条件下调度算法的抖动,如果是固定值的判断,在边界条件下系统很容易产生颠簸。

附图说明

图1为本发明的铁路机车运行操纵系统的混合任务调度方法流程图;

图2为本发明的调度方法在一个帧周期内的任务调度顺序图;

图3A和图3B为本发明在进行非周期性实时任务时,空闲时间和完成率隶属度函数的关系图;

图4为本发明的铁路机车运行操纵系统的混合任务调度模型示意图。

具体实施方式

为使本发明更为清晰,下面结合附图对本发明进行详细地说明。

首先,为清晰描述铁路机车运行操纵系统中的各类任务集合,本发明定义任务模型如下:

(1)周期性实时任务:周期性实时任务是具有固定周期的、循环执行的实时任务。可以将周期性实时任务表示成一个五元组:

p=(a,r,t,d,c)

元组的元素分别为:周期性实时任务的到达时间、周期性实时任务的就绪时间、周期性实时任务的执行周期、周期性实时任务执行的截止期、周期性实时任务的单处理器上的最坏执行时间。

(2)非周期性实时任务:非周期性实时任务是到达时间随机的实时任务,同时它的执行时间是不确定的,可以将非周期性实时任务表示成一个四元组:

n=(a,r,d,c)

元组的元素分别为:非周期性实时任务的到达时间、非周期性实时任务的就绪时间、非周期性实时任务执行的截止期、非周期性实时任务的单处理器上的最坏执行时间。

(3)非实时任务:非实时任务是系统中除实时任务以外的其他任务,用一个四元组来表示:

o=(a,r,s,l)

元组的元素分别为:非实时任务的到达时间、非实时任务的就绪时间、非实时任务开始执行时间、非实时任务的延迟时间。

本实施例提供一种铁路机车运行操纵系统的混合任务调度方法,具体实施流程如图1所示,其包括:

步骤S101,在帧周期开始时,调度方法进行准备工作,包括任务切换,资源检查等。

本发明的调度方法以一个帧周期作为基本调度单元,其中帧周期为系统运行的基准周期,描述了系统周期分割的最小单元。周期性实时任务集中的任务周期以帧周期的倍数关系进行描述。

如图2所示,在一个帧周期开始时,调度方法需要进行上个周期结束时的任务切换工作,通常上个帧周期结束时可能正在执行的任务为非周期性实时任务或非实时任务,以上两种类型的任务在本发明的铁路机车运行操纵系统中优先级低于周期性实时任务。同时算法需要进行资源检查,确保上个周期的任务已经释放了相关资源。

步骤S102,针对周期性实时任务,应用基于表驱动的二级优先级规则进行调度序列排序,并按照该序列调度周期性实时任务。

周期性实时任务是机车运行操纵系统混合任务中最重要的部分,通常承担着实时控制的功能,所以也应该分配较高的优先级。虽然机车运行操纵系统是一个复杂的优化控制系统,但是一旦系统的参数确定,则周期性实时任务的时间参数也是可预测的。同时,在不同的应用场景和环境下,系统的运行状态不同,周期性实时任务也会发生动态地变化。

为了充分利用周期性实时任务在控制过程当中的可预测性,同时有针对性地处理该执行过程中的不确定性,本发明设计了一种基于表驱动的二级优先级规则的非抢占调度算法。该二级调度规则考察每个任务的截止期和任务间的时序约束关系。具体实施时,每个周期性实时任务具有两个优先级,分别为组优先级和实例优先级。在周期性实时任务的调度序列排列时,先按组优先级排序,再按实例优先级排序,最终生成调度序列。

具体生成规则如下:(1)为了充分利用处理器的利用率,首先按照任务集里截止期由小到大的顺序,设置若干个任务组。按照任务的周期,将每个周期性实时任务分配到任务组里,相同组的周期性任务具有相同的组优先级,即具有相同的重要程度;(2)根据任务间的时序约束,判定每个周期性任务的前驱任务。如果该任务的前驱任务的组优先级大于该任务,那么维持当前的两个任务的组优先级不变;否则,将该任务的前驱任务再分配到该任务的优先级组中;(3)对于组内任务的优先级顺序采用最小最坏执行时间作为判定标准,即最坏执行时间越小的任务具有越高的实例优先级。设置完全部任务的实例优先级后,再根据时序约束的关系,调整任务实例优先级顺序,让时序约束均能得到满足;(4)确定任务的执行顺序,先按照组优先级排序,然后对于组优先级相同的任务,按照实例优先级由高到低进行排序,最终生成周期性任务调度表。

二级优先级规则兼顾了计算开销和任务的截止期的动态变化特性。通过利用周期性实时任务的可预测性,在系统初始化阶段,可以对调度表的参数做一些预处理,比如优先级组的设定,调度表的预生成。在实际的系统设计过程中,由于周期性实时任务具有一定的局部时间特性,即在一段时间内,周期性实时任务集是稳定的。所以在调度表第一次生成后,以后的每次生成都可以在上一次生成的基础上进行修改,所需要的改动开销是很小的。

步骤S103,针对非周期性实时任务,应用基于启发式搜索策略和模糊控制的方法,对非周期性实时任务进行排列,并按照该序列调度任务。

非周期性实时任务的特点是随机到达,系统无法预测非周期性实时任务的到达时间。对于非周期性实时任务的调度目标是:在保证周期性实时任务调度满足截止期的前提下,最大化非周期性实时任务的完成成功率,同时让非周期性实时任务的响应时间最小。

综合系统调度目标及混合任务集的特点,非周期性实时任务调度问题可以看做是一种有约束的路径搜索问题,即在周期性实时任务剩余时间里合理地安排非周期性实时任务,让非周期性实时任务调度成功率和处理器的利用率都达到较理想的值。本发明设计了一种基于启发式搜索策略的非周期性实时任务调度算法,并运用模糊控制的思想,降低算法的不稳定性。

启发式搜索策略过程为:对于由有序n元组组成的状态空间E,给定关于n元组中分量的一个约束集合D和最优目标函数C(x),通过对每个搜索位置进行评估,快速得到E中满足约束D中全部约束条件的一个n元组,该n元组就是启发式搜索问题的最优解。本发明中,该n元组对应非周期性实时任务的调度序列,满足约束结合D的要求的元组属于可调度序列,若该元组同时使得最优目标函数C(x)达到极值,则该元组为最优可调度序列。具体实施时,算法应用贪心方式,通过估价函数从任务集合中每次选出估价值最大的任务进行序列排序。可以证明,如果估价函数设计合理,满足单调性需求,同时任务集是可调度的,通过这种贪心方式取得的可调度节点一定是最优的可调度节点。

启发式搜索策略的关键是估价函数的设计,本发明引入模糊控制的思想,提出了一种新的估价函数设计方法。具体设计过程如下:

(1)定义非周期性实时任务的空闲时间为:

nst=(nd-t)-(nc-e(n,t))

定义非周期性实时任务的完成率为:

ncr(t)=e(n,t)/nc

其中,nst是非周期性实时任务n在时刻t的剩余空闲时间,nd是任务n的截止期,nc是最坏执行时间,e(n,t)是任务n在时刻t已经执行过的时间。

如果一个非周期性实时任务的空闲时间越小,那么它越紧急,越应该优先调度;如果一个非周期性实时任务的完成率越高,那么它越需要多留在处理器中,去完成剩下的部分,需要优先得到调度。

(2)本发明设计了一种模糊阈值规则,能够综合非周期性实时任务的空闲时间和完成率来判定其重要程度。非周期性实时任务的空闲时间和完成率隶属度函数如图3A和图3B所示。

分别用三个语言模糊集对应不同输入,空闲时间:短,中,长,以及完成率:低,中,高。为了避免在实时控制的过程中计算复杂,本发明采用具体的输出代表任务的模糊阈值系数,在实时计算的过程中,通过查表获得非周期性实时任务的模糊阈值的时间复杂度为O(1)。模糊输入的阈值系数对应关系表如下表所示:

上述关系表中第一行指明了非周期性实时任务空闲时间等级,即当前任务的紧急情况,第一列指明了非周期性实时任务的完成率,即当前任务需要继续完成的迫切程度。具体实施时先计算当前所有未调度的非周期实时任务在时刻t的空闲时间和完成率。根据空闲时间和完成率算出对应隶属度,然后再根据表中的对应关系,按比例求出动态阈值系数。

(3)本发明定义估价函数如下:

H(n,t)=h(n,t)*nst

其中H(n,t)是非周期性实时任务在时刻t的估价函数,h(n,t)是非周期性实时任务n在时刻t的动态阈值,该值的计算方法按估价函数设计过程第(2)步中的表述进行计算。

通过以上步骤即可实现非周期性实时任务的调度序列排序,依照该序列可进行任务的调度过程。

步骤S104,后处理进行时间片的回收以及调度结果和反馈数据的采集工作,并判断剩余执行时间。

本发明的调度算法在一个帧周期内的任务调度顺序如图2所示。步骤S102和S103可完成混合任务集中周期性实时任务和非周期性实时任务的调度序列排序,并完成调度过程。接下来进行算法后处理过程进行帧周期内时间片的回收以及调度结果和反馈数据的收集工作,以上工作为充分利用帧周期内的时间资源,进一步进行非实时任务的调度作了准备。

步骤S105,如果周期时间未用完,则执行非实时任务,其调度顺序按照FIFO规则进行调度。

考察步骤S104后处理的结果,如果当前帧周期内仍有剩余的时间片,则从混合任务集中选择非实时性任务进行执行,选择的规则是FIFO规则。从而充分利用帧周期内的时间片资源。

如果当前混合任务集中无非实时任务,则进入空闲状态。

步骤S106,在帧周期结束时,如果非周期性实时任务或非实时任务还未执行结束,则会被下一帧周期的周期性实时任务抢占,确保周期性实时任务的实时性。

通过步骤S101至步骤S105即可实现系统中混合任务集的所有调度执行。在周期结束时,可能存在非周期性实时任务或非实时仍在执行的情况,此时该两种类型的任务优先级比周期性实时任务低,则会在下一个帧周期中被下一个帧周期内的帧周期实时任务所抢占,从而确保周期性实时任务的实时性。

以上S101至S106为一个帧周期内任务调度算法的执行步骤,在下一个帧周期内仍按照该算法顺序执行混合任务集的调度。

本发明提出的铁路机车运行操作系统的混合任务调度模型如图4所示,包括任务调度单元和执行单元。调度单元包括任务收集器,实时调度器和任务整合单元。在系统运行过程中,不断有实时任务产生,其来源包括人机交互,外界信号,系统反馈等。任务初始化后,由任务收集器集中处理,在每个时钟信号到来时,提交给实时调度器;实时调度器在下一个周期到来前,整合这些任务,针对不同类型任务分别调用周期性实时任务调度算法和非周期性实时任务调度算法,对应生成周期性实时任务调度序列和非周期性实时任务调度序列;最后通过任务整合模块将两个序列合并生成一个统一调度序列,提交给任务执行单元。执行单元根据调度序列的指示,对任务进行调度,并将调度结果和一些中间状态反馈给实时调度器,由调度器进行采集和保存。

由上述发明的技术方案可以看出,本发明针对周期性实时任务设计了一种基于表驱动的二级优先级规则的非抢占调度算法,具有较低的系统开销,同时兼顾了优先级调度的灵活性;针对非周期性实时任务设计了一种基于启发式搜索策略的非周期性实时任务调度算法,对任务集使用可行性分析,限制启发式搜索算法的递归深度,对启发式估价函数参数模糊化,降低调度时产生的抖动,该算法能够较好地处理非周期性实时任务调度;针对非实时任务,运用经典的FIFO规则,充分利用了系统的时间资源和计算资源,最大程度地保证了非实时任务被及时地调度执行。本发明设计的方法及模型能有效解决复杂铁路机车运行操纵系统的混合任务调度需求。

虽然上面结合本发明的优选实施例对本发明的原理进行了详细的描述,本领域技术人员应该理解,上述实施例仅仅是对本发明的示意性实现方式的解释,并非对本发明包含范围的限定。实施例中的细节并不构成对本发明范围的限制,在不背离本发明的精神和范围的情况下,任何基于本发明技术方案的等效变换、简单替换等显而易见的改变,均落在本发明保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1