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

一种直升机飞管数据库操作同步方法与流程

2022-03-23 01:20:23 来源:中国专利 TAG:


1.本发明涉及计算机软件领域,具体涉及一种直升机飞管数据库操作同步方法,用于两台综合显示控制单元之间的飞管数据库同步,实现数据的压缩和可靠传输。


背景技术:

2.飞行管理系统(fms)是大型飞机航电系统的核心,它通过组织、协调和综合机上多个分系统的功能与作用,生成飞行计划,并在整个飞行全程中保证该飞行计划的实施,实现飞行任务的自动控制。作为民用直升机综合显示控制系统嵌入式软件的一部分,fms模块需实现对航路点及飞行计划数据的管理和使用,具体的需求如下:
3.1.航路点数据有数百个,每个航路点有:名称、经纬度、高度等信息;航路点数据集在人机交互界面中按名称的字典排序显示,且可被添加、修改或删除,不允许出现同名航路点;
4.2.飞行计划数据有上百条,每条飞行计划最多由上百个航路点及其他属性信息(如:飞行计划名称、计划点间的方位、距离值等)组成;在人机交互界面中飞行计划可被添加、修改或删除;
5.3.直升机综合显示控制系统采用双机配置架构,两台综合显示控制单元 (ipdu)软件都有航路点和飞行计划数据库,需要保证任意一侧对于航路点、飞行计划的编辑等操作都应及时反映到另一侧显示,以保证两侧数据的同步,这样两侧飞行员在ipdu上查看到的信息才能一致,两侧飞行员的操作才能同步。
6.飞管数据库航路点和飞行计划数据在两台综合显示控制单元设备间的同步功能与数据量的大小直接相关,为了提高其效率和同步数据的安全性,需合理安排同步过程数据集结构、并在不影响程序复杂度的前提下精简数据集内容。由于直升机综合显示控制系统的两台ipdu采用rs422数据总线进行同步,总线带宽有限,对同步过程中的数据块大小提出了进一步的要求,一般而言,单包数据不能超过300个字节。
7.目前国外的如美国的霍尼韦尔公司、ge公司以及法国的泰勒斯公司在波音、空客等机型上已实现飞行管理系统双机同步的应用,国内一些院校和研究所,如西北工业大学、南京航空航天大学、西安618所和上海615所等,也开展了飞行管理系统的管理模型开展过专题研究,完成了相关系统和软件的开发并成功应用于型号研究,针对飞管数据库的双机同步过程的原理和方法和进行了公开报道,但是文献中针对同步数据的数据结构如何设计与实现提及较少。


技术实现要素:

8.本发明的目的是提供一种直升机飞管数据库操作同步方法,对在人机界面交互过程中,对航路点数据库和飞行计划数据库进行编辑时如何进行数据库的同步,提出了对应的解决方法。
9.为了实现上述任务,本发明采用以下技术方案:
10.一种直升机飞管数据库操作同步方法,包括对航路点数据库进行同步操作:
11.定义单个航路点的操作数据结构,所述数据结构中的数据变量包括:修改的类型以及航路点数据信息;当用户在第一个直升机综合显示控制单元ipdu1 修改了航路点的数据时,ipdu1根据当前用户的操作修改对应的数据变量,并将修改后的数据变量构成所述单个航路点的操作数据结构,然后将该数据结构发送给第二个直升机综合显示控制单元ipdu2;ipdu2解析所述数据结构,根据修改的类型以及对应的航路点信息,对本地航路点数据库执行相同的操作,写入航路点数据信息,实现航路点数据库的双机同步。
12.进一步地,所述航路点数据信息包括:航路点类型、航路点号、航路点标识、航路点有效标识、用户航路点信息存储类型、航路点纬度、航路点经度、参考点编号、相对于参考点的方位角以及相对于参考点的距离。
13.进一步地,所述直升机飞管数据库操作同步方法还包括飞行计划数据库操作同步:
14.定义单条飞行计划数据操作数据结构,所述数据结构中的数据变量包括:修改的类型以及飞行计划的数据信息;
15.当用户在ipdu1修改了飞行计划的数据时,ipdu1根据当前用户的操作修改对应的数据变量,并将修改后的数据变量构成所述单条飞行计划数据操作数据结构a;当ipdu1需要将所述飞行计划数据操作数据结构发送给ipdu2时,需要先将飞行计划数据操作数据结构中的飞行计划所使用的航路点号、航路点是否有效标识、航路点的过点切点属性信息进行压缩处理并建立rs422传输数据结构b后发送给ipdu2。
16.进一步地,所述飞行计划的数据信息包括:编辑前的飞行计划索引号、飞行计划号、飞行计划标识、飞行计划顺序号、飞行计划有效性标识、飞行计划航路点数量、飞行计划所使用的航路点索引号、航路点是否有效标识、航路点的过点切点属性;
17.其中,飞行计划所使用的航路点索引号的类型为int,数组大小为99;航路点是否有效标识的类型为char,数组大小为99;航路点的过点切点属性的类型为char,数组大小为99。
18.进一步地,所述压缩处理的具体过程为:
19.对于数据结构a中的飞行计划所使用的航路点索引号,将其编码为数据结构b中的数组destdbbitvector以及数组destusedindex,其中,destdbbitvector 用于表示航路点数据库中的航路点在飞行计划中的使用情况,如果对应序号的 bit位为1,则表示出现在该条飞行计划;设航路点数据库中的航路点数为n个,则该数组大小为n/8;将航路点的索引号进行编码,将所有n个航路点索引号编码为0至n-1,数组中第一个元素destdbbitvector[0]的最低位和最高位表示第0个和第7个航路点索引号是否出现在飞行计划中,数组中第二个元素 destdbbitvector[1]的最低位和最高位表示第8个和第15个航路点是否出现在飞行计划中,其余依次类推;数组destusedindex为unsigned char类型的数组结构,数组大小为飞行计划中的航路点数量m;destusedindex的值对应着飞行计划中航路点在数组destdbbitvector所解码出的航路点所组成的数组中索引的位置。
[0020]
进一步地,所述压缩处理还包括:
[0021]
对于数据结构a中的航路点是否有效标识,将原来的类型char采用位域的形式进行编码,具体为:设置unsigned char类型数组destvalid,数组大小为 m/8,用于表示航路
点是否有效,采用位域表示数据,每个航路点占用1bit,数组第一个元素destvalid[0]的最低位和最高位表示第0个和第7个航路点是否有效,第二个元素destvalid[1]的最低位和最高位表示第8个和第15个航路点是否有效,其余依次后推。
[0022]
进一步地,所述压缩处理还包括:
[0023]
对于数据结构a中的航路点的过点切点属性,将原来的类型char采用位域的形式进行编码,具体为:
[0024]
设置unsigned char类型数组destoverby,数组大小为13,用于表示航路点的过点切点属性,采用位域表示数据,每个航路点占用1bit,destoverby[0] 的最低位和最高位表示第0个和第7个航路点的过点切点属性,destoverby[1] 的最低位和最高位表示第8个和第15个航路点的过点切点属性,其余依次后推。
[0025]
进一步地,所述的数据结构b由飞行计划所使用的航路点号、航路点是否有效标识、航路点的过点切点属性信息进行压缩处理后的数据,以及数据结构 a中的编辑前的飞行计划索引号、飞行计划号、飞行计划标识、飞行计划顺序号、飞行计划有效性标识、飞行计划航路点数量构成。
[0026]
进一步地,ipdu2将接收到的数据结构b进行解析,将解析后的得到数据结构a,根据该信息对飞行计划数据库执行相同的数据操作,实现飞行计划数据库的双机同步。
[0027]
与现有技术相比,本发明具有以下技术特点:
[0028]
本发明针对直升机飞管数据库操作同步问题,提出了对航路点数据库和飞行计划数据库进行操作时数据结构的具体设计方法,并针对rs422数据总线带宽有限的约束,对数据如何在rs422总线进行传输提出了一种数据编码和压缩规则,能够实现易于人工解码和快速数据压缩。本发明提出的方法成功应用于某民用直升机综合显示控制单元中综合显示控制软件飞管模块和双机同步模块的开发,经实验和试飞验证,效果良好。
附图说明
[0029]
图1为实施例中航路点数据库操作同步过程;
[0030]
图2为表2格式数据转换为表3格式数据实例;
[0031]
图3飞行计划数据库操作同步过程。
具体实施方式
[0032]
由于一些型号综合处理显示单元之间的数据交互必须通过rs422总线,该总线的数据带宽有限,不能像传统的以太网进行高数据量的实时传输,因此必须针对该问题提出针对性的数据编码和压缩规则。本发明针对在人机界面交互过程中,对航路点数据库和飞行计划数据库进行编辑时如何进行数据库的同步,提出了对应的解决方法。
[0033]
本发明提供的一种直升机飞管数据库操作同步方法,包括:
[0034]
步骤1,对航路点数据库的同步操作
[0035]
定义单个航路点的操作数据结构,所述数据结构中的数据变量包括:修改的类型以及航路点数据信息;所述航路点数据信息包括:航路点类型、航路点号、航路点标识、航路点有效标识、用户航路点信息存储类型、航路点纬度、航路点经度、参考点编号、相对于参考点的方位角以及相对于参考点的距离;
[0036]
当用户在第一个直升机综合显示控制单元ipdu1修改了航路点的数据时, ipdu1根据当前用户的操作修改对应的数据变量,并将修改后的数据变量构成所述单个航路点的操作数据结构,然后将该数据结构发送给第二个直升机综合显示控制单元ipdu2;ipdu2解析所述数据结构,根据修改的类型以及对应的航路点信息,对本地航路点数据库执行相同的操作,写入航路点数据信息,实现航路点数据库的双机同步;
[0037]
步骤2,飞行计划数据库操作同步
[0038]
定义单条飞行计划数据操作数据结构,所述数据结构中的数据变量包括:修改的类型以及飞行计划的数据信息;所述飞行计划的数据信息包括:编辑前的飞行计划索引号、飞行计划号、飞行计划标识、飞行计划顺序号、飞行计划有效性标识、飞行计划航路点数量、飞行计划所使用的航路点索引号、航路点是否有效标识、航路点的过点切点属性;
[0039]
其中,飞行计划所使用的航路点索引号的类型为int,数组大小为99;航路点是否有效标识的类型为char,数组大小为99;航路点的过点切点属性的类型为char,数组大小为99;
[0040]
当用户在ipdu1修改了飞行计划的数据时,ipdu1根据当前用户的操作修改对应的数据变量,并将修改后的数据变量构成所述单条飞行计划数据操作数据结构a;当ipdu1需要将所述飞行计划数据操作数据结构发送给ipdu2时,需要先将飞行计划数据操作数据结构中的飞行计划所使用的航路点号、航路点是否有效标识、航路点的过点切点属性信息进行压缩处理并建立rs422传输数据结构b后发送给ipdu2;其中压缩处理的过程为:
[0041]
对于数据结构a中的飞行计划所使用的航路点索引号,将其编码为数据结构b中的数组destdbbitvector以及数组destusedindex,其中,destdbbitvector 用于表示航路点数据库中的航路点在飞行计划中的使用情况,如果对应序号的 bit位为1,则表示出现在该条飞行计划;假设航路点数据库中的航路点数为n 个,则该数组大小为n/8;将航路点的索引号进行编码,将所有n个航路点索引号编码为0至n-1,数组中第一个元素destdbbitvector[0]的最低位和最高位表示第0个和第7个航路点索引号是否出现在飞行计划中,数组中第二个元素 destdbbitvector[1]的最低位和最高位表示第8个和第15个航路点是否出现在飞行计划中,其余依次类推;数组destusedindex为unsigned char类型的数组结构,数组大小为飞行计划中的航路点数量m;destusedindex的值对应着飞行计划中航路点在数组destdbbitvector所解码出的航路点所组成的数组中索引的位置;
[0042]
对于数据结构a中的航路点是否有效标识,将原来的类型char采用位域的形式进行编码,具体为:
[0043]
设置unsigned char类型数组destvalid,数组大小为m/8,用于表示航路点是否有效,采用位域表示数据,每个航路点占用1bit,数组第一个元素 destvalid[0]的最低位和最高位表示第0个和第7个航路点是否有效,第二个元素destvalid[1]的最低位和最高位表示第8个和第15个航路点是否有效,其余依次后推;
[0044]
对于数据结构a中的航路点的过点切点属性,将原来的类型char采用位域的形式进行编码,具体为:
[0045]
设置unsigned char类型数组destoverby,数组大小为13,用于表示航路点的过点切点属性,采用位域表示数据,每个航路点占用1bit,destoverby[0] 的最低位和最高位表示第0个和第7个航路点的过点切点属性,destoverby[1] 的最低位和最高位表示第8个和
第15个航路点的过点切点属性,其余依次后推;
[0046]
所述的数据结构b由飞行计划所使用的航路点号、航路点是否有效标识、航路点的过点切点属性信息进行压缩处理后的数据,以及数据结构a中的编辑前的飞行计划索引号、飞行计划号、飞行计划标识、飞行计划顺序号、飞行计划有效性标识、飞行计划航路点数量构成;
[0047]
ipdu2将接收到的数据结构b进行解析,将解析后的得到数据结构a,根据该信息对飞行计划数据库执行相同的数据操作,实现飞行计划数据库的双机同步。
[0048]
实施例:
[0049]
a)航路点数据库操作同步
[0050]
通过ipdu的人机交互界面可以实时编辑航路点数据库,当航路点数据进行增删改操作的时候,需要同步至另外一台任务机,对其航路点数据执行相同操作。为实现航路点数据库基于操作的同步,设计了如下数据结构:
[0051]
表1单个航路点操作数据结构
[0052][0053]
当用户在ipdu1修改了航路点数据时,ipdu1将按照表1定义的数据格式发送修改的操作类型和对应的航路点数据信息给ipdu2,ipdu2解析接收到的航路点数据库操作信息,根据修改的操作类型和对应的航路点信息,对本地航路点数据库执行相同的操作,写入航路点数据信息,实现航路点数据库的双机同步。整个同步过程如图1所示。
[0054]
b)飞行计划数据库操作同步
[0055]
1)飞行计划数据库操作同步数据结构的设计
[0056]
用户通过ipdu的人机交互界面可编辑飞行计划数据库,当对飞行计划数据进行增删改操作的时候,需要同步至另外一台ipdu,让其对飞行计划数据执行相同操作。单条飞行计划最多航路点数为99个,为实现飞行计划数据库基于操作的同步,设计了如下数据结构:
[0057]
表2单条飞行计划数据操作数据结构
[0058][0059][0060]
分析表2中的数据结构后发现,对应的单包数据块大小超过了600字节,不满足项目组rs422单包数据300个字节的设计约束;由于表2是与数据库之间的操作接口,其中的信息是通过调用数据库得到的,无法修改;因此为了满足数据传输限制,需要对表2的数据进行重新编码,以保证通过rs422数据总线发送的单包数据大小不超过300个字节,重新设计后单条飞行计划操作时 rs422传输数据结构如表3所示。表2和表3的前7项数据完全一致,两者的的差异主要体现在表3对表2的第8、9、10项数据进行了重新编码,重新设计后的数据结构数据量可减少400多个字节,实现传输数据量的压缩。
[0061]
表3单条飞行计划操作时rs422传输数据结构
[0062]
[0063][0064][0065]
2)数据传输编码规则
[0066]
表2中的第9项和第10项数据分别对应表3中的第10项和第11项数据,原来这两项数据分别采用1个字节表示,总共占用198个字节,采用位域的形式进行编码,可使得数据压缩到26个字节。
[0067]
表3中的destvalid为unsigned char类型的数组结构,数组大小为13,用于表示航
路点是否有效,采用位域表示数据,每个航路点占用1bit,destvalid[0] 的最低位和最高位表示第0个和第7个航路点是否有效,destvalid[1]的最低位和最高位表示第8个和第15个航路点是否有效,其余依次后推。
[0068]
表3中的destoverby为unsigned char类型的数组结构,数组大小为13,用于表示航路点的过点切点属性,采用位域表示数据,每个航路点占用1bit, destoverby[0]的最低位和最高位表示第0个和第7个航路点的过点切点属性, destoverby[1]的最低位和最高位表示第8个和第15个航路点的过点切点属性,其余依次后推。
[0069]
表2中的第8项被编码为表3中的第8项和第9项数据。表3的第8项数据destdbbitvector用于表示航路点数据库中的航路点在飞行计划中的使用情况,如果对应序号的bit位为1,则表示出现在该条飞行计划;假设航路点数据库中的航路点数为400个,则该数组大小为50。将航路点的索引号进行编码,将所有400个航路点编码为0-399,destdbbitvector[0]的最低位和最高位表示第0个和第7个航路点是否出现在飞行计划中,destdbbitvector[1]的最低位和最高位表示第8个和第15个航路点是否出现在飞行计划中,如果使用航路点数据库中的第8个点,则destdbbitvector[1]的最低位置为1,其余依次类推。
[0070]
表3的第9项数据destusedindex为unsigned char类型的数组结构,数组大小为飞行计划中的航路点数量99。第一个航路点到第99个航路点分别是哪些,destusedindex的值对应着飞行计划航路点在destdbbitvector所解码出的航路点所组成的数组中索引的位置。
[0071]
举例如图2所示,destdbbitvector解码出来的飞行计划所使用的航路点号为0,5,10,20,同时destusedindex[0]=0,destusedindex[1]=2, destusedindex[2]=1,destusedindex[3]=3,destusedindex[4]=2,则表示该飞行计划的第0个航路点号为0,第1个航路点号为10,第2个航路点为5,第3个航路点为20。第4个航路点为10。
[0072]
3)同步过程
[0073]
当用户在一侧ipdu(ipdu1)修改了飞行计划数据时,ipdu1将生成的表 2所对应的飞行计划操作数据,数据编码模块根据编码规则,将表2的数据格式编码成表3所定义的数据格式并发送给另一侧的ipdu(ipdu2),ipdu2 将接收到的信息按表3的格式进行解析,将解析后的需要根据编码的规则进行反向解码,得到表2所定义的飞行计划数据信息,根据该信息对飞行计划数据库执行相同的数据操作,实现飞行计划数据库的双机同步,整个同步过程如图 3所示。
[0074]
以上实施例仅用于说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行同等替换;而这些修改或替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献