论文部分内容阅读
P2P网络已经成为Internet中最重要的应用系统之一。基于DHT的结构化P2P网络能够高效地完成对象查询和定位工作,并具有良好的可扩展性、健壮性、自组织和自适应能力等优点,因此成为P2P网络的一个主流研究方向。然而,DHT网络自身存在的负载不均衡因子、节点处理能力的异构性、用户查询分布的不均匀性以及网络中存在的动态性都会造成负载分布不均衡,降低整个系统的服务质量和可用性。在DHT网络中,节点的负载主要由两部分组成:一部分是由节点所维护的对象带来的负载,称为对象负载(Object Load);另一部分是节点根据路由算法转发其他用户查询消息时产生的路由负载(Routing Load)。现有负载均衡问题的研究主要针对对象负载而忽略了路由负载,会导致节点因为转发大量查询消息而产生过载,影响用户查询的成功率及响应时间。针对这一问题,本文围绕基于DHT的结构化P2P网络中的路由负载均衡问题展开了深入研究,主要工作包括以下几个方面:(1)入度调整机制是目前解决路由负载均衡问题的一种有效手段。针对入度调整机制在DHT网络中存在的不足,本文提出了一种使用公平指数和负载分层方法的路由负载均衡算法FLLB。该算法利用公平指数发现局部范围内负载分布的不均衡,利用入度调整机制对轻节点和重节点分别进行有针对性的负载调整。该算法将节点的入连接和需要处理的路由负载划分为多个子层,允许节点通过调整特定子层的入度数量来单独调整该子层负载的大小,提高了调整的针对性,细化了调整的粒度。模拟结果表明FLLB算法能够提高负载分配的公平性,以较低的开销取得较好的调整效果。(2)针对结构化P2P网络中由于查询热点所导致的节点拥塞问题,本文提出了一种基于入度调整机制的路由负载拥塞控制算法HGCG。该算法能够动态判定出可能存在的查询热点,并将热点周围的节点组织起来建立热点组,通过在热点组内各节点之间转移入连接来实现负载的最优分配。同时,HGCG算法还充分考虑了节点处理能力的异构性,将热点组中的节点进一步划分为多个能力组,并在能力组内和组间分别进行调整。为了预防节点拥塞,算法还将每条入连接的平均剩余处理能力作为指导负载调整的标准之一。模拟结果表明,与其他同类算法相比,HGCG算法可以有效地减少负载增加过程中查询失败的数量,降低拥塞带来的影响。(3)针对在DHT网络中,入度调整机制的负载调整范围存在局限性,无法进行全局范围负载调整的问题,本文提出了一种基于虚拟服务器机制和入度调整机制相结合的路由负载均衡算法VSG。该算法选取系统中处理能力较强的节点组成VSG组,并允许在该组成员上创建虚拟服务器。热点区域可以通过在VSG组中创建虚拟服务器来实现系统全局范围内的负载转移;热点区域内的节点和虚拟服务器通过入度调整来进行局部范围的负载细分。同时,VSG算法通过缩小虚拟服务器路由表的规模、禁止虚拟服务器维护数据对象等措施降低了虚拟服务器的资源消耗,并考虑了节点同时使用多个标识符时的安全性问题。模拟结果表明VSG算法兼具了虚拟服务器机制和入度调整机制的优点,能够有效地处理DHT网络中的路由负载不均衡问题。(4)为了降低查询分布不均匀对路由负载均衡的影响,本文提出了一种路由负载分散机制RLD,通过将集中的查询分散化来避免产生查询热点。RLD机制允许同一个对象的查询从多条查询路径到达目标,让网络中更多的节点参与查询消息的路由过程,共同分担路由负载,解决了单一查询路径条件下的负载汇聚问题,提高了路由负载的均衡程度。通过对现有DHT路由方法进行简单扩展,RLD机制能够以很高的概率保证查询消息在相同的跳步数内到达目标节点。RLD机制可以与本文提出的路由负载均衡算法HGCG或VSG联合使用,进一步提高路由负载均衡的效果。最后,从理论分析和模拟实验两个方面证明了RLD机制的正确性和有效性。