舰船科学技术  2023, Vol. 45 Issue (7): 158-161    DOI: 10.3404/j.issn.1672-7649.2023.07.030   PDF    
基于hadoop的舰船通信网络数据并行处理方法
赵健     
长治学院 计算机系,山西 长治 046011
摘要: 舰船通信网络数据量的显著提升对数据处理性能提出更高要求,为提升数据处理效率,研究基于hadoop的舰船通信网络数据并行处理方法。设计由数据应用层、数据处理层和数据存储层共同组成的基于hadoop的舰船通信网络数据并行处理架构:数据应用层作为用户与数据处理架构的交互工具,将所采集的数据上传至架构内;数据处理层运行MapReduce程序实现数据存储、解析与聚类等并行化处理;数据存储层采用HBase与HDFs等多种不同的存储方式存储舰船通信网络数据。实验结果显示,该方法可实现准确的舰船通信网络数据聚类,大幅节省数据处理时间,在数据量较大的条件下具备较好的数据处理加速比。
关键词: hadoop集群     舰船通信网络     数据并行处理     K-means算法     MapReduce     函数设计    
Research on data parallel processing method of ship communication network based on hadoop
ZHAO Jian     
Department of Computing Changzhi College, Changzhi 046011, China
Abstract: The significant improvement of the data volume of the ship communication network puts forward higher requirements for the data processing performance of the ship communication network. In order to improve the data processing efficiency, the parallel processing method of the ship communication network data based on hadoop is studied. Design a parallel processing architecture of ship communication network data based on hadoop, which is composed of ship communication network data application layer, ship communication network data processing layer and ship communication network data storage layer. The ship communication network data application layer is used as an interactive tool between the user and the data processing architecture to upload the collected ship communication network data into the architecture. The ship communication network data processing layer runs MapReduce program to realize parallel processing of ship communication network data storage, analysis and clustering. The data storage layer of ship communication network uses HBase, HDFs and other different storage methods to store ship communication network data. The experimental results show that this method can achieve accurate data clustering of ship communication network, greatly save data processing time, and have better data processing acceleration ratio under the condition of large data volume.
Key words: hadoop cluster     ship communication network     data parallel processing     K-means algorithm     mapreduce     function design    
0 引 言

随着舰船通信网络应用的普及,舰船通信网络数据量持续提升[1],由此导致舰船通信网络的处理与解析效率成为舰船通信网络数据应用过程中亟需解决的问题[2]。相关领域研究学者对于通信数据的处理方法进行了大量研究。龙草芳等[3]针对通信网络数据,采用分布数据数据加密方法对通信网络数据进行加密处理。但该方法实际应用过程中无法保障数据处理的实时性。杜海宾等[4]针对交互量巨大的通信网络数据处理问题,引用基于FlatBuffers的数据序列化技术提升数据通信效率。但该方法实际应用过程中受到数据规模的约束性,且方法可扩展性较差。针对上述问题,本文研究基于hadoop的舰船通信网络数据并行处理方法,提升舰船通信网络数据处理能力,降低数据处理时间。

1 舰船通信网络数据并行处理方法 1.1 基于hadoop的舰船通信网络数据并行处理架构

舰船通信网络数据处理过程中,结合舰船通信网络数据特性[5],设计基于hadoop的舰船通信网络数据并行处理架构。该结构是基于hadoop以Master-Slave架构为核心的分布式集群,通过分布式文件系统HDFS与MySQL关系型数据库处理舰船通信网络数据。舰船通信网络数据并行处理架构的设计以MVC三层功能结构为基础,图1为架构的功能分层。

图 1 基于hadoop的舰船通信网络数据并行处理架构 Fig. 1 Data parallel processing architecture of ship communication network based on hadoop

基于hadoop的舰船通信网络数据并行处理架构共分为3层,由上至下分别是数据应用层、数据处理层和数据存储层。

数据应用层是用户与数据处理架构的交互工具,用户可以操作舰船通信网络与数据并行处理架构实施交互,上传所采集的舰船通信网络数据,也能够利用Web网页或各类智能终端查看舰船通信网络数据。

数据处理层运行MapReduce程序,主要功能为实现舰船通信网络数据存储、舰船通信网络数据解析、舰船通信网络数据聚类等的并行化处理,同时完成数据并行处理架构维护的相关操作,如数据上传与下载、集群间数据同步等。

舰船通信网络数据存储层的设计参考大数据平台的特性,采用HBase与HDFs等多种不同的存储方式保障舰船通信数据存储的可扩展性(主要针对不同格式数据的存储问题),并利用MySQL数据库保障舰船通信网络数据的安全性问题。

1.2 舰船通信网络数据处理层设计

舰船通信网络数据处理层的主要功能是利用MapReduce程序实现舰船通信网络数据的并行化处理。

1.2.1 改进的K-means算法

舰船通信网络数据处理层利用改进的K-means聚类算法实现舰船通信网络数据聚类处理。 $ X{\text{ = }} \left\{ {{X_1},{X_2}, \cdots ,{X_i}, \cdots {X_n}} \right\} $ 表示初始舰船通信网络数据集合,其中 $ {X_i} $ 和分别 $ n $ 表示不同的舰船通信网络数据或数据集和舰船通信网络数据数量。模糊C均值聚类算法划分舰船通信网络数据类别过程中对通信网络数据集内的相似数据实施归类处理,直至划分为最小的数据集为止,其函数表达式如下:

$ D = \sum\limits_{j = l}^n {\sum\limits_{i = l}^c {s_{ij}^m} } {d^2}\left( {{X_j},{Q_i}} \right)。$ (1)

式中: $ s_{ij}^{} $ $ {d^{}}\left( {{X_j},{Q_i}} \right) $ 分别为第j个舰船通信网络数据集内的第i个数据或数据集和第j个数据集同其他数据集内第i个数据中心的欧式距离; $ {Q_i} $ 为第i类或第i个数据集。

$ {s_y} = \frac{1}{{\displaystyle\sum\limits_{k = 1}^e {{{\left( {\frac{{{{\rm{d}}_y}}}{{{{\rm{d}}_{kj}}}}} \right)}^{\left( {\frac{2}{{m - 1}}} \right)}}} }}。$ (2)

式中,m为对舰船通信网络数据集划分的次数。

$ g $ 表示第 $ g $ 次数据集的划分,利用式(3)表示函数表达式内的欧式距离:

$ d\left( {{s_i},{s_j}} \right) = \sqrt {\sum\limits_{k = 1}^g {{{\left( {{x_{ik}} - {x_{jk}}} \right)}^2}} }。$ (3)

式中, $ {x_{ik}} $ $ {x_{jk}} $ 分别为舰船通信网络数据集X内的第i个和第j个数据集中的第k个数据或数据集。

利用表达式描述改进后K-means算法内的聚类中心数据集或中心点,以 $ h $ 表示聚类中心点的数据集,由此得到:

$ {h_i} = \frac{{\displaystyle\sum\limits_{j = 1}^N {{x_{ij}}} }}{{\left\| N \right\|}}。$ (4)

式中, $ {d_w}\left( {{x_a},{x_b}} \right) $ 为改进后K-means算法内不同舰船通信网络数据类别的加权欧式距离,其计算公式如下:

$ {d_w}\left( {{x_a},{x_b}} \right) = \sqrt {\sum\limits_{i = 1}^g {{w_i}\left( {{x_{ai}} - {x_{bi}}} \right)} }。$ (5)

式中, $ {w_i} $ 为第i个舰船通信网络数据集的权重。

1.2.2 K-means算法的MapReduce并行化实现

K-means算法内,单独进行不同元素同质心距离的计算,此过程中各元素间不存在相关性,所以,可通过MapReduce模型实现基于K-means算法的舰船通信网络数据聚类MapReduce并行化处理,图2为并行化处理流程图。

图 2 聚类算法的MapReduce并行化处理过程 Fig. 2 MapReduce parallelization process of clustering algorithm

K-means算法的MapReduce并行化实现过程中最重要的2个步骤就是Map函数的设计与Reduce函数的设计。

1)Map函数的设计

基于K-means算法的舰船通信网络数据聚类MapReduce并行化实现过程中,Map函数的主要功能为由HDFS文件内采集舰船通信网络数据,针对不同舰船通信网络数据,确定其至不同质心的距离,同时针对此舰船通信网络数据进行类别标记。将初始舰船通信网络数据与聚类质心作为Map函数输入 $ \left\langle {key,value} \right\rangle $ ,即输入数据为舰船通信网络数据的 $ \langle 行号,记录\rangle $ ;将中间结果 $ \left\langle {key',value'} \right\rangle $ 作为输出,即输出数据为舰船通信网络数据的 $ \langle 所属类别,记录\rangle $

2)Reduce函数的设计

基于K-means算法的舰船通信网络数据聚类MapReduce并行化实现过程中,Reduce函数的主要功能是依照Map函数的数据结果,更新聚类中心,便于下一轮Map函数应用。确定标准测度函数值,基于该值确定迭代过程都满足终止条件。

MapReduce并行化处理过程在运行Reduce函数前会合并处理Map函数的 $\left\langle {} \right. $ key′, value′ $\left. {} \right\rangle $ ,将其中key值一致的多组 $\left\langle {} \right. $ key′, value′ $\left. {} \right\rangle $ 合并为一对。以 $\left\langle {} \right. $ 所属类别,{记录合计} $\left. {} \right\rangle $ $\left\langle {} \right. $ 类别号,均值向量+该类的平方误差和 $\left. {} \right\rangle $ 分别作为Reduce函数的输入 $ \left\langle {} \right.$ key′′, value′′ $ \left. {} \right\rangle $ 和输出 $\left\langle {} \right. $ key′′′, value′′′ $ \left. {} \right\rangle $

基于K-means算法的舰船通信网络数据聚类MapReduce并行化实现过程中调用以上MapReduce过程,不同迭代过程中均获取一个新的job,直至2次获取的平方误差和差值低于设定阈值,即可终止迭代过程。Map函数最后一次输出的 $ \left\langle {key',value'} \right\rangle $ 即为舰船通信网络数据最终分类结果。

2 实验结果

本文研究基于hadoop的舰船通信网络数据并行处理方法,为验证本文方法在实际舰船通信网络数据并行化处理过程中的应用性能,从某系统中选取任意一艘舰船,采集其通信网络数据生成数据集。该数据集内共包含37874658条通信数据,对该数据集实施处理将其划分为5个大小有所差异的实验数据集,具体划分结果如表1所示。本文方法性能检验过程中搭建基于hadoop部分的6台计算机并行运行环境,将其中1台计算机和剩余5台计算机分别为子任务中的主要任务节点和其他子任务节点。

表 1 实验数据集划分结果 Tab.1 Experimental data set division results
2.1 聚类算法的有效性分析

为验证本文方法中数据聚类算法的有效性,采用本文方法对数据集1实施聚类中心确定,并同数据集的实际聚类中心进行对比,结果如表2所示。分析表2可得,针对数据集1,本文方法所得的聚类中心同实际聚类中心基本一致,误差控制在百分数级别,由此表明本文方法能够获取较为准确的聚类中心,为后续实现高精度的数据聚类结果打下坚实基础。

表 2 通信数据聚类性能分析结果 Tab.2 Communication data clustering performance analysis results
2.2 并行化处理性能分析

表3为不同集群节点数量条件下5个数据集的运行时间。分析可得,在数据规模一致的条件下,集群节点数量越多任务完成时间越短。由此说明通过提升集群节点数量能够大幅提升数据处理能力,表明本文方法具有较好的扩展性。

表 3 本文方法运行时间 Tab.3 Operation time of this method

通过加速比能判断本文方法的并行处理性能,其能够呈现通过降低运行时间呈现的性能提升效果。图3为本文方法的加速比测试效果。分析可得,本文方法的加速比趋于线性。因Hadoop集群初始运行需要花费一定时间,因此在数据量较少的条件下,本文方法的加速比性能并不明显。但在数据量较大的条件下,本文方法的加速比性能同数据量之间表现出正比例相关。表明在数据量越大的条件下本文方法的加速比性能越好,也就是本文方法适于应用在海量舰船通信网络数据的处理中。

图 3 加速比分析结果 Fig. 3 Acceleration ratio analysis results
3 结 语

本文研究基于hadoop的舰船通信网络数据并行处理方法,利用MapReduce实现舰船通信网络数据的并行化聚类,同时通过实验验证了本文方法的应用性能。在后续研究过程中将进一步优化本文方法,探索舰船通信网络数据其他处理过程的并行化实现。

参考文献
[1]
马冀, 林尚静, 李月颖, 等. 多源跨域数据融合的无线通信网络流量预测[J]. 计算机科学, 2022, 49(S2): 893-899.
MA Yi, LIN Shangjing, LI Yueying, et al. Traffic prediction of wireless communication network based on multi-source and cross-domain data fusion[J]. Computer Science, 2022, 49(S2): 893-899.
[2]
马莉莉, 刘江平. 基于数据挖掘的光纤通信网络异常数据检测研究[J]. 应用光学, 2020, 41(6): 1305-1310.
MA Lili, LIU Jiangping. Research on abnormal data detection of optical fiber communication network based on data mining[J]. Journal of Applied Optics, 2020, 41(6): 1305-1310. DOI:10.5768/JAO202041.0608003
[3]
龙草芳, 肖衡. 无线传感器网络分布式数据库加密方法研究[J]. 传感技术学报, 2022, 35(8): 1131-1136.
LONG Caofang, XIAO Heng. Research on encryption method of distributed database in wireless sensor network[J]. Chinese Journal of Sensors and Actuators, 2022, 35(8): 1131-1136.
[4]
杜海宾, 姜正, 于健, 等. 基于FlatBuffers的机车通信数据序列化方法应用研究[J]. 铁道运输与经济, 2022, 44(3): 134-140.
DU Haibin, JIANG Zheng, YU Jian, et al. Research and application on FlatBuffers-based data serialization technique for locomotives[J]. Railway Transport and Economy, 2022, 44(3): 134-140.
[5]
王林, 陈青超. 基于Hadoop的灰狼优化K-means算法在主题发现的研究[J]. 微电子学与计算机, 2022, 39(4): 24-32.
WANG Lin, CHEN Qingchao. Research on topic discovery based on hadoop gray wolf optimized K-means algorithm[J]. Microelectronics & Computer, 2022, 39(4): 24-32.