CN101360055B - 具有常数跳路由特性的p2p网络信息资源定位方法 - Google Patents
具有常数跳路由特性的p2p网络信息资源定位方法 Download PDFInfo
- Publication number
- CN101360055B CN101360055B CN2008102006168A CN200810200616A CN101360055B CN 101360055 B CN101360055 B CN 101360055B CN 2008102006168 A CN2008102006168 A CN 2008102006168A CN 200810200616 A CN200810200616 A CN 200810200616A CN 101360055 B CN101360055 B CN 101360055B
- Authority
- CN
- China
- Prior art keywords
- network
- node
- rp2p
- query requests
- seg
- 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
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
技术领域
本发明涉及计算机网络技术,特别是涉及一种能够在常数跳路由内针对查询请求完成信息资源定位的算法和相应的P2P(Peer to Peer,对等网络)网络构架方法,算法路由跳数不随网络规模的增大而增加。
背景技术
在P2P系统中,数据可能存在于网络中的任意结点上。因此,如何能够高效地定位存储特定数据的结点成为一个最基本的问题。Napster(一种在线音乐服务,第一个广泛应用的对等网络音乐共享服务)利用了中心化的目录系统进行资源定位,单点故障问题明显。实用的Gnutella(一种基于P2P网络的实用文件共享网络)和KaZaA(另一种文件共享网络)基于洪泛搜索机制,但在大规模网络中会产生大量的通讯负载。为了解决P2P系统可扩展性的问题,很多P2P系统采用分布式哈希表(DHT Distributed Hash Table)将管理数据定位的责任分布给网络中的结点。
构建一个P2P网络,关键在于时间-空间复杂度的折衷,即邻居数(路由表的大小)与网络直径(路由长度)之间的折衷。经典的查询路由协议有Tapestry,Pastry,CAN,Chord等。PRR和Pastry需要个邻居,路由跳数为Tapestry和Chord需要O(logN)个邻居,路由跳数为O(log N)。CAN的每个结点状态信息与网络规模无关,为O(k),但其路由路径长度为O(kN1/k)。Viceroy(最早的常数度P2P模型)是第一个近似最优的系统,每个结点需要7个邻居,路由跳数为O(logN)。Koorde(一种度最优分布式哈希表)和Manku(一种结构化查询路由协议)需要O(k)个邻居,路由跳数为
综上所述,大多数现存的P2P网络都需要O(kN1/k)、O(logN)、O(logN/logk)跳路由解决查询请求,随着网络规模的扩大,路由路径长度将会越来越大,搜索效率越来越低。此外,网络波动也增大了维护路由信息的网络开销。
发明内容
针对上述现有技术中存在的缺陷,本发明所要解决的技术问题是提供一种能够在计算复杂度为常数的查询路由跳数内处理查询请求,能克服现有的P2P网络受网络规模、网络波动影响,以及路由表长度和路由跳数越来越大,导致查询效率降低的问题的具有常数跳路由特性的P2P网络信息资源定位方法。
为了解决上述技术问题,本发明所提供的一种具有常数跳路由特性的HP2P(分层构建的RP2P)网络信息资源定位方法,该方法用HP2P(d,c)来表示,其特征在于,在HP2P(分层构建的RP2P)网络中,当结点x收到一个查询请求request(id),它会从网络的顶层至底层进行查询。在网络的第k层按如下步骤的算法执行,以查找sup_seg[k](z)包含id的结点z:
1)查询请求的TTL值减1;
2)如果id∈sup_seg[k](x)则
3)将其自身返回给请求者;
5)将z返回给请求者;
6)否则,如果查询请求的TTL≥2,则
7)将查询请求在随机邻居中进行多播;
8)否则
9)丢弃该查询;
其中每个查询请求带有一个的TTL值,这里TTL的初始值为d;x、z为HP2P网络中的结点,sup_seg[k](x)表示结点x在网络第k层的sup_seg,同时x在这一范围内构建网络第k-1层;R[k]x表示x在第k层的随机邻居集;
第二阶段,结点z执行现有技术中的RP2P(随机P2P)网络信息资源定位方法查找node(id)。node(id)为负责id的结点。
进一步的,在HP2P(d,c)网络中路由分为两个阶段;当结点x收到一个查询请求request(id),第一阶段在网络的顶层即第一层至网络的第二层执行,查找sup_seg[k](z)包含id的结点z;第二阶段在网络的第一层执行,结点z通过所述RP2P路由算法处理查询请求。
为了解决上述技术问题,本发明所提供的另一种具有常数跳路由特性的HP2P’(分层构建的RP2P)网络信息资源定位方法,该方法用HP2P’(d,c)来表示,其特征在于,在HP2P’(分层构建的RP2P)网络中,对k=(d-1),...,2,假设sup_seg[k](x)为结点x在第k层的sup_seg,R[k]x为结点x在第k层的随机邻居集;则结点x在HP2P`网络的第k层以如下步骤的算法:
1)如果id∈sup_seg[k](x)则
2)x在第(k-1)层以所述的RP2P网络信息资源定位方法执行网络路由;
3)否则,如果则
4)z在第(k-1)层以所述的RP2P网络信息资源定位方法执行网络路由;
5)否则
6)丢弃该查询;
其中x、z为HP2P`网络中的结点;d为指查询路由跳数,sup_seg(x):表示结点x及其顺序邻居Sx所负责的标识符段,id为查询请求关键字对应的标识符,HP2P’为分层构建的RP2P网络。
所述的现有技术中的具有常数跳路由特性的RP2P(随机P2P)网络信息资源定位方法,该方法用RP2P(d,c)来表示,在RP2P(随机P2P)网络中,当结点x收到一个查询请求request(id),RP2P(d,c)会执行如下步骤的算法:
1)查询请求的TTL值减1;
2)如果id∈seg(x)则;
3)处理查询请求并将查询结果返回给请求者;
5)则将查询请求转发给结点y;
7)则将查询请求转发给结点z;
8)否则,如果查询请求的TTL≥2则
9)将查询请求在随机邻居中进行多播;
10)否则,
11)丢弃该查询;
其中,RP2P(d,c)表示能够至少以1-c的概率在d跳路由内解决查询请求的RP2P网络,每个查询请求带有一个初始值为d的TTL值,这样查询的路由路径长度将不会超过d;x、y、z为RP2P网络中的结点,seg(x)表示结点x所负责的部分;Sx表示结点x顺序邻居的集合;Rx表示结点x随机邻居的集合;sup_seg(x)表示结点x及其顺序邻居Sx所负责的部分;RP2P网络为随机P2P网络,id为查询请求关键字对应的标识符,TTL(Time to Live)为生命周期。
本发明提供的具有常数跳路由特性的P2P网络信息资源定位方法的有益效果是:1)具有很好的时间复杂度、空间复杂度和通信复杂度。查询在d跳内完成,且算法路由跳数不随网络规模的增大而增加;2)本发明充分结合了现存结构化P2P网络和非结构化P2P网络的优点,并采用了随机理论和技术。网络中的每个结点都拥有两种类型的邻居,顺序邻居提高了资源定位的效率,随机邻居降低了网络维护的代价,且每个结点仅需维护较少的邻居数。3)本发明结构简单,易于实现。
附图说明
图1是本发明实施例RP2P网络中结点x的随机邻居和顺序邻居的说明示意图;
图2是本发明实施例的RP2P网络中路由算法的实例的说明示意图;
图3是本发明实施例的一个RP2P(2,c)与一个RP2P(3,c)相结合形成HP2P(4,c)的实例说明示意图;
图4是本发明实施例的三个RP2P(2,c)相结合形成HP2P`(4,c)的实例说明示意图。
具体实施方式
以下结合附图说明对本发明的实施例作进一步详细描述,但本实施例并不用于限制本发明,凡是采用本发明的相似方法及其相似变化,均应列入本发明的保护范围。
本发明实施例所提供的一种结合随机技术的P2P网络信息资源定位方法RP2P(Random P2P Network,随机P2P网络),能够在计算复杂度为常数的查询路由跳数内处理查询请求,在此基础上,通过对RP2P网络构架进行分层构建,建立基于P2P的具有层次特征的网络信息资源定位方法HP2P(Hierarchical Random P2P Network,分层构建的RP2P网络)和HP2P`。使反映查询路由跳数的时间复杂度、反映每个P2P结点邻居信息存储的空间复杂度以及反映查询路由过程中控制信息传输开销的通信复杂度分别达到O(d),和O(d)。
RP2P路由算法通过哈希函数将结点的IP地址或关键字映射为一个m-bit的标识符,这个ID空间可被视为一个从0到2m-1的环。设结点数为N,则N个结点将ID空间分为N个部分。结点x负责ID落在其前驱结点到x之间的ID所对应的信息目录部分,其所负责的全体共享信息索引目录信息ID空间记为seg(x)。如果一个关键字ID属于seg(x),那么它对应的信息资源目录信息会存储在结点x上。
在网络中,一些结点之间能够直接通信,称之为邻居。在RP2P网络中,每个结点拥有两种类型的邻居:顺序邻居(random neighbors)和随机邻居(sequentialneighbors)。结点x将它的一些前驱结点和后继结点作为其顺序邻居,记为Sx;将一些随机选择的邻居作为其随机邻居,记为Rx。例如,在图1中结点x有3个随机邻居和4个顺序邻居。
Sx和x所负责的部分记为sup_seg(x)。对于x的每一个顺序邻居y,x存储了y所负责部分的seg(y),同时x也得到了sup_seg(x)。对于x的每一个随机邻居z,x存储了它的sup_seg(z)。
RP2P算法用RP2P(d,c)来表示,其中,d为拟定的完成一次查询的路由跳数,1-c为d跳内完成查询的概率。那么,RP2P(d,c)表示能够至少以1-c的概率在d跳路由内解决查询请求的信息资源定位算法。其工作思路如图2所示。当结点x收到一个查询请求request(id),其中,id为查询请求关键字对应的标识符。如果id∈seg(x),则将查询结果返回给请求者,查询在0跳路由内完成;如果id∈seg(y)(其中y∈Sx)则将查询请求转发给结点y,查询在1跳路由内完成;如果id∈sup_seg(z)(其中z∈Rx)则将查询请求转发给结点z,查询在2跳路由内完成;否则,将查询请求在随机邻居中进行多播。
对于一个整数d≥2和一个很小的常数c∈(0,1),我们证明了如果(其中s和r分别是结点x的顺序邻居数和随机邻居数),那么Pd<c,其中Pd表示查询请求request(id)无法在d跳内找到目标结点node(id)的概率。
对于给定的整数d>3,通过将RP2P(2,c)和RP2P(3,c)相结合,形成分层的RP2P网络,即HP2P(d,c)(Hierarchical Random P2P Networks,分层构建的RP2P网络)网络。对于d=2i,将一个RP2P(2,c)和i-1个RP2P(3,c)相结合;对于d=2i-1,将i个RP2P(3,c)相结合。
这里以一个RP2P(2,c)和一个RP2P(3,c)网络相结合形成HP2P(4,c),来说明HP2P构建的过程。网络的第一层为RP2P(2,c),x在部分ID空间范围内参与RP2P(2,c),记为sup_seg[2](x)。sup_seg[2](x)的大小大约是其中在RP2P(2,c)中,x的顺序邻居数为随机邻居数与顺序邻居数相同。网络的第二层为RP2P(3,c),x将sup_seg[2](x)作为它的sup_seg参与RP2P(3,c),并将x在这一层的随机邻居数设为如图3中,结点x在网络的第一层RP2P(2,c)中,有3个随机邻居和4个顺序邻居;在网络的第二层RP2P(3,c)中,有3个随机邻居。
在HP2P(4,c)网络中路由分为两个阶段。当结点x收到一个查询请求request(id),第一阶段在网络的第一层至第二层执行,查找sup_seg[2](z)包含id的结点z。第二阶段在网络的第一层执行,结点z通过RP2P路由算法处理查询请求。
HP2P网络的时间复杂度、空间复杂度和通信复杂度分别为O(d),
为了降低系统通信复杂度,提出另一种分层构建的随机P2P网络,HP2P`。它的时间复杂度、空间复杂度和通信复杂度分别为O(d),O(d)。HP2P`的构建方法与HP2P类似,但仅使用RP2P(2,c)构建网络,将d-1个RP2P(2,c)相结合进行分层。与HP2P网络相比,HP2P`虽然将通信复杂度降低为常数,但它的层数相当于HP2P网络层数的2倍。对于任意一个结点x,有个顺序邻居,在邻居范围内有个随机邻居,在邻居范围内有个随机邻居,……,在整个ID空间范围内有个随机邻居。HP2P`网络中结点的随机邻居数大约是HP2P网络的随机邻居数的2倍。例如,图4中由三个RP2P(2,c)相结合形成的HP2P`(4,c)网络中,结点x有4个顺序邻居,并且在各层网络RP2P(2,c)中分别有3个随机邻居。
在HP2P`网络中的路由算法也与HP2P路由算法类似,但是RP2P(2.c)不执行多播。
Claims (3)
1.一种具有常数跳路由特性的HP2P网络信息资源定位方法,该方法用HP2P(d,c)来表示,其中,d为常数,指查询路由跳数,1-c表示在不多于d跳内完成一次查询的目标概率,c为常数,可设置;其特征在于,在HP2P网络中,当结点x收到一个查询请求request(id),其中,id为查询请求关键字对应的标识符;它会从网络的顶层至底层进行查询;在网络的第k层按如下步骤的算法执行,以查找sup_seg[k](z)包含id的结点z,其中:sup_seg(x)表示结点x及其顺序邻居Sx所负责的标识符段;
1)查询请求的TTL值减1;
2)如果id∈sup_seg[k](x)则
3)将其自身返回给请求者;
5)将z返回给请求者;
6)否则,如果查询请求的TTL≥2,则
7)将查询请求在随机邻居中进行多播;
8)否则
9)丢弃该查询;
其中每个查询请求带有一个的TTL值,这里TTL的初始值为d;x、z为HP2P网络中的结点,sup_seg[k](x)表示结点x在网络第k层的sup_seg,同时x在这一范围内构建网络第k-1层;R[k]x表示x在第k层的随机邻居集;HP2P为分层构建的RP2P网络;RP2P网络为随机P2P网络;
第二阶段,结点z执行现有技术中的RP2P网络信息资源定位方法查找node(id),node(id)为负责id的结点;所述的现有技术中的RP2P网络信息资源定位方法主要特征是:一种具有常数跳路由特性的RP2P网络信息资源定位方法,该方法用RP2P(d,c)来表示,在RP2P网络中,当结点x收到一个查询请求request(id),RP2P(d,c)会执行如下步骤的算法:
1)查询请求的TTL值减1;
2)如果id∈seg(x)则;
3)处理查询请求并将查询结果返回给请求者;
5)则将查询请求转发给结点y;
6)否则,如果则
7)则将查询请求转发给结点z;
8)否则,如果查询请求的TTL≥2则
9)将查询请求在随机邻居中进行多播;
10)否则,
11)丢弃该查询;
其中,RP2P(d,c)表示能够至少以1-c的概率在d跳路由内解决查询请求的RP2P网络,每个查询请求带有一个初始值为d的TTL值,这样查询的路由路径长度将不会超过d;x、y、z为RP2P网络中的结点,seg(x)表示结点x所负责的部分;Sx表示结点x顺序邻居的集合;Rx表示结点x随机邻居的集合;sup_seg(x)表示结点x及其顺序邻居Sx所负责的部分;RP2P网络为随机P2P网络,id为查询请求关键字对应的标识符,TTL为生命周期。
2.根据权利要求1所述的具有常数跳路由特性的HP2P网络信息资源定位方法,其特征在于,所述在HP2P(d,c)网络中路由分为两个阶段;当结点x收到一个查询请求request(id),第一阶段在网络的顶层即第一层至网络的第二层执行,查找sup_seg[k](z)包含id的结点z;第二阶段在网络的第一层执行,结点z通过权利要求1中所述RP2P网络信息资源定位方法处理查询请求。
3.一种具有常数跳路由特性的HP2P’网络信息资源定位方法,该方法用HP2P’(d,c)来表示,其特征在于,在HP2P’网络中,对k=(d-1),...,2,假设sup_seg[k](x)为结点x在第k层的sup_seg,R[k]x为结点x在第k层的随机邻居集;则结点x在HP2P`网络的第k层以如下步骤的算法:
1)如果id∈sup_seg[k](x)则
2)x在第(k-1)层以权利要求1所述的RP2P网络信息资源定位方法执行网络路由;
4)z在第(k-1)层以权利要求1所述的RP2P网络信息资源定位方法执行网络路由;
5)否则
6)丢弃该查询;
其中x、z为HP2P`网络中的结点,d为指查询路由跳数,sup_seg(x):表示结点x及其顺序邻居Sx所负责的标识符段,id为查询请求关键字对应的标识符,HP2P’为分层构建的RP2P网络。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102006168A CN101360055B (zh) | 2008-09-27 | 2008-09-27 | 具有常数跳路由特性的p2p网络信息资源定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102006168A CN101360055B (zh) | 2008-09-27 | 2008-09-27 | 具有常数跳路由特性的p2p网络信息资源定位方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101360055A CN101360055A (zh) | 2009-02-04 |
CN101360055B true CN101360055B (zh) | 2011-08-17 |
Family
ID=40332396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102006168A Expired - Fee Related CN101360055B (zh) | 2008-09-27 | 2008-09-27 | 具有常数跳路由特性的p2p网络信息资源定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101360055B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8495130B2 (en) * | 2009-10-21 | 2013-07-23 | Telefonaktiebolaget L M Ericsson (Publ) | Method and arrangement for locating services in a peer-to-peer network |
CN104158871A (zh) * | 2014-08-11 | 2014-11-19 | 东莞中山大学研究院 | 一种移动p2p网络资源的定位方法 |
WO2017041631A1 (en) * | 2015-09-10 | 2017-03-16 | Huawei Technologies Co., Ltd. | Communication network, devices and methods for proximity based distributed caching of service information within said network |
CN105357247B (zh) * | 2015-09-22 | 2018-08-28 | 上海理工大学 | 基于分层云对等网络的多维属性云资源区间查找方法 |
-
2008
- 2008-09-27 CN CN2008102006168A patent/CN101360055B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101360055A (zh) | 2009-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101170578B (zh) | 基于语义相似度的层次式对等网络结构及构建方法 | |
Druschel et al. | Pastry: Scalable, decentralized object location, and routing for large-scale peer-to-peer systems | |
Malkhi et al. | Viceroy: A scalable and dynamic emulation of the butterfly | |
CN101360055B (zh) | 具有常数跳路由特性的p2p网络信息资源定位方法 | |
Li et al. | A semantics-based routing scheme for grid resource discovery | |
Guo et al. | Quasi-kautz digraphs for peer-to-peer networks | |
CN102624908B (zh) | 一种基于混合P2P网络结构的语义Web服务发现方法 | |
Artigas et al. | A comparative study of hierarchical DHT systems | |
CN106210090A (zh) | 基于p2p网络的双层环状路由结构的网络服务搜索方法 | |
Detzner et al. | Low-Cost Search in Tree-Structured P2P Overlays: The Null-Balance Benefit | |
Han et al. | A hybrid P2P overlay network for high efficient search | |
CN102469115A (zh) | 一种在p2p网络中基于兴趣社区的覆盖网络搜索架构 | |
Wang et al. | AB-Chord: an efficient approach for resource location in structured P2P networks | |
Zhang et al. | Enabling routing control in a DHT | |
Meng et al. | A P2P Network Model Based on Hierarchical Interest Clustering Algorithm. | |
Ghit et al. | Using bio-inspired models to design peer-to-peer overlays | |
Li et al. | Semantic overlay network for grid resource discovery | |
CN101510198A (zh) | 一种覆盖网洪泛式文件搜索方法 | |
Qiao et al. | A taxonomy-based approach for constructing semantics-based super-peer networks | |
Zhao et al. | Group-based search in unstructured peer-to-peer networks | |
Chang et al. | Range queries based on a structured segment tree in p2p systems | |
Feng et al. | SWS: small world based search in structured peer-to-peer systems | |
Hidalgo et al. | Optimized range queries for large scale networks | |
Zhang et al. | Research of routing algorithm in hierarchy-adaptive P2P systems | |
Chen et al. | Improved hierarchical network model based on pastry scheme |
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 |
Granted publication date: 20110817 Termination date: 20140927 |
|
EXPY | Termination of patent right or utility model |