标题 | 基于Hadoop的海量情报数据管理系统设计与实现 |
范文 | 石子言 赵国林 胡乔林 摘 要:随着计算机技术的快速发展,目前诸多行业信息化程度越来越高,需要处理的数据量也不断增大。对基于Hadoop的海量情报数据的存储和处理方法进行研究,提出一种基于Hadoop技术的海量情报数据管理系统,优化了情报数据存储和处理效率,对提高战场上海量情报的分析处理能力有着非常重要的作用。 关键词:Haoop;海量数据管理;情报;数据处理;系统设计 中图分类号:TP319 文献标识码:A 文章编号:1672-7800(2015)005-0100-03 作者简介:石子言(1984-),女,湖北武汉人,硕士,空军预警学院讲师,研究方向为信息对抗;赵国林(1979-),男,河南新野人,硕士,空军预警学院讲师,研究方向为信息对抗;胡乔林(1979-),男,湖北荆州人,博士,空军预警学院讲师,研究方向为信息对抗。 0 引言 现代战争是信息化的战争,在信息化战场上,情报分析和处理对赢得战争的胜利起着十分重要的作用。未来军事斗争中,必须要有强大的情报侦察和处理能力。情报数据库的建设将与作战相关的情报信息进行存储和整合,并为指挥人员提供实时分析、查询等功能。然而在战场上,侦察情报信息数据量非常大,每天获取的情报信息可能达到数百GB甚至数十TB。因此,如何存储、管理和共享海量情报信息已成为亟待解决的问题。 战场情报信息最大的特点是规模大,且来源分散,需要采用一种分布式方法对海量情报数据进行组织和管理。Hadoop是一种开源架构,可以在廉价的机器上对海量数据进行分布式存储和管理。本文在研究开源框架Hadoop的基础上,介绍了基于Hadoop的海量情报数据管理系统的设计与实现方法。 1 基于Hadoop的海量情报数据管理系统设计 1.1 平台总体框架设计 根据项目需要,设计基于Hadoop的海量情报数据管理系统,采用MVC3层架构设计,可以分为应用接口层、数据库访问层和数据处理层3个层次,如图1所示。 (1)数据访问层:为用户提供了海量情报数据管理接口,对不同数据源进行屏蔽处理,提供异构数据库访问服务。 (2)数据处理层:提供了对海量情报数据的并行处理功能。并行处理海量情报数据,处理后的数据存储到分布式数据库中,同时还提供系统服务[1]。 (3)应用接口层:提供不同应用之间的交互接口,用户可以通过简单的操作界面工具,进行海量情报数据的存储和处理。 1.2 系统数据库结构设计 基于Hadoop的海量情报数据管理系统将从不同来源收集来的情报数据存储到相互联系的一个集群中。集群中的每个服务器上有一部分数据,整个集群的所有数据是一个完整的数据集。在这种结构中,系统的I/O、CPU、内存都远远高于单服务器。将系统与Hadoop的map/reduce/merge架构相对应,数据的分割可理解为map,每台服务器的单独处理可理解为reduce,汇总数据进行再处理可理解为Merge[2]。系统总体架构如图2所示。 结合战场情报收集和处理的实际,分析海量情报数据的结构类型,对海量情报数据处理系统数据库作以下整体设计,包括4个类型的数据库:①资料情报数据库:包括雷达资料情报信息库和通信资料情报信息库,用于存放已分析和处理完成的历史情报分析结果;②目标数据库:包括雷达辐射源信息库和通信辐射源信息库,用于存放战场主要作战目标的地理方位、工作频率等信息;③作战环境数据库:包括敌情、我情、友邻和战场环境信息库,用于存放敌方和我方的兵力部署情况、部署位置等信息;④作战态势数据库:用于存放战场上实时从装备上接收的侦察情报。 2 基于Hadoop的海量情报数据管理系统实现 2.1 分布式文件系统实现 HDFS是Hadoop应用中的一个分布式文件系统,HDFS的做法是将海量数据分布存储在一个多台计算机组成的大集群上,文件分块存储,数据分块复制。 HDFS采用Master/Slave的体系结构,由一个NameNode和多个DataNode组成。其中NameNode是主控服务器,用于管理文件系统元数据,可执行文件系统的各种操作,包括打开、关闭、重命名文件或文件目录,决定了数据块到DataNode的映射[3]。DataNode用于存储数据及相应用户的读写请求,执行数据块的创建、复制、删除等工作。系统体系结构如图3所示。 HDFS还有Secondary NameNode节点。Secondary NameNode会定期从NameNode上复制映象文件和事务日志到临时目录,合并生成新的映象文件后重新上传到NameNode。 2.2 分布式计算模型实现 分布式计算模型分为Map和Reduce两部分。计算模型如图4所示。 将海量情报数据分割为M个片段进行并行Map映射操作,形成键值对 2.3 分布式海量情报数据库实现 HBase是一个基于列存储数据记录的分布式数据存储系统,由主服务器、子表服务器和客户端3部分组成。主服务器作为HBase的中心,管理整个集群中的所有子表服务器,监控每个子表服务器的运行情况等。子表服务器具有接收来自主服务器分配的子表、处理客户端读写请求、缓冲区回收、压缩和分割子表等功能[4]。客户端主要负责查找用户子表所在的子表服务器地址信息。 Hbase的数据行中应包括3种基本类型:行关键字(Row Key)、时间戳(Time Stamp)和列(Column)。 系统列定义为: |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。