论文部分内容阅读
Gnutella网络是分布P2P模式的典型代表,由于它具有完全分布式和高度动态性的特点,可以有效消除单点瓶颈、节点快速定位以及获取有效信息,增强了网络的鲁棒性。并且没有像结构化P2P网络没有考虑到网络的实时性与动态性而导致存在着高延迟、低效率的缺点。然而,由于Gnutella采用洪泛式(Flooding)搜索机制,容易在网络中产生以指数级增长的冗余消息,致使查询速度慢效率低下,网络扩展性能不强。因此提高搜索效率,改进Gnutella网络搜索机制成为主要研究目的之一。 本文以改进Gnutella的搜索机制作为论题。首先对洪泛式搜索机制进行展开性探讨,详细分析此搜索机制的特征与不足。针对洪泛式搜索机制的不足,本文提出了一种基于树结构的Gnutella-Tree搜索树搜索机制。本机制的主要思想是在搜索过程中动态的构造出搜索树,来减少消息的重复传送,达到提高网络搜索效率、降低代价、减少冗余消息。根据这一思想,本文详细阐述了Gnutella-Tree机制的存储方法和Gnutella-Tree搜索树的构造算法,并提出一种Gnutella-Tree自适应算法(Adaptive Gnutella-Tree Algorithm,简称AGTA),旨在控制节点的加入和退出对已构造的树的影响,以保证Gnutella-Tree搜索树的鲁棒性。最后将通过仿真实验验证该搜索机制和控制算法的有效性,显示了在搜索效率的提高,消息冗余量的减少和节点频繁流动造成网络动态变化的适应方面都有显著的改进效果。