本发明专利技术公开了一种分布式哈希表DHT网络的构建方法,该方法包括:接收所述网络外的节点加入所述网络的请求;根据已加入所述网络的节点数目与处于备用状态的节点数目,将所述网络外的节点加入所述网络或设置为备用状态。本发明专利技术还公开了一种DHT网络中的节点、DHT网络。采用本发明专利技术可以减小网络构建时受到的冲击,增加网络的稳定性。
【技术实现步骤摘要】
本专利技术涉及通信
,尤其是涉及分布式哈希表DHT网络及其构建方法、节 点。
技术介绍
分布式哈希表(DHT,Distributed Hash Table)通常用于分布式数据存储。DHT网 络中,每个网络节点实现均质化的数据存储,每个节点负责一个小范围的路由处理及部分 数据(data)的存储。也就是说,DHT网络用物理链路将各个孤立的工作站或主机互连在一 起,组成数据链路,从而达到资源共享和通信的目的。 DHT网络的基本原理是首先,将每个数据资源对象表示成一个数据资源对象索 引条目(K,V)对,K称为关键字,是文件描述信息(如文件名、文件编号等)的哈希值,V是 实际存储文件的节点的描述信息(如IP地址、名称等)。所有的数据资源对象索引条目(即 所有的(K,V)对)组成一个文件索引哈希表,只要输入目标文件的K值,就可以从该文件索引哈希表中查出所有存储该文件的节点的地址或者其他描述信息。然后,将该文件索引哈 希表分割成很多段小块,按照特定的规则把这些局部哈希表分布到系统中的所有参与节点 上,使得每个节点负责维护其中的一块局部哈希表。这样,节点查询文件时,该节点查找的 存储该文件的节点即所维护的哈希表分块中含有要查找的(K, V)对的节点,则在查找到 之后,将查询报文路由到该存储该文件的节点即可。 DHT算法的具体实施方法有很多种,如KAD、 Chord等,下面简单介绍Chord算法。 Chord算法是由MIT(Massachu-setts Institute of Technology,麻省理工学院) 提出的结构化P2P (Point to Point,点对点)协议。每个节点和关键字具有唯一的ID (标 识),其中节点ID是对节点地址的映射,而关键字ID是对该关键字的映射。 由ID标识组成的ID空间组织为一个ID环,所以当ID长度为m时,ID的取值范 围为。关键字k存储在延ID环顺时针方向第一个节点ID对应的节点上,这个 节点称为关键字k的后继节点(successor node)。图1显示了一个ID长度为3的chord ID环及数据存储。在图1中,可以看到,系统中存在ID为0、1、3共3个节点;ID为1、2、6 共3份数据。则根据上文描述的数据存储原理,即将数据存储于节点ID大于等于数据ID 的节点中,节点ID最小的节点,则数据1应存储于节点1上,数据2应存储于节点3上,数 据6应存储于节点0上(在ID环上顺时针方向依次查找节点)。 关键字到ID的映射是通过一致性哈希函数完成的。系统中的每个节点以很高的 概率(With high probability,w.h.p.)分配到相同数目的关键字,同时当第N个节点加入 系统时只有0(1/N)的关键字需要移动。 Chord算法中的节点只保存部分节点的地址信息,这些地址信息称为路由信息。通 过有效的组织路由信息以及基于此的资源定位算法,资源定位只需要O(logN)瑕L而每个 节点保存0(logN)其他节点的信息,同时,节点的加入和离开需要0(log2N)消息,其中N为 节点数目。 专利技术人经过分析,发现上述现有技术存在如下不足 1、在DHT网络中,每个节点各自负责一部分哈希空间内的数据的存储,因此新的节点加入网络时,如果同时加入大量节点,则数据很可能在多个新加入节点之间反复迁移,网络中其他节点的路由表也需要不断更新,对网络造成冲击,影响网络稳定性。 2、在DHT网络中,每个节点各自负责一部分哈希空间内的数据的存储,因此一旦某节点离线,该节点上的负载将转移到后继节点,可能会导致后继节点上负载过大继而离线,甚至造成全网节点离线的恶性事件。 具体的,当节点离线时,该节点的负载会随之转移到其后继节点,如果离线节点上原存储的数据量较大,则后继节点可能无法承受增加的负载量,继而因负载过大离线;更为严重的是,如果网络中的节点平均负载超出某个负载量门限值,该后继节点与退出节点的负载均转移至其它节点,可能会导致其它节点因负载过大继而离线,这种恶性的负载传递很可能引发多米诺式的全网节点离线。
技术实现思路
本专利技术实施例提供了一种分布式哈希表DHT网络的构建方法,用以减少对网络的冲击,提高网络稳定性,该方法包括 接收所述网络外的节点加入所述网络的请求; 根据已加入所述网络的节点数目与处于备用状态的节点数目,将所述网络外的节点加入所述网络或设置为备用状态。 本专利技术实施例还提供了一种DHT网络中的节点,用以减少对网络的冲击,提高网络稳定性,包括 接收模块,用于接收所述网络外的节点加入所述网络的请求; 加入处理模块,用于根据已加入所述网络的节点数目与处于备用状态的节点数目,将所述网络外的节点加入所述网络或设置为备用状态。 本专利技术实施例还提供了一种DHT网络中的节点,用以减少对网络的冲击,提高网络稳定性,包括 发送模i央,用于发起加入所述网络的请求;以及,在接收到重新加入所述网络的指示后,重新发起加入所述网络的请求; 接收模块,用于在被设置为备用状态后,接收重新加入所述网络的指示。 本专利技术实施例还提供了一种DHT网络,用以减少对网络的冲击,提高网络稳定性,包括 业务节点,包括用于发起加入所述网络的请求的发送模块; 管理节点,包括用于接收所述业务节点加入所述网络的请求的接收模块;以及,用于根据已加入所述网络的节点数目与处于备用状态的节点数目,将所述业务节点加入所述网络或设置为备用状态的加入处理模块。 本专利技术实施例中,接收所述网络外的节点加入所述网络的请求,根据已加入所述网络的节点数目与处于备用状态的节点数目,将所述网络外的节点加入所述网络或设置为备用状态,使得节点的加入是可控的,不会出现大量节点一次性加入网络,造成数据在新加入节点间来回迁移的现象,可以减小网络受到的冲击,增强网络的稳定性。附图说明 图1是
技术介绍
中ID长度为3的chord ID环数据存储示意图; 图2是本专利技术实施例中分布式哈希表DHT网络的构建方法流程图; 图3是本专利技术实施例中的集中式资源池式DHT网络示意图; 图4是本专利技术实施例中的分布式资源池式DHT网络示意图; 图5、图7、图10及图11是本专利技术实施例中DHT网络中的节点的结构示意图; 图6是本专利技术实施例中的加入处理模块的结构示意图; 图8、图9是本专利技术实施例中的离线处理模块的结构示意图。具体实施例方式为解决现有技术中大量节点同时加入网络,对网络造成冲击,影响网络的稳定性 的问题,本专利技术实施例提供了一种解决方法构建一种新的DHT网络,为该网络设置处于备 用状态的节点,也可称为备用节点。在构建DHT网络之前,已加入所述网络的节点数目与处 于备用状态的节点数目均为零。在构建DHT网络的过程中,将接收到网络外的节点发起的 加入网络的请求,接收到该请求后,将该节点加入网络或设置为备用状态,其依据是已加 入所述网络的节点数目与处于备用状态的节点数目。通过前述的节点加入方法,可以逐渐 构建超本专利技术实施例中所述的DHT网络。 下面结合说明书附图对本专利技术实施例进行详细说明。 如图2所示,本专利技术实施例中,分布式哈希表DHT网络的构建方法包括 步骤201、接收所述网络外的节点加入所述网络的请求; 步骤202、根据已加入所述网络的节点数目与处于备用状态的节点数目,将所述网络外的本文档来自技高网...
【技术保护点】
一种分布式哈希表DHT网络的构建方法,其特征在于,该方法包括:接收所述网络外的节点加入所述网络的请求;根据已加入所述网络的节点数目与处于备用状态的节点数目,将所述网络外的节点加入所述网络或设置为备用状态。
【技术特征摘要】
一种分布式哈希表DHT网络的构建方法,其特征在于,该方法包括接收所述网络外的节点加入所述网络的请求;根据已加入所述网络的节点数目与处于备用状态的节点数目,将所述网络外的节点加入所述网络或设置为备用状态。2. 如权利要求1所述的方法,其特征在于,所述根据已加入所述网络的节点数目与处 于备用状态的节点数目,将所述网络外的节点加入所述网络或设置为备用状态包括将已加入所述网络的节点数目与处于备用状态的节点数目的比例值与设定比例值进 行比较;在已加入所述网络的节点数目与处于备用状态的节点数目的比例值小于设定比例值 时,将所述网络外的节点加入所述网络;在已加入所述网络的节点数目与处于备用状态的节点数目的比例值不小于设定比例 值时,将所述网络外的节点设置为备用状态。3. 如权利要求1所述的方法,其特征在于,该方法进一步包括确定所述网络中有节点离线时,选择处于备用状态的节点加入所述网络,存储离线节 点的原有数据。4. 如权利要求3所述的方法,其特征在于,选择处于备用状态的节点加入所述网络包括在处于备用状态的节点中,选择最先被设置为备用状态的节点加入所述网络; 或,在处于备用状态的节点中,随机选择节点加入所述网络。5. 如权利要求3所述的方法,其特征在于,选择处于备用状态的节点加入所述网络包括为选择的处于备用状态的节点分配离线节点原有的标识信息,指示所述选择的处于备 用状态的节点按所述标识信息加入所述网络。6. 如权利要求5所述的方法,其特征在于,所述存储离线节点的原有数据包括 所述选择的处于备用状态的节点根据所述标识信息,从离线节点的备份节点获取离线节点的原有数据并存储。7. —种DHT网络中的节点,其特征在于,包括 接收模块,用于接收所述网络外的节点加入所述网络的请求;加入处理模块,用于根据已加入所述网络的节点数目与处于备用状态的节点数目,将 所述网络外的节点加入所述网络或设置为备用状态。8. 如权利要求7所述的节点,其特征在于,所述加入处理模块包括比较子模i央,用于将已加入所述网络的节点数目与处于备用状态的节点数目的比例值与设定比例值进行比较;加入处理子模块,用于在已加入所述网络的...
【专利技术属性】
技术研发人员:薛海强,王光霁,段晓东,欧阳聪星,
申请(专利权)人:中国移动通信集团公司,
类型:发明
国别省市:11[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。