CN101094244A - P2p系统中的高性能分布哈希表方法 - Google Patents

P2p系统中的高性能分布哈希表方法 Download PDF

Info

Publication number
CN101094244A
CN101094244A CN 200710035298 CN200710035298A CN101094244A CN 101094244 A CN101094244 A CN 101094244A CN 200710035298 CN200710035298 CN 200710035298 CN 200710035298 A CN200710035298 A CN 200710035298A CN 101094244 A CN101094244 A CN 101094244A
Authority
CN
China
Prior art keywords
node
sign
neighbours
resource object
resource
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.)
Pending
Application number
CN 200710035298
Other languages
English (en)
Inventor
李东升
卢锡城
张一鸣
刘锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN 200710035298 priority Critical patent/CN101094244A/zh
Publication of CN101094244A publication Critical patent/CN101094244A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明公开了一种P2P系统中的高性能分布哈希表方法。该方法采用相邻位不同的字符串作为资源对象标识和结点标识,通过“标识左移”和“拓扑关系不变量”拓扑构造规则组织邻居关系,结点加入或退出时采用了“局部优化”的动态均衡机制,资源对象被发布到结点标识是其前缀的结点上,资源定位消息转发时按照“标识左移”和“后缀匹配”方式进行。本发明能够在保持较小的维护开销同时获得良好的资源定位性能。

Description

P2P系统中的高性能分布哈希表方法
技术领域
本发明涉及大规模网络计算系统中的资源管理方法,尤其是支持P2P模式的网络计算系统中资源有效定位的高性能分布哈希表方法。
背景技术
当前,网络计算系统在科学研究、电子商务、电子政务和军事应用等重要领域都有着广阔的应用前景。网络计算的目标是将广域分布的计算、存储、信息以及仪器等各种资源通过网络组织并集成起来,以实现网络资源的有效共享和综合利用。资源定位是网络计算系统资源共享和协作的基础。根据资源组织模式,网络计算系统通常可分为两种:C/S(Client/Server)模式和P2P(peer-to-peer)模式,如图1所示。本发明针对P2P模式的网络计算系统,简称P2P系统。
在P2P系统中,各结点在逻辑上是对等的,没有客户端和服务器之分,各个结点之间可以直接进行通信和交互。分布哈希表(Distributed Hash Table,简称DHT)方法是实现P2P系统中资源定位的重要关键技术,直接决定着P2P系统的性能和可扩展性。目前P2P分布式存储、应用层组播、P2P名字服务和P2P数据管理等大量P2P系统都采用分布哈希表方法作为资源定位技术。
分布哈希表方法将资源定位问题抽象为:如何将大规模的资源对象发布到P2P系统中的大量结点上,以支持资源对象的高效定位,适应结点的动态变化,并实现结点间的负载均衡。在分布哈希表方法中,每个结点都有唯一的数字结点标识,并根据一定算法在结点间构建P2P网络拓扑。每个结点都维护一个“转发表”,保存相关邻居结点的信息。每个资源对象根据其关键字,通过某种哈希函数得到资源对象标识。资源对象的标识和结点标识通常属于相同或相似的名字空间,各结点都负责资源对象标识空间的一部分。当结点加入或退出时,各相关结点需要修改转发表,并动态调整其负责的标识空间范围,以维护分布哈希表的一致性。在资源定位时,每个结点根据其“转发表”将资源定位消息转发到相应的邻居结点上,直到最终到达目标结点。
评价分布哈希表方法性能的重要参数包括结点度数和定位延迟等。结点度数是指分布哈希表方法中各结点上维护的“路由表”的大小,即分布哈希表方法的状态存储和维护开销;定位延迟是指一次资源定位请求在系统中转发的逻辑跳步数。为取得良好的实用性能,分布哈希表方法应该兼顾多个方面的特性。但这几个性能特性之间存在冲突。传统的分布哈希表方法在结点度数为较小常量时,其路由延迟相当大,给分布哈希表方法的广泛应用带来困难。
发明内容
本发明所要解决的技术问题在于:针对分布哈希表方法在结点度数常量时路由延迟大的难题,提出了一种既能够具有较小的常量度数,又支持高性能资源定位的分布哈希表方法。
本发明的技术方案为:结点标识和资源对象标识是长度不等的特定字符串,结点间拓扑关系按照结点“标识左移”与“拓扑关系不变量”规则动态建立,邻居结点的标识长度相差不超过1,结点加入或退出时采用了“局部优化”的动态均衡机制,资源对象被发布到结点标识是其前缀的结点上,资源定位消息转发时按照“标识左移”和“后缀匹配”方式进行。具体包括:
(1)资源对象命名:对每个资源对象,通过本发明设计的算法为其产生一个100位的特定三进制串作为标识,该串的相邻位字符不同。
(2)结点命名:网络计算系统中的每个结点,具有唯一的结点标识。结点标识为长度不等的三进制串,且相邻位不同。当新结点加入或已有结点离开网络计算系统时,相关结点的标识会进行动态调整。
(3)结点间拓扑关系构造规则:本发明设计了拓扑关系不变量规则“邻居结点的标识长度相差不超过1”,并在结点动态加入或退出时维护这一规则,使得系统具有网络拓扑直径小和结点负载均衡等良好特性。结点间根据其结点标识的“左移关系”建立邻居拓扑关系:设结点U的标识为u1u2...uk,则其出边邻居为系统中所有标识为u2u3...ukq1...qm(u2u3...ukq1...qm,0≤m≤2)的结点,其入边邻居为系统中所有标识为au1u2...ui(k-2≤i≤k)的结点。每个结点都维护一个“转发表”,存储结点的出边邻居和入边邻居的结点标识和IP地址等信息。图2给出了结点标识及其拓扑关系的一个示例。可以证明,结点的入度为2,出度在1到4之间。
(4)结点间拓扑关系的动态构建和维护流程
a)初始化:系统初始包括三个结点,其标识分别为0,1,2。每个结点的初始邻居是其它两个结点。
b)结点加入处理流程:当新结点P加入时,首先选取系统中满足下列条件的任一结点V:V的结点标识长度不大于其任一邻居结点;然后拆分结点V的标识,设结点V标识为v1v2...vk,则结点P加入后,结点V的标识变为v1v2...vkx0,新结点P的标识设置为
Figure A20071003529800061
(0≤x0 x ~ 0 ≤ 2 , 且x0≠vk x ~ 0 ≠ v k , x 0 ≠ x ~ 0 ),P和V成为兄弟结点;更新P、V以及相关结点的转发表。
c)结点退出处理流程:当系统检测到结点Q离开时,首先选取系统中某一对满足下列条件的兄弟结点Y=y1y2...yp-1yp Y ′ = y 1 y 2 . . . y p - 1 y ~ p :Y和Y’的标识长度都不小于其各自的邻居;将结点Y的标识改为Q的标识,Y’的标识改为y1y2...yp-1;并更新相关结点的转发表。
(5)资源对象定位消息的转发。各结点在接收到资源对象定位消息后,按照目标资源对象的标识以及定位消息携带的剩余步数信息,根据转发表将定位消息按照结点“标识左移”和“后缀匹配”方式进行转发,直到到达目标结点。可以证明,资源对象定位的平均路由延迟小于log2N,N为系统中结点总数。
(6)资源对象的发布和查询。资源对象被发布到结点标识为其标识前缀的结点上。任一结点接收到资源对象的发布请求时,该结点会发起一个到资源对象标识的资源定位请求。该请求经过多个结点转发,最终会到达目标结点。可以证明,该目标结点的标识为资源对象标识的前缀。资源对象的查询过程与发布过程相同。
与现有技术相比,本发明的优点在于:
1、本发明引入资源对象和结点的命名方法,设计了“标识左移”和“拓扑关系不变量”的拓扑构造规则,各结点根据它们的标识按照这些规则组织邻居关系,能够形成具有常量度数(平均度数为4)和短网络直径的分布哈希表拓扑结构;
2、在形成的良好拓扑结构基础上,本发明使用结点标识左移和后缀匹配的方式转发资源定位消息,能够将资源定位消息准确地转发到离目标结点近的邻居结点,并能在不同邻居结点和拓扑链路上均衡分散定位消息,避免系统拥塞,提高分布哈希表的资源定位效率;
3、本发明提出“局部优化”的动态维护机制,对结点的动态加入或退出进行有效处理,能够维护良好的系统拓扑,促进结点间负载平衡,减小分布哈希表的维护开销。
综合上述三个方面,本发明实现了使用较小的结点度数就能够获得良好定位性能的高性能分布哈希表方法。
附图说明
图1为两种计算模式示意图。
图2为结点标识及其拓扑关系示意图。
具体实施方式
在本发明中,资源对象的标识是长度为100且相邻位不同的三进制串。为使得各资源对象的标识是确定性的,并在标识空间中均匀分布,本发明设计了K_Hash命名算法,根据关键字key为资源对象产生100位的目标串ξ。该算法使用了参数p和n,具体流程如下:首先将0、1、...、p附加到串key后,得到key0、key1、...、keyp,然后对它们分别实施SHA-1算法得到二进制串D0、D1、...、Dp。连接D0、D1、...、Dp得到二进制串D,然后将D转换成三进制串R’,并取R’的低n位,得到R。再对三进制串R进行转换,合并R中相同的相邻位(即将R中的任何相同数字组成的序列b...b(b∈{0,1,2})都用单个的数字b代替),从而得到串Q。如果串Q长度小于100,则保留D0、D1、...、Dp的值,再将p+1附加到key后,计算Dp+1,...,一直重复上述过程,直到获得长度不小于100的串Q。截取串Q的低100位即可得到目标串ξ。容易证明,取p=2,n=280时,在大概率情况下采用K_hash算法产生的资源对象标识是在标识空间中均匀分布的。
在本发明中,资源对象的定位是通过结点间转发定位消息来完成的。资源对象定位算法包括初始化和结点转发处理两部分,流程如下:(1)初始化。一旦源结点W=w1w2...wk需要发起到目标串V=v1v2...vm的定位消息,首先W需要进行初始化处理:若wk=v1,则串S=wk,长度L=k-1;否则S为空串,长度L=k;然后W按照下面的转发算法处理定位消息Routing(V,L,S)。(2)各结点的转发处理。各结点将定位消息按照“标识左移”和“后缀匹配”方式转发给其邻居结点。对任意结点U=u1u2...uk,U接收到定位消息Routing(V,L,S)后的处理过程如下:如果L等于0,则路由消息终止在U;否则若U的转发表中有一个邻居结点Q=u2...ukx1...xj(0≤j≤2)且Sx1...xj是V的前缀,则U将定位消息Routing(V,L-1,Sx1...xj)发送给邻居Q。可以证明,到目标串V的资源定位消息最终会到达唯一的结点V’,并且结点V’的标识为串V的前缀。
本发明提出“局部优化”的动态维护机制,结点加入时选择长度不大于其邻居的结点标识(局部最短标识)进行拆分,结点退出时选择标识长度不小于其邻居的两个兄弟结点标识(局部最长标识)进行合并。
当新结点P通过系统中的某结点M加入系统时,结点P首先通过K_Hash命名算法得到一个目标串U=u1u2...u100(根据P的IP地址通过K_Hash算法获得);然后P通过结点M发起到目标串U的定位消息,该定位消息最终会到达唯一的结点W。结点W产生一个ZONE消息,接着从结点W开始,如果当前结点的标识长度比其某个邻居的长,则将ZONE消息转发给此邻居(如果有多个标识长度短的邻居,则随机转发给其中的某一个邻居)。ZONE消息会一直被转发到标识短的邻居结点,直到最终到达了结点V,而结点V没有一个邻居的结点标识比V的短。最后调整结点V的标识,设结点V标识为v1v2...vk,则结点P加入后,结点V的标识调整为v1v2...vkx0,新结点P的标识设置为
Figure A20071003529800091
(0≤x0 x ~ 0 ≤ 2 , 且x0≠vk x ~ 0 ≠ v k , x 0 ≠ x ~ 0 ),P和V成为兄弟结点;并更新P、V以及相关结点的转发表。
在网络计算系统中,结点可以由于退出或失效等原因动态地离开系统。对结点的离开,可通过邻居结点间的周期性KeepAlive消息进行检测。结点的退出会引起结点标识的合并。为取得较好的负载平衡,本发明通过“局部优化”的动态维护机制,选择一对兄弟结点进行标识合并,它们的标识长度都不小于其各自邻居的结点标识。当结点V检测到其某个邻居已离开系统时,发出一个DEPART消息。如果结点V的某个邻居结点标识比V的长,则DEPART消息被转发给此邻居。DEPART消息会一直被转发,直到DEPART消息到达了某个结点U=u1u2...uk-1uk,而结点U的各个邻居的结点标识长度都不大于结点U。考虑结点U的邻居R=au1u2...ui(k-2≤i≤k),R会有一个邻居W=u1u2...uk-1ukq1...qm(0≤m≤1)。若W的某个邻居Q的结点标识比W长,则DEPART消息被转发到Q,继续传播;否则:(1)若m=0则W=u1u2...uk-1uk得到符合条件的兄弟结点U和W,DEPART消息停止传播;(2)若m=1,W=u1u2...uk-1ukq1,则R也有邻居W’=u1u2...uk-1ukq1如果W’有一邻居T的结点标识长度大于W’,则DEPART消息转发到T,继续传播;否则得到符合条件的兄弟结点W、W’,DEPART消息停止传播。由于在整个过程中,DEPART消息每转发一次,所经过结点的标识长度都至少会减少1,DEPART消息的转发最终会停止下来,得到满足条件的兄弟结点Y=y1y2...yp-1yp Y ′ = y 1 y 2 . . . y p - 1 y ~ p ,Y和Y的标识长度都不小于其各自的邻居。最后调整结点标识,将结点Y的标识改为V的标识,Y’的标识改为y1y2...yp-1;并更新相关结点的转发表。

Claims (5)

1、P2P系统中的高性能分布哈希表方法,其特征在于结点标识和资源对象标识是长度不等的特定字符串,结点间拓扑关系按照结点“标识左移”与“拓扑关系不变量”规则动态建立,邻居结点的标识长度相差不超过1,结点加入或退出时采用了“局部优化”的动态均衡机制,资源对象被发布到结点标识是其前缀的结点上,资源定位消息转发时按照“标识左移”和“后缀匹配”方式进行,具体包括:
(1)资源对象命名;
(2)结点命名;
(3)结点间拓扑关系构造规则;
(4)结点间拓扑关系的动态构建和维护流程,包括:
a)初始化;
b)结点加入处理流程;
c)结点退出处理流程;
(5)资源对象定位消息的转发;
(6)资源对象的发布和查询。
2、根据权利要求1所述的P2P系统中的高性能分布哈希表方法,其特征在于所述资源对象的标识为100位的三进制字符串,该字符串中相邻位字符不同。
3、根据权利要求2所述的P2P系统中的高性能分布哈希表方法,其特征在于资源对象命名算法的流程为:通过合并SHA-1算法得到多个160位的二进制串,将其转换成三进制串,并将串中多个相同的相邻字符用一个该字符替代,截取所得串的低100位,获得长度为100且相邻位不同的三进制串。
4、根据权利要求2所述的P2P系统中的高性能分布哈希表方法,其特征在于结点间拓扑关系构造遵循“拓扑关系不变量”规则,即邻居结点的标识长度之差不超过1,结点间根据其结点标识的“左移关系”建立邻居拓扑关系,结点通过维护转发表保持邻居结点的结点标识、IP地址和端口号等信息。
5、根据权利要求2所述的P2P系统中的高性能分布哈希表方法,其特征在于资源对象的定位流程如下:各结点在接收到资源定位消息后,按照目标资源对象的标识以及定位消息携带的剩余步数信息,根据结点转发表,将定位消息按照“标识左移”和“后缀匹配”方式转发到邻居结点,邻居结点进行类似处理,资源定位消息一直在结点间转发,直到到达目标结点。
CN 200710035298 2007-07-06 2007-07-06 P2p系统中的高性能分布哈希表方法 Pending CN101094244A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200710035298 CN101094244A (zh) 2007-07-06 2007-07-06 P2p系统中的高性能分布哈希表方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200710035298 CN101094244A (zh) 2007-07-06 2007-07-06 P2p系统中的高性能分布哈希表方法

Publications (1)

Publication Number Publication Date
CN101094244A true CN101094244A (zh) 2007-12-26

Family

ID=38992270

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200710035298 Pending CN101094244A (zh) 2007-07-06 2007-07-06 P2p系统中的高性能分布哈希表方法

Country Status (1)

Country Link
CN (1) CN101094244A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101369923B (zh) * 2008-09-24 2010-12-29 中兴通讯股份有限公司 一种使用分布式哈希表提高集群web服务性能的方法
WO2011009241A1 (zh) * 2009-07-24 2011-01-27 华为技术有限公司 处理网络映射标识的方法、装置及系统和选择对等点的方法
CN101309274B (zh) * 2008-06-27 2011-02-09 南京邮电大学 混合架构入侵检测系统规则库创建方法
CN101286920B (zh) * 2008-05-15 2011-04-20 华中科技大学 一种有结构对等网络的可扩展资源查找方法
CN110875942A (zh) * 2018-09-03 2020-03-10 北京京东尚科信息技术有限公司 一种热点节目负载均衡的方法和装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101286920B (zh) * 2008-05-15 2011-04-20 华中科技大学 一种有结构对等网络的可扩展资源查找方法
CN101309274B (zh) * 2008-06-27 2011-02-09 南京邮电大学 混合架构入侵检测系统规则库创建方法
CN101369923B (zh) * 2008-09-24 2010-12-29 中兴通讯股份有限公司 一种使用分布式哈希表提高集群web服务性能的方法
WO2011009241A1 (zh) * 2009-07-24 2011-01-27 华为技术有限公司 处理网络映射标识的方法、装置及系统和选择对等点的方法
CN102422597A (zh) * 2009-07-24 2012-04-18 华为技术有限公司 处理网络映射标识的方法、装置及系统和选择对等点的方法
US9325788B2 (en) 2009-07-24 2016-04-26 Huawei Technologies Co., Ltd. Method, device and system for processing a network mapping identifier, and peer selection method
CN110875942A (zh) * 2018-09-03 2020-03-10 北京京东尚科信息技术有限公司 一种热点节目负载均衡的方法和装置
CN110875942B (zh) * 2018-09-03 2023-03-07 北京京东尚科信息技术有限公司 一种热点节目负载均衡的方法和装置

Similar Documents

Publication Publication Date Title
US7660320B2 (en) Communication network, a method of routing data packets in such communication network and a method of locating and securing data of a desired resource in such communication network
Guo et al. Exploiting efficient and scalable shuffle transfers in future data center networks
CA2652917A1 (en) Inter-proximity communication within a rendezvous federation
CN101094244A (zh) P2p系统中的高性能分布哈希表方法
Xu et al. Energy‐efficient big data storage and retrieval for wireless sensor networks with nonuniform node distribution
CN102325093A (zh) 一种结构化p2p网络中的路由系统构建方法
Shi et al. Tinymq: A content-based publish/subscribe middleware for wireless sensor networks
Chen et al. Beaconvey: Co-design of overlay and routing for topic-based publish/subscribe on small-world networks
Tato et al. Designing overlay networks for decentralized clouds
Cherbal et al. A survey of DHT solutions in fixed and mobile networks
Guo et al. BAKE: A balanced Kautz tree structure for peer-to-peer networks
Zhang et al. A new algorithm of service discovery based on DHT for mobile application
Zhang et al. Enabling routing control in a DHT
Takeda et al. New structured p2p network with dynamic load balancing scheme
Li et al. A novel constant degree and constant congestion DHT scheme for peer-to-peer networks
CN101854383B (zh) 基于de Bruijn图的大规模网络资源搜索方法
Huijin et al. Cone: a topology-aware structured P2P system with proximity neighbor selection
Chen et al. Improved hierarchical network model based on pastry scheme
Ding et al. Performing MapReduce on data centers with hierarchical structures
Liu et al. Study on a network communication optimization algorithm of P2P mode
Li et al. A scalable peer-to-peer network with constant degree
Han et al. Toward PTNET Network Topology Analysis and Routing Algorithm Design
Zhao et al. An improved chord based on counting bloom filter and topology-aware lookup
Sharma et al. Design and Evaluation of Swift Routing for Payment Channel Network
Dekar et al. A resource discovery scheme for large scale ad hoc networks using a hypercube-based backbone

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20071226