航天器上行控制数据生成方法及装置与流程

文档序号:27832577发布日期:2021-12-07 22:40阅读:192来源:国知局
航天器上行控制数据生成方法及装置与流程

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.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法。
39.本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述方法的计算机程序。
40.本发明通过对数据帧结构提取、装订及组帧,大幅降低了人工维护的数据量,通过构建指令结构树信息,利用控制数据重复结构多的特点,自动化实现不同类型航天器、载荷的控制数据动态组合和结构管理,满足了用户对航天器的灵活控制需求,提高了注入数据
生成效率和可靠性。
附图说明
41.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
42.图1为本发明实施例一种航天器上行控制数据生成方法的流程图;
43.图2为本发明实施例中航天器上行控制数据组成示意图;
44.图3为本发明实施例中构建指令结构树信息的流程图;
45.图4为本发明实施例中指令结构树信息实例化的流程图;
46.图5为本发明实施例中数据块拼帧的流程图;
47.图6为本发明实施例中应用航天器上行控制数据生成方法的系统结构示意图;
48.图7为本发明实施例中识别字

数据单元映射分层描述示意图;
49.图8为本发明实施例中指令信息与识别字关联示意图;
50.图9为本发明实施例中shell1指令结构树tree1的示意图;
51.图10为本发明实施例中实例化指令结构树group1_tree1示意图;
52.图11为本发明实施例一种航天器上行控制数据生成装置的结构示意图;
53.图12为本发明实施例中指令结构树模块的结构示意图;
54.图13为本发明实施例中控制数据生成模块的结构示意图;
55.图14为本发明另一实施例中控制数据生成模块的结构示意图;
56.图15为本发明一实施例所提供的电子设备的结构示意图。
具体实施方式
57.本发明实施例提供一种航天器上行控制数据生成方法及装置。
58.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
59.如图1所示为本发明实施例一种航天器上行控制数据生成方法的流程图,本发明实施例提供的航天器上行控制数据生成方法的执行主体包括但不限于计算机。如图1所示方法包括:
60.步骤s1,对获取的外部帧结构文件进行信息提取,得到识别字映射信息,并对获取的指令信息与所述识别字映射信息进行装订,得到帧结构信息;其中,所述指令信息包括基本指令及扩展指令。
61.其中,如图2所示为航天器上行控制数据组成示意图(非真实数据),航天器上行控制数据由多层组成,多个下层数据单元组装成上层数据单元,最终组装成用于控制航天器的数据帧文件,如:数据帧a和数据帧b。各层数据单元的关系是多对多的关系,在用户进行航天器控制时,才能确定每层数据所包含的数据单元数量。因此,需要设计一种上行控制数
据生成方法,基于少量的数据结构装订参数,采用动态组合的方式实现控制数据组帧和生成,支持不同类型航天器、载荷的控制数据快速生成。综上所述,通过对每个数据单元定义关键字(识别字),将识别字动态组装用于描述不同的上行数据结构,采用相应的上行控制数据生成方法和系统,完成控制数据的组帧生成。
62.进一步的,通过读取方式获取外部帧结构文件,自动提取“识别字与数据单元映射”信息,即识别字映射信息。将识别字映射信息和获取的指令信息装订至数据库。数据库存储的信息包括:“识别字与数据单元映射”信息和指令信息。具体的,“识别字与数据单元映射”信息,识别字是数据单元的标识,用于索引数据单元对应的帧结构,同一层数据结构的识别字是唯一的。
63.进一步的,指令信息由用户根据外部航天器研制单位的控制需求,人工进行设计和装订的指令信息,指令信息的内容包括基本指令和扩展指令两类。基本指令是实现航天器基本控制功能的指令,由指令代号、基本识别字、可扩展属性组成。扩展指令是基本指令的外壳,用于对基本指令进行封装,方便批量发送至航天器指定的设备,包括指令代号、扩展识别字、最大长度。基本指令的可扩展属性用于标识可进行封装的扩展指令列表,不同的基本指令能够使用的外壳不同,可扩展属性的指令列表也不同。
64.步骤s2,利用所述帧结构信息对所述基本指令与所述扩展指令建立链接,对建立链接后的基本指令与扩展指令进行遍历展开,得到指令结构树信息。
65.其中,从数据库获取帧结构信息,将建立基本指令与扩展指令建立链接,实现扩展指令的扩展识别字和基本指令的基本识别字的动态组合关联。
66.进一步的,将帧结构信息遍历展开,构建指令结构树信息。具体的,通过遍历扩展指令及对应基本指令的识别字,得到多个识别字组合,展开不同识别字组合的帧结构字段,建立所有扩展指令的树形帧结构,得到指令结构树信息。
67.步骤s3,根据获取的控制参数,对所述指令结构树信息进行实例化,生成控制数据。
68.其中,获取用户输入的控制参数后,根据控制参数中待组帧的指令列表及相关数据,实例化对应的指令结构树信息,采用内层组帧、外层封装的分步生成方式进行数据块的拼帧,生成完整的控制数据源码,得到控制数据。
69.作为本发明的一个实施例,对获取的外部帧结构文件进行信息提取,得到识别字映射信息包括:对获取的外部帧结构文件进行帧结构分解及信息提取,得到识别字映射信息;其中,识别字映射信息用于识别字与数据单元进行映射。
70.其中,对外部帧结构文件逐层进行帧结构分解和提取,得到识别字映射信息。识别字映射信息为识别字与数据单元映射信息,识别字是数据单元的标识,用于索引数据单元对应的帧结构,同一层数据结构的识别字是唯一的。
71.作为本发明的一个实施例,如图3所示,利用所述帧结构信息对所述基本指令与所述扩展指令建立链接,对建立链接后的基本指令与扩展指令进行遍历展开,得到指令结构树信息包括:
72.步骤s21,利用所述帧结构信息对所述基本指令与所述扩展指令建立链接,以使所述基本指令的基本识别字与所述扩展指令的扩展识别字进行关联;
73.步骤s22,对所述扩展指令的扩展识别字及其对应的基本指令的基本识别字进行
遍历,得到多个识别字组合,并展开各识别字组合的帧结构字段,得到所述指令结构树信息。
74.其中,从数据库获取帧结构信息,将建立基本指令与扩展指令建立链接,实现扩展指令的扩展识别字和基本指令的基本识别字的动态组合关联。
75.进一步的,将帧结构信息遍历展开,构建指令结构树信息。具体的,通过遍历扩展指令及对应基本指令的识别字,得到多个识别字组合,展开不同识别字组合的帧结构字段,建立所有扩展指令的树形帧结构,得到指令结构树信息。
76.作为本发明的一个实施例,根据获取的控制参数,对所述指令结构树信息进行实例化,生成控制数据包括:获取控制参数,根据所述控制参数中的待组帧指令列表,对所述指令结构树信息进行实例化,利用内层组帧与外层封装的方式进行数据块拼帧,生成所述控制数据。
77.其中,获取用户输入的控制参数后,根据控制参数中待组帧的指令列表及相关数据,实例化对应的指令结构树信息,采用内层组帧、外层封装的分步生成方式进行数据块的拼帧,生成完整的控制数据源码,得到控制数据。
78.在本实施例中,如图4所示,根据所述控制参数中的待组帧指令列表,对所述指令结构树信息进行实例化包括:
79.步骤s31,根据所述控制参数中的待组帧指令列表,对所述扩展指令中的指令代号串进行分组,得到多个指令组;
80.步骤s33,在与所述扩展指令对应的指令结构树信息中,确定与所述扩展指令的指令组对应的基本指令及其到上级节点的链接,以完成所述指令结构树信息的实例化。
81.其中,用户输入的控制参数中包含多条扩展指令和基本指令的组合,形式如:指令代号串shell1+cmd1:参数a=1、b=2、c=3,指令代号串shell1+cmd2:参数e=1、f=2,
……
。获取控制参数后,按照指令代号串进行排序分组,将扩展指令相同的指令代号串分在同一组groupi;加载groupi的扩展指令对应的指令结构树treei,进行该组的指令及参数的处理;在指令结构树treei中查找groupi中的基本指令,并确定基本指令cmdj到上级节点的链接,在treei中删除groupi不存在的指令链接及子节点,完成指令结构树的实例化,将指令结构树treei实例化为groupi_treei。
82.在本实施例中,如图5所示,利用内层组帧与外层封装的方式进行数据块拼帧,生成所述控制数据包括:
83.步骤s41,对实例化后的指令结构树信息中各基本指令进行遍历,根据预设的组帧规则,对实例化后的指令结构树信息中各基本指令进行识别字字段组装及帧结构字段组装,得到组帧数据块。
84.其中,遍历groupi_treei中指令cmdj的子节点,自上而下进行参数处理和组帧,依次组装cmdj第n个识别字字段及帧结构字段;当处理到数据单元字段时,暂停本层帧结构组帧,根据数据单元字段链接的识别字,进行下一层第n+1个识别字及帧结构的组帧,包括将参数a、b、c的数值转换为对应的源码(源码转换方法不是本发明涉及内容);按照此规则依次向下层处理,直到最底层第n+x个识别字;当指令cmdj的最底层识别字帧结构组装完毕,则将组成的数据块datn+x返回给第n+x

1层,作为第n+x

1层数据单元字段的内容,继续执行第n+x

1层的组帧,依次向上层返回,直到指令cmdj的第1层,组帧指令cmdj对应的整个数
据块。继续处理groupi_treei中下一条指令cmdj+1,完成所有基本指令的数据块组帧。
85.步骤s42,对实例化后的指令结构树信息中各扩展指令进行遍历,根据预设的封装规则及所述组帧数据块,对对实例化后的指令结构树信息中各扩展指令进行外侧封装,生成所述控制数据。
86.其中,在基本指令生成数据块后,将数据块列表dat1

datn返回给扩展指令shelli最底层识别字对应的数据单元。遍历groupi_treei中指令shelli的子节点,自上而下进行参数处理和组帧,除最底层外,每层组帧方法与基本指令相同。当进行最底层帧结构的数据单元字段组帧时,依次将数据块列表的datj添加到数据单元字段中;在添加数据块datj之前,判断已添加的数据块总长度是否达到指令shelli的最大长度属性max。如果小于最大长度,则继续添加数据块,直至添加所有数据块,完成指令shelli的最底层组帧;并向上处理各层,完成指令shelli的外层封装,生成最终的控制数据源码framei。如果大于等于最大长度max,则暂停添加,并复制shelli指令结构树为shellnewi,将未添加的数据块列表链接在shellnewi指令结构树下,继续完成shelli指令的后续封装生成;之后,按照相同的方法继续处理指令结构树shellnewi,并完成指令shellnewi的封装组帧,生成控制源码数据framei+1。
87.在本发明一具体实施例中,如图6所示为本发明实施例中应用航天器上行控制数据生成方法的系统结构示意图,此系统包括3个主要部分:控制数据结构提取、组帧和生成处理架构、识别字动态组装和指令结构树构建策略、基于可组装识别字的数据生成方法。
88.在本实施例中,设计控制数据结构提取、组帧和生成处理架构。如图6所示,此架构由帧结构提取装订单元、指令结构树创建单元、数据分步组帧生成单元组成。
89.其中,帧结构提取装订单元实现识别字提取、帧结构装订至数据库功能,由识别字提取模块读取外部帧结构文件(文件内容如图2),自动提取“识别字与数据单元映射”信息(见图7),帧结构装订模块将识别字信息和指令信息装订至数据库。数据库存储的信息包括:“识别字与数据单元映射”信息和指令信息。如图7所示,“识别字与数据单元映射”信息,识别字是数据单元的标识,用于索引数据单元对应的帧结构,同一层数据结构的识别字是唯一的。
90.如图8所示,指令信息由用户根据外部航天器研制单位的控制需求,人工进行设计和装订的指令信息,指令信息的内容包括基本指令和扩展指令两类。基本指令是实现航天器基本控制功能的指令,由指令代号、基本识别字、可扩展属性组成。扩展指令是基本指令的外壳,用于对基本指令进行封装,方便批量发送至航天器指定的设备,包括指令代号、扩展识别字、最大长度。基本指令的可扩展属性用于标识可进行封装的扩展指令列表,不同的基本指令能够使用的外壳不同,可扩展属性的指令列表也不同。
91.进一步的,指令结构树创建单元是由装订信息加载模块从数据库中加载帧结构信息,指令树创建模块将帧结构信息遍历展开,构建指令结构树信息,存储到系统缓存。
92.进一步的,数据分步组帧生成单元通过接收外部系统输入的控制参数,进行参数合法性检查、数据类型转换等预处理,实例化指令结构树信息,分为内层组帧、外层封装两步进行控制数据组帧和生成。其中,内层组帧完成基本指令的源码生成和组帧处理(图8所示基本指令),外层封装根据扩展指令(图8所示扩展指令)对基本指令的源码进行二次封装,生成最终的控制数据。
93.在本实施例中,设计识别字动态组装和指令结构树构建策略。为了减少用户装订的数据量、节省数据库存储空间,数据库中分别存储“识别字与数据单元映射”信息和指令信息。本发明设计了识别字的动态组装方式,通过基本识别字和扩展识别字进行组合,建立指令结构树(如图9所示),覆盖不同的帧结构组合情况。识别字动态组装和指令结构树构建策略的处理过程包括:
94.1)识别字动态关联组装方法。通过建立基本指令与扩展指令链接,实现扩展指令的扩展识别字和基本指令的基本识别字的动态组合关联,完成指令结构树构建的前提。如图8所示,读取基本指令和扩展指令列表;遍历扩展指令列表,获取每条扩展指令shelli;根据shelli指令代号遍历所有基本指令,检查基本指令cmdj的可扩展属性是否包含指令代号shelli;如果指令cmdj的可扩展属性包含shelli,则将cmdj添加到shelli的子节点链表listi中,否则不处理指令cmdj;继续读取下一条指令cmdj+1。当指令shelli完成基本指令列表遍历后,开始构建指令shelli对应的指令结构树。
95.2)指令结构树信息构建方法。通过遍历扩展指令及对应基本指令的识别字,展开不同识别字组合的帧结构字段,建立所有扩展指令的树形帧结构,如图9所示。
96.以扩展指令的指令代号shelli为树结构的根节点;读取“识别字

数据单元映射”信息(如图7所示),遍历扩展指令shelli的扩展识别字,从图7的第i层获取第i个识别字对应的帧结构,将识别字字段添加到根节点下作为子节点,并将帧结构的其他字段依次链接到识别字字段;继续从第i+1层获取第i+1个识别字对应的帧结构,将第i+1个识别字字段链接到第i个识别字对应帧结构的数据单元字段,作为子节点,并将帧结构的其他字段依次链接到第i+1个识别字字段;直到完成指令shelli扩展识别字的遍历。
97.依次遍历shelli的子节点链表listi中的基本指令,并将每条基本指令cmdj添加到扩展指令shelli最后的识别字对应帧结构的数据单元字段下,作为子节点;逐条遍历基本指令cmdj的基本识别字,依次添加每个识别字对应的帧结构字段,添加方法与扩展指令相同。基本指令cmdj到上级节点的链接是动态的(图9中虚线标识),根据用户实际输入的扩展指令和基本指令,确定唯一的链接关系。
98.其中,图9表示了扩展指令shell1的指令结构树tree1。系统需要构建所有扩展指令的指令结构树,存储到缓存中,供指令组帧调用。
99.进一步的,目标航天器表示在多个航天器控制过程中,地面控制中心将上行控制指令和数据发送给对应航天器,最终执行指令和数据的航天器是目标航天器。路由航天器表示在多个航天器控制过程中,地面控制中心将上行控制指令和数据发送给对应航天器,部分情况下需发送给航天器a,由航天器a转发给最终的目标航天器,转发指令和数据的航天器a就是路由航天器。代传控制方式表示多个存在关联关系的航天器在飞行过程中,受地面测控能力的约束,地面站仅能跟踪其中的一个或多个航天器,地面控制中心发送指令或数据给正在跟踪的航天器,由此航天器判断指令和数据的目标航天器,并将指令或数据转发给对应的目标航天器的过程。
100.在本实施例中,设计基于可组装识别字的数据生成方法。在用户输入控制参数后,根据控制参数中待组帧的指令列表及相关数据,实例化对应的指令结构树,采用内层组帧、外层封装的分步生成方式进行数据块的拼帧,生成完整的控制数据源码。基于可组装识别字的数据生成方法的处理过程包括:
101.1)指令结构树的实例化。用户输入的控制参数中包含多条扩展指令和基本指令的组合,形式如:指令代号串shell1+cmd1:参数a=1、b=2、c=3,指令代号串shell1+cmd2:参数e=1、f=2,
……
。本系统收到控制参数后,按照指令代号串进行排序分组,将扩展指令相同的指令代号串分在同一组groupi;加载groupi的扩展指令对应的指令结构树treei,进行该组的指令及参数的处理;在指令结构树treei中查找groupi中的基本指令,并确定基本指令cmdj到上级节点的链接(将图9中虚线修改为实线),在treei中删除groupi不存在的指令链接及子节点,完成指令结构树的实例化,将指令结构树treei实例化为groupi_treei。
102.2)进行基本指令的内层组帧。遍历groupi_treei中指令cmdj的子节点,自上而下进行参数处理和组帧,依次组装cmdj第n个识别字字段及帧结构字段;当处理到数据单元字段时,暂停本层帧结构组帧,根据数据单元字段链接的识别字,进行下一层第n+1个识别字及帧结构的组帧,包括将参数a、b、c的数值转换为对应的源码;按照此规则依次向下层处理,直到最底层第n+x个识别字;当指令cmdj的最底层识别字帧结构组装完毕,则将组成的数据块datn+x返回给第n+x

1层,作为第n+x

1层数据单元字段的内容,继续执行第n+x

1层的组帧,依次向上层返回,直到指令cmdj的第1层,组帧指令cmdj对应的整个数据块。继续处理groupi_treei中下一条指令cmdj+1,完成所有基本指令的数据块组帧。
103.3)进行扩展指令的外层封装。在基本指令生成数据块后,将数据块列表dat1

datn返回给扩展指令shelli最底层识别字对应的数据单元。遍历groupi_treei中指令shelli的子节点,自上而下进行参数处理和组帧,除最底层外,每层组帧方法与基本指令相同。当进行最底层帧结构的数据单元字段组帧时,依次将数据块列表的datj添加到数据单元字段中;在添加数据块datj之前,判断已添加的数据块总长度是否达到指令shelli的最大长度属性max。如果小于最大长度,则继续添加数据块,直至添加所有数据块,完成指令shelli的最底层组帧;并向上处理各层,完成指令shelli的外层封装,生成最终的控制数据源码framei。如果大于等于最大长度max,则暂停添加,并复制shelli指令结构树为shellnewi,将未添加的数据块列表链接在shellnewi指令结构树下,继续完成shelli指令的后续封装生成;之后,按照相同的方法继续处理指令结构树shellnewi,并完成指令shellnewi的封装组帧,生成控制源码数据framei+1。
104.在本发明一具体实施例中,本实施例描述了航天器的上行控制数据结构的提取处理过程,说明识别字动态组装和指令结构树的构建过程,结合用户输入的控制参数说明内层组帧、外层封装的数据生成方法。
105.设外部系统提供帧结构文件file1,内容如图2所示;用户设计定义的扩展指令为shell1到shell5、基本指令为cmd1到cmd5,内容如图8所示;用户输入的控制参数文件为file2,内容为:
106.指令代号串shell1+cmd1,参数a=1、b=2、c=3;
107.指令代号串shell1+cmd2,参数e=1、f=2;
108.指令代号串shell2+cmd1,参数a=10、b=20、c=30;
109.指令代号串shell1+cmd4,参数x=1.4、y=2.9、z=1.5。
110.步骤一,帧结构信息提取和装订。本发明的系统提取“识别字与数据单元映射”信息,由外部用户根据提取的“识别字与数据单元映射”信息,结合外部航天器研制单位的控制需求,人工进行设计和装订的指令信息,并将“识别字与数据单元映射”信息和指令信息
存储至数据库。本发明的帧结构信息提取和装订工作步骤如下:
111.(1)如图2所示,识别字提取模块对外部的帧结构文件file1逐层进行帧结构分解和提取。首先处理最高层,将数据帧a的“11h”作为识别字,用于唯一标识该帧结构;“dataframe”字段对应下层的数据内容,作为数据单元字段,该字段没有具体的格式,用于指向下层结构;“tail”字段是帧尾,为固定值“00h”;因此识别字“11h”指向的帧结构包括:“11h”、“dataframe”、“00h”。
112.(2)按照相同的方法,继续处理数据帧b,提取识别字“12h”指向帧结构:“12h”、“dataframe”、“tail”;在完成图2的最高层处理后,删除重复的识别字,将识别字“11h”和“tail”对应的帧结构作为第1层,并命名为“top”,完成最高层“识别字与数据单元映射”信息的提取。
113.(3)继续处理图2的第二层,按照相同的方法提取识别字“21h”、“22h”、“23h”,以及对应的帧结构;将第二层命名为上一层(第一层)的数据单元的名称“dataframe”;完成第二层“识别字与数据单元映射”信息的提取。
114.(4)在处理第三层时,能够提取出5个识别字:“31h”、“32h”、“32h”、“33h”、“33h”,删除重复的识别字“32h”和“33h”,最终提取的识别字列表为“31h”、“32h”、“33h”及帧结构;继续处理图2的下面各层,直到提取到帧结构的最后一层,即最后一层没有数据单元字段。构建如图7所示的“识别字

数据单元映射”信息,存储入系统数据库。
115.(5)装订基本指令和扩展指令等指令信息到数据库。基本指令和扩展指令的装订是由人工根据外部需要进行设计的,没有固定程序和方法,不作为本发明内容。此过程的目的是设计两类指令,分别表示基本功能控制指令和基本指令的外壳。两类指令附加基本识别字和扩展识别字,用于表示指令对应的帧结构。如图8所示,指令cmd1的识别字为“31h、41h”,表示使用第3层的“31h”识别字对应的帧结构和第4层“41h”识别字对应的帧结构进行组帧。基本指令的可扩展属性表示该指令能够使用的外壳。如图8所示,指令cmd3的可扩展属性为“shell1,shell3,shell4”,表示该指令能够使用扩展指令shell1、shell3、shell4进行封装,而不能使用指令“shell2、shell5”进行封装。
116.步骤二,识别字动态组装和指令结构树的构建。由装订信息加载模块从数据库中加载帧结构信息,指令树创建模块将帧结构信息遍历展开,构建指令结构树信息,存储到系统缓存。工作步骤如下:
117.(1)通过将建立基本指令与扩展指令建立链接,实现扩展指令的扩展识别字和基本指令的基本识别字的动态组合关联。如图8所示,读取基本指令和扩展指令列表;遍历扩展指令列表。
118.(2)获取第1条扩展指令shell1,根据shell1指令代号遍历所有基本指令cmd1至cmd5,检查基本指令cmd1的可扩展属性是否包含指令代号shell1。如果指令cmd1的可扩展属性包含shell1,则将cmd1添加到shell1的子节点链表list1中;否则不处理指令cmd1;继续读取下一条指令cmd2。当指令shell1完成基本指令cmd5的处理后,shell1的子节点链表list1中包含5条基本指令“cmd1到cmd5”。
119.(3)建立指令shell1对应的指令结构树。以扩展指令的指令代号shell1为树结构的根节点;读取图7所示“识别字

数据单元映射”信息,遍历扩展指令shell1的扩展识别字“11h、21h”;从图7的第1层获取第1个识别字“11h”对应的帧结构,将识别字字段“11h”添加
到根节点下作为子节点,依次将帧结构“dataframe”字段链接到“11h”节点,将“tail”字段链接到“dataframe”节点。
120.(4)继续从第2层获取第2个识别字“21h”对应的帧结构,将识别字字段“21h”链接到第1个识别字“11h”对应数据单元字段“dataframe”,作为子节点;依次链接帧结构的“sys”字段到“21h”节点,完成指令shell1扩展识别字的遍历。
121.(5)依次遍历shell1的子节点链表list1中的基本指令cmd1到cmd5,依次将指令cmd1到cmd5添加到扩展指令shell1最后识别字“12h”的数据单元“sys”节点,作为子节点。基本指令cmd1到cmd5到上级“sys”节点的链接是动态的(图9中虚线标识)。
122.(6)逐条处理基本指令cmd1到cmd5,遍历基本指令cmd1的基本识别字“31h、41h”,依次添加识别字31h和41h对应的帧结构字段,添加方法与扩展指令相同,一直链接到最底层节点:blk1的a、b、c参数信息。完成基本指令cmd1处理后,继续处理cmd2到cmd5。
123.(7)当完成shell1的子节点链表list1遍历后,指令shell1对应的指令结构树tree1构建完成,系统将tree1存储到缓存中。图9表示了扩展指令shell1的指令结构树tree1。系统按照(2)到(6)的步骤继续构建扩展指令shell2到shell5的指令结构树tree2到tree5,依次存储到系统缓存中,供指令组帧调用。
124.步骤三,在用户输入控制参数文件file2后,根据控制参数中待组帧的指令列表及相关数据,实例化对应的指令结构树,采用内层组帧、外层封装的分步生成方式进行数据块的拼帧,生成完整的控制数据源码。工作步骤如下:
125.(1)控制参数指令分组。系统读取控制参数文件file2,按照指令代号串进行排序分组,将扩展指令相同的指令代号串分在同一组,控制参数file2分为2组,group1:shell1+cmd1、shell1+cmd2、shell1+cmd4;group2:shell2+cmd1。下面依次处理group1和group2,进行指令组帧和数据生成处理,首先处理group1。
126.(2)实例化指令结构树。加载group1的扩展指令shell1对应的指令结构树tree1,在指令结构树tree1中查找group1中的基本指令“cmd1、cmd2、cmd4”,并确定基本指令“cmd1、cmd2、cmd4”到上级节点“sys”的链接,在tree1中删除指令“cmd3、cmd5”链接及子节点,完成指令结构树的实例化,图10为按照group1进行实例化的指令结构树group1_tree1。
127.(3)基本指令的内层组帧。遍历实例化group1_tree1中指令“cmd1、cmd2、cmd4”的子节点,自上而下进行参数处理和组帧。依次组装cmd1第1个识别字“31h”及帧结构字段“dat”,首先将31h转换为源码,然后处理字段“dat”,因为字段“dat”为数据单元字段,暂停“31h”的帧结构组帧。
128.(4)根据数据单元字段“dat”链接的识别字“41h”,进行识别字“41h”及帧结构的组帧,包括将参数a=1、b=2、c=3转换为对应的数据块源码“code41”;当指令cmd1的最底层“41h”识别字帧结构组装完毕,则将组成的数据块“code41”返回给“31h”层,作为“31h”的数据单元字段“dat”的内容。
129.(5)继续“31h”帧结构处理,组帧生成数据块源码“code31”,依次向上层返回,直到指令cmd1的第1层,生成指令cmd1对应的整个数据块源码“codecmd1”。
130.(6)继续处理group1_tree1中指令“cmd2、cmd4”,生成数据块源码“codecmd2”和“codecmd4”。设生成的数据块“codecmd1”、“codecmd2”和“codecmd4”的源码长度分别为65b、31b、55b。
131.(7)在基本指令生成数据块后,将数据块列表“codecmd1”、“codecmd2”和“codecmd4”返回给扩展指令shell1,作为最底层识别字“21h”数据单元“sys”的输入内容。
132.(8)扩展指令的外层封装。遍历group1_tree1中指令shell1的子节点,自上而下进行参数处理和组帧,除最底层外,每层组帧方法与基本指令相同。当进行最底层识别字“21h”帧结构的“sys”字段组帧时,依次添加数据块“codecmd1”、“codecmd2”和“codecmd4”到“sys”字段中。
133.(9)首先添加数据块“codecmd1”,在添加数据块之前,判断添加的数据块总长度是否超过指令shell1的最大长度属性max=100b。codecmd1数据块长度为65b,小于最大长度,则添加数据块codecmd1;继续添加数据块codecmd2(长度31b),添加的总长度65b+31b=96b,小于最大长度,则添加数据块codecmd2;继续添加数据块codecmd4(长度55b),添加的总长度96b+55b=151b,大于最大长度100b,则暂停添加;并复制shell1指令结构树为shellnew1,将未添加的数据块“codecmd4”链接在shellnew1指令结构树下;继续完成shell1指令的数据封装,生成最终的数据块frame1。
134.(10)按照相同的方法继续处理指令结构树shellnew1,并完成指令shellnew1的封装组帧,生成控制源码数据frame2。
135.(11)继续处理group2,参照步骤(2)到(10)进行指令结构树实例化、基本指令的内层组帧和扩展指令的外层封装处理,生成最终的控制数据源码frame3。
136.本发明设计了航天器上行控制数据结构提取、组帧和生成处理架构。实现了数据帧结构提取、装订、组帧的全过程,仅需人工装订指令信息,大幅降低了人工维护的数据量。设计了识别字动态组装和指令结构树构建策略,利用控制数据重复结构多的特点,自动化实现不同类型航天器、载荷的控制数据动态组合和结构管理,满足了用户对航天器的灵活控制需求。通过采用识别字的方式实现数据单元的索引,满足控制数据最大长度约束,自动化完成外部参数获取和控制数据组帧生成,提高了注入数据生成效率和可靠性。
137.本发明实现对不同种类航天器的控制数据的生成和组帧,通过采用识别字的方式实现数据单元的索引,动态组装识别字,按照控制需要进行注入数据分层组帧,达到数据单元结构高度复用的效果,满足控制数据最大长度约束,自动化完成外部参数获取和控制数据组帧生成,同时降低人工装订操作的工作量和复杂度。
138.如图11所示为本发明实施例一种航天器上行控制数据生成装置的结构示意图,图中所示装置包括:
139.帧结构信息模块10,用于对获取的外部帧结构文件进行信息提取,得到识别字映射信息,并对获取的指令信息与所述识别字映射信息进行装订,得到帧结构信息;其中,所述指令信息包括基本指令及扩展指令。
140.其中,通过读取方式获取外部帧结构文件,自动提取“识别字与数据单元映射”信息,即识别字映射信息。将识别字映射信息和获取的指令信息装订至数据库。数据库存储的信息包括:“识别字与数据单元映射”信息和指令信息。具体的,“识别字与数据单元映射”信息,识别字是数据单元的标识,用于索引数据单元对应的帧结构,同一层数据结构的识别字是唯一的。
141.进一步的,指令信息由用户根据外部航天器研制单位的控制需求,人工进行设计和装订的指令信息,指令信息的内容包括基本指令和扩展指令两类。基本指令是实现航天
器基本控制功能的指令,由指令代号、基本识别字、可扩展属性组成。扩展指令是基本指令的外壳,用于对基本指令进行封装,方便批量发送至航天器指定的设备,包括指令代号、扩展识别字、最大长度。基本指令的可扩展属性用于标识可进行封装的扩展指令列表,不同的基本指令能够使用的外壳不同,可扩展属性的指令列表也不同。
142.指令结构树模块20,用于利用所述帧结构信息对所述基本指令与所述扩展指令建立链接,对建立链接后的基本指令与扩展指令进行遍历展开,得到指令结构树信息。
143.其中,从数据库获取帧结构信息,将建立基本指令与扩展指令建立链接,实现扩展指令的扩展识别字和基本指令的基本识别字的动态组合关联。
144.进一步的,将帧结构信息遍历展开,构建指令结构树信息。具体的,通过遍历扩展指令及对应基本指令的识别字,得到多个识别字组合,展开不同识别字组合的帧结构字段,建立所有扩展指令的树形帧结构,得到指令结构树信息。
145.控制数据生成模块30,用于根据获取的控制参数,对所述指令结构树信息进行实例化,生成控制数据。
146.其中,获取用户输入的控制参数后,根据控制参数中待组帧的指令列表及相关数据,实例化对应的指令结构树信息,采用内层组帧、外层封装的分步生成方式进行数据块的拼帧,生成完整的控制数据源码,得到控制数据。
147.作为本发明的一个实施例,所述帧结构信息模块还用于对获取的外部帧结构文件进行帧结构分解及信息提取,得到识别字映射信息;其中,所述识别字映射信息用于识别字与数据单元进行映射。
148.作为本发明的一个实施例,如图12所示,指令结构树模块20包括:
149.链接建立单元21,用于利用所述帧结构信息对所述基本指令与所述扩展指令建立链接,以使所述基本指令的基本识别字与所述扩展指令的扩展识别字进行关联;
150.指令结构树单元22,用于对所述扩展指令的扩展识别字及其对应的基本指令的基本识别字进行遍历,得到多个识别字组合,并展开各识别字组合的帧结构字段,得到所述指令结构树信息。
151.作为本发明的一个实施例,所述控制数据生成模块还用于获取控制参数,根据所述控制参数中的待组帧指令列表,对所述指令结构树信息进行实例化,利用内层组帧与外层封装的方式进行数据块拼帧,生成所述控制数据。
152.在本实施例中,如图13所示,控制数据生成模块30包括:
153.指令组单元31,根据所述控制参数中的待组帧指令列表,对所述扩展指令中的指令代号串进行分组,得到多个指令组;
154.实例化单元32,用于在与所述扩展指令对应的指令结构树信息中,确定与所述扩展指令的指令组对应的基本指令及其到上级节点的链接,以完成所述指令结构树信息的实例化。
155.在本实施例中,如图14所示,控制数据生成模块30还包括:
156.内层组帧单元33,用于对实例化后的指令结构树信息中各基本指令进行遍历,根据预设的组帧规则,对实例化后的指令结构树信息中各基本指令进行识别字字段组装及帧结构字段组装,得到组帧数据块;
157.外层封装单元34,用于对实例化后的指令结构树信息中各扩展指令进行遍历,根
据预设的封装规则及所述组帧数据块,对对实例化后的指令结构树信息中各扩展指令进行外侧封装,生成所述控制数据。
158.基于与上述一种航天器上行控制数据生成方法相同的申请构思,本发明还提供了上述一种航天器上行控制数据生成装置。由于该一种航天器上行控制数据生成装置解决问题的原理与一种航天器上行控制数据生成方法相似,因此该一种航天器上行控制数据生成装置的实施可以参见一种航天器上行控制数据生成方法的实施,重复之处不再赘述。
159.本发明通过对数据帧结构提取、装订及组帧,大幅降低了人工维护的数据量,通过构建指令结构树信息,利用控制数据重复结构多的特点,自动化实现不同类型航天器、载荷的控制数据动态组合和结构管理,满足了用户对航天器的灵活控制需求,提高了注入数据生成效率和可靠性。
160.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法。
161.本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述方法的计算机程序。
162.如图15所示,该电子设备600还可以包括:通信模块110、输入单元120、音频处理单元130、显示器160、电源170。值得注意的是,电子设备600也并不是必须要包括图15中所示的所有部件;此外,电子设备600还可以包括图15中没有示出的部件,可以参考现有技术。
163.如图15所示,中央处理器100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器100接收输入并控制电子设备600的各个部件的操作。
164.其中,存储器140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器100可执行该存储器140存储的该程序,以实现信息存储或处理等。
165.输入单元120向中央处理器100提供输入。该输入单元120例如为按键或触摸输入装置。电源170用于向电子设备600提供电力。显示器160用于进行图像和文字等显示对象的显示。该显示器例如可为lcd显示器,但并不限于此。
166.该存储器140可以是固态存储器,例如,只读存储器(rom)、随机存取存储器(ram)、sim卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为eprom等。存储器140还可以是某种其它类型的装置。存储器140包括缓冲存储器141(有时被称为缓冲器)。存储器140可以包括应用/功能存储部142,该应用/功能存储部142用于存储应用程序和功能程序或用于通过中央处理器100执行电子设备600的操作的流程。
167.存储器140还可以包括数据存储部143,该数据存储部143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器140的驱动程序存储部144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
168.通信模块110即为经由天线111发送和接收信号的发送机/接收机110。通信模块(发送机/接收机)110耦合到中央处理器100,以提供输入信号和接收输出信号,这可以和常
规移动通信终端的情况相同。
169.基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)110还经由音频处理器130耦合到扬声器131和麦克风132,以经由扬声器131提供音频输出,并接收来自麦克风132的音频输入,从而实现通常的电信功能。音频处理器130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器130还耦合到中央处理器100,从而使得可以通过麦克风132能够在本机上录音,且使得可以通过扬声器131来播放本机上存储的声音。
170.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
171.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
172.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
173.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
174.本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1