实现P2P 技术的关键是在网络环境不断变化的情况下,如何快速定位节点位置,确定合适路径,并建立连接。在P2P搜索系统中,以资源搜索的集中程度为标准,目前常见的P2P网络结构有三种:集中索引模式;纯P2P模式;混合P2P模式。在这三种模式中各个对等点在搜索时承担的任务是不同的。
1. 集中索引模式
在这种模式中,一台或多台中央目录服务器连接若干个对等点,为其提供目录服务。对等点向目录服务器注册自身的信息,通过对目录服务器的访问,进行节点信息的查询,从而定位其他对等点,如图2.2所示。当各个对等点的资源出现变化时(比如资源的增加、删除等),索引服务器将收到更新消息,并根据此修改本地缓存,但查询不在边缘节点间传递。
图2.2[36]
这种模式的优点体现在:
(1) 查询效率高。索引服务器使用本地保存的资源信息,并仅在本地执行全部查询。
(2) 边缘对等点负载低。用于查询、结果返回和资源更新的处理量都很小。边缘对等点可以将其更多的资源用于实际的资源共享。
这种模式的缺点体现在:
(1) 对索引服务器的处理能力和网络带宽要求很高。
(2) 索引服务器的单点失效,会导致整个P2P网络的失败。
2. 纯P2P模式
在这种模式中不再使用集中目录索引服务器,网络中只存在对等的节点,每个节点自行接入网络,与自己相邻的节点建立连接,每一个对等点在内容的共享和搜索两个方面都具有完全相同的作用和责任。所有的对等点都既是搜索查询的发出者,同时也是搜索处理的执行者。对等点之间的信息查询和文件共享在相邻节点间通过广播的方式进行接力传递,即一个对等点发起的查询可在整个P2P网络中传播,每一个收到查询的对等点,在本地找到符合查询要求的结果后,都要向查询发出者返回结果,同时也要向自己的所有相邻对等点转发查询,查询的传播范围通常以查询消息的TTL(Time to Live,存活时间)来控制,如图2.3所示。
图2.3[36]
此模式的优点体现在:(www.daowen.com)
(1) 最大的容错性。单一对等点的失败,仅使自身的资源不被别的对等点利用,而不会造成其他影响。
(2) 能潜在地获得最多的查询结果。从一个对等点发起的查询可在整个P2P网络中传播,满足查询条件的对等点必须给予回应。
这种模式的缺点主要体现在扩展性的不足,具体有:
(1) 查询数量的激增。随着对等点的增加,每一个对等点接收、处理和转发的查询数量急剧增加。表现在来自某一对等点的同一个查询可能经过多个对等点的转发,多次传到同一个对等点。
(2) 能力有限的对等点造成系统瓶颈。一些计算能力、网络带宽很低的对等点,使P2P网络的总体响应时间和资源利用率恶化。
3. 混合P2P模式
这种模式综合了前两种模式的优点,用分布的超级节点取代集中索引目录服务器。节点按能力不同(计算能力、连接带宽、网络滞留时间等)分为普通节点和超级节点两个层次。其中超级节点与其临近的若干普通节点之间构成一个自治的簇,簇内采用集中索引模式,而簇与簇之间再通过纯P2P的模式将超级节点连接起来。
对于资源的查询,每一个普通节点在某一时刻仅与一个超级节点连接,普通节点向其发送自己的资源索引,也向其发出查询。超级节点(Rendezvous Peer,RVP)在收到查询后既要根据本地缓存处理,也会在超级节点间传播查询。发起查询传播的RVP 在收到其他RVP的回应后,会把这些回应连同本地查询结果返回给普通节点,如图2.4所示。目前P2P技术的应用大多数为这种模式,较为典型的如KaZaa[33]。
这种模式的优点主要体现在对P2P网络扩展性的良好支持,包括:
(1) 根据对等点的能力合理分担负载。只有计算能力强、网络带宽高的对等点才成为超级节点,并承担查询任务。
(2) 与纯P2P模式相比,可大量减少查询消息传播的数量。查询消息仅在超级节点间传播,因此传播涉及的节点数目较少。
(3) 与集中索引模式相比,降低了单点失效对整个P2P网络的影响。一个超级节点失效后,与其直接连接的普通节点能够再次发现并同其他超级节点建立连接。
图2.4[38]
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。