论文部分内容阅读
互联网的发展及其应用的增多导致其业务数据的暴增,传统的数据存储和处理技术已经无法满足如此日益增长的海量数据的需求。近年来,新兴的云计算具有存储和处理海量数据的能力,以及高可扩展性、高可靠性等优势,利用云计算技术存储和处理海量数据已经成为必然趋势。为了提高容错性和数据的有效性,云存储系统中引入了冗余机制,但同时也给副本管理带来了很多新挑战。比如HDFS(Hadoop Distributed File System)引入了数据完全备份的冗余方式来解决容错问题,并且当备份被分散地存储到不同地理位置的节点上时,采用就近原则访问可以降低访问时延,然而,这种方式具有存储空间消耗大、数据不可修复等缺陷。为此,一些学者提出了在云存储系统中引入纠删码来增强其数据可靠性,但纠删码的编解码操作需要耗费更多的系统资源并增加用户访问时延。为了结合二者的优势,将纠删码与完全备份结合的冗余方案REPERA(Replication和Erasure的前三个字母)被提出,但是它没有给出副本数确定和副本放置的依据。本文针对HDFS原有冗余机制的不足,在分析现有改进方法的基础上,设计了结合完全备份和改进的RS(Read-Solomon)纠删码两种冗余方法的优化数据冗余策略RIRS(Replication Improved RS)。该策略能够中和上述两种冗余方法的缺陷,有效地整合完全备份的低时延和纠删码冗余可靠性高的优势,并大大地节省存储空间。该策略还为用户提供了备份数以及纠删码冗余度等配置参数,用户可以根据需要进行设置以将系统调整为最佳状态。此外,该策略采用的纠删码算法也是经过实验分析符合HDFS的,具有很高的纠错能力和相对较低的编码时延,提高系统可靠性的同时减少了时延的增加。另外,针对RIRS中副本管理的不足,本文设计了动态副本管理优化模型DRMO(Dynamic Replication Management Optimized),它能根据文件的有效性要求获取最小副本数并动态调节副本数以获取低成本、高效率的存储服务。其次,该模型在考虑每个节点的容量和阻塞率的基础上,设计了一种均衡的副本放置策略,将副本放置到阻塞率最小的数据节点上,以降低访问时延,实现负载均衡。最后,本文在对HDFS的源代码进行分析之后,利用上述策略和模型对源代码进行修改,实现了基于HDFS的优化数据冗余策略。然后在自主搭建的Hadoop云平台上分别对系统的功能和性能进行了测试,其中功能测试结果显示本系统能够实现相应的功能,包括编解码、副本数设置、副本位置选择以及动态副本管理功能,性能测试结果显示RIRS所选择的纠删码具有最佳性能,并且DRMO能够在满足系统有效性要求的基础上减少存储空间,而DRMO的读写性能测试结果虽然与理论结果不是完全一致,但是文中给出了导致这一结果的原因的具体分析。