一种航天器内信息交互关系组织方法与流程

文档序号:32404948发布日期:2022-12-02 20:16阅读:34来源:国知局
一种航天器内信息交互关系组织方法与流程

1.本发明属于航天器器上信息与数据技术领域,尤其涉及一种航天器内信息交互关系组织方法。


背景技术:

2.传统的航天器信息系统中,往往对于某两个用户之间的数据交互关系必须是预先确定的,主要存在三方面的弊端:1)当系统中需要参与信息交互的用户数量增多时,设计和维护的难度大大增加,同时可靠性随之降低,研制周期会大大延长;2)设计定型后不能更新和扩展,无法适应结构或任务的动态变化。新型航天器信息化程度更高、内部信息交互关系复杂、动态性高,需要提供灵活性、扩展性的信息分发交互组织方法。3)随着信息交互关系复杂,用户数据传递的数量大大增加,而且可能导致设备间、设备内部大量重复数据流,消耗大量通信、存储资源以及拷贝、处理时间,对于资源紧张的航天器不利。


技术实现要素:

3.为解决如何组织航天器内多个用户间的复杂信息交换关系的问题,本发明提供一种航天器内信息交互关系组织方法,支持用户及其信息需求动态变化,具备灵活性和扩展性。
4.一种航天器内信息交互关系组织方法,包括以下步骤:
5.航天器内各设备启动后,各设备分别作为请求者更新自身的用户表和信息需求表;
6.已启动的各设备上的各用户启动后,向所在设备的交互管理代理通报自身的身份id和通信地址,再由所在设备的交互管理代理将身份id和通信地址添加至所在设备的用户表中,并将更新后的用户表发送给其余设备的交互管理代理来更新各自的用户表;
7.各启动的用户将自身期望接收或停止接收的信息类型的主题号组织成接收请求来发送给所在设备的交互管理代理以进行本地信息需求表的更新,再由所在设备的交互管理代理将接收请求转发给其余设备的交互管理代理来更新各自的信息需求表;
8.当用户产出信息数据时,用户根据该信息数据对应的主题号在所在设备的信息需求表中获取期望接收该主题号的信息数据的各个接收者设备,并根据各接收者设备的身份id在自身所在设备的用户表获取各接收者设备的通信地址,最后生成信息传输数据帧发送给接收者设备的用户数据缓存区。
9.进一步地,请求者更新自身的用户表和信息需求表的方法为:
10.请求者通过自身的交互管理代理向航天器内其他设备的交互管理代理发送同步请求,能够接收到所述同步请求的设备分别向所述请求者返回用户与需求数据帧,请求者自身的交互管理代理再根据所述用户和需求数据帧更新自身的用户表和信息需求表,其中,所述用户与需求数据帧由各个能够接收到所述同步请求的设备的用户表和信息需求表组成。
11.进一步地,请求者自身的交互管理代理获得用户与需求数据帧后,解析用户与需求数据帧的内容,并将解析结果分别写入本地的用户表和信息需求表,其中,当收到多个用户与需求数据帧时,更新用户表和信息需求表时排除重复的信息。
12.进一步地,所述信息传输数据帧由通信地址、主题号、信息数据内容、优先级组成,且优先级为0表示取消接收。
13.进一步地,一种航天器内信息交互关系组织方法,还包括以下步骤:
14.各接收者设备的用户数据缓存区接收到新的信息传输数据帧时,由各自的交互管理代理根据信息需求表更新用户数据接收索引表,所述数据接收索引表包含接收者、主题号、存放地址、偏移量、长度、优先级、处理标志,以供接收者设备上的各用户检索自身期望接收的数据后再从所在设备公共的用户接收数据缓存区中提取出来。
15.有益效果:
16.1、本发明提供一种航天器内信息交互关系组织方法,在每个参与信息交互的设备上设置一个交互管理代理,而整个航天器内不存在一个管理各代理的中心节点,各交互管理代理地位对等,不需要预先固定用户的位置和连接关系,所有用户都是在运行启动后动态加入的,新加入的用户不需要了解系统和其它用户的状态,允许用户增减或位置变化;同时,本发明通过支持用户面向信息内容建立供需关系,也即构建了用户表和信息需求表,在交互管理代理启动时进行管理信息同步,通过向其它代理发送同步请求,从其它代理获得其用户表和信息需求表的信息,以此同步本地的用户表和信息需求表,淡化了用户之间的连接关系,使得网络和用户动态变化时,不影响对信息的提供和获取关系,具备灵活性和扩展性。
17.2、本发明提供一种航天器内信息交互关系组织方法,由交互管理代理维护一张用户表和一张信息需求表,用户表包括航天器内全部用户的身份id和通信地址,信息需求表包括期望接收的信息的主题号、信息需求者的身份id、信息处理优先级。用户向交互管理代理通报期望或取消接收的信息的主题号时,发送接收请求数据帧,其中包括用户的身份id、主题号、优先级,且优先级0表示取消接收;也就是说,本发明通过对用户信息和用户对信息需求信息的汇聚、管理、交换和同步,组织了整个航天器内多个用户间的信息交换关系,并支持用户数据集约分发,节约了资源开销。
18.3、本发明提供一种航天器内信息交互关系组织方法,构建用户数据接收索引表,且各用户产出的同一主题的信息数据给每个设备仅发送一次,使得设备上的各用户需要任意主题的信息数据时,检索自身期望接收的数据后再从所在设备公共的用户接收数据缓存区中提取出来,能够减少同类用户信息数据的传输、复制,减少航天器资源消耗。
附图说明
19.图1为本发明提供的一种航天器内信息交互关系组织方法的原理图。
具体实施方式
20.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
21.本发明提供一种航天器内信息交互关系组织方法,航天器设计阶段不指定信息交
换关系,在运行阶段由用户动态加入并根据自身功能需要提出和更改对某些种类信息的需求,由设备上的交互管理代理维护设备内的用户信息和用户的信息需求信息并在设备间进行交互同步,而用户产生的某种信息将根据该种信息被需求情况提供给需求者。如图1所示,本发明的步骤具体如下:
22.s1:航天器内各设备启动后,各设备分别作为请求者更新自身的用户表和信息需求表,具体为:请求者通过自身的交互管理代理向航天器内其他设备的交互管理代理发送同步请求,能够接收到所述同步请求的设备分别向所述请求者返回用户与需求数据帧,请求者自身的交互管理代理获得用户与需求数据帧后,解析用户与需求数据帧的内容,并将解析结果分别写入本地的用户表和信息需求表,实现自身用户表和信息需求表的更新,其中,所述用户与需求数据帧由各个能够接收到所述同步请求的设备的用户表和信息需求表组成。同时,当收到多个用户与需求数据帧时,更新用户表和信息需求表时排除重复的信息。
23.也就是说,某个设备启动后,其上的交互管理代理启动,根据预设已知的代理列表,向其它所有代理发送同步请求;如果其它某个设备的交互管理代理接收到同步请求后,将本地的用户表和信息需求表组成用户与需求数据帧,返回给请求者;请求同步的交互管理代理获得用户与需求数据帧后,解析内容分别写入本地的用户表和信息需求表,当收到多个用户与需求数据帧时,在更新用户表和信息需求表时排除重复的信息。
24.进一步地,用户表的组成如表1所示。
25.表1
[0026][0027]
数据设计说明:
[0028]
(1)apid:用户的应用过程标识,由上层应用决定。
[0029]
(2)设备id:本设备的编号。
[0030]
(3)用户id:本装置内给用户分配的标识,每个设备内唯一。
[0031]
(4)分组id:用户任务的分组或角色属性,可用于区分用户的业务分类或权限。
[0032]
(5)注册状态:表明本单元是否占用同时表明节点是否已注册,取值包括:空白、申请注册中、已注册。
[0033]
(6)需求消息地址类型:指示用于传递需求消息的下层通信接口地址的类型,最高bit表示地址存放方式:0表示地址直接存放在后续的“需求消息地址”域中,1表示表示地址的字符串指针地址存放在后续的“需求消息地址”域中;后7比特表示传输层业务具体类型:1表示操作系统消息队列,地址类型为消息队列id。
[0034]
(7)需求消息地址:用于传递需求消息消息的下层通信接口地址。
[0035]
(8)用户数据地址类型:指示用于传递用户数据消息的下层接口地址的类型,最高bit表示地址存放方式:0表示地址直接存放在后续的“用户数据地址”域中,1表示表示地址的字符串指针地址存放在后续的“用户数据地址”域中;后7比特表示传输层业务具体类型:0表示传输层使用空间包业务,地址类型为apid。
[0036]
(9)用户数据地址:用于传递用户数据的下层通信接口地址,如果地址类型为
apid,apid存放在最低11位。
[0037]
需要说明的是,在具体实现中,“用户数据地址”不一定使用,因为可能可以根据设备id达到支持下层通信寻址的效果。
[0038]
进一步地,信息需求表的组成如表2所示。
[0039]
表2
[0040][0041]
数据设计说明:
[0042]
(1)主题号:数据类型的主题。
[0043]
(2)需求者apid:指出希望获得该主题的具体用户。
[0044]
(3)需求类型:分为“邀请”和“发布”,“邀请”为指定的用户才能提供该主题的数据,“发布”为具有指定的分组id的用户。分组id为0表示任意用户。
[0045]
(4)被邀请者apid/发布者分组id:根据前一字段“需求类型”,指出具体的被邀请者apid或是发布者分组id。
[0046]
(5)优先级:优先级决定处理先后顺序,并表示数据重要程度,也可结合其它机制使用。
[0047]
s2:已启动的各设备上的各用户启动后,向所在设备的交互管理代理通报自身的身份id和通信地址,再由所在设备的交互管理代理将身份id和通信地址添加至所在设备的用户表中,并将更新后的用户表发送给其余设备的交互管理代理来更新各自的用户表。
[0048]
也就是说,设备上存在一个或多个用户,在交互管理代理初始化完成后,用户启动并加入,向本设备的交互管理代理通报自身的身份id和通信地址,交互管理代理收到用户通报的身份id和通信地址时,将其内容添加至用户表中,并发送给所有其它代理。其它的交互管理代理接收到转发来的用户信息后更新自身的用户表。
[0049]
s3:各启动的用户将自身期望接收或停止接收的信息类型的主题号组织成接收请求来发送给所在设备的交互管理代理以进行本地信息需求表的更新,再由所在设备的交互管理代理将接收请求转发给其余设备的交互管理代理来更新各自的信息需求表。
[0050]
也就是说,用户在运行工作中根据自身功能,将期望接收或停止接收的信息类型的主题号组织成接收请求发送给所在设备的交互管理代理,交互管理代理更新本地信息需求表,并将接收请求转发给所有其它设备的交互管理代理。其它的交互管理代理接收到接收请求后也更新自己维护的信息需求表。
[0051]
s4:当启动的用户产出信息数据时,用户根据该信息数据对应的主题号在所在设备的信息需求表中获取期望接收该主题号的信息数据的各个接收者设备,并根据各接收者设备的身份id在自身所在设备的用户表获取各接收者设备的通信地址,最后生成信息传输数据帧发送给接收者设备的用户数据缓存区。其中,所述信息传输数据帧由通信地址、主题号、信息数据内容、优先级组成,且优先级为0表示取消接收,同时,信息传输数据帧由用户直接或由用户所在设备中的发送功能模块发送给接收者设备的用户数据缓存区。
[0052]
也就是说,当某用户在运行中产生出某种类型信息数据(某种主题号),查阅信息需求表,根据主题号检索,对所有期望接收该主题号的各个接收者,在根据其身份id查用户
表获得其通信地址,组织由通信地址、信息主题号、信息数据内容、优先级组成信息传输数据帧。信息传输数据帧可由用户直接或由所在设备中的专门发送功能模块发送给接收者设备的用户数据缓存区。同时,发给同一设备的多个用户的同一主题的用户数据,只发送一次。
[0053]
s5:各接收者设备的用户数据缓存区接收到新的信息传输数据帧时,由各自的交互管理代理根据信息需求表更新用户数据接收索引表,以供接收者设备上的各用户检索自身期望接收的数据后再从所在设备公共的用户接收数据缓存区中提取出来。
[0054]
也就是说,用户数据接收缓存区收到新的数据时,由代理根据信息需求表,更新用户数据接收索引表,供用户检索自己的数据后从本设备公共的用户接收数据缓存区中提取。
[0055]
进一步地,用户数据接收索引表的组成如表3所示。
[0056]
表3
[0057][0058]
数据设计说明:
[0059]
(1)接收者apid:同前。
[0060]
(2)主题号:接收数据类型的主题。
[0061]
(3)存放地址:消息实体存放的起始地址。
[0062]
(4)偏移量:指明从存放地址至用户数据起始的字节数,对于设备内交互消息,偏移量为0,对于来自其它设备数据,偏移量与下层通信格式相关,应跳过包头长度。
[0063]
(5)长度:用户数据长度字节数。
[0064]
(6)优先级:优先级决定处理先后顺序,并表示数据重要程度,也可结合其它机制使用。
[0065]
(7)处理标志:用于对消息缓存的管理,取值包括:空白可用(同已读取)、更新中、待读取。
[0066]
下面以航天器内有n个设备为例,对本发明的信息交互关系组织方法进行详细说明。
[0067]
设航天器内有n个设备e1、e2
……
en,其上各有m1、m2……mn
个用户参加信息交互,具体实现方法主要分为以下四个步骤:
[0068]
步骤一、代理初始化
[0069]
交互管理代理的启动早于设备上所有参与信息交互的用户,在代理的初始化中,根据预设已知的代理列表,向航天器内其它n-1个代理发送同步请求,例如设备e1向设备e2~en发出同步请求,e2~en中早于e1启动的设备将本地的用户表和信息需求表组成用户与需求数据帧,返回给e1;e1的交互管理代理获得来自其它设备上的代理的用户与需求数据帧后,解析内容分别写入本地的用户表和信息需求表,如果e2~en中有多个代理返回了用户与需求数据帧时,e1的交互管理代理在更新用户表和信息需求表时排除重复的信息。设备e2~en在启动时,其上的代理也进行同样初始化工作。
[0070]
步骤二、用户加入
[0071]
设备上e1存在m1个用户a1(1)~a1(m1),在交互管理代理初始化完成后,各用户启动并向交互管理代理通报自身的身份信息和通信地址,交互管理代理收到各用户通报的身份信息和通信地址时,将其内容添加至用户表中,并发送给所有其它代理。其它设备的交互管理代理接收到转发来的用户信息后更新自身的用户表。
[0072]
步骤三、组织用户需求
[0073]
设备上e1的用户a1(1)和a1(m1),在某种工况下,需要获得主题号为s1的信息,将生产接收请求,发给交互管理代理,交互管理代理将接收请求信息记录在设备e1的信息需求表中,然后将接收请求转发给设备e2~en的交互管理代理,各设备的交互管理代理同样更新本地的信息需求表。
[0074]
步骤四、确定信息接收者
[0075]
当设备e2上的用户a2(1),按自身功能运行中生产主题号为s1的信息后,查阅设备e2上的信息需求表,根据主题号s1检索,查得接收者a1(1)和a1(m1),根据e2上的用户表查得其设备id和通信地址。组织由通信地址、信息主题号s1、信息数据内容、优先级组成信息传输数据帧后提交给设备e2的对外发送模块处理,发给设备e1。
[0076]
步骤五、接收用户获得数据
[0077]
e1设备的通信接收模块收到数据帧后,存放在接收缓存区,通知e1代理,由代理根据信息需求表,更新用户数据接收索引表,供用户a1(1)和a1(m1)检索自己的数据后从本设备公共的用户接收数据缓存区中提取。
[0078]
由此可见,本发明提出一种航天器内信息交互关系组织方法和装置,不需要预先固定航天器内部参与信息交换的各用户的位置和连接关系,允许用户动态增减或位置变化。通过支持用户面向信息内容建立供需关系,淡化了用户本身之间的连接关系,使得航天器内部设备或网络连接结构和用户动态变化时,不影响对信息的提供和获取关系。通过对用户信息和用户对信息需求信息的汇聚、管理、交换和同步,组织整个航天器内多个用户间的信息交换关系,还能够合并集约数据分发,减少同类用户信息数据的传输、复制,减少航天器资源消耗。
[0079]
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当然可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1