国产平台一体化测发指挥决策软件研究
2020-09-17杨仁宝李林峰邵武长
杜 兵,杨仁宝,李林峰,邵武长,周 淦
(中国电子信息产业集团有限公司第六研究所,北京102209)
0 引言
指挥信息系统是以计算机技术为核心,实现对战自动化、保障各级指挥机构及其所属人员、装备实施科学高效的指挥控制与管理[1]。
一体化测发指挥决策系统将测发电测、测发地勤、测控系统、气象系统、通信系统等子系统不同格式的数据转化为统一的数据格式,并以曲线、表格、图像、二三维态势等形象化方式进行显示,同时能够提供数据判读分析和查询历史数据的功能,让用户能够准确、直观、快速全面地了解任务过程,为用户的指挥决策提供可靠依据[2]。
目前一体化测发指挥决策系统不适应一体化指挥显示系统体系架构的要求。随着国产化技术的成熟,逐步实现了国产芯片、国产操作系统、国产数据库等产品在航天发射领域成体系地集成应用。
1 背景介绍
为实现在航天发射领域完全国产化,新一代测发指挥决策系统由以国产芯片为基础构建硬件设备层、以国产固件和操作系统为支撑的系统软件层、以国产数据库和中间件等构成的业务支撑层及国产应用系统层搭建而成。
插件是遵循一定规范的应用程序接口编写的程序,用于实现“即插即用”的软件开发[4]。 与传统软件体系结构的单个程序集成所有功能不同,插件体系结构将所有的业务功能置于插件中;一体化框架主要用于组织协调和调用插件[5]。这极大地降低了软件功能模块间的耦合性,形成了一套高内聚、低耦合的体系架构。
图1显示基于插件技术的软件体系结构,所有的业务功能通过插件接口接入一体化框架平台中,各显示插件互相独立,在插件测试后集成到框架中,通过一体化框架平台进行管理[6]。
图1 基于插件的一体化体系结构
一体化指挥决策软件将多个系统的数据汇聚显示,具备数据处理量大、数据协议多样、页面数量多等特点,采用插件技术能够降低业务间耦合性,加快开发速度。将数据的接收、解析和主题数据分发进行抽象,基于不同传输方式的开发为不同的数据处理插件;将各个显示页面提取为多类显示插件,显示插件主要负责主题数据的显示效果及性能;数据基础信息从数据库获取,将数据库访问的功能变为数据库访问插件。各插件功能相对独立,不仅加快了开发速度,同样方便后期维护工作。
2 测发指挥显示系统软件建设需求
(1)国产化需求。面对频繁发生的网络安全事件,建立完备的安全防护体系,可有效抵御网络攻击破坏,但对预置的逻辑炸弹、隐蔽通道等难以有效预防,使用国外产品存在安全风险。为从根本上解决安全威胁,必须走国产化道路[7]。建设全国产化的测发指挥显示系统意义重大,在我国航天领域极具开创性。
(2)解决“信息孤岛”问题。测发指挥显示系统包括测发电测、测发地勤、测控系统、气象系统、通信系统等多个子系统。建设一体化指挥显示系统软件,将各子系统信息集成显示并对数据进行整合,打破不同分系统间的信息壁垒,实现跨平台、跨地域、跨部门的信息融合共享,为任务的指挥发射提供决策支撑,解决航天发射指挥中遇到的决策难的问题。
(3)跨平台软件复用。一体化测发指挥决策系基于国产体系,能够在国产化终端进行使用,同时可根据系统配置环境与应用需求做出适应性扩展,实现一体化指挥决策软件的快速开发和跨平台复用[8]。
3 一体化测发指挥决策系统软件设计及实现
一体化测发指挥决策系统主要包括数据接口程序、数据存储程序、一体化指挥决策软件、远程控制软件等配置项。其中数据接口程序主要用于数据的接收及转发、协议转换、数据统计等,通过 UDP指定源方式进行接收测发电测分系统、测发地勤分系统、气象分系统和通信分系统等网络数据,并将测发电测及测发地勤数据转发至数据存储程序;数据存储程序主要用于测发电测及测发地勤数据解析,并将解析数据存储至国产数据库;一体化指挥显示软件通过加载各类插件,具备数据接收、数据显示、数据分析以及辅助决策等功能,是整个系统的核心部分;远程控制软件主要用于管理安装于各显示终端的一体化指挥显示软件,包括客户端及服务端,通过服务端可远程启动、关闭以及升级一体化指挥显示软件。图2描述了一体化测发指挥决策软件的结构框架图。
一体化指挥决策软件由主体显控框架程序以及各类插件组成;插件包括数据接收插件、数据库访问插件以及各类显示插件(主要包括曲线插件、表格插件、源码插件、设备状态跟踪插件等)。另外,一体化指挥显示软件还包括辅助功能插件,包括即时通信、画面定制、快速导航等。
一体化指挥决策软件开发语言采用支持跨平台语言 Qt5.9,开发环境基于 QtCreator;数据库采用国产达梦数据库。开发实现了一体化指挥决策软件主框架及各类插件。
一体化框架为管理插件主要通过接口函数实现的,主要包括loadConfig和createObject两个接口。其中loadConfig主要功能是初始化插件配置信息,createObject实例化插件对象。当组件需要提供新的功能,现有接口不满足时,可以通过定义新的接口进行实现。
4 一体化测发指挥决策软件关键问题研究
4.1 数据订阅分发机制
图2 一体化测发指挥决策软件结构图
如何将不同系统上报的数据解析完成后分发到显示组件是一体化指挥决策软件实现的关键问题之一,本文采用数据订阅分发[9]机制进行实现。
数据接收解析插件将接收到的数据帧按照协议解析完成后,将制作主题数据所需要的字段值从数据帧中提前出来;然后按照主题配置信息,将收到的数据生成主题数据;一体化框架根据组件订阅信息再将主题数据进行分发,分发手段采用Qt框架提供的信号槽机制实现,处理流程如图3所示。
图3 一体化软件数据订阅分发流程
各主题数据均是依照预先配置好的制作策略进行生产的,以满足页面组件的使用需求,各组件只需要订阅其所需要的数据即可。一种主题数据可以被不同组件进行重复订阅,而只需要生产一次即可,大大提高了使用效率。
4.2 显示页面快速定制
一体化测发指挥决策软件为用户提供了“可见即所得”的可视化页面快速定制软件,通过从组件库中拖曳页面所需要的组件,将其放置到页面显示位置;然后通过可视化定制工具提供的属性配置器配置组件的属性信息,完成组件信息配置,进而快速完成显示页面的配置。可视化页面快速定制软件的主要功能设计如图4所示。
另外,为进一步提高页面配置效率,软件系统提供了页面模板功能,相近型号任务可通过模块功能快速生成显示页面配置文件。
4.3 软件性能适配及优化
基础软硬件平台终端在性能上还存在不足,为保证软件流畅运行,在软件开发过程中需要重点考虑性能问题。主要从以下几点进行了优化:
图4 页面快速定制软件功能设计
(1)对曲线组件开发库进行了测试,选择了性能更高的Qwt开发库。曲线组件是平台中使用最多的插件,其性能直接影响软件的运行效果。Qt下曲线开发常见有 QChart、Qwt、QCustomPlot三个开源图 表库,从性能、最大点数支持、辅助功能支持等方面展开测试,测试结果如图5所示(页面每 10分钟 180万点数)。
图5 不同图表库性能比对
其他组件包括状态跟踪组件也同样采用了性能更高的Qwt库进行开发实现。
(2)设置数据缓存机制,避免大数据量造成软件运行压力。数据接口程序能够根据要求在本地硬盘中缓存各种数据电文,当显示客户端需要某个电文的缓存数据的时候,它向数据接口程序发出申请,而数据接口程序通知一体化指挥决策软件所要缓存文件的全路径,进而读取该缓存文件。
(3)采用多线程机制。Qt编程中同样提供了多线程机制,在结合使用信号槽机制时,需要注意选取合适的信号槽连接方式。信号槽机制中的槽函数调用线程是由调用emit发送信号的线程、接受者对象所在的线程以及connect函数的第五个参数来决定的。采用直接连接时,槽函数在发送信号的线程中执行;采用队列连接时,槽函数在接受者所在线程执行。
经过以上措施优化后,经测试,在发射过程中数据量大的情况下,国产操作系统下显示终端CPU占用率满足了任务需求。
5 结论
本文从国产化基础软硬件出发,通过研究基于插件的技术,提出了基于插件的一体化软件架构技术,显著增强了一体化指挥决策软件的复用性,同时方便了软件功能扩展以及开发效率的提高,为指显平台在国产化平台下的应用有一定借鉴意义。在今后的工作中,随着研究的逐步深入,将把重点集中在可视化界面与业务逻辑的彻底分离、跨平台复用、组件属性人性化配置以及软件功能定制。