论文部分内容阅读
P2P(peer-to-peer)系统是一个迅速发展的研究领域。P2P系统的应用也已经从传统的文件共享领域逐步扩展到更为广泛的分布式计算领域。传统的P2P不能兼顾系统的扩展性和基于多关键字信息检索的能力。这是由于在无结构化的P2P系统中,只能采用flooding或其改进算法来应答多项查询,这会造成大量的查询消息从而造成网络拥塞。而在结构化的P2P系统,如最典型的基于DHT的P2P系统,只能解决单项查询问题而对于多项查询而言,应答效率较低。为解决多项查询,本文从混合式P2P网络拓扑结构出发,结合DHT思想,提出了基于DHT的层次化P2P网络模型。在文档集巨大的情况下,用户提交的查询不可能“面面俱到”,实际用来回答查询的文档仅仅是文档集的很小一部分。根据这一思想,本文在层次化P2P模型的超级结点中建立了分布式缓存,运用DST分布式索引与缓存技术,提出一种新的方法来解决多项查询问题。即先根据索引得到缓存,运用缓存来回答用户的查询,如若缓存中没有所要查询的内容,则广播该查询,同时根据系统中的历史广播信息来决定缓存内容。一般针对多项查询的泛洪算法往往会造成巨大的网络信息量,本文提出的方法牺牲了超级结点上一小部分的存储力,解决了多项查询造成的网络拥挤现象。同时,基于DHT的层次化P2P模型也具有很好的稳定性与可扩展性,不会因为大量结点的动态加入或者退出而无法进行多项查询。本文采用了三层P2P网络拓扑结构,最底层为普通结点,多个普通结点按照地理位置、处理能力,存储容量等各方面的因素组成一个簇,每一个簇由一个超级结点管辖,而超级结点之间组成一个高速转发层,这就是第二层,最后在超级结点之上,再建立分布式索引,该索引出分布式后缀树(DST-based)来实现。这就是第三层。