登录

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

注册

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

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 计算机类 > 软件工程 > 正文

存储管理方法研究毕业论文

 2021-04-14 05:04  

摘 要

在大数据环境下,对数据的存储和处理有了更高的要求,尤其是对海量非结构化数据的存储管理,相比非结构化数据更加困难,也十分重要。在单机上很难存储和处理如此庞大的数据,分布式存储和云存储就成为了十分重要的内容。

对于如何解决海量数据的存储和管理,Hadoop 提供了一个很好的解决方案。HDFS 是比较成功的一个分布式文件系统,它可以部署在廉价的存储设备上,对大文件的管理提供了很好的支持。HDFS 是开源,容易部署,而且提供了很强容错性和扩展性等特点,使之成为当前海量数据存储的主流应用之一。

本文对分布式文件系统进行了简单介绍,并详细介绍了 HDFS 的体系架构和原理。在深入了解 HDFS 后,以 HDFS为基础的存储层,设计和实现了一个针对视频数据的云存储系统。该系统采用 Spring MVC 框架,完成了对 HDFS 底层的封装,很好地实现了前端与底层的分离,也大大简化了用户与 HDFS 之间的交互。

关键字:海量数据;非结构化数据;HDFS;云存储

Abstract

In the era of big data, higher requirements have been placed on the storage and processing of data. In particular, the storage and management of massive unstructured data is more difficult and unimportant than unstructured data. It is difficult to store and process such huge data on a single machine, and distributed storage and cloud storage have become very important contents.

Hadoop provides a good solution for how to solve the storage and management of massive data. HDFS is a relatively successful distributed file system. It can be deployed on inexpensive storage devices and provides good support for large file management. HDFS is open source, easy to deploy, and provides strong fault tolerance and extensibility, making it one of the mainstream applications for mass data storage.

This article gives a brief introduction to distributed file systems and details the architecture and principles of HDFS. After deeper understanding of HDFS, based on the HDFS-based storage layer, a cloud storage system for video data was designed and implemented. The system adopts the Spring MVC framework, completes the encapsulation of the HDFS bottom layer, and achieves a good separation between the front end and the bottom layer, and also greatly simplifies the interaction between the user and HDFS.

Key Words: Massive data; Unstructured data; HDFS; Cloud Storage

目录

摘 要 I

Abstract II

第1章 绪 论 1

1.1 研究背景、目的及意义 1

1.2 国内外研究现状 2

1.3 本文的主要工作和组织结构 4

第2章 HDFS 分布式文件系统 5

2.1 分布式文件系统概述 5

2.2 HDFS 架构分析 6

2.2.1 HDFS 体系架构 7

2.2.2 NameNode 8

2.2.3 DataNode 8

2.2.4 HDFS 客户端 9

2.3 HDFS 集群的文件操作 9

2.3.1 HDFS 客户端的读流程 9

2.3.2 HDFS 客户端写流程 11

2.4 本章小结 12

第3章 基于 HDFS 的视频云存储系统的设计与实现 13

3.1 云存储系统的背景与需求 13

3.2 云存储系统服务器端的设计与实现 14

3.2.1 云存储系统的总体结构 14

3.2.2 云存储系统的模块设计 15

3.2.3 云存储系统的索引方案 16

3.3 本章小结 22

第4章 系统实验和测试 23

4.1 开发工具和开发环境 23

4.1.1 开发工具 23

4.1.2 部署 Hadoop 23

4.2 实验结果及分析 24

第5章 总结与展望 25

5.1 论文总结 25

5.2 工作展望 25

参考文献 26

第1章 绪 论

1.1 研究背景、目的及意义

我们生活在一个海量数据时代,单个主机可以存储和处理的数据数量,已经远远不能满足我们每天处理的需求。大数据时代下,我们迎来了两个基本的挑战:如何存储和处理大数据,以及如何分析这些数据并完成数据向价值的转换[1]

当下,互联网技术的发展更进一步,特别是 Web 2.0 技术发展迅速,,每天都会在互联网上产生和流通数量十分庞大的数据。与在传统的关系型数据库里存储的结构化数据相比,非结构化数据在这些庞大的数据中占据了更多的比重。EMC 在 2010 年发布的一份关于数据增长趋势报告中显示[2],非结构化数据的增长率达到指数级,占到了总数据的八成以上。而且,得益于数字娱乐设备的普及和互联网技术的发展,数字信息的总量曾在迅速增长,数据总量将在五年内增加十倍。其中,非结构化数据的增速达到了 60% 以上,在数字信息总量中占据七成以上。因此在长时间以内,数据总量的大部分仍将是非结构化数据,而在这些非结构化数据中,多媒体数据的增长速度十分可观,数量也在非结构化数据中占据了很大的比重。

人们对数据处理的要求变得更高,原有的数据处理方式已经很难满足。针对结构化数据的管理工作,传统的关系型数据库已经能够很好地胜任[3][4],然而,随着网络媒体数据量的不断增加,网络应用中非结构化数据的数量在不断增加,增长速度也不落下风。以现在的趋势来看,数据的量级轻易就能达到 TB 级乃至 PB 级,在这种状况下,关系数据库的性能和可靠性问题日益明显[5]

与结构化数据相比,非结构化数据数量更多,占比更大,也更难管理,更难理解。最初,非结构化数据数量很小,人们只是将其暂存甚至完全忽略,现在非结构化数据的数量已经膨胀到人们再也不能忽略这些数据中所蕴含的庞大信息的地步。因此,对非结构化数据的存储和管理研究的热度和重要性逐渐超过了结构化数据,成为数据处理技术研究的重心。

显然,优秀的数据的存储系统是能够对数据进行高效处理的基础,所以解决海量数据的管理问题的最主要任务就是解决大量数据的存储问题。然而,由于单一设备的存储能力存在极限,而且盲目追求设备升级也会导致成本的膨胀,使用传统的单一服务器存储系统是很难胜任当前的数据存储工作的。相较而言,云存储作为一种新的思路,其基于服务器集群的分布式文件系统,似乎是一个更具有可行性的方案。实际上,分布式的云存储方案确实成为了当前海量数据存储最主流的方案。分布式存储思想,就是利用多台设备进行管理,通过当前成熟而强大的网络技术,我们可以轻易地将它们连接起来,让网络中的硬件资源得到最大程度的利用。在这种思想的指导下,各大互联网公司纷纷展开了对分布式文件系统的研究,其中比较突出的是 Google 文件系统 (GFS)[6],一个由 Google公司提出的分布式文件系统模型,以及基于 GFS 思想的开源项目 Hadoop 中的 HDFS。

Google 提出的 GFS 模式已得到业界的认可,因为它可以解决存储和分析大量网络媒体的问题。Hadoop[7][8] 的 GFS 模型的开源实现,许多企业都尝试对其进行研究和改进以满足自身的需求,从而产生了大量基于 Hadoop 的企业应用级的分布式存储。

云存储是对网络,并行和分布式计算等多种技术的开发和扩展,采用网络连接和分布式文件系统将网络中大量的存储设备集中在一起工作。云存储实现了存储的完全虚拟化,提供更强大的存储及共享功能[9][10]。在扩展性和容错性上,云存储有着十分突出的表现,此外,它还具有按需分配、可靠性强等优点。在分布式计算领域中,Hadoop 是一个十分优秀的开源框架,可以为我们解决当前海量数据的存储和处理提供十分现实的解决思路和方案

简而言之,无论是对非结构化数据的存储和管理进行研究,还是对云计算和Hadoop的研究,都非常重要。通过对 Hadoop 进行研究,我们可以了解到云的架构,还可以利用 Hadoop 框架设计和实现一个以此为基础的云存储系统。

综上所述,不管是研究非数据化数据的存储和管理,还是云计算和 Hadoop,都十分有意义。通过对 Hadoop 的研究,我们可以了解到云的架构,还可以利用 Hadoop 框架设计和实现一个以此为基础的云存储系统。

1.2 国内外研究现状

上文中我们提到,在这些海量的数据中,非结构化数据在总量和占比上都远远超过结构化数据,而且将持续走高,因此对非结构化数据的存储管理研究尤其迫在眉睫。

与结构化数据相比,非结构化数据具有以下五个特点[11-15]

(1) 存储方式多样,目前对非结构化数据的管理存在多种形式,尚未形成统一的标准,包括在结构化数据库的BLOB 字段中、FTP 以及传统的纸质资料管理等;

(2) 非结构化数据的类型多样,如 office 文档,网页,以及图片、音频、视频等多媒体文件,都是我们所说的非结构化数据。其中,数量最多的是多媒体数据;

(3) 非结构化数据的处理需求多样。包括上传、下载、提取摘要等;

(4) 难以标准化。相比结构化数据,非结构化数据与应用密切相关,也更难以理解,在存储、检索、发布以及利用上更加困难;

(5) 非结构化数据具有十分庞大的数量,而且在异构系统中分布,尤其是多媒体数据。

基于上述五个特点,非结构化数据的存储和管理,在技术上是一个巨大的挑战。

目前对非结构化数据存储方法主要有三种[11][14]:基于文件系统存储、基于数据库存储和数据库和文件系统结合存储。

(1) 文件系统存储方式

在这种存储方式中,非结构化数据通过文件系统存放在物理磁盘上,以文件的形式存放在磁盘的特定目录下。该方式中,数据的存储通常是无序的,仅仅通过人工对目录进行简单的分类。如果要对数据进行访问,需要应用程序通过给定的文件路径直接进行读取。早期人们对数据存储没有这么复杂的要求,文件系统尚能提供差强人意的文件管理能力。

然而,计算机技术不断发展,计算机的应用不断领域扩展,数据的类型不再像以前那样比较单一,数据的规模也变得更加庞大,数据的复杂性和数据管理的难度提升了一个又一个台阶,单纯的文件系统已经难以应付现阶段数据的存储和管理需求。尤其是这样以文件的形式来管理非结构化数据,虽然便于数据的访问,但是对于根据数据的属性对数据进行索引、查找、排序的问题,却难统一提供很好的支持。通常需要程序进行定制[16]

然而随着数据量的增加,在传统单机文件系统的基础上,又发展出了分布式的文件系统逐渐成为了非结构化数据存储的主流方式。关于分布式文件系统,将在第 2 章中做出详细介绍。

(2) 数据库存储方式

关系数据库经过不断的发展,在结构化数据的管理方面已经十分成熟。对非结构化数据的存储和管理,目前大多数系统都是采用 BLOB 字段,该字段以二进制的格式存储非结构化数据。但是非结构化数据相对结构化数据大,随着数据量的增大,存储在 BLOB 字段中会导致关系型数据库迅速膨胀,影像数据库性能,进而影响整个系统的性能;再一个是整个应用系统相对封闭和独立,数据资料难以共享。

多媒体数据库是针对多媒体数据信息多样、数据存储结构特殊和存取处理差异大的特点设计产生的新型数据库,它结合了数据库技术和多媒体数据,继承了传统数据库的优点可以有效地实现多媒体数据的存储检索。

非结构化数据库则是为存储和管理非结构化数据设计的新型数据库,和传统的关系型数据库相比,非结构化数据库最大的特点就是它突破了前者结构定义固定、数据存在定长限制的劣势,对重复字段和变长记录提供了良好的支持,也就是说,非结构化数据库中,字段的内容可以重复,属性的长度可以改变,一个变长记录可以包含一个或多个重复的字段,每个子字段又可以包含一个或多个子字段。这就使得非结构化数据库和非结构化数据本身的形式十分契合,使其能够在处理非结构化数据上,拥有传统关系型数据库难以望其项背的优势。

(3) 数据库与文件系统结合存储方式

这种方式结合文件系统和数据库的各自优势,在文件系统中存放数据的源文件,在数据库中反映数据的元数据信息。这种方式一方面将元数据存放在数据库中,可以有序地存储数据,在一定程度上解决了单纯文件系统难以对数据进行有效地检索和排序的问题,另一方面,在文件系统中直接存放数据的源文件,可以方便对数据进行浏览、传递和修改,避免了在 BLOB 字段直接存放大量非结构化数据导致的数据库臃肿膨胀等性能问题。在当前尚未出现一个能够有效管理非结构化数据的解决方案,乃至成为如关系型数据库之于结构化数据的能够成为标准的解决方案之前,将数据库与文件系统相结合,在本文看来,是比较有效而且十分可行的方案。特别地,分布式文件系统和分布式数据库的研究和发展,也能够解决使用单一数据库性能限制整个系统性能的问题。

目前,以分布式数据库结合分布式文件系统的方式来存储和管理大量数据,正是许多企业应用级的大数据管理方案。

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

企业微信

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