APP下载

基于元数据驱动的通用飞艇遥测数据解析方法

2022-11-08杨喜兵郭小伟

现代导航 2022年5期
关键词:数据项平流层飞艇

杨喜兵,郭小伟

基于元数据驱动的通用飞艇遥测数据解析方法

杨喜兵,郭小伟

(中国电子科技集团公司第二十研究所,西安 710068)

通过元数据和XML技术,提出建立数据字典和通用飞艇遥测协议解码方法来提高飞艇遥测协议报文的扩展性问题,建立一种基于元数据的通用飞艇遥测协议数据解码方法,同时基于数据字典技术开发了飞艇通用协议编辑辅助设计工具,方便用户对不同的飞艇遥测协议可拓展标记语言文件进行维护和扩展设计,最后在某型飞艇遥测数据监控软件中应用该通用数据解析方法,实验结果表明,该方法可以满足通用飞艇遥测数据通用解析的要求。

飞艇遥测;元数据;数据字典;通用解析

0 引言

平流层飞艇是一种工作在平流层的新型浮空飞行器,它的主要工作原理是在囊体内充入比空气密度低的气体来产生上升的浮力,同时带有飞行动力控制功能[1-4]。平流层稳定的气象条件和良好的电磁特性,使平流层飞艇在通信、预警和侦察、电子对抗等军民领域有着广阔的应用前景。目前,国内外多个单位已开展了平流层飞艇的研制工作,并成功完成了多次平流层飞艇飞行试验。

平流层飞艇飞行试验之前需在地面开展测试以保证飞艇测控、安全控制等关键分系统功能正常和全系统高可靠长时间运行。作为地面测试的重要组成部分,飞艇遥测数据监控软件可以对地面测试过程中飞艇各个设备及分系统的参数进行监测和数据显示。但是不同研制单位所采用的飞艇研究技术不同,导致遥测数据的协议格式往往存在差异性,测试前需要专门开发各型飞艇的遥测数据解析软件,这种做法耗时耗力且通用性差。此外随着飞艇的不断发展和升级,飞艇的设备和子系统在不断增加,这对协议解析软件提出了可扩展性的要求。因此如何将不同飞艇遥测数据的协议统一解析处理是当下急需解决的问题。

处理上述问题,元数据是一个很好的技术方案。元数据是描述数据的数据范式,它通过统一的方法对数据格式进行描述,然后用统一的处理方式来处理描述结果。另外元数据往往是用数据字典的方式静态存储,可拓展标记语言(Extensible Markup Language,XML)经常用来描述元数据,作为它仅在程序运行过程中起着解释方式控制行为的作用,与程序编译无关。其中有的在火控系统领域,结合元数据、数据字典和XML技术建立了火控系统和通用协议解码方法,有的在工业控制领域研究提供基于元数据驱动的通用电文解析[2],有的基于在指挥控制系统领域设计可变消息格式的报文解析工具,在多平台数据环境中设计了解析工具[6]。本文将结合元数据和数据字典领域当前的研究现状,采用XML描述的报文数据结构和约束条件,建立一种通用飞艇遥测数据解码方法。

1 协议信息数据结构

为了保证飞艇遥测数据通信的实时性,通常使用用户数据报文作为数据传输的报文协议,一般由三部分组成,分别为报文头、报文内容以及报文尾。其中报文头存放一些报文类型、报文长度、报文时间等信息;报文尾一般由校验和或者特定的字符表示;报文内容是需要传输的数据内容,一般都为二进制原始数据,具有编码性质,根据不同飞艇传输的数据不同,编码的实际含义不同。用户数据报协议(User Datagram Protocol,UDP)通信报文的结构如图1所示。

图1 报文基本结构

每一个飞艇遥测数据协议由多个元数据(Item)组成。元数据都有自己的相关属性,这些属性由协议文档对数据元的约束条件以及协议文档的组织结构规范化定义组成。这些属性信息都是描述报文元数据结构的特征信息,包括元数据ID、元数据名称、占用比特位数、数据元位置、大小端类型、数据类型、偏移量、步进量和单位等。其中元数据ID用于元数据的全局唯一标识;元数据名称用于用户界面显示元素项;占用比特位数用于确定元数据在报文中的数据长度,长度单位为bit;数据元位置是该元素项在协议中所占的索引位置;大小端类型是标识该元数据编码时字节填充的顺序;数据类型为元数据的数据类型;偏移量是元数据解码时需要叠加的基础数值;步进量标识该元数据编码时的量纲系数;单位是该元数据项的显示时的单位名称。

2 数据字典设计实现

考虑到适应不同飞艇遥测数据的解析问题,对元数据提出了可以进行动态新增、删除和修改的需求,同时也可以对元数据的约束条件和协议数据的格式定义进行描述和限制[10],为了更好地描述飞艇遥测数据信息以及方便对报文数据信息进行修改和扩展,结合XML良好的可扩展性,非常适合用来描述元数据,故采用XML文件描述飞艇遥测数据的所有相关信息。

这里飞艇遥测数据的特征存在两个特点,一是飞艇遥测数据协议都是基于字节或者比特流元数据组成,元素编码值都是有符号整数或者无符号整数且比特流元素项一定是整字节的;二是飞艇遥测数据协议是定长协议,不存在不定长协议。

如图2所示是XML配置文件的一个例子,主要结合某飞艇遥测数据协议部分字段的XML描述,其中元素节点代表协议名称;是协议描述信息;描述的是报文头相关的信息;HeadLength是报文头长度;HeadStartPos代表头的起始位置;HeadStartValue=0xAA是报文头的一个字节,内容是0xAA;代表每一个元素项的定义,其中itemID表示唯一标识;offset表示偏移量;startBitPos表示开始索引;isBigEndian表示是否为大端;dataType表示数据类型;unit表示单位;endBitPos表示结束索引;bitLength表示元素项比特长度;precisionStep表示步进量;itemName表示元素项名称;isFloat表示实际值是否为浮点数。

图2 报文结构示例

3 通用协议报文解析设计

针对第2节定义的协议XML文件,设计一种通用解析飞艇遥测监测原始二进制数据流的方法,将数据流和配置文件中的内容一一对应,取出遥测原始数据中的真实值。如图3所示,具体流程如下:

1)初始化协议XML文件,将XML加载在程序内存中;

2)读取XML文件中报文头定义的数据长度,与实际原始二进制数据的长度比较,如果长度一致,进入下一步,不相等则退出流程;

3)读取XML文件获取报文数据段的起始索引位置以及元数据项的总个数,设置解析元数据Index=0;

4)索引Index++,根据索引index获取当前解析的元数据项;

5)判断当前解析解元数据项为字节数据项还是比特流数据项,如果是字节则按照字节数据项解析,如果是比特则按照比特流数据项解析,最后更新数值;

6)判断当前index是否等于元数据项个数,如果等于则代表当前数据项为最后一个数据项,则解析完成,否则进入第4)个步骤;

图3 通用报文解析算法流程图

4 实验验证

开发环境选用QT5.9.8[5,6],运行操作系统是Windows 10操作系统,数据库选用开源的SQLite数据库,数据源采用人工模拟飞艇遥测数据。如图4所示,实验由三部分软件组成:

1)飞艇协议通用编辑工具;

2)飞艇协议数据模拟器软件;

3)通用飞艇遥测监控软件。

其中飞艇协议通用编辑工具主要完成飞艇协议数据XML文件的编辑和管理功能;飞艇协议数据模拟器软件按照XML文件定义的协议格式模拟生成遥测数据的原始二进制数据并通过用户数据报文协议发送出去;通用飞艇遥测监控软件提供飞艇协议管理和协议数据实时查看功能。

图4 实验组成原理图

具体过程为:

1)按照实际飞艇遥测数据协议格式,用户使用通用飞艇协议编辑软件将协议数据生成为XML文件,如图5所示。

图5 协议编辑软件

2)飞艇遥测数据模拟器软件按照遥测数据实际的数据格式打包,通过网口UDP组播发送给遥测数据监控软件,如图6所示。

图6 遥测设备数据模拟器

3)打开遥测数据监控软件,双击飞艇单元格进行字段信息修改,其中协议文件选择需要右键菜单选择刚刚生成的遥测数据XML协议文件,选择.xml文件进行添加,最后点击保存按钮进行保存,如图7所示。

图7 给飞艇添加XML文件

4)打开遥测数据监控软件,选择飞艇新建遥测监测任务,点击开始任务,实时显示飞艇的遥测数据信息数据如图8所示。

图8 实时遥测数据显示

5 结语

本文按照飞艇遥测数据的数据结构,利用XML的技术特点,用XML配置文件形式描述了元数据信息,设计了基于元数据的通用的飞艇遥测数据解析方法,解决了不同飞艇遥测数据实时监测的问题以及飞艇遥测数据协议可扩展性问题。同时,基于数据字典技术开发了飞艇通用协议编辑辅助设计工具,方便用户对不同的飞艇遥测协议XML文件进行维护和扩展设计,最后在某型飞艇遥测数据监控软件中应用该通用数据解析方法,实验结果表明,该方法可以满足飞艇遥测数据通用解析的要求。

[1] 杨秋萍,席德科. 飞艇技术发展现状与趋势[J]. 航空制造技术,2010(19):4.

[2] 赵达,刘东旭,孙康文,等. 平流层飞艇研制现状、技术难点及发展趋势[J]. 航空学报,2016,37(1):45-46.

[3] 夏中贤. 平流层飞艇总体性能与技术研究[D]. 南京:南京航空航天大学,2006:6-16.

[4] 李海刚,高欣. 基于元数据驱动的通用电文解析技术[J]. 控制工程,2013,20(S1):142-145.

[5] (美)索林(Solin, P.)著,袁鹏飞译. 24小时学通Qt编程[M]. 北京:人民邮电出版社,2000.

[6] (加)布兰切特(Blanchette,J.),(英)萨默菲尔德(Summerfield,M.)著,闫锋欣等译. C++ GUI Qt4编程[M]. 2版,北京:电子工业出版社,2008.

[7] 甘晓华,郭颖. 飞艇技术概论[M]. 北京:国防工业出版社,2005:49-52.

[8] 刘宏波,鲁杰,王永斌,等. 数据字典在转换工具中的应用设计[J]. 计算机工程与设计,2009,30(24):5612-5615.

[9] 胡文琳,丛力田. 平流层飞艇预警探测技术进展及应用展望[J]. 现代雷达,2011,33(1):5-7.

[10]张晓林. 元数据开发应用的标准化框架[J]. 现代图书情报技术,2001(2):9-15.

Analysis Method of Universal Airship Telemetry Data Driven by Metadata

YANG Xibing, GUO Xiaowei

Through metadata and XML technology, the establishment of a data dictionary and a general airship telemetry protocol decoding method to improve the scalability of airship telemetry protocol packets is proposed, a metadata-based general airship telemetry protocol data decoding method is established. At the same time, based on the data dictionary technology developed an airship general protocol editing aided design tool, which is convenient for users to maintain and extend the design of different airship telemetry protocol XML files. Finally, the general data analysis method is applied in a certain type of airship telemetry data monitoring software. The experimental results show that this method can meet the general analysis requirements of general airship telemetry data.

Airship Telemetry; Metadata; Data Dictionary; General Parsing

V274

A

1674-7976-(2022)-05-369-05

2022-04-21。杨喜兵(1990.01—),陕西榆林人,硕士研究生,工程师,主要研究方向为计算机软件与理论。

猜你喜欢

数据项平流层飞艇
青藏高原上空平流层水汽的时空演变特征
基于副气囊的平流层浮空器高度控制
一种多功能抽签选择器软件系统设计与实现
非完整数据库Skyline-join查询*
基于Python的Asterix Cat 021数据格式解析分析与实现
1979~2011年间平流层温度及平流层水汽的演变趋势
派个飞艇去火星
“平流层”是个啥——话说飞行高度
飞艇的前世今生(下)
飞艇的前世今生(中)