【信息科学与控制工程】
数据字典在火控系统报文解析中的应用
王瑞雪,张振华,张 宾,程子兵,段笑笑
(北方自动控制技术研究所, 太原 030006)
摘要: 结合元数据、数据字典和XML技术,提出建立数据字典和通用协议解码方法来提高火控系统报文解码可扩展性。建立了火控系统数据字典和通用协议解码方法,增强了报文解析的扩展性,实现了上层应用与协议的松耦合。开发了一个具有界面操作和显示功能的火控系统通用报文解析工具,使用报文解析工具进行测试验证了火控系统数据字典和通用协议解析方法在报文解析上的高可扩展性。实验结果表明,数据字典与通用的协议解码方法能够达到报文频繁变更带来的报文解析可扩展性要求。
关键词: 可扩展标记语言;数据字典;火控系统;报文解析工具
元数据是描述数据的数据,描述了资源信息所具有的根本特征信息,数据字典是一种元数据的管理系统,为元数据提供了一个集中存储空间。经常使用可扩展标记语言(XML)来描述元数据,将元数据描述集中存储生成数据字典。
1.4 统计学方法 采用SPSS 19.0统计学软件对数据进行处理。计量资料以均数±标准差表示,组间比较采用t检验;计数资料以例(百分率)表示,组间比较采用χ2检验。以P<0.05为差异有统计学意义。
参考文献就关于XML和数据字典的开发与应用进行了研究与探讨,其中有的针对XML文件在边境指挥信息系统领域、军事装配技术和武器装备保障领域中存储模型数据、实现数据格式互转和传输协议互通进行了研究。有的基于元数据描述语言构建了海量实验数据管理平台[1]、实现格式化数据链消息向结构化XML文档的转化[2]和消息字典[3]。有的在工业控制领域提出了多协议报文解析方法[4]、通用电文解析技术[5],在指挥信息系统领域设计了可变消息格式的报文解析工具,在多平台数据环境下设计了解析工具[6]。现在元数据和数据字典在指挥系统和工业等领域多有使用,虽然在国内的火控领域也提出了元数据和数据字典概念,但只是用于规范数据本身。
在炮兵压制武器领域,指挥信息系统报文变更、报文类型随炮兵各系列武器差异较大、弹种和设备扩展改进等导致的报文变更问题较为突出。首先,随着各级指挥信息系统报文不断优化变更(“067”报文协议2015年9月版和2016年8月版),导致炮兵压制武器火控系统报文协议进行适应性改进。其次,不同炮兵武器平台和不同系列火箭炮、身管炮火控系统往往开发了各自的报文编解码应用软件,导致编解码软件通用性差。最后,随着新型传感器的发展,火控系统中新增弹种和设备,也对火控系统报文解码提出了报文解析的可扩展性要求。
为了解决上述的3个问题,结合数据字典领域的当前研究现状,和数据字典可以将数据流分解为具有实际含义数据值的功能。采用XML描述报文数据结构和约束条件的方法,建立指挥信息系统报文变更、炮兵各系列武器平台火控系统不同以及弹种和设备扩展等原因导致的火控系统报文变更的通用报文解码方法。
1 协议信息数据结构
为了保证火控系统通信的安全可靠与实时性,经常使用CAN协议作为通信报文的传输协议。CAN通信报文的结构如图1所示。
图1 CAN报文结构
其中CAN报文由CAN报头与CAN数据组成。其中CAN报头由报文端口号等信息组成,报文数据项里包含真正需要传输的数据信息内容。一般都为显示为十六进制数的二进制原始数据,具有编码性质和内容“块”的特点,根据不同的通信协议,有不同的编码含义。
第二个“5”是50万吨基础性氟化工材料。“目前瓮福掌握了全球唯一的磷矿伴生氟资源回收利用核心技术并率先实现商业化,变废为宝。目前已形成四条生产线共10万吨无水氟化氢产能。计划‘十三五’‘十四五’初在国内形成20万吨、海外布局30万吨产能,成为全球最大、最具竞争力的战略性氟资源供应商。”
对于每一个火控系统数据元,都要对它的所有约束信息和火控系统协议数据的组织结构进行规范化定义。这些信息就是描述报文元数据结构的关键信息。包括元数据ID、元数据名称、元数据长度、长度单位、编码类型、编码名称和编码描述等内容。其中,元数据ID用于报文描述时确定元数据;元数据名称用于报文可视化组装过程,将数据信息注入,是元数据全局使用的标识;元数据长度用于确定元数据在报文中占据的数据长度,长度单位分为Byte和Bit两种(Byte是1个字节有8位,而Bit就是一位,是0或1);编码类型、编码名称和编码描述主要用于报文在可视化组装过程中,解析代码的自动生成过程。根据元数据名称,应用元数据组建火控系统数据池,包含了所有要用到的火控系统元数据。
由于炮兵压制武器领域存在的报文频繁变更问题,对元数据提出了可以进行动态添加、删除和修改的操作的需求。同时也要对火控系统数据元的约束信息和协议数据的组织结构进行描述和限制。考虑到这些需求,为了达到更好描述火控系统报文数据信息和方便对报文数据信息进行修改和扩展的目的,结合XML允许用户自定义所需标记、可进行无限扩展、定义任意复杂度结构等性质,采用XML文件描述对于火控系统元数据的所有约束信息和报文数据组织结构。
虽然鄱阳湖生态经济区仅占约三成的全省国土面积,但是承载了近半数的全省人口,更是创造提供了全省经济总量约60%。该区域具有促进经济与生态协调发展的良好条件,是正在加速形成的中部地区增长地之一,是珠江三角洲、长江三角洲等重要经济板块的直接腹地。鄱阳湖生态经济区的功能是多元化的,建设目标也是综合型的,从生态环境出发,旨在建设成为长江中下游水生态安全保障区;从经济发展出发,旨在建设成为加快中部崛起重要带动区;从流域综合示范出发,旨在建设成为全国大湖流域综合开发示范区;从生态经济协调发展出发,旨在建设成为国际生态经济合作重要平台。
2 数据字典实现
根据第1节中的报文的数据结构,设计火控系统报文协议的XML描述格式,使用前需要事先编辑好XML配置文件,保存至本地,等待使用。
由于XML具有良好的可扩展性,XML非常适合用来描述元数据。采用XML文件描述元数据的约束信息和数据结构信息,这样做的优点是:数据字典结构清晰,具有良好的可维护性和可扩展性,而且在生成难度较低的同时具有很高的生成效率。下面以定位信息报文为例,展示存储数据字典的XML配置文件内容格式。
3) 校验报文字段的位置与长度,与元数据池中对应的元数据名的变量相对应进行复制,更新数据池中的元数据值。
<?xml version=“1.0” encoding=“UTF-8”?>
<Protocol name=“xx报文” id=“0x01” start=“1” len=“1”>
功能检测:可扩展性,改变协议内容,如交换两个元数据的位置,只更改XML配置文件的内容,将X ,Y 位置交换,然后解析数据,发现解析后数据的值位置发生变化。
<MetaData name=“zb_weidu” transRule=“Int2Double” transFormula = “X=X/1 000 000” uint=“byte” start=“2” len=“4” />
《瓯越语语汇研究》以瓯语为例,论证了建立方言语汇学的必要性和可能性,认为汉语方言语汇学要有中国特色。作者指出:“在印欧语言里,没有与汉语方言中‘语’相应的语言单位”,“因此西方语言学理论和方法不适应汉语方言语汇研究,必须构建有中国特色的方言语汇学,从方法论的角度,探索汉语方言语汇学的研究方法”。这是此书立论的基础,也是此书的核心观点。全书的具体论述都是由此展开的。
<MetaData name=“zb_ jingdu” transRule=Int2Double” transFormula=“X=X/1 000 000” uint=“byte” start=“6” len=“4” />
<MetaData name=“zb_ weidu” transRule= “” transFormula = “” uint=“byte” start=“10” len=“2” />
</ Protocol>
针对XML协议配置文件,引用TinyXML开源库,设计一种解析原始数据流的方法,将数据流与配置文件中的内容一一匹配,刷新数据池中的元数据值。流程如下:
近期(10月 29日-11月 2日),中国化肥批发价格综合指数持稳运行。11月5日中国化肥批发价格综合指数(CFCI)为2319.29点,环比下跌5.52点,跌幅为0.24%;同比上涨317.21点,涨幅为15.84%;比基期下跌59.58点,跌幅为2.50%。
1) 读取XML配置文件后,判断文件是否存在且格式正确,如果正确进入下一步,如果不正确,直接结束进程;
2) 读取报文标识位,计算报文类型ID,判断与XML配置文件中的默认报文ID是否一致,如果一致则进入下一步,如果不一致,则返回上一步,遍历报文标识位,匹配相应的报文配置段;
下面是XML配置文件的一个示例,主要展示了定位信息的XML描述,这段代码对报文里每个元数据的约束信息都清晰详细的进行了描述:
各个组成模块的具体功能:
3 解析工具的设计
报文解析工具由五个模块组成:数据读取模块、数据处理模块、读取XML配置文件模块、数据字典模块和结果显示模块。
访谈中,庄浩一再强调时代背景对于创业的重要性。在她看来,其赶上了中国发展速度最快的十年,而这个时期正是个人能力体现的最佳时机。确实,在改革开放的大背景下,涌现了一批“下海”试水的勇者,其在享受着急速扩容的经济规模和不断升级的消费能力所带来的发展红利的同时,也会面对因未跟上快速发展步伐而被淘汰的窘迫,所以创新成为企业发展甚而生存的必然。
1) 数据读取模块:访问数据库,在线查询数据,将查询后的数据缓存到内存中,进入数据处理模块处理后解析;
2) 数据处理模块:判别原始数据中的伪报头与校验码,根据各个协议的具体要求,输出相应的数据结构;
3) 读取XML配置文件模块:XML配置文件是数据字典的存储形式,用来描述元数据模型,保存了对于元数据的所有约束信息和报文数据的组织结构,通过这个模块将XML文件读入;
4) 数据字典模块:数据处理模块输出的数据结构与读取XML配置文件模块中的报文数据信息进行匹配,同时与数据字典对应元数据进行匹配,将数据信息赋值给数据池中的元数据,向结果显示模块输出数据信息,完成二进制数据向可视化数据转化的解码工作;
5) 结果显示模块:将数据解析的结果信息显示在界面,将报文数据信息可视化。
通过Langmuir方程计算出不同压力下储层饱和吸附气体时的气体含量,如图1所示,饱和气体吸附体积随压力增加而增加,当压力超过15 MPa后,气体含量增加幅度逐渐减小。然后使用式(2)计算不同气体含量(包括相对应的压力)时的平均密度和平均体积模量,计算结果如图2所示,可以看出,平均密度和平均体积模量都随着气体含量增加而减小,其中平均密度减小幅度较小,而平均体积模量的减小量在初始吸附气体时下降较快,之后下降量逐渐减缓。
Qt是一个用C++编写的跨平台开发框架,具有良好的跨平台界面开发软件,对象主要采用了信号和槽的通信方式,信号和槽机制可实现各模块间的松耦合,使用Qt编程可以增强软件的可扩展性和可移植性。
在开发时,采用Qt软件开发C++程序,使用QtCreator完成:使用MySQL与C++的接口函数操作数据库读取相应数据;对数据库中查询到的原始数据进行数据处理;调用数据字典方法;读取XML配置文件。采用QtDesigner设计用户界面,提高软件的人机交互性能。
运行系统为Linux系统,软件为已完成的报文解析工具。
4 验证
医用耗材SPD信息化建设打通了医院与上游供应商之间的信息互通,保证了耗材使用安全,有据可循,科学规范,改善了医疗服务质量,实现了医用耗材的精细化管理,降低了管理成本,加强和改善内部控制,为医院管理决策提供有力的依据。伴随信息技术的发展、行业政策的转变,医院的信息化建设将一直处于相对静止的动态变化过程中,并逐步向信息集成、资源共享的纵深领域发展。总之,信息化建设是促进医院现代化建设、提高医院管理效益和医疗服务质量、提升医院综合竞争力的不可缺少的必要因素,医用耗材SPD系统应用的深度和广度必将不断拓延,持续向低成本、高效率、高实用性的模式转变,为医院信息化建设提供有益借鉴。
数据来源为已存储在数据库的CAN通信原始数据,是火控系统在正常工作状态下,各个单体相互通信的数据。
实验过程是:启动解析工具,选择查询条件参数,从数据库查找出信息后会在界面显示原始数据,选中待解析的一条数据,加载XML配置文件,进行匹配解析,将解析结果显示在界面。
[23][30]中国旅游研究院:《〈中国入境旅游发展年度报告2018〉在京发布》,http://www.sohu.com/a/238091204_124717,2018年6月27日。
图2为某火控系统中,两个单体通信数据的解析结果,可以看出解析工具将元数据清晰地解析并显示。
图2 数据解析结果
原始配置文件如第二节所示,修改后的配置文件如下:
<?xml version=“1.0” encoding=“UTF-8”?>
<Protocol name=“xx报文” id=“0x01” start=“1” len=“1”>
<MetaData name=“zb_weidu” transRule=“Int2Float” transFormula = “X=X/10 000” uint=“byte” start=“6” len=“4” />
吕凌子终于在星期三下午接到了生产厂家打来的电话,那会她正收拾好办公桌上的资料,准备下班。给她打电话的是个男中音,充满磁性。男中音自称负责售后的一名工作人员,说两家防盗门可以互开纯属偶然现象,这样的事情居然出现在同一个城市同一个小区同一幢楼的上下层,其概率比买福彩中头奖的概率还低,不能不说是个奇迹。
<MetaData name=“zb_jingdu” transRule=Int2Double” transFormula=“X=X/10 000 000” uint=“byte” start=“2” len=“4” />
起初,事情的发展是相当不顺利,但也可以说是相当顺利了。此话怎讲?丁珰的爷爷丁不三出现了。丁不三武功高强,却看不上狗杂种的朴实木讷,但自己孙女非他不嫁,丁不三于是起了杀心,千方百计要棒打这对鸳鸯。所以说,这两人的感情进展并不顺利。可是,机智的读者早已发现,此事之中必有蹊跷。这种套路好像在哪见过,江湖中的情侣哪一对不是打成的,郭靖和黄蓉,杨过和小龙女,不都是越打越恩爱。与其说丁不三是来搞事情的,不如说是来助攻的僚机。果不其然,这个傻孙女婿没打跑,反倒折了自己玄冰碧火酒:
图3为在XML配置文件中修改了经度、纬度的相关描述信息,经纬度位置互换,对经度和纬度的编码类型和描述进行了更改,并且删除了高度信息的描述。
图3 修改XML后解析结果
5 结论
本文按照火控系统协议的数据结构,针对火控系统报文信息的组成原则和数据特征,结合XML的优势,用XML配置文件描述元数据信息,设计了通用的协议解析方法,解决了指挥信息系统报文变更、各系列炮兵压制武器平台差异和弹种设备扩展导致报文解码扩展性差的问题。同时,基于数据字典技术开发了一个火控系统报文解析工具,具有界面操作和显示功能,既可以验证数据字典的可扩展性,又可以作为辅助软件应用在火控系统中。
本文首次将数据字典应用于火控系统软件应用开发中,建立了火控系统跨平台通用报文解析方法;增强了火控系统报文解码的可扩展性;实现了火控软件与协议松耦合,削弱了协议信息组织方式变化对上层应用的影响。
参考文献:
[1] 刘斌.基于元数据的海量试验数据管理系统研究与设计[J].微电子学与计算机,2012,29 (4):158-161.
[2] 王阵,彭来献,赵文栋.基于XML的数据链信息描述方案[J].军事通信技术,2014,35(1):59-63.
[3] 张立松,晏敏.基于XML的消息字典[J].计算机工程与设计,2004(5):817-820.
[4] 吴建斌,邹佩江.基于XML的多协议报文解析的方法与实现[J].电子测量技术,2017,40(3):168-172.
[5] 李海刚,高欣.基于元数据驱动的通用电文解析技术[J].控制工程,2013,20(S1):142-145.
[6] 刘宏波,鲁杰,王永斌,等.数据字典在转换工具中的应用设计[J].计算机工程与设计,2009,30(24):5612-5615.
Application of Data Dictionary in Fire Control System Protocol Analysis
WANG Ruixue, ZHANG Zhenhua, ZHANG Bin, CHENG Zibing, DUAN Xiaoxiao
(North Automatic Control Technology Institute, Taiyuan 030006, China)
Abstract : Combined with metadata, data dictionary and XML technology, it established data dictionary and general protocol decoding method to improve the scalability of message decoding in fire control system. The innovation lies in the establishment of the fire control system data dictionary and the general protocol decoding method, which enhances the scalability of message parsing and realizes the loose coupling between the upper layer application and the protocol. Based on the data dictionary and the general protocol decoding method, a general message parsing tool for the fire control system with interface operation and display function was developed. By using the message parsing tool for test verification, the high scalability of the fire control system data dictionary and the general protocol parsing method in message parsing was verified. The experimental results show the data dictionary and the general protocol decoding method can meet the message parsing scalability requirements caused by frequent packet changes.
Key words : extensible markup language; data dictionary; a message analysis tool for fire control system
收稿日期: 2019-01-20;修回日期:2019-02-15
作者简介: 王瑞雪(1995—),女,硕士研究生,主要从事系统工程研究。
通讯作者: 张振华(1980—),男,高级工程师,主要从事系统工程研究。
doi: 10.11809/bqzbgcxb2019.04.046
本文引用格式: 王瑞雪,张振华,张宾,等.数据字典在火控系统报文解析中的应用[J].兵器装备工程学报,2019,40(4):190-192.
Citation format :WANG Ruixue, ZHANG Zhenhua, ZHANG Bin, et al.Application of Data Dictionary in Fire Control System Protocol Analysis[J].Journal of Ordnance Equipment Engineering,2019,40(4):190-192.
中图分类号: TP311.1
文献标识码: A
文章编号: 2096- 2304( 2019) 04- 0190- 03
(责任编辑 唐定国)
标签:可扩展标记语言论文; 数据字典论文; 火控系统论文; 报文解析工具论文; 北方自动控制技术研究所论文;