论文部分内容阅读
随着Internet技术的不断发展和应用的日渐广泛,传统的客户机/服务器数据存储服务模式已经难以满足用户高性能、高可靠、高可扩展性的海量数据存储要求。在应用需求的推动之下,分布式存储技术得到了快速的发展,为构建新一代的Internet数据存储服务模式铺就了一条新的可行之道。传统的分布式存储系统对数据采用副本管理,这样可以保证数据的可靠性,还可以保证当一部分存储节点发生故障后数据不会丢失。但是,随着存储规模的增大,存储副本带来的冗余量也会随之增大,为了应对大量客户端对某个数据同时进行访问,同一个副本的存储数量还会增加,进一步增加了数据的冗余量,使得分布式存储系统的规模更大。采用纠删码技术,可以将原始数据分块并且编码成不同的编码数据块,然后将这些编码数据块分别存储到不同的存储服务器中。当需要读取数据时,同时从存储服务器中获取编码数据块进行解码运算,计算出原始数据。每个存储服务器不再存储完整数据,而是编码后的一个编码数据块,大小只有原始数据的几分之一,这样不仅可以保证存储数据一定的容错能力,还可以大大减少在具有相同容错能力条件下数据的冗余度。在已有的基于纠删码的分布式存储系统中,一般只采用某种编码算法对数据进行编码。当系统规模发生变化,或者数据的容错参数发生变化时,此时采用固定的编码算法不一定是最优策略。因此一个性能优异的基于纠删码的分布式存储系统可以随着系统规模、运行状态以及数据大小动态的调整使用编码的策略。
本文通过对三种纠删码算法进行研究,以及对它们的性能进行了实验上以及理论上进行的分析,给出了编码算法性能与系统规模之间的关系。主要研究内容包括:⑴系统研究了基于VANDERMONDE矩阵和基于CAUCHY矩阵的RS码算法和TORNADO编码算法的纠删码算法;⑵对基于VANDERMONDE矩阵和基于CAUCHY矩阵的RS码算法和TORNADO编码算法这三种纠删码算法的性能进行了分析。对这三种纠删码算法进行实验分析和理论分析,得出了编码算法与系统规模之间的关系;⑶设计并实现了一个基于纠删码的分布式存储系统DSS,包括系统的体系结构、实现模型、模块间的关系以及主要的交互过程。