论文部分内容阅读
随着互联网中信息爆炸式的增长,网络存储技术越来越收到人们的关注和重视。而这种网络存储技术面临的一个主要的问题就是怎样充分利用互联网中的这些曾被忽视的闲散PC资源形成一个虚拟的拥有海量资源的存储空间,以供用户分享使用。而P2P技术的发展使得网络存储技术有了一次良好的契机。在动态的P2P网络环境中构建一个大规模拥有高可用性、高可靠性、高容灾性的高性能分布式海量存储系统,是近些年来的研究热点之一。本文首先对P2P技术和分布式存储的发展历史和现状进行研究与总结,然后在此基础上设计并实现了一个面向下载体验的P2P分布式海量存储系统PDOSS(P2P Distributed Ocean Store System)。本文的主要工作有以下几点:1.PDOSS的系统框架设计,各个模块的设计与实现以及文件操作(发布、下载、更新、删除)的基本业务流程的详细设计。PDOSS在吸收了结构化网络和非结构化网络的优点,使得系统既能快速定位又有很好的灵活性。PDOSS采用两层网络结构,第一层由服务器组成的基于Chord的机构化覆盖网络,其作用主要是提供文件的控制管理和存储服务;第二层是由客户端组成的BitTorrent网络,实现了客户端间的P2P互传,从而提高了系统的服务能力。采用此种结构的好处:引入服务器易于管理和控制客户端,同时采用结构化网络来组织服务器,可以避免单点失效的问题。2.对结构化的P2P网络路由算法Chord进行了学习与研究,在此基础上针对本系统设计定义并实现了相应的路由定位协议。3.针对P2P网络的特性,在前面两项工作的基础上提出了一种面向用户下载体验的多域(基于内网传输速度远远快于外网速度的事实,文中提出了一个域的概念)副本动态管理策略。策略的主要原理是系统定期地收集、统计客户端的下载体验值,并根据该体验值来触发文件副本的数量和安放位置的动态调整。此策略在提高、改善用户的体验的同时,还减少了系统中服务器的开销。4.为了提高系统的可靠性,PDOSS设计并实现了多种定时器,使得系统能够及时发现系统中出现错误、故障的服务器并对其相应数据进行恢复。