分布式哈希表网络的负载均衡实现方法及装置的制作方法

文档序号:7763355阅读:403来源:国知局
专利名称:分布式哈希表网络的负载均衡实现方法及装置的制作方法
技术领域
本发明涉及通信领域,具体而言,涉及一种分布式哈希表(Distributed Hash Table,简称为DHT)网络的负载均衡实现方法及装置。
背景技术
目前,分布式哈希表(DHT)已成为点对点(P2P)叠加网络的主要组织形式,其存储负载均衡主要使用虚拟标识的方法实现。在分布式哈希叠加网络中同时具有节点ID与虚拟标识两种不同属性的标识。其中,节点ID用于区分不同节点,维护分布式哈希表叠加网络;虚拟标识用于将哈希表空间分割成多个区间并分配到节点。在一个分布式哈希表叠加网络中,每个节点ID都不相同,每个虚拟标识也都不相同。允许出现节点ID相同于虚拟标识的情况。叠加网络中根据全部节点的全部虚拟标识和一定的分割规则,将哈希表空间分为多个区间。区间数量与虚拟标识数量等同,每个区间与一个虚拟标识互相关联。哈希表区间由与其关联的虚拟标识所属的节点负责。由于每个节点拥有多个虚拟标识,因此,每个节点需要负责多个哈希表区间。而叠加网络中的每个数据资源被分配一个唯一的资源标识, 若某数据资源的资源标识位于某一哈希表区间内,该数据资源由与负责该哈希表区间的虚拟标识所在的节点保存。这样,叠加网络中的所有节点ID与虚拟标识组成两个不同的逻辑环路。虚拟标识将哈希表空间进行更精细的划分,每个虚拟标识负责相应的哈希块,资源标识落在该哈希块内的数据资源由该虚拟标识负责保存,从而起到提升网络负载均衡效果的作用。如

图1所示,假设哈希空间为0-63被12个虚拟标识均等分割成12份。网络中有 A、B、C和D四个节点,四个节点分别具有各自的节点ID :附、_、拟8、附9,并且假设这四个节点能力相同。则每个节点均具有三个虚拟标识,如节点B具有三个虚拟标识P8、P28和 P43。资源对象根据资源标识与虚拟标识的关系由相应的虚拟标识负责保存(如资源标识为K5的,就由虚拟标识P8负责)。其中,如表1所示,节点B的三个虚拟标识所负责的哈希块分别为(1,8], (23,28]、(38,43],资源标识在此空间的资源属于节点B负责。从而可以得到在该种负载均衡方法下,四个节点中存储的数据资源空间都是15,具体如表1所示。 由于资源标识在整个哈希空间是均勻分布的,因此,每个节点所负责的数据资源是均衡的。表 1.
权利要求
1.一种分布式哈希表DHT网络的负载均衡实现方法,其特征在于,包括将所述DHT网络中的已分配给各个节点的N个第一虚拟标识中各个第一虚拟标识对应的负载空间均分为M份,使用MXN个第二虚拟标识对均分后的各份负载空间进行标识,其中,M和N为自然数,且M彡2 ;将MXN个所述第二虚拟标识分配给当前所述DHT网络中的各个节点,由各个节点负责分配给其的所述第二虚拟标识对应的负载空间。
2.根据权利要求1所述的方法,其特征在于,在各个所述第一虚拟标识对应的负载空间均分为M份之前,所述方法还包括所述DHT网络中一个节点的负载不均衡度超过负载不均衡度阈值。
3.根据权利要求2所述的方法,其特征在于,所述将MXN个所述第二虚拟标识分配当前所述DHT网络中的各个节点包括根据当前所述DHT网络中各个节点的负载不均衡度,对各个节点负责的所述第二虚拟标识的数量进行调整,使负载不均衡度超过负载不均衡度阈值的节点的负载不均衡度下降。
4.根据权利要求2所述的方法,其特征在于,所述将MXN个所述第二虚拟标识分配当前所述DHT网络中的各个节点包括新节点加入所述DHT网络;根据所述新节点的能力,计算所述新节点应该负责的所述第二虚拟标识的数量;将所述DHT网络中负责的所述第二虚拟标识数超过理论值的节点负责的部分所述第二虚拟标识分配给所述新节点负责,使所述新节点负责的所述第二虚拟标识的数量接近所述新节点应该负责的所述第二虚拟标识的数量。
5.根据权利要求1所述的方法,其特征在于,在各个所述第一虚拟标识对应的负载空间均分为M份之前,所述方法还包括新节点加入所述DHT网络。
6.根据权利要求5所述的方法,其特征在于,所述将MXN个所述第二虚拟标识分配各个所述节点包括根据所述新节点的能力,计算所述新节点应该负责的所述第二虚拟标识的数量;将所述DHT网络中负责的所述第二虚拟标识数超过理论值的节点负责的部分所述第二虚拟标识分配给所述新节点负责,使所述新节点负责的所述第二虚拟标识的数量接近所述新节点应该负责的所述第二虚拟标识的数量。
7.根据权利要求6所述的方法,其特征在于,将所述DHT网络中负责的所述第二虚拟标识数超过理论值的节点负责的部分所述第二虚拟标识分配给所述新节点负责包括根据所述DHT网络中各个节点的能力,计算加入所述新节点后各个所述节点应该负责的所述第二虚拟标识的理论值;判断各个所述节点当前负责的所述第二虚拟标识的数量是否超过该节点的所述理论值,如果是,则将该节点负责的所有所述第二虚拟标识中随机取超出该理论值部分的所述第二虚拟标识分配给所述新节点。
8.根据权利要求1至7中任一项所述的方法,其特征在于,在所述DHT网络初建时,所述N根据所述DHT网络的节点规划及负载不均衡度阈值确定。
9.根据权利要求8所述的方法,其特征在于,按照以下方式确定所述N获取所述DHT网络中能力最差的节点;根据所述负载不均衡度阈值,确定所述第一虚拟标识的数量N,使得所述能力最差的节点的负载不均衡度小于所述负载不均衡度阈值。
10.一种DHT网络的负载均衡实现装置,其特征在于,包括分裂模块,用于将所述DHT网络中已分配给各个节点的N个第一虚拟标识中各个所述第一虚拟标识对应的负载空间均分为M份,使用MXN个第二虚拟标识对均分后的各份负载空间进行标识,其中,M和N为自然数,且M彡2;分配模块,用于将MXN个所述第二虚拟标识分配给当前所述DHT网络的各个节点,由各个节点负责分配给其的所述第二虚拟标识对应的负载空间。
11.根据权利要求9所述的装置,其特征在于,所述装置还包括判断模块,用于判断所述DHT网络是否存在负载不均衡度超过负载不均衡度阈值的节点,如果是,则触发所述分裂模块。
12.根据权利要求9所述的装置,其特征在于,所述装置还包括发现模块,用于发现所述DHT网络是否有新节点加入,如果是,则触发所述分裂模块。
全文摘要
本发明公开了一种分布式哈希表网络的负载均衡实现方法及装置。其中,该方法包括将所述分布式哈希表网络中的已分配给各个节点的N个第一虚拟标识中各个第一虚拟标识对应的负载空间均分为M份,使用M×N个第二虚拟标识对均分后的各份负载空间进行标识,其中,M和N为自然数,且M≥2;将M×N个所述第二虚拟标识分配给当前所述DHT网络中的各个节点,由各个节点负责分配给其的所述第二虚拟标识对应的负载空间。通过本发明,可以保证DHT网络中各个节点的负载均衡。
文档编号H04L29/08GK102457428SQ20101052280
公开日2012年5月16日 申请日期2010年10月27日 优先权日2010年10月27日
发明者李漓春, 胡学川 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1