论文部分内容阅读
随着计算机技术和网络技术的飞速发展,Internet上汇集了成千上万的各类资源:文件资源、计算资源、存储资源等等。P2P技术是一种能够充分整合与利用这些资源的利器。考察当前P2P技术的研究和应用现状,我们发现以P2P的方式组织和管理互联网上海量存储资源的应用系统,仍处于实验研究阶段。
现有的P2P存储系统大多基于这样的思路:即先提出一种P2P路由算法,然后在此算法的基础上实现一个存储系统,借以验证路由算法的相关参数、运行性能等相关方面的问题。经过分析比较,可以发现这些系统缺乏一个基本的功能,即缺乏一种明确的存储资源管理机制,因而造成了存储系统在处理数据过程中,或者带有较大的盲目性,或者带有较大的被动性,从而导致网络资源和计算资源的浪费或者使得应用系统不够灵活。
针对上述不足,本文着重研究基于P2P的网络存储技术:
首先,我们认为在P2P存储系统中存储资源具有两个不可缺少的属性:容量和位置。本文的存储资源管理算法紧紧围绕这两个属性而展开。其中,容量是指共享的存储资源的容量,又可进一步细分为标称容量(共享的总容量)和可用容量;位置是指共享存储资源的位置,又可进一步细分为共享存储资源所属的节点(用节点标识符Node-ID代表)及其在所属节点上的目录(用共享标识符SS-ID代表)。
在此基础上,本文提出一种P2P环境下管理共享存储资源的基本思路,也即只集中管理最有用的共享存储资源的信息,具体来说,就是共享存储资源的可用容量,共享存储资源所属节点的标识符,共享存储资源位于所属节点上的目录的标识符,而其它的信息则依据P2P的方式进行分散管理。
根据上述基本思路,本文提出了一种在P2P环境下比较完整的存储资源管理算法:基于DHT的存储资源管理算法。围绕这个算法,本文定义了一种消息格式以及一系列的消息类型和对应的消息内容,设计了相应的数据结构,然后定义了P2P环境下共享存储资源的状态,进而给出了在消息作用下的存储资源状态变迁图,从而引出了本文的存储资源管理算法,包括:存储资源共享子算法、已共享存储资源更新子算法、存储资源中请子算法、已共享存储资源回收子算法和存储资源垃圾清理子算法。
之后,本文以存储资源管理算法为核心,设计并实现了一个基于P2P的网络存储原型系统,包括在对等节点上运行的Client端,基于I/O完成端口的SRIS端,二者又分别包含基本的网络通信模块、消息组装模块、消息分类处理模块以及在基本网络通信模块基础上的点对点通信模块;为了验证存储资源管理算法的有效性和可行性,本文实现了一个基本的数据管理模块,提供了最基本的数据存储和数据访问功能,并模拟了三个场景,结合给出的时序图说明系统中类与类之间在消息的驱动下所产生的动态协作关系;另外,我们还搭建了一个测试环境,对原型系统进行了功能测试,截取了若干系统运行时的界面,并做了必要的说明。论文给出了整个原型系统完整的设计与实现方案。
最后,论文总结已有的工作,指出其中存在的不足,并对未来进一步的工作提出相关的展望。可以预见:随着存储技术的提高、高速网络的普及和存储压力的日益增大,P2P存储系统将成为一个研究的热点,成熟的P2P存储系统将成为信息社会的基础设施之一。