一种分布式网络的管理方法、内容查询方法、系统及装置的制作方法

文档序号:7694517阅读:105来源:国知局
专利名称:一种分布式网络的管理方法、内容查询方法、系统及装置的制作方法
技术领域
本发明涉及网络技术领域,特别是涉及一种分布式网络的管理方法、内 容查询方法、系统及装置。
背景技术
P2P (Peer-to-peer,点对点)网络是一种新兴的、分布式内容共享结 构。在P2P网络中,每节点都同时扮演着客户端和服务器的角色,既可以 作为内容的共享者提供内容,也可以作为内容的需求者下载内容。当节点 需要使用内容时,通过关键字或键值查找到存储该内容的节点,并从这些 节点获得所需内容。
早期的P2P网络中,内容仅存储在拥有该内容的节点上,需要内容的 节点通过连接拥有该内容的节点才能获得内容。但当有大量节点需要同一 内容时,拥有该内容的节点无法满足所有节点的查询需求;另一方面,当 拥有该内容的节点失效或退出后,网络中其他节点将无法再获得该内容。
为了解决上述问题,后期P2P网络中开始引入副本的概念,副本是指 本身并不拥有该内容的节点通过查询获取并緩存的内容。在网络中引入副 本之后,虽然节点的负担降低了,查询的效率也得到了提高,但也引入了 新的问题。在P2P网络中,内容和内容的副本之间缺乏有效的管理,当拥 有内容的节点上存储的内容被修改后,如何同步修改所有的副本,并保证 所有节点查询的都是最新版本的内容。而且,由于P2P网络中的节点具有 短暂性,网络中节点频繁更替,节点对内容的需求也频繁变化,所以难以 形成稳定分布。而节点对内容查找的效率以及对内容变化的跟踪也会随着 节点的迁移和更替而受到影响。
目前还缺乏让内容在网络中稳定分布,且需求某一 内容的节点在网络 中快速的定位和获取有效内容的机制。

发明内容
本发明实施例提供了一种分布式网络的管理方法、内容查询方法、系统
及装置,以建立一种新型的P2P内容稳定分布的网络模型,实现内容的高 效查找,并跟踪内容的变化,对内容及其副本进行控制和管理。 本发明实施例一方面提出一种分布式网络的管理方法,包括 当节点加入分布式网络时,通过查找内容,生成所述内容的需求内容表; 当节点为所述内容的虚拟服务器VS时,根据所述需求内容表进行所述内 容的聚类管理。
本发明实施例 一方面提出 一种分布式网络的内容查询方法,包括
接收内容的查询请求,所述查询请求携带所述内容的4建值;
当所述节点的键值管理范围不包括所述内容的键值时,根据需求内容表
获取与所述内容的键值距离最小的节点,向与所述内容的键值距离最小的节
点转发所述查询请求。
本发明实施例 一 方面出 一 种分布式网络管理系统,包括 需求内容表生成节点,用于当所述节点分别加入分布式网络时,通过查
找内容,生成所述内容的需求内容表,并根据所述需求内容表进行消息的路
由转发;
聚类管理节点,用于根据所述需求内容表进行所述内容的聚类管理。 本发明实施例 一方面提出 一种分布式网络管理系统,包括 虚拟服务器,用于根据需求内容表进行所述内容的聚类管理; 强一致节点,用于对所述内容进行内容更新操作,向所述内容的所述虚
拟服务器VS发送更新请求;
弱一致节点,用于发送版本验证请求,在所述版本为所述内容的最新版
本时,进行内容更新操作,向所述内容的VS发送更新请求;
控制节点,用于在探测到所述内容的VS失效离开时,任命所述内容新的
VS,当所述内容不存在VS时,任命查询所述内容的节点成为所述内容的VS。 本发明实施例一方面提出一种弱一致节点,包括
10查询模块,用于查找内容;
路由转发模块,用于根据所述存储模块存储的需求内容表进行消息的路
由转发;
第一更新操作模块,用于发送版本验证请求,在所述版本为所述内容的 最新版本时,进行内容更新操作,向所述内容的VS发送更新请求。 本发明实施例一方面提出一种强一致节点,包括 查询模块,用于查找内容;
路由转发模块,用于根据所述存储模块存储的需求内容表进行消息的路 由转发;
第二更新操作模块,用于对所述内容进行内容更新操作,向所述内容的 VS发送更新请求。
本发明实施例一方面提出一种虚拟服务器,包括 查询模块,用于查找内容;
路由转发模块,用于根据所述存储模块存储的需求内容表进行消息的路 由转发;
聚类管理模块,用于在所述更新审核模块接受对所述内容的更新请求, 所述第二探测模块探测到所述内容的CP或所述内容的CRP失效离开时,根 据所述存储模块存储的所述需求内容表进行所述内容的聚类管理。
本发明实施例一方面提出一种控制节点,包括
查询模块,用于查找内容;
路由转发模块,用于根据所述存储模块存储的需求内容表进行消息的路 由转发;
第三探测模块,用于每隔一次计时器周期探测所述内容的VS是否存活; 任命管理模块,用于在所述第三探测模块探测到所述内容的VS失效离开
时,任命所述内容新的VS,当所述内容不存在VS时,任命查询所述内容的
节点成为所述内容的VS。
本发明实施例的技术方案具有以下优点
本发明实施例通过构建一个内容及其副本和路由信息可以形成具有规则拓朴结构的网络,使内容在网络中稳定分布;保证内容查找的高效性; 对内容及其副本进行有效的更新和控制,保证内容及其副本的有效性;以 及在节点发生迁移和更替以及节点对内容的需求发生变化时,降低对整个 网络的影响。


图1为本发明实施例中的双层结构示意图2为本发明实施例中的节点之间邻接连接示意图3为本发明实施例中的节点的数据结构;
图4为本发明实施例一中的分布式网络的管理方法流程示意图5为本发明实施例二中的CAN路由示意图6为本发明实施例二中的改进路由示意图7为本发明实施例二中的单个节点接收到查询请求之后的处理流程 示意图8为本发明实施例二中的节点进行内容查找和获取的流程示意图9为本发明实施例三中的节点进行内容更新和发布的流程示意图IO为本发明实施例四中的CP正常离开时的时序图11为本发明实施例四中的CP非正常离开时的时序图12为本发明实施例四中的VS离开正常离开时的时序图13为本发明实施例四中的VS离开非正常离开时的时序图14为本发明实施例五中的IRP转换为CRP的时序图15为本发明实施例五中的CRP转换为IRP的时序图16为本发明实施例中的一种弱一致节点示意图17为本发明实施例中的一种强一致节点示意图18为本发明实施例中的一种虚拟服务器示意图19为本发明实施例中的一种控制节点示意图。
具体实施例方式
12本发明实施例提供一种分布式网络的管理方法及装置。
下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述 如图l所示,本发明的实施例从逻辑上将系统分成层结构,如图l所 示,上层为内容分布,下层为节点分布。节点之间采用CAN( Controller Area Network,即控制器局域网)建立d维键值(注册表里面的所有信息是以各 种形式的键值项数据保存下来,键值项由键值名、数据类型和键值三部分组 成,其格式为"键值名数据类型键值")空间的基本路由分布,内容则 根据DHT (Distributed Hash Table,分布式哈希表)机制映射到键值最接 近的节点上, 一个内容和多个节点形成了 一对多的关系。
如图1所示,每个内容通过DHT映射到一个键值最接近的节点上,这 个节点称为该内容的CAN控制节点(Control Peer, CP),节点Pl是内容 A的CP,每一个内容在系统同时有且唯一的CP。 CP本身并不负责内容的 管理和更新,而是作为一个备份节点保存内容的信息,并作为查询时的索 引节点。
每个内容可能会被其他节点需要,这些节点对内容进行访问,存储了 该内容,称为该内容的副本,并可能对内容进行操作或更新,这些节点称 为该内容的复制节点(Replica Peer, RP ),如图1中与内容虚线连4妄的节 点就是RP,节点P2、 P3、 P4、 P6都是内容A的RP。 RP作用是通过建 立层次结构完成对内容以及副本的维护和更新。RP分为三类虚拟服务器 (Virtual Server, VS )、强一致节点(Control Replica Peer, CRP )、弱一致 节点(Infirm Replica Peer, IRP )。
VS是从RP中选出来的一个普通节点,负责对内容进行更新并发布。 VS和CP保持双向连接,并周期性的探测存活。
CRP是和VS保持强一致的节点,CRP上存储的内容副本一直保持最 新版本,在内容更新后,CRP会接收到VS发布的更新信息。CRP和VS 之间保持双向连接,并保持定时器,在一定周期内若没有交互信息,则会 主动发送信息探测存活。
IRP是和VS保持弱一致的节点,IRP上存储的副本可能是旧版本,在内容发生更新后,不会接收到VS发布的更新信息。在IRP使用内容前,
需要先向vs验证版本信息来保持内容的一致性。
本发明实施例中的节点和节点之间的连4妄分为两类邻4妄连4妻和远程 连接。邻接连接是指根据CAN的路由分布产生的相邻节点之间的连接, 比如图2中节点P2和P3之间的连接。远程连接是指#4居节点对内容的需 求产生的需求内容的节点之间以及和负责内容节点之间的连接,比如图1 中节点Pl和P4之间的连接。CP和RP之间的连接,VS和CRP以及IRP 之间的连接都是远程连接。远程连接可能是双向的,比如CP和VS之间的 连接,也可能是单向的,比如VS和IRP之间的连接。远程连接相当于小 世界理论中的"捷径",可以降低查询路径长度。
在本发明实施例中,对任意普通节点而言,只要该节点负责的键值空 间内有内容存在,该节点即作为CP负责这些内容。当该节点需要其他内 容并需要持续保持这些内容时,该节点将成为内容的RP。所以, 一个普通 节点可能同时具有不同内容的CP、 VS、 CRP、 IRP这些身份;对于同一内 容,节点可以是该内容的CP、 VS、 CRP或IRP等身份中的一种,结构如图 3,包括自身的键值、键值空间范围、结构路由表、结构内容表、需求内 容表。
其中,结构路由表由CAN协议产生,记录所有和该节点邻接的节点 的键值和地址信息。在加入到结构化网络中的节点,都有一个路由表。
结构内容表记录了该节点作为CP负责的所有内容的信息,包括内 容的键值,内容的具体信息,该内容相关的VS的键值和地址信息。
需求内容表记录了该节点所需的所有内容的键值,内容的具体信息, 该内容所在的CP的键值和地址信息。若该节点是VS,则还保存了所有 CRP的键值和地址信息;若该节点是所需内容的CRP或IRP,则还保存了 相关的VS的键值和地址信息。
本发明实施例中,通过节点之间邻接连接和远程连接,实现了路由信 息的规则有效拓朴;通过根据对内容的需求将节点分为不同的类型,实现 了内容及其副本的规则拓朴。本发明实施例一提供一种分布式网络的管理方法,如图4所示,包括 步骤s401,当节点加入分布式网络时,通过查找内容,生成所述内容 的需求内容表。
步骤s402,根据所述需求内容表进行消息的路由转发。具体为根据 步骤s401之前生成的结构路由表和结构内容表,及步骤s401生成的所述需 求内容表进行消息的路由转发。
该步骤具体包括
步骤s402.1,所述节点接收内容的查询请求,所述查询请求携带所述 内容的键值。
步骤s402.2,当所述节点的键值管理范围不包括所述内容的键值时, 所述节点根据本地存储的结构路由表、结构内容表、以及需求内容表获取 与所述内容的键值距离最小的节点,向与所述内容的键值距离最小的节点 转发所述查询请求;
步骤s402.3,当所述节点的键值管理范围包括所述内容的键值时,所述 节点为所述查询内容的CP,当所述内容不存在VS时,所述节点成为所述内 容的VS,并与所述内容的CP建立双向连接;当所述内容存在VS时,所述 节点成为所述内容的IRP,并与所述内容的VS建立连接。
步骤s403,当节点为所述内容的虚拟服务器VS时,根据所述需求内 容表进行所述内容的聚类管理。该聚类管理包括内容的查找和获取,内 容的更新和发布,节点的加入和离开,CRP和IRP的管理。
本实施例中,通过结构路由表、结构内容表、以及需求内容表实现对 内容的快速定位和查找,通过该内容的VS进行聚类管理,保证了该内容 的CRP上存储的信息保持一致性。
下面通过具体的实施例对内容的查找和获取、内容的更新和发布、节 点的加入和离开、CRP和IRP的管理进行详细描述。
实施例二、内容的查找和获取
由于节点上不仅存储了邻居节点的信息,还因为远程连接而存储了一 些远处节点的信息,这些远程连接相当于small-world中的"捷径",通过将这些"捷径"和CAN的路由算法相结合,可以获得较小的平均查询路
径长度。
当一个节点需要内容时,通过内容的键值进行路由,搜索所有的邻接 连接和远程连接,寻找键值最为接近的节点发送询问请求,如此反复转发,
直到找到负责该内容的CP。这种查找过程不同于CAN在键值空间连续的 逼近目的地,而是存在跳跃式的逼近。比如节点P5需要查找内容A,如果 是通过CAN的路由算法,则查找沿P5—>P4—>P3 — >P 1 — >A的路径找到 内容A,如图5所示。但若P4和P1之间存在聚类连接,则查找可以沿P5 —>P4—>P1—>A的3各径找到内容A,如图6所示。
单个节点接收到查询信息之后的处理流程如图7所示,对应的程序处 理过一呈如下
Receive Search (Key, Address) 〃节点P^妻收到地址为Address的节 点查找键值为Key内容的请求
If (Key属于节点P的键值范围) 〃自身是目标节点
return (内容信息,内容的CP信息,内容的VS地址) dse〃自身不是目标节点
PeerNearest=P;
For (分别取出所有邻居节点(NeighborP ) in CAN路由表)
If ( Distance ( NeighborP , Key )) < Distance ( PeerNearest, Key )) PeerNearest=NeighborP; For (all作为CP负责的内容in CAN内容表)
If ( Distance (该内容的VS, Key ) <Distance ( PeerNearest, Key ) PeerNearest二该内容的VS; For (all内容in所需内容表)
If (P是该内容的VS)
16If ( Distance (该内容的CP, Key ) < Distance ( PeerNearest,
Key)
PeerNearest二该内容的CP; For (所有该内容的CRP) If (Distance (该内容的CRP, Key) 〈Distance (PeerNearest,
Key)
PeerNearest-该内容的CRP; else 〃P是该内容的CRP或IRP
If (Distance (该内容的CP, Key) <Distance (PeerNearest,
Key)
PeerNearest二该内容的CP; If ( Distance (该内容的VS, Key ) <Distance ( PeerNearest,
Key)
PeerNearest二该内容的VS;
Transmit Search ( Key, Address ) to PeerNearest 〃向当前所有关联节点键值距离目标节点最近的节点转发
Distance ( P, Key ) 〃节点P和目标键值Key之间的距离
distance=0;
for(i=l; i<=d; i++) 〃d是键值空间的维数
distance叫节点P在第i维的键值-Key在第i维的4建值|;节点根据结构路由表、结构内容表、以及需求内容表进行消息的路由转
发包括以下步骤
步骤s701,节点P接收查询请求。该请求包含源节点的地址信息 (Address)以及查找内容的键值(Key )。
步骤s702,判断查找内容的键值是否在节点P的键值管理范围,是则 节点P为该查询请求的目标节点,即该查找内容的CP,转步骤s703,否 则为该查询请求的中继节点,转步骤s704。
步骤s703,向源节点返回查找内容的元数据和该查找内容的VS地址"息。
步骤s704,从CAN路由表中获取与该查找内容键值距离最小的节点。 步骤s705,从CAN内容表中获取与该查找内容键值距离最小的节点。 步骤s706,从需求内容表中获取与该查找内容键值距离最小的节点。 步骤s707,从步骤s704 s706中获取与该查找内容键值距离最小的节 点,向与该查找内容键值距离最小的节点继续转发该查询请求。
当该节点查找到所需的内容之后,CP直接将该内容的具体信息以及该 内容的VS地址返回。如果该节点只是需要内容当前的值,而不需要关注 该内容信息的变化或对该内容进行操作,则仅存储返回的内容并使用。如 图8所示,如果该节点需要持续的关注该内容或对内容进行操作,则该节 点和VS建立连接,成为该内容的IRP节点。如果该内容还没有RP,且不 存在VS,则该节点从CP获得内容的具体信息,自动成为该内容的VS, 和CP建立双向连接,该内容的VS根据需求内容表进行该内容的聚类管理。 本实施例中,通过聚类连接和按内容键值进行路由的方法,保证了内容查 找的高效性。
图8包括如下步骤
步骤s801,根据该内容的键值,搜索结构路由表、内容路由表、以及 需求内容表,找到键值最接近的节点发送查询请求。
步骤s802,经过若干次转发找到该内容的CP,获取该内容及该内容的VS的地址信息。
步骤803,判断是否需要持续关注内容的变化或对该内容进行操作, 是则转步骤s805,否则,转步骤s804。 步骤s804,存4渚并^f吏用该内容。
步骤s805,进一步判断该内容是否已有VS,是则转步骤s806,否贝'J,
转步骤s807。
步骤s806,成为该内容的IRP,和VS建立连才妻。 步骤s807,成为该内容的VS,和CP建立双向连接。 本实施例实现节点的快速定位和查找内容,通过该内容的分布情况,
获取该内容的节点可成为该内容的VS或IRP,以对该内容持续进行关注
或操作。
实施例三、内容的更新和发布
由于所有内容的RP上都会保存一份该内容的副本,所以整个网络中 会存在内容的多个副本。为了保证所有节点都能在较低的通信量下,获得 新的有效的内容并能对内容进行合法的操作,本发明使用了 一种混合 push/pull的内容更新和发布协议对内容及其副本进行控制和更新。
为了降低通信量,本发明实施例根据节点对内容的需求频率决定对该 节点的类型,将频繁访问内容的节点设置为CRP,将较少访问内容的节点 设置为IRP。而且,为了能在内容更新之后区分内容的不同版本,每个内 容都有一个版本号,该内容的VS在每次合法更新之后对版本号进行操作。
整个内容更新和发布过程分为三步更新请求,更新审核,更新发布。 基本流程如图9所示。
步骤s901,更新请求。
当 一个RP要对内容进行操作时,首先会判断自身的类型。如果是CRP, 则该节点本身就存储了内容的最新版本,可以直接对内容进行操作,并向 VS发送更新请求,该请求包括操作结果和当前的版本号。如果是IRP, 则该节点上存储的副本可能是陈旧版本,需要向VS发送当前版本号来检 测版本信息,如果该版本号和VS上存储的当前版本一致,则VS返回确认信息,如果不一致,则VS返回当前最新版本的内容信息。此后IRP采用
和CRP同样的方式对内容进行操作并发出更新请求。 步骤s902,更新审核。
VS接收到更新的内容后,先判断内容的版本号是否是最新的版本号, 如果是,则接受更新并修改版本号,同时返回确认信息;否则,拒绝更新, 并返回最新版本信息。如果有两个RP同时提交更新结果,VS根据更新请 求的时间戳判定更新的有效性。例如接受时间戳较早的更新。
步骤s903,更新发布。
在VS接受更新之后,会将更新后的内容和新的版本号发送给CP和所 有CRP。由于IRP和VS之间是弱一致关系,所以并不需要向IRP发布更 新信息。
本实施例中,通过该内容的VS发布更新信息,实现了网络中该内容 的CRP存储的该内容的副本信息保持一致。 实施例四、节点的加入与离开
若节点希望加入网络,则可以通过CAN中的节点加入算法,完成节 点加入过程。节点加入分布式网络,生成结构路由表和结构内容表;如果 该节点被分配到的键值空间内有内容存在,则该节点自动成为内容的CP。 当该节点请求查找其他内容时,才会通过路由查找协议进一步成为其他内 容的RP,当该节点查找内容时,生成该内容的需求内容表。整个节点加入 过程,仅会影响节点最后所在位置周围的邻居节点,而对网络中绝大多数 节点都不会产生影响。
一个节点离开网络,可能会造成CP的更替、VS的更替以及CRP数 量改变。所以根据节点的不同身份,节点正常离开网络和失效离开网络会 有不同的处理方式。
由于CP和内容之间的映射是通过DHT机制进行映射的,CP和内容 的键值不会变化,所以只有当CP离开系统或内容消失时,才会发生CP的 更换。
CP离开系统包括正常离开和失效离开两种。正常离开如图IO所示,当CP正常离开时,CP所负责的^I建值空间 根据CAN协议,将归由CP的邻接节点负责。CP可以在键值空间转移的 同时,将内容相关信息(包括内容的具体信息,VS信息)转移,并通知 VS CP的更替。VS在得知CP更替之后,将新的CP信息发送给所有的CRP 节点。虽然IRP没有接收到CP更替的信息,但可以在需要时通过询问VS 或通过CAN路由找到新的CP。
失效离开如图ll所示,当CP失效后,邻接节点在得知该节点失效 后,会自动瓜分该节点所负责的键值空间,但并不知道该键值空间上的内 容信息。由于VS周期性的探测CP是否存活,在CP失效时VS会发现失 效。在VS发现CP失效后,将内容信息和自己的信息复制给新的CP,并 通知所有CRP CP的更替。
当VS作为RP离开时,将发生VS的更换,包括正常更换和失效更换。
正常更换如图12所示,当VS要离开系统时,将从剩下的CRP中 选出一个性能较好的节点作为新的VS,将该内容所有的CRP信息传递给 新的VS,并将自己的离开以及新的VS的信息发送给所有的CRP以及CP。 所有的CRP以及CP更新存储的VS的信息。如果该VS是内容的最后一 个CRP,则仅向CP发送自身离开的信息,CP将删除VS相关信息,直至 有新的节点成为RP或有原来的IRP来询问VS的信息而自动升级为VS, 并从CP获得内容的最新版本信息。此处性能较好的节点是指在线时间较 长,带宽较大的节点,当然也可以通过其他的标准选择VS,比如网络延 迟或地理位置等。
失效更换在下面4种情况下会有节点发现VS失效1、 CRP计时 器超时而探测VS; 2、 CRP要提交更新;3、 IRP需要使用内容时验证内容 版本状态;4、有新的IRP加入时,CP返回原VS的地址信息,当新的IRP 试图连接原VS。当节点发现VS失效后,会主动通知CP。 CP接收到失效 报告后,会主动^r测VS,确认失效之后
如果前来报告的是CRP,则会将前来报告的节点设为新的VS,并将 自身存储的内容信息作为内容的最新版本,如图13-A;
21如果前来报告的是IRP,则CP等待CRP的一次计时器周期等待CRP 来报告,此后处理同上,如图13-B;
如果前来报告的是IRP, CP等待CRP的一次计时器周期,却没有CRP 来报告,则说明现在已没有CRP存在,则直接将前来报告的IRP置为新的 VS,并将自身存储的内容作为最新版本发送给新的VS,并将新VS的信 息发送给所有前来报告失效的IRP,如图13-C。
在此后如果有其他IRP或CRP前来纟艮告原VS失效,则直4^将新VS 的地址信息发送给它们,由它们重新连接新的VS恢复以前的拓朴关系。
当CRP正常离开网络时,会主动通知VS。如果CRP失效,则VS在 经过一个时钟周期后也会发现该CRP失效。同时,该内容的VS在该内容 的CRP正常离开或失效离开时,在该节点的内容需求表中删除该正常离开或 失效离开的CRP的^:值和地址信息。
当IRP正常离开或失效离开网络时,对整个网络没有影响,并不需要 向任何节点通报或转移信息。
节点离开网络时,首先会造成该节点负责的键值空间的重新划分,这 仅会影响该节点的邻居节点。此后,根据该节点的类型不同,会产生不同 的影响。如果该节点是CP,则仅会影响到该内容的VS;若该节点是VS, 则会影响到该内容的CP和所有CRP;若该节点是CRP,则仅会影响到该 内容的VS;若该节点是IRP,则不会对其他节点产生影响。
本实施例中,通过计时器周期性的探测、或通过交互(例如内容的 查找、验证)的方式发现该内容的CP、 VS、 CRP正常或失效离开,形成 稳定的分布。当网络中持有该内容的节点发生更替和迁移时,保证不影响 对该内容的查找和管理。节点更替过程仅会对该节点的邻居节点,以及和 特定内容相关的特定节点,而整个网络的大多数节点和内容都不会受到影 响。而且由于内容存储在VS和所有CRP上,且备份在CP上,所以即使 节点突然失效,内容也不会丢失。
实施例五、CRP和IRP管理
CRP和IRP的区别在于对内容的访问频率。节点刚刚成为RP时,一般会作为IRP加入,如果某个IRP频繁访问和使用内容,则会被升级为 CRP。如果某个CRP对内容的访问频率降低了 ,则会被降级为IRP。
为了衡量CRP/IRP对内容的访问频率,每个CRP/IRP都会纪录自己最 近一段时间内对内容的访问频率,并在向VS发送信息时捎带。VS在接收 到每个更新信息的请求时,也会计算近来一段时间内容更新的频率,并根 据内容更新的频率设定升级成为CRP和降级成为IRP的临界值。升级和降 级的临界值根据内容更新的频率确定,可以设置为正好等于内容更新的频 率,也可以将升级临界值设置为内容更新的频率* ( l+p),将降级临界值 设置为内容更新频率* ( l-p),此处,0.5<p<l。
如果接收到某个IRP的信息中访问内容的频率大于升级临界值,则将 该IRP升级为CRP。 VS会保留这个新CRP的地址,并通知该节点已经被 升级为CRP,附带计时器的初始设置。该RP接收到升级信息之后,修改 自身状态,初始化一个计时器开始计时。如图14所示。
如果接收到某个CRP的信息中访问内容的频率低于降级临界值,则将 该CRP降级为IRP。 VS会删除该节点的相关信息,并通知该节点更改状 态。该节点接收到降级信息之后,会更改自己的状态,并删除计时器。如 图15所示。
本实施例中,通过该内容的VS对IRP和CRP的级别管理,满足节点 的晋级要求,降低了向访问频率低的CRP频繁地探测、以及发布更新信息 等导致的通信量,同时,也增强了用户体验。
本实施例中每个节点的远程连接数不是固定不变的,而是根据内容 的热门程度不断变化的。内容越热门,需求内容的节点数越多,构建的远 程连接数就越多,可以进一步加快热门内容的查找速率。
本发明实施例还提供一种分布式网络管理系统,包括虚拟服务器,用 于根据需求内容表进行所述内容的聚类管理;强一致节点,用于对所述内容 进行内容更新操作,向所述内容的VS发送更新请求;弱一致节点,用于发送 版本验证请求,在所述版本为所述内容的最新版本时,进行内容更新操作, 向所述内容的VS发送更新请求;控制节点,用于在探测到所述内容的VS失效离开时,任命所述内容新的vs,当所述内容不存在vs时,任命查询所述 内容的节点成为所述内容的vs。
本发明实施例提供了一种弱一致节点,如图16所示,包括查询模块 1,用于查找内容;存储模块2,用于存储结构路由表、结构内容表、以及 根据所述查找内容生成的需求内容表;路由转发模块3,用于根据所述存 储模块存储的所述结构路由表、结构内容表、以及需求内容表进行消息的 路由转发。第一更新操作模块5,用于发送版本验证请求,在所述版本为 所述内容的最新版本时,进行内容更新操作,向所述内容的VS发送更新 请求。
本发明实施例提供了一种强一致节点,如图17所示,包括查询模块 1,用于查找内容;存储模块2,用于存储结构路由表、结构内容表、以及 根据所述查找内容生成的需求内容表;路由转发模块3,用于根据所述存 储模块存储的所述结构路由表、结构内容表、以及需求内容表进行消息的 路由转发。第二更新操作模块15,用于对所述内容进行内容更新操作,向 所述内容的VS发送更新请求。第一探测模块20,用于每隔一次计时器周 期探测所述内容的VS是否存活。第一报告模块25,用于在所述第一探测 模块20探测到所述内容的VS失效离开时,向所述内容的CP报告所述内 容的VS失效离开。
本发明实施例提供了一种虚拟服务器,如图18所示,包括查询模块 1,用于查找内容;存储模块2,用于存储结构路由表、结构内容表、以及 根据所述查找内容生成的需求内容表;路由转发模块3,用于根据所述存 储模块存储的所述结构路由表、结构内容表、以及需求内容表进行消息的
路由转发。版本验证模块25,用于在接收到所述内容的IRP发送的版本验 证请求时验证所述内容的IRP版本是否是所述内容的最新版本;更新审核 模块26,用于在接收到所述内容的更新请求后,判断所述内容的版本号是 否是最新的版本号,如果是,则接受对所述内容的更新操作并修改所述内 容的版本号;在接收到对所述内容进行内容更新操作的多个更新请求时, 根据所述更新请求的时间戳进行更新审核;第二探测模块27,用于每隔一次计时器周期探测所述内容的CP和所述内容的CRP是否存活;聚类管理 模块28,用于在所述更新审核模块接受对所述内容的更新请求,所述第二 探测模块探测到所述内容的CP或所述内容的CRP失效离开时,根据所述 存储模块存储的所述需求内容表进行所述内容的聚类管理;级别管理模块 29;用于在所述内容的IRP的访问频率高于设定的升级临界值时将所迷内 容的IRP升级为所述内容的CRP;在所述内容的CRP的访问频率低于设 定的降级临界值时将所述内容的CRP降级为所述内容的IRP。
本发明实施例提供了一种控制节点,如图19所示,包括查询模块l, 用于查找内容;存储模块2,用于存储结构路由表、结构内容表、以及根 据所述查找内容生成的需求内容表;路由转发模块3,用于根据所述存储 模块存储的所述结构路由表、结构内容表、以及需求内容表进行消息的路 由转发。第三探测模块35,用于每隔一次计时器周期探测所述内容的VS 是否存活;任命管理模块36,用于在所述第三探测模块35探测到所述内 容的VS失效离开时,任命所述内容新的VS,当所述内容不存在VS时, 任命查询所述内容的节点成为所述内容的VS。
由于一个节点可能同时具有不同内容的CP、 VS、 CRP、和IRP这些身 份,且不同内容的CP、 VS、 CRP、和IRP的处理才几制是类似的,所以该 图将同一内容的CP、 VS、 CRP、和IRP集中显示一个节点上。不影响 在分布网络中, 一个节点只能为同一内容的CP、 VS、 CRP、或IRP中的一 种身份。
本发明实施例提供了一种分布式网络管理系统,包括需求内容表生成 节点,用于当所述节点分别加入分布式网络时,通过查找内容,生成所述内 容的需求内容表,并根据所述需求内容表进行消息的路由转发;聚类管理节 点,用于根据所述需求内容表进行所述内容的聚类管理。
本发明实施例具有以下有益效果
根据节点对内容的访问频率将节点分类,在不同类型的节点之间建立 层次结构实现对内容的控制。本实施例根据节点对内容的访问频率(又称 需求频率)决定了对该节点的内容更新和发布方式通过主动向所有CRP发布更新,避免了 CRP频繁访问内容所带来的大量询问信息;通过IRP在 使用内容前主动向VS询问内容的最新版本,/人而避免了向访问内容频率 较低的IRP频繁发布更新所带来的通信量。因此,本发明实施例在较低的 通信量下实现了对内容及其副本的管理和控制,保证了所有节点在对内容 进行访问时都能获得最新鲜的版本,并保证了所有更新操作都是在最新版 本的基础上累计递增的,而不会出现对陈旧版本的更新操作,此外还有效 地降低了系统通信量,并能适应动态变化环境的需求。节点更替过程仅会 对该节点的邻居节点,以及和特定内容相关的特定节点,而整个网络的大 多数节点和内容都不会受到影响。而且由于内容存储在VS和所有CRP上, 且备份在CP上,所以即使节点突然失效,内容也不会丟失。
本发明实施例提供的方法满足内容及其副本和路由信息可以在网络中 形成比较规则的拓朴结构;保证内容查找的高效性;对内容及其副本进行 有效的更新和控制,保证内容及其副本的有效性;在节点发生迁移和更替 以及节点对内容的需求发生变化时,保证对拓朴结构、内容查找的高效性、 以及内容及其副本的有效性影响较小。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中 的模块或流程并不 一 定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的才莫块可以按照实施例描 述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一 个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步 拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。 权利要求的内容记载的方案也是本发明实施例的保护范围。 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本 发明可以通过石更件实现,也可以可借助软件加必要的通用石更件平台的方式 来实现基于这样的理解,本发明的技术方案可以以软件产品的形式体现出 来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM, U 盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的 普通技术人员来i兌,在不脱离本发明原理的前提下,还可以做出若干改进 和润饰,这些改进和润饰也应-见本发明的保护范围。
权利要求
1、一种分布式网络的管理方法,其特征在于,包括当节点加入分布式网络时,通过查找内容,生成所述内容的需求内容表;当节点为所述内容的虚拟服务器VS时,根据所述需求内容表进行所述内容的聚类管理。
2、 如权利要求l所述的方法,其特征在于,所述生成所述内容的需求内 容表之前还包括生成结构路由表和结构内容表,并根据所述结构路由表、所述结构内容 表和所述需求内容表进行消息的路由转发。
3、 如权利要求l所述的方法,其特征在于,所述结构路由表记录与所述 节点邻接的节点的^l建值和地址信息。
4、 如权利要求l所述的方法,其特征在于,所述结构内容表记录所述节 点为所述内容的控制节点CP的所述内容的4建值、具体内容、以及所述内容的 VS的键值和地址信息。
5、 如权利要求4所述的方法,其特征在于,所述节点加入分布式网络时, 如果所述节点负责的4建值空间有内容,则所述节点为所述内容的CP。
6、 如权利要求4所述的方法,其特征在于,所述需求内容表记录所述节 点查找的所有内容的键值和具体信息,包括所需的所有内容所在的CP的键值和地址信息;以及当所述节点为所述内容的VS时,记录所述内容的所有强一致节点CRP 的键值和地址信息;当所述节点为所述内容的CRP或弱一致节点IRP时,记录所述内容的 VS的键值和地址信息。
7、 如权利要求l所述的方法,其特征在于,所述内容的VS根据所述需 求内容表进行所述内容的聚类管理包括所述内容的VS获取所述内容的更新信息,所述内容的VS根据所述需求内容表向所述内容的CP及所述内容的所有 CRP发布所述内容的更新信息。
8、 如权利要求7所述的方法,其特征在于,所述内容的VS获取所述内容的更新信息之前包括所述内容的IRP向所述内容的VS发送版本,睑证请求,在所述内容的VS 验证所述内容的IRP持有的所述内容的版本为最新版本后对所述内容进行更 新操作,向所述内容的VS发送更新请求;所述内容的VS在接收到所述更新请求后对所述内容的更新操作进行更 新审核,审核成功后,接受对所述内容的更新操作并修改所述内容的版本号 以获取所述内容的更新信息。
9、 如权利要求7所述的方法,其特征在于,所述内容的VS获取所述内 容的更新信息之前包括所述内容的CRP对所述内容进行更新操作,向所述内容的VS发送更新 请求;所述内容的VS在接收到所述更新请求后对所述内容的更新操作进行更 新审核,审核成功后,接受对所述内容的更新操作并修改所述内容的版本号 以获取所述内容的更新信息。
10、 如权利要求8或9所述的方法,其特征在于,还包括所述内容的VS在接收到对所述内容进行更新操作的多个更新请求时,根 据所述更新请求的时间戳进行更新审核。
11、 如权利要求l所述的方法,其特征在于,所述内容的VS根据所述需 求内容表进行所述内容的聚类管理包括所述内容的VS在所述内容的CP正常离开时,根据所述需求内容表将所 述内容的CP的更替消息发送给所有所述内容的CRP;或者所述内容的VS在探测到所述内容的CP失效离开时,将所述内容和自身 的所述内容的VS的信息复制给所述内容的新的CP,才艮据所述需求内容表将 所述内容的CP的更替消息发送给所有所述内容的CRP。
12、 如权利要求l所述的方法,其特征在于,还包括所述内容的VS在自身正常离开时,选择所述内容的新的VS,将所述内 容的所有CRP信息发送给所述内容的新的VS,并根据所述需求内容表向所 述内容的所有CRP发送所述内容的VS的更替消息。
13、 如权利要求l所述的方法,其特征在于,还包括所述内容的CP在所述内容原有的VS失效离开后,选择所述内容新的 VS,并将所述内容新的VS信息发送给报告所述内容的VS失效离开和查询所 述内容的所述内容的CRP和IRP。
14、 如权利要求13所述的方法,其特征在于,所述选择所述内容新的 VS包括所述内容的新的VS。
15、 如权利要求14所述的方法,其特征在于,所述内容的CP将前来才艮 告所述内容的VS失效的所述内容的CRP设置为所述内容的新的VS之前还 包括所述内容的CRP在一个计时器周期探测不到所述内容的VS,向所述内 容的CP报告所述内容的VS失效离开;或者所述内容的CRP向所述内容的VS发送更新请求时探测到所述内容的VS 失效离开,向所述内容的CP报告所述内容的VS失效离开。
16、 如权利要求13所述的方法,其特征在于,所述选择所述内容新的 VS包括所述内容的CP在一次计时周期内没有所述内容的CRP前来l艮告所述内 容的VS失效时,将前来^^告所述内容的VS失效的所述内容的CRP设置为 所述内容的新的VS。
17、 如权利要求16所述的方法,其特征在于,所述将前来报告所述内容 的VS失效的所述内容的CRP设置为所述内容的新的VS之前还包括有的VS失效离开,向所述内容的CP报告所述内容的VS失效离开;或者所述内容的IRP作为一个新的节点加入网络时,所述内容的CP返回所述 内容的VS信息,所述内容的IRP根据所述内容的VS信息出现连接故障时, 向所述内容的CP报告所述内容的VS失效离开。
18、 如权利要求6所述的方法,其特征在于,还包括所述内容的VS在所述内容的CRP正常离开或失效离开时,在所述节点 的内容需求表中删除所述正常离开或失效离开的CRP的键值和地址信息。
19、 一种分布式网络的内容查询方法,其特征在于,包括 接收内容的查询请求,所述查询请求携带所述内容的4建值;当所述节点的键值管理范围不包括所述内容的键值时,根据需求内容表 获取与所述内容的键值距离最小的节点,向与所述内容的键值距离最小的节 点转发所述查询请求。
20、 如权利要求19所述的方法,其特征在于,所述节点接收内容的查询 请求还包括当所述节点的键值管理范围包括所述内容的键值时,所述节点为所述查 询内容的CP,当所述内容不存在VS时,所述源节点成为所述内容的VS,并 与所述内容的CP建立双向连接;当所述内容存在VS时,所述源节点成为所 述内容的弱一致节点IRP,并与所述内容的VS建立连接。
21、 如权利要求20所述的方法,其特征在于,所述源节点成为所述内容 的VS,并与所述内容的CP建立双向连接之后还包括所述VS和所述CP保持周期性的存活探测。
22、 如权利要求20所述的方法,其特征在于,所述节点成为所述内容的 IRP之后还包括当所述内容的IRP的访问频率高于所述内容的VS设定的升级临界值时, 所述内容的VS将所述内容的IRP升级为所述内容的CRP。
23、 如权利要求22所述的方法,其特征在于,还包括将所述内容的CRP降级为所述内容的IRP。
24、 一种分布式网络管理系统,其特征在于,包括 需求内容表生成节点,用于当所述节点分别加入分布式网络时,通过查找内容,生成所述内容的需求内容表,并根据所述需求内容表进行消息的路由转发;聚类管理节点,用于才艮据所述需求内容表进行所述内容的聚类管理。
25、 一种分布式网络管理系统,其特征在于,包括 虚拟服务器,用于根据需求内容表进行所述内容的聚类管理; 强一致节点,用于对所述内容进行内容更新才喿作,向所述内容的所述虚拟服务器VS发送更新请求;弱一致节点,用于发送版本验证请求,在所述版本为所述内容的最新版本时,进行内容更新操作,向所述内容的VS发送更新请求;控制节点,用于在探测到所述内容的VS失效离开时,任命所述内容新的VS,当所述内容不存在VS时,任命查询所述内容的节点成为所述内容的VS。
26、 一种弱一致节点,其特征在于,包括 查询模块,用于查找内容;路由转发模块,用于根据所述存储模块存储的需求内容表进行消息的路 由转发;第一更新操作模块,用于发送版本验证请求,在所述版本为所述内容的 最新版本时,进行内容更新操作,向所述内容的VS发送更新请求。
27、 如权利要求26所述弱一致节点,其特征在于,还包括 存储模块,用于存储根据所述查找内容生成的需求内容表。
28、 一种强一致节点,其特征在于,包括 查询模块,用于查找内容;路由转发模块,用于根据所述存储模块存储的需求内容表进行消息的路 由转发;第二更新搡作模块,用于对所述内容进行内容更新操作,向所述内容的 VS发送更新请求。
29、 如权利要求28所述的强一致节点,其特征在于,还包括 第一探测模块,用于每隔一次计时器周期探测所述内容的VS是否存活; 第一报告模块,用于在所述第一探测模块探测到所述内容的VS失效离开时,向所述内容的CP报告所述内容的VS失效离开。
30、 一种虚拟服务器,其特征在于,包括 查询模块,用于查找内容;路由转发模块,用于根据所述存储模块存储的需求内容表进行消息的路 由转发;聚类管理模块,用于在所述更新审核模块接受对所述内容的更新请求, 所述第二探测模块探测到所述内容的CP或所述内容的CRP失效离开时,根 据所述存储模块存储的所述需求内容表进行所述内容的聚类管理。
31、 如权利要求30所述虚拟服务器,其特征在于,还包括 版本验证模块,用于在接收到所述内容的IRP发送的版本验证请求时验证所述内容的IRP版本是否是所述内容的最新版本;更新审核模块,用于在接收到所述内容的更新请求后,判断所述内容的 版本号是否是最新的版本号,如果是,则接受对所述内容的更新操作并修改 所述内容的版本号;在接收到对所述内容进行内容更新操作的多个更新请求 时,根据所述更新请求的时间戳进行更新审核;第二探测模块,用于每隔一次计时器周期探测所述内容的CP和所述内容 的CRP是否存活;级别管理模块;用于在所述内容的IRP的访问频率高于设定的升级临界 值时将所述内容的IRP升级为所述内容的CRP;在所述内容的CRP的访问频 率低于设定的降级临界值时将所述内容的CRP降级为所述内容的IRP。
32、 一种控制节点,其特征在于,包括 查询模块,用于查找内容;路由转发模块,用于根据所述存储模块存储的需求内容表进行消息的路由转发;第三探测模块,用于每隔一次计时器周期探测所述内容的VS是否存活; 任命管理模块,用于在所述第三探测模块探测到所述内容的VS失效离开时,任命所述内容新的VS,当所述内容不存在VS时,任命查询所述内容的节点成为所述内容的VS。
全文摘要
本发明实施例公开一种分布式网络的管理方法、内容查询方法、系统及装置。该方法包括当节点加入分布式网络时,通过查找内容,生成所述内容的需求内容表;当节点为所述内容的虚拟服务器VS时,根据所述需求内容表进行所述内容的聚类管理。采用本发明实施例提供的技术方案保证了内容在网络中稳定分布,内容查找的有效性、高效性。
文档编号H04L12/58GK101594316SQ20081011078
公开日2009年12月2日 申请日期2008年5月30日 优先权日2008年5月30日
发明者刘姗姗, 进 张, 李金龙, 沈静波, 王铁英 申请人:华为技术有限公司;中国科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1