论文部分内容阅读
在以Gnutella和KaZaA为代表的无结构P2P文件共享系统中,由于文件的流行度呈现不均衡分布,使得现在通常采用的洪泛查询机制的效率较低。已有的针对文件流行度判定机制的研究着重于如何判定文件的流行度,以及如何根据文件的流行度调整查询的覆盖范围。但是,由于P2P网络中节点频繁的加入退出会引起资源变化,已有的判定机制往往无法及时对文件流行度进行修正,导致所判定的文件流行度不准确,从而削弱了查询效果。本文在LogLog文件流行度判定机制的基础上,提出一种能够更好地适应动态变化网络的DPEM文件流行度判定机制。
DPEM机制利用了LogLog机制在全局信息统计上的优势,使用LogLog算法来收集文件副本的全局信息;而在两次全局信息统计之间通过设置代理节点来探测网络动态变化情况,并以此为根据调整上述全局信息,使得文件流行度的判定更为准确。因此,在DPEM机制中文件的流行度不仅仅能体现出P2P网络初始的全局交换信息,同时也可以反映出网络运行过程中文件副本的局部变化情况,使得新的文件流行度能够更好地指导动态网络环境中的文件查询。
本文在模拟环境下对DPEM机制,以及将DPEM机制应用于基于文件流行度的预算查询机制、多重小洪泛查询机制之后的查询性能进行了测试。实验结果表明,将DPEM机制应用于基于文件流行度的预算查询机制后,当每分钟减少100个节点时,平均命中数目增大了12%;将DPEM机制中的代理节点选择机制应用于多重小洪泛查询机制之后,平均响应时间缩短了11%~28%,平均命中数目增加了46%,平均满意度增加了20%;将DPEM机制应用于上述改进过的多重小洪泛查询机制之后,在针对“中性”文件的查询中,当每分钟增加50个节点时,平均满意度不变,平均查询消息数减少了27%;当每分钟减少100个节点时,平均响应时间缩短了16%。