周淦,刘贵聪,申展瑜,周宇
(华北计算机系统工程研究所,北京 100083)
近年来,我国航天已进入高密度、高强度发射常态化阶段,发射任务的密集化对发射场保障能力提出了更加严格的标准和要求。随着运载火箭技术的不断发展和新型高性能测控设备的列装应用,发射场如何在飞行器和测控能力调整的情况下快速适应密集任务成为了一个值得深究的问题。
与此同时,信息技术的高速发展已推动我国航天发射场实现测发、测控、气象、通信和勤务五大分系统一体化融合,打破了原有各分系统数据烟囱式的壁垒,极大提高了发射场内部试验指挥效率。但未来航天发射场建设更加趋向于一体化,多个不同发射场缺乏统一规划的建设现状增加了信息的互联、互通与互操作的难度。顺应未来航天发射任务一体化试验指挥的建设趋势,需迫切解决多个发射场信息差异化接入的问题。
指挥显示系统作为航天发射场执行发射试验任务的指挥枢纽,需汇集发射场五大分系统的基础类数据、决策分析类数据以及指挥类数据,对保障发射任务圆满成功具有重要作用[1]。传统的指挥显示系统存在着定制化程度深、任务准备时间长、数据接入兼容性差等问题,难以满足发射任务密集化、目标飞行器与参试测控设备多样化以及未来多级指挥一体化的需求。因此,本文深入分析多个航天发射场多类型、多层级的业务数据,提出一种通用指显数据处理方法,对不同数据格式采用模板化的数学模型进行处理,辅以组件化的方式实现差异性外部数据接入、处理、存储与转发工作,从而提高指挥显示系统的快速与通用适应能力。
指挥显示系统是执行航天发射任务的指挥支撑技术平台,可以归属于指挥自动化系统中的C4IS 系统。该系统覆盖飞行器进场测试、发射直至最终入轨的全周期阶段,实现发射场区内测发、测控、气象、通信与勤务五大分系统数据的汇集、处理与显示,向岗位专业技术人员、试验指挥人员和首长提供形象、直观、可靠以及智能的发射试验信息,全面掌握试验任务的综合态势[1]。
从功能组成而言,面向航天发射试验任务的指挥显示系统功能组成[2-5]如图1 所示。
图1 指挥显示系统功能组成图
(1)综合显示软件是指挥显示系统的核心软件,采用曲线、表格、二三维地图等多种态势呈现方式,实现发射试验任务过程中五大分系统各类基础数据、决策分析类数据和指挥类数据的集中展示[6-7]。
(2)数据处理软件用于接收、处理、存储所有接入到指挥显示系统的试验任务数据,具备快速适应不同型号任务指挥显示的能力。该软件负责将多个外部系统的参数数据格式转换成内部各软件能识别的格式,并完成后续显示相关的数据处理、存储以及转发/发布等功能。
(3)页面编辑软件提供页面编辑工具和组件库,可用于系统的二次开发与可视化画面定制。
(4)数据模拟软件用于系统的数据回放与模拟仿真。通过模拟各外部系统的数据,在无外部实时数据的情况下驱动指挥显示系统的运转。
(5)辅助支持软件实现系统的指挥与自动化分发部署,兼具管理与辅助功能,包括远程控制、版本维护、即时通信和用户管理等。
(6)条屏控制软件用于控制指挥大厅LED 条形屏内容的显示。
为了辅助专业技术人员、岗位指挥人员等各类用户更好地掌握航天发射试验任务态势,任务指挥中心需要获取发射任务过程中各业务系统基础数据,并处理形成决策分析类数据和指挥类数据[1]。本文通过对各发射场任务信息梳理,形成通用化指挥显示软件需要展示的数据类别如下:
(1)测发电测信息
测发电测信息包括火箭总体网测试信息和卫星总体网测试信息,指火箭、卫星测试发射过程中形成的测试信息与状态信息。
(2)测发地勤信息
测发地勤信息指发射试验任务期间,需要密切关注的地面设施设备状态信息。
(3)测控信息
测控信息指火箭、卫星等飞行器在测控联调和实战任务期间形成的测量控制类信息。
(4)气象信息
发射场气象部门提供的短期预报、天气实况等指挥员关注信息。
(5)通信信息
通信网态势综合监视实现对传输层、业务承载层、数据层整个通信网系的监测。
(6)勤务信息
发射场勤务系统信息包括供配电信息、车辆与人员信息等。
(7)视频监视信息
视频监视信息是各级人员远程监控发射现场最直接的输入信息,包括发射场设备重要产品关键部位、关键工作场景等视频画面。
(8)决策分析信息
决策分析信息指任务指挥中心根据发射场各分系统基础类数据进行数据利用后形成的二次产品数据,可为专业人员提供快速辅助决策[8]。
(9)辅助指挥信息
辅助指挥信息指任务指挥中心结合基础类数据和决策分析类数据,为驱动发射任务指挥进程形成的试验指挥信息。
(10)试验文书
试验文书包括发射场简介、任务介绍、试验大纲、应急预案等内容,通常以Word、pdf 等文本形式呈现。
总体而言,通用化的航天发射任务指挥显示系统需要适配各发射场不同格式类型上述接入数据,同时还需满足发射任务密集化带来的快速任务准备需求,这对指挥显示数据处理软件的弹性适应能力提出了新的要求。
为了满足航天发射任务指挥显示系统的通用化需求,采用“高内聚+松耦合”的设计思路,对指显数据处理软件重新进行了架构设计,引入数据引擎核心框架,并根据业务需求梳理功能模块,抽象出一系列业务组件[9-11],从而能够灵活、可插拔式添加新的通信协议与业务功能,在架构设计层面增强功能模块内聚特性,使任务准备的复杂度大大降低。
指显数据处理软件采用5 层架构设计,支持“框架+组件”体系[12-13],软件架构灵活,在满足软件基本功能的前提下,通过丰富组件库实现能力增量拓展,达到全流程、全要素、全阶段与全型号的应用要求。指显数据处理软件架构如图2 所示。
图2 指显数据处理软件架构图
软件架构分为能力生成层、服务供给层、网络互联层、资源要素层和基础支撑层。
(1)能力生成层是指显数据处理软件功能的主要呈现层,由数据引擎核心框架、服务管理、接口管理、协议管理、UI 显示等组成。数据引擎核心框架为组件提供标准调用接口和组件逻辑绑定方法,能够满足组件热插拔式接入,定义组件调用逻辑架构,是所有功能的基础;服务管理为软件提供统一的服务管理窗口,支持服务的添加、修改、删除等功能;接口管理为软件提供统一的树形接口管理组件,支持接口的添加、服务绑定、删除接口、删除服务等功能;协议管理为软件提供集中的协议转换和协议集管理功能;UI 显示提供标准的UI 显示窗体,在窗体上可以显示接口数据统计信息等。
(2)服务供给层为指显数据处理软件提供主要的服务能力,主要是以组件的形式体现,组件库是强内聚的业务逻辑组件,根据业务逻辑分为数据接收类、数据存储类、数据解析类、数据处理类、数据转发类等;除了业务组件库还包括部分功能组件,这部分功能是内聚度较高且需求不易变化的服务,一般不提供升级迭代,包括主题生成服务组件、双工管理服务组件、日志记录服务组件、协议转换服务组件、数据订阅服务组件、组件综合管理服务等。
(3)网络互联层是指显数据处理软件的主要对外交互层,支持的交互方式包括UDP 通信、TCP 通信、HTTP通信、本地文件交互以及Redis 通信等,兼容几乎所有形式的通信方式,可以搭建任意复杂的网络架构。
(4)资源要素层是指显数据处理软件接收和处理对象的全集,主要是结构化报文,具有数据量大、实时性高、种类多等特点,总结为指挥数据、地勤数据、测发数据、测控数据、气象数据、通信数据、试验文书等信息。
(5)基础支撑层是指显数据处理软件的所有物理支撑资源的集合,为软件提供网络资源、计算资源、存储资源以及软件运行环境等,包括:操作系统、服务器、达梦数据库、神通数据库、路由设备等。
为提高数据解析与处理的伸缩性能力,满足多任务、多型号的数据内容差异化、高并发、多平面等应用需求,首先对解析方法进行标准化描述,对解析过程进行形式化描述,并提供以解析方法集为基础的数据处理工具库,构建多层解耦的数据协议模型。通过分析数据处理流程,将协议模型分成数据源层、数据准备层、逻辑层和数据加工层4 个层面,依据数据处理粒度由底向上层级递进,每层的处理资源由下一层提供[14]。具体协议模型如图3 所示。
图3 协议模型示意图
(1)数据源层按生保信息、测控信息、测发电测、测发地勤、气象信息、通信信息等不同方向引接网络数据为解析处理做数据资源准备。
(2)数据准备层将数据源层引接的网络数据按照预设帧结构进行帧头解析和数据域预处理,主要对解析出的字段进行信源校验、信宿校验、任务匹配、类型校验、帧序校验、时间解算、校验位处理、帧长校验等,并将校验信息特别是数据类型和数据域导入逻辑层为类型匹配和方法匹配提供依据。
(3)逻辑层根据业务特点和数据帧组织形式将网络数据流分为单值数值型、多值数值型、状态型、指令型、源码型以及遥测型,并针对不同类型数据构建整型、单精度浮点型、双精度浮点型、字符串型、源码型等标准化解析规则库,将上述资源导入参数模板构建完整参数字典,约定参数的名称、代号、参数序号、数据类型、数据长度、解析方法、有效位、显示形式等内容。
(4)数据加工层主要对解析后数据按需进行坐标转换、格式转换、T0 处理、轨道外推、统计分析、主题生成、数据存储、数据转发并对数据资产提供统一管理。
根据航天发射通用指挥显示系统内部数据设计规范,统一将外系统数据经过解析处理后打包封装成内部标准数据格式,并以数据主题形式提供标准数据订阅接口。数据主题字段包括主题ID、主题名称、数据接口、数据发送者、生成方法、被测对象、发布状态等字段,主题定义如表1 所示。
表1 数据主题
系统为每个主题分配一个ID,作为系统内数据主题的唯一标识。为了解耦并屏蔽内部数据逻辑,在需要订阅主题时可通过数据接口、数据发送者、生成方法、被测对象等信息对数据主题进行精确筛选,并能够实时预览主题详细信息,数据主题配置管理界面如图4 所示。
图4 数据主题配置管理UI
指挥显示数据处理软件运行流程根据资源构建、数据流转和数据加工等主题功能,在逻辑上分为“离线态”和“在线态”两种工作模式[15]。数据配置阶段的状态称为“离线态”,数据接入、解析主体流程运行状态称为“在线态”;“离线态”通过改变解析模型、主题模型、接口路由、服务配置等影响“在线态”数据处理流程和数据流转流程。
(1)“离线态”主要包括任务信息导入、参数模板创建、参数字典创建、协议模板创建、解析规则创建、主题模型创建、任务接口创建、接口服务绑定、接口属性配置、接口服务发布等流程。软件离线态运行流程如图5所示。
图5 指显数据处理软件“离线态”运行流程图
在任务准备阶段,启动指显数据处理软件进行“离线态”工作,根据任务大纲导入任务基本信息,包括:任务网络节点SID、DID 索引表,任务名称,任务BID,任务理论数据等任务信息。根据任务接口约定创建参数模板、参数字典、协议模板,并生成解析规则。根据数据种类及前端显示需求,添加一系列数据订阅主题构建数据主题模型。同时,根据任务大纲和解析、处理、转发需求创建任务接口,对接口进行服务绑定,并配置服务信息,配置完成后将服务发布,生成接口路由表。构建完整的协议模型、主题模型、接口路由结束“离线态”流程。
(2)“在线态”主要包括配置信息加载、接口服务实例化、双工切换、数据接入、帧头解析、解析规则匹配、解析服务调用、数据域解析、数据资产入库、数据资源共享等流程。软件“在线态”运行流程图如图6 所示。
图6 指显数据处理软件“在线态”运行流程图
在任务进行阶段,启动指显数据处理软件,加载“离线态”预设的协议模型、主题模型、路由规则等准备资源,转入“在线态”运行。加载配置信息,根据配置信息实例化接口服务;启动双工服务,判断主备机状态,激活主机工作流程,开始进行数据接收。按照PDXP 标准格式解析帧头信息,匹配任务预设SID、DID、MID 等信息,丢弃冗余信息;根据BID 和MID 解析结果匹配解析规则,并调用相应解析服务,进入解析线程对帧数据域进行解析。对解析后数据资产进行入库处理,并显示统计状态,开放数据主题订阅接口,结束“在线态”流程。
根据指显数据处理软件架构设计,采用Qt 开发平台,用C++语言开发出了一套航天发射通用化指挥显示数据处理软件。
软件设计了一个通用数据模型配置与处理引擎,引擎采用“框架+组件”形式,将服务封装成一系列标准化组件,以组件库的方式进行运维管理及版本升级,解耦模块关联,降低系统整体铰链关系复杂度。该引擎支持解析规则、处理规则的动态配置,同时能够通过引擎的接口配置,根据需要以任意规则组织服务间调用的逻辑关系,构建接收解析处理模型,根据模型将实时接收的数据按需解析、处理、存储、转发,实现业务流程单项绑定,在保证系统通用性的同时最大化精简配置复杂度,降低任务准备时间。
指显数据处理软件运行界面如图7 所示。
图7 指显数据处理软件主界面图
指显数据处理软件运行界面包含本地时间显示、软双工切换控制、任务切换控制、系统日志分级显示、接口状态监控等功能部件,能够实现对软件整体运行状态做统一监控和控制。
本文以近年来我国航天发射任务密集化与常态化、新型运载火箭和参试测控设备不断应用和未来发射试验任务一体化指挥建设为应用背景,针对现实需求对发射试验任务指挥显示系统提出的通用性和适应性难题,提出了一种通用化指挥显示系统数据处理方法。
根据航天发射任务数据特点,抽象定义了外部数据接入的协议模型和内部数据转发的主题模型,实现内部外协议转换映射。以信息处理过程为基础,采用“平台+构件”的方式搭建指显数据处理软件,达到数据处理的服务化。经过多次试验任务的检验,本方法所设计的模型描述能力较强,数据处理软件架构具有一定的灵活性及扩展性,能够较好地适应密集任务、新任务以及多级一体化指挥所需要的能力快速生成需求,降低了指挥显示系统任务准备与日常维护的成本。