CN101770500B - 数据转移方法及装置、数据查找方法及装置 - Google Patents
数据转移方法及装置、数据查找方法及装置 Download PDFInfo
- Publication number
- CN101770500B CN101770500B CN 200910076446 CN200910076446A CN101770500B CN 101770500 B CN101770500 B CN 101770500B CN 200910076446 CN200910076446 CN 200910076446 CN 200910076446 A CN200910076446 A CN 200910076446A CN 101770500 B CN101770500 B CN 101770500B
- Authority
- CN
- China
- Prior art keywords
- node
- index node
- data
- index
- sign
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种数据转移方法及装置,用以解决采用现有技术的数据转移方式会导致后继节点负载过重的问题。其中,本发明公开的该方法包括步骤:第一索引节点在退出自身所在的分布式哈希表环链前,在所述环链中选择至少一个第二索引节点,所述第二索引节点的闲置存储容量值总和不小于第一索引节点要转移的用户数据总量;以及根据选择的第二索引节点的闲置存储容量值,将自身要转移的用户数据转移给选择的第二索引节点。本发明还公开了一种数据查找方法及装置。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种数据转移方法及装置、数据查找方法及装置。
背景技术
分布式哈希表(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环链的稳定性。
发明内容
本发明实施例提供一种数据转移方法及装置,用以解决采用现有技术的数据转移方式会导致后继节点负载过重的问题。
相应的,本发明实施例还提供一种数据查找方法及装置。
为此,本发明实施例采用以下方案:
一种数据转移方法,包括:第一索引节点在退出自身所在的分布式哈希表环链前,在所述环链中选择至少一个第二索引节点,所述第二索引节点的闲置存储容量值总和不小于第一索引节点要转移的用户数据总量;根据选择的第二索引节点的闲置存储容量值,将自身要转移的用户数据发送给选择的第二索引节点。
一种数据查找方法,包括:第一索引节点的后继节点接收第一索引节点在退出所述环链前发来的第二索引节点标识;所述后继节点接收数据查找节点发出的数据查找请求,所述数据查找请求用于请求查找第一索引节点中存储的用户数据;按照接收的各第二索引节点标识,将接收到的数据查找请求转发给对应的第二索引节点;由第二索引节点按照所述数据查找请求,将查找到的用户数据反馈给数据查找节点。
一种数据查找方法,包括:第一索引节点的后继节点接收并存储第一索引节点在退出所述环链前发来的第二索引节点标识与第二索引节点存储的用户数据的对应关系;所述后继节点接收数据查找节点发出的数据查找请求,所述数据查找请求用于请求查找第一索引节点中存储的用户数据,且数据查找请求中包含数据查找节点的标识和要查找的用户数据的标识;所述后继节点根据所述要查找数据的标识所对应的用户数据,以及存储的所述对应关系,确定存储有要查找的用户数据的第二索引节点的标识;以及将所述数据查找请求转发给确定的标识对应的第二索引节点;由第二索引节点按照所述数据查找请求,将查找到的用户数据反馈给所述数据查找节点。
一种数据转移装置,包括:选择单元,用于在所述装置退出分布式哈希表环链前,从所述环链中选择至少一个索引节点,所述第二索引节点的闲置存储容量值总和不小于第一索引节点要转移的用户数据总量;发送单元,用于根据选择单元选择的第二索引节点的闲置存储容量值,将自身要转移的用户数据发送给选择的第二索引节点。
一种数据查找装置,包括:第一接收单元,用于接收所述数据转移装置在退出所述环链前发来的索引节点标识;第二接收单元,用于接收数据查找节点发出的数据查找请求,所述数据查找请求用于请求查找所述数据转移装置中存储的用户数据,且数据查找请求中包含数据查找节点的标识;转发单元,用于按照第一接收单元接收到的索引节点标识,将第二接收单元接收到的数据查找请求转发给对应的索引节点。
一种数据查找装置,包括:第一接收单元,用于接收所述数据转移装置在退出所述环链前发来的索引节点标识与索引节点存储的用户数据的对应关系;第二接收单元,用于接收数据查找节点发出的数据查找请求,所述数据查找请求用于请求查找所述数据转移装置中存储的用户数据,且数据查找请求中包含数据查找节点的标识和要查找的用户数据的标识;确定单元,用于根据第二接收单元接收到的要查找数据的标识所对应的用户数据,以及第一接收单元接收到的所述对应关系,确定存储有要查找的用户数据的索引节点的标识;转发单元,用于将第二接收单元接收到的所述数据查找请求转发给确定单元确定的标识对应的索引节点。
本发明实施例通过第一索引节点在退出自身所在的分布式哈希表环链前,在环链中选择至少一个第二索引节点,所述第二索引节点的闲置存储容量值总和不小于第一索引节点要转移的用户数据总量;以及根据选择的第二索引节点的闲置存储容量值,将自身要转移的用户数据发送给选择的第二索引节点,从而将第一索引节点存储的用户数据转移到至少一个能够存储全部需转移的用户数据总量的索引节点中,避免了将第一索引节点存储的所有用户数据都转移到该第一索引节点的负荷较重、不能完全存储需转移的用户数据总量的后继节点中而导致的该后继节点的负荷过重的问题,同时也充分利用了第一索引节点所在的分布式哈希表环链中其他索引节点的空闲存储资源。
附图说明
图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的负载来确定至少一个第二索引节点,也可以根据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,第二索引节点在查找到与该查找请求对应的用户数据时,根据数据查找请求中包含的数据查找节点的标识,将查找到的用户数据反馈给数据查找节点。
以上两种数据查找方法均是在后继节点不了解第二索引节点与第二索引节点中存储的第一索引节点转移的用户数据的对应关系的前提下,后继节点基于广播数据查找请求的方式来通知各第二索引节点对用户数据进行查找的;而当后继节点在了解第二索引节点与第二索引节点中存储的第一索引节点转移的用户数据的对应关系的前提下,本发明实施例还提供一种基于本发明实施例提供的数据转移方法的数据查找方法,在该方法中,后继节点中存储有第二索引节点与第二索引节点中存储的用户数据的标识,因此后继节点可以根据数据查找请求中包含的要查找的用户数据的标识,以及自身存储的第二索引节点与第二索引节点中存储的用户数据的标识,确定出应该将数据查找请求转发给存储有所述要查找的用户数据的第二索引节点,该方法的具体流程示意图如图6所示,包括以下步骤:
步骤61,第一索引节点的后继节点接收第一索引节点在退出所述环链前发来的第二索引节点标识与第二索引节点存储的用户数据的对应关系;
步骤62,后继节点接收数据查找节点发出的数据查找请求,所述数据查找请求用于请求查找第一索引节点中存储的用户数据,且数据查找请求中包含数据查找节点的标识和要查找的用户数据的标识;
步骤63,后继节点根据所述要查找数据的标识所对应的用户数据,以及接收到的所述对应关系,确定存储有要查找的用户数据的第二索引节点的标识,并将所述数据查找请求转发给确定的标识对应的第二索引节点;
步骤64,第二索引节点根据数据查找请求,查找对应的用户数据,并将查找到的用户数据发送给后继节点;
步骤65,后继节点根据数据查找节点的标识,将接收到的用户数据反馈给数据查找节点。
由于当后继节点中存储有第二索引节点与第二索引节点中存储的用户数据的标识时,可以按照查找节点发送的数据查找请求中包含的要查找的用户数据的标识,将该数据查找请求只发送给存储有与要查找的用户数据的标识相匹配的用户数据的第二索引节点,因此能够避免向没有存储有与要查找的用户数据的第二索引节点发送数据查找请求,从而可以节约传输资源。
此外,由于第二索引节点可以根据数据查找请求中包含的数据查找节点的标识,直接将查找到的数据发送给对应的查找节点,因此,本发明实施例还提供另一种数据查找方法,该数据查找方法的具体流程示意图如图7所示,包括以下步骤:
步骤71,第一索引节点的后继节点接收第一索引节点在退出所述环链前发来的第二索引节点标识与第二索引节点存储的用户数据的对应关系;
步骤72,后继节点接收数据查找节点发出的数据查找请求,所述数据查找请求用于请求查找第一索引节点中存储的用户数据,且数据查找请求中包含数据查找节点的标识和要查找数据的标识;
步骤73,后继节点根据所述要查找数据的标识所对应的用户数据,以及接收到的所述对应关系,确定存储有要查找的用户数据的第二索引节点的标识;
步骤74,后继节点将所述数据查找请求转发给确定的标识对应的第二索引节点;
步骤75,第二索引节点在查找到与该查找请求对应的用户数据时,根据数据查找请求中包含的数据查找节点的标识,将查找到的用户数据反馈给数据查找节点。
相应地,本发明实施例提供一种基于本发明实施例提供的数据转移装置的数据查找装置,该装置包括以下单元:
第一接收单元,用于接收本发明实施例提供的数据转移装置在退出所述环链前发来的索引节点标识;
第二接收单元,用于接收数据查找节点发出的数据查找请求,所述数据查找请求用于请求查找该数据转移装置中存储的用户数据,且数据查找请求中包含数据查找节点的标识;
转发单元,用于按照第一接收单元接收的索引节点标识,将第二接收单元接收到的数据查找请求转发给对应的索引节点。
此外,为了将查找到的用户数据反馈给数据查找节点,本发明实施例提供的该数据查找装置还可以包括:
数据接收单元,用于接收根据转发单元转发的数据查找请求查找到对应用户数据的索引节点发来的查找到的用户数据;以及
反馈单元,用于根据第二接收单元接收到的数据查找请求中包含的数据查找节点的标识,将数据接收单元接收到的用户数据反馈给数据查找节点。
或者,本发明实施例提供的该数据查找装置还可以指示查找到用户数据的索引节点直接将用户数据发送给查找节点,即本发明实施例提供的该数据查找装置可以包括:
指示单元,用于指示索引节点在查找到与转发单元转发的查找请求对应的用户数据时,根据该数据查找请求中包含的数据查找节点的标识,将查找到的用户数据反馈给数据查找节点。
本发明实施例还提供另一种基于本发明实施例提供的数据转移装置的数据查找装置,包括以下单元:
第一接收单元,用于接收数据转移装置在退出所述环链前发来的索引节点标识与索引节点存储的用户数据的对应关系;第二接收单元,用于接收数据查找节点发出的数据查找请求,所述数据查找请求用于请求查找数据转移装置中存储的用户数据,且数据查找请求中包含数据查找节点的标识和要查找的用户数据的标识;确定单元,用于根据第二接收单元接收到的要查找数据的标识所对应的用户数据,以及第一接收单元接收的所述对应关系,确定存储有要查找的用户数据的索引节点的标识;转发单元,用于将第二接收单元接收到的所述数据查找请求转发给确定单元确定的标识对应的索引节点。
此外,为了将查找到的用户数据反馈给数据查找节点,本发明实施例提供的该数据查找装置可以包括:
数据接收单元,用于接收根据转发单元转发的数据查找请求查找到对应用户数据的索引节点发来的查找到的用户数据;以及
反馈单元,用于根据第二接收单元接收到的数据查找请求中包含的数据查找节点的标识,将数据接收单元接收到的用户数据反馈给数据查找节点。
或者,本发明实施例提供的该数据查找装置还可以指示查找到用户数据的索引节点直接将用户数据发送给查找节点,即本发明实施例提供的该数据查找装置可以包括:
指示单元,用于指示索引节点在查找到与转发单元转发的查找请求对应的用户数据时,根据该数据查找请求中包含的数据查找节点的标识,将查找到的用户数据反馈给数据查找节点。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (17)
1.一种数据转移方法,其特征在于,包括:
第一索引节点在退出自身所在的分布式哈希表环链前,在所述环链中选择至少一个第二索引节点,所述第二索引节点的闲置存储容量值总和不小于第一索引节点要转移的用户数据总量;以及
根据选择的第二索引节点的闲置存储容量值,将自身要转移的用户数据发送给选择的第二索引节点;
其中,第一索引节点在所述环链中选择至少一个第二索引节点具体包括:
第一索引节点根据自身针对所述环链维护的索引路由表中包含的索引节点标识与索引节点当前闲置存储容量值的对应关系,基于要确定的索引节点标识对应的索引节点当前闲置存储容量值总和不小于自身要转移的用户数据总量的准则,确定至少一个索引节点标识;
将确定的至少一个索引节点标识对应的至少一个索引节点作为选择的至少一个第二索引节点;以及
所述索引节点标识与索引节点当前闲置存储容量值的对应关系通过下述过程确定:
维护索引路由表的索引节点向所述索引路由表中包含的各索引节点标识分别对应的各索引节点发送用于请求当前闲置存储容量值的请求消息;
接收各索引节点根据所述请求消息反馈的当前闲置存储容量值,以及
将接收到的当前闲置存储容量值与反馈该当前闲置存储容量值的索引节点对应的标识进行关联存储。
2.一种数据转移方法,其特征在于,包括:
第一索引节点在退出自身所在的分布式哈希表环链前,在所述环链中选择至少一个第二索引节点,所述第二索引节点的闲置存储容量值总和不小于第一索引节点要转移的用户数据总量;以及
根据选择的第二索引节点的闲置存储容量值,将自身要转移的用户数据发送给选择的第二索引节点;
其中,第一索引节点在所述环链中选择至少一个第二索引节点,具体包括:
第一索引节点指示自身的后继节点基于确定的索引节点当前闲置存储容量值总和不小于自身要转移的用户数据总量的准则,在所述环链中包含的除第一索引节点的各个索引节点中,确定至少一个索引节点;
接收所述后继节点反馈的至少一个索引节点标识,其中:至少一个索引节点标识为后继节点根据自身针对所述环链维护的索引路由表中包含的除第一索引节点标识的各索引节点标识与各索引节点当前闲置存储容量值的对应关系,基于要确定的索引节点标识对应的索引节点当前闲置存储容量值总和不小于第一索引节点要转移的用户数据总量的准则,确定的至少一个索引节点标识;
第一索引节点将接收到的至少一个索引节点标识对应的至少一个索引节点作为选择的至少一个第二索引节点。
3.如权利要求2所述的方法,其特征在于,所述索引节点标识与索引节点当前闲置存储容量值的对应关系通过下述过程确定:
维护索引路由表的索引节点向所述索引路由表中包含的各索引节点标识分别对应的各索引节点发送用于请求当前闲置存储容量值的请求消息;
接收各索引节点根据所述请求消息反馈的当前闲置存储容量值,以及
将接收到的当前闲置存储容量值与反馈该当前闲置存储容量值的索引节点对应的标识进行关联存储。
4.一种基于权利要求1或2所述的数据转移方法的数据查找方法,其特征在于,包括:
第一索引节点的后继节点接收第一索引节点在退出所述环链前发来的第二索引节点标识;
所述后继节点接收数据查找节点发出的数据查找请求,所述数据查找请求用于请求查找第一索引节点中存储的用户数据,且数据查找请求中包含数据查找节点的标识;以及
按照接收的第二索引节点标识,将接收到的数据查找请求转发给对应的第二索引节点;
由第二索引节点按照所述数据查找请求,将查找到的用户数据反馈给所述数据查找节点。
5.如权利要求4所述的数据查找方法,其特征在于,由第二索引节点按照数据查找请求,将查找到的用户数据反馈给所述数据查找节点,具体包括:
所述第二索引节点将查找到的用户数据发送给所述后继节点;以及
所述后继节点根据数据查找请求中包含的数据查找节点的标识,将接收到的用户数据反馈给所述数据查找节点。
6.如权利要求4所述的数据查找方法,其特征在于,由第二索引节点按照数据查找请求,将查找到的用户数据反馈给所述数据查找节点,具体包括:
所述第二索引节点根据数据查找请求中包含的数据查找节点的标识,将查找到的用户数据反馈给所述数据查找节点。
7.一种基于权利要求1或2所述的数据转移方法的数据查找方法,其特征在于,包括:
第一索引节点的后继节点接收并存储第一索引节点在退出所述环链前发来的第二索引节点标识与第二索引节点存储的用户数据的对应关系;
所述后继节点接收数据查找节点发出的数据查找请求,所述数据查找请求用于请求查找第一索引节点中存储的用户数据,且数据查找请求中包含数据查找节点的标识和要查找的用户数据的标识;
所述后继节点根据所述要查找数据的标识所对应的用户数据,以及存储的所述对应关系,确定存储有要查找的用户数据的第二索引节点的标识;以及
将所述数据查找请求转发给确定的标识对应的第二索引节点;
由第二索引节点按照所述数据查找请求,将查找到的用户数据反馈给所述数据查找节点。
8.如权利要求7所述的数据查找方法,其特征在于,由第二索引节点按照数据查找请求,将查找到的用户数据反馈给所述数据查找节点,具体包括:
所述第二索引节点将查找到的用户数据发送给所述后继节点;以及
所述后继节点根据数据查找请求中包含的数据查找节点的标识,将接收到的用户数据反馈给所述数据查找节点。
9.如权利要求7所述的数据查找方法,其特征在于,由第二索引节点按照数据查找请求,将查找到的用户数据反馈给所述数据查找节点,具体包括:
所述第二索引节点根据数据查找请求中包含的数据查找节点的标识,将查找到的用户数据反馈给所述数据查找节点。
10.一种数据转移装置,其特征在于,包括:
选择单元,用于在所述装置退出分布式哈希表环链前,从所述环链中选择至少一个索引节点,所述索引节点的闲置存储容量值总和不小于所述装置要转移的用户数据总量;以及
发送单元,用于根据选择单元选择的索引节点的闲置存储容量值,将自身要转移的用户数据发送给选择的索引节点;
其中,所述选择单元具体包括:
确定模块,用于根据所述装置针对所述环链维护的索引路由表中包含的索引节点标识与索引节点当前闲置存储容量值的对应关系,基于要确定的索引节点标识对应的索引节点当前闲置存储容量值总和不小于自身要转移的用户数据总量的准则,确定至少一个索引节点标识;
选择模块,用于将确定模块确定的至少一个索引节点标识对应的至少一个索引节点作为选择的至少一个索引节点。
11.一种数据转移装置,其特征在于,包括:
选择单元,用于在所述装置退出分布式哈希表环链前,从所述环链中选择至少一个索引节点,所述索引节点的闲置存储容量值总和不小于所述装置要转移的用户数据总量;以及
发送单元,用于根据选择单元选择的索引节点的闲置存储容量值,将自身要转移的用户数据发送给选择的索引节点;
其中,所述选择单元具体包括:
指示模块,用于指示所述装置的后继节点基于确定的索引节点当前闲置存储容量值总和不小于自身要转移的用户数据总量的准则,在所述环链中包含的除所述装置的各个索引节点中,确定至少一个索引节点;
接收模块,用于接收所述后继节点根据所述指示模块的指示,反馈的至少一个索引节点标识,其中:至少一个索引节点标识为后继节点根据所述指示模块的指示,以及自身针对所述环链维护的索引路由表中包含的除所述装置标识的各索引节点标识与各索引节点当前闲置存储容量值的对应关系,基于要确定的索引节点标识对应的索引节点当前闲置存储容量值总和不小于所述装置要转移的用户数据总量的准则,确定的至少一个索引节点标识;
选择模块,用于将接收模块接收到的至少一个索引节点标识对应的至少一个索引节点作为选择的至少一个索引节点。
12.一种基于权利要求10或11所述的数据转移装置的数据查找装置,其特征在于,包括:
第一接收单元,用于接收所述数据转移装置在退出所述环链前发来的索引节点标识;
第二接收单元,用于接收数据查找节点发出的数据查找请求,所述数据查找请求用于请求查找所述数据转移装置中存储的用户数据,且数据查找请求中包含数据查找节点的标识;
转发单元,用于按照第一接收单元接收到的索引节点标识,将第二接收单元接收到的数据查找请求转发给对应的索引节点。
13.如权利要求12所述的数据查找装置,其特征在于,还包括:
数据接收单元,用于接收根据转发单元转发的数据查找请求查找到对应用户数据的索引节点发来的查找到的用户数据;以及
反馈单元,用于根据第二接收单元接收到的数据查找请求中包含的数据查找节点的标识,将数据接收单元接收到的用户数据反馈给数据查找节点。
14.如权利要求12所述的数据查找装置,其特征在于,还包括:
指示单元,用于指示索引节点在查找到与转发单元转发的查找请求对应的用户数据时,根据该数据查找请求中包含的数据查找节点的标识,将查找到的用户数据反馈给数据查找节点。
15.一种基于权利要求10或11所述的数据转移装置的数据查找装置,其特征在于,包括:
第一接收单元,用于接收所述数据转移装置在退出所述环链前发来的索引节点标识与索引节点存储的用户数据的对应关系;
第二接收单元,用于接收数据查找节点发出的数据查找请求,所述数据查找请求用于请求查找所述数据转移装置中存储的用户数据,且数据查找请求中包含数据查找节点的标识和要查找的用户数据的标识;
确定单元,用于根据第二接收单元接收到的要查找数据的标识所对应的用户数据,以及第一接收单元接收到的所述对应关系,确定存储有要查找的用户数据的索引节点的标识;
转发单元,用于将第二接收单元接收到的所述数据查找请求转发给确定单元确定的标识对应的索引节点。
16.如权利要求15所述数据查找装置,其特征在于,还包括:
数据接收单元,用于接收根据转发单元转发的数据查找请求查找到对应用户数据的索引节点发来的查找到的用户数据;以及
反馈单元,用于根据第二接收单元接收到的数据查找请求中包含的数据查找节点的标识,将数据接收单元接收到的用户数据反馈给数据查找节点。
17.如权利要求15所述的数据查找装置,其特征在于,还包括:
指示单元,用于指示各索引节点在查找到与转发单元转发的查找请求对应的用户数据时,根据该数据查找请求中包含的数据查找节点的标识,将查找到的用户数据反馈给数据查找节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910076446 CN101770500B (zh) | 2009-01-04 | 2009-01-04 | 数据转移方法及装置、数据查找方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910076446 CN101770500B (zh) | 2009-01-04 | 2009-01-04 | 数据转移方法及装置、数据查找方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101770500A CN101770500A (zh) | 2010-07-07 |
CN101770500B true CN101770500B (zh) | 2013-01-09 |
Family
ID=42503364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910076446 Expired - Fee Related CN101770500B (zh) | 2009-01-04 | 2009-01-04 | 数据转移方法及装置、数据查找方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101770500B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105320775B (zh) * | 2015-11-11 | 2019-05-14 | 中科曙光信息技术无锡有限公司 | 数据的存取方法和装置 |
CN107315745B (zh) * | 2016-04-26 | 2020-05-01 | 北京京东尚科信息技术有限公司 | 一种私信存储方法及系统 |
CN107729570B (zh) * | 2017-11-20 | 2021-06-08 | 北京百度网讯科技有限公司 | 用于服务器的数据迁移方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1878117A (zh) * | 2006-07-18 | 2006-12-13 | 北京邮电大学 | 一种结合分级结构对等网络和会话发起协议的通信方法 |
US20070094310A1 (en) * | 2005-10-21 | 2007-04-26 | Passey Aaron J | Systems and methods for accessing and updating distributed data |
CN101242251A (zh) * | 2007-02-07 | 2008-08-13 | 华为技术有限公司 | 提高p2p重叠网稳定性的方法和装置 |
CN101286920A (zh) * | 2008-05-15 | 2008-10-15 | 华中科技大学 | 一种有结构对等网络的可扩展资源查找方法 |
-
2009
- 2009-01-04 CN CN 200910076446 patent/CN101770500B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070094310A1 (en) * | 2005-10-21 | 2007-04-26 | Passey Aaron J | Systems and methods for accessing and updating distributed data |
CN1878117A (zh) * | 2006-07-18 | 2006-12-13 | 北京邮电大学 | 一种结合分级结构对等网络和会话发起协议的通信方法 |
CN101242251A (zh) * | 2007-02-07 | 2008-08-13 | 华为技术有限公司 | 提高p2p重叠网稳定性的方法和装置 |
CN101286920A (zh) * | 2008-05-15 | 2008-10-15 | 华中科技大学 | 一种有结构对等网络的可扩展资源查找方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101770500A (zh) | 2010-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8762461B2 (en) | Method, system and device for searching active peer in P2P streaming media system | |
CN102065112B (zh) | 对等网络系统、建立对等网络系统的方法及相关装置 | |
CN101313523B (zh) | 一种实现端到端的链路检测、路由策略倒换的方法及装置 | |
CN103997540A (zh) | 网络分布式存储的实现方法及存储系统、客户终端设备 | |
US8903972B2 (en) | Method and apparatus for sharing contents using information of group change in content oriented network environment | |
CN102880724A (zh) | 处理哈希冲突的方法及系统 | |
CN103516744A (zh) | 一种数据处理的方法和应用服务器及集群 | |
CN103458013A (zh) | 一种流媒体服务器集群负载均衡系统及均衡方法 | |
CN102006184A (zh) | 堆叠链路管理方法、装置及网络设备 | |
CN102946356A (zh) | 一种基于cb-pe网络的组播报文传输方法和设备 | |
JP5541812B2 (ja) | コンテンツを公表するための方法及びシステム、コンテンツを検索するための方法及びシステム | |
CN106202416A (zh) | 列表数据写方法和装置、列表数据读取方法和装置 | |
CN101635741B (zh) | 分布式网络中查询资源的方法及其系统 | |
CN101770500B (zh) | 数据转移方法及装置、数据查找方法及装置 | |
CN102082832A (zh) | 一种分布式文件系统中的数据存储方法和装置 | |
EP3883184B1 (en) | Resource publishing method and apparatus in internet of things | |
CN102075974B (zh) | 无线传感器网络高邻接度资源搜索方法 | |
CN104519138A (zh) | 一种基于分布式ftp的数据传输方法及系统 | |
CN115664944A (zh) | 多网关动态热备方法、装置、设备及存储介质 | |
CN101729390B (zh) | 分布式哈希表dht网络及其构建方法、节点 | |
CN102821045A (zh) | 多播报文复制方法及装置 | |
CN103457976A (zh) | 数据下载方法和系统 | |
CN1905516B (zh) | 一种分配双向转发检测会话鉴别符的方法 | |
CN102487303A (zh) | 时隙分配管理方法及装置 | |
CN102204325A (zh) | 一种控制设备接入的方法、设备、控制网元及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130109 Termination date: 20220104 |