柴油机是船舶推进系统的重要组成部分,船舶吨位的不断增长对推进系统提出了更高的要求,在这种情况下,柴油机的功率越来越大,结构也越来越复杂,柴油机运行的可靠性和稳定性尤为重要。对柴油机的监控得到的数据量不仅包含数字量,同时也包含很多的高精度模拟量,从这些数据中获取有用的数据是一个非常庞大的工程。不仅要求对所有的数据进行存储,同时还要对大量的数据进行分析,必要时还需要建立柴油机的监测模型,使用大数据技术对柴油机的相关参数进行监测和处理。
对船舶柴油机的监控一直是国内外研究的热点,特别是对柴油机故障的诊断必须依赖于柴油机相关参数的监控。张新宇[1]提出一种基于大数据处理的柴油机SCR系统,并提出用户行为会对SCR系统造成影响。熊威[2]认为传统的柴油机故障诊断方法存在一定局限性,这主要是由于船舶上的数据采集和处理速度受到嵌入式处理器的限制,同时数据的安全性也无法得到有效保证。大数据平台技术为柴油机的监测和故障诊断提供了一个新的方法,为此本文提出一种基于Hadoop技术的船舶柴油机大数据平台。该平台能够实现对船舶用柴油机数据的实时采集、存储、查询和分析,同时也为后续的柴油机故障诊断提供良好的基础。
1 Hadoop技术 1.1 HDFSHadoop是一种分布式基础架构,Hadoop技术中有2个最重要的组件,分别是HDFS(Hadoop Distribute File System)和MapReduce,依靠这2个组件,Hadoop技术可以实现大数据的存储和处理。Hadoop技术具有高可靠性、低成本、高扩展性以及高效性,同时它还支持多种编程语言,可以有效降低项目的开发时间和成本[3-5]。
在大数据处理平台中,对数据的存储至关重要,因而HDFS在整个Hadoop技术中的地位也相当重要。图1为HDFS的存储架构,可以发现,HDFS对数据的操作依赖于若干数量的DataNode以及NameNode,DataNode是数据节点,负责存储大数据平台所有的基础数据,而NameNode则存储映射表,这个映射表也不是一直不变,而是通过DataNode不断上报的信息进行更新,这一点主要通过Heartbeat来实现。映射表中存储了不同数据的位置信息以及副本的数量,这样在客户端发起读数据的请求后,通过NameNode就可以获取该数据的具体内容[6]。
NameNode和DataNode保持数据通信,这样就可以不断地更新数据,同时也可以接收NameNode的一些操作命令,包括对数据的复制、删除等,客户端同时也可以直接向DataNode发出命令进行操作,为了实现具体的操作,DataNode之间需要根据一定的通信协议要求进行合作。
在船舶柴油机大数据平台的搭建中,为了保证数据的完整性和准确性需要考虑数据存储的安全性,在HDFS中通过副本实现,大数据的存储通过不同的数据节点实现,因而将柴油机的数据存储于一个数据节点,此数据节点位于机架1,而将另外一个副本储存在机架2上的另一个数据节点,因而可以最大程度保证数据的完整性和可靠性。同时当一个数据节点出现故障时,HDFS会识别出当前数据节点的机架号,并将该节点上的数据备份到另外一个机架上。
1.2 MapReduce为了实现对柴油机监控数据的处理,除了要使用HDFS对数据进行存储、删除、查询等操作外,还需要对输入的数据进行进一步分析和计算,在这个过程中,MapReduce是实现这一功能的关键。在Hadoop技术中不仅可以实现分布式存储,同时还可以实现分布式计算[7]。
在柴油机相关数据输入后,使用MapReduce进行分布式计算的主要过程如图2所示。分布式计算主是将柴油机监测数据按照一定的规则进行分类,将其分成多个Split,JobTracer将计算任务合理地分配给MapperTask,Shuffle负责将从上一步获取的数据分发到ReducerTask,ReducerTask阶段则会将MapperTask所获得的结果进行汇总,最后得到总的输出结果。
本文设计的基于Hadoop技术的船舶柴油机大数据平台整体结构如图3所示,整个平台包括3层,分别是应用层、大数据层以及数据采集层。
1)数据采集层。这一层主要是负责对柴油机的数据进行采集,一般使用嵌入式系统并结合以太网、现场总线等方式实现船舶柴油机数据的采集和传输。嵌入式系统具有良好的实时性,因而在完成对船舶柴油机数据的采集后使用CAN总线或者以太网,将数据发送到大数据平台进行分布式存储和计算。
2)大数据层。这一层中使用HDFS对柴油机监测数据进行存储,完成对数据的离线分析、BI分析以及实时查询等操作。
3)应用层。应用层是和用户实现交互功能,提供友好的用户界面,通过用户界面用户可以定制出在大数据平台上需要实现的功能,包括数据挖掘、数据查询以及数据分析,并输出可视化的结果和图表等。
基于Hadoop技术的船舶柴油机大数据平台实现了分布式存储和分布式计算,因而系统实现的功能主要包括:
1)对船舶柴油机数据的实时采集,包括包括燃油子系统、润滑子系统、进排气子系统以及冷却子系统的相关参数进行采集,具体的采集参数如表1所示。
2)由于采集的不同参数的数据格式完全不同,因而在采集完成后需要对数据进行标准化,本文使用的数据标准化方法主要包括离差标准化以及归一化等方法。
3)为使用者提供人机界面,能够完成对数据的可视化统计和分析,同时可以完成对柴油机历史数据的查询、删除等操作。
4)可以根据需求扩展现有系统的功能,支持二次开发。
2.2 系统测试为了验证本文设计的船舶柴油机大数据平台数据存储以及分析的功能,搭建试验平台。试验平台包括4台电脑,这些电脑的配置及相关指标如表2所示,其中1台电脑上安装有船舶柴油机大数据平台软件,另外3台电脑作为从机节点,在每台电脑上配置好相应的开发环境后,对文件的读写进行基本测试,测试文件来源于编制好的柴油机基本数据集合,每个文件大小在100~110 Mb。
大数据平台最终目标是对海量的船舶柴油机数据进行采集并处理,因而需要处理的数据量较大,同时也要求有较高的数据读写速度,只有这样才能满足系统设计需求。因而本文使用2个试验来检验搭建的平台性能,一个是多文件的写入速度测试,另外一个是柴油机数据排序的效率。
1)在船舶柴油机大数据平台应用程序中编写对应程序,测试在数据量相同(2 G)的情况下,不同文件数量时文件的写入时间和最大写入速度,得到的结果如图5所示。可以发现在相同数据量的情况下,文件数量和写入速度成反比,和写入时间成正比。
2)采集的柴油机数据包括采集时间、采集参数、参数的数值等,为了提升数据存储效率,需要对采集的数据进行排序,以便更好地分布式存储。同时船舶柴油机大数据平台在排序时根据采集时间、采集参数的种类等可以提供不同的排序方式。本文利用软件设置对不同采集参数进行统计和排序,可以得到不同采集的所有采集结果。
一般在进行排序时只采用一个MapTask,但是这样就无法体现出Hadoop中分布式存储和计算的优势,因而在实验中设置MapTask为4个,并且将不同采集参数作为分类标准,设置对应数量的ReduceTask。对不同大小的数据进行测试得到结果如图5所示,可以发现数据量越大,船舶柴油机大数据平台对这些数据所耗费的时间越多。
3 结 语随着船舶柴油机技术的不断发展,对柴油机实时监控并从监控的数据中对柴油机故障进行分析势在必行。由于柴油机实时采集数据量较大,当船舶数量较多时就会产生大量的实时数据,本文提出一种基于Hadoop技术的船舶柴油机大数据平台,能够实现柴油机数据的分布式存储和计算。通过一系列的测试表明,本文设计的船舶柴油机大数据平台可以满足船舶柴油机数据的存储和分析需求,并且具有较高的可靠性和扩展性。
[1] |
张新宇, 蒋茂玎, 吴磊, 等. 基于远程监控大数据处理的柴油机SCR系统研究[J]. 内燃机, 2021(6): 10-14. ZHANG Xin-yu, JIANG Mao-qing, WU Lei, et al. Research on SCR system of diesel engine based on remote monitoring and big data processing[J]. Internal Combustion Engine, 2021(6): 10-14. DOI:10.3969/j.issn.1000-6494.2021.06.004 |
[2] |
石利勇. 基于船舶柴油机监测数据的能耗研究[D]. 重庆: 重庆交通大学, 2021.
|
[3] |
赵海朋. 柴油机典型故障特征提取与智能诊断方法研究[D]. 北京: 北京化工大学, 2020.
|
[4] |
张其俊. 船用柴油机故障诊断技术研究[J]. 中国水运, 2020(7): 128-129. ZHANG Qi-jun. Research on fault diagnosis technology of marine diesel engines[J]. China Water Transport, 2020(7): 128-129. DOI:10.13646/j.cnki.42-1395/u.2020.07.045 |
[5] |
仲国强. 基于数据驱动的船舶柴油机智能故障诊断研究[D]. 大连: 大连海事大学, 2020.
|
[6] |
熊威, 金华标. 船舶柴油机大数据处理平台的研究与设计[J]. 内燃机, 2018(2): 9-12. XIONG Wei, JIN Hua-biao. Research and design of a big data processing platform for marine diesel engines[J]. Internal Combustion Engine, 2018(2): 9-12. DOI:10.3969/j.issn.1000-6494.2018.02.003 |
[7] |
孙峰, 黄连忠, 刘伊凡, 等. 一种应用数据挖掘技术评估柴油机性能的方法[J]. 大连海事大学学报, 2017, 43(3): 83-88. SUN Feng, HUANG Lian-zhong, LIU Yi-fan, et al. A method of applying data mining technology to evaluate the performance of diesel engines[J]. Journal of Dalian Maritime University, 2017, 43(3): 83-88. DOI:10.16411/j.cnki.issn1006-7736.2017.03.014 |