民机运行大数据分析平台整体架构研究
2018-02-05,,
, ,
(1.上海民用飞机健康监控工程技术研究中心,上海 200241;2.上海帕科网络科技有限公司,上海 200233)
0 引言
世界正处于数据爆炸性增长的大数据时代[1],航空业具有大数据应用的天然土壤。民用飞机的主制造商是航空数据的生产者和集成者,能够收集民用飞机运行、维修维护相关的海量数据,具备构建民机运营大数据平台的数据资源。
20世纪80年代,空客在A320试飞试验阶段分析了超过12 000个具体参数,采集了将近8TB的数据量。目前,A350型号分析的参数达到60万个,每天收集到的数据已超过1.8TB。2015年,波音737系列的发动机运转过程中采集到的数据量就达到91TB。目前,波音787飞机仅执行一个航班,所采集的数据就能够达到0.5TB,这些数据包括客舱压力、高度、燃油消耗等信息。针对飞机所产生的爆炸性增长的数据,在飞机运行和服务领域需要借助大数据技术进行高效的海量数据存储和分析。
波音公司2014年度的市场预测报告表明,全世界各大航空公司都在积极探索能够提供更好的预测功能的飞机,特别是部件发动机健康管理解决方案,为其库存管理和零部件采购提供决策建议,进而降低航空公司的经营成本。空客也已将AIRMAN迁移至云平台,向用户提供基于大数据的健康管理服务。据SAP介绍,一家生产飞机零部件的公司借助大数据分析HANA工具,在库存方面节省了近200万美元,在生产流程时间方面缩短了25%,从而降低了30%的组装水平,同时减少了员工40%的加班费用。2015年6月,空客、波音等民机主制造商纷纷与微软、IBM等IT企业开展积极合作,利用大数据的技术来探索提高综合竞争力。2015年底GE将30多年积累的发动机数据全部迁移至Predix大数据平台,利用资产性能管理系统(APM)监控全球34977台在翼发动机,每天将接收到的22万个数据报文进行分析处理,并根据故障情况,发出相应警告信息。每年可以收集超过1亿条报文,这些信息意义重大。波音已将他们基于大数据的飞机性能分析应用、AHM飞机健康管理服务转移至微软Azure云计算平台上,航空公司使用这种应用来预测维护需求,目前,用户超过300家航空公司。
国内在基于QAR数据的运营方面,开展了相关的研究工作[2-3]。在大数据应用方面,在基于民航协同系统,航空维修信息应用[4]及航空安全数据收集[5]方面有一些研究,但在系统架构方面还没有自身的大数据平台。本文针对民机运行业务支持,对民机运行大数据平台技术进行了研究。
1 民机大数据平台总体架构
民机运行大数据平台架构设计主要包括基础架构层及资源层设计,数据层设计及服务层设计。
图1 民机运行大数据平台体系架构
基础架构层及资源层为上层应用系统提供计算,网络,存储等资源,主要组成部分包括计算机基础设施,通常是虚拟化的平台环境。基础架构层是为民机运行大数据平台提供物理硬件支撑。
数据层设计包括数据采集和大数据存储设计。数据采集系统完成大数据平台与民机业务系统及其数据库的对接,将应用系统中的结构化、非结构化数据通过批量、增量采集方式汇集到大数据平台系统中。该汇集过程可以配置自动化的数据采集规则,并得到数据拥有者的审核授权再进行数据传输,数据管理员可以对整个数据采集过程进行监控、追溯。系统可提供了相应工具支持数据管理员针对关系型数据库、列式数据库、Nosql数据库等不同的数据存储方式进行优化处理; 大数据存储系统采用分布式的设计架构,可以支持传统关系数据库、分布式文件系统、Nosql数据库、以及内存数据库等多种数据存储方式,可以实现对海量民机运行数据进行快速存储和处理。
服务层的主要功能是为民机运行业务应用提升计算分析等支撑服务。民机运行大数据分析平台采取内存优化的计算引擎、实时数据流计算引擎的技术方案,实现SQL引擎、内存分析服务,为健康管理、远程运维等应用提供接口支撑。平台系统实现是通过授权的数据访问服务接口,为上层数据应用提供基础查询和计算等服务。本层集成利用大数据分析算法工具集,提供一些常用的分析和可视化工具包,并支持算法的集成,包括R语言、Python语言自定义的算法。
2 民机运行大数据基础平台组成
民机大数据基础平台采用基于HDFS(分布式文件系统)的大数据集群平台架构进行数据的存储和分析。底层硬件采用常规配置的服务器和存储,通过HDFS设计,实现高吞吐量的功能,满足民机运行大型数据集的业务应用程序。 HDFS 的 “一次写入、多次读取” 模型,降低了平台对并发性控制要求,支撑主制造商及航空公司多用户的高吞吐量访问。HDFS 将平台处理逻辑放置在各类数据周围,数据写入模式严格定义为 “一次写入一个”。每一个流的末尾附加一个字节,保证数据已字节流的方式写入HDFS中,进行顺序存储。各个互联的节点组成了HDFS节点群,文件数据以及其目录均保存在这些节点上。一个 HDFS 集群通常包含管理节点和数据节点。管理节点管理着文件系统的名称空间并规范客户端对文件的访问权限,对各个数据节点进行统一调配。数据节点主要用于民机运行相关的数据存储。
图2 大数据集群拓扑
2.1 管理节点
管理节点在大数据平台中,提供重要的集中式的集群管理功能,若管理服务终止,则对应的Hadoop集群服务也会停止。因此,大数据平台对管理节点的硬件设备的可靠性要求较高。管理节点主要提供HDFS中文件打开、关闭以及重命名文件和目录等管理服务,即将这些链接映射到数据节点中。因此管理节点对内存的要求高,对存储的要求低。管理节点的数据通常很少,因此民机运行大数据平台的管理节点前期设计一个管理节点,使用高端的小型机服务器,保证其高性能和可靠性。
2.2 数据节点
数据节点是具体处理任务的,包括数据的存储和计算功能。由于处理节点是计算密集型的操作节点,因此对硬件的配置要求较高,特别是CPU的能力。某个数据节点如果出现异常,则它的服务功能可以被其他的数据节点来代替,因此对设备的可靠性要求相对管理节点的要求较小。民机飞行大数据平台采取数量多而不是单机的可靠性等性能很高的配置,可根据项目后续数据的增加,而扩展配置。管理节点通过数据节点的ID进行识别,并优化数据节点之间的通信。民机运行中的数据在数据节点上是分布式存储的,由于数据在各个数据节点的分布式不会时刻都是均衡的,为了保证资源的充分利用,可以通过HDFS,进行数据平衡分配,即如果某个数据节点的空余空间太少,HDFS会将其上的数据转移到其他数据节点上。为了保证数据安全,每台数据节点上的数据在其他数据节点上都会有备份。
2.3 硬件平台指标需求分析
2.3.1 民机运行数据量预估
随着高新技术在航空领域的广泛应用,未来民用客机的综合化、系统化、信息化程度将会越来越高,飞机所产生的数据规模将爆炸式增长,大数据平台需要接收不同数据源的多种类型的数据。其中包括存在于数据库中的结构化的数据、电子文档形式、图片视频形式存在的非结构化数据,以及众多半结构化的数据。对于这些不同种类的异构数据,需要采用不同的方式进行处理和存储。此外,为了支持民机运行,大数据平台还需要采集各种设计及维修手册,维修记录数据、气象数据、可靠性数据等。
2.3.2 大数据平台计算能力规划
以数据量20PB为例统计,后续可以动态不停机加存储节点。如果每台X86存储服务器配置100T硬盘,则20000TB /100T=200,需要200台X86存储服务器。如果采用更大的硬盘,数据存储服务器数量还能更少。按功能区分,将整个大数据集群划分成4个逻辑功能集群,每个集群的功能描述和所需要的服务器节点数量如表2所示。
表2 大数据节点功能
3 民机运行大数据计算分析工具
3.1 离线数据计算分析工具
离线数据计算分析可应用于民机故障预测、健康管理、趋势判断等功能模块。故障预测功能采集每天所有航班的飞行数据,通过大数据技术分析,可得到飞机的运营状态和其安全可靠性。同时,通过对飞行参数的变化趋势以及是否超限进行分析,完成对潜在的故障的预测功能。故障预测分析的主要数据来源是航后积累的历史数据,包括QAR数据、可靠性数据等。地面系统将这类数据进行译码和统计分析,根据飞行事件的严重程度进行分级预警。同时通过对飞机参数的状态变化趋势分析。结合系统模型原理特性,可得到飞机上重要系统的健康状况,进而实现对单架飞机乃至整个机队的健康状况进行统一管理,合理调度。
面对大规模的各类数据,需要采用一种高效的离线计算引擎来提高PHM各业务模块的运行效率。民机运行大数据分析平台采用Apache Spark批处理离线计算引擎应对PB,EB级别大规模的数据处理业务。
Apache Spark是基于内存计算的新型大数据处理引擎,它可以使用存储器内运算技术,数据未写入硬盘之前,即开始在存储器内进行分析计算,由于消除了频繁的I/O磁盘访问,因此其计算速度相对于MapReduce要快很多。为了提升在内存中批计算能力,Spark采取弹性分布式数据集,即RDD模型,来对大量的数据进行分析处理。Spark对每一个RDD执行的操作可生成新的RDD,而每个RDD可通过世系回溯至其父级RDD,并最终回溯至硬盘中的数据。借助这种功能,Spark可通过RDD进行容错设计,这种容错方式无需将每次操作的结果都写回磁盘中。Spark架构如下图所示:
图3 Spark运行框架
Spark支持独立部署模式、Hadoop YARN、Apache Mesos等不同的使用方式。在分布式存储技术方面,Spark支持HDFS、Cassandra、OpenStack Swift和Amazon S3等接口的连接,为民机运行大数据使用多种数据存储方式提供可能。Spark允许用户将数据加载至存储器中,支持对其多次查询,其MLib算法库集成了多种算法,包括机器学习算法等,是民机运行大数据分析的有力支撑。
3.2 实时数据流处理工具
实时数据流计算引擎适用于对系统的响应,数据的处理速度要求非常高的业务,民机运行业务中实时监控模块为实时获取飞机飞行过程中的各类数据信息,进而能够实时掌握飞机的飞行状态。实时监控模块的数据来源通常是ACARS报文数据,飞机通过空地链路将 ACARS报文传送到地面基站,地面应用系统实现对报文的接收和解码。一旦飞机出现故障,可实时得到飞机的实时故障信息、重要参数状态,可根据故障状态快速反应。实时监控功能,可以使航空公司、飞机生产商及时地掌握民用客机的当运营状态,当某些等级特别严重的故障发生时,地面工作人员可提前分析判断故障原因,组织相关技术人员、航材资源、地面工具,一旦飞机降落,迅速进行故障解决,提高效率,减少民用客机的停场维修时间,节约运营成本。目前,应对实时流计算业务的引擎主要包括:Storm、Spark Steaming、雅虎的S4系统、Facebook的Puma等,民机运行大数据分析平台采用Storm和Spark streaming计算引擎。
(1)Storm分布式实时流计算引擎。
作为一个典型的分布式实时流计算系统,Storm扩展性强、可以快速可靠地处理各类数据流。在电商领域,Storm常被用于处理实时日志、实时数据统计、风险控制、产品推荐等应用场景中。Strom通过数据流(stream)、数据流生产者(spout)、运算(bolt)等组成完整的数据流处理模型。其中,数据流是storm的核心抽象,而数据流是由无数的元组(tuple),tuple中包含了一个或多个键值对。Storm通过唯一的ID
标志来识别各个数据流,通过控制数据流持续不断地流经各个网络节点,来处理大量的实时流数据。如图4所示。
图4 Storm数据处理流
架构图所示中的水龙头代表了数据流的来源,例如飞机正在飞行过程中产生的ACARS报文,一旦水龙头打开,数据就会源源不断地流入。图中有三条数据流,分别用蓝色、绿色、红色不同的颜色来表达,数据在每个数据流中流动的元组中被承载。Storm对这些数据的来源和去向不做限制,因此,可以通过代码实现任意来源的数据输入和数据任意方向的输出。通常情况下,输入/输出的数据都是基于Kafka、ActiveMMQ等消息队列系统的,此外还兼容民机运行相关的传统数据仓库、各类文件系统以及网络中民机运行相关舆情信息等数据源。使用Storm可以实现民机运行大数据分析平台毫秒级的数据分析处理,但其吞吐量比较低,可以为一些核心故障监测等对实时性要求极高的业务提供支撑服务。
(2)Spark Streaming分布式流式计算引擎。
Spark Streaming 是Spark计算引擎核心API的扩展,可以实现安全可靠、容错性高的实时流数据处理。与Storm 相比,Spark Streaming是基于单元时间的方式来处理数据,可以在短暂的事件窗口中处理多条事件,因此具有一定的时延。Spark Streaming支持从多种数据源中获取数据,包括Kafka、Flume、Twitter、Kinesis 以及TCP sockets等数据。Spark Streaming对数据流的输入输出接口如图5所示。
图5 Spark Streaming数据处理流
Spark Streaming 基于Spark的优秀架构,可以集成多种数据分析算法,包括map、reduce、join等高级函数,以及机器学习算法等。此外,Spark Streaming还可以与Spark中其他子框架联合工作,例如集群学习框架、图计算框架等,对流数据进行更多地处理。Spark可以实现民机运行大数据分析平台秒级的数据分析处理,其吞吐量比较大,可以为常规实时监控、实时故障诊断等实时业务提供支持服务。
4 结果分析展示
通过搭建民机运行大数据分析平台,将ARJ民机运行数据ACARS、QAR、维修记录数据通过相应工具采集到大数据分析平台中,并存储到HBASE中,并提供不同的业务分析工具,验证了本平台架构的可行性,可为ARJ飞机业务数据服务提供平台支撑。
5 结论
通过构建民机运行大数据分析平台,利用大数据的优势,解决民机运行中的关键性问题。民机运行大数据平台为民用客机故障预测、健康管理、飞机安全保障,航空公司服务品质提升,飞机派签率提高,维护成本降低等方面提供了平台技术支持,为我国民用航空业和飞机主制造商带来了巨大的社会与经济效益。同时,通过大数据平台,有助于打破国外先进主制造商的技术壁垒,对我国迈向航空制造强国,缩小与国外的差距有着重要的意义。
[1] 张 洁, 秦 威, 鲍劲松. 制造业大数据[M].上海:上海科技出版社, 2016.
[2] 耿 宏, 李萍萍, 刘家学,等. 基于压缩感知的QAR数据重构[J]. 计算机测量与控制,2013,21(5):1351-1353.
[3] 高飞鹏, 黄加阳, 陈新霞. 基于航后QAR数据译码的APU故障诊断技术[J]. 计算机测量与控制,2016,24(1):42-45.
[4] 叶云斐, 陈晓建, 陈伟青,等. 基于云计算的民航协同决策系统基础架构研究[J]. 软件产业与工程, 2015(4):36-41.
[5] 曹 彪, 张 磊, 宋 岩,等.大数据时代航空维修信息应用研究[A]. 航空装备维修技术及应用研讨会论文集[C]. 2015:22-26.