试飞遥测实时监控分析报告自动生成系统设计

2023-12-14 11:11李俊惠力聂睿
科学技术与工程 2023年32期
关键词:遥测可视化模板

李俊, 惠力, 聂睿

(中国飞行试验研究院测试所, 西安 710089)

飞行试验通常是在真实飞行条件下科学地获取和处理能够表征试验研究对象性能、功能与作战效能的过程,由于该过程风险性强、代价高且周期长[1-3],因此通过遥测实时监控过程可以有效保证试飞安全、提高试飞效率。遥测实时监控系统作为试飞空地一体化综合监控网络的终端,通常是基于C/S传统架构[4-5],对遥测数据实时处理与分析,并以图、表与数据等形式表征飞行器及机载系统试验状态[6-7]。基于传统遥测实时监控架构,刘语乔等[8]通过分类判决告警信息以及设计虚警抑制机制实现机组告警信息的地面监控。叶冰等[9]提出了飞行试验综合安全监控思想,采用多类型告警、准实时数据处理以及应急辅助决策技术,实现了试飞状态监控、故障告警、准实时计算和应急处置决策支持。刘涛等[10]采用多线程调度后端解析,增加数据回放、复杂算法计算等新功能,保证万余个试验参数的实时计算与转发。虽然多位作者提出了优化遥测实时监控服务质量的方法,提高了地面监控对飞行试验带来的安全效能,但是集中在故障预测、告警分析等单一分析功能,缺乏对飞行全历程数据的综合分析,特别是试飞架次信息全面采集、海量遥测数据统计分析等能力。

鉴于此,面向遥测数据量大、高实时计算的遥测实时监控场景,突破传统计算架构,采用大数据分布式计算框架,设计了一种试飞遥测实时监控分析报告自动生成系统,采集试飞过程的重要信息,全历程数据统计分析,并自动生成监控分析报告,为后续飞行试验提供辅助决策与支持,对于提升试飞质量、提高试飞效率具有重要意义。

1 系统总体设计

1.1 系统总体实现流程

系统需要实时采集遥测数据,并对数据进行解析处理,解析后的数据不但需要发送至实时监控终端用于采集试验点,而且需要存入数据存储系统,便于在飞行结束后对该历程数据统计分析。另外,系统还需要采集在试飞监控过程中的用户信息和各类飞机信息,这些信息与统计分析结果一并存入分析报告,确保在本架次飞行结束后快速提供给相关技术人员使用。具体系统总体实现流程如图1所示。

图1 总体实现流程图Fig.1 Overall implementation flow chart

1.2 系统功能设计

根据系统总体实现流程,系统需要具备包括数据实时采集、数据实时计算、数据统计分析、数据分类存储以及监控报告管理关键功能,参见图2试飞实时监控报告生成系统功能结构图。下面对关键功能模块做以说明。

图2 系统功能结构图Fig.2 System functional structure diagram

(1)数据实时采集。对实时遥测接收机数据、用户信息以及各类飞机信息的采集,飞机信息涉及飞行架次基本信息、试飞任务信息、采集试验点信息和实时监控记录等内容。

(2)数据实时计算。结合飞机的格式格栅信息,通过解析实时遥测数据,计算得到试验涉及的关键试飞参数数值。

(3)数据统计分析。通过统计量分析方法对整个架次的关键参数值统计分析,包括均值分析、极值分析、超限分析、稳定性分析和相关性分析等。

(4) 数据分类存储。系统对不同类型的数据持久化存储,存储数据类型包括原始遥测数据、关键参数数据、统计分析结果、各类飞机信息以及用户信息。

(5)分析报告管理。系统具有分析结果可视化分析和报告下载功能。分析结果可视化是对飞行架次基本信息、试飞任务信息、实时监控记录和关键参数统计量分析结果以统计表形式呈现,通过飞行水平剖面图、垂直剖面图和试验点分布图、飞行机组告警系统(crew alerting system,CAS)信息统计图描述本架次飞机基本状态。

1.3 系统架构设计

为满足试飞多机多链路海量遥测数据的实时解析以及离线分析的场景,提高实时多链路低延迟、高吞吐的采集能力以及离线数据统计分析速度,系统由基础设施层、大数据平台层、展示层以及用户访问层组成,系统体系架构如图3所示。

图3 系统体系架构图Fig.3 System architecture diagram

(1)基础设施层。基础设施层为系统提供基础设施环境,包括网络系统、数据存储系统、数据计算与分析系统以及遥测接收机等硬件系统。

(2)大数据平台层。大数据平台层是系统核心层,包括数据存储层、数据处理层以及业务应用层。

数据存储层由分布式文件系统HDFS、列族数据库HBASE、内存型数据库Redis以及关系型数据库MySQL组成。对于原始遥测数据以二进制文件块的形式存储在HDFS,解析后的关键参数数据根据时间序列逐帧存储在HBASE,对于频繁查询检索的各类数据或者信息存储在Redis,统计分析结果、飞行架次基本信息、试飞任务信息和实时监控记存储在MySQL。

数据处理层由实时流计算引擎Storm和离线批处理计算引擎Spark组成。Storm分布式、低延迟、高容错和高可靠性的特点[11],可以有效适应多架机、多链路并行采集、处理的海量遥测数据的场景;Spark由于使用内存计算,从而减少磁盘I/O[12-13],可以快速并准确地对海量关键参数数据进行统计分析。

业务应用层以Boostrap和Thymeleaf构建视图层,实现系统管理、飞机信息管理、数据存储管理、实时监控管理、分析报告管理和数据综合分析业务。系统管理包括用户、角色、部门等信息管理,飞机信息管理包括关键参数、CAS信息、飞行包线和参数列表等信息管理;实时监控管理基于安全监控和任务监控开展的监控记录和试验点采集业务;分析报告管理包括生成报告和报告下载;数据综合分析包括飞行信息可视化和关键参数对比分析。

(3)展示层。展示层以门户网站的形式为用户提供登录入口,用户根据Restful接口访问系统执行操作。

(4)用户访问层。系统面向用户为课题人员、型号办人员、指挥员以及监控值班人员等四类用户,系统通过权限设置,为不同用户提供应用服务。

2 系统软件实现

2.1 遥测数据实时计算

针对多架试验机、多条数据链路带来的实时遥测数据量大,计算要求延迟低、速度快等特点,系统采用Storm计算引擎实现试飞实时数据流计算。通过创建多个JVM进程实现多架机、多链路的并行计算,单架机、单条链路、单个进程内实现从网络数据接收、工程物理量转换、数据计算、数据存储和数据封装转发的过程,最终获取转发到消息队列Kafka内的数据并推送到实时监控终端,该过程如图4所示。

TCP为传输控制协议

根据Storm流式计算原理,每条链路可以对应创建一个拓扑结构图topology,单条链路的遥测S数据实时处理过程形成一条流stream,该流内由网络接收ReceiveSpout(与接收机建立TCP连接,实时获取遥测数据)、工程物理量PCMBolt(结合飞机格式格栅、参数校线对关键参数从源码解析为工程物理量)、数据计算CalculateBolt(对解码后的参数进行复杂二次计算)、数据存储SaveBolt(将源码和关键参数数据分别存储在HDFS和HBASE内)以及数据封装转发TransferBolt(参数计算结果发送至消息队列Kafka内),遥测数据实时处理Storm拓扑图如图5所示。

图5 遥测数据实时处理Storm拓扑图Fig.5 Telemetry data real-time processing Storm topology

2.2 离线遥测数据统计分析

为了能够在该飞行架次结束后快速并且准确地对遥测数据进行统计分析,系统采Spark实现上述功能。离线遥测数据统计分析主要包括均值分析、极值分析、超限分析、稳定性分析和相关性分析等方法。

离线遥测数据统计分析,根据飞行基本信息(飞行日期-飞机型号-飞机编号-飞行架次)从HBASE中获取到多帧关键参数数据,将数据封装成弹性分布式数据集RDD,通过聚合、过滤等方法求解关键参数均值、极值、超限状况、标准差以及相关系数,将统计分析结果存储在MySQL。上述统计方法形成的Java包,通过Java API实现spark-submit命令,并将其提交到大数据计算平台,具体算法流程如图6所示。

图6 离线遥测数据统计分析算法流程图Fig.6 Flow chart of offline telemetry data statistical analysis algorithm

2.3 信息分布式采集与管理

系统以SpringBoot敏捷开发框架为基础,实现对各类信息采集与管理。Spring Boot是一款开箱即用框架,提供各种默认配置来简化项目配置[14],提高开发和部署效率。系统使用Apache Shiro安全框架实现认证、授权、加密、会话管理、与Web集成、缓存等功能,使用Apache MyBatis实现操作MySQL,通过Thymeleaf与Spring MVC框架进行集成后作为Web应用的模板引擎[15-16]。

实时监控管理作为信息采集与管理的核心业务,根据试飞监控特点分为安全监控和任务监控,安全监控主要采集用户监控记录,任务监控除了采集用户监控记录外,还辅助用户采集试验点,对于试飞工程师用户采集试验点算法流程图如图7所示。

图7 试飞工程师用户采集试验点算法流程图Fig.7 Algorithm flow chart of flight test engineer user acquisition test point

2.4 数据分析报告自动生成

基于大数据环境下的报表报告系统,已经广泛应用在银行、医疗、政府管理等领域。在银行领域,后台进行数据处理和数据分析,前端将数据分析的结果用报表形式展现,如成熟产品FineReport和HReport[17-18]。在医疗领域,基于Web的电子诊断单、利用深度学习的医学报告自动生成等技术已成功应用[19]。针对分析报告内所涉及数据的结构特点,提出利用可视化插件和Word模板分析引擎,搭建试飞监控分析报告自动生成系统。

选择合理的可视化视图方式,提高用户对数据的直观感受,分析报告数据内容可视化方式如表1所示,数据可视化采用可视化ECharts插件对各类数据进行可视化显示,具体实现步骤如下。

表1 分析报告数据内容可视化方式Table 1 Calculation results of power analysis report data content visualization method

步骤1引用echarts.js。

步骤2创建div容器,其为ECharts提供一个具备一定高宽的DOM容器。

步骤3基于已准备的DOM容器,初始化echarts实例。

步骤4针对数据特点,确定图表的配置项和数据。

步骤5将上述图表的配置项和数据注入已初始化的实例内。

分析报告自动生成过程使用Word模板分析引擎Freemaker将模板内容进行文档输出。Freemaker即一种基于模板和要改变的数据,并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具,具体实现步骤如下。

步骤1制作.ftl后缀的Word模板文件。①制作分析报告Word文件,并将Word文件修改成.ftl格式;②修改图片的数据内容使用表达式代替,在数据表格中添加循环标签,修改.ftl文件并生成最终的模板文件。

步骤2通过模板文件生成Word文档。①导入freemarker模板jar包;②装载.ftl模板文件;③获取模板数据,数值数据从MySQL中获取,图片数据通过ECharts得到base64码值,并将数据封装插入模板文件中;④生成统计分析Word报告。

3 系统测试与应用

经实际工程测试,系统可以同时满足至少20架试验机的数据采集、计算、统计分析以及存储管理等功能,平均采集延迟在70 ms以内,在约100个飞行试验架次中自动生成报告时间约为2.74 min。目前,系统平台已经在国产某大型客机试飞遥测实时监控过程中使用,后续可以陆续推广应用在其他试验机实时遥测监控中。

4 结论

试飞遥测实时监控分析报告自动生成系统基于大数据分布式计算框架Hadoop构建,具备数据实时采集、数据实时计算、数据统计分析、数据分类存储以及监控报告管理等关键功能,为后续试飞讲评、飞行任务提供充分可靠的试飞数据资源,综合提升系统数据分析能力,优化遥测实时监控服务质量,对于提高试飞效率具有重要作用。

猜你喜欢
遥测可视化模板
铝模板在高层建筑施工中的应用
基于CiteSpace的足三里穴研究可视化分析
铝模板在高层建筑施工中的应用
基于Power BI的油田注水运行动态分析与可视化展示
基于CGAL和OpenGL的海底地形三维可视化
“融评”:党媒评论的可视化创新
自适应模糊PID控制的遥测方舱温度调节方法
某小型无人机遥测软件设计
浅谈如何提高遥测状态估计合格率
铝模板在高层建筑施工中的应用