一种高精度星历轨道并行处理方法、装置、设备及介质

文档序号:37682179发布日期:2024-04-18 20:54阅读:12来源:国知局
一种高精度星历轨道并行处理方法、装置、设备及介质

本发明涉及软件工程,具体而言,本发明涉及一种高精度星历轨道并行处理方法、装置、设备及介质。


背景技术:

1、在航天任务设计与计算中,时常会面临蒙特卡洛随机仿真或优化计算的需求,需要对大量数据进行循环或迭代计算以得到满足约束的结果。现有的计算大多采用均匀分配每个子线程的计算量,并且每次并行计算后会结束子线程关闭计算场景回到主程序,再进行下一次循环和数据分配。当前并行计算方式存在局限性,一方面,由于不同数据组的运行时间存在差异,如果均匀分配子线程计算量的话,可能会导致单个线程时间过长或过短,出现空闲子线程,造成计算资源的浪费。另一方面,运行每一组数据时都面临着重复开启设置高精度星历轨道仿真场景的步骤,浪费了大量时间,难以发挥并行运算的优势。


技术实现思路

1、本发明所要解决的技术问题是提供了一种高精度星历轨道并行处理方法、装置、设备及介质,旨在解决上述至少一个技术问题。

2、第一方面,本发明解决上述技术问题的技术方案如下:一种高精度星历轨道并行处理方法,该方法包括:

3、获取待处理航天任务对应的多组任务参数,所述待处理航天任务为与星历轨道相关的任务;

4、确定处理所述待处理航天任务对应的多个子线程,每个子线程对应运行一个高精度星历轨道仿真软件,所述高精度星历轨道仿真软件用于对一组任务参数进行处理,得到该组任务参数对应的处理结果;

5、根据多组所述任务参数,通过多个所述子线程采用并行处理的方式确定每组所述任务参数对应的处理结果。

6、本发明的有益效果是:基于多个子线程并行处理待处理航天任务对应的多组任务参数,实现了客户端(生成多组任务参数的主程序对应的客户端)与并行程序数据信息实时交互的功能,以便于提高高精度星历轨道仿真软件的并行计算效率。

7、在上述技术方案的基础上,本发明还可以做如下改进。

8、进一步,上述根据多组所述任务参数,通过多个所述子线程采用并行处理的方式确定每组所述任务参数对应的处理结果,包括:

9、对于每个所述子线程,向所述子线程分配一组所述任务参数,以使所述子线程根据该组任务参数,通过所述高精度星历轨道仿真软件进行处理,得到该组任务参数对应的处理结果,并且在通过所述子线程处理得到一组任务参数对应的处理结果后,向所述子线程分配另外一组任务参数,直到多组所述任务参数中的最后一组任务参数被分配完成。

10、采用上述进一步方案的有益效果是,在采用多个子线程对多组任务参数进行并行处理的过程中,考虑到每个子线程的处理能力不同,因此,对于每个子线程,在该子线程处理完一组任务参数后,可接着处理下一组,直到多组任务参数中最后一组任务参数被分配完成,即可实现对所有任务参数的并行处理,提高了处理效率。

11、进一步,对于每个所述子线程,上述向所述子线程分配一组所述任务参数,以使所述子线程根据该组任务参数,通过所述高精度星历轨道仿真软件进行处理,得到该组任务参数对应的处理结果,包括:

12、判断所述子线程对应的输入参数储存空间是否空闲;

13、若所述子线程对应的输入参数储存空间空闲,向所述子线程对应的输入参数储存空间分配一组所述任务参数,以使所述子线程根据该组任务参数,通过所述高精度星历轨道仿真软件进行处理,得到该组任务参数对应的处理结果,并将该处理结果存储至所述子线程对应的输出结果储存空间。

14、采用上述进一步方案的有益效果是,基于每个子线程对应的输入参数储存空间和输出结果储存空间的设置,可进一步提升每个子线程的处理效率,实现各个子线程与主程序之间的实时信息交互。

15、进一步,对于每个所述子线程,该方法还包括:

16、在所述子线程处理对应的一组任务参数时,生成处理过程信息;

17、判断所述子线程对应的过程信息储存空间是否空闲;

18、若所述子线程对应的过程信息储存空间空闲,将所述处理过程信息存储至所述子线程对应的过程信息储存空间;

19、若所述子线程对应的过程信息储存空间不为空,则清空所述子线程对应的过程信息储存空间,并将所述处理过程信息存储至清空后的所述子线程对应的过程信息储存空间。

20、采用上述进一步方案的有益效果是,基于每个子线程对应的过程信息储存空间的设置,可在每个子线程处理过程中,避免处理过程信息的干扰。

21、进一步,对于每个所述子线程,所述向所述子线程分配一组所述任务参数,以使所述子线程根据该组任务参数,通过所述高精度星历轨道仿真软件进行处理,得到该组任务参数对应的处理结果,包括:

22、开启所述子线程,生成第一等待状态标识,所述第一等待状态标识表征所述子线程处于允许接收数据的状态;

23、向所述子线程分配一组所述任务参数,生成第二等待状态标识,所述第二等待状态标识表征所述子线程处于已接收到一组任务数据,并在处理该组任务数据中的状态;

24、在所有任务参数已被分配完成后,生成第三等待状态标识,并将所述子线程切换至所述第一等待状态标识对应的状态,以及将所述子线程对应的处理结果存储至所述子线程对应的输出结果储存空间,所述第三等待状态标识表征所有任务参数已被分配完成。

25、采用上述进一步方案的有益效果是,在每个子线程工作过程中,可通过不同的等待状态标识表征子线程所处的状态,及时掌握与控制各个子线程的工作情况。

26、进一步,该方法还包括:

27、根据各个所述子线程对应的处理结果和各个所述子线程对应的线程标识,采用键-值的形式存储各个所述子线程对应的处理结果。

28、采用上述进一步方案的有益效果是,通过键-值的形式存储各个所述子线程对应的处理结果,可便于对各个所述子线程对应的处理结果进行管理。

29、进一步,在所述获取待处理航天任务对应的多组任务参数之前,该方法还包括:

30、对于每个所述子线程,向所述子线程发送一组任务参数,以使所述子线程处理该组任务参数,得到该组任务参数对应的处理结果,根据所述处理结果对所述子线程对应的处理程序进行调试。

31、采用上述进一步方案的有益效果是,先基于子线程处理一组任务参数,可基于处理结果对子线程对应的处理程序进行调试,相对于将子线程计算封装起来的并行方式,能够提供更为透明的调试方式,也更为灵活。

32、第二方面,本发明为了解决上述技术问题还提供了一种高精度星历轨道并行处理装置,该装置包括:

33、任务参数获取模块,用于获取待处理航天任务对应的多组任务参数,所述待处理航天任务为与星历轨道相关的任务;

34、子线程确定模块,用于确定处理所述待处理航天任务对应的多个子线程,每个子线程对应运行一个高精度星历轨道仿真软件,所述高精度星历轨道仿真软件用于对一组任务参数进行处理,得到该组任务参数对应的处理结果;

35、并行处理模块,用于根据多组所述任务参数,通过多个所述子线程采用并行处理的方式确定每组所述任务参数对应的处理结果。

36、第三方面,本发明为了解决上述技术问题还提供了一种电子设备,该电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该计算机程序时实现本技术的高精度星历轨道并行处理方法。

37、第四方面,本发明为了解决上述技术问题还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现本技术的高精度星历轨道并行处理方法。

38、本技术附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本技术的实践了解到。

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