一种单跳分布式哈希表叠加网络的负载均衡方法和系统的制作方法

文档序号:7713256阅读:233来源:国知局
专利名称:一种单跳分布式哈希表叠加网络的负载均衡方法和系统的制作方法
技术领域
本发明涉及单跳分布式哈希表叠加网络,尤其涉及一种单跳分布式哈希表叠加网 络的负载均衡方法和系统。
背景技术
分布式哈希表网络(DHT网络)近年来逐渐成为P2P (peer to peer,点对点)叠加 网络的主流组织形式,它主要是采用分布式哈希表技术来组织P2P叠加网络中的节点。网 络中的所有节点共同维护完整巨大的哈希表。哈希表被分割成多个块,每个节点被分配给 一个属于自己的哈希块,并成为这个哈希块的管理者。通过加密哈希函数,一个对象的名字 或关键词被映射为1 位或160位的哈希值。该哈希值必定位于某一哈希块内,而该哈希 块的管理节点则负责存储这个对象数据。系统可以根据不同的规则为节点分配属于自己的 哈希块,一种典型的形式为网络中每个节点都有一个唯一的标识,称为节点标识(ID),与 对象哈希值在同一哈希空间内,而每个节点所负责管理的哈希块即为其前向节点ID与其 自身节点ID之间的部分。例如,有一节点的节点ID为15,而其前向节点ID为10,则该节 点负责管理的哈希块即为(10,15]。DHT类结构能够自适应节点的动态加入/退出,有着良 好的可扩展性、鲁棒性、节点ID分配的均勻性和自组织能力。
DHT网络中,每个节点均维护到其他节点的路由信息,以便将网络中的所有节点联 系起来。而这些路由连接通常采取结构化的方式,因此常将DHT网络称为结构化P2P网络。 DHT网络根据路由表构造的不同可以分为multi-hop (多跳)DHT网络和one-hop (单跳) DHT网络。所述multi-hop DHT网络,是指DHT网络中的每个节点仅维护到部分节点的连接 信息,这样从网络中的某一节点发起的路由消息,可能会经过多个节点转发才能到达目的 节点处,经典的 multi-hop DHT 网络有 Tapestry、Pastry、Chord 和 CAN 等。所述 one-hop DHT网络,是指DHT网络中的每个节点维护到其他所有节点的路由信息,这样从网络中的任 一节点发起的路由消息,均可经一跳直接达到目的节点处。
以下说明单跳分布式哈希表叠加网络(one-hop DHT网络)的实现方法。图1 为one-hop DHT网络的拓扑结构图,与Chord等经典DHT网络相同,网络中节点按照一定 的方式分配一个唯一节点ID(Node ID),数据资源通过哈希运算产生一个唯一的资源标识 (Object ID),且该资源将存储在节点ID与资源标识相等或者相近的节点上。如图1中,由 于14为离10最近的后向标识,资源标识为10的资源对象将保存在节点N14上。one-hop DHT网络的特点在于节点路由表的构造形式。如图1中节点附4,从其路由表中我们可以看 到所述节点与网络中其他所有节点均保持连接关系。在资源查找时,节点可根据资源保存 规则从路由表中直接定位至保存该资源的节点。如节点N14需要发起对资源K54的查询, 通过其路由表,节点N14可知M处于(51,56]的哈希块内,而负责管理该哈希块的节点即 为节点N56,因此,节点N14直接向节点N56发送资源查找请求。
单跳分布式哈希表叠加网络中,每个节点根据其所负责的哈希空间来存储数据资 源。由于哈希函数的特性,网络中的各数据资源通过哈希运算产生的资源标识近似在整个哈希空间上分布均勻,则各个节点负责的哈希空间大小若不相同,必然会造成节点之间存 储数据资源数量的不同。如图2所示,假设哈希空间为0-63,12个数据资源的资源标识在 哈希空间内均勻分布,而四个节点负责的哈希块分别为(49,1]、(1,9], (9,28], (28,49] 0 可以看出,数据资源在各节点的存储情况为节点A负责存储数据资源K50、K55、K60 ;节点 B负责存储数据资源Κ5 ;节点C负责存储数据资源Κ10、Κ15、Κ20、Κ25 ;节点D负责存储数 据资源Κ30、Κ35、Κ40、Κ45。这样,四个节点中存储的数据资源个数分别为3个、1个、4个、 4个。由此可看出其负载的不均衡性。事实上,按照分布式哈希表的数据存储规则会造成 0(log N)的不平衡因子,即系统中某些节点负责存储的数据可能比其他节点多0(log N) 倍,其中N是系统中总节点数。此外,组成网络的节点可能存在异构性,即各节点在接入方 式、存储空间、计算能力、用户行为等方面都存在差异。节点之间能力的差别将导致节点负 载不均衡问题更加严重,会出现部分节点负载超过处理能力,而部分节点负载远远低于处 理能力的负载严重不均衡现象。正是由于单跳分布式哈希表叠加网络中存在的负载不均衡 现象,因此需要提供一种负载均衡方法来保证网络中各节点之间负载的均衡。发明内容
本发明要提供一种单跳分布式哈希叠加网络中的负载均衡方法和系统,该方法均 衡网络中各节点的负载,而且并没有引入额外的路由维护开销。
为了解决上述问题,本发明提供了一种单跳分布式哈希表叠加网络的负载均衡方 法,包括
所述叠加网络中的节点包括一节点标识和至少一个分割标识,所述节点标识唯一 标识一个节点;
所述叠加网络中的全部分割标识将哈希表空间分为若干个哈希表区间,每个分割 标识与一个哈希表区间关联;
数据资源存储在其对应的哈希表区间关联的分割标识所属的节点上。
进一步地,上述方法还可具有以下特点,所述数据资源存储在其对应的哈希表区 间关联的分割标识所属的节点上是指,所述数据资源存储在其资源标识所在的哈希表区间 关联的分割标识所属的节点上。
进一步地,上述方法还可具有以下特点,每个分割标识关联的哈希表区间为其前 向分割标识至该分割标识自身组成的一哈希表区间,该哈希表区间包括该分割标识自身, 所述前向分割标识是指在所有分割标识中,最接近该分割标识且小于该分割标识的分割标 识。
进一步地,上述方法还可具有以下特点,所述节点加入叠加网络时,包括
节点产生节点标识,根据节点标识的大小定位到其准入节点,从准入节点获取其 路由表;
节点产生分割标识,从自己所产生的每个分割标识的后向分割标识所属节点处获 得节点所应负责的数据资源并进行数据备份;其中,一个分割标识的后向分割标识是指在 所有分割标识中,最接近该分割标识且大于该分割标识,且与该分割标识属于不同节点的 分割标识;
节点向其他节点广播节点加入事件消息,该消息中携带节点标识,节点包括的分割标识和节点地址信息;其他节点根据该广播更新路由表。
进一步地,上述方法还可具有以下特点,所述分割标识按照如下方式之一产生
节点根据本身的性能确定待产生的分割标识的个数N,在分割标识空间内随机产 生N个新的分割标识,产生的分割标识应保证不与叠加网络中现有分割标识相冲突;
或者,节点根据本身的性能确定待产生的分割标识的个数N,将分割标识空间等分 为N份,并分别在N份空间内各产生一个分割标识,产生的分割标识应保证不与叠加网络中 现有分割标识相冲突。
进一步地,上述方法还可具有以下特点,节点退出所述叠加网络时,将自己负责存 储的数据资源搬移至数据资源对应的哈希表区间关联的分割标识的后向分割标识所属节 点处,其中,一个分割标识的后向分割标识是指在所有分割标识中,最接近该分割标识且大 于该分割标识,且与该分割标识属于不同节点的分割标识;
当节点负责存储的所有数据资源搬移完毕后,该节点向其他节点广播节点退出事 件。
进一步地,上述方法还可具有以下特点,所述节点维护一数据查询路由表和一维 护路由表,所述数据查询路由表中保存叠加网络中各节点的节点标识及其包括的分割标 识,所述维护路由表保存叠加网络中各节点的节点标识和地址信息;
所述节点查询数据资源时,根据数据资源的资源标识确定其所在的哈希表区间, 根据该哈希表区间关联的分割标识,从所述数据查询路由表中获取该分割标识所属节点的 节点标识,从所述维护路由表获取该分割标识所属节点的地址信息,从该分割标识所属节 点获取数据资源。
本发明还提供一种单跳分布式哈希表叠加网络的负载均衡系统,包括若干个节点。
所述节点,用于维护一节点标识和至少一个分割标识,所述节点标识唯一标识该 节点;还用于使用该节点包括的分割标识与所述叠加网络中的其他所有节点包括的分割标 识将哈希表空间分为若干个哈希表区间,将该节点包括的每个分割标识与一个哈希表区间 相关联;还负责存储与该节点包括的分割标识关联的哈希表区间对应的数据资源。
进一步地,上述系统还可具有以下特点,所述节点负责存储与该节点包括的分割 标识关联的哈希表区间对应的数据资源是指,所述节点负责存储资源标识在与该节点包括 的分割标识关联的哈希表区间内的数据资源。
进一步地,上述系统还可具有以下特点,所述节点,用于将该节点包括的每个分割 标识的前向分割标识至该分割标识自身组成的一哈希表区间作为该分割标识关联的哈希 表区间,该哈希表区间包括该分割标识自身,所述前向分割标识是指在所有分割标识中,最 接近该分割标识且小于该分割标识的分割标识。
进一步地,上述系统还可具有以下特点,所述节点还包括节点标识产生模块、路由 维护模块、分割标识产生模块、数据管理模块和广播模块,其中
节点标识产生模块,用于所述节点加入所述叠加网络时,产生节点标识;
路由维护模块,用于根据节点标识的大小定位到其准入节点,从准入节点获取其 路由表;
分割标识产生模块,用于产生分割标识;
数据管理模块,用于从自己所产生的每个分割标识的后向分割标识所属节点处获 得节点所应负责的数据资源并进行数据备份;其中,一个分割标识的后向分割标识是指在 所有分割标识中,最接近该分割标识且大于该分割标识,且与该分割标识属于不同节点的 分割标识;
广播模块,用于在节点加入叠加网络时,向其他节点广播节点加入事件消息,该消 息中携带节点标识,节点包括的分割标识和节点地址信息。
进一步地,上述系统还可具有以下特点,所述分割标识产生模块,用于按照如下方 式之一产生分割标识
根据节点本身的性能确定待产生的分割标识的个数N,在分割标识空间内随机产 生N个新的分割标识,产生的分割标识应保证不与叠加网络中现有分割标识相冲突;
或者,根据节点本身的性能确定待产生的分割标识的个数N,将分割标识空间等分 为N份,并分别在N份空间内各产生一个分割标识,产生的分割标识应保证不与叠加网络中 现有分割标识相冲突。
进一步地,上述系统还可具有以下特点,所述节点还包括数据管理模块和广播模 块,其中
数据管理模块,用于在节点退出所述叠加网络时,将自己负责存储的数据资源搬 移至数据资源对应的哈希表区间关联的分割标识的后向分割标识所属节点处,其中,一个 分割标识的后向分割标识是指在所有分割标识中,最接近该分割标识且大于该分割标识, 且与该分割标识属于不同节点的分割标识;
广播模块,用于在节点退出叠加网络时,节点负责存储的所有数据资源搬移完毕 后,向其他节点广播节点退出事件。
进一步地,上述系统还可具有以下特点,所述节点,还包括路由维护模块和查询模 块,其中
所述路由维护模块,用于维护一数据查询路由表和一维护路由表,所述数据查询 路由表中保存叠加网络中各节点的节点标识及其包括的分割标识,所述维护路由表保存叠 加网络中各节点的节点标识和地址信息;
所述查询模块,用于在查询数据资源时,根据数据资源的资源标识确定其所在的 哈希表区间,根据该哈希表区间关联的分割标识,从所述维护模块的数据查询路由表中获 取该分割标识所属节点的节点标识,从所述维护路由表获取该分割标识所属节点的地址信 息,从该分割标识所属节点获取数据资源。
本发明所述方法和系统,与现有技术的区别在于,在传统DHT网络中,节点ID既用 来唯一标识节点,参与路由的维护,又与其他节点ID配合用来分割哈希空间,并将各哈希 块分配给相应的节点负责管理,本发明将节点ID用于标识节点,引入分割标识分割哈希空 间,不仅均衡了网络中各节点的负载,而且没有引入额外的路由维护开销。


图1为单跳DHT网络及路由表结构图2为单跳DHT网络中节点间数据存储负载不均衡示意图3为本发明单跳DHT网络中负载均衡方法的示意图4(a)、图4(b)为本发明节点保存的叠加网络数据查询路由表与维护路由表结 构示意图5为本发明新节点加入单跳DHT网络时,网络路由维护过程的示意图6为本发明节点正常退出单跳DHT网络时,网络路由维护过程的示意图7所示为本发明节点结构框图。
具体实施方式
下面结合附图和实施例来进一步说明本发明。
本发明的主要思想是,将传统分布式哈希叠加网络中节点ID的双重作用相分离, 参与单跳分布式哈希表叠加网络的节点同时具有节点ID与分割标识两种不同属性的标 识,其中,节点ID用于区分不同节点,维护分布式哈希表叠加网络;分割标识用于将哈希表 空间分割成多个区间,每个分割标识与一个哈希表区间关联,每个节点包括至少一个分割 标识,每个节点负责其包括的分割标识关联的哈希表区间。在一个分布式哈希表叠加网络 中,每个节点ID都不相同,每个分割标识也都不相同。允许出现节点ID与分割标识相同的 情况。
叠加网络中根据全部节点的全部分割标识和一定的分割规则,将哈希表空间分为 多个哈希表区间。哈希表区间数量与分割标识数量相同,每个哈希表区间与一个分割标识 关联,每个分割标识关联的哈希表区间为其前向分割标识至该分割标识自身组成的一哈希 表区间,该哈希表区间包括该分割标识自身,对任一分割标识A,其前向分割标识指,所有分 割标识中最接近分割标识A且小于分割标识A的分割标识。哈希表区间由与其关联的分割 标识所属的节点负责。由于每个节点拥有一个或多个分割标识,每个节点负责一个或多个 哈希表区间。
叠加网络中的每个数据资源被分配一个唯一的资源标识,若某数据资源的资源标 识位于所述的某一哈希表区间内,该数据资源由与该哈希表区间关联的分割标识所属的节 点保存。这样,叠加网络中的所有节点ID与分割标识组成两个不同的逻辑环路。分割标识 将哈希表空间进行更精细的划分,每个分割标识负责相应的哈希块,资源标识落在该哈希 块内的数据资源由该分割标识负责所属的节点保存,从而起到提升网络负载均衡效果的作 用。
同时,叠加网络中的所有节点的节点ID共同维护网络的路由结构。节点加入/退 出等事件消息,Keepalive保活消息等均在节点ID所组成的环路上发送。
本发明负载均衡方法如图3所示。新节点可以根据本身的性能确定需要产生的 分割标识的个数N,性能高的节点可产生更多的分割标识。确定个数后,在分割标识空间内 (如分割标识为二进制1 位,则标识空间为0-2128-1)随机产生N个分割标识。产生的分 割标识应保证不与网络中现有分割标识相冲突。
在图3中,网络有A,B, C,D四个节点,四个节点分别具有各自的节点ID =NU N9、 N28、N49。此外,网络中的每个节点均包括多个分割标识,如节点B包括三个分割标识P8, P32,P48。分布式哈希表叠加网络中各节点的所有分割标识将全部哈希空间分为若干哈希 块。每个分割标识负责一个哈希块。资源对象根据资源标识与分割标识的关系由相应的 分割标识所属的节点负责保存。如节点B的三个分割标识所负责的哈希块分别为(1,8]、9(25,32], (42,48] 0资源K5与资源K30按照规则分别落在分割标识P8与P32负责的哈希 块内,而分割标识P8与P32均属于节点B,则资源K5与K30均由节点B负责存储。从而可 以得到在本发明该种负载均衡方法下,数据资源在各节点的存储情况为节点A负责存储 数据资源为K60、K15、K20 ;节点B负责存储数据资源K5、K30、K45 ;节点C负责存储数据资 源K10、K25、K40 ;节点D负责存储数据资源Κ35、Κ50、Κ55。这样,四个节点中存储的数据资 源个数均为3个。相较之图2,负载在各节点之间的分布更趋于均勻化。可见,采用这种负 载均衡方法,将原分布式哈希表中一个节点负责的连续哈希块分为若干个由分割标识负责 的不连续的更小的哈希块,使得资源在叠加网络中的各节点之间的保存更趋于均勻化。
由于单跳分布式哈希表叠加网络的特性,节点之间的路由维护可以在由节点ID 组成的逻辑环路上进行,如Ke印alive消息在A,B, C,D四个节点之间进行发送。当有节点 加入/退出等影响网络拓扑的事件发生时,单跳分布式哈希表叠加网络会通过广播机制将 该事件通知网络中其他节点,该广播消息也在节点ID组成的逻辑环路上进行,即广播消息 也仅需要在A,B, C,D四个节点间进行发送。
在上述网络结构中,由于节点ID与分割标识的作用相互独立,因此每个节点保存 两张路由表,一张用来进行数据查找,称其为数据查询路由表,另一张用来进行网络路由的 维护,称其为维护路由表。两张路由表的结构如图4所示。其中,数据查询路由表中保存叠 加网络中各节点的节点标识及其包括的分割标识,维护路由表中保存叠加网络中各节点的 节点标识和对应的IP地址。
下面通过实施例进一步说明本发明。
1、新节点加入过程
如图5所示,网络中有新节点加入时,包括如下步骤
步骤501 新节点产生节点ID,并根据节点ID的大小定位到其准入节点,准入节点 就是当前网络中新节点的直接后继节点。
所述节点ID可以通过对节点的特征信息进行哈希运算得到,节点的特征信息指 该节点的唯一性信息,如IP地址、网卡号、或机器序号,哈希算法的选取可以是任意的;节 点ID也可以由网络的运营管理者统一分配。
步骤502 新节点向准入节点发送加入请求消息。
步骤503 准入节点返回加入应答消息给新节点,并将准入节点的路由表发送给 新节点。
由于是单跳DHT网络,故所述路由表应包括到网络中其他所有节点的路由信息。
步骤504 新节点根据一定的规则产生一定数量的分割标识。
分割标识的产生方式可以多样化,不同的方式对于最终网络负载均衡效果会有所 影响,而分割标识的数量可以根据新节点本身的性能来决定。
下面介绍两种分割标识的产生方式,但本发明不限于下述两种方式。
方式一
新节点根据本身的性能确定待产生的分割标识的个数N,性能高的节点可产生更 多的分割标识。确定个数后,在分割标识空间内(如分割标识为二进制1 位,则标识空间 为0-2128-1)随机产生N个新的分割标识。产生的分割标识应保证不与网络中现有分割标 识相冲突。
方式二
新节点根据本身的性能确定待产生的分割标识的个数N,随后将分割标识空间等 分为N份,并分别在N份空间内各产生一个分割标识。同样,产生的分割标识应保证不与网 络中现有分割标识相冲突。
步骤505 新节点产生分割标识后,从自己所负责的每个分割标识的后向分割标 识所属节点处获得新节点所应负责的数据资源并进行数据备份,后向分割标识所属节点删 除新节点所负责的数据;
其中,一个分割标识A的后向分割标识就是在所有分割标识中,比A大的那些分割 标识中最小的一个,且与A不属于同一个节点。
步骤506 完成数据搬移及备份后,新节点将节点加入事件消息广播至网络中所 有节点处,广播消息在由节点ID组成的环路上进行。该广播消息中应包含a、新节点的节 点ID ;b、新节点所拥有的分割标识;C、新节点的IP地址等信息。
步骤507 收到广播消息的各节点更新自己的路由表。
步骤508 各节点更新完路由表后返回广播消息应答。
2、节点退出过程
如图6所示,当有节点欲退出网络时,该节点称为退出节点,其过程包括
步骤601 退出节点将自己负责存储的数据资源搬移至数据资源对应的哈希表区 间关联的分割标识的后向分割标识所属节点处,即退出节点根据数据查询路由表将属于自 己分割标识所负责的数据资源搬移至相应后向分割标识所对应节点处,该后向分割标识必 须属于另外的节点,称这些节点为退出节点的接管节点。接管节点需要对接管的退出节点 的相关数据进行数据备份。
步骤602 当退出节点所有的分割标识所负责的数据资源搬移完毕后,该退出节 点向其维护路由表项中的其他节点广播该节点退出事件消息。
步骤603 收到该广播消息的节点更新自身的维护路由表与数据查询路由表。从 维护路由表中删除该物理节点ID表项,从数据查询路由表中删除相关分割标识表项。
步骤604 节点更新完路由表后返回广播消息应答。
步骤605 退出节点确认网络中所有其他节点更新路由表完毕后,退出网络。
3、数据资源查找过程
在本发明的负载均衡方法下,可以方便的实现对数据资源的查找过程。
如在图3所示的单跳分布式哈希叠加网络中,若节点A欲查询数据资源K40,其过 程如下
步骤1 由于节点A保存有如图4所示的路由表,因此节点A可根据数据查询路由 表确定数据资源的标识40落在网络的分割标识P38与P42之间,根据单跳分布式哈希叠加 网络中的数据存储规则可以确定该数据资源存储在分割标识P42所属的节点拟8上。
步骤2 定位到数据资源的存储节点后,节点A通过数据查询路由表获得节点拟8 的地址信息,并直接向该节点发起数据查询请求获得数据资源。
4、Ke印alive消息维护过程
Ke印alive消息用来检测对方节点是否在线。由于维护路由表的存在,每一个节点 需要向维护路由表中的前向节点定期发送Ke印alive消息。这样,Ke印alive消息的发送在维护路由表中的各节点之间进行。
在如图3所示的网络中,各节点根据自身的维护路由表定时向其前向节点发送 Keepalive消息,前向节点收到Keepalive消息后,向发送消息节点返回应答消息表示其在 线。若发送消息节点长时间没有收到应答消息,或多次重试发送均无应答消息,则发送节点 认为其前向节点异常退出网络,此时启动节点异常退出网络过程。
本发明还提供一种单跳分布式哈希表叠加网络的负载均衡系统,包括若干个节;^^,I .
所述节点,所述节点,用于维护一节点标识和至少一个分割标识,所述节点标识唯 一标识该节点;还用于使用该节点包括的分割标识与所述叠加网络中的其他所有节点包括 的分割标识将哈希表空间分为若干个哈希表区间,将该节点包括的每个分割标识与一个哈 希表区间相关联;还负责存储与该节点包括的分割标识关联的哈希表区间对应的数据资 源。
其中,所述节点负责存储与该节点包括的分割标识关联的哈希表区间对应的数据 资源是指,所述节点负责存储资源标识在与该节点包括的分割标识关联的哈希表区间内的 数据资源。
其中,所述节点,用于将该节点包括的每个分割标识的前向分割标识至该分割标 识自身组成的一哈希表区间作为该分割标识关联的哈希表区间,该哈希表区间包括该分割 标识自身,所述前向分割标识是指在所有分割标识中,最接近该分割标识且小于该分割标 识的分割标识。
进一步地,如图7所示,节点包括节点标识产生模块、分割标识产生模块、路由维 护模块、数据管理模块、广播模块,其中
节点标识产生模块,用于所述节点加入所述叠加网络时,产生节点标识;
路由维护模块,用于根据节点标识的大小定位到其准入节点,从准入节点获取其 路由表;还用于维护一数据查询路由表和一维护路由表,所述数据查询路由表中保存叠加 网络中各节点的节点标识及其包括的分割标识,所述维护路由表保存叠加网络中各节点的 节点标识和地址信息;
分割标识产生模块,用于产生分割标识;分割标识产生模块产生分割标识的方式 见方法实施例中所述,此处不再赘述;
数据管理模块,用于从自己所产生的每个分割标识的后向分割标识所属节点处获 得节点所应负责的数据资源并进行数据备份;其中,一个分割标识的后向分割标识是指在 所有分割标识中,最接近该分割标识且大于该分割标识,且与该分割标识属于不同节点的 分割标识;还用于在节点退出所述叠加网络时,将自己负责存储的数据资源搬移至数据资 源对应的哈希表区间关联的分割标识的后向分割标识所属节点处,其中,一个分割标识的 后向分割标识是指在所有分割标识中,最接近该分割标识且大于该分割标识,且与该分割 标识属于不同节点的分割标识;
广播模块,用于在节点加入叠加网络时,向其他节点广播节点加入事件消息,该消 息中携带节点标识,节点包括的分割标识和节点地址信息;还用于在节点退出叠加网络时, 节点负责存储的所有数据资源搬移完毕后,向其他节点广播节点退出事件;
所述查询模块,用于在查询数据资源时,根据数据资源的资源标识确定其所在的哈希表区间,根据该哈希表区间关联的分割标识,从所述维护模块的数据查询路由表中获 取该分割标识所属节点的节点标识,从所述维护路由表获取该分割标识所属节点的地址信 息,从该分割标识所属节点获取数据资源。
权利要求
1.一种单跳分布式哈希表叠加网络的负载均衡方法,其特征在于,包括所述叠加网络中的节点包括一节点标识和至少一个分割标识,所述节点标识唯一标识 一个节点;所述叠加网络中的全部分割标识将哈希表空间分为若干个哈希表区间,每个分割标识 与一个哈希表区间关联;数据资源存储在其对应的哈希表区间关联的分割标识所属的节点上。
2.如权利要求1所述的方法,其特征在于,所述数据资源存储在其对应的哈希表区间 关联的分割标识所属的节点上是指,所述数据资源存储在其资源标识所在的哈希表区间关 联的分割标识所属的节点上。
3.如权利要求1所述的方法,其特征在于,每个分割标识关联的哈希表区间为其前向 分割标识至该分割标识自身组成的一哈希表区间,该哈希表区间包括该分割标识自身,所 述前向分割标识是指在所有分割标识中,最接近该分割标识且小于该分割标识的分割标 识。
4.如权利要求1所述的方法,其特征在于,所述节点加入叠加网络时,包括节点产生节点标识,根据节点标识的大小定位到其准入节点,从准入节点获取其路由表;节点产生分割标识,从自己所产生的每个分割标识的后向分割标识所属节点处获得节 点所应负责的数据资源并进行数据备份;其中,一个分割标识的后向分割标识是指在所有 分割标识中,最接近该分割标识且大于该分割标识,且与该分割标识属于不同节点的分割 标识;节点向其他节点广播节点加入事件消息,该消息中携带节点标识,节点包括的分割标 识和节点地址信息;其他节点根据该广播更新路由表。
5.如权利要求4所述的方法,其特征在于,所述分割标识按照如下方式之一产生 节点根据本身的性能确定待产生的分割标识的个数N,在分割标识空间内随机产生N个新的分割标识,产生的分割标识应保证不与叠加网络中现有分割标识相冲突;或者,节点根据本身的性能确定待产生的分割标识的个数N,将分割标识空间等分为N 份,并分别在N份空间内各产生一个分割标识,产生的分割标识应保证不与叠加网络中现 有分割标识相冲突。
6.如权利要求1所述的方法,其特征在于,节点退出所述叠加网络时,将自己负责存储的数据资源搬移至数据资源对应的哈希表 区间关联的分割标识的后向分割标识所属节点处,其中,一个分割标识的后向分割标识是 指在所有分割标识中,最接近该分割标识且大于该分割标识,且与该分割标识属于不同节 点的分割标识;当节点负责存储的所有数据资源搬移完毕后,该节点向其他节点广播节点退出事件。
7.如权利要求1所述的方法,其特征在于,所述节点维护一数据查询路由表和一维护路由表,所述数据查询路由表中保存叠加网 络中各节点的节点标识及其包括的分割标识,所述维护路由表保存叠加网络中各节点的节 点标识和地址信息;所述节点查询数据资源时,根据数据资源的资源标识确定其所在的哈希表区间,根据该哈希表区间关联的分割标识,从所述数据查询路由表中获取该分割标识所属节点的节点 标识,从所述维护路由表获取该分割标识所属节点的地址信息,从该分割标识所属节点获 取数据资源。
8.—种单跳分布式哈希表叠加网络的负载均衡系统,包括若干个节点,其特征在于所述节点,用于维护一节点标识和至少一个分割标识,所述节点标识唯一标识该节点;还用于使用该节点包括的分割标识与所述叠加网络中的其他所有节点包括的分割标识将 哈希表空间分为若干个哈希表区间,将该节点包括的每个分割标识与一个哈希表区间相关 联;还负责存储与该节点包括的分割标识关联的哈希表区间对应的数据资源。
9.如权利要求8所述的系统,其特征在于,所述节点负责存储与该节点包括的分割标 识关联的哈希表区间对应的数据资源是指,所述节点负责存储资源标识在与该节点包括的 分割标识关联的哈希表区间内的数据资源。
10.如权利要求8所述的系统,其特征在于,所述节点,用于将该节点包括的每个分割 标识的前向分割标识至该分割标识自身组成的一哈希表区间作为该分割标识关联的哈希 表区间,该哈希表区间包括该分割标识自身,所述前向分割标识是指在所有分割标识中,最 接近该分割标识且小于该分割标识的分割标识。
11.如权利要求8所述的系统,其特征在于,所述节点还包括节点标识产生模块、路由 维护模块、分割标识产生模块、数据管理模块和广播模块,其中节点标识产生模块,用于所述节点加入所述叠加网络时,产生节点标识;路由维护模块,用于根据节点标识的大小定位到其准入节点,从准入节点获取其路由表;分割标识产生模块,用于产生分割标识;数据管理模块,用于从自己所产生的每个分割标识的后向分割标识所属节点处获得节 点所应负责的数据资源并进行数据备份;其中,一个分割标识的后向分割标识是指在所有 分割标识中,最接近该分割标识且大于该分割标识,且与该分割标识属于不同节点的分割 标识;广播模块,用于在节点加入叠加网络时,向其他节点广播节点加入事件消息,该消息中 携带节点标识,节点包括的分割标识和节点地址信息。
12.如权利要求11所述的系统,其特征在于,所述分割标识产生模块,用于按照如下方 式之一产生分割标识根据节点本身的性能确定待产生的分割标识的个数N,在分割标识空间内随机产生N 个新的分割标识,产生的分割标识应保证不与叠加网络中现有分割标识相冲突;或者,根据节点本身的性能确定待产生的分割标识的个数N,将分割标识空间等分为N 份,并分别在N份空间内各产生一个分割标识,产生的分割标识应保证不与叠加网络中现 有分割标识相冲突。
13.如权利要求8所述的系统,其特征在于,所述节点还包括数据管理模块和广播模 块,其中数据管理模块,用于在节点退出所述叠加网络时,将自己负责存储的数据资源搬移至 数据资源对应的哈希表区间关联的分割标识的后向分割标识所属节点处,其中,一个分割 标识的后向分割标识是指在所有分割标识中,最接近该分割标识且大于该分割标识,且与该分割标识属于不同节点的分割标识;广播模块,用于在节点退出叠加网络时,节点负责存储的所有数据资源搬移完毕后,向 其他节点广播节点退出事件。
14.如权利要求8所述的系统,其特征在于,所述节点,还包括路由维护模块和查询模 块,其中所述路由维护模块,用于维护一数据查询路由表和一维护路由表,所述数据查询路由 表中保存叠加网络中各节点的节点标识及其包括的分割标识,所述维护路由表保存叠加网 络中各节点的节点标识和地址信息;所述查询模块,用于在查询数据资源时,根据数据资源的资源标识确定其所在的哈希 表区间,根据该哈希表区间关联的分割标识,从所述维护模块的数据查询路由表中获取该 分割标识所属节点的节点标识,从所述维护路由表获取该分割标识所属节点的地址信息, 从该分割标识所属节点获取数据资源。
全文摘要
本发明提供了一种单跳分布式哈希表叠加网络的负载均衡方法,包括所述叠加网络中的节点包括一节点标识和至少一个分割标识,所述节点标识唯一标识一个节点;所述叠加网络中的全部分割标识将哈希表空间分为若干个哈希表区间,每个分割标识与一个哈希表区间关联;数据资源存储在其对应的哈希表区间关联的分割标识所属的节点上。本发明还提供了一种单跳分布式哈希表叠加网络的负载均衡系统。本发明所述方法和系统,使用分割标识来分割哈希表区间,与节点标识独立,从而均衡了网络中各节点的负载。
文档编号H04L12/56GK102035861SQ200910173959
公开日2011年4月27日 申请日期2009年9月24日 优先权日2009年9月24日
发明者张小欢, 彭永林, 汪军, 胡学川, 胡永生, 郝振武, 陈志峰, 马苏安 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1