基于纠删码存储的数据维护关键技术研究
【摘要】:随着当前云存储,大数据等技术的兴起,数据的可生存性日益受到重视,而数据容错技术则是保证数据生存性的主要方法。当前的数据容错技术主要通过冗余的方法实现,主要有副本方式和纠删码方式,纠删码方式在存储效率方面远远高于副本方式,但存在数据维护开销大的问题。本文对纠删码方案的数据维护开销问题进行了研究,提出其面临的两大问题:1.节点间维护通信开销过大;2.数据恢复计算开销过大。针对这两个问题,我们提出了解决的方法。首先,本文从数据读取的角度出发,提出了被动检测修复算法。该方法的主要思想是利用系统正常读带宽进行数据的检测,如果数据需要修复,则缓存正常解码后的数据于本地,通过这种方法检测过的数据在被修复时,不需要再次检测、下载和解码数据,降低了通信和修复开销。据我们所知,目前还没有类似的方法。其次,本文从系统可靠性的角度出发,提出了自适应检测算法,降低数据修复和通信开销。该方法的主要思想是根据系统可靠性的不同来调整数据维护的频率,可靠性较高的系统则维护频率较低。该方法与现存的其他方法相比,主要不同在于数据维护频率是根据系统可靠性而动态变化,在降低维护频率的同时,保证了数据可用性。再次,本文从数据分类的角度出发,提出了容忍度选择算法。该方法主要思想是根据数据访问模式的不同(实际的存储系统中,数据的访问模式存在较大的差异[64]),对不同的数据实现不同的维护频率,降低不经常访问数据的维护频率,从而进一步降低了通信和修复开销。据我们所知,目前还没有基于纠删码存储的系统在数据维护时考虑到数据分类的问题,也没有这方面的研究。最后,我们基于一个开源的分布式文件系统(采用了纠删码冗余方式),实现了原型系统,并提出了一种层次化的实现方法,通过这种方法,大大缩短了原型系统的开发时间,并通过模拟和实际测试的方法对算法和原型系统进行了验证,测试结果表明本文提出的策略是有效的。
【关键词】:分布式存储 纠删码 数据生存性 数据维护
【学位级别】:硕士
【学位授予年份】:2013
【分类号】:TP333;TP309