登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 电子信息类 > 通信工程 > 正文

基于Hadoop的工业大数据分布式存储系统的设计与实现毕业论文

 2020-02-17 22:00:34  

摘 要

随着信息化技术与制造业的深度融合,传统制造业逐步迈向信息化、智能化的时代,与日俱增的工业大数据也给企业的发展带来新的机遇和调整,其中大数据存储技术是工业大数据应用的基石。国内外部分先进的企业已经开始尝试提出“工业云”的概念,其将会对企业的发展产生不可预估的优势。传统的数据存储都是集中存储模式,为了解决这种模式效率低下且会对数据产生破坏或者损失的弊端,本毕业设计尝试设计并实现一个工业大数据的分布式存储平台。

本文主要将Hadoop分布式数据平台与工业大数据相结合,用多台Linux虚拟机搭建集群。针对不同种类的工业数据源采用不同的数据库模型,在集群可行的基础上,对系统的存储与查询功能进行实现,并测试其性能。通过测试,证明本文所设计的工业大数据存储平台可以对海量数据进行存储,并保证其时效性与完整性。

关键词:工业大数据,分布式存储,关系型数据库,非关系型数据库

Abstract

With the deep integration of information technology and manufacturing industry, the traditional manufacturing industry is gradually moving towards an era of informationization and intelligence. The increasing industrial big data also brings new opportunities and adjustments to the development of enterprises. Among them, big data storage technology is The cornerstone of industrial big data applications. Some advanced enterprises at home and abroad have begun to try to put forward the concept of "industrial cloud", which will have an unpredictable advantage for the development of the enterprise. Traditional data storage is a centralized storage model. In order to solve the disadvantages of this model being inefficient and causing damage or loss to data, this graduation design attempts to design and implement a distributed storage platform for industrial big data.

This paper mainly combines the Hadoop distributed data platform with industrial big data, and builds clusters with multiple Linux virtual machines. Different database models are adopted for different types of industrial data sources. On the basis of feasible clusters, the storage and query functions of the system are implemented and their performance is tested. Through testing, it proves that the industrial big data storage platform designed in this paper can store massive data and ensure its timeliness and integrity.

Keywords: industrial big data, distributed storage, MySQL, NoSQL

目录

第1章 绪论 1

1.1目的及意义 1

1.2国内外现状 1

1.3课题研究内容与目标 2

1.3.1研究内容 2

1.3.2研究目标 2

第2章 存储关键技术研究 4

2.1集中式存储方式 4

2.2分布式存储技术 4

2.2.1分布式文件系统HDFS 4

2.2.2关系型数据库MySQL 5

2.2.3非关系型数据库HBase 6

2.2.4高效的内存数据库Redis 7

2.2.5文档型数据库MongoDB 8

2.2.6数据库对比 9

2.3本章小结 9

第3章 基于Hadoop的工业大数据存储系统的设计 10

3.1工业大数据来源与特点分析 10

3.1.1工业大数据来源 10

3.1.2工业大数据分类 10

3.1.3工业大数据特点 11

3.2分布式工业大数据存储架构 11

3.2.1工业大数据存储系统总体架构 11

3.2.2 HDFS体系架构 12

3.2.3 Map/Reduce体系架构 13

3.2.4 HBase体系架构 14

3.2.5 Redis分布式体系架构 14

3.3工业大数据存储系统功能设计 15

3.4工业大数据存储数据库设计 17

3.4.1 MySQL数据库设计 17

3.4.2 HBase数据库设计 17

3.5本章小结 18

第4章 基于Hadoop的工业大数据存储系统的实现 19

4.1 Hadoop集群的搭建 19

4.2工业大数据存储系统功能实现 20

4.2.1存储功能实现 20

4.2.2查询功能实现 23

4.3工业大数据存储系统测试 25

4.3.1分布式平台运行调试 25

4.3.2使用hbase shell指令查询数据 26

4.3.3用JAVA API查询数据 26

4.3.4系统运行情况测试 27

4.4本章小结 27

第5章 总结与展望 29

5.1总结 29

5.2展望 29

参考文献 30

致谢 31

第1章 绪论

1.1目的及意义

正是由于信息化技术的高度发展,大数据时代的出现成为了必然,同时电子信息化设备在我们的日常生活中都有着及其普遍的应用,这导致信息数据的获取以及传输更为方便,数据的产生更为广泛和庞大,与此同时存储技术的快速发展为海量数据的存储提供了技术支持[1],使得对于大数据的应用以及分析成为了可能。

和我们息息相关的,例如淘宝的双十一购物节,京东的618狂欢日,在很短的时间内产生上千亿人民币的销售额度与成交量,这期间产生的数据流可以达到PB的级别,这些数据的存储就需要海量数据的存储技术支持以及大数据平台的搭建。我们看不见的,在银行中储蓄的账户,在社交平台上账号的资料,无一例外的需要大数据平台的存储和处理。

以及在工业中,工厂管理产生的时序数据,产品生产的资料数据,企业运行的事务数据以及自动化设备的视频资料,也都离不开大数据平台的管理。由此可见,大数据平台的设计与实现至关重要,直接关系到我们生活或者工业企业的生存与发展,成为日待解决的重点问题。

1.2国内外现状

与此同时,很多企业也注意到了这个方面,例如华为和阿里先后建立起各自的云平台数据处理系统。华为云依附于互联网领域,依托于华为公司先进的云计算科研能力和积累的技术资本,面向个人、大中小型企业、政府以及科研院所等用户提供云端平台系统。阿里云面向制造、医疗、金融、能源、电信等众多领域的领军企业提供大数据云计算服务。例如之前提到的淘宝的双十一购物节、12306购票系统等海量数据的应用中,阿里云都保持着良好的运行纪录。

工业方面,在大数据时代到来之后,面向工业的大数据技术也已经迅速发展起来,有些企业已经建立起了自己的工业大数据存储与处理平台,例如美国通用公司将要和亚马逊等平台合作建设“工业云”数据处理中心[2],利用亚马逊的大数据处理技术,将世界上在正常工作的并且已经联入互联网的生产平台,以大数据的思想来分析处理产生的信息。再比如段盛泽对线缆生产系统大数据平台的实现[3],其依托于物联网的数据采集与传输技术,使用Hadoop大数据技术进行存储与管理,结合Apriori算法,打造了独具特色的工业云数据平台。以及美国的PTC公司,也面向工业方面,打造了ThingWorx数据处理平台[4]

预计到2020年,数据处理量的总和可以达到PB级别,超级计算机的发展也使得未来数据计算能力可以有很大范围的进步。存储容量的快速增长使得未来的数据处理成为可能,然而与此同时,存储带宽并没有达到同样的速度,在过去20年中容量和带宽之间的差距扩大了一到两个数量级[5]。如何克服未来存储硬件中的带宽限制成为了未来大数据平台的研究方向。

1.3课题研究内容与目标

1.3.1研究内容

大数据平台的主要思想是将分布在网络上的若干计算机节点组合成为一个集群,将大量用网络连接的计算机数据一同存储以及处理,构成一个数据资源池向客户需求端提供其所需的服务,同时其数据库内部的搭建技术与客户需求端无关[6],客户端只是依照需求获得了服务。

Hadoop是由Apache公司设计实现的完全开源的分布式数据处理服务系统,其中心思想是HDFS以及Map/Reduce [7]。Hadoop分布式文件系统存储与计算框架都是依照于“master/slave”结构[8],在主机master端运行有NameNode等进程,在从机slave端运行有DataNode等进程,这样的结构有利于快速大量的处理数据。在这种存储结构内,DataNode保存有实际的数据块结构,NameNode可以存储文件系统的名称以及操作日志,并存储DataNote中数据块和其副本所在位置的信息。MapReduce算法可以概括为“分而治之”的思想,其包括Map与Reduce两个部分,Map部分完成向分节点分发工作的过程,Reduce部分完成整合各个分节点结果并合并的过程。HBase是依托于Hadoop分布式平台的,它的结构由列和行所组成的表构成。行的位置与列的位置可以定位一个元素,在每一个元素中,可以存入由各个时间戳索引的数据 [9]

本设计实现针对工业海量多元化数据,通过搭建Linux集群和部署安装Hadoop相关组件实现一个工业大数据分布式存储系统,主要的研究内容有:

1.对工业大数据研究的现状分析,对工业大数据分析的支持技术进行研究;

2.研究工业大数据的特点和研究难点,设计实现不同种类工业大数据存储系统框架并搭建数据存储的平台;

3.依托于Hadoop数据存储的原理,根据搭建的存储平台,完成对工业大数据的存储系统的构建与实现。

1.3.2研究目标

对工业海量数据分析其复杂的行为特征,是解决传统方法难以解决复杂问题的新方法。工业大数据包含结构化、非结构化和半结构化的数据类型。结构化的数据具有二维联系的确切规定,而非结构化的数据则不具备这样的要求,像文档或视频等。半结构类型的数据更加灵活,具有以上两种数据的特征,但又不那么明确。所以工业大数据平台需要解决制造过程中产生的数据类型多种多样的问题。

本次毕业设计的工业大数据分布式存储平台的设计与实现,预期可以完成对海量工业大数据的高效存储实验。同时也会根据工业大数据种类繁多,结构复杂的特点,设计实现不同种类数据库的分布式存储,以应对工业数据的纷繁复杂。同时,可以提供数据的可视化查询,直观的分析一段时间内的测点数据。

第2章 存储关键技术研究

在工业数据的存储技术中,集中式存储和分布式存储是最常见的两种方式,都具有鲜明的特点和适用场景。

2.1集中式存储方式

集中式存储是指在一个或若干个计算机上部署中心节点,并将系统中全部的工作部分和数据存储集中在这个中心节点上。在这种分布模式中,所有的客户端仅具有录入数据的功能,数据的管理与控制都交由中心节点。

虽然集中式存储具有很高的稳定性和卓越的性能,但是随着计算规模的扩大,数据量也出现了井喷式的增长,这种单一的体系结构也暴露出了很多的弊端,比如:

1.昂贵的成本:作为中心节点的大型主机通常非常昂贵,同时培养一个运维的人员也需要很高的成本。

2.单点问题:当一个中心节点出现问题时,整个系统将出现崩溃的情况,同时在单一的大型主机上拓展也比较困难。

在小型廉价PC机性能的提升过程中,大型主机越来越不占据优势,分布式存储极好的在廉价主机中解决了上述困难。

2.2分布式存储技术

分布式存储是指在多个计算机主机构成的集群中,部署一个数据处理中心和若干个数据存储中心,使得数据存储远离处理区域,并将所有数据存储的信息存放在处理中心中,较好的解决了成本问题和单点问题。同时可以对以下多种数据库进行分布式处理,以解决数据种类多元化的问题。

2.2.1分布式文件系统HDFS

HDFS的名字是 Hadoop Distributed File System,其适合存储TB以及PB级别的大型数据,并允许用户连接若干个集群中的节点,将所有数据以字节流进行计算,并通过Map/Reduce算法思想工作。

HDFS系统可以允许错误的发生并不受影响,同时为了确保数据的稳定,它遵循“写入一次,多次读取”的思想。它可以在低成本的硬件上运行,文件命名空间单一,达到很高的数据存入与读取带宽。

HDFS还有另一个显著的特点,它可以处理逻辑并将其放置到数据周围[10],相比于将数据移向应用程序空间,它有着很高的优势。同时,HDFS严格规定写入的数据形式,同时字节总是附着在字节流的末尾,按照字节流的先后顺序进行数据存储与访问。

HDFS大体由数据块(block)、元数据节点(NameNode)以及数据节点(DataNode)构成。数据块是HDFS的基本单位,每一个所占的空间为64MB,如果一个文件很小,并小于64MB,该数据则不会占用整个数据块的空间。NameNode保存有一个文件,这个文件的信息包含数据块的基本信息,例如说它们分布在哪些数据节点上。但与之前不同的是,这些信息并不会保存在硬盘中,只是在数据系统启动时从数据节点收集汇总而来的。

从宏观角度看,在HDFS中,其由一些互联的节点集群组成,遵循主/从结构。单个HDFS集群中只有单个主机,即NameNode,它作为主控制端,记录文件的命名结构和日志,并引导需求端对数据的查看。除了主机之外,集群中还包含一些从机,即DataNode,一般而言一个数据节点部署在一个物理节点中,数据节点将数据作为块存储在文件中。NameNode以及DataNode的性质是一系列软件组件,旨在以一种解耦合的方式跨多个异构操作系统在基础的计算机节点上运行。

HDFS中所有节点之间的通信协议都依托于TCP/IP。NameNode上有一个TCP端口,用于与HDFS客户端通信,这个通信过程使用基于RPC的专有协议。DataNode使用一个基于块的协议与NameNode通信,DataNode不间断的循环询问NameNode指令,但NameNode不可以直接与DataNode相连接,只能够使用从DataNode调用的函数返回值。任意DataNode均拥有一个开放的Socket,用于client或者其他DataNode能够读写数据,这些信息存储在NameNode中,可以提供给有关的客户端以及其他的数据节点。

2.2.2关系型数据库MySQL

SQL(Structure Query Language)是现如今适用范围最广的关系型数据库标准语言,由IBM公司开发出来,当时作为IBM公司System R的原型语言,对数据库进行管理。

SQL语言可以提供多种功能,例如在数据库中对数据进行定义与操作,以及各种数据库之间的控制等。其功能特性或者语言结构大致分为以下几种:

1.数据操作语言(DML):为系统提供对数据的指令控制,例如对数据的访问以及对数据进行插入、删除和更新。

2.数据定义语言(DDL):为系统提供对数据定义是否完全以及保密的规定。

3.数据控制语言(DCL):为系统保障读取的安全,确定用户对对象的访问控制,帮助数据库进行恢复。

4.数据查询语言(DQL):为系统提供从表中获得数据的方法,并确定数据应该怎样在应用程序中给出。

5.事务处理语言(TPL):为DML提供保障,确保DML语句所影响的行可以及时得到更新。

6.指针控制语言(CCL):为系统提供用于对一个或几个表单独行的操作保障。

结构化查询语言可以兼容字符、文本、数值、逻辑以及日期等数据类型,同时SQL具有广泛的特点,几乎所有的大型关系型数据库都支持SQL,另外它也具备高度非过程化的特点,简单易用,在其中拥有举足轻重的地位。

MySQL是一种典型的关系型数据库,它是由C及C 语言编写而成的、开源的、支持多操作系统、多线程以及为广泛编程语言提供API接口的关系型数据库管理系统。

MySQL是一个典型的C/S结构,由server以及client两部分构成,在系统内部依托于TCP/IP进行通讯,其主要由四个层次构成,具体如图2.1所示。

应用程序层

连接层

SQL层

存储引擎层

磁盘 内存 网络

图2.1 MySQL服务构成

其中各层次的作用是:

1.应用程序层:使用MySQL所具有的各种服务。

2.连接层:连接上层与MySQL。

3.SQL层:这一层是SQL发挥作用的层次,它可以为数据库提供判断指令含义、对象授权情况分析、分析SQL含义、生成实现方法并最终运行的过程。

4.存储引擎层:该层次是作为不同种类表型处理程序的服务器组件,作为MySQL数据库的存储基础,根据上层决定的存储方式完成存取数据、备份及恢复、完成增删改等事务的存储平台。

MySQL可以存储非常大量的数据,并用于用户查询及访问,用于保存信息数据以及信息的一致性和完整性的内容、完成数据的共享和安全并通过组合分析,总结出有用信息。

2.2.3非关系型数据库HBase

您需要先支付 80元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图