论文部分内容阅读
P2P是为了达到既定目标而进行的,生产者与消费者之间直接的、对等的信息和服务双向交换行为.P2P直接将人们联系起来,让人们通过互联网直接交互,给互联网的分布、共享精神带来了无限的遐想.目前,P2P已经应用于对等计算、协同工作、搜索引擎、文件交换等多种技术.在众多P2P应用研究中,一个基础性的问题是定位技术,即对于某个给定的数据对象,如何有效地定位存储该对象的节点.传统非结构化P2P网络按照其定位技术不同,主要可分为三类:集中式、分散式和组播式.但是,三种非结构化的P2P在定位方面存在难以解决的问题.近几年,人们将DHT算法引入到P2P中,建立了一套分布式、结构化、易定位的P2P体系.与非结构化的P2P网络相比,基于DHT的结构化P2P网络能够较好地处理在高度动态变化的网络中有效地定位关键字这一基础性问题.但是,从负载平衡的角度来看,DHT还存在两方面的不足.一方面,关键字查询具有很大的不确定性,有些关键字所代表的资源成为人们关注的热点,因而查询地非常频繁,这就会造成路由节点负载的不平衡,进而导致网络负载不公平.另一方面,在实际网络中,不同的节点的处理负载的能力不同,只有在这些不同的节点之间合理分配任务,使之能达到负载平衡,才能更好地提高网络效率.针对以上问题,该文以DHT方法的一种——Chord方法为基础,提出了一种计算其负载能力的简单办法,并且据此对DHT网络做出改进.一方面,采用动态分配虚拟节点的方法,为一个节点分配多个虚拟节点,虚拟节点的各项操作,如查询、路由、加入、退出等与实际节点完全相同.这样,实际节点的负载被分配到各个虚拟节点上去.当各个节点的负载不平衡时,定期移动各个节点上的虚拟节点,把重负载节点的负载向轻负载节点转移,从而使网络达到均衡,获得更好的效率.另一方面,在两次虚拟节点移动之间,靠改进Chord路由算法来降低热点查询的影响.主要方法是扩展路由表,使路由的每一跳都拥有多种选择,不同选择有不同的优先级,而负载较重的节点的优先级较低.这样可以让热点节点从繁重的路由转发任务中解脱出来,主要处理对其保存的关键字的查询,从而减轻负担.该文对这两种改进做了较详细的说明,并对其特点进行了分析.