数据转移方法及装置、数据查找方法及装置的制作方法

文档序号:6483598阅读:166来源:国知局
专利名称:数据转移方法及装置、数据查找方法及装置的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种数据转移方法及装置、数据查找方法及
装置。
背景技术
分布式哈希表(DHT, Distributed Hash Table)技术是一种分布式关键字查询技 术,目前主要应用于大容量分布式文件存储共享等技术领域中,其主要实现两种管理功能 一种是对DHT环链的管理;一种是对索引信息的管理。
针对DHT环链的管理具体如下 如图1所示,为现有技术中的DHT环链示意图,通过采用一致性哈希算法分别对图 中的各个索引节点的标识(比如节点的IP地址等唯一的标识)进行计算,可以得到各个索 引节点自身的全局唯一标识(GUID, Global UniqueID)。任一索引节点除了维护与自身相 邻的索引节点的GUID外,还维护若干与自身比较靠近的索引节点的GUID,比如图中所示的 表1,为GUID为8的索引节点所维护的索引路由表,表中不仅存储有与该索引节点相邻的索 引节点的GUID——14,还存储有与该索引节点比较靠近的索引节点的GUID——21、32、42。
针对索引信息的管理具体如下 图1中的任一索引节点自身存储的索引信息为与自身的GUID最接近的用户GUID 对应的用户所提供的索引信息,其中,用户GUID是采用一致性哈希算法对用户标识(比如 用户手机号码等唯一的标识)进行计算后得到的。由表1可知,GUID为14的索引节点存储 的用户数据为用户GUID为9 12的用户所提供的用户数据,GUID为21的索引节点存储的
用户数据为用户GUID为13 16的用户所提供的用户数据,......以此类推。由于GUID
为14的索引节点所存储的用户数据对应的用户GUID为9 12,而GUID为21的索引节点 存储的用户数据对应的用户GUID为与12连续的13 16,因此GUID为14的索引节点被称 为GUID为21的索引节点的前驱节点,而GUID为21的索引节点则被称为GUID为14的索 引节点的后继节点。 在现有技术中,当有索引节点由于软件升级或需进行维护等原因,从DHT环链中 主动退出时,现有的存储在该前驱节点上的用户数据必须由其他节点来承担,比如当图1 中GUID为14的索引节点主动退出DHT环链时,该索引节点会预先将自身存储的用户数据 等转移到GUID为21的后继节点中。 按照现有技术中的数据转移方式,若前驱节点中存储的用户数据量较大,而后继 节点中存储的用户数据量也较大、负荷较重,则采用该数据转移方式有可能会产生后继节 点负载过重的问题,从而会影响整个DHT环链的稳定性。

发明内容
本发明实施例提供一种数据转移方法及装置,用以解决采用现有技术的数据转移 方式会导致后继节点负载过重的问题。
6
相应的,本发明实施例还提供一种数据查找方法及装置。
为此,本发明实施例采用以下方案 —种数据转移方法,包括第一索引节点在退出自身所在的分布式哈希表环链前, 在所述环链中选择至少一个第二索引节点,所述第二索引节点的闲置存储容量值总和不小 于第一索引节点要转移的用户数据总量;根据选择的第二索引节点的闲置存储容量值,将
自身要转移的用户数据发送给选择的第二索引节点。 —种数据查找方法,包括第一索引节点的后继节点接收第一索引节点在退出所 述环链前发来的第二索引节点标识;所述后继节点接收数据查找节点发出的数据查找请 求,所述数据查找请求用于请求查找第一索引节点中存储的用户数据;按照接收的各第二 索引节点标识,将接收到的数据查找请求转发给对应的第二索引节点;由第二索引节点按 照所述数据查找请求,将查找到的用户数据反馈给数据查找节点。 —种数据查找方法,包括第一索引节点的后继节点接收并存储第一索引节点在 退出所述环链前发来的第二索引节点标识与第二索引节点存储的用户数据的对应关系;所 述后继节点接收数据查找节点发出的数据查找请求,所述数据查找请求用于请求查找第一 索引节点中存储的用户数据,且数据查找请求中包含数据查找节点的标识和要查找的用户 数据的标识;所述后继节点根据所述要查找数据的标识所对应的用户数据,以及存储的所 述对应关系,确定存储有要查找的用户数据的第二索引节点的标识;以及将所述数据查找 请求转发给确定的标识对应的第二索引节点;由第二索引节点按照所述数据查找请求,将 查找到的用户数据反馈给所述数据查找节点。 —种数据转移装置,包括选择单元,用于在所述装置退出分布式哈希表环链前,
从所述环链中选择至少一个索引节点,所述第二索引节点的闲置存储容量值总和不小于第
一索引节点要转移的用户数据总量;发送单元,用于根据选择单元选择的第二索引节点的
闲置存储容量值,将自身要转移的用户数据发送给选择的第二索引节点。 —种数据查找装置,包括第一接收单元,用于接收所述数据转移装置在退出所述
环链前发来的索引节点标识;第二接收单元,用于接收数据查找节点发出的数据查找请求,
所述数据查找请求用于请求查找所述数据转移装置中存储的用户数据,且数据查找请求中
包含数据查找节点的标识;转发单元,用于按照第一接收单元接收到的索引节点标识,将第
二接收单元接收到的数据查找请求转发给对应的索引节点。 —种数据查找装置,包括第一接收单元,用于接收所述数据转移装置在退出所述 环链前发来的索引节点标识与索引节点存储的用户数据的对应关系;第二接收单元,用于 接收数据查找节点发出的数据查找请求,所述数据查找请求用于请求查找所述数据转移装 置中存储的用户数据,且数据查找请求中包含数据查找节点的标识和要查找的用户数据的 标识;确定单元,用于根据第二接收单元接收到的要查找数据的标识所对应的用户数据, 以及第一接收单元接收到的所述对应关系,确定存储有要查找的用户数据的索引节点的标 识;转发单元,用于将第二接收单元接收到的所述数据查找请求转发给确定单元确定的标 识对应的索引节点。 本发明实施例通过第一索引节点在退出自身所在的分布式哈希表环链前,在环链 中选择至少一个第二索引节点,所述第二索引节点的闲置存储容量值总和不小于第一索引 节点要转移的用户数据总量;以及根据选择的第二索引节点的闲置存储容量值,将自身要转移的用户数据发送给选择的第二索引节点,从而将第一索引节点存储的用户数据转移到 至少一个能够存储全部需转移的用户数据总量的索引节点中,避免了将第一索引节点存储 的所有用户数据都转移到该第一索引节点的负荷较重、不能完全存储需转移的用户数据总 量的后继节点中而导致的该后继节点的负荷过重的问题,同时也充分利用了第一索引节点 所在的分布式哈希表环链中其他索引节点的空闲存储资源。


图1为现有技术中的DHT环链示意图; 图2为本发明实施例提供的一种数据转移方法的具体实现流程示意图; 图3为本发明实施例提供的一种数据转移方法在实际中的应用流程示意图; 图4为本发明实施例提供的一种数据查找方法的具体实现流程示意图; 图5为本发明实施例提供的第一种数据查找方法的具体实现流程示意图; 图6为本发明实施例提供的第二种数据查找方法的具体实现流程示意图; 图7为本发明实施例提供的第三种数据查找方法的具体实现流程示意图。
具体实施例方式
本发明实施例通过第一索引节点在退出自身所在的分布式哈希表环链前,在所述 环链中选择至少一个第二索引节点,所述第二索引节点的闲置存储容量值总和不小于第一 索引节点要转移的用户数据总量;以及根据选择的第二索引节点的闲置存储容量值,将自 身要转移的用户数据发送给选择的第二索引节点,从而避免将第一索引节点存储的所有用 户数据都转移到该第一索引节点的负荷较重、不能完全存储需转移的用户数据总量的后继 节点中而导致的该后继节点的负载过重的问题,同时也充分利用了第一索引节点所在的分 布式哈希表环链中其他索引节点的空闲存储资源。 下面结合各个附图对本发明实施例技术方案的主要实现原理具体实施方式
及其 对应能够达到的有益效果进行详细的阐述。 本发明实施例提供一种数据转移方法,其具体实现流程示意图如图2所示,包括 以下步骤 步骤21,第一索引节点在退出自身所在的分布式哈希表环链前,在所述环链中选 择至少一个第二索引节点,所述第二索引节点的闲置存储容量值总和不小于第一索引节点 要转移的用户数据总量 步骤22,第一索引节点根据选择的第二索引节点的闲置存储容量值,将自身要转 移的用户数据发送给选择的第二索引节点。 由于索引节点最大数据处理能力所对应的数据量往往小于自身存储空间所对应 的数据存储总量,因此较佳地,上述闲置存储容量值满足条件闲置存储容量值所对应的数 据量与索引节点的存储空间中已经存储的数据量的总和不能大于索引节点最大数据处理 能力所对应的数据量。 具体地,上述步骤21中第一索引节点可以但不限于采用以下两种方式实现在所 述环链中选择至少一个第二索引节点 第一种方式,即由第一索引节点自身来选择至少一个第二索引节点的方式。采用该方式时,第一索引节点首先根据自身针对所述环链所维护的索引路由表中包含的索引节 点标识与索引节点当前闲置存储容量值的对应关系,基于要确定的索引节点标识对应的索 引节点当前闲置存储容量值总和不小于自身要转移的用户数据总量的准则,确定至少一个 索引节点标识;然后,再将确定的至少一个索引节点标识对应的至少一个索引节点作为选 择的至少一个第二索引节点。 第二种方式,即由第一索引点的后继节点来选择至少一个第二索引节点的方式。 采用该方式时,第一索引节点首先指示自身的后继节点基于确定的索引节点当前闲置存储 容量值总和不小于自身要转移的用户数据总量的准则,在所述环链中包含的除第一索引节 点的各个索引节点中,确定至少一个索引节点;然后再接收后继节点反馈的该确定的至少 一个索引节点的标识,其中,至少一个索引节点标识为后继节点根据自身针对所述环链维 护的索引路由表中包含的除第一索引节点标识的各索引节点标识与各索引节点当前闲置 存储容量值的对应关系,基于要确定的索引节点标识对应的索引节点当前闲置存储容量值 总和不小于第一索引节点要转移的用户数据总量的准则,确定的至少一个索引节点标识; 最后,第一索引节点将与接收到的至少一个索引节点标识对应的至少一个索引节点作为选 择的至少一个第二索引节点。 较佳地,上述索引节点标识与索引节点当前闲置存储容量值的对应关系可以但不 限于通过下述过程进行确定 首先,维护索引路由表的索引节点(对应于上述的第一、二种方式,这里所说的维 护索引路由表的索引节点可以分别为第一索引节点、第一索引节点的后继节点)向所述索 引路由表中包含的各索引节点标识分别对应的各索引节点发送用于请求当前闲置存储容 量值的请求消息; 然后,接收各索引节点根据所述请求消息反馈的当前闲置存储容量值; 最后,将接收到的当前闲置存储容量值与反馈该当前闲置存储容量值的索引节点
对应的标识进行关联存储。 为了更好地说明本发明实施例提供的该方法在实际中的应用,以下以一个具体的
实施例为例,详细地对该方法在实际应用中的流程进行说明,该流程中对第二索引节点的
选择方式主要采用上述的第二种方式,其具体示意图如图3所示,包括以下步骤 步骤31,Node 3在主动退出自身所在的DHT环链之前,向自身的后继节点Node 4
发出通知消息; 步骤32,Node 4在接收到该通知消息后,向自身维护的索引路由表中包含的Node 5、 Node L、Node M标识分别对应的Node 5、 Node L、Node M发送用于请求当前闲置存储容 量值的请求消息; 步骤33, Node 5、 Node L、 Node M在接收到请求消息后,向Node 4反馈包含自身 闲置存储容量值的响应消息; 步骤34, Node 4接收响应消息中包含的Node 5、Node L、Node M的闲置存储容量 值,并存储Node 5、Node L、Node M的闲置存储容量值与Node 5、Node L、Node M的标识的 对应关系; 步骤35,Node 4根据步骤34中存储的对应关系,确定Node L、Node M的索引节点 标识为第二索引节点标识,在该步骤35中,Node 4可以只根据Node5、Node L、Node M的负
9载来确定至少一个第二索引节点,也可以根据Node 5、Node L、Node M的负载以及自身的负 载来确定至少一个第二索引节点,需要说明的是,该步骤中确定的至少一个第二索引节点 标识所对应的索引节点中闲置存储容量的总和不小于Node 3发送的通知消息中所指示的 将要转移出的用户数据的总量; 步骤36, Node 4将确定的第二索引节点Node L、 Node M的标识发送给Node 3 ;
步骤37, Node 3将Node 4发送来Node L、Node M的标识所对应的NodeL、Node M 作为选择的第二索引节点; 步骤38, Node 3将自身存储的用户数据划分两个用户数据部分,其中,划分得到 的两个用户数据部分的大小分别对应于Node L、Node M当前闲置存储容量值的大小,比如, 若当前Node 3自身存储的用户数据为40M,而NodeL、 Node M当前闲置存储容量值分别为 10M和35M,则可以将Node 3自身存储的40M用户数据划分为对应于Node L的8M,以及对 应于Node M的32M,很显然,对Node 3自身存储的用户数据进行划分的原则为划分得到 的数据部分不得大于该划分得到的数据部分将要发送到的第二索引节点的当前闲置存储 容量值; 步骤39, Node 3将划分得到的两个用户数据部分发送给Node L、 Node M。
由上述步骤可知,采用本发明实施例提供的数据转移方法,最终Node 3将自身存 储的用户数据部分基于向不同索引节点发送不同用户数据部分的方式,分别发送给了Node L、Node M,从而解决了采用现有技术的数据转移方式会导致后继节点Node 4的负载过重的 问题,实现了Node 3中存储的用户数据均衡地分配给多个索引节点。由此可见,本发明实 施例提供的该数据转移方法一方面能够实现整个DHT环链中负载分配的均衡性,另一方面 还能够充分利用DHT环链中的空闲存储资源。 对应于本发明实施例提供的该数据转移方法,本发明实施例还提供一种数据转移 装置,用以解决采用现有技术的数据转移方式会导致后继节点负载过重的问题,该数据转 移装置主要包括以下单元 选择单元,用于在该数据转移装置退出自身所在的分布式哈希表环链前,从所述 环链中选择至少一个索引节点,所述第二索引节点的闲置存储容量值总和不小于第一索引 节点要转移的用户数据总量;发送单元,用于根据选择单元选择的第二索引节点的闲置存 储容量值,将自身要转移的用户数据发送给选择的第二索引节点。 对应于上述方法实施例中对第二索引节点进行选择的第一种方式,本发明实施例 提供的该装置终端中的选择单元具体可以包括以下模块 确定模块,用于根据该数据转移装置针对所述环链维护的索引路由表中包含的索 引节点标识与索引节点当前闲置存储容量值的对应关系,基于要确定的索引节点标识对应 的索引节点当前闲置存储容量值总和不小于自身要转移的用户数据总量的准则,确定至少 一个索引节点标识;选择模块,用于将确定模块确定的至少一个索引节点标识对应的至少 一个索引节点作为选择的至少一个索引节点。 而对应于上述方法实施例中对第二索引节点进行选择的第二种方式,本发明实施 例提供的该装置终端中的选择单元具体可以包括以下模块 指示模块,用于指示该数据转移装置的后继节点基于确定的索引节点当前闲置存 储容量值总和不小于自身要转移的用户数据总量的准则,在所述环链中包含的除该数据转移装置外的各个索引节点中,确定至少一个索引节点; 接收模块,用于接收所述后继节点根据所述指示模块的指示,反馈的至少一个索 引节点标识,其中至少一个索引节点标识为后继节点根据所述指示模块的指示,以及自身 针对所述环链维护的索引路由表中包含的除该数据转移装置标识的各索引节点标识与各 索引节点当前闲置存储容量值的对应关系,基于要确定的索引节点标识对应的索引节点当 前闲置存储容量值总和不小于第一索引节点要转移的用户数据总量的准则,确定的至少一 个索引节点标识;选择模块,用于将接收模块接收到的至少一个索引节点标识对应的至少 一个索引节点作为选择的至少一个索引节点。 此外,基于本发明实施例提供的该数据转移方法,本发明实施例还提供了一种数 据查找方法,其具体实现流程示意图如图4所示,包括以下步骤 步骤41,第一索引节点的后继节点接收第一索引节点在退出所述环链前发来的各 第二索引节点标识; 步骤42,后继节点接收数据查找节点发出的数据查找请求,该数据查找请求用于 请求查找第一索引节点中存储的用户数据,且数据查找请求中包含数据查找节点的标识;
步骤43,后继节点按照接收到的各第二索引节点标识,将接收到的数据查找请求 转发给对应的各第二索引节点; 步骤44,第二索引节点根据接到的数据查找请求,查找到对应的用户数据,并将用 户数据发送给后继节点; 步骤45,后继节点根据数据查找节点的标识,将接收到的用户数据反馈给数据查 找节点。 由于第二索引节点还可以根据数据查找请求中包含的数据查找节点的标识,直接 将查找到的数据发送给对应的查找节点,因此,本发明实施例还提供另一种基于本发明实 施例提供的该数据转移方法的数据查找方法,该数据查找方法的具体流程示意图如图5所 示,包括以下步骤 步骤51,第一索引节点的后继节点接收第一索引节点在退出所述环链前发来的第 二索引节点标识; 步骤52,后继节点接收数据查找节点发出的数据查找请求,所述数据查找请求用 于请求查找第一索引节点中存储的用户数据,且数据查找请求中包含数据查找节点的标 识; 步骤53,后继节点按照接收到的第二索引节点标识,将接收到的数据查找请求转 发给对应的第二索引节点; 步骤54,第二索引节点在查找到与该查找请求对应的用户数据时,根据数据查找
请求中包含的数据查找节点的标识,将查找到的用户数据反馈给数据查找节点。 以上两种数据查找方法均是在后继节点不了解第二索引节点与第二索引节点中
存储的第一索引节点转移的用户数据的对应关系的前提下,后继节点基于广播数据查找请
求的方式来通知各第二索引节点对用户数据进行查找的;而当后继节点在了解第二索引节
点与第二索引节点中存储的第一索引节点转移的用户数据的对应关系的前提下,本发明实
施例还提供一种基于本发明实施例提供的数据转移方法的数据查找方法,在该方法中,后
继节点中存储有第二索引节点与第二索引节点中存储的用户数据的标识,因此后继节点可
11以根据数据查找请求中包含的要查找的用户数据的标识,以及自身存储的第二索引节点与 第二索引节点中存储的用户数据的标识,确定出应该将数据查找请求转发给存储有所述要 查找的用户数据的第二索引节点,该方法的具体流程示意图如图6所示,包括以下步骤
步骤61,第一索引节点的后继节点接收第一索引节点在退出所述环链前发来的第 二索引节点标识与第二索引节点存储的用户数据的对应关系; 步骤62,后继节点接收数据查找节点发出的数据查找请求,所述数据查找请求用 于请求查找第一索引节点中存储的用户数据,且数据查找请求中包含数据查找节点的标识 和要查找的用户数据的标识; 步骤63,后继节点根据所述要查找数据的标识所对应的用户数据,以及接收到的 所述对应关系,确定存储有要查找的用户数据的第二索引节点的标识,并将所述数据查找 请求转发给确定的标识对应的第二索引节点; 步骤64,第二索引节点根据数据查找请求,查找对应的用户数据,并将查找到的用 户数据发送给后继节点; 步骤65,后继节点根据数据查找节点的标识,将接收到的用户数据反馈给数据查 找节点。 由于当后继节点中存储有第二索引节点与第二索引节点中存储的用户数据的标 识时,可以按照查找节点发送的数据查找请求中包含的要查找的用户数据的标识,将该数 据查找请求只发送给存储有与要查找的用户数据的标识相匹配的用户数据的第二索引节 点,因此能够避免向没有存储有与要查找的用户数据的第二索引节点发送数据查找请求, 从而可以节约传输资源。 此外,由于第二索引节点可以根据数据查找请求中包含的数据查找节点的标识, 直接将查找到的数据发送给对应的查找节点,因此,本发明实施例还提供另一种数据查找 方法,该数据查找方法的具体流程示意图如图7所示,包括以下步骤 步骤71,第一索引节点的后继节点接收第一索引节点在退出所述环链前发来的第 二索引节点标识与第二索引节点存储的用户数据的对应关系; 步骤72,后继节点接收数据查找节点发出的数据查找请求,所述数据查找请求用 于请求查找第一索引节点中存储的用户数据,且数据查找请求中包含数据查找节点的标识 和要查找数据的标识; 步骤73,后继节点根据所述要查找数据的标识所对应的用户数据,以及接收到的
所述对应关系,确定存储有要查找的用户数据的第二索引节点的标识; 步骤74,后继节点将所述数据查找请求转发给确定的标识对应的第二索引节点; 步骤75,第二索引节点在查找到与该查找请求对应的用户数据时,根据数据查找
请求中包含的数据查找节点的标识,将查找到的用户数据反馈给数据查找节点。 相应地,本发明实施例提供一种基于本发明实施例提供的数据转移装置的数据查
找装置,该装置包括以下单元 第一接收单元,用于接收本发明实施例提供的数据转移装置在退出所述环链前发 来的索引节点标识; 第二接收单元,用于接收数据查找节点发出的数据查找请求,所述数据查找请求 用于请求查找该数据转移装置中存储的用户数据,且数据查找请求中包含数据查找节点的
12标识; 转发单元,用于按照第一接收单元接收的索引节点标识,将第二接收单元接收到 的数据查找请求转发给对应的索引节点。 此外,为了将查找到的用户数据反馈给数据查找节点,本发明实施例提供的该数 据查找装置还可以包括 数据接收单元,用于接收根据转发单元转发的数据查找请求查找到对应用户数据 的索引节点发来的查找到的用户数据;以及 反馈单元,用于根据第二接收单元接收到的数据查找请求中包含的数据查找节点 的标识,将数据接收单元接收到的用户数据反馈给数据查找节点。 或者,本发明实施例提供的该数据查找装置还可以指示查找到用户数据的索引节 点直接将用户数据发送给查找节点,即本发明实施例提供的该数据查找装置可以包括
指示单元,用于指示索引节点在查找到与转发单元转发的查找请求对应的用户数 据时,根据该数据查找请求中包含的数据查找节点的标识,将查找到的用户数据反馈给数 据查找节点。 本发明实施例还提供另一种基于本发明实施例提供的数据转移装置的数据查找 装置,包括以下单元 第一接收单元,用于接收数据转移装置在退出所述环链前发来的索引节点标识与 索引节点存储的用户数据的对应关系;第二接收单元,用于接收数据查找节点发出的数据 查找请求,所述数据查找请求用于请求查找数据转移装置中存储的用户数据,且数据查找 请求中包含数据查找节点的标识和要查找的用户数据的标识;确定单元,用于根据第二接 收单元接收到的要查找数据的标识所对应的用户数据,以及第一接收单元接收的所述对应 关系,确定存储有要查找的用户数据的索引节点的标识;转发单元,用于将第二接收单元接 收到的所述数据查找请求转发给确定单元确定的标识对应的索引节点。 此外,为了将查找到的用户数据反馈给数据查找节点,本发明实施例提供的该数 据查找装置可以包括 数据接收单元,用于接收根据转发单元转发的数据查找请求查找到对应用户数据 的索引节点发来的查找到的用户数据;以及 反馈单元,用于根据第二接收单元接收到的数据查找请求中包含的数据查找节点 的标识,将数据接收单元接收到的用户数据反馈给数据查找节点。 或者,本发明实施例提供的该数据查找装置还可以指示查找到用户数据的索引节 点直接将用户数据发送给查找节点,即本发明实施例提供的该数据查找装置可以包括
指示单元,用于指示索引节点在查找到与转发单元转发的查找请求对应的用户数 据时,根据该数据查找请求中包含的数据查找节点的标识,将查找到的用户数据反馈给数 据查找节点。 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明也意图包含这些改动和变型在内。
权利要求
一种数据转移方法,其特征在于,包括第一索引节点在退出自身所在的分布式哈希表环链前,在所述环链中选择至少一个第二索引节点,所述第二索引节点的闲置存储容量值总和不小于第一索引节点要转移的用户数据总量;以及根据选择的第二索引节点的闲置存储容量值,将自身要转移的用户数据发送给选择的第二索引节点。
2. 如权利要求1所述的方法,其特征在于,第一索引节点在所述环链中选择至少一个 第二索引节点具体包括第一索引节点根据自身针对所述环链维护的索引路由表中包含的索引节点标识与索 引节点当前闲置存储容量值的对应关系,基于要确定的索引节点标识对应的索引节点当前 闲置存储容量值总和不小于自身要转移的用户数据总量的准则,确定至少一个索引节点标 识;将确定的至少一个索引节点标识对应的至少一个索引节点作为选择的至少一个第二 索引节点。
3. 如权利要求1所述的方法,其特征在于,第一索引节点在所述环链中选择至少一个 第二索引节点,具体包括第一索引节点指示自身的后继节点基于确定的索引节点当前闲置存储容量值总和不 小于自身要转移的用户数据总量的准则,在所述环链中包含的除第一索引节点的各个索引 节点中,确定至少一个索引节点;接收所述后继节点反馈的至少一个索引节点标识,其中至少一个索引节点标识为后 继节点根据自身针对所述环链维护的索引路由表中包含的除第一索引节点标识的各索引 节点标识与各索引节点当前闲置存储容量值的对应关系,基于要确定的索引节点标识对应 的索引节点当前闲置存储容量值总和不小于第一索引节点要转移的用户数据总量的准则, 确定的至少一个索引节点标识;第一索引节点将接收到的至少一个索引节点标识对应的至少一个索引节点作为选择 的至少一个第二索引节点。
4. 如权利要求2或3所述的方法,其特征在于,所述索引节点标识与索引节点当前闲置 存储容量值的对应关系通过下述过程确定维护索引路由表的索引节点向所述索引路由表中包含的各索引节点标识分别对应的 各索引节点发送用于请求当前闲置存储容量值的请求消息;接收各索引节点根据所述请求消息反馈的当前闲置存储容量值,以及将接收到的当前 闲置存储容量值与反馈该当前闲置存储容量值的索引节点对应的标识进行关联存储。
5. —种基于权利要求1数据转移方法的数据查找方法,其特征在于,包括 第一索引节点的后继节点接收第一索引节点在退出所述环链前发来的第二索引节点标识;所述后继节点接收数据查找节点发出的数据查找请求,所述数据查找请求用于请求查 找第一索引节点中存储的用户数据,且数据查找请求中包含数据查找节点的标识;以及按照接收的第二索引节点标识,将接收到的数据查找请求转发给对应的第二索引节点;由第二索引节点按照所述数据查找请求,将查找到的用户数据反馈给所述数据查找节点。
6. 如权利要求5所述的数据查找方法,其特征在于,由第二索引节点按照数据查找请求,将查找到的用户数据反馈给所述数据查找节点,具体包括所述第二索引节点将查找到的用户数据发送给所述后继节点;以及所述后继节点根据 数据查找请求中包含的数据查找节点的标识,将接收到的用户数据反馈给所述数据查找节 点。
7. 如权利要求5所述的数据查找方法,其特征在于,由第二索引节点按照数据查找请求,将查找到的用户数据反馈给所述数据查找节点,具体包括所述第二索引节点根据数据查找请求中包含的数据查找节点的标识,将查找到的用户 数据反馈给所述数据查找节点。
8. —种基于权利要求1数据转移方法的数据查找方法,其特征在于,包括 第一索引节点的后继节点接收并存储第一索引节点在退出所述环链前发来的第二索引节点标识与第二索引节点存储的用户数据的对应关系;所述后继节点接收数据查找节点发出的数据查找请求,所述数据查找请求用于请求查 找第一索引节点中存储的用户数据,且数据查找请求中包含数据查找节点的标识和要查找 的用户数据的标识;所述后继节点根据所述要查找数据的标识所对应的用户数据,以及存储的所述对应关 系,确定存储有要查找的用户数据的第二索引节点的标识;以及将所述数据查找请求转发给确定的标识对应的第二索引节点;由第二索引节点按照所述数据查找请求,将查找到的用户数据反馈给所述数据查找节点。
9. 如权利要求8所述的数据查找方法,其特征在于,由第二索引节点按照数据查找请求,将查找到的用户数据反馈给所述数据查找节点,具体包括所述第二索引节点将查找到的用户数据发送给所述后继节点;以及所述后继节点根据数据查找请求中包含的数据查找节点的标识,将接收到的用户数据 反馈给所述数据查找节点。
10. 如权利要求8所述的数据查找方法,其特征在于,由第二索引节点按照数据查找请 求,将查找到的用户数据反馈给所述数据查找节点,具体包括所述第二索引节点根据数据查找请求中包含的数据查找节点的标识,将查找到的用户 数据反馈给所述数据查找节点。
11. 一种数据转移装置,其特征在于,包括选择单元,用于在所述装置退出分布式哈希表环链前,从所述环链中选择至少一个索 引节点,所述第二索引节点的闲置存储容量值总和不小于第一索引节点要转移的用户数据 总量;以及发送单元,用于根据选择单元选择的第二索引节点的闲置存储容量值,将自身要转移 的用户数据发送给选择的第二索引节点。
12. 如权利要求11所述的装置,其特征在于,所述选择单元具体包括 确定模块,用于根据所述装置针对所述环链维护的索引路由表中包含的索引节点标识与索引节点当前闲置存储容量值的对应关系,基于要确定的索引节点标识对应的索引节点 当前闲置存储容量值总和不小于自身要转移的用户数据总量的准则,确定至少一个索引节 点标识;选择模块,用于将确定模块确定的至少一个索引节点标识对应的至少一个索引节点作 为选择的至少一个索引节点。
13. 如权利要求11所述的装置,其特征在于,所述选择单元具体包括 指示模块,用于指示所述装置的后继节点基于确定的索引节点当前闲置存储容量值总和不小于自身要转移的用户数据总量的准则,在所述环链中包含的除所述装置的各个索引 节点中,确定至少一个索引节点;接收模块,用于接收所述后继节点根据所述指示模块的指示,反馈的至少一个索引节 点标识,其中至少一个索引节点标识为后继节点根据所述指示模块的指示,以及自身针对 所述环链维护的索引路由表中包含的除所述装置标识的各索引节点标识与各索引节点当 前闲置存储容量值的对应关系,基于要确定的索引节点标识对应的索引节点当前闲置存储 容量值总和不小于第一索引节点要转移的用户数据总量的准则,确定的至少一个索引节点 标识;选择模块,用于将接收模块接收到的至少一个索引节点标识对应的至少一个索引节点 作为选择的至少一个索引节点。
14. 一种基于权利要求11数据转移装置的数据查找装置,其特征在于,包括 第一接收单元,用于接收所述数据转移装置在退出所述环链前发来的索引节点标识; 第二接收单元,用于接收数据查找节点发出的数据查找请求,所述数据查找请求用于请求查找所述数据转移装置中存储的用户数据,且数据查找请求中包含数据查找节点的标 识;转发单元,用于按照第一接收单元接收到的索引节点标识,将第二接收单元接收到的 数据查找请求转发给对应的索引节点。
15. 如权利要求14所述的数据查找装置,其特征在于,还包括数据接收单元,用于接收根据转发单元转发的数据查找请求查找到对应用户数据的索 引节点发来的查找到的用户数据;以及反馈单元,用于根据第二接收单元接收到的数据查找请求中包含的数据查找节点的标 识,将数据接收单元接收到的用户数据反馈给数据查找节点。
16. 如权利要求14所述的数据查找装置,其特征在于,还包括指示单元,用于指示索引节点在查找到与转发单元转发的查找请求对应的用户数据 时,根据该数据查找请求中包含的数据查找节点的标识,将查找到的用户数据反馈给数据 查找节点。
17. —种基于权利要求11数据转移装置的数据查找装置,其特征在于,包括 第一接收单元,用于接收所述数据转移装置在退出所述环链前发来的索引节点标识与索引节点存储的用户数据的对应关系;第二接收单元,用于接收数据查找节点发出的数据查找请求,所述数据查找请求用于 请求查找所述数据转移装置中存储的用户数据,且数据查找请求中包含数据查找节点的标 识和要查找的用户数据的标识;确定单元,用于根据第二接收单元接收到的要查找数据的标识所对应的用户数据,以 及第一接收单元接收到的所述对应关系,确定存储有要查找的用户数据的索引节点的标 识;转发单元,用于将第二接收单元接收到的所述数据查找请求转发给确定单元确定的标 识对应的索引节点。
18. 如权利要求17所述数据查找装置,其特征在于,还包括数据接收单元,用于接收根据转发单元转发的数据查找请求查找到对应用户数据的索 引节点发来的查找到的用户数据;以及反馈单元,用于根据第二接收单元接收到的数据查找请求中包含的数据查找节点的标 识,将数据接收单元接收到的用户数据反馈给数据查找节点。
19. 如权利要求17所述的数据查找装置,其特征在于,还包括指示单元,用于指示各索引节点在查找到与转发单元转发的查找请求对应的用户数据 时,根据该数据查找请求中包含的数据查找节点的标识,将查找到的用户数据反馈给数据 查找节点。
全文摘要
本发明公开了一种数据转移方法及装置,用以解决采用现有技术的数据转移方式会导致后继节点负载过重的问题。其中,本发明公开的该方法包括步骤第一索引节点在退出自身所在的分布式哈希表环链前,在所述环链中选择至少一个第二索引节点,所述第二索引节点的闲置存储容量值总和不小于第一索引节点要转移的用户数据总量;以及根据选择的第二索引节点的闲置存储容量值,将自身要转移的用户数据转移给选择的第二索引节点。本发明还公开了一种数据查找方法及装置。
文档编号G06F17/30GK101770500SQ20091007644
公开日2010年7月7日 申请日期2009年1月4日 优先权日2009年1月4日
发明者李刚, 段晓东, 薛海强, 魏冰 申请人:中国移动通信集团公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1