论文部分内容阅读
云计算基于网络,是网格计算、并行计算和分布式计算的进一步发展。它采用了网络存储、虚拟化和负载均衡等技术,将用户任务合理转移到位于网络的大型计算中心来完成,实现了计算机软硬件资源的充分整合和共享。云存储是在云计算的概念上延伸和发展出来的。它通过将网络中各种不同类型的存储设备集合起来协同工作,对外提供数据存储和访问服务。在众多的开源云计算平台中,由自由软件基金会Apache基于Google云计算的设计理念实现的Hadoop Project引起了广泛关注。其中的Hadoop分布式文件系统(HDFS,Hadoop Distributed File System)研究云存储相关技术,实现了海量数据的存储管理。HDFS具有扩展性强、可靠性高、成本低等优势,有利于大型和小型的学术团体进行实验环境的搭建。完善的文件管理方法和类似于流式的数据读取机制,使HDFS成为云存储研究的热点之一。云存储必须关注的是如何高效地保证存储数据的有效性、完整性、可用性以及存储的持久性。目前,文件存储所采用的技术主要有两种:数据的完全备份和纠删码方法,这两种方法各有优劣。数据的完全备份可以降低用户的访问延迟,但却需要构建地理位置不同的数据中心,同时消耗更多的存储空间和传输带宽;纠删码方法可以增强数据的持久化存储能力,占用空间相对较少,但会因解码操作消耗更多的系统资源,延长用户的访问延迟。如何集二者之长优势互补?在占用存储空间较少的同时不增加用户的访问延迟,并能保证数据的有效性、完整性和可用性,增强数据的持久化存储能力,就成为本文的研究课题。本文采用了数据的完全备份和纠删码相结合的方法,基于HDFS设计并实现了分布式架构REPERA。作为云存储架构的一种形式,REPERA除了具有HDFS的扩展性高、可靠性强、支持大规模数据集管理和类似于流式的快速数据存取特点外,还具有两种数据存储方法的优点,平衡了数据的访问延迟和持久化存储之间的矛盾,,节省了较多的存储空间。此外,REPERA系统的实现给用户预留了配置参数,用户可以根据自身需要对存储策略进行配置,在不同的应用场景下分别选择更偏向于完全备份还是纠删码,达到最优化。本文将在详细分析HDFS内部机制的基础上提出REPERA架构的设计理念,然后设计并实现该架构,并通过具体实验测试验证REPERA架构的可行性。