CN117234696A - 高频率gnc系统多任务执行策略的确定方法及装置 - Google Patents
高频率gnc系统多任务执行策略的确定方法及装置 Download PDFInfo
- Publication number
- CN117234696A CN117234696A CN202311502879.5A CN202311502879A CN117234696A CN 117234696 A CN117234696 A CN 117234696A CN 202311502879 A CN202311502879 A CN 202311502879A CN 117234696 A CN117234696 A CN 117234696A
- Authority
- CN
- China
- Prior art keywords
- task
- period
- execution
- execution period
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000004891 communication Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 12
- 230000003993 interaction Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
- Programmable Controllers (AREA)
Abstract
本发明涉及航天器控制技术领域,特别涉及一种高频率GNC系统多任务执行策略的确定方法及装置。方法包括:基于各任务的实际运行频率确定多个执行周期;各执行周期的间隔周期呈倍数关系,每个执行周期均为控制周期的正整数倍;针对每个任务,均基于该任务的运行频率确定其所属的执行周期;对属于最小执行周期的任务,每个控制周期执行一次;对属于非最小执行周期的任务,判断该任务的运行时长是否大于预设时长;若是,则基于该任务的执行周期将其划分为多个子任务,并将各个子任务分布在执行周期内的不同控制周期执行;若否,则在该任务的执行周期内选择一个控制周期执行。本发明可以提高计算机的执行效率,满足GNC系统对高频率控制的要求。
Description
技术领域
本发明涉及航天器控制技术领域,特别涉及一种高频率GNC系统多任务执行策略的确定方法及装置。
背景技术
常规卫星控制频率需求一般不超过10Hz(即控制周期为百毫秒以上),因此,其星载计算机的运算能力和IO交互能力可以胜任卫星控制系统的时间性能需求,一般不需要针对时间性能采取特殊设计措施。
而对于高频率GNC系统,如空间在轨和再入综合任务航天器的GNC(制导、导航和控制)系统由于再入大气的特殊要求,其对再入返回段的动态性能和控制频率要求更高,且由于增加了大气、高度等测量装置以及伺服机构等控制装置,信息交互量和计算量也大幅增加,这就对星载计算机的计算能力和时间性能提出了更高要求。然而,现有星载计算机的运算能力和迭代速度落后于地面用计算机,短期无法提供比现行星载计算机运算性能有数量级提升、同时又能满足航天器高可靠要求的设备,通过选用运算能力适合的硬件来解决时间性能要求的办法行不通。
因此,目前亟待需要一种高频率GNC系统多任务执行策略的确定方法及装置来解决上述技术问题。
发明内容
本发明实施例提供了一种高频率GNC系统多任务执行策略的确定方法及装置,可以提高计算机的执行效率,满足GNC系统对高频率控制的要求。
第一方面,本发明实施例提供了一种高频率GNC系统多任务执行策略的确定方法,包括:
基于GNC系统中各任务的实际运行频率需求确定多个依次增大的执行周期;各执行周期的间隔周期呈倍数关系,且每个执行周期均为所述GNC系统的控制周期的正整数倍,其中,最小执行周期等于所述控制周期;
针对所述GNC系统中的每个任务,均基于该任务的运行频率确定其所属的执行周期;
基于各任务所属的执行周期确定其执行策略;其中,对于属于最小执行周期的每个任务,每个控制周期均执行一次;对于属于非最小执行周期的每个任务,均判断该任务的运行时长是否大于预设时长;若是,则基于该任务的执行周期将其划分为多个子任务,并将各个子任务分布在该执行周期内的不同控制周期执行,每个子任务的运行时长均不大于所述预设时长;若否,则在该任务的执行周期内选择一个剩余时长大于其运行时长的控制周期执行。
第二方面,本发明实施例还提供了一种高频率GNC系统多任务执行策略的确定装置,包括:
第一确定模块,用于基于GNC系统中各任务的运行频率确定多个依次增大的执行周期;各执行周期的间隔周期呈倍数关系,且每个执行周期均为所述GNC系统的控制周期的正整数倍,其中,最小执行周期等于所述控制周期;
第二确定模块,用于针对所述GNC系统中的每个任务,均基于该任务的运行频率确定其所属的执行周期;
执行策略确定模块,用于基于各任务所属的执行周期确定其执行策略:其中,对于属于最小执行周期的每个任务,每个控制周期均执行一次;对于属于非最小执行周期的每个任务,均判断该任务的运行时长是否大于预设时长;若是,则基于该任务的执行周期将其划分为多个子任务,并将各个子任务分布在该执行周期内的不同控制周期执行,每个子任务的运行时长均不大于所述预设时长;若否,则在该任务的执行周期内选择一个剩余时长大于其运行时长的控制周期执行。
第三方面,本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本说明书任一实施例所述的方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行本说明书任一实施例所述的方法。
本发明实施例提供了一种高频率GNC系统多任务执行策略的确定方法及装置。该方法,首先基于GNC系统各任务的实际运行频率需求确定多个执行周期,然后根据每个任务的运行频率确定其所属的执行周期,任务的运行频率越高,实时性要求越强,则其对应的执行周期越小;任务的运行频率越小,实时性要求越低,则其对应的执行周期越大。其中,属于最小执行周期的每个任务每个控制周期均执行一次,而对于属于非最小执行周期的每个任务,则不需要每个控制周期均执行,而是根据该任务的运行时长确定执行策略。具体地,若该任务的运行时长较低,则直接在其执行周期内选择一个控制周期执行,反之,则将其划分为多个子任务,每个控制周期执行一个子任务,只要保证在其执行周期内完成该任务即可。采用上述策略,在保证完成各个任务的同时,可以使各控制周期的实际执行时间较为均衡,从而缩短控制周期,提高计算机的执行效率,满足GNC系统对高频率控制的要求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的高频率GNC系统多任务执行策略的确定方法的结构示意图;
图2是本发明一实施例提供的一种电子设备的硬件架构图;
图3是本发明一实施例提供的一种高频率GNC系统多任务执行策略的确定装置的结构图;
图4是本发明一实施例提供的各任务的原始执行顺序示意图;
图5是本发明一实施例提供的采用本发明方法对图4中各任务进行调整后各任务的执行顺序示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了更好的理解方案,下面首先对本发明涉及的部分名词进行解释。
控制周期,指完成一轮总任务的周期。以GNC系统为例,在一个控制周期内完成一轮制导、导航和控制任务,当然,每项任务还可以分解为多个小任务,各小任务的运行时长和运行频率可能都不相同。例如,控制任务需要每2ms运行一次,而制导任务需要每50ms运行一次,两者的运行频率差异很大。如果都按照最高运行频率运行,就需要设计一个很大的控制周期,以保证在该控制周期内可以完成所有任务。但是这会降低计算机的执行效率,不能满足GNC系统对高频率控制的要求。
执行周期,指各个任务的实际执行周期。例如,控制任务的执行周期为2ms,制导任务的执行周期为50ms,是用户根据各任务的运行频率和各任务之间的时序关系综合确定的。
请参考图1,本发明实施例提供了一种高频率GNC系统多任务执行策略的确定方法,该方法包括:
步骤100,基于GNC系统中各任务的实际运行频率需求确定多个依次增大的执行周期;各执行周期的间隔周期呈倍数关系,且每个执行周期均为所述GNC系统的控制周期的正整数倍,其中,最小执行周期等于所述控制周期;
步骤102,针对所述GNC系统中的每个任务,均基于该任务的运行频率确定其所属的执行周期;
步骤104,基于各任务所属的执行周期确定其执行策略:其中,对于属于最小执行周期的每个任务,每个控制周期均执行一次;对于属于非最小执行周期的每个任务,均判断该任务的运行时长是否大于预设时长;若是,则基于该任务的执行周期将其划分为多个子任务,并将各个子任务分布在该执行周期内的不同控制周期执行,每个子任务的运行时长均不大于所述预设时长;若否,则在该任务的执行周期内选择一个剩余时长大于其运行时长的控制周期执行。
本实施例提供了一种高频率GNC系统多任务执行策略的确定方法。该方法首先基于GNC系统各任务的运行频率确定多个执行周期,然后根据每个任务的运行频率确定其所属的执行周期,任务的运行频率越高,实时性要求越强,则其对应的执行周期越小;任务的运行频率越小,实时性要求越低,则其对应的执行周期越大。其中,属于最小执行周期的每个任务每个控制周期均执行一次,而对于属于非最小执行周期的每个任务,则不需要每个控制周期均执行,而是根据该任务的运行时长确定执行策略。具体地,若该任务的运行时长较低,则直接在其执行周期内选择一个控制周期执行,反之,则将其划分为多个子任务,每个控制周期执行一个子任务,只要保证在其执行周期内完成该任务即可。采用上述策略,在保证完成各个任务的同时,可以使各控制周期的实际执行时间较为均衡,从而缩短控制周期,提高计算机的执行效率,满足GNC系统对高频率控制的要求。
需要说明的是,GNC系统中的各任务指的是软件任务。
下面描述图1所示的各个步骤的执行方式。
首先,针对步骤100,基于GNC系统中各任务的实际运行频率需求确定多个依次增大的执行周期;各执行周期的间隔周期呈倍数关系,且每个执行周期均为所述GNC系统的控制周期的正整数倍,其中,最小执行周期等于所述控制周期。
该步骤中,执行周期的划分要根据各任务实际运行频率之间的差异大小确定。若各任务运行频率之间的差异较小,则执行周期的数量较少,且各执行周期之间的间隔周期较小。反之,则执行周期的数量较多,且各执行周期之间的间隔周期较大。此外,各执行周期的间隔周期呈倍数关系,且每个执行周期均为所述GNC系统的控制周期的正整数倍,可以保证各任务之间的运行时序具有确定性。例如,将各执行周期按照从小到大的顺序依次命名为第一执行周期、第二执行周期、第三执行周期……第N执行周期,其中,第一执行周期等于控制周期,第二执行周期等于8个控制周期,第三执行周期等于16个控制周期,依次类推。即各执行周期的间隔周期以控制周期为基准且呈倍数关系。例如,该实施例的间隔周期为8个控制周期,对于属于第二执行周期的各任务,每8个控制周期执行一次。
针对步骤102,针对所述GNC系统中的每个任务,均基于该任务的运行频率确定其所属的执行周期,包括:
基于该任务的运行频率确定其极限执行周期;
将小于该极限执行周期且与该极限执行周期最接近的执行周期确定为该任务所属的执行周期。
极限执行周期是完成某项任务的最高时间间隔,例如,对于某项任务,假设其极限执行周期为13个控制周期,即每13个控制周期必须完成一次。则将其划分为上述步骤中的第二个执行周期,也就是8个控制周期执行一次,以保证任务的顺利完成。
另外,对于属于非最小执行周期且运行时长不大于预设时长的任务,在该任务的执行周期内选择一个剩余时长大于其运行时长的控制周期执行。
该类任务不仅调用频率低,且运行时间短,则无需对其进行分割,只要在其控制周期内选择一个控制周期调用即可。当该类任务有多个时,优选将各个任务分散在不同的控制周期执行,并保证选择的控制周期的剩余时长不小于该任务的运行时长。
最后,针对步骤104,基于该任务的执行周期将其划分为多个子任务,并将各个子任务分布在该执行周期内的不同控制周期执行,包括:
基于该任务的阶段性目标,将该任务划分为多个子任务,每个子任务至少完成一个所述阶段性目标,且所述子任务的数量不大于该任务的执行周期包含的控制周期的个数;
按照各子任务的实际运行顺序分别在各个控制周期执行。
在该步骤中,每个所述子任务的运行时长的差值均不大设定阈值。设定阈值根据用户需要设定,且尽可能的小,以保证每个子任务的运行时间基本一致。另外,按照每个子任务的时间执行时序,每个控制周期调用执行其中一个子任务,从而达到压缩最长运行路径的目的。例如,将每8周期运行一次的某个任务分割为8个子任务,每控制周期运行其中1个子任务,8个周期运行的子任务时间消耗大致相同,避免有的控制周期运行时间短,有的控制周期实际运行时间长,补齐时间短板,提高计算机的执行效率。
此外,为了对各子任务运行过程中产生的中间变量进行专门保护,本发明通过专用变量(全局变量)进行存储,确保跨控制周期调用过程的中间变量不被改写,确保软件运行的可靠性。
可以理解的是,星载计算机的任务分为软件任务和硬件交互任务,其中,硬件交互任务既包括星载计算机与外部设备之间的交互任务,也包括星载计算机中多台冗余单机之间的信息交互,上述硬件交互基本不需要CPU持续干预,也就是说,部分软件任务可以和硬件任务同时执行。
针对GNC系统的高频率控制需求,为了能够将硬件工作的碎片时间合理利用,同时确保软件运行时序,在保持原有时序约束的情况下,可以将部分软件的执行时序调整至和硬件任务同时执行,具体实现过程如下:
基于各任务之间以及各任务与各硬件任务之间的时序关系,将各任务划分为可调整任务和不可调整任务,所述可调整任务为与每个所述硬件任务均不具有时序关系的任务,所述不可调整任务为与至少一个硬件任务具有直接时序关系或间接时序关系的任务;
针对每个可调整任务,均判断在其可执行时间范围内是否存在至少一个硬件任务的运行时长不小于该可调整任务的运行时长,若是,则将该可调整任务与所述硬件任务中的一个同时执行。
需要说明的是,本申请中除特指硬件任务之外的任务均默认为软件任务。时序关系指的是任务之间具有输入输出关系,即某个任务的执行直接或间接的需要另一个任务的执行结果。
另外,每个可调整任务的可执行时间范围是通过如下方式确定的:
将与该可调整任务具有时序关系的任务确定为目标任务;
若目标任务为一个,则将当前控制周期中该目标任务和下一个控制周期中该目标任务之间的时间范围确定为该可调整任务的可执行时间范围;
若目标任务为多个,则将当前控制周期中,时序最靠前的目标任务和时序最靠后的目标任务之间的时间范围确定为该可调整任务的可执行时间范围。
在该步骤中,对于可调整任务,由于其与相应的硬件任务不存在输入输出关系,则可以在其可执行时间范围内找到一个运行时长大于该任务运行时长的硬件任务,使两者同时执行,再不改变总任务时序的同时,可以合理利用硬件任务执行的碎片时间,提高计算机的执行效率。
为了更好的理解上述方案,下面以图4所示的一个控制周期内的各软件任务和硬件任务为例进行说明:
图4中,包括8个软件任务和2个硬件任务,图4所示的为10个任务的初始执行顺序,即按照1-10的顺序执行。
在一个控制周期内,以硬件任务为核心,梳理出与硬件任务具有直接或间接时序关系的软件任务作为不可调整任务,与硬件没有严格时序关系的软件任务作为可调整任务。经分析得出,软件任务1、3、5与硬件任务2、8具有严格时序关系,而软件任务4、10与任务3、5,任务9、1具有先后时序关系,则上述软件任务作为不可调整任务;而软件任务6只与软件任务5具有输入输出关系、软件任务7只与软件任务5、软件任务9具有输入输出关系,因此将软件任务6和软件任务7作为可调整任务。
重新调整软件任务运行时序,将可调整的任务安排在硬件交互期间执行,合理利用硬件交互时间。经上述分析可得,软件任务6可安排在本控制周期软件任务5至下一个控制周期软件任务5之间任意位置,而软件任务7可安排在本控制周期软件任务5至本控制周期软件任务9之间的位置,则将软件任务6、7分别安排在两个硬件任务的执行过程中,调整后的执行顺序如图5所示。
更换时序关系后,原有的软件、软硬件协同时序没有发生变化,同时使硬件交互的碎片时间得到充分利用,提高了软件执行效率。
在一些实施方式中,针对每个硬件任务,若该硬件任务与某个外部设备的通讯频率低于预设频率且通讯信息的长度大于预设长度,则执行:
基于该硬件任务与该外部设备的通讯频率将该通讯信息分割为多个子信息;
将各个子信息按照不同的子地址存放,并在一个控制周期内只采集一个子地址中存放的子信息,所述子信息的个数不大于所述通讯频率对应的通讯周期内包含的控制周期的个数。
也就是说,对于较低通信频率的外设,可以通过通信协议设计,将原本终端与星载计算机间的一条长消息按照信息内容分割为多条短消息,各条短消息按照不同子地址存放,并在星载计算机软件设计中每个控制周期只采集其中一条短消息。从而实现了不同控制周期间硬件外设时间调节。
如图2、图3所示,本发明实施例提供了一种高频率GNC系统多任务执行策略的确定装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图2所示,为本发明实施例提供的一种高频率GNC系统多任务执行策略的确定装置所在电子设备的一种硬件架构图,除了图2所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图3所示,作为一个逻辑意义上的装置,是通过其所在电子设备的CPU将非易失性存储器中对应的计算机程序读取到内存中运行形成的。
本实施例提供的一种高频率GNC系统多任务执行策略的确定装置,包括:
第一确定模块300,用于基于GNC系统中各任务的运行频率确定多个依次增大的执行周期;各执行周期的间隔周期呈倍数关系,且每个执行周期均为所述GNC系统的控制周期的正整数倍,其中,最小执行周期等于所述控制周期;
第二确定模块302,用于针对所述GNC系统中的每个任务,均基于该任务的运行频率确定其所属的执行周期;
执行策略确定模块304,用于基于各任务所属的执行周期确定其执行策略;其中,对于属于最小执行周期的每个任务,每个控制周期均执行一次;对于属于非最小执行周期的每个任务,均判断该任务的运行时长是否大于预设时长;若是,则基于该任务的执行周期将其划分为多个子任务,并将各个子任务分布在该执行周期内的不同控制周期执行,每个子任务的运行时长均不大于所述预设时长;若否,则在该任务的执行周期内选择一个剩余时长大于其运行时长的控制周期执行。
在一些实施方式中,第二确定模块302在执行基于该任务的运行频率确定其所属的执行周期时,包括:
基于该任务的运行频率确定其极限执行周期;
将小于该极限执行周期且与该极限执行周期最接近的执行周期确定为该任务所属的执行周期。
在一些实施方式中,执行策略确定模块304在执行基于该任务的执行周期将其划分为多个子任务,并将各个子任务分布在该执行周期内的不同控制周期执行时,包括:
基于该任务的阶段性目标,将该任务划分为多个子任务,每个子任务至少完成一个所述阶段性目标,且所述子任务的数量不大于该任务的执行周期包含的控制周期的个数;
按照各子任务的实际运行顺序,将先执行的子任务安排在靠前的控制周期执行,将后执行的子任务安排在靠后的控制周期执行。
其中,每个所述子任务的运行时长的差值均不大设定阈值。
在一些实施方式中,在一个所述控制周期内,还包括至少一个硬件任务,执行策略确定模块304还用于执行如下操作:
基于各任务之间以及各任务与各硬件任务之间的时序关系,将各任务划分为可调整任务和不可调整任务,所述可调整任务为与每个所述硬件任务均不具有时序关系的任务,所述不可调整任务为与至少一个硬件任务具有直接时序关系或间接时序关系的任务;
针对每个可调整任务,均判断在其可执行时间范围内是否存在至少一个硬件任务的运行时长不小于该可调整任务的运行时长,若是,则将该可调整任务与所述硬件任务中的一个同时执行。
其中,每个可调整任务的可执行时间范围是通过如下方式确定的:
将与该可调整任务具有时序关系的任务确定为目标任务;
若目标任务为一个,则将当前控制周期中该目标任务和下一个控制周期中该目标任务之间的时间范围确定为该可调整任务的可执行时间范围;
若目标任务为多个,则将当前控制周期中,时序最靠前的目标任务和时序最靠后的目标任务之间的时间范围确定为该可调整任务的可执行时间范围。
在一些实施方式中,在一个所述控制周期内,还包括至少一个硬件任务,所述方法还包括:
针对每个硬件任务,若该硬件任务与某个外部设备的通讯频率低于预设频率且通讯信息的长度大于预设长度,则执行:
基于该硬件任务与该外部设备的通讯频率将该通讯信息分割为多个子信息;
将各个子信息按照不同的子地址存放,并在一个控制周期内只采集一个子地址中存放的子信息,所述子信息的个数不大于所述通讯频率对应的通讯周期内包含的控制周期的个数。
可以理解的是,本发明实施例示意的结构并不构成对一种高频率GNC系统多任务执行策略的确定装置的具体限定。在本发明的另一些实施例中,一种高频率GNC系统多任务执行策略的确定装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本发明任一实施例中的一种高频率GNC系统多任务执行策略的确定方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在被处理器执行时,使所述处理器执行本发明任一实施例中的一种高频率GNC系统多任务执行策略的确定方法。
具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展模块中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展模块上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种高频率GNC系统多任务执行策略的确定方法,其特征在于,包括:
基于GNC系统中各任务的实际运行频率需求确定多个依次增大的执行周期;各执行周期的间隔周期呈倍数关系,且每个执行周期均为所述GNC系统的控制周期的正整数倍,其中,最小执行周期等于所述控制周期;
针对所述GNC系统中的每个任务,均基于该任务的运行频率确定其所属的执行周期;
基于各任务所属的执行周期确定其执行策略:其中,对于属于最小执行周期的每个任务,每个控制周期均执行一次;对于属于非最小执行周期的每个任务,均判断该任务的运行时长是否大于预设时长;若是,则基于该任务的执行周期将其划分为多个子任务,并将各个子任务分布在该执行周期内的不同控制周期执行,每个子任务的运行时长均不大于所述预设时长;若否,则在该任务的执行周期内选择一个剩余时长大于其运行时长的控制周期执行。
2.根据权利要求1所述的方法,其特征在于,所述基于该任务的运行频率确定其所属的执行周期,包括:
基于该任务的运行频率确定其极限执行周期;
将小于该极限执行周期且与该极限执行周期最接近的执行周期确定为该任务所属的执行周期。
3.根据权利要求1所述的方法,其特征在于,所述基于该任务的执行周期将其划分为多个子任务,并将各个子任务分布在该执行周期内的不同控制周期执行,包括:
基于该任务的阶段性目标,将该任务划分为多个子任务,每个子任务至少完成一个所述阶段性目标,且所述子任务的数量不大于该任务的执行周期包含的控制周期的个数;
按照各子任务的实际运行顺序分别在各个控制周期执行。
4.根据权利要求3所述的方法,其特征在于,每个所述子任务的运行时长的差值均不大设定阈值。
5.根据权利要求1所述的方法,其特征在于,在一个所述控制周期内,还包括至少一个硬件任务,所述方法还包括:
基于各任务之间以及各任务与各硬件任务之间的时序关系,将各任务划分为可调整任务和不可调整任务,所述可调整任务为与每个所述硬件任务均不具有时序关系的任务,所述不可调整任务为与至少一个硬件任务具有直接时序关系或间接时序关系的任务;
针对每个可调整任务,均判断在其可执行时间范围内是否存在至少一个硬件任务的运行时长不小于该可调整任务的运行时长,若是,则将该可调整任务与所述硬件任务中的一个同时执行。
6.根据权利要求5所述的方法,其特征在于,每个可调整任务的可执行时间范围是通过如下方式确定的:
将与该可调整任务具有时序关系的任务确定为目标任务;
若目标任务为一个,则将当前控制周期中该目标任务和下一个控制周期中该目标任务之间的时间范围确定为该可调整任务的可执行时间范围;
若目标任务为多个,则将当前控制周期中,时序最靠前的目标任务和时序最靠后的目标任务之间的时间范围确定为该可调整任务的可执行时间范围。
7.根据权利要求1所述的方法,其特征在于,在一个所述控制周期内,还包括至少一个硬件任务,所述方法还包括:
针对每个硬件任务,若该硬件任务与某个外部设备的通讯频率低于预设频率且通讯信息的长度大于预设长度,则执行:
基于该硬件任务与该外部设备的通讯频率将该通讯信息分割为多个子信息;
将各个子信息按照不同的子地址存放,并在一个控制周期内只采集一个子地址中存放的子信息,所述子信息的个数不大于所述通讯频率对应的通讯周期内包含的控制周期的个数。
8.一种高频率GNC系统多任务执行策略的确定装置,其特征在于,包括:
第一确定模块,用于基于GNC系统中各任务的实际运行频率需求确定多个依次增大的执行周期;各执行周期的间隔周期呈倍数关系,且每个执行周期均为所述GNC系统的控制周期的正整数倍,其中,最小执行周期等于所述控制周期;
第二确定模块,用于针对所述GNC系统中的每个任务,均基于该任务的运行频率确定其所属的执行周期;
执行策略确定模块,用于基于各任务所属的执行周期确定其执行策略;其中,对于属于最小执行周期的每个任务,每个控制周期均执行一次;对于属于非最小执行周期的每个任务,均判断该任务的运行时长是否大于预设时长;若是,则基于该任务的执行周期将其划分为多个子任务,并将各个子任务分布在该执行周期内的不同控制周期执行,每个子任务的运行时长均不大于所述预设时长;若否,则在该任务的执行周期内选择一个剩余时长大于其运行时长的控制周期执行。
9.一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311502879.5A CN117234696B (zh) | 2023-11-13 | 2023-11-13 | 高频率gnc系统多任务执行策略的确定方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311502879.5A CN117234696B (zh) | 2023-11-13 | 2023-11-13 | 高频率gnc系统多任务执行策略的确定方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117234696A true CN117234696A (zh) | 2023-12-15 |
CN117234696B CN117234696B (zh) | 2024-01-19 |
Family
ID=89098745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311502879.5A Active CN117234696B (zh) | 2023-11-13 | 2023-11-13 | 高频率gnc系统多任务执行策略的确定方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117234696B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117931456A (zh) * | 2024-03-20 | 2024-04-26 | 石家庄科林电气股份有限公司 | 多任务调度方法、装置及处理芯片 |
Citations (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4093984A (en) * | 1975-09-30 | 1978-06-06 | Tokyo Shibaura Electric Co., Ltd. | Data processing system having a cycle control function |
CN101830290A (zh) * | 2010-02-12 | 2010-09-15 | 哈尔滨工业大学 | 小天体撞击探测自主导航与制导控制规划调度方法 |
CN104573193A (zh) * | 2014-12-18 | 2015-04-29 | 北京控制工程研究所 | 一种航天器gnc系统快速设计方法 |
US20150235542A1 (en) * | 2014-02-20 | 2015-08-20 | Mediatek Inc. | Method for performing alarm grouping control of an electronic device with aid of at least one grouping control strategy, and associated apparatus |
CN105205271A (zh) * | 2015-09-29 | 2015-12-30 | 中国运载火箭技术研究院 | 一种基于动态特性的飞行器任务可靠性建模方法 |
CN106254198A (zh) * | 2016-09-13 | 2016-12-21 | 北京控制工程研究所 | 基于时间触发的分布式系统级任务同步方法 |
CN106445659A (zh) * | 2016-09-09 | 2017-02-22 | 北京控制工程研究所 | 一种空间飞行器周期性混成随机任务调度方法 |
US20180275654A1 (en) * | 2015-09-03 | 2018-09-27 | Commonwealth Scientific And Industrial Research Or Ganisation | Unmanned Aerial Vehicle Control Techniques |
CN110955974A (zh) * | 2019-11-29 | 2020-04-03 | 清华大学 | 一种火箭回收仿真平台及实现方法 |
CN112395720A (zh) * | 2020-11-20 | 2021-02-23 | 北京控制工程研究所 | 一种时间确定性分布式航天器电子系统设计方法 |
CN112732540A (zh) * | 2020-12-11 | 2021-04-30 | 地平线征程(杭州)人工智能科技有限公司 | 确定硬件使用率的方法和装置、存储介质、电子设备 |
CN113268368A (zh) * | 2021-04-26 | 2021-08-17 | 北京控制工程研究所 | 基于飞行任务剖面的组合体航天器安全关键数据维护方法 |
CN113438008A (zh) * | 2021-04-20 | 2021-09-24 | 北京控制工程研究所 | 一种适用于姿轨控系统多机容错架构的多机时标仿真方法 |
CN115099666A (zh) * | 2022-07-06 | 2022-09-23 | 洛必行(山东)智能科技有限公司 | 一种机器人调度方法和装置、电子设备 |
CN115309527A (zh) * | 2022-08-12 | 2022-11-08 | 浙江中控技术股份有限公司 | 多任务调度方法、装置及电子设备 |
US20230100110A1 (en) * | 2021-09-18 | 2023-03-30 | EMC IP Holding Company LLC | Computing resource management method, electronic equipment and program product |
CN116007657A (zh) * | 2022-12-29 | 2023-04-25 | 上海航天控制技术研究所 | 一种小视场相机与星敏测量基准同步的天文标定方法 |
CN116068915A (zh) * | 2023-03-08 | 2023-05-05 | 哈尔滨工业大学 | 航天器gnc系统高仿真度分布式仿真装置与方法 |
CN116222540A (zh) * | 2022-12-29 | 2023-06-06 | 北京航天控制仪器研究所 | 一种微惯性多源自主gnc飞控导航微系统、方法及模组 |
CN116302453A (zh) * | 2023-05-22 | 2023-06-23 | 中诚华隆计算机技术有限公司 | 量子电子混合平台的任务调度方法及装置 |
CN116360288A (zh) * | 2023-02-15 | 2023-06-30 | 蓝箭航天空间科技股份有限公司 | 用于航天器控制系统的半实物仿真总控系统 |
CN116880986A (zh) * | 2023-07-25 | 2023-10-13 | 零束科技有限公司 | 任务调度方法、装置、车载控制器、电子设备和存储介质 |
-
2023
- 2023-11-13 CN CN202311502879.5A patent/CN117234696B/zh active Active
Patent Citations (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4093984A (en) * | 1975-09-30 | 1978-06-06 | Tokyo Shibaura Electric Co., Ltd. | Data processing system having a cycle control function |
CN101830290A (zh) * | 2010-02-12 | 2010-09-15 | 哈尔滨工业大学 | 小天体撞击探测自主导航与制导控制规划调度方法 |
US20150235542A1 (en) * | 2014-02-20 | 2015-08-20 | Mediatek Inc. | Method for performing alarm grouping control of an electronic device with aid of at least one grouping control strategy, and associated apparatus |
CN104573193A (zh) * | 2014-12-18 | 2015-04-29 | 北京控制工程研究所 | 一种航天器gnc系统快速设计方法 |
US20180275654A1 (en) * | 2015-09-03 | 2018-09-27 | Commonwealth Scientific And Industrial Research Or Ganisation | Unmanned Aerial Vehicle Control Techniques |
CN105205271A (zh) * | 2015-09-29 | 2015-12-30 | 中国运载火箭技术研究院 | 一种基于动态特性的飞行器任务可靠性建模方法 |
CN106445659A (zh) * | 2016-09-09 | 2017-02-22 | 北京控制工程研究所 | 一种空间飞行器周期性混成随机任务调度方法 |
CN106254198A (zh) * | 2016-09-13 | 2016-12-21 | 北京控制工程研究所 | 基于时间触发的分布式系统级任务同步方法 |
CN110955974A (zh) * | 2019-11-29 | 2020-04-03 | 清华大学 | 一种火箭回收仿真平台及实现方法 |
CN112395720A (zh) * | 2020-11-20 | 2021-02-23 | 北京控制工程研究所 | 一种时间确定性分布式航天器电子系统设计方法 |
CN112732540A (zh) * | 2020-12-11 | 2021-04-30 | 地平线征程(杭州)人工智能科技有限公司 | 确定硬件使用率的方法和装置、存储介质、电子设备 |
CN113438008A (zh) * | 2021-04-20 | 2021-09-24 | 北京控制工程研究所 | 一种适用于姿轨控系统多机容错架构的多机时标仿真方法 |
CN113268368A (zh) * | 2021-04-26 | 2021-08-17 | 北京控制工程研究所 | 基于飞行任务剖面的组合体航天器安全关键数据维护方法 |
US20230100110A1 (en) * | 2021-09-18 | 2023-03-30 | EMC IP Holding Company LLC | Computing resource management method, electronic equipment and program product |
CN115099666A (zh) * | 2022-07-06 | 2022-09-23 | 洛必行(山东)智能科技有限公司 | 一种机器人调度方法和装置、电子设备 |
CN115309527A (zh) * | 2022-08-12 | 2022-11-08 | 浙江中控技术股份有限公司 | 多任务调度方法、装置及电子设备 |
CN116007657A (zh) * | 2022-12-29 | 2023-04-25 | 上海航天控制技术研究所 | 一种小视场相机与星敏测量基准同步的天文标定方法 |
CN116222540A (zh) * | 2022-12-29 | 2023-06-06 | 北京航天控制仪器研究所 | 一种微惯性多源自主gnc飞控导航微系统、方法及模组 |
CN116360288A (zh) * | 2023-02-15 | 2023-06-30 | 蓝箭航天空间科技股份有限公司 | 用于航天器控制系统的半实物仿真总控系统 |
CN116068915A (zh) * | 2023-03-08 | 2023-05-05 | 哈尔滨工业大学 | 航天器gnc系统高仿真度分布式仿真装置与方法 |
CN116302453A (zh) * | 2023-05-22 | 2023-06-23 | 中诚华隆计算机技术有限公司 | 量子电子混合平台的任务调度方法及装置 |
CN116880986A (zh) * | 2023-07-25 | 2023-10-13 | 零束科技有限公司 | 任务调度方法、装置、车载控制器、电子设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
于萍等: "飞行器GNC试验子系统新技术及验证", 中国科学:技术科学 * |
蔡彪: "天宫一号目标飞行器GNC分系统容错策略设计", 空间控制技术与应用 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117931456A (zh) * | 2024-03-20 | 2024-04-26 | 石家庄科林电气股份有限公司 | 多任务调度方法、装置及处理芯片 |
CN117931456B (zh) * | 2024-03-20 | 2024-06-14 | 石家庄科林电气股份有限公司 | 多任务调度方法、装置及处理芯片 |
Also Published As
Publication number | Publication date |
---|---|
CN117234696B (zh) | 2024-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117234696B (zh) | 高频率gnc系统多任务执行策略的确定方法及装置 | |
US9426036B1 (en) | Mixture model approach for network forecasting | |
US8127119B2 (en) | Control-flow prediction using multiple independent predictors | |
US7512738B2 (en) | Allocating call stack frame entries at different memory levels to functions in a program | |
US20200057642A1 (en) | System and method of populating an instruction word | |
US8943287B1 (en) | Multi-core processor system configured to constrain access rate from memory | |
US9513835B2 (en) | Impact-based migration scheduling from a first tier at a source to a second tier at a destination | |
US9753851B2 (en) | Multi-section garbage collection system including real-time garbage collection scheduling | |
JP2009524135A (ja) | リソースのフリープールをモデル化するための方法 | |
CN104182350A (zh) | 一种针对包括多个进程的应用的内存管理方法和装置 | |
US20160357676A1 (en) | Prefetch threshold for cache restoration | |
CN110716845A (zh) | 一种Android系统的日志信息读取的方法 | |
US10789183B2 (en) | Aggregation handling | |
US8006238B2 (en) | Workload partitioning in a parallel system with hetergeneous alignment constraints | |
CN107870780B (zh) | 数据处理装置和方法 | |
US10896130B2 (en) | Response times in asynchronous I/O-based software using thread pairing and co-execution | |
US9158545B2 (en) | Looking ahead bytecode stream to generate and update prediction information in branch target buffer for branching from the end of preceding bytecode handler to the beginning of current bytecode handler | |
US10579350B2 (en) | Heterogeneous computer system optimization | |
US11176506B2 (en) | Blockchain expense and resource utilization optimization | |
US20160070766A1 (en) | Methods for facilitating batch analytics on archived data and devices thereof | |
US8196082B1 (en) | Signal routing and pin placement | |
US20230305850A1 (en) | Branch prediction using speculative indexing and intraline count | |
CN114661477A (zh) | 一种低能耗的区块资源证明方法、装置和电子设备 | |
US10747644B2 (en) | Method of executing instructions of core, method of debugging core system, and core system | |
CN110209431B (zh) | 数据分区拆分方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |