首页 > 文章中心 > 正文

作战系统网络通信描述与方法及实现

作战系统网络通信描述与方法及实现

摘要:基于可扩展标记语言结构化、通用化等特点,文章在分析作战系统网络通信协议基本组成及描述、验证需求的基础上,开发了一种通用化的网络通信协议编辑软件,采用图形化人机界面的方式,方便用户快速进行作战系统网络通信协议的制定、编辑和描述,并通过XSD文件进行协议描述文件的格式校验,软件支持将描述的协议内容按照预定模板,自动生成通信协议文件,方便系统设计人员进行通信协议文件的编制和修改,提高了通信协议开发和维护的效率。

关键词:XML结构化描述;XSD格式校验;协议内容预览;协议文件生成

0引言

随着现代舰艇作战系统的快速发展,在舰艇作战系统设计中存在大量的网络通信协议,这些协议控制或规范着网络中各节点间信息传输机制和信息内容。面对作战系统通信协议的日益膨胀,传统依靠系统设计人员手动开展文档化的通信协议制定方式存在着设计效率低、易出错、版本管理困难、不利于格式校验和错误检查等缺点,已逐渐无法适应现代舰艇作战系统通信协议的设计、开发和维护要求。在作战系统通信协议的设计过程中,往往需要经过多轮的验证和迭代,最终才能形成定稿的通信协议版本。目前系统通信协议设计人员多利用Word工具,以表格和文本形式手动制定并描述网络通信协议,和开展协议版本更新和维护,自动化程度不高,严重影响工作效率,不利于控制系统整体设计进度和管理协议文件技术状态。从实际工作角度出发,为提高系统通信协议设计开发效率,便于开展协议文件的自动化校验及后续的基于规则(协议内容和交互流程)的自动化测试,本文针对网络通信协议的特点,遵循基本协议制定规则,提出一种通用化和结构化的协议描述方法,开发了基于图形界面的通信协议编辑软件,方便用户进行协议内容的设计与编辑,软件基于XML语言进行协议规则化组织、存储,对于生成的协议描述文件利用对应的XSD文件进行格式校验,并最终通过模板自动生成通信协议文件,极大地提高了协议设计效率,提升了协议的可靠性,也为后期的协议更改和升级维护提供了极大的便利。

1网络通信协议的基本组成分析

通常,舰艇作战系统的网络通信协议一般为一组协议集,协议集中可包含多个协议,每个协议中又包含一条或多条报文。一条完整的报文由报文基本属性、报文头和用户自定义报文段三部分构成。报文基本属性包括报文名称、协议类型(TCP/UDP)、传输频次、传输形式(点对点、组播、广播)、发送时机、报文说明等。报文头一般由报文标识、报文长度(定长或变长)、发方IP和端口号、收方IP和端口号、发送时戳等属性组成。用户自定义报文段是根据实际业务需求,由用户自己定义的报文字段内容和约束,一般分为按“字节”和按“位”两种数据描述类型。用户自定义报文段可以是上述两种数据类型的组合。

2描述语言介绍

XML指可扩展标记语言,用于标记电子文件,使其具有结构性的标记语言。它是一种跨平台的、依赖于内容的技术,也是当今处理分布式结构信息的有效工具,是描述数据和交换数据的有效手段。XSD指XML结构定义。它描述了XML文档的数据模型、数据约束和数据内容,它定义了可出现在文档中的元素、属性、子元素、子元素的次序、数目、元素是否为空、元素和属性的数据类型、默认值以及固定值等内容。

3协议描述方法

基于通信协议的标签自定义、变长、嵌套等特点,考虑其扩展性、易描述性及易修改性等因素,采用XML进行通信协议的设计与描述。同时,采用XSD进行协议格式校验,确保协议格式的正确性和符合性。按照通信协议的基本组成,制定了单个协议的XSD文件,具体描述了单条报文中的元素组织结构及约束。

3.1创建协议描述文件

一个协议描述文件创建包括三种方式,分别为按空模板创建、按基础模板创建和按类型模板创建描述文件。按空模板创建,用户需填写协议文件名称、存储路径和说明,其中协议说明内容为选填项。按空模板创建方式会产生一个空协议文件,仅包括协议文件的基本信息,无报文实质内容。后期需要用户手动添加报文基本属性、报文头和用户自定义数据段内容。按基础模板创建和按类型模板创建协议文件,需要用户选择对应模板,程序按照此模板中已有内容创建新的协议,用户根据需要修改特定的元素内容或添加自定义数据段内容,目的是减少设计工作量,提升协议设计和制定的效率。

3.2添加并描述报文信息

首先向协议中添加报文,协议中可包含的报文数量为0~∞。其次按照报文XSD中规定的协议基本属性和报文头,开展对应部分的设计描述。最后开展用户自定义报文段的设计描述。用户可在报文头后添加用户自定义报文段,一条报文中可包含的用户自定义报文段数量为0~∞。每个用户自定义报文段包括报文段属性和数据内容,报文段属性包括字段名称、类型和长度。根据实际业务需要,用户自定义报文段可包含“位”或“字段”两种类型。由于按位描述时一个字段长度可包含多个位段数据,因此位段数据可以是一个或多个,其余未定义位段默认为空。

3.3文件校验与保存

协议中包含的报文描述完成后,利用XSD自动进行格式校验和数据检查,若出现格式或数据异常,给出错误信息并提示用户修改,若检查无误,将按照自定义XML文件格式自动将协议信息进行组织转化,并将文件保存在指定路径下。

4协议文件格式校验方法

QT提供了方便XML文件格式校验的类QxmlSchemaValidator,利用该类提供的validate方法,可完成对指定XML文件的格式校验。

5协议描述文件预览

为突出协议描述文件的层次化和结构化,便于预览,将协议文件预览分为两部分,一部分采用树形结构形式,主要用于编辑、显示协议的组织层次结构和内容,另一部分采用内嵌浏览器的方式,浏览协议描述文件(XML)的内容。该预览方式具有以下优点:

(1)支持左右两侧显示内容的实时对比查看;

(2)保留协议的层次结构,协议结构一目了然;

(3)支持关键字段高亮或颜色区分显示,内容显示更加清晰;

(4)支持显示内容的缩放、段落折叠,方便协议预览。协议描述文件的预览方法是通过访问COM组件的方式,调用系统自带的IE浏览器,实现通信协议文件的内容预览。QT提供了QaxWidget类帮助访问COM组件,IE浏览器对应的COM组件为MicrosoftWebBrowser。程序中插入QaxWidget控件,在QaxWidget控件中选择MicrosoftWebBrowser的ActiveX控件,设置MicrosoftWebBrowser的相关属性。创建QaxWidget类对象,通过调用对象的dynamicCall类方法,实现协议文件在浏览器中的加载显示。

6通信协议文件的自动生成

QT提供了QaxWidget和QaxObject类帮助访问COM组件,程序通过COM组件调用方式访问word程序,利用word提供的COM接口,自动实现通信协议文件的创建、内容填充、保存等功能,最终自动生成符合模板格式要求的通信协议文件。供系统设计人员进行协议分发和存档使用。通信协议文件自动生成的具体步骤如下:

(1)创建并编辑一个通信协议文件模板,设置模板的文档标签,保存为template.dot;

(2)初始化COM组件,创建一个QaxObject对象,指定对象与本机安装的word程序组件相关联;

(3)利用QaxObject对象以template.dot为模板新建一个文档,获取当前程序中的激活文档;

(4)遍历获取文档中的自定义标签,逐个选中标签,将协议描述文件中指定元素内容插入到对应的标签位置;

(5)通信协议文件内容填充完成后,保存文件至指定路径,关闭当前工作文档,退出word应用程序,实现通信协议文件生成。

7结论

本文分析了作战系统网络通信协议的基本组成和层次结构,并基于XML语言的优势及特点,设计开发了通信协议描述软件,创建协议描述文件并完成作战系统通信报文内容的编辑与描述,利用XSD进行协议描述文件的格式校验,最终将协议描述文件按照预定模板,自动生成通信协议文件,方便通信协议的下发、存档等。软件支持通信协议文件的导入和再编辑,有效提高了通信协议的维护效率。未来应不断加强软件安全保密方面的工作,提升作战系统网络通信协议设计开发及分发传输过程中的信息安全。

参考文献:

[1]张锐,张璐璐,雷新峰,等.基于XML的安全协议形式化描述方法[J].军事通信技术,2009,30(1):21-26.

[2]李华,叶新铭,曾敏,等.基于XML的协议一致性测试系统的设计与实现[J].计算机科学,2006(10):275-278.

[3]刘昕鹏,罗英伟,汪小林,等.基于XML的WebGIS通信协议的设计与实现[J].软件学报,2004(6):899-907.

[4]王娜,王亚弟.安全协议的形式化说明、设计及验证[J].计算机应用,2003(10):42-45.

[5]刘政,赵保华,屈玉贵.一种描述安全协议的形式化规范语言[J].小型微型计算机系统,2004(7):1246-1249.

作者:李俊,李峰纲,高兴利  单位:西安泛华科技开发有限公司