一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

卫星测运控系统、方法及电子设备与流程

2023-08-03 18:06:55 来源:中国专利 TAG:


1.本发明涉及信息传输与处理技术领域,尤其涉及一种卫星测运控系统、方法及电子设备。


背景技术:

2.卫星的测运控对稳定性、可靠性、负载均衡的要求越来越高。为了降低成本,商业卫星公司最终都会采用分布式的技术。分布式的系统能够使用普通服务器完成商业卫星公司的测运控任务。
3.但是,分布式的系统意味着更多的计算机节点、更多的网络,会出现很多在单机上不存在的问题。目前的卫星测运控系统可能存在的问题有:执行状态没有被同步到所有的计算机,导致操作员误判形势,做出错误决策。因此,目前的卫星测运控系统的可靠性较低。


技术实现要素:

4.本发明提供了一种卫星测运控系统、方法及电子设备,以解决目前的卫星测运控系统的可靠性较低的技术问题。
5.根据本发明的一方面,提供了一种卫星测运控系统,包括:遥测遥控处理集群及与所述遥测遥控处理集群通信连接的测站通信集群;其中,所述遥测遥控处理集群中包括根据预配置的raft算法,确定出的领导者节点以及多个跟随者节点;
6.所述领导者节点将目标卫星的执行计划发送至目标跟随者节点;其中,所述多个跟随者节点包括所述目标跟随者节点;
7.所述目标跟随者节点根据所述执行计划,控制所述测站通信集群中的目标通信节点与所述目标卫星通信,并接收所述目标卫星通过所述目标通信节点传输的遥测数据;
8.所述目标跟随者节点在根据所述遥测数据确定与所述执行计划映射的预设条件满足时,向所述领导者节点发送第一状态请求;
9.所述领导者节点根据所述第一状态请求,将与所述执行计划对应的遥控指令的状态设置为第一状态。
10.根据本发明的另一方面,提供了一种卫星测运控方法,所述方法应用于目标跟随者节点中,所述目标跟随者节点为上述所述的卫星测运控系统中的目标跟随者节点,所述方法包括:
11.所述目标跟随者节点接收领导者节点发送的目标卫星的执行计划;
12.所述目标跟随者节点根据所述执行计划,控制测站通信集群中的目标通信节点与所述目标卫星通信,并接收所述目标卫星通过所述目标通信节点传输的遥测数据;
13.所述目标跟随者节点在根据所述遥测数据确定与所述执行计划映射的预设条件满足时,向所述领导者节点发送第一状态请求。
14.根据本发明的又一方面,提供了一种卫星测运控方法,所述方法应用于领导者节点中,所述领导者节点为上述所述的卫星测运控系统中的领导者节点,所述方法包括:
15.所述领导者节点将目标卫星的执行计划发送至目标跟随者节点;
16.所述领导者节点接收所述目标跟随者节点发送的第一状态请求;
17.所述领导者节点根据所述第一状态请求,将与所述执行计划对应的遥控指令的状态设置为第一状态。
18.根据本发明的再一方面,提供了一种电子设备,所述电子设备包括:
19.至少一个处理器;以及
20.与所述至少一个处理器通信连接的存储器;其中,
21.所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的卫星测运控方法。
22.根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的卫星测运控方法。
23.本发明实施例的技术方案,通过在遥测遥控处理集群中配置raft算法,由且仅由遥测遥控处理集群中的领导者节点负责与执行计划对应的遥控指令的状态更新,避免了分布式系统中执行状态没有被同步到所有计算机的问题,提高了卫星测运控系统的可靠性,大大提升了测运控的支撑能力。
24.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
25.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
26.图1为本发明实施例一提供的卫星测运控系统的结构示意图;
27.图2为本发明实施例二提供的卫星测运控系统的结构示意图;
28.图3为本发明实施例中计划生成与调度模块与遥测遥控处理集群的连接过程的流程示意图;
29.图4为本发明实施例三提供的卫星测运控系统的结构示意图;
30.图5为本发明实施例中管理员控制台集群与遥测遥控处理集群的连接过程的流程示意图;
31.图6为本发明实施例提供的卫星测运控系统中遥测遥控处理集群的另一种结构示意图;
32.图7为图6所示实施例中卫星测运控系统的一种可能的工作流程图;
33.图8为本发明实施例提供的一种卫星测运控方法的流程示意图;
34.图9为本发明实施例提供的另一种卫星测运控方法的流程示意图;
35.图10为本发明实施例提供的一种卫星测运控装置的结构示意图;
36.图11为本发明实施例提供的另一种卫星测运控装置的结构示意图;
37.图12为实现本发明实施例的卫星测运控方法的电子设备的结构示意图。
具体实施方式
38.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
39.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“目标”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”以及它的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
40.图1为本发明实施例一提供的卫星测运控系统的结构示意图,本实施例可适用于对卫星进行测运控的场景中。如图1所示,该系统包括:遥测遥控处理集群101及与遥测遥控处理集群101通信连接的测站通信集群102。
41.遥测遥控处理集群101中包括根据预配置的raft算法,确定出的领导者节点1011以及多个跟随者节点1012。
42.领导者节点1011将目标卫星的执行计划发送至目标跟随者节点10121。其中,多个跟随者节点1012包括目标跟随者节点10121。
43.目标跟随者节点10121根据执行计划,控制测站通信集群102中的目标通信节点1021与目标卫星103通信,并接收目标卫星103通过目标通信节点1021传输的遥测数据。
44.目标跟随者节点10121在根据遥测数据确定与执行计划映射的预设条件满足时,向领导者节点1011发送第一状态请求。
45.领导者节点1011根据第一状态请求,将与执行计划对应的遥控指令的状态设置为第一状态。
46.本实施例中的卫星测运控系统中的遥测遥控处理集群101负责卫星的执行计划的执行,可以实现遥测解析。进一步地,还可以通过测站通信集群102发送针对卫星的遥控指令,在测控弧段完成卫星的控制监视任务。基于输入参数的不同,遥测遥控处理集群101可以处理星座中任意一颗卫星的遥测遥控数据。
47.本实施例中的遥测遥控处理集群101中预置有raft算法,或者称为raft协议。其是由斯坦福大学在ramcloud项目中提出的易实现、易理解的分布式一致性复制协议。基本原理是:在集群中引入主节点,通过竞选确定主节点,也称为领导者节点。节点类型包括:follower(跟随者节点)和leader(领导者节点)。可选地,还可以包括candidate(候选者节点)。领导者节点会周期性地发送心跳包给跟随者节点。每个跟随者节点都设置了一个随机的竞选超时时间,一般为150ms(毫秒)至300ms,如果在这个时间内没有收到领导者节点的心跳包,就会变成候选者节点,进入竞选阶段,通过竞选阶段的投票多的节点成为领导者节
点。本实施例中的遥测遥控处理集群101中通过raft协议可以选举出领导者节点1011以及跟随者节点1012。可以理解的是,遥测遥控处理集群101中的各节点之间互相连接。
48.本实施例中,测站通信集群102中包括多个通信节点。可以理解的是,各个通信节点之间互相连接。测站通信集群102负责与测站(也称为地面站)进行通信。测站通信集群102中的多个通信节点负责与不同的地面站的多套设备进行通信,包括接收卫星反馈的遥测数据以及发送针对卫星的遥控指令,还可以接收地面站及其设备本身的状态信息等数据。可以理解的是,本案中的卫星测运控系统中也可以包括至少两个测站通信集群102。
49.为了解决现有技术中的问题,即,分布式的系统中分布一致性问题,提高卫星测运控系统的可靠性,本实施例中,遥测遥控处理集群101作为一个raft集群部署。由多个节点处理计算繁重的遥测遥控任务,由领导者节点1011处理执行计划对应的遥控指令的状态更新。所有的节点都能进行某一颗卫星的遥测解析判读和遥控指令处理,但是,只有领导者节点能够完成遥控指令的状态更新。本实施例中的遥控指令处理可以包括遥控指令的生成或者遥控指令的发送。本实施例中的状态更新可以包括遥控指令可发出、遥控指令已发出、遥控指令发出反馈(成功或者失败)等。
50.本实施例中的目标卫星的执行计划可以是领导者节点1011从计划生成与调度模块中获取到的,也可以是预置在遥测遥控处理集群101中,还可以是领导者节点1011生成的。本实施例并不以此为限。本实施例中的“目标卫星”指的是根据执行计划将对其进行遥测遥控的卫星。本实施例中的执行计划指的是对卫星进行遥控遥测的计划,例如,对卫星进行开机或关机的执行计划等。
51.一种可能的实现方式中,领导者节点1011可以根据遥测遥控处理集群101中各个节点的负载情况,从多个跟随者节点1012中指定一个节点作为目标跟随者节点10121。当然,领导者节点1011也可以根据其他方式从多个跟随者节点1012中指定目标跟随者节点10121,例如,随机指定、轮流指定等方式。本实施例并不以此为限。
52.在确定出目标跟随者节点10121后,领导者节点可以将目标卫星的执行计划发送至该目标跟随者节点10121。目标跟随者节点10121在接收到执行计划后,可以根据执行计划,通过测站通信集群102中的目标通信节点1021与目标卫星103通信,并接收目标卫星103通过目标通信节点1021传输的遥测数据。目标通信节点1021可以是地面站与目标卫星约定的节点,还可以是目标跟随者节点10121在多个通信节点中指定的。目标跟随者节点10121可以根据执行计划的具体内容,要求目标卫星反馈遥测数据。
53.目标跟随者节点10121可以根据目标卫星反馈的遥测数据,监测与执行计划映射的预设条件是否满足。在预设条件满足时,向领导者节点1011发送第一状态请求,以使领导者节点1011将与执行计划对应的遥控指令的状态设置为第一状态。
54.以下以一个具体的例子说明上述过程。假如要控制卫星a进行开机,则执行计划为卫星开机。在该场景中,与执行计划映射的预设条件可以为电量满足一定条件,与执行计划对应的遥控指令为开机指令。遥控指令的第一状态可以为就绪状态。目标跟随者节点可以根据执行计划,控制目标通信节点与卫星a通信,要求卫星a反馈电量数据,并接收卫星a通过目标通信节点传输的遥测数据,即,电量数据。可以理解,遥测数据可以是以一定的时间间隔持续回传至目标跟随者节点。目标跟随者节点根据遥测数据监测卫星a的电量是否满足一定条件。在确定卫星a的电量满足一定条件时,向领导者节点发送第一状态请求。领导
者节点根据第一状态请求,将开机指令的状态设置为就绪状态,表示该开机指令已经可以被发出。
55.可以理解的是,与执行计划对应的遥控指令在第一状态之前的状态可以是系统默认设置的,也可以是目标跟随者节点向领导者节点反馈的。在后一种实现方式中,本实施例提供的卫星测运控系统中,目标跟随者节点10121在接收到领导者节点1011发送的执行计划时,若确定预设条件不满足,则向领导者节点发送第三状态请求,领导者节点根据第三状态请求将遥控指令的状态设置为第三状态。可以理解,在时序上,本实施例中的第三状态为第一状态的前置状态。
56.分布式系统缺乏全局时钟性:各个计算机之间是依赖于交互信息来进行相互通信,很难定义两件事情的先后顺序,缺乏全局始终控制序列。缺乏顺序控制对遥控指令的发送来说是绝对不可接受的。而本实施例中的遥测遥控处理集群101由于采用raft协议确保关键状态一致,因此所有关键状态更新操作要通过领导者节点进行,跟随者节点收到的所有更新要转发给领导者节点。遥测遥控处理集群的节点中的遥测遥控计算操作工作量远大于状态更新操作的工作量,所以只由领导者节点更新是合理的,满足整个星座的负载要求。
57.进一步地,本实施例中的测站通信集群可以采用主备部署的方式,以进一步提高卫星测运控系统的可靠性。主节点负责与某一套设备通信,当发生错误后,由备节点接管。
58.遥测遥控处理集群中可以配置raft算法配置的成员变更方法。可以在运行过程中更改遥测遥控处理集群中的成员。这样,能够在不间断的情况下,动态改变卫星测运控系统的部署拓扑,提高了卫星测运控系统的可扩展性。
59.本实施例提供了一种分布式部署测运控系统时的一种可行解决方案,本发明的分布式部署方案,允许商业卫星公司采用比较低廉的商用计算机实现高可靠,高吞吐的测运控系统指标。
60.本实施例提供的卫星测运控系统,通过在遥测遥控处理集群中配置raft算法,由且仅由遥测遥控处理集群中的领导者节点负责与执行计划对应的遥控指令的状态更新,避免了分布式系统中执行状态没有被同步到所有计算机的问题,提高了卫星测运控系统的可靠性,大大提升了测运控的支撑能力。
61.图2为本发明实施例二提供的卫星测运控系统的结构示意图。本实施例提供的卫星测运控系统在图1所示实施例的基础上,对该系统包括的其他模块作一详细说明。如图2所示,本实施例提供的卫星测运控系统还包括:计划生成与调度模块104。其中,计划生成与调度模块104与遥测遥控处理集群101中的领导者节点1011通信连接。
62.计划生成与调度模块104用于将目标卫星的执行计划发送至领导者节点1011。
63.本实施例中,计划生成与调度模块104负责根据星座系统控制要求、轨道计算结果生成一系列测控弧段的执行计划。可选地,计划生成与调度模块104还负责在任务弧段开始时启动遥测遥控处理集群101。
64.由于计划生成与调度模块104直接连接到了遥测遥控处理集群101中的领导者,因此它可以直接向整个遥测遥控处理集群101发出更新请求。这里的更新请求是:启动、停止某一个卫星的计划执行。
65.为了确保计划生成与调度模块104连接到遥测遥控处理集群101中的领导者节点,计划生成与调度模块104通过循环方式遍历连接遥测遥控处理集群101中的节点,只有当连
接到的遥测遥控处理集群101中节点的isleader(是领导者节点吗)api(application programming interface,应用程序编程接口)返回true才停止。一种可能的实现方式如图3所示。
66.图3为本发明实施例中计划生成与调度模块与遥测遥控处理集群的连接过程的流程示意图。如图3所示,计划生成与调度模块与遥测遥控处理集群的连接过程包括如下步骤:
67.步骤301:获取遥测遥控处理集群地址。
68.步骤302:取出下一个遥测遥控处理集群中的节点。
69.步骤303:判断是否超出遥测遥控处理集群中的竞选超时时间。
70.步骤304:如果未超出竞选超时时间,连接该节点。
71.步骤305:如果超出竞选超时时间,报错退出。
72.步骤306:判断连接是否超时。
73.步骤307:如果连接未超时,调用该节点的isleader api。
74.步骤308:判断isleader api是否返回true。
75.步骤309:返回true,成功退出。
76.如果连接超时或者未返回true,返回执行步骤302。
77.本实施例提供的卫星测运控系统,通过设置计划生成与调度模块,用于将所述目标卫星的执行计划发送至所述领导者节点,实现了卫星的执行计划生成与执行计划执行由不同的模块或集群负责,减轻了遥测遥控处理集群的负荷,使其可以专注负责计划执行以及状态更新,进一步提高卫星测运控系统的可靠性。
78.图4为本发明实施例三提供的卫星测运控系统的结构示意图。本实施例提供的卫星测运控系统在图1或者图2所示系统的基础上,对卫星测运控系统包括的其他模块作一详细说明。为了便于理解,以下先介绍本实施例中的卫星测运控系统中遥测遥控处理集群的一种结构。
79.图6为本发明实施例提供的卫星测运控系统中遥测遥控处理集群的另一种结构示意图。如图6所示,本实施例中,遥测遥控处理集群601中节点的数量为奇数。图6中以节点数量为11个作为示例。遥测遥控处理集群601中包括至少两个节点组。其中,包括的节点数量最多的节点组为工作组,领导者节点为工作组中的节点。可以理解的是,工作组中包括领导者节点和跟随者节点。非工作组中的节点为候选者节点。
80.本实施例中的工作组指的是处于正常工作状态中的节点组。本实施例中,之所以能够实现节点数量最多的节点组为工作组,且领导者节点为工作组中的节点,是由raft算法的特性以及遥测遥控处理集群中节点的数量为奇数共同决定的。本实施例中,为了保证选取领导者节点的正确进行,遥测遥控处理集群始终保证为奇数个节点部署。
81.遥测遥控处理集群可能由于链路中断,导致发生“脑裂”,由于遥测遥控处理集群中节点数目是奇数,因此必然存在一个占据多数节点的组。由于raft协议要求只有超过半数节点的投票才能当选leader。因此,只有多数派中的leader选举才可能成功,从而产生有效的leader。而另一个少数派中的leader选举是不可能成功的。以图6为例,工作组中节点的数量为7个,非工作组中节点的数量为4个。根据raft协议,只有超过11/2的一半,即大于等于6个节点的投票才能当选领导者节点。因此,在遥测遥控处理集群选举中,必然只有工
作组中才能产生有效的领导者节点,而非工作组中领导者节点的选举是不可能成功的。
82.如图4所示,本实施例提供的卫星测运控系统还包括:管理员控制台集群105。其中,管理员控制台集群105与遥测遥控处理集群101的工作组中的节点通信连接。
83.本实施例中的管理员控制台集群负责启动该集群中的节点,也可以称为webserver,它在后台与其他模块通信,监控执行状态并将操作员的控制命令输入到相应模块执行。可选地,管理员控制台集群105中的节点可以在浏览器中显示用户界面。
84.为了确保管理员控制台集群105与遥测遥控处理集群101的工作组中的节点通信连接,管理员控制台集群105中的节点通过循环方式遍历连接遥测遥控处理集群101中的节点,只有当连接到的遥测遥控处理集群101中节点的getleader(有领导者节点吗)api返回true才停止。一种可能的实现方式如图5所示。
85.图5为本发明实施例中管理员控制台集群与遥测遥控处理集群的连接过程的流程示意图。该方法由管理员控制台集群中的节点执行。可选地,该管理员控制台集群中的每个节点均需要执行该方法。如图5所示,管理员控制台集群与遥测遥控处理集群的连接过程包括如下步骤:
86.步骤501:获取遥测遥控处理集群地址。
87.步骤502:取出下一个遥测遥控处理集群中的节点。
88.步骤503:判断是否超出遥测遥控处理集群中的竞选超时时间。
89.步骤504:如果未超出竞选超时时间,连接该节点。
90.步骤505:如果超出竞选超时时间,报错退出。
91.步骤506:判断连接是否超时。
92.步骤507:如果连接未超时,调用该节点的getleader api。
93.步骤508:判断getleader api是否返回true。
94.步骤509:返回true,成功退出。
95.如果连接超时或者未返回true,返回执行步骤502。
96.管理员控制台集群105中的节点循环连接遥测遥控处理集群101中的节点。如果getleader失败,说明节点失效;如果getleader返回空,说明连接的是少数派中的节点;如果getleader成功,说明管理员控制台集群105中的节点已经连接上多数派,即已经连接上工作组中的节点了。
97.由于遥测遥控处理集群101中节点间状态是同步的,所以管理员控制台集群105中的节点连接到任一个处于工作组中的遥测遥控处理集群101中节点即可。
98.遥测遥控处理集群101中的节点计算机发生宕机,或者节点之间发生网络故障,只要受影响的节点不过半数,遥测遥控处理集群101会自动在多数派中选出新的领导者节点,从而成为工作组。而管理员控制台集群105中的其他节点则也会相应地将连接切换到工作组中,从而使得工作不被中断。
99.同时,在遥测遥控处理集群101内部的任一节点,如果它的raft角色是领导者节点,它除了进行遥测遥控外,还能发出状态更新操作。如果它的raft角色是跟随者节点follower,则它可以处理遥测,可以生成指令等,但是它的任何更新动作需要转发到它的领导者节点leader。如果它的raft角色是候选者candidate,则它不能进行任何处理。注意,由于状态更新的频次比较低,因此raft的吞吐量是能够满足整个星座的测控需求的。而计算
量较大的操作,则被所有leader follower分担,减轻了单个节点的处理压力。
100.在本实施例中,对基于管理员控制台集群接收到的操作员的指令,而导致的遥控指令的状态更新过程进行详细说明。
101.在本实施例中,管理员控制台集群105用于通过连接的工作组中的节点,从领导者节点1011中获取遥控指令的状态,根据该状态接收针对遥控指令的控制指令,并将控制指令发送至领导者节点1011。可选地,管理员控制台集群105在获取到遥控指令的状态时,可以将该状态在用户界面上进行显示。操作员可以在用户界面上根据该状态输入针对遥控指令的控制指令。或者,针对遥控指令的控制指令是根据预设逻辑自动生成的。该控制指令最终可以被发送至领导者节点1011中。一种可能的发送方式为管理员控制台集群105通过连接的工作组中的节点,将该控制指令转发给领导者节点1011。
102.领导者节点1011将该控制指令发送至目标跟随者节点10121。可选地,领导者节点在接收到控制指令后,可以更新一次遥控指令的状态,称为第四状态,也可以不更新,可以根据实际业务需求进行设定。第四状态可以表示该遥控指令已发送。
103.目标跟随者节点10121根据控制指令,通过目标通信节点1021发送遥控指令,并接收目标通信节点1021反馈的遥控指令的第二状态。该控制指令用于指示发送该遥控指令。目标跟随者节点10121在接收到该控制指令后,执行发送操作。目标通信节点1021在发送该遥控指令后,可以向目标跟随者节点10121反馈遥控指令的第二状态。可以理解的是,第二状态表示该遥控指令的发送状态。发送状态可以为发送成功、发送失败、发送超时等。在发送失败和发送超时的场景中,可以是由目标通信节点1021本身的故障引起发送失败或者发送超时,也可以是由目标卫星103的故障引起的发送失败或者发送超时。可选地,目标通信节点1021可以通过地面测控站与卫星进行通信。
104.目标跟随者节点10121根据第二状态,向领导者节点1011发送第二状态请求。
105.领导者节点1011根据第二状态请求将遥控指令的状态更新为第二状态,并将第二状态同步至管理员控制台集群105中。领导者节点1011在将遥控指令的状态更新为第二状态后,还可以将第二状态同步至管理员控制台集群105中,以便于操作员快速了解该遥控指令的发送情况。一种可能的同步方式为,领导者节点1011将遥控指令的第二状态发送至与管理员控制台集群105连接的工作组的节点中,由各节点将遥控指令的第二状态同步至与其连接的管理员控制台集群105的节点中。
106.在本实施例提供的卫星测运控系统中设置管理员控制台集群的好处在于,将用户界面(user interface,简称:ui)功能独立起来,管理员控制台的一些问题,不会导致后台任务的停止,进一步提高了卫星测运控系统的可靠性。
107.为了进一步提高可靠性,管理员控制台集群可以使用多活方式部署,每一个节点可以替代其他节点的工作。
108.可选地,管理员控制台集群中的各节点采用共享会话(session)的方式,以使管理员控制台集群中各节点中的任务连续。在形成成规模的卫星星座后,很可能存在许多时刻,多颗卫星需要同时测控,多个webserver能够保证多位管理员(值班员)同时使用管理员控制台集群。管理员控制台集群只需要管理与用户会话相关的状态保持,采用session共享就能很好的实现,而不用担心测控操作的漏发、多发、误发的问题。举例来说,假设用户a在通过用户界面对遥控指令进行操作时,操作到中途时,管理员控制台集群中与该用户a对应的
节点出现故障。基于共享会话的方式,会话会将用户a已操作的数据进行保存,其他用户可以看到该用户a的操作数据,从而,避免了测控操作的漏发、多发、误发的问题。
109.目前的分布式系统存在的问题包括通信异常—网络本身的不可靠性,因此每次网络通信都会伴随着网络不可用的风险(光纤、路由、dns(domain name system,域名系统)等硬件设备或系统的不可用),都会导致最终分布式系统无法顺利进行一次网络通信,另外,即使分布式系统各节点之间的网络通信能够正常运行,其延时也会大于单机操作,存在巨大的延时差别,也会影响消息的收发过程,因此消息丢失和消息延迟变的非常普遍;
110.为了解决这些问题,必须采用某种分布式共识协议,在一个可能发生上述异常的分布式系统中,快速且正确地在集群内部对某个数据的值达成一致,并且保证不论发生以上任何异常,都不会破坏整个系统的一致性。这里某个数据的值并不只是狭义上的某个数,它在测运控系统中代表中一个关键的控制状态。本实施例提供的卫星测运控系统可以解决商业卫星星座中繁重的遥测遥控任务,通过分布式部署测运控的各个模块。采用raft协议保证指令发送的正确性和时序性,实现一个兼具可靠性和扩展性的系统,大大提升了测运控的支撑能力。
111.以下以一个具体的例子说明本实施例提供的卫星测运控系统的工作过程。假设某一颗卫星s的测控弧段a中,要进行遥测判读,当满足条件c时,提示用户发出指令i。图7为图6所示实施例中卫星测运控系统的一种可能的工作流程图。如图7所示,该工作过程包括如下步骤:
112.步骤701:遥测遥控处理集群启动。
113.步骤702:遥测遥控处理集群中的领导者选举。
114.遥测遥控处理集群内置raft协议,使其自动进入领导者选举阶段。选出领导者节点后,进入日志同步阶段,开始工作。
115.步骤703:计划生成与调度模块启动卫星s的测控。
116.计划生成与调度模块在测控弧段a的开始,向遥测遥控处理集群中的leader节点发出启动卫星s测控的执行请求,该执行请求中包括卫星s的执行计划,也可称为测控计划。
117.步骤704:领导者节点指定某个跟随者节点n执行卫星s的测控计划。
118.遥测遥控处理集群中的leader节点根据本集群的负载情况,指定一个节点n(此时,他的角色为follower)启动卫星s在弧段a中的测控计划执行。其他节点只是同步指令状态。可以理解,节点n相当于前述的目标跟随者节点。
119.步骤705:节点n启动测站通信集群中的一个相应节点开启测控通道。
120.该相应节点是根据测站和卫星的约定确定的。
121.此时,所有连接上遥测遥控处理集群工作组的管理员控制台集群中的节点都会显示指令i状态为“准备”。该状态可以是默认设置的,也可以是节点n向领导者节点发送的,而后由领导者节点向管理员控制台集群中的节点同步的。
122.步骤706:测站通信集群中的相应节点代理卫星s的测控通道。
123.步骤707:节点n持续接收卫星s的遥测数。
124.步骤708:节点n判断条件c是否满足。
125.步骤709:节点n在测控弧段的某一个时刻,根据遥测数据和测站状态,得出条件c已经满足,通过领导者节点更新指令i状态为“就绪”。
126.节点n向遥测遥控处理集群中的leader节点发出更新请求,要求指令i状态由“准备”变更为“就绪”。raft协议会自动将此请求应用到整个遥测遥控处理集群中的工作组中。可以理解,“就绪”即为前述的第一状态。
127.此时,所有连接上遥测遥控处理集群工作组的管理员控制台集群中的节点都会将指令i状态由“准备”变更为“就绪”。
128.步骤710:如果管理员控制台集群中的一个节点的管理员点击发送指令i,则管理员控制台集群中的节点将发送指令的命令转发到这个节点连接上的遥测遥控处理集群中的节点上。再由该节点转发到的遥测遥控处理集群中的leader节点。可选地,遥测遥控处理集群的leader节点应用状态,将指令i状态更新为“发送”。领导者节点将该发送指令的命令发送至节点n。
129.步骤711:节点n发出指令i。
130.节点n将指令真正经由测站通信模块的相应节点发出。遥测遥控处理集群中的其他节点则只是改变状态。
131.步骤712:节点n通过领导者节点更新指令i状态为“发送结果”。
132.测站通信模块执行发送指令操作,可能有多种可能:成功、失败、超时等。节点n通过遥测遥控处理集群中的当前leader节点在整个遥测遥控处理集群的工作组应用状态。可以理解,这里的“发送结果”相当于前述的第二状态。
133.此时,所有连接上遥测遥控处理集群工作组的管理员控制台集群中的节点都会将指令i状态由“发送”变更为“成功”、“失败”,“超时”等。
134.上面的描述中,指令的发送状态可以为“准备”、“就绪”、“发出”,“成功”、“失败”,“超时”等。
135.步骤713:根据预设的策略,节点n进行后续操作。
136.当指令处于执行计划中时,初始是“准备”。如果指令的发出前置条件已经得到满足则为“就绪”,如某一个遥测量满足要求,上一个前导指令已经成功完成等等。只有在“就绪”时才允许发送指令。
137.如果用户通过管理员控制台集群中的节点显示的用户界面点击发送按钮,或者按照预设逻辑指令自动发送出。则为“发出”状态。如果指令已经经历“发出”阶段,后面的发出动作将返回错误,而不是被重复执行。这在单个管理员控制台时比较容易实现,但如果要在多个管理员控制台节点、再连接到遥测遥控处理集群中的多个节点时,要可靠地控制指令被严格发出一次就很麻烦。由于状态的不同步,很可能一条指令由不同的控制路径被过多(重发)或者过少(漏发)地发出。而将发出动作指定到一台固定计算机上,又会导致这台计算机成为整个分布式系统的单一故障点,它的失效将会导致整个指令的执行故障。这种故障需要人为指定另一台计算机进行修复,背离了自动恢复的期望目标。
138.同样的,指令执行之后的结果是“成功”、“失败”、“超时”等。他们将触发不同的后续处理逻辑。这些状态也必须严格在各个节点中保证顺序性,才能让界面逻辑不至于发生混乱。
139.本实施例中,奇数个节点组成遥测遥控处理集群。当每个节点发现它无法选出主节点,它意识到处于一个少数派中,就会自动断开所有与管理员控制台集群中的节点或者测站通信集群中的节点的链接。相当于可以识别出宕机的计算机,不会影响后续业务。多数
派的遥测遥控处理集群中的节点能够选出主节点,则所有节点处于工作状态,也就是工作组。多数派与少数派的产生是由于两派之间的通讯中断引起的,如果允许两派都工作,将会争抢系统资源,发出错误信号,造成系统混乱、数据损坏,这是分布式系统中的“脑裂”现象。遥测遥控处理集群中的节点执行遥控遥测任务,特别是遥控发令时,是提供一种“有状态”的服务,必须要严格防止“脑裂”。本发明实施例的设计自动将少数派隔离开来,避免了此种状态异常,提高了卫星测运控系统的可靠性。
140.当遥测遥控处理集群中少数派中节点由于通讯恢复,重新加入工作组时,leader节点将自动在下一次弧段任务分派时将新加入节点放入执行中。
141.当少于一半的遥测遥控处理集群中的节点宕机时,不会影响任务的执行。只有当超过一半的节点网络异常或者宕机,整个遥测遥控处理集群才会失去功能。这样大大提高了遥测遥控处理集群的可靠性和可用性。
142.可选地,遥测遥控处理集群中可以配置raft算法配置的成员变更方法。可以在运行过程中更改遥测遥控处理集群中的成员。这个更改过程也要同时更改管理员控制台集群中的连接配置信息。
143.本实施例提供的卫星测运控系统,一方面,设置管理员控制台集群,将用户界面功能独立起来,管理员控制台的一些问题,不会导致后台任务的停止,进一步提高了卫星测运控系统的可靠性,另一方面,遥测遥控处理集群始终保证为奇数个节点部署,保证选取领导者节点的正确进行,提高了卫星测运控系统的可靠性。
144.图8为本发明实施例提供的一种卫星测运控方法的流程示意图。本实施例应用于目标跟随者节点中。本实施例中的目标跟随者节点为图1至图7任一实施例的卫星测运控系统中的目标跟随者节点。如图8所示,该卫星测运控方法包括如下步骤:
145.步骤801:目标跟随者节点接收领导者节点发送的目标卫星的执行计划。
146.步骤802:目标跟随者节点根据执行计划,控制测站通信集群中的目标通信节点与目标卫星通信,并接收目标卫星通过目标通信节点传输的遥测数据。
147.步骤803:目标跟随者节点在根据遥测数据确定与执行计划映射的预设条件满足时,向领导者节点发送第一状态请求。
148.可选地,该卫星测运控方法还包括如下步骤:目标跟随者节点根据管理员控制台集群发送的针对遥控指令的控制指令,通过目标通信节点发送遥控指令,并接收目标通信节点反馈的遥控指令的第二状态;目标跟随者节点根据第二状态,向领导者节点发送第二状态请求。
149.图9为本发明实施例提供的另一种卫星测运控方法的流程示意图。本实施例应用于领导者节点中。本实施例中的领导者节点为图1至图7任一实施例的卫星测运控系统中的领导者节点。如图9所示,该卫星测运控方法包括如下步骤:
150.步骤901:领导者节点将目标卫星的执行计划发送至目标跟随者节点。
151.步骤902:领导者节点接收目标跟随者节点发送的第一状态请求。
152.步骤903:领导者节点根据第一状态请求,将与执行计划对应的遥控指令的状态设置为第一状态。
153.可选地,该卫星测运控方法还包括如下步骤:领导者节点接收控制指令;领导者节点将控制指令发送至目标跟随者节点;领导者节点接收目标跟随者节点发送的第二状态请
求;领导者节点根据第二状态请求将遥控指令的状态更新为第二状态,并将第二状态同步至管理员控制台集群中。
154.图8及图9所示实施例所提供的卫星测运控方法可执行本发明任意实施例所提供的卫星测运控系统中领导者节点或者目标跟随者节点所执行的操作,具备相应的功能模块和有益效果。
155.图10为本发明实施例提供的一种卫星测运控装置的结构示意图。本实施例提供的卫星测运控装置设置于目标跟随者节点中。如图10所示,该卫星测运控装置包括如下模块:第一接收模块111、控制模块112、第二接收模块113以及第一发送模块114。
156.第一接收模块111,用于接收领导者节点发送的目标卫星的执行计划。
157.控制模块112,用于根据执行计划,控制测站通信集群中的目标通信节点与目标卫星通信。
158.第二接收模块113接收目标卫星通过目标通信节点传输的遥测数据。
159.第一发送模块114,用于在根据遥测数据确定与执行计划映射的预设条件满足时,向领导者节点发送第一状态请求。
160.可选地,该装置还包括:第二发送模块,用于根据管理员控制台集群发送的针对遥控指令的控制指令,通过目标通信节点发送遥控指令;第二接收模块113还用于接收目标通信节点反馈的遥控指令的第二状态;第一发送模块114,还用于根据第二状态,向领导者节点发送第二状态请求。
161.本发明实施例所提供的卫星测运控装置可执行本发明任意实施例所提供的卫星测运控方法,具备执行方法相应的功能模块和有益效果。
162.图11为本发明实施例提供的另一种卫星测运控装置的结构示意图。本实施例提供的卫星测运控装置设置于领导者节点中。如图11所示,该卫星测运控装置包括如下模块:第三发送模块115、第三接收模块116以及设置模块117。
163.第三发送模块115,用于将目标卫星的执行计划发送至目标跟随者节点。
164.第三接收模块116,用于接收目标跟随者节点发送的第一状态请求。
165.设置模块117,用于根据第一状态请求,将与执行计划对应的遥控指令的状态设置为第一状态。
166.可选地,该装置还包括:第四接收模块,用于接收控制指令;第三发送模块115,还用于将控制指令发送至目标跟随者节点;第三接收模块116,还用于接收目标跟随者节点发送的第二状态请求;设置模块117,还用于根据第二状态请求将遥控指令的状态更新为第二状态,并将第二状态同步至管理员控制台集群中。
167.本发明实施例所提供的卫星测运控装置可执行本发明任意实施例所提供的卫星测运控方法,具备执行方法相应的功能模块和有益效果。
168.图12为实现本发明实施例的卫星测运控方法的电子设备的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
169.如图12所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(rom)12、随机访问存储器(ram)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(rom)12中的计算机程序或者从存储单元18加载到随机访问存储器(ram)13中的计算机程序,来执行各种适当的动作和处理。在ram 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、rom 12以及ram 13通过总线14彼此相连。输入/输出(i/o)接口15也连接至总线14。
170.电子设备10中的多个部件连接至i/o接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
171.处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如卫星测运控方法。
172.在一些实施例中,卫星测运控方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由rom 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到ram 13并由处理器11执行时,可以执行上文描述的卫星测运控方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行卫星测运控方法。
173.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置和该至少一个输出装置。
174.用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
175.在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气
连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备或上述内容的任何合适组合。
176.为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
177.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)或者包括中间件部件的计算系统(例如,应用服务器)或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)或者包括这种后台部件、中间件部件或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
178.计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
179.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
180.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表