论文部分内容阅读
对等网络(Peer to Peer,P2P)的出现是对传统C/S网络架构的一次进化。由于P2P中的每个节点都能存储和共享数据,随着网络规模的扩展,基于P2P架构的系统所拥有的数据量迅速扩大,信息资源十分丰富。因此,如何有效地获取有用信息,即如何有效地路由资源搜索请求,成为P2P系统能否大规模应用的关键问题之一。所以,P2P资源定位机制成为目前的研究热点,当前的研究主要集中在提高查询效率、负载平衡、可扩展性等方面。P2P系统一般分为非结构化和结构化两种类型。非结构化的P2P由于维持松散的拓扑结构使其更能适应高度动态的P2P网络,但存在可扩展性差、消耗大量带宽等问题;结构化的P2P使用可扩展的资源定位方法可保证查找成功,但由于结构化P2P系统路由资源请求时,通过识别节点在逻辑空间的标识符(Identify,ID)而穿越了不同的自治域,导致了较大的搜索延迟;另外,当前结构化P2P的路由算法在设计时都假设节点有相同的处理能力,然而实际中对等节点的处理能力是异构的,对等节点的负载存在着严重不平衡的现象,影响了资源搜索算法的工作效率。针对上述问题,本文的工作围绕结构化P2P系统的资源定位和负载平衡展开研究,主要成果可概括为以下两个方面:第一,为了改善结构化P2P系统的搜索性能,依据网络通信中的访问局部性(包括空间局部性和时间局部性)原则,提出了LChord资源定位技术,并根据该技术设计了一种文件共享系统PPFile。Chord是一种环形拓扑的结构化对等网络结构,因其结构简洁,具有可扩展性而被广泛采用。LChord资源搜索技术基于Chord并对其进行了两个方面的改进:1)LChord依据空间局部性对Chord选择指针的方法进行改进,缩短了搜索的逐跳延迟。Chord根据指针表确定搜索请求的转发节点,Chord中的节点在构造指针表时,总是在逻辑空间中选择与构造者距离最近的节点作为指针,忽略了指针与构造者在物理网络上的距离;LChord中的节点在构造指针表时,在保证Chord原有的路由正确性的前提下,选择与构造者在同一个自治域中的节点作为指针。由于节点所属的自治域基本不发生变化,因此增加了指针表的稳定性,减小了系统和节点的开销,并且体现了网络通信中的时间局部性,即与一个节点重复地通信。LChord中的节点依据改造后的指针表转发搜索请求,避免了由于经过不同自治域而造成的高延迟,从而缩短了搜索请求在路由过程中的逐跳延迟。2)LChord使用基于相关性的搜索策略进行资源定位,缩短了搜索路径长度。具体做法是:根据节点共享数据的相关性为节点建立兴趣社区,节点发出的请求首先与兴趣社区中的节点进行匹配,若兴趣社区无法满足请求,再使用指针表转发请求。由于节点