一种结构化p2p网络中键值转移的方法和系统的制作方法

文档序号:7662772阅读:180来源:国知局
专利名称:一种结构化p2p网络中键值转移的方法和系统的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种结构化P2P (Peer to Peer,对等
网络)网络中^:值转移的方法和系统。
背景技术
P2P技术充分利用网络中的各个节点的能力,在节点间互相提供服务。使 用P2P技术将大大提高网'络中节点的利用率,从而进一步提升网络、设备和信 息服务的效能,P2P网络迸一步包括结枸化、非结构化和松散结构化网络。其 中,结构化P2P网络的特点在于资源的发布和网络拓朴紧密相关,资源按照P2P 拓朴中的逻辑地址精确的分布在网络中。在这类网络中的每个节点都具有虚 拟的逻辑地址,并根据地址使所有节点构成一个相对稳定而紧密的拓朴结构。 结构化P2P中,对资源根据Hash (哈希算法)后生成的值为key (标识),每个 key对应的资源称为value (可以是索引如IP地址,也可以是内容)。因为key的 名字空间和P2P节点的名字空间存在映射关系,资源才艮据该key和映射关系分 布在结构化P2P网络中,之后可以通过该key在该P2P网络中找到该资源。建立 在P2P技术之上的网络通常都具有良好的扩展性、易管理性、自组织等特点。 如图l所示,在一个结构化P2P网络中,所有的节点共同负责一个连续的 ID空间(ID和key属于同一空间,所以也可以叫做key值空间)。以Chord算法 (一种DHT( Distributed Hash Table,分布式哈希表)算法)为例,所有的加 入P2P网络的节点按照节点的ID顺序组成一个环,每个节点负责从其前继节点 的ID (不含)到自己的节点ID的键值(key/value)范围。如图所示,ID为40 的节点负责的key值范闺为为21 40, ID为60的节点负责的key值范围为41 60, 当ID为40的节点优雅离开P2P网络时,根据相应的DHT算法,将自己负责的 key/value转衫给lD为60的节点管理,此时,ID为60的节点负责的key值范围为 21~60,路由表中含有节点ID为40的节点,更新自己的路由表。由于P2P网络的节点是由普考的设备构成,所以节点的加入和退出会比较频繁,另外,由
于节点能力的差异,以及负责的key值范围的大小,以及处理P2P层的路由的 多少,会有出现一些节点比较忙而负担过重的情况。另外由于网络的不稳定, 准备和当前节点有数据交互的节点可能并不知道当前节点的状态如何。
现有技术中,i在新节点加入时,新节点的邻居节点根据节点的ID值和相 应的DHT算法,得到新节点应该负责的key值范围,然后直接把自己当前负责 的应该转移给新节点的部分key/value发ii给新节点。或者在一个节点离开P2P 网络时,根据邻居节点的ID值和相应的DHT算法,得到哪些节点应该接管自 己当前负责的key傳范围,然后直接将自己负责的相应的key/value转移给这些
节点。 ,,
使用该方法时,可能会遇到以下问题key/value发起节点不知道接收节点 可能正在离开,如果它不接收任何转移key/value的请求,携带key/value的报 文到达时将被拒绝或者丢弃,如果此时接收节点接收了该转移的key/value,这 些key/value将由+该节点的退出而失效;另夕卜,key/value接收节点可能正处于 忙的状态,可能会造成k6y/value转移效率低下;最后,转移的key/value中携带 明显不属于在转移范围内的异常key值,导致接收节点不加判断的错误接收不 属于自己负责的k6y/value 。

发明内容
本发明的实施例提供一种结构化P2P网络中键值转移的方法和系统,以实 现结构化P2A网络中节点间key/value转移过程的顺利完成,维护结构化P2P网 络的稳定性。
为达到上述目的,本发明的实施例提供了 一种结构化P2P网络中键值转移 的协商方法,包括如卞步骤
接收节点接收发超节点发送的键值转移协商请求消息;
所迷接收节点才艮据所述协商请求消息生成协商响应消息;
所述接收节点向所述发起节点发送所述协商响应消息。
本发明的实施例^提供了 一种结构化P2P网络中键值转移的方法,包括以下步骤
发起节点向接收节点发送键值转移协商请求消息; 所述发起节点接收所述接收节点根据所述协商请求返回的协商响应消

所述发起节点根据所述协商响应消息对需要转移的key/value进行转移。 本发明的实施例还提供了一种结构化P2P网络中键值转移的系统,具体包

发起节点,用于在需要进行本节点的key/value转移时,向接收节点发送键 值转移协商请求消息,.并根据所迷接收节点返回的协商响应消息,对所述需 要转移的key/value进行转移;
接收节点,用于接收到所述发起节点发送的键值转移协商请求消息时, 根据所述协商请求消息生成协商响应消息,并向所述发起节点发送所述协商
响应';'封息。 '
与现有技术相比,本发明的实施例具有以下优点
通过在键值转移过程中增加,商过程,解决了因为转移节点不知道接收 节点的状态而引起的 一 系列问题。同时由于最后的键值转移需要按照协商的 结果进行,有效的防,止了转移过程中出现的异常键值现象。


图1是现有技术中结构化P2P网络中节点离开时键值转移示意图2是本发明实施例一的一种结构化P2P网络中^^值转移的方法的流程
图3是本发明实施例二的一种维构化P2P网络中键值转移的方法的流程
图4是本发明实施例三的一种结构化P2P网络中4建值转移的方法的流程
图5是本发明实施例三中key/value转移协商完全接收示意图; 图6是本发明实施例三中key/value转移协商部分接收示意图;图7是本发明实施例三中key/value转移协商拒绝接收示意图8是本发明实施例四中结构化P2P网络中键值转移的系统的结构图。
具体实施例方式
下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述 本发明的实施例一中, 一种结构化P2P网络中4建值转移的方法如图2所
示,具体步骤如下
步骤s201、发起节点向摔收节点发送键值转移协商请求消息。
具体的,该键值转移协商请求消息中携带如下信息(l)将要转移的key
值范围;(2)该key值范围携带正常转移或因故转移的标志。
步骤s202、接收节^根据本节点的状态、key值范围是否属于本节点负责
以及键值转祐协商请求中是否携带因故转移标志,对该键值转移协商请求做
出协商响应。
具体的,接收节点.的状态至少包括正常、节点忙或节点正在离开等状态; 正常状态是指节点对于key/value值转移有能力进行处理和接收。key值范围 包括完全属于本节点负责、部分属于本节点负责和完全不属于本节点负责。 步骤s203、接收节点向发起节点发送协商响应消息。 具体的,该协商响应消息包括完全接收、部分接收或拒绝接收。 摔收节点完全接收该key值范围的原因包括(1)该键值转移协商请求是 正常转移,接收节点处于正常状态,并且请求转移的key值范围在本节点负责 的key值范围内;(2 )接收节点处于正常状态,虽然键值转移协商请求中有不 属于本节点负责的key值范围,但是该键值转移协商请求中携带了因故转移的 标志。
接收节点部分^接收该key值范围的原因包括该键值转移协商请求是正 常转移,接收节点处于正常状态,但是^:值转移协商请求的key值范围有部 分超出了接收节点负责的key值范围,所以对于在本节点负责范围内的key 值同意接收,对于超出本节点负责范围的key值进行拒绝。
接收节点拒绝该key值范围的原因可能有如下几种(1)本节点正忙,无法处理;(2)本节点正处于离开状态,合理拒绝;(3)该键值协商转移请 求是正常转移,但是请求的key值范围不在本节点负责的key值范围内。
步骤s204、发起节点接收该协商响应消息,并根据该协商响应消息中被 接收节点接收的key值范围,将对应的key/value进行转移。
本发明的实施例二中,以接收节点侧进行描述, 一种结构化P2P网络中 4建值转移的方法如图3'所示,具体步骤如下
步骤s301 、接收节点接收发起节点发送的键值转移协商请求消息。
该键值转移协商请求消息中携带如下信息(1)将要转移的key值范围; (2)该key值范围携带正常转移还是因故转移的标志; 一般来说,在key/value 转移过程中,第一次发起的键值转移协商请求是正常转移,如果因为接收节 点忙或者其他原因被拒绝后、再次请求转移时,该键值转移协商请求消息则 携带上因故转移的标志。
步骤s302、接收节点判断本节点的状态是否正常,如果本节点的状态正常, 转步骤s303,否则转步缄s305。
步骤s303、判断该^值转移协商请求消息是否携带因故转移标志,如果携 带因故转移标志,转步骤s307,否则转步骤s304。
步骤s304、当该键值转移协商请求消息的key值范围不携带因故转移标志 时,即该key值范围为正常转移,接收节点判断该key值范围是否属于本节点负 责,如果该key值范围完全属于本节点负责,转步骤s307,如果key值范围部分 属于本节点负责,转步骤s308,如果key值范围完全不属于本节点负责,转步 骤s309。
步骤s305、当接权节点的状态为非正常状态时,判断该接收节点是否正在
离开,如果正在离开,、转步骤s309,否则转步骤s306。
步骤s306、接收节点判断该键值协商转移请求消息中是否有key值范围属
于本节点负责,如果是,转步骤s310,否则转步骤s309。
步骤s307、接收节点向发起节点发送完全接收响应消息并结束。 步骤s308、接收节点向发起节点发逸部分接收响应消息并结束。 该响应消息中包含接收的key值范围和不接收的key值范围,对不接收的key值范围给'出替代节点和拒绝原因。
步骤s309、接收节点向发起节点发送拒绝接收响应消息并结束。 该拒绝接收响应消息中可以携带拒绝原因、和/或替代节点信息。 步骤s310、接收节点向发起节点发送拒绝接收响应消息并结束。 该拒绝接收响应消息中应该携带以下信息(l)拒绝原因;(2)如果请 求中有属于本节点负责的key值范围,接收节点不是因为处于正在离开状态而 拒绝key/value转移的,要带上标志,表示需要知道最后存储该key值范围对应 的key/value的节点的信息。这样当因为忙而无法接收key/value转移的节点,在 收到相应的key/value查询请求的时候,可以将请求转移给实际存储相应 key/value的节点处理,'保证了服务的可用性。
本发明的实施例二中,以发起节点侧进行描述, 一种结构化PP网络中 键值转移的方法如图4所示,具体步骤如下
步骤s40'l、泉起节'点向摔收节点发送键值协商请求消息。 该键值转移协商请求消息中携带如下信息(1)将要转移的key值范围; (2)该key值范闺携带正常转移还是因故转移的标志。
步骤s402、发起,点接收该接收节点根据该键值协商请求返回的协商响 应消息。
步骤s403、发起节点判断该协商响应消息中^皮接收节点接收的key值范 围,如果是完全接收,'转步骤s404,如果是部分接收,转步骤s405,如果是 拒绝接收,转步骤s406。
步骤s404、发起节点向接收节点转移接收节点接收的key值范围对应的 key/value并结束。
步骤s405、'发起,点向接收节点转移接收节点接收的key值范围对应的 key/value并结束。
具体的,对键值协商请求响应消息中接收的key值范围进行对应的 key/value转移;对》巨绝接收的key值范围,发起节点根据键值协商请求响应消 息中的替代节点信息和本身的邻居列表选择节点进行协商和转移,并携带上 因故转移标志。
步骤s4G6 、发起节点判断该协商响应消息中是否携带接收节点需要知道的 key值范围和该key值范围对应的key/value最终存储地址的标志,如果是,转步 骤s407,否则转步骤s408。
步骤s407、发起节点根据该键值协商请求响应消息中的替代节点信息和本 身的邻居列表选择节点进行协商和转移,并携带上因故转移标志;最后通知 接收节点其希望获取的key值范围对应的key/value的最终存储地址并结束。
如果发起节点不处于正在离开P2'P网络状态,且能力充足,并且前面协商 响应中携带了因忙或者其他非离开状态而拒,绝的key值范围,发起节点对相应 的key值范围对应的key/value可以暂不转移,需要通知接收节点其希望获取的 key值范围对应的key/vahie的最终存储地址在本地。
'步骤 408、根挺替代节点和邻居列表选择节点协商转移,携带因故转移标

key/value转移完成后,发起节点和接收节点进行全部转移完成的确认。
如图5所示,为上述涉及的发起节点和接收节点之间key/value完全转移示 意图,包括以下步骤
步骤s501 、发起节点向接收节点发送^^值协商转移请求消息。
步骤s502、接收节点向发起节点返回完全接收响应。
步骤s50'3、发起节点开始key/value转移,接收节点对在协商key值范围内 的key/value,进行确i人,对不在协商key值范围内的key/value,做出错误反馈。
步骤s504、全部转移完成
步骤s505、摔收节点向发起节点发送确认消息。
如图6所示,为上述涉及的发起节点和接收节点之间key/value部分转移示 意图,包括以下步骤
步骤s601 、发起节点向接收节点发送键值转移协商请求消息。
步骤s602、接^l史节,点向发起节点返回部分接收响应,允许部分key范围对 应的key/value转移,拒绝键值转移协商请求中的部分key值范围,给出替代节 点信息。 '
步骤s603、发起节点开始key/value转移,接收节点对在协商key值范围内的key/value,进行确认,对不在协商key值范围内的key/value,做出错误反馈。 步骤s604、发起节点和响应中的替代节点或其他节点协商转移被拒绝的 key值范围。
步骤s605、发起节点通知^"收节点全部转移完成。 步骤s606 、接收节点向发起节点发送确认消息。
如图7所示,为上迷涉及的发起节点和接收节点之间拒绝key/value转移示 意图,包括以下步骤
步骤s701 、发起节点向接收节点发送键值转移协商请求消息
步骤s702、接收节点向发起节点返回拒绝响应,拒绝key/value转移,给出 替代节点信息,以及标志是否需要知道该消息中属于本节点负责范围的key值 范围对应的key/value的最后存储地址。
步骤s703、发起节点和响应中的替代节点或其他节点协商及转移 key/value,或者不转移。
步骤s704、如果接收节点的协商响应消息中携带了希望收到某key值范围 对应的key/value最后存储地址的标志,则在和别的节点协商成功后(或者不转 移),发起节点通知接收节点实际存储key值范围对应的key/value的节点信息。
为了维持结构化P2P网络的服务稳定性,每个节点还需要周期性的检查 本节点的正常负责的key/value表中,有没有超出本身负责key值范围的,有 则利用上面的过程进行key/value协商转移。另夕卜,在key/value按照协商转移 的过程中,i可以进一步包括,如果接收节点的存储空间不足,可以反馈给 发送节点,并带上标志希望知道剩余尚未转移的key值范围的最后存储的地 址,并立即结束key/value转移过程。在泉送节点和别的节点协商转移相应的 key/value或者不转移后,通知该接收节点剩余key值范围的最后存储地址。 以使_接收节点在后续收到相应key值的查询请求时,可以转移给实际存储相 应key/value的节点处理。
通过使用上述实施例提供的方法,在key/value转移过程中增加了协商过 程,解决了因为发起节点不知道接收节点的状态而引起的一系列问题;由于 最后的key/value转移需要按照协商的结果进行,所以有效的防止了转移过程中出现的异常key的现象;通过周期性的key/value自^r和协商转移,维护了结构 化P2P网络服务的稳定性。
本发明的实施例四中, 一种结构化P2P网络中键值转移的系统如图8所 示,具体包括
发起节点10,用于在需要进行本节点的key/value转移时,向接收节点20 发送键值转移协商请求消息,并根据接收节点20返回的协商响应消息,对需 要转移的key/value进行转移。
接收节点20,用于接收到发超节点IO发送的键值转移协商请求消息时, 根插本节点的状态、一y值范围是否為于本节点负责以及键值转移协商请求消 息中是否携带因故转衫标志,对该键值转移协商请求做出协商响应,并发送 给发起节点10,并在需要时,对发起节点10需要转移的key/value进行接收 或要求发起节点IO通知其相应key值范围的最后存储地址。
具体的,发起节点10进一步包括
请求发送单元11,,用于向接收节点20发送键值转移协商请求消息。
响应接收单元12,用'于接收来自接收节点20的协商响应消息并发送给协 商响应处理单元13。
协商响应处理单元13,用于对响应接收单元12接收的来自接收节点20 的协商响应消息中的key值范围进行判断,该key值范围包括完全接收、部分 接收、或拒绝接收。'
key/value转^单;^ 14,用于对协商响应处理单元13判断为可以进行转移 的key/value向接收节点20进行转移。
转移标志设置单元15,用于将协商响应处理单元13判断为拒绝接收的 key值范围设置因^L转移标志,并发送给请求发送单元11 ,用于下一次与其他 的邻居节点进行键值转移协商时使用。
邻居列表存储羊元16,用于存储发^节点10的所有邻居节点的信息并提 供给请求发送单元11,当键值转移协商请求消息中的key值范围被接收节点 20拒绝时,将转移#志设置单元15生成的携带因故转移标志通过请求发送单 元11与本单元选择其他的邻居节点进行协商转移。发起节点自检单元17,用于周期性的检查本节点上有没有超出本身负责 key值范围的key/Value。
具体的,接收节点'20进一步包括
请求接收单元21 ,.用于接收发起节点10发送的键值转移协商请求消息, 并发送给协亩响应单元22。
协商响应单元22,'用于根据从请求接收单元21接收到的键值转移协商请 求,根据本节点的状态,、key值范围是否属于本节点负责以及键值转移协商请 求消息中是否携带因故转移标志,对该键值转移协商请求做出协商响应,该 协商响应消息包括完全接收响应、部分接收响应、或拒绝接收响应。
响应发送单元23,用于将协商响应单元22生成的协商响应消息发送结^发 起节点10。
接收节点自检单元24,用于周期性的检查本节点上有没有超出本身负责 key值范围的key/value。
其中,协商响应单元22进一步包括
状态获取子单元221,用于获取接收节点的状态是正常状态还是非正常状 态,其中非正常状态可以为接收节点正忙、正在离开网络或其他非正常状

标志判断子单元222,用于判断接收到的键值转移协商请求消息中是否携 带因故转移标志。
key值范'围判断子单元223 ,用于判断该键值转移协商请求消息中是否有 key值范围属于本接收节点负责。
响应消息生成子单元224,用于根据状态获取单元221、标志判断子单元 222以及key值范围判kif子单元223 ,的判断结果生成协商响应消息。
拒绝原因添加子单元225,用于在响应消息生成子单元生成的消息中对于 不接收的key值范围添加^皮拒绝的原因。
替代节点添加子单元226,用手在响应消息生成子单元生成的消息中对于 不接收的key值范围添加替代节点的信息。
key值范围标志子单元227,用于对属于本节点负责的、但不能接收的key值范围进行标志,希望获取所述key值范围对应的key/value的最终存储地址。
以上系统描述了 ^结构化P2P网络中的发起节点需要进行key/value转移 时,和接收节点进行协商并进行key/value转移的过程。在该特定场景中,所 涉及的每个节点的辨能是单一的。但一般情况下,在不同的应用场景中,同 一个节点可以充当不同的角色,这也就要求结构化P2P网络中的每个节点设 备应该同时具有上述发起节点和接收节点的功能。对于该兼具多功能的节点 设备的结构,为上述实施例中发起节点和接收节点所应具有的功能的总和, 在此不做重复描述。
通过使用上迷实竭例提供的系统和设备,在键值转移过程中增加了协商 过程,解决了因为发起节点不知道接收节点的状态而引起的一系列问题;由 于最后的键值转移需荽按照协商的结果进行,所以有效的防止了转移过程中 出现的异常key值的现象;通过周期性的键值自检和协商转移,维护了结构化 P2P网络服务的稳定性。 1
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发 明可借助库欠件加必需"通用石更件平台的方式来实现,当然也可以通过石更件, 但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案 本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来, 该获取机软件产品存储在一个存储介质中,包括若干指令用以使得一台节点 设备执行本发明各个实施例所述的方法。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此, 任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
权利要求
1、一种结构化对等P2P网络中键值转移的协商方法,其特征在于,包括以下步骤接收节点接收发起节点发送的键值转移协商请求消息;所述接收节点根据所述协商请求消息生成协商响应消息;所述接收节点向所述发起节点发送所述协商响应消息。
2、 如权利要求1所述结构化P2P网络中键值转移的协商方法,其特征在 于,所述键值转移协商请求消息中,携'带需要转移的键值key/value对应的key 值范围。
3、 如权利要求2所述结构化P2P,网络中键值转移的协商方法,其特征在 于,所述键值转移协商请求消息中还携带所述key值范围的标志,所述标志 包括因故转移或正常转移。
4、 如权利要求2或3所述结构化P2P网络中键值转移的协商方法,其特 征在手,所述接收节点根据所述协商请求消息生成协商响应消息的步骤具体 为所述接收节点根据本节点的状态是否正常、所述键值转移协商请求消息 中的key值范围是否属于本节点负责、以及所述键值转移协商请求消息是否 携带因故转移标志中的一种或多种,生成协商响应消息。
5、 如权利要求1或4所述结构化P2P网络中键值转移的协商方法,其特 征在乎,所述接收节点向所述发起节点发送的协商响应消息具体为完全接收 响应、,部分接收响应、或拒绝接收响应。
6、 如权利要求5所述结构化P2P网络中^^值转移的协商方法,其特征在 于,所述接收节点在以下情况下向所述发起节点发送的协商响应消息为完全 接收响应所述接收节点为正常状态,所述键值转移协商请求中key值范围完全属于本节点负责;或所述接收节点为正常状态,所述键值转移协商请求中携带了因故转移标志o
7、 如权利要求6所述结构化P2P网络中键值转移的协商方法,其特征在 于,所述协商响应消息为完全接收响应时,所述接收节点向所述发起节点发 送所述协商响应消息后还包括所述接收节点接收所述发起节点对接收key值范围对应的key/value进行 的转移。
8、 如权利要求5所述结构化P2P网络中键值转移的协商方法,其特征在 于,所述接收节点在以下情况下向所述发起节点发送的协商响应消息为部分 接收响应所述接收节点为正常状态,所述键值转移协商请求中key值范围部分属 于本节点负责,且所述键值转移协商请求中未携带因故转移标志。
9、 如权利要求8所述结构化P2P网络中键值转移的协商方法,其特征在 于,所述部分接收^应中携带所述接收节点接收的key值范围和不接收的key 值范围,且对所述不接收的key值范围给出拒绝原因、和/或替代节点信息。
10、 如权利要求8或9所述结构化P2P网络中键值转移的协商方法,其 特征在于,所述协商响应消息为部分接收响应时,所述接收节点向所述发起 节点发送所述协商响应消息后还包括所述接收节点接收所述发起节点对所述部分接收响应中携带的接收key 值范围对应的key value进行的转移。
11、 如权利要求5所迷结构化P2P网络中键值转移的协商方法,其特征 在于,所述接收节点在以下情况下向所述发起节点发送的协商响应消息为拒 绝接收响应所述接收节点为正常状态,所述键值转移协商请求中key值范围不属于 本节点负责,且所述键值转移协商请求中未携带因故转移标志;或 所述接收节点正处于离开网络状态、或遇忙状态。
12、 如权利要求li所述结构化P2P网络中键值转移的协商方法,其特征 在于,所述拒绝接收响应中携带拒绝原因、和/或替代节点信息。
13、 如权利要求,11或12所述结构化P2P网络中键值转移的协商方法, 其特征在于,当所述接收节点正处于遇忙状态,且所述键值转移请求消息中key值范围属于所述接收节点负责时,所述拒绝接收响应中携带拒绝原因,且 对属于本节点负责的key值范围进行标记,用于要求所述发起节点通知其所 述key值范围对应的key/value的最终存储地址。
14、 如权利要求13所述结构化P2P网络中键值转移的协街方法,其特征 在于,所述协商响应消息为拒绝接收响应,且响应消息中包括所述接收节点 对key值范围的标记时,所述接收节点向所述发起节点发送所述协商响应消 息后还包括所述接体节点接^所述发起节点的通知,所述通知中包括所述key值范 围对应的key/value的最终存储地址。
15、 一种结构化对等P2P网络中键值转移的方法,其特征在于,包括以 下步骤发起节点向接收节点发送键值转移协商请求消息;自 所述发起节点根据所述协商响应消息对需要转移的key/value进行转移。
16、 如权利要求15所述结构化P2P网络中键值转移的方法,其特征在于, 所述发起节泰根据所述协商响应消息对需要转移的key/value进行转移的步骤 具体为当所述协商响应消息为完全接收响应时,所述发起节点对所述完全接收 响应中携带的key值范围对应的key/value进行转移;当所述i^商响应消息为部分接收响应时,所述发起节点对所迷部分接收 响应中携带的key值范围对应的key/value进行转移,对拒绝接收的key值范 围根据所述部分接收响应中的替代节点和本节点的邻居列表选择其他节点进 行4定值转移协商,并携带因故转移标志;当所述协商响应消息为拒绝接收响应时,所述发起节点判断所述拒绝接 收响应中是否携带key值范围标记,所述key值范围标记表示所述接收节点要 求获取所述标记的key值范围对应的key/value的最终存储地址;如果未携带, 根据所述拒绝接收响应中替代节点和本节点的邻居列表选择其他节点进行键值转移协商,并携带因故转移标志;否则,根据所述拒绝接收响应中替代节 点和本节点的邻居列表以及本节点的状态,选择特定节点协商转移,携带因 故转移标志,并且通知所述接收节点所述标记的key值范围对应的key/value 的最终存储地址。
17、 一种结构化P2P网络中键值转移的系统,其特征在于,具体包括 发起节点,用于在需要进行本节点的key/value转移时,向接收节点发送键值转移协商请求消息,并一艮据所述接收节点返回的协商响应消息,对所述 需要转移的key/value进行转移;接收节点,用于接收所迷发起节点发送的键值转移协商请求消息,根据 所述协商请求消息生成协商响应消息,并向所述发起节点发送所述协商响应 消息。 '
18、 如权利要求17所述结构化P2P网络中键值转移的系统,其特征在于, 所述发起节点进—步包括请求发送单元,用于向所述接收节点发送键值转移协商请求消息; 响应接收单元,用于接收来自所述接收节点的协商响应消息并发送给协 商响应处理单元;协商响应处理单元,用于根据所述响应接收单元发送的来自所述接收节 点的协商响应消息确定可以转移的key值范围;转移单元,用于向所述接收节点转移所述协商响应处理单元确定为可以进行转移的key值范围对应的key/value。
19、 如权利要求17所述结构化P2P网络中键值转移的系统,其特征在于, 所述发起节点还包括转移标志设置单元,用于将所述协商响应处理单元判断为拒绝接收的key 值范围设置因故#移标志,并发送给所述请求发送单元用于向其他的邻居节 点发送键值转移协商请求消息;邻居列表存储单元,用于存储所迷发起节点的所有邻居节点的信息,当 所述键值转移协商请求消息中的key值范围被所述接收节点拒绝时,所述发 起节点从所迷邻居列表存储单元中选择其他的邻居节点进行协商转移,并携带上所述转移标志设置单元设置的因故转移标志。
20、 如权利要求17所述结构化P2P网络中键值转移的系统,其特征在于, 所述接收节点进一步包括请求接收单元,用于接收所述发起节点发送的键值转移协商请求消息, 并转发给协商响应单元;协商响应单元,用于根据从所述请求接收单元接收的键值转移协商请求 消息生成协商响应消息,'所述协商响应消息具体为完全接收响应、部分接 收响应、或拒绝接收响应;响应发送单元,用于将所述协商响应单元生成的协商响应消息发送给所 迷发起节点。
21、 如权利要求20所述结构化P2P网络中键值转移的系统,其特征在于, 所述协商响应单元进一步包括状态获取子单元,'用于获馭所述接收节点的状态是正常状态还是非正常 状态,其中非正常状态具体为所述接收节点遇忙或者正在离开网络;标志判断子单元,用于判断所述键值转移协商请求消息中是否携带因故 转移标志;key值范围判断子单元,用于判断所述键值转移协商请求消息中是否有 key值范围属于本节点负责;响应消息生成子单元,用于根据所述状态获取单元获取的接收节点的状 态、以及所述标志判断子单元和所述key值范围判断子单元的判断结果生成 协商响应消息。
22、 如权利要求2L所述结构化P2P网络中键值转移的系统,其特征在于, 所述协商响应单元还包括拒绝原因添加子单元,用于在响应消息生成子单元生成的协商响应消息 中对于不接收的key值范围添加被拒绝的原因;替代节点添加子单元,用于在响应消息生成子单元生成的协商响应消息 中对于不接收的一y值范围添加替代节点的信息。
23、 如权利要求21所述结构化P2P网络中键值转移的系统,其特征在于,所述协商响应单元还包括key值范围标志子单元,用于对属于本节点负责的、但不能接收的key值 范围进4亍才示i己。
全文摘要
本发明的实施例提供了一种结构化P2P网络中键值转移的方法,包括以下步骤发起节点向接收节点发送键值转移协商请求消息;所述发起节点接收所述接收节点根据所述协商请求返回的协商响应消息;所述发起节点根据所述协商响应消息对需要转移的key/value进行转移。本发明的实施例还提供一种结构化P2P网络中键值转移的系统。通过使用本发明的实施例提供的方法,解决了因为转移节点不知道接收节点的状态而引起的一系列问题;同时由于最后的键值转移需要按照协商的结果进行,有效的防止了转移过程中出现的异常键值的现象;最后,通过周期性的键值自检和协商转移,维护了结构化P2P网络服务的稳定性。
文档编号H04L12/46GK101420352SQ200710163239
公开日2009年4月29日 申请日期2007年10月22日 优先权日2007年10月22日
发明者张锦辉 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1