论文部分内容阅读
近年来,云计算日益成为国内外关注的焦点。当云计算系统中运算和处理的核心是大量数据的存储时,云计算系统就衍变为一个云存储系统。云计算的飞速发展,使云存储也成为当前业界最热门的研究领域。云存储作为一种新的服务,它将用户的数据存储在云端服务器上,用户只要通过互联网登录云存储服务系统,就可以在任何地方任何时候访问自己的数据,并且不用担心数据会丢失。Hadoop是Apache开发的一种开源的分布式计算平台,在分布式计算和数据存储方面表现出优异的性能,引起了国内外知名IT企业的关注,各大企业和科研机构纷纷投入研究,使得Hadoop在云计算和云存储中的应用越来越广泛。HDFS是Hadoop的分布式文件系统,它具有强大的数据存储能力,适合云存储系统。但它在设计上存在一些缺陷,性能上并不完美,要想大规模推广使用,必须先进行改进。本文主要研究基于HDFS的云存储模型,针对HDFS在小文件存储不理想和副本分布不均衡两个问题上对其进行改进,并使用改进后的HDFS搭建云存储平台。主要工作如下:1. HDFS为确保数据存储的可靠性,采用副本机制将文件的副本存储在集群中。文件副本以数据块的形式存放在不同的DataNode上,然而HDFS默认的副本分布策略具有随机性,不能保证副本均衡地分布在集群中。为解决这一问题,本文提出了一种基于加权评价指标矩阵选择距离最优解最近、最差解最远的节点的算法,对权值的确定采用层次分析法进行计算,在兼顾节点负载的同时,着重考察空间使用率,选择最合适的DataNode来放置数据副本,使各DataNode的空间负载整体均衡。2. HDFS是为大文件设计的,不适合大量小文件的存储。相同数据量情况下,小文件会浪费NameNode的内存,同时降低访问效率。针对这一问题,本文对HDFS的文件存储过程进行改进,在文件上传到HDFS集群之前先进行判断,如果是小文件则需要进行合并优化处理,并将小文件的索引信息以键值对的形式保存在索引文件中。改进方案减小了大量小文件对NameNode内存的消耗,并提高了访问效率。3.进行大量实验,将原HDFS与改进方案进行对比,实验结果证明,本文提出的改进方案具有更好的效果,能够改善HDFS的性能。使用改进后的Hadoop搭建存储集群,开发Web应用程序,通过B/S模式模拟云存储平台,实现云存储的相关功能。