APP下载

基于边云协同的飞行试验数据处理系统

2023-12-16王霖萱李宏

南京信息工程大学学报 2023年6期
关键词:飞行数据数据处理客户端

王霖萱 李宏

数据处理系统;边缘云;分布式文件系统;分布式存储系统

0 引言

飞行试验数据处理是指通过对飞行数据的正确解算和分析,确认飞行器是否达到设计需求的过程,其目的是从海量、多源和抽象的数据中提取并推导出能够实现定量或定性评价飞行器功能和性能的有用数据.随着数据挖掘技术、云计算技术的发展[1],数据处理体系的发展趋势可以概括为以数据为中心的宏观走向和以存算一体为中心的微观走向.以数据为中心的宏观走向具体包括采用软件实现统一的数据处理方法,以及多数据处理中心共享式并存融合的新型计算模式.飞行试验的数据处理模式主要包括集群式多流数据事后分析解算和异构数值深度解析挖掘等.在新一代飞行器研制阶段,飞行数据具有数据类型繁杂、数据量大、处理算法庞杂等特点,因此,对飞行试验数据处理提出了大数据管理、算法插件动态增减、多源并发处理支持等新需求.随着大量先进技术在航空领域的广泛应用,“无人机蜂群”等概念的出现,试验数据量和数据种类激增,对数据处理系统的性能也提出了新挑战.现有数据处理系统数据处理能力已经显得不足,特别是数据处理效率与存储能力已无法满足当前海量飞行数据对高速[2-3]、及时的要求.通过深入分析并测试当前试验飞行数据处理系统,总结并归纳出影响数据处理效率的主要因素有以下几方面:

1) 各试验场数据不能互联互通.试验飞行涵盖环境控制有效性、雨中适应性、侧风降落等试验科目,试验条件包括高温、高寒、高湿、高海拔等极端环境,所以除了主试验场外,全国范围内还分布着30余个试验场地.由于分试验场和主试验场的数据不能互联互通,需要临时搭建小型数据处理中心处理当天的试验数据,待阶段性任务完成后,再将记录试验数据的硬盘带回大本营进行备份管理,对于需要主试验场科研人员协同处理的数据必须通过电话、邮件中转站等流程和方法进行沟通.这样的试验数据处理和管理方式成本较高、效率较低,同时试验数据的安全性也面临着挑战.

2) 无法满足海量试验数据存储的需求.由于我国航空工业的跨越式发展,飞行器飞行试验的规模和试验强度呈现指数级增长,飞行试验测试参数从二代机几百个到三代机几千个再到四代机几万个,为确保试验数据的完整性和可用性,与试验有关的试验要求、试验设计、试验对象、试验设备、配试资源、试验环境和试验结果等各类要素会持续产生部件级、系统级、体系级等不同结构、不同形态、不同规模的试验数据,数据量从以往GB级增长到现在的PB级.当前飞行试验数据处理系统使用的二级存储模式,近期试验数据存储在磁盘阵列中,历史数据按架次存储在硬盘上,这种方式不能满足海量数据的存储和实时处理,也不便于对历史数据进行查询.

针对上述问题,本文提出一种基于边云协同的飞行试验数据处理系统[4-5].该系统通过内部接口有机地进行互联互通,基于有线通信+5G无线通信技术,很好地解决了分集点布控环境限制的问题;搭建数据处理中心与外围多分集点互联互通的系统框架,为动态实时数据采集和处理奠定了基础.系统面向试飞数据管理人员、数据处理人员以及其他相关科研人员[6],为他们提供试飞工程信息管理和试飞数据处理服务[7],将飞行数据处理与管理标准化、规范化,可以极大地提升数据处理效率,达到多点数据共享、解算逻辑与算法统一、高效处理与分析、安全可靠的目的.

1 系统架构

1.1 硬件系统设计

系统硬件主要由无线与有线通信链路、服务器集群、多级协同存储系统、多平台访问客户端组成.通过内部统一协议接口进行交联[8],组成一个系统化、集成化、标准化的基于多地协同的飞行数据管控与处理系统.系统硬件结构与数据处理中心硬件结构分别如图1和图2所示.

图1 系统硬件框图Fig.1 Block diagram of the system hardware

分集点指分散在全国各试验场独立的数据处理平台,每个分集点类似于精简化的数据处理中心,包含与计算服务器同步统一的飞行数据算法库.分集点具有硬件布设灵活、服务器系统功能精简等特点,并且其与数据处理中心共享资源.各分集点之间也可以共享各类资源,实现互相访问、互相请求、数据传输,分集点可以灵活增减,通过互联网和移动基站组成的有线链路和基于5G的无线链路组成的专网与数据处理中心互联互通.

互联通信链路通过无线和有线通信链路互联,将实时遥测数据、机载数据和事后处理数据传送给各地有需求的分集点,通过PC客户端与移动端进行数据访问与处理,同时将外地各分集点的数据传回数据处理中心进行二次处理和统一存储等,实现点到面、面到点的数据共享与存储,实现分集点与中心、分集点与分集点之间的数据协同处理和集中存储.图3为系统逻辑框图.

图3 系统逻辑框图Fig.3 System logic diagram

数据处理中心由服务器集群与多级协同存储系统组成,面向海量飞行数据存储、处理、分析、数据解算结果展示等功能实现.数据处理中心和分集点的结构均采用5层架构,即防火墙、Web服务器、计算服务器、数据库服务器[9]、数据库共享存储器,其中第2、3、4层采用多台服务器构成集群服务器组,可以通过增加设备来扩大存储从而保证了扩展性,第3、4层采用内部IP地址,使用LBR构架建立Web体系.

所有计算服务器采用统一的飞行数据算法库,并选中一台运行负载均衡软件作为计算服务器,客户端如有计算请求时,经由防火墙进入数据处理中心网,请求被转发到集群控制主机,该集群主机名称映射到负载均衡器[10-11],负载均衡软件将用户请求路由到指定计算服务器,计算服务器按用户请求访问镜像数据库服务器数据列表,请求相应数据进行计算操作,计算服务器将计算结果返给客户端.负载均衡系统使多台服务器通过互联系统按指令协同工作,为一个或数个应用服务.数据处理中心服务器集群所有服务器之间的通信采用Socket通信接口[12]技术来实现,按TCP/IP协议标准进行信息和数据的交换,通过一套规则或自定义协议实现不同类型主机平台之间的相互通信[13-14].

1.2 软件系统设计

飞行试验数据处理系统硬件架构设计的合理性直接影响到后续软件系统运行效率,软件系统的设计合理性也是整个系统运行效率的关键.系统软件分为服务器端软件与客户端软件[15],运行于数据处理中心的软件系统实现了整个软件系统大部分功能,客户端软件包含网页与执行客户端软件,执行客户端软件主要实现仿真、多路视频同步播放等功能.

1.2.1 数据处理中心软件系统设计

数据处理中心软件系统由Web服务器软件、计算服务器软件、数据库服务器软件、数据库共享存储器软件、负载均衡管理软件5部分组成.为了确保飞行数据的安全高效解算,操作系统、软件平台等选择与搭建成为关键.服务器端采用Windows server 2012、CentOS操作系统,试飞非结构化数据采用 OBS+Minio,两者共同完成试飞非结构化数据的存储与管理.OBS是华为提供的对象存储服务组件,是一款稳定、安全、高效、易用的云存储服务,具备标准Restful API接口,可存储任意数量和形式的非结构化数据.Minio是开源的数据文件存储服务组件,适于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kB到最大5 TB不等[16].试飞时序数据选用时序数据库,用于存储试飞试验的工程数据.

目前,主要的时序数据库包括InfluxDB、TimesacleDB、IotDB、Vernox-NTS.InfluxDB是一个开源的时序数据库,使用GO语言开发,特别适合用于处理和分析资源监控数据这种时序相关数据.而InfluxDB自带的各种特殊函数如求标准差、随机取样数据、统计数据变化比等,使数据统计和实时分析变得十分方便.TimescaleDB 是基于 PostgreSQL 开发的一款时序数据库,以插件化的形式打包提供.IoTDB 是清华大学研发的一款聚焦工业物联网、高性能轻量级的时序数据管理系统,提供数据采集、存储、分析的功能.IoTDB 具备低存储成本、高速数据写入、快速查询、查询分析一体化、简单易用等特点,采用标准的 JDBC 接口、类 SQL 查询语言,主要功能包括数据的增删改查、丰富的聚合函数、相似性匹配.Vernox-NTS是一个融合型的数据库,并且在时序上,编码和导入是极速的,速度甚至领先于Mysql等关系型数据库.

在云平台中,作为试飞测试数据的存储与管理组件,为用户提供高效的数据存储与时序数据查询能力.使用试飞数据进行实测,性能已是国内领先水平.时序数据库性能对比结果如表1所示.

表1 时序数据库性能对比

试飞结构化数据采用关系型数据库oracle.数据处理中心软件系统架构如图4所示.

图4 软件系统架构Fig.4 Software system architecture

通过系统软件架构设计确定系统开发模型,本系统合法注册用户在客户端可以通过网页、移动手持端进行访问,确保科研人员在任何试验点任何时间都可以自行访问数据,并按需求进行查询、处理、分析等操作.数据分为涉密数据与非涉密数据.为了确保涉密数据的安全性,涉密数据目前只提供专用有线网链路访问.

软件系统分为应用层、展示层、接入层、数据服务层、数据层、数据库、操作系统、运行环境等8个逻辑层.应用层是用户与系统的交互层,系统实现的所有功能通过展示层提供给用户进行界面访问.展示层所支持的浏览形式包括轻量式客户端(CS)、Web浏览(BS),从而实现最优客户体验,满足不同场景演示.针对各种数据的图形化展示,系统在前端框架层使用了不同的Web框架和交互技术.业务功能均可以在此界面进行人为操作,由于移动端不利于复杂人机交互操作,所以移动端操作界面仅包含数据处理、浏览、查询等主要功能.接入层构建了用户请求与后台服务器应用的沟通协议,是系统实现关键,起承上启下的作用,实现访问数据、数据计算、结果分析、负载均衡、并发管理、网络管理、数据管理、算法实现与集成、安全管理、用户访问.数据服务层主要验证数据合法性,审核前端请求合理性.数据层用于描述本平台的试飞数据来源方式和数据特点.数据来源方式包括系统集成和数据导入等方式,并针对不同的试飞数据格式、试飞数据类型提供相应的数据入库与检测工具集等,包含相关飞行试验数据信息、访问信息、管理信息、人员信息、权限信息、算法信息库、数据处理配套信息等.服务器端是软件系统核心所在,通过软件可以最大程度发挥服务器端硬件性能,并为数据处理提供最优运行硬件环境支持.操作系统提供安全、稳定的高效运行.运行环境包括数据处理中心与各分集点服务器.系统开发模型确定后,系统主要功能细分到各主要模块,如图5所示.

图5 系统逻辑架构Fig.5 Logical architecture of the system

1.2.2 客户端软件设计

客户端与服务器端进行指令交互,按用户需求实现数据处理结果的显示等功能,客户端兼容PC机、移动端,使用HTML语言基于网页模式开发,内嵌基于跨平台的数据处理相关控件.部分功能在客户端实现,包括预处理数据的二次解算、视频播放、数据分析.

用户面向访问前端,在主页通过合法权限访问相应权限功能,包括自定义飞行试验科目与科目参数、事后数据推演与仿真、飞行效果的智能结果评估.科研人员通过飞行试验数据处理结果的可视化显示与判读,对飞行器相应试飞科目执行结果进行评估.面向飞行试验数据未来处理需求,集成新的数据处理方法与算法模块,合并分散的数据处理功能,优化数据处理流程,使此系统数据处理与分析功能全面化、集成化、统一化、简洁化,提升飞行数据整体处理能力与效率.数据处理系统客户端设计如图6所示.

图6 数据处理客户端Fig.6 Data processing client

2 关键技术

本系统面向海量数据,多分集点实现数据共享,保证数据安全、操作简单等功能,这就对数据存储模式、网络架构、数据处理机制有了更高的要求.数据处理中心各服务器间如何级联、如何协同工作是主要挑战,数据处理中心与各分集点如何分工,数据处理中心、各分集点、客户端之间网络负载均衡是保障系统高效运行的关键.

2.1 分布式存储技术

本系统服务器端主要由计算服务器、存储服务器、负载均衡服务器、数据库服务器组成,数据处理中心服务器之间的链路通信协议、硬件及软件平台设计是提升整个系统数据并发处理效率的关键.系统架构如图7所示.

图7 系统架构框图Fig.7 Block diagram of the system architecture

系统服务器端各服务器间通信链路采用并行冗余和高可靠无缝光纤环网冗余技术.此系统服务器端设备中涉及多个相互独立的协议及多个数据交互端口,合并成一个多种业务共享的以太网端口,实现多流数据的高度融合和网内信息的可靠共享[17].此服务器端支持25/100GE主机接口,配置4块480 GB SSD、27块3.84 TB SSD,配置8个SAS3.0后端通道,总带宽不低于384 GB,支持IP SAN、FC SAN、NAS等组网方式,提供iSCSI、FC、NFS、CIFS、HTTP、FTP等多种协议许可.

网络混合组网的架构使服务器端交换机及光口数量大幅减少,网络架构更加清晰,全网信息高度共享.同时,在网络数据流量大幅增加的情况下,其中一条通信链路发生故障时,启用另外一条健全的通信链路,使网络通信的可靠性大大提高.各服务器间通过高效可靠的通信链路,使各服务器间数据传输、数据共享高效安全.

随着大数据存储技术的发展,分布式技术的解决方案也呈多样性发展,在众多行业取得了较好的应用效果.本系统采用分布式存储技术进行飞行试验数据处理系统数据共享服务系统的设计与实现.通过分布式文件系统和分布式数据库来提升飞行试验数据的储存管理能力与数据的服务和支撑能力,并与飞行试验数据处理系统实现无缝对接.分布式数据库系统包含分布式数据库管理系统和分布式数据库.它将分布地不同的飞行数据本地数据库存储,由各分集点的数据库管理系统进行管理,在不同的机器上运行,由相同的操作系统支持,被统一的通信网络链路连接在一起的数据进行整合,形成一个逻辑上统一的数据库[18].分布式数据库将所有运行开销分摊于数据处理中心和各地数个分集点,物理上分散、逻辑上集中,从而实现更大的数据存储能力.分布式数据库系统有利于分集点扩展,同时,数据的出入均通过数据服务层的飞行数据统一标准数据接口提供对数据访问、输出等合法性审核.

分布式文件系统是一个高度容错的系统,用来解决海量数据存储和管理中的难题,它的数据访问具有可靠性强、容错率高、扩展性强、吞吐率高的特点,为海量特征的存储带来了很多便利.本文将分布于全国各地集结点的飞行数据统合成为一个高度集成化的数据中心,从而极大简化了数据存储、访问等应用系统的使用,真正做到飞行数据存储地域无关性.

2.2 ETL技术

ETL(Extract-Transform-Load,数据抽取-转换-加载)是将数据从来源端经过抽取、转换、加载至目的端的过程.用户从数据源抽取出所需的数据,经过数据清洗最终按照预先定义好的数据仓库模型,将数据加载到数据库中,可以有效组织和整合各单位散乱存放、标准不统一的数据,为数据统计分析提供基础数据.系统总体流程如图8所示.

图8 系统总体流程Fig.8 Overall flow chart of the system

ETL提供了图形化的编辑界面,支持各种主流浏览器平台通过简单的拖拽定义ETL;提供了异步ETL过程处理模式,即数据抽取、转换及装载过程异步执行,从而实现了数据的高效处理;支持各种字段级的映射转换,如类型转换、字段转换、参照转换、字符串处理、字符集转换、空值处理、日期转换、聚集运算、既定取值、字段切分、字段合并等[19];支持映射自动匹配,可自动完成异构数据库之间数据的映射;支持批量表的迁移映射,迁移信息包括表名、字段属性、主键属性、索引属性等.本系统采用自主研发的ETL工具,用可视化控件,提供纯Web的ETL定义和维护方式,助力系统中的ETL设计和管理.利用ETL模块,无需编码,用户即可快速建立起个性化的ETL流程,屏蔽复杂的编码任务,降低难度,大幅提高ETL的开发效率.ETL工具界面如图9所示.

图9 ETL工具界面Fig.9 ETL tool interface

2.3 边云协同技术

试飞数据管理系统以云原生技术架构,使用容器与微服务技术,实现了应用功能的微服务化,并提供服务/数据高可用、服务/数据横向扩展的能力.应用微服务是指将应用拆分为颗粒度不同的功能服务,通过微服务注册中心实现服务的分布式部署,增加应用功能的服务冗余,为系统日常的运行提供高可用性.通过微服务的无状态化解决了服务冗余带来的扩容或缩容要求,并结合容器管理技术实现了服务的横向扩充.存储高可用是将数据复制到多个存储设备中,通过数据冗余的方式来实现高可用,系统采用分布式数据存储技术对数据进行冗余存储,并支持数据存储的横向扩展.试飞数据管理系统如图10所示.

图10 试飞数据管理系统Fig.10 Flight test data management system

基于华为云原生平台,提供对关系型、非关系型数据存储,数据分发服务等,支持数据分布式存储和数据远程安全同步传输,使用基于大数据应用的相关组件功能,包括数据采集、治理、应用、处理计算等组件,完成对海量试飞数据的采/存/管提供基础功能支撑,面向数据平台与应用提供基础服务功能,例如服务注册(Eureka)、服务配置(Config-server)、浮动许可(Floating-license-server)等,完成基于微服务的试飞应用功能.

在西安部署多台边云节点,在成都部署多台主云节点.为实现试飞数据向异地多个参试单位之间的高效传输,设计了多种异地数据同步/异步传输策略,结合试飞数据分类授权等功能,实现了数据流向的安全受控与协同共享.

试飞数据上云后,统一由“多数据中心同步网关”进行调度,根据试飞数据类别与特性采用相应的同步策略,立即或定时发起数据源向目标位置的传输任务.多数据中心同步网关如图11所示.

图11 多数据中心同步网关Fig.11 Multi-data center synchronization gateway

3 系统性能与测试结果

3.1 试验配置

系统服务器端程序(IIS、调度软件等)均部署在Windows server 2012服务器上,基于Oracle 11g数据库运行.客户端部署在Win7、WinXP系统上,使用IE8浏览器运行.配置8个节点,总内存2 048 GB,裸容量1 200 TB,使用容量不低于600 TB,提供不低于10个NFS文件系统的软件license授权.配置双冗余控制器,配置8个16 GB FC接口、8个10 GB接口,支持不少于40个主机接口.配置服务质量控制(QoS),IPV4/IPV6协议授权功能,支持SSD读和写性能加速.配置RAID保护机制,单RAID硬盘组任意3块硬盘发生整盘永久性故障,数据不丢失、业务不中断.

3.2 整体性能

本文提出的基于边云协同的飞行试验数据处理系统采用数据处理中心+分集点同步飞行数据处理模式,实现了各试验场数据互联互通、异地数据同步处理,对数据处理算法库进行了统一,数据处理结果精度达到飞行试验要求,并且增加了动态可扩展性.非密数据可以通过手持终端随时随地访问,大大提高了飞行数据处理效率.2021年试验数据入库量如图12所示。

图12 2021年试验数据入库量Fig.12 Volume of test data stored in the database 2021

新旧飞行试验数据处理系统经过一段时间并行运行,逐步对以前分散管理的飞行数据及相关资料转入新系统统一管理,并对分散在全国各地试验点分集点的数据处理系统进行并网同步管理,目前已达到全运行状态.经多型号验证,相比原模式,新模式数据处理效率提升49%以上,数据处理耗时缩短到原模式的一半.新旧系统效率提升对比如表2所示.

表2 系统效率提升对比

相比于原系统,基于边云协同的数据处理中心在单向单线程传输、单向双线程传输中的测试表现出997~1 155 MB/s的流出量实测速度.原系统在单向单线程传输和单向双线程传输1 GB 的数据时,均需要60 s,新系统只需0.9 μs,新系统较原系统速度提升了60多倍.原系统在单向单线程传输10 GB的数据时需要7 min,新系统只需10 s;在单向双线程传输测试10 GB数据时,原系统需要11 min,新系统只需10 s.同时,新系统增加了数据处理中心与分集点之间的数据传输,分集点请求数据处理中心数据处理后,科研人员可以在分集点查看结果,新系统还增加了在线回放视频数据的功能,经测试回放流畅,极少有卡顿现象.原系统与新系统的服务器之间数据传输效率结果如表3所示.

表3 服务器之间数据传输效率相关指标测试

通过对新旧系统数据处理效率对比,数据处理服务器集群按用户的处理指令将数据处理任务均衡到相应计算服务器,并通过高速网传通信、通信协议迭代应用、极速数据库访问等技术的合理应用,达到数据处理效率提升的目的.

目前新系统已经完全独立运行,系统安全性、可靠性、健壮性等得到进一步验证,通过数据处理中心+分集点模式,已经完全担负起日常飞行数据处理任务.

4 结束语

本文通过数据处理中心与分集点结合的处理模式,解决了飞行数据从本地处理到跨地域处理、数据中心与各分集点飞行数据存储从点到面共享等问题,实现了飞行数据处理、全过程科目执行效果推演与分析、飞行数据驱动仿真等技术.通过引入5G无线和互联网有线技术,实现了从本地处理到通过手持移动终端实时访问非密数据的跨越,解决了后续试验数据处理在地域、空域、时效等制约瓶颈上的限制,实现了飞行数据的异地、本地协同处理.基于本文设计的飞行数据处理系统,实现了飞行试验数据高时效处理、跨地域数据共享和数据驱动与解算建模.后续将加大对数据结果智能预判、海量数据阶梯式分析等技术研究,为飞机飞行试验数据处理的智能化,做好技术铺垫和支撑.

猜你喜欢

飞行数据数据处理客户端
认知诊断缺失数据处理方法的比较:零替换、多重插补与极大似然估计法*
ILWT-EEMD数据处理的ELM滚动轴承故障诊断
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
基于Vanconnect的智能家居瘦客户端的设计与实现
GARMIN1000系统维修平台搭建预研究
浅谈飞行数据集中处理流程管理
基于广域信息管理的飞行数据服务设计与实现
基于希尔伯特- 黄变换的去噪法在外测数据处理中的应用
基于POS AV610与PPP的车辆导航数据处理