一种dht网络负载均衡装置及虚节点划分的方法

文档序号:7746690阅读:185来源:国知局
专利名称:一种dht网络负载均衡装置及虚节点划分的方法
技术领域
本发明涉及基于DHT的P2P网络领域,尤其涉及一种负载均衡技术。
背景技术
基于DHT(Distributed Hash Table,分布式哈希表)的 P2P (Peer-to-Peer,对等) 网络由于其良好的扩展性、可靠性和去中心化的特性,得到了越来越多的应用。但基于DHT 的P2P网络也带来了与之相关的负载均衡问题,严重影响了系统的性能。如何能够迅速、高 效、平衡系统的负载也成为学者们研究的重点。目前负载均衡技术主要包括动态的侧重于调整的负载均衡技术和静态的侧重于 预防的负载均衡技术。动态的负载均衡技术通过发现实时发现系统的高负载节点和低负载 节点,转移负载的方法来完成系统的负载均衡操作。这种技术要实时获得系统中所有节点 的负载信息,由于P2P系统中节点的数量十分巨大,节点的频繁加入和退出网络,节点负载 信息的收集需要消耗很多系统的资源。同时,负载的调配需要一个类似中心的节点来处理 系统中的高负载节点和低负载节点,而这与P2P系统的去中心化特征相违背,会造系统的 单点故障。静态的负载均衡技术从基于DHT的P2P网络负载不均衡的原因入手,通过优化 DHT算法和平衡节点负责的ID区域大小方法平衡系统的负载。基于虚服务结点的方法DHT网络是一种覆盖网络,实际物理网络中的主机通过哈希函数映射到DHT网络中的一个节点,根据上文所述,每个节点所负责的最大ID区域与 最小ID区域的大小比可达到O(IogN),为了使每个节点分配的ID区域的大小相等,最简单 的方法就是将每个主机映射到DHT网络中的IogN节点上,这样就使得每个节点的ID区域 大小相等。虚服务的方法指的就是使每个物理节点对应多个DHT网络上的节点。Rao A首 先提出了虚服务的概念,并在此基础上提供了三种简单的负载均衡算法一对一、一对多、 多对多。三种算法的基本思想是转移负载,不过负载转移的单位不是传统的文件,而是重负 载主机上的虚服务,一个虚服务就是DHT网络中的一个节点,通过转移虚服务将一段ID区 域由重负载节点转移到轻负载节点上以达到平衡系统负载的目的。由于转移虚服务的方法 比较简单,通过虚服务的加入和退出DHT网络算法就可以完成,并不需要更改网络的结构, 所以虚服务的机制得到了广泛的应用。三种方法的区别在于发现系统中轻负载节点和重负 载节点的手段,在一对一方法中,每个轻负载节点会随机选择一个节点,向该节点发出请求 希望获得对方的负载情况,当发现被请求的节点是重负载节点时将重负载节点的虚拟服务 器转移到本节点上。在一对多和多对多方法中,系统中的节点计算自身的负载情况,如果发 现自身的负载情况超过一定阀值而成为轻负载节点或重负载节点时,节点将自身的信息发 给系统指定的节点,这些指定的节点被成为目录节点。目录节点会获得系统中的轻负载和 重负载节点的信息,通过与一对一相同的方式转移虚服务,平衡系统的负载。与一对一方法 中负载仅能在两个节点间转移相比,一对多与多对多的方法在调度负载时可以考虑多台主 机,生成的调度策略能更快使系统负载达到平衡的效果。但一对多和多对多方法也有明显 的缺点,系统中会存在特定的目录节点来接受系统中节点的负载信息并生成策略,这样对目录节点的性能要求很高,如果目录节点的负载很高就无法完成系统的负载调度工作。然 而,此算法在过载与非过载节点间转移虚服务器,并没有考虑它们之间的位置关系,负载转 移需要消耗过多的带宽和延迟(Load balancing in structured P2P systems [C] 2003., 68-79)。David R. Karge也提出一种均衡节点的ID区域大小的方法。在该方法中每个结点 通过不同的哈希函数生成Iog(N)个ID值,结点在任意时刻都自由一个值是激活的,有这个 值当做节点的ID。节点在选取ID时会从中选取使ID空间最小的值,理论证明该方法在很 大概率上会使每个结点获得0(l/n)大小的弧长。不过,在该方法中节点加入和退出时使得 其他 Log (N)个节点改变节点的 ID值(Simple efficient load balancing algorithmsfor peer-to-peer systems [C] 2004,36-43 页)。Gurmeet Singh Manku 也提出了一 种利用 虚拟二叉树调整节点ID空间。这可虚拟的二叉树是一个平衡的二叉树,树的叶子节点代 表节点选取的ID。在节点加入选取ID时,利用平衡二叉树生成一个叶子节点并将其作 为ID指定给节点。从本质上,节点在加入时考虑了其他节点的ID,进而使得节点ID空间 —肖 (Binary Trees for ID Management and Load Balance in Distributed Hash Tables[C]2004,25-28 页)。Krishnaram Kenthapadi通过平衡结点负责的空间大小来达到负载平衡,当第k 个结点加入时,随机探测r个结点,获得每个结点周围ν个弧的长度,将点插到r*v个弧中 最大弧长的中间,并证明了任意r和ν的组合使得rXv > clogk,会使得最大与最小弧长 比很大概率为 8 (Decentralized Algorithms using both Local and Random Probes for P2P LoadBalancing2005[C],18-20 页)。Marcin Bienkowski 将节点负责的空间按大小分 级,每轮调整都选取负责空间小的节点以1/2的概率离开,在随机选取 一个ID,若ID在大空 间内,加入到网络,否则继续算法。文中指出在理论上经过一定次数调整后,会达到负载均 衡(Dynamic Load Balancing in Distributed Hash Tables[C]2005,217—225 页)。以上的负载均衡方法,或者动态监控系统的负载情况,或者调整文件的放置策略 和节点的ID区域大小,但并没有考虑到DHT网络中节点性能的差异性。某些存储容量较大 的节点存储的文件较多也不一定会达到高负载的状态,对于另外一些节点,它们的性能较 弱,即使存储的文件不多,也达到了高负载的状态。基于DHT网络的特性,设计有效的节点 性能评价方法并虚节点划分的机制,平衡基于DHT的P2P网络的负载。

发明内容
本发明的目的在于提供一种资源消耗较低的,不破坏DHT网络去中心化特征的 DHT网络负载均衡装置。本发明的目的还在于提供一种DHT网络负载均衡装置的虚节点划 分的方法。本发明的目的是这样实现的本发明的DHT网络负载均衡装置的构成包括节点存储容量收集装置、节点带宽 收集装置、节点ID区域收集装置、节点性能评价装置、节点邻居集收集装置、节点加入装置 和节点退出装置;其特征是节点存储容量收集装置根据节点提供的存储资源,计算节点 的存储容量,节点带宽收集装置进行节点测量与收集路由表中节点的带宽,并将带宽之和 作为节点在DHT网络中的网络性能的体现;节点ID区域收集装置,节点在加入到DHT网络 后,计算DHT网络上的临近节点,获得节点负责的ID区域的大小;节点存储容量收集装置、节点带宽收集装置和节点ID区域收集装置连接节点性能评价装置,节点性能评价装置根据节点存储容量、节点的带宽资源和节点的ID区域的大小,建立节点的性能模型,评价节 点的级别;节点邻居集收集装置,节点根据GNP(Global NetworkPositioning, GNP,全局网 络定位)方法计算自身的网络坐标,通过邻居节点的发现机制,快速找到节点的邻居节点, 节点邻居集收集装置和节点性能评价装置连接由节点加入装置和节点退出装置构成的虚 节点划分装置;节点加入装置,节点获得邻居节点集中节点的性能级别,发现邻居节点集中 的弱级别节点,节点退出DHT网络,并与找到的节点建立连接,与找到节点的共用一个ID, 共同承担负载;节点退出装置,合并节点退出网络,如果合并节点不含有路由信息,节点直 接退出,如果节点含有路由信息,节点本身和组成合并节点的其他节点都退出网络。本发明的DHT网络负载均衡装置的虚节点划分的方法包括以下步骤1)节点加入网络,节点通过性能模型定义自身节点级别,若本身为弱节点,找到临 近的弱节点;2)节点合并,节点退出网络并与找到的临近弱节点建立连接,共同组成一个强虚 节点,退出节点通过相邻弱节点与系统中的其他节点交互,其他节点将退出节点看成为强 虚节点的一部分;3)节点合并后的调整。节点查询装置只包含强虚节点ID,由强虚节点分配各弱节 点的负载,以达到负载均衡。本发明的主要技术特征1)建立适用于DHT网络的节点性能模型,考虑节点存储 容量、带宽能力和ID区域的大小;2)采用虚节点划分的负载平衡方法,将相邻的弱节点划 分为DHT网中一个节点的方法,平衡系统的负载;经过大量实验,结果表明,本发明适合于实时、准确的负载均衡处理。本发明的有益效果在于有很低的系统损耗,能较好的平衡系统的负载;可部署 使用基于DHT的P2P网络的各种应用领域。


图1是本发明的DHT网络负载均衡装置的结构图。图2给出了计算节点性能评价的流程图。图3是本发明的基于虚节点划分的DHT网络负载均衡方法的原理流程图。图4为应用负载均衡装置先后的负载状况图。
具体实施例方式下面结合附图举例对本发明做更详细地描述图1所示为基于节点性能评价及虚节点划分的DHT网络负载均衡装置结构图,包 括节点存储容量收集装置根据节点提供的存储资源,计算节点的存储容量;节点带宽收集装置节点测量与路由表中节点的带宽,并将带宽之和作为节点在 DHT网络中的网络性能的体现;节点ID区域收集装置节点在加入到DHT网络后,计算DHT网络上的临近节点,获 得节点负责的ID区域的大小;节点性能评价装置根据节点存储容量、节点的带宽资源和节点的ID区域的大小,建立节点的性能模型,评价节点的级别;节点邻居集收集装置节点根据GNP方法计算自身的网络坐标,通过邻居节点的 发现机制,快速找到节点的邻居节点;虚节点划分装置由节点加入装置和节点退出装置构成;节点加入装置节点获得邻居节点集中节点的性能级别,发现邻居节点集中的弱 级别节点,节点退出DHT网络,并与找到的节点建立连接,与找到节点的共用一个ID,共同 承担负载;节点退出装置合并节点退出网络,如果合并节点不含有路由信息,节点直接退 出,如果节点含有路由信息,节点本身和组成合并节点的其他节点都退出网络;图2所示为计算节点性能评价的流程图。节点性能评价模型节点的存储容量有本身计算得出为W,节点的带宽能力近似为节点与路由表中的 DHT网络中节点的带宽和B,节点的ID区域大小与邻居节点中的平均ID区域大小之比R,利 用节点性能模型M按如下公式计算M = [1/R*W,1/R*B]节点级别由二维模型M中的较小者决定,根据自定义阀值判定节点的能力级别;图3所示为基于虚节点划分的DHT网络负载均衡方法的原理流程图。节点加入到网络后,根据图2流程和节点性能评价模型判定节点性能级别,若为 强节点,则直接加入。若为弱节点,则寻找邻居节点中的弱节点,若找到则该节点退出,与找 到的弱节点一起组成一个强虚节点并进行合并后的调整。若邻居节点中没有弱节点,则直 接加入,等待其他加入的弱节点;图4所示为应用负载均衡装置先后的负载状况图。下面详细描述了本发明的实验例场景,结合本发明的优点,对实施结果进行分析。为了验证本发明的有效性,以PeerSim仿真软件为实验环境,并搭建了典型的应 用环境,实验采用3000个节点,实验中随机发送30万条查询消息。并统计应用负载均衡装 置先后的负载状况,如图4,取得了较好的负载均衡效果。综上,本发明有很好的负载平衡效果,可广泛应用于各种基于DHT的P2P应用领 域。
权利要求
一种DHT网络负载均衡装置,其构成包括节点存储容量收集装置、节点带宽收集装置、节点ID区域收集装置、节点性能评价装置、节点邻居集收集装置、节点加入装置和节点退出装置;其特征是节点存储容量收集装置根据节点提供的存储资源,计算节点的存储容量,节点带宽收集装置进行节点测量与收集路由表中节点的带宽,并将带宽之和作为节点在DHT网络中的网络性能的体现;节点ID区域收集装置,节点在加入到DHT网络后,计算DHT网络上的临近节点,获得节点负责的ID区域的大小;节点存储容量收集装置、节点带宽收集装置和节点ID区域收集装置连接节点性能评价装置,节点性能评价装置根据节点存储容量、节点的带宽资源和节点的ID区域的大小,建立节点的性能模型,评价节点的级别;节点邻居集收集装置,节点根据GNP方法计算自身的网络坐标,通过邻居节点的发现机制,快速找到节点的邻居节点,节点邻居集收集装置和节点性能评价装置连接由节点加入装置和节点退出装置构成的虚节点划分装置;节点加入装置,节点获得邻居节点集中节点的性能级别,发现邻居节点集中的弱级别节点,节点退出DHT网络,并与找到的节点建立连接,与找到节点的共用一个ID,共同承担负载;节点退出装置,合并节点退出网络,如果合并节点不含有路由信息,节点直接退出,如果节点含有路由信息,节点本身和组成合并节点的其他节点都退出网络。
2.—种DHT网络负载均衡装置的虚节点划分的方法,其特征是包括如下步骤1)节点加入网络,节点通过性能模型定义自身节点级别,若本身为弱节点,找到临近的 弱节点;2)节点合并,节点退出网络并与找到的临近弱节点建立连接,共同组成一个强虚节点, 退出节点通过相邻弱节点与系统中的其他节点交互,其他节点将退出节点看成为强虚节点 的一部分;3)节点合并后的调整。节点查询装置只包含强虚节点ID,由强虚节点分配各弱节点的 负载,以达到负载均衡。
全文摘要
本发明提供的是一种DHT网络负载均衡装置及虚节点划分的方法。DHT网络负载均衡装置的构成包括节点存储容量收集装置、节点带宽收集装置、节点工D区域收集装置、节点性能评价装置、节点邻居集收集装置、节点加入装置、节点退出装置。虚节点划分的方法包括1)节点加入网络,节点通过性能模型定义自身节点级别,若本身为弱节点,找到临近的弱节点;2)节点合并,节点退出网络并与找到的临近弱节点建立连接,共同组成一个强虚节点,退出节点通过相邻弱节点与系统中的其他节点交互,其他节点将退出节点看成为强虚节点的一部分;3)节点合并后的调整。节点合并后查询只包含强虚节点ID,由强虚节点分配各弱节点的负载,以达到负载均衡。
文档编号H04L29/08GK101834897SQ201010153490
公开日2010年9月15日 申请日期2010年4月23日 优先权日2010年4月23日
发明者杨武, 玄世昌, 王巍, 苘大鹏, 赵景寰 申请人:哈尔滨工程大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1