论文摘要
在云计算的时代大潮中,海量数据的存储与数据分析成为了IT行业巨头角逐的竞技场,云计算基础设施之一的分布式文件系统受到了广泛的关注与研究应用。而目前,最流行的分布式文件系统容错机制的多副本机制,虽然在大规模并行计算上有好的表现,但在控制冗余开销、提高系统的容错等级上的表现远远不及纠删码容错机制,纠删码在这方面则有着不可比拟的优势。设计并实现一个编码容错的分布式文件系统,支持不同的编码方案与容错机制,使得用户与应用开发者能够根据情况选择最合适的策略与机制,在数据爆发时代节省数据存储量,提高系统运行效率,具有非常重要的意义。为了研究编码容错云存储系统的性能,本文以开源云存储平台HDFS为基础,通过融合信息论编码技术,设计并实现了一个编码容错的云存储系统,该系统支持不同的容错策略与编码方案,支持尽可能多的文件基础操作以满足用户的需求,并对文件切分方案进行了研究,建立粒度可控的优化机制,大大提高了文件随机读和文件追加的性能。本文的工作内容与研究成果有1.设计并实现了编码通用的分布式文件系统。不同的容错机制在不同的指标上有着各自独有的优势,不同的编码方案有着不同的编解码效率与冗余开销,而不同的应用则有着不同的存储需求,因此,本文针对大规模数据应用设计并实现了一个编码普适容错的分布式文件系统,该系统运行在普通的商用存储服务器上,有着很好的容错性,并能够将多副本的容错机制作为编码的一种特殊情况包含进来,并支持各种不同的编码方案,使得用户与应用能够选择最适合其存储需求的方案。2.设计了一个基于传输单位的细粒度文件切分方案。基于多副本容错机制的GFS和基于纠删码的HDFS Raid等系统都采用了基于文件存储单位的粗粒度文件切分方案,该方案在编码文件系统中会造成很多文件基础操作,如随机读、文件追加的低效。对此,本文设计并实现了基于文件传输单位的细粒度文件切分方案,实验数据与理论分析表明,该方案在各种文件基础操作表现出不低于粗粒度文件切分方案的性能。3.在细粒度的文件切分方案的基础上,实现了高效的文件随机读和文件追加操作。在大数据的应用场景下,很多分布式文件系统设计理念为数据文件往往是一次写入、多次串行的只读。本文注意到随机读和文件追加也是很多应用的基础,细粒度文件切分方案能够高效的支持以上两种文件操作。因此本文的最后部分实现了高效的文件随机读和文件追加操作,并对比粗粒度切分方案予以分析其操作效率。