论文摘要
云计算作为一种新型的计算模式,在科学计算和商业计算领域均发挥着重要作用,受到当前学术界和企业界的广泛关注。数据中心是云计算环境的重要组成部分,所包含节点数目与所支持用户数量日益增多,越来越多的数据存储于数据中心中。海量数据在数据中心中高效、容错的存储成为了企业和研究者所关注的重点。当前,研究者分别从数据中心网络和数据冗余方法等方面对云计算的容错存储进行了研究。随着数据中心节点规模的不断扩大,节点失效成为一种常见的情况。在此情况下,如何提高数据存储的容错性成为了研究的重点。针对上述问题,本文从数据中心网络拓扑构建、纠删码修复技术与数据放置三个方面对如何提高数据容错性进行了深入的研究,取得的主要研究进展如下:首先,针对已有数据中心网络拓扑结构在容错性、可扩展性和吞吐量等方面的不足,提出了一种容错的数据中心网络拓扑结构DCUBE和相应的路由算法。DCUBE中,通过增加服务器之间的直接连接提高了网络中的链路冗余度,结合容错路由算法提高了拓扑结构的容错性;通过模块化设计方式,DCUBE可以以模块方式扩大或缩小节点规模,具有较好的可扩展性;通过服务器之间的并行路径与多条并行路径路由算法,提高了网络吞吐量;理论分析与实验结果表明,与已有的典型方法DCell和BCube相比,DCUBE具有更好的容错性和可扩展性,并且具有较高的吞吐量。其次,针对已有纠删码修复技术修复失效数据时间较长的问题,提出了一种基于树形结构的并行修复算法TPR。TPR中为多个失效节点构建多个生成树,通过并行修复多个失效节点以提高修复速度、减少修复时间;结合生成树结构,充分利用网络的高带宽链路以提高失效数据成功修复概率;通过优化生成树结构,最大化利用网络路径的可用带宽以降低修复过程中新节点的失效概率、提高数据容错性。实验结果表明,与典型的基于串行修复算法和基于协作修复算法方法相比,TPR在修复时间、失效数据成功修复概率以及降低新节点失效概率方面更优。最后,针对已有数据放置算法在容错性方面的不足,提出了一种容错的数据放置算法FDPA。FDPA中根据数据访问频率与节点之间平均访问时间的不同,将访问频率较高的数据放置在平均访问时间较小的节点中,延长了数据的平均无故障时间;通过容量阈值方式,分散地放置数据块,减少了数据之间的影响,降低了同一数据对象多个数据块同时失效的概率,提高访问节点对多个数据块访问的并行性。实验结果表明,与典型的随机放置算法和CRUSH相比,FDPA的平均访问时间更低,平均无故障时间更长。