CN104734962B - 一种非结构化p2p网络的资源搜索方法 - Google Patents

一种非结构化p2p网络的资源搜索方法 Download PDF

Info

Publication number
CN104734962B
CN104734962B CN201510088791.2A CN201510088791A CN104734962B CN 104734962 B CN104734962 B CN 104734962B CN 201510088791 A CN201510088791 A CN 201510088791A CN 104734962 B CN104734962 B CN 104734962B
Authority
CN
China
Prior art keywords
node
neighbor
list item
item
network
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
Application number
CN201510088791.2A
Other languages
English (en)
Other versions
CN104734962A (zh
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.)
Beijing Jiaotong University
Original Assignee
Beijing Jiaotong University
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 Beijing Jiaotong University filed Critical Beijing Jiaotong University
Priority to CN201510088791.2A priority Critical patent/CN104734962B/zh
Publication of CN104734962A publication Critical patent/CN104734962A/zh
Application granted granted Critical
Publication of CN104734962B publication Critical patent/CN104734962B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开一种非结构化P2P网络的资源搜索方法,包括步骤:为网络中各节点分别分配一个标识符,并分别定义各节点的前后向节点、邻居表及其中的表项;发起资源查询请求的节点分别向该节点的邻居表中各表项中的一个邻居节点发送增加转发区间的查询消息;若查询到资源,则向发起资源查询请求的节点发送搜索成功消息;若未查询到,邻居节点根据邻居节点的邻居表中的表项向邻居节点的转发区间内的邻居节点转发增加转发区间的查询消息;重复上一步直至查询到资源或已查询所有节点。本发明所述技术方案解决了洪泛搜索中冗余消息的问题,提高了非结构化P2P网络的资源搜索的可扩展性和效率,从而提高了非结构化P2P网络的可用性。

Description

一种非结构化P2P网络的资源搜索方法
技术领域
本发明涉及P2P网络。更具体地,涉及一种非结构化P2P网络的资源搜索方法。
背景技术
当前,互联网最流行的网络模型主要可以分为两种:C/S模型和P2P模型。由于网络用户数量的递增以及网络信息内容的爆炸性增长,C/S模型的服务器压力越来越大,往往成为网络性能的瓶颈,并且存在单点故障的可能很难满足用户的日益增长的需要。此时,P2P技术应运而生,并逐渐成为研究的热点。P2P网络是一种应用层的分布式网络,由于其具有去中心化,可扩展性高以及负载均衡等特征,使其在各个领域得到了广泛的应用,其中非结构化P2P网络由于其简单性和高鲁棒性得到了深入的研究。
非结构化P2P网络采用基于洪泛的查询机制进行资源搜索。在洪泛的过程中,节点在有限的TTL内,不断地向所有的邻居节点转发消息,直至查询到所需的结果或TTL变为0。洪泛的优点是响应时间短、覆盖范围广以及可靠性高,但洪泛会在网络中产生大量的冗余消息,不仅增加了节点处理负担,还会占用大量的网络带宽。因此,如何进行有效的资源搜索同时降低冗余消息量,提高系统的可扩展性和稳定性,是非结构化P2P网络的一个核心问题。
针对非结构化P2P网络资源搜索的扩展性问题,现有的技术有三类:改进的洪泛算法、树形结构的P2P网络以及将非结构化P2P网络建立在结构化P2P网络上。改进的洪泛算法虽然减少了洪泛搜索产生的网络流量,但是没有完全消除冗余消息,往往会产生较大的搜索延迟,搜索过程有可能丢失节点;树形结构的P2P网络虽然消除了冗余消息,但是维护代价太大,并且存在负载不均衡的问题;由于协议的语义规定了覆盖网节点应如何连接,在结构化P2P网络上建立非结构化P2P网络的思想并不适合高度结构化的DHT协议。
因此,需要提供一种非结构化P2P网络的资源搜索方法。
发明内容
本发明的目的在于提供一种非结构化P2P网络的资源搜索方法,使用基于转发区间的洪泛算法,使得消息沿着生成树的结构传播,查询消息到达每个节点仅仅一次,解决了洪泛搜索中冗余消息的问题,提高非结构化P2P网络的资源搜索的可扩展性和效率,从而提高非结构化P2P网络在实际中的可用性。
为达到上述目的,本发明采用下述技术方案:
一种非结构化P2P网络的资源搜索方法,该方法包括如下步骤:
S1、为非结构化P2P网络中的各节点分别分配一个与节点唯一对应的标识符,并根据各节点在标识符空间中的相对位置分别定义各节点的前向节点、后向节点、邻居表及邻居表中的表项,各节点的邻居表中的表项包括:开始项、结束项、区间项、邻居项和节点冗余度;
S2、发起资源查询请求的节点分别向该节点的邻居表中各表项中的一个邻居节点发送增加转发区间的查询消息;
S3、若在邻居节点中查询到所需资源,则拥有资源的节点向发起资源查询请求的节点发送搜索成功的回复消息,搜索流程结束;若在邻居节点中未查询到所需资源,则邻居节点根据邻居节点的邻居表中的表项向邻居节点的转发区间内的邻居节点转发增加转发区间的查询消息;
S4、重复步骤S3直至查询到所需资源或已查询非结构化P2P网络中所有节点。
优选地,步骤S1进一步包括如下子步骤:
S1.1、使用一致性哈希函数为非结构化P2P网络中的各节点分别分配一个m位的与节点唯一对应的标识符,则标识符空间为以2m为模依次排列的一个标识符圆环;
S1.2、定义节点在标识符空间中沿逆时针方向的第一个节点为节点的前向节点,定义节点在标识符空间中沿顺时针方向的第一个节点为节点的后向节点;
S1.3、定义与节点在标识符空间中相对距离为2m-1的节点为节点的界点,定义节点的邻居表,邻居表中记录在标识符空间中沿顺时针和逆时针方向节点至节点的界点范围内的节点为邻居节点;
S1.4、定义节点的邻居表中的表项,第i个表项包含变量:开始项、结束项、区间项、邻居项和节点冗余度,i为节点的邻居表中表项标号,1≤i<m,
第i个表项的开始项为标识符空间中与节点相对距离为2i-1的节点的标识符,
第i个表项的结束项为标识符空间中与节点相对距离为2i的节点的标识符,
第i个表项的区间项为开始项到结束项的区间,区间项为[2i-1,2i),
第i个表项的邻居项为第i个表项的邻居节点列表,
第i个表项的节点冗余度为邻居项中邻居节点个数的最大值。
优选地,步骤S2中发送增加转发区间的查询消息进一步包括如下子步骤:发起资源查询请求的节点为查询消息增加该节点的邻居表中表项中的开始项和结束项字段作为步骤S3中转发查询消息的转发区间后再向节点的邻居表中的邻居项中的邻居节点发送修改后的查询消息。
优选地,步骤S3中转发增加转发区间的查询消息进一步包括如下子步骤:邻居节点为查询消息增加该邻居节点的邻居表中表项中的开始项和结束项字段作为下一次转发的转发区间后再向邻居节点的邻居表中的邻居项中的邻居节点发送修改后的查询消息。
优选地,在资源搜索的过程中还包括步骤:
随着实际非结构化P2P网络的动态变化在网络中添加和删除节点;
实时维护各节点的邻居表。
优选地,实时维护各节点的邻居表进一步包括子步骤:
非结构化P2P网络中的各节点分别周期性地向该节点的邻居节点发送的探测消息并等待回复消息,如果收到回复消息则不改变节点的邻居表,如果未收到邻居节点的回复消息则向该邻居节点发送离开消息并把该邻居节点从节点的邻居表中移除。
优选地,实时维护各节点的邻居表进一步包括子步骤:
非结构化P2P网络中的各节点分别周期性地判断该节点的前向节点和后向节点是否正确。
优选地,实时维护各节点的邻居表进一步包括子步骤:
非结构化P2P网络中的各节点分别周期性地检查节点邻居表中的所有表项中的邻居节点数量,
若表项中的邻居节点为零,则节点在该表项所属的区间项内发送连接请求并接受来自其他节点的连接请求,
若表项中的邻居节点数不为零且小于表项的节点冗余度,则节点会接受来自其他节点的连接请求,
若表项中的邻居节点数为表项的节点冗余度,则节点不接受来自其他节点的连接请求。
本发明的有益效果如下:
本发明所述技术方案通过为非结构化P2P网络中节点分配m位的标识符,并在查询消息中添加两个m位的字段表示查询消息的转发区间,用于控制节点转发查询消息的转发范围,在洪泛过程中,节点选择在查询消息的转发区间中的邻居节点转发查询消息,由于查询消息的转发区间是不相交的,每次转发后,节点不会出现在之后的转发区间中,保证了查询消息到达网络中所有节点仅一次,解决了洪泛搜索产生大量冗余信息的问题。且本发明所述技术方案解决了非结构化P2P网络中资源搜索的可扩展性差的问题,动态环境中,在很少的网络开销的情况下,就能保证资源搜索的低延迟和稳定性。且本发明所述技术方案相对于其他算法,在算法的简单性、可靠性以及有效性等方面都有一定的优越性,能够满足实际网络环境下对非结构化P2P网络资源搜索的性能要求。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细的说明。
图1示出标识符位数m=3的标志符空间示意图。
图2示出非结构化P2P网络的环状拓扑结构图。
图3示出查询消息的消息体示意图。
图4示出用于非结构化P2P网络的资源搜索方法的洪泛过程中查询消息的转发示意图,其中,4-a示出非结构化P2P网络中节点之间的连接关系,4-b示出洪泛时转发查询消息的过程,4-c示出洪泛过程中消息的传播路径。
图5示出用于非结构化P2P网络的资源搜索方法的发起洪泛和转发查询消息流程图,其中,5-a示出用于非结构化P2P网络的资源搜索方法的发起洪泛流程图,5-b示出用于非结构化P2P网络的资源搜索方法的转发查询消息流程图。
图6示出用于非结构化P2P网络的资源搜索方法中网络维护方法的流程图。
图7示出用于非结构化P2P网络的资源搜索方法中网络维护方法中节点加入网络流程图。
图8示出用于非结构化P2P网络的资源搜索方法中网络维护方法中节点离开网络流程图。
图9示出用于非结构化P2P网络的资源搜索方法中网络维护方法中维护节点的后向节点和前向节点示意图,其中,9-a示出用于非结构化P2P网络的资源搜索方法中网络维护方法中维护节点的后向节点示意图,9-b示出用于非结构化P2P网络的资源搜索方法中网络维护方法中维护节点的前向节点示意图。
图10示出用于非结构化P2P网络的资源搜索方法和Gnutella模型洪泛搜索过程产生的消息数的对比示意图。
图11示出用于非结构化P2P网络的资源搜索方法的节点命中率的结果示意图。
图12示出用于非结构化P2P网络的资源搜索方法的控制消息数的结果示意图。
图13示出用于非结构化P2P网络的资源搜索方法流程图。
具体实施方式
为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。
本实施例提供的用于非结构化P2P网络的的资源搜索方法,包括如下步骤:
Step1、为非结构化P2P网络中的各节点分别分配一个与节点唯一对应的标识符,并根据各节点在标识符空间中的相对位置分别定义各节点的前向节点、后向节点、邻居表及邻居表中的表项,各节点的邻居表中的表项包括:开始项、结束项、区间项、邻居项和节点冗余度,具体过程为:
如图1所示,本实施例提供的用于非结构化P2P网络的资源搜索方法中使用一致性哈希函数为非结构化P2P网络中的各节点分别分配一个m位的与节点唯一对应的标识符,即2m位的与节点唯一对应的标识符。而标识符空间是以2m为模依次排列的一个标识符圆环。在标识符空间中,以任意一个节点x为中心,把与节点x的相对距离大小为2m-1的节点称作节点x的界点,记作M(x)。图1展示了以点0为中心且标识符位数m=3的标识符空间。
如表1所示,本实施例为节点定义了结构化的邻居表,记录沿顺时针和逆时针方向节点x至界点M(x)范围内的邻居节点。节点的邻居表中有m-1个表项,其中,节点的邻居表中第i个表项包含变量开始项start、结束项end、区间项interval、邻居项neighbors和节点冗余度H,i为节点的邻居表中表项标号,1≤i<m。其中:第i个表项的变量start为标识符空间中与节点x相对距离为2i-1的节点的标识符;第i个表项的变量end为标识符空间中与节点x相对距离为2i的节点的标识符,[start,end)表示第i个表项所属的区间。第i个表项的变量interval为起点是2i-1,终点是2i的区间,第i个表项的变量neighbors为第i个表项的邻居节点列表,其节点数受限于变量H,H为节点冗余度,取值为节点的最大邻居节点数量。表1所示为邻居表具体的变量定义,其中x±2i-1和x±2i中的x+2i-1和x+2i分别为沿顺时针记录的正向邻居表中第i个表项的变量start和end的计算方法,x±2i-1和x±2i中的x-2i-1和x-2i分别为沿逆时针记录的负向邻居表中第i个表项的变量start和end的计算方法。
表1
如图2所示,节点x的前向节点是在标识符空间中逆时针方向的第一个节点,记作Predecessor(x)。节点x的后向节点是在标识符空间中顺时针方向的第一个节点,记作Successor(x)。对于节点N0,它的前向节点Predecessor(N0)=N7,它的后向节点Successor(N0)=N1
如图3所示,本实施例为查询消息增加两个m位的字段,分别代表转发区间的左边界和右边界,图3所示为查询消息的消息体的定义。
如图4-a和4-c所示,其中图4-a为非结构化P2P网络中节点之间的连接关系,图4-b展示了洪泛时转发查询消息的过程,图中的区间为节点的转发区间。洪泛搜索过程如下:当节点5发起洪泛时,它选择邻居节点2,4,6,0发送查询消息,当节点2收到查询消息后,它向转发区间[start,end),即[3,1)中的邻居节点3转发消息。节点3收到消息后,发现转发区间中不存在节点,则停止转发,其他节点与之类似。从图中可以看出,节点之间的转发区间是不相交的,且每次转发后,节点不会出现在之后的转发区间中,保证了节点上消息的不重复到达,避免了冗余信息的产生。图4-c展示了洪泛过程中消息的传播路径,可以看出,消息的传播路径是一棵生成树,消息到达任意节点仅一次。
Step2、发起资源查询请求的节点分别向该节点的邻居表中各表项中的一个邻居节点发送增加转发区间的查询消息,例如:
如图5-a所示,对于当前节点x,分别从邻居表的每一个表项中选择一个邻居节点,对于从节点x的邻居表中第i个表项中选出的邻居节点y,把节点x的邻居表中第i个表项的start值和end值赋予消息M的LL和RL字段,并向节点y发送消息M。如果节点x的邻居表中第i个表项不存在邻居节点,即neighbors为空,且第i个表项不是邻居表的最后一个表项,则将表项i所属的区间[start,end)合并到下一个表项的区间中,即第i+1表项的区间中。
Step3、若在邻居节点中查询到所需资源,则拥有资源的节点向发起资源查询请求的节点发送搜索成功的回复消息,搜索流程结束;若在邻居节点中未查询到所需资源,则邻居节点根据邻居节点的邻居表中的表项向邻居节点的转发区间内的邻居节点转发增加转发区间的查询消息,转发增加转发区间的查询消息例如:
如图5-b所示,节点y收到消息M后,对于邻居表中属于转发区间[LL,RL)内的表项i,检查其neighbors是否为空,如果不为空,则从neighbors中选出一个邻居节点z,把节点y的邻居表中第i个表项的start值和end值赋予消息M的LL和RL字段,向邻居节点z发送消息M。如果节点y的邻居表中第i个表项不存在邻居节点,即neighbors为空,且第i个表项不是邻居表的最后一个表项,则将表项i所属的区间[start,end)合并到下一个表项的区间中,即第i+1表项的区间中。
Step4、重复Step3直至查询到所需资源或已查询非结构化P2P网络中所有节点。
如图6所示,本实施例提供的用于非结构化P2P网络的资源搜索方法中的网络维护方法通过在资源搜索过程中随着实际网络的动态变化而产生的2个步骤实现:添加删除节点和维护节点的邻居表。
添加节点如图7所示,节点n加入网络时,需要通过外部机制联系到一个在线的节点,由该节点在全网洪泛一个节点n的连接请求。如果一个节点能够接受节点n作为邻居节点,则该节点就会直接发送回复消息给节点n,最后它们将对方添加到各自的邻居表中。在本实施例中,当节点y收到节点x的连接请求时,在两种情况下节点y会主动连接节点x:一是邻居表项的节点数没有达到节点冗余度H,二是节点x是节点y的前向或后向节点;
删除节点如图8所示,节点n离开网络时,会发送“Leave”消息给它的邻居节点,当这些节点收到“Leave”消息时,便将节点n从其邻居表中删除。
维护邻居表通过3个步骤实现:利用fault detector探测失效节点并修复邻居表,利用SP fixer维护节点的前向节点和后向节点的一致性,利用connect task为节点增加新的连接,具体为:
节点的故障离开会导致邻居表中失效节点的产生,为了探测失效节点并修复邻居表,网络中的各节点分别利用fault detector周期性地向邻居节点发送“Are you there!”的探测消息,然后等待回复,如果在几次询问后仍未收到某个节点的回复,便向它发送“Leave”消息,并把该节点从邻居表中移除。
图9所示为利用SP fixer节点的前向节点和后向节点的维护过程。节点加入网络后,由于网络的动态性,节点之间维护的前向和后向节点可能不一致。所以网络中每个节点都需要周期性的判断自己的前后节点是否正确。在图9-a中,节点a,b,c依次排列在节点标识符空间中,节点a维护的后向节点是c,而节点c维护的前向节点是b而不是a,即节点a的后向节点和节点c的前向节点不一致。这种情况下,节点a会在范围[a,c)内发起洪泛,当节点b收到消息后,发现节点a是自己的前向节点,则主动与节点a建立连接,这样节点a的后向节点和节点b的前向节点都实现了更新。类似的,图9-b展示了节点c的前向节点的维护过程。
在动态的网络中,节点的频繁离开会造成节点邻居表中空表项的产生,即该表项的邻居节点数为0,不利于查询消息的高效转发,增加洪泛搜索的延迟。为了降低洪泛搜索的延迟,需要为邻居表增加连接。利用connect task定期地检查节点邻居表中的每一个表项,并根据表项的邻居节点数进行相应地处理,处理规则如下:
1)当邻居节点数为0时,connect task会主动在该表项所属的区间[start,end)内洪泛。同时,接受来自其他节点的连接请求。
2)当邻居节点数不为0且小于H时,connect task不会主动洪泛。但它仍然接受来自其他节点的连接请求。
3)当邻居节点数达到H时,connect task既不主动洪泛,也不接受来自其他节点的连接请求。
大量的实验表明,本实施例提供的技术方案在静态和动态网络环境中都能取得很好的效果,如图10所示,静态环境中,本实施例和Gnutella算法进行对比,可以看到,在N个节点的网络中,Gnutella算法产生了比本实施例更多的消息,并随着网络规模和度数的增大而大幅度增加,本实施例仅产生N-1个消息。图11为动态环境中的洪泛的节点命中率结果,从图中可以看出,随着节点变动率λ的增大,节点命中率逐渐降低,但均保持在99.9%以上,并且不随网络规模的增大而剧烈变化,保持了动态环境下的高度可靠性。表2为动态环境中洪泛过程中消息的跳数统计结果。从表2中可以看出,在N=1000和4000的不同λ的动态网络中,消息的跳数主要集中在8跳以内,平均跳数均小于5跳。因此,本实施例在动态环境中具有较低的洪泛搜索延迟。图12为网络维护所需要的控制消息数曲线,可以看出,控制消息数随着节点变动率λ的增加而降低,大大减少了网络维护开销。
表2
从以上的结果可以看出,本发明解决了非结构化P2P网络中资源搜索可扩展性差的问题,动态环境中,在很少的网络开销的情况下,就能保证了资源搜索的低延迟和稳定性。相对于其他算法,在算法的简单性、可靠性以及有效性等方面都有一定的优越性,能够满足实际网络环境下对非结构化P2P网络资源搜索的性能要求。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。

Claims (5)

1.一种非结构化P2P网络的资源搜索方法,其特征在于,该方法包括如下步骤:
S1、为非结构化P2P网络中的各节点分别分配一个与节点唯一对应的标识符,并根据各节点在标识符空间中的相对位置分别定义各节点的前向节点、后向节点、邻居表及邻居表中的表项,各节点的邻居表中的表项包括:开始项、结束项、区间项、邻居项和节点冗余度;
S2、发起资源查询请求的节点分别向该节点的邻居表中各表项中的一个邻居节点发送增加转发区间的查询消息;
S3、若在邻居节点中查询到所需资源,则拥有资源的节点向发起资源查询请求的节点发送搜索成功的回复消息,搜索流程结束;若在邻居节点中未查询到所需资源,则邻居节点根据邻居节点的邻居表中的表项向邻居节点的转发区间内的邻居节点转发增加转发区间的查询消息;
S4、重复步骤S3直至查询到所需资源或已查询非结构化P2P网络中所有节点;
步骤S1进一步包括如下子步骤:
S1.1、使用一致性哈希函数为非结构化P2P网络中的各节点分别分配一个m位的与节点唯一对应的标识符,则标识符空间为以2m为模依次排列的一个标识符圆环,在标识符空间中,以任意一个节点x为中心,把与节点x的相对距离大小为2m-1的节点称作节点x的界点,记作M(x);
S1.2、定义节点在标识符空间中沿逆时针方向的第一个节点为节点的前向节点,定义节点在标识符空间中沿顺时针方向的第一个节点为节点的后向节点;
S1.3、定义与节点在标识符空间中相对距离为2m-1的节点为节点的界点,定义节点的邻居表,邻居表中记录在标识符空间中沿顺时针和逆时针方向节点至节点的界点范围内的节点为邻居节点;
S1.4、定义节点的邻居表中的表项,第i个表项包含变量:开始项start、结束项end、区间项interval、邻居项neighbors和节点冗余度H,i为节点的邻居表中表项标号,1≤i<m,
沿顺时针记录的正向邻居表中第i个表项的变量start和end的计算方法分别为x+2i-1和x+2i,沿逆时针记录的负向邻居表中第i个表项的变量start和end的计算方法分别为x-2i-1和x-2i
第i个表项的开始项start为标识符空间中与节点相对距离为2i-1的节点的标识符,
第i个表项的结束项end为标识符空间中与节点相对距离为2i的节点的标识符,
第i个表项的区间项interval为开始项到结束项的区间,区间项为[2i-1,2i),
第i个表项的邻居项neighbors为第i个表项的邻居节点列表,
第i个表项的节点冗余度H为邻居项中邻居节点个数的最大值;
步骤S2进一步包括如下子步骤:
为查询消息M增加两个m位的字段LL和RL,分别代表转发区间的左边界和右边界;
对于当前节点x,分别从邻居表的每一个表项中选择一个邻居节点,对于从节点x的邻居表中第i个表项中选出的邻居节点y,把节点x的邻居表中第i个表项的start值和end值赋予消息M的LL和RL字段,并向节点y发送消息M;
步骤S3中邻居节点根据邻居节点的邻居表中的表项向邻居节点的转发区间内的邻居节点转发增加转发区间的查询消息进一步包括如下子步骤:
节点y收到消息M后,对于邻居表中属于转发区间[LL,RL)内的表项i,检查其neighbors是否为空,如果不为空,则从neighbors中选出一个邻居节点z,把节点y的邻居表中第i个表项的start值和end值赋予消息M的LL和RL字段,向邻居节点z发送消息M;如果节点y的邻居表中第i个表项不存在邻居节点,即neighbors为空,且第i个表项不是邻居表的最后一个表项,则将表项i所属的区间[start,end)合并到下一个表项的区间中,即第i+1表项的区间中。
2.根据权利要求1所述的非结构化P2P网络的资源搜索方法,其特征在于,在资源搜索的过程中还包括步骤:
随着实际非结构化P2P网络的动态变化在网络中添加和删除节点;
实时维护各节点的邻居表。
3.根据权利要求2所述的非结构化P2P网络的资源搜索方法,其特征在于,所述实时维护各节点的邻居表进一步包括子步骤:
非结构化P2P网络中的各节点分别周期性地向该节点的邻居节点发送的探测消息并等待回复消息,如果收到回复消息则不改变节点的邻居表,如果未收到邻居节点的回复消息则向该邻居节点发送离开消息并把该邻居节点从节点的邻居表中移除。
4.根据权利要求2所述的非结构化P2P网络的资源搜索方法,其特征在于,所述实时维护各节点的邻居表进一步包括子步骤:
非结构化P2P网络中的各节点分别周期性地判断该节点的前向节点和后向节点是否正确。
5.根据权利要求2所述的非结构化P2P网络的资源搜索方法,其特征在于,所述实时维护各节点的邻居表进一步包括子步骤:
非结构化P2P网络中的各节点分别周期性地检查节点邻居表中的所有表项中的邻居节点数量,
若表项中的邻居节点为零,则节点在该表项所属的区间项内发送连接请求并接受来自其他节点的连接请求,
若表项中的邻居节点数不为零且小于表项的节点冗余度,则节点会接受来自其他节点的连接请求,
若表项中的邻居节点数为表项的节点冗余度,则节点不接受来自其他节点的连接请求。
CN201510088791.2A 2015-02-26 2015-02-26 一种非结构化p2p网络的资源搜索方法 Expired - Fee Related CN104734962B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510088791.2A CN104734962B (zh) 2015-02-26 2015-02-26 一种非结构化p2p网络的资源搜索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510088791.2A CN104734962B (zh) 2015-02-26 2015-02-26 一种非结构化p2p网络的资源搜索方法

Publications (2)

Publication Number Publication Date
CN104734962A CN104734962A (zh) 2015-06-24
CN104734962B true CN104734962B (zh) 2017-12-26

Family

ID=53458409

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510088791.2A Expired - Fee Related CN104734962B (zh) 2015-02-26 2015-02-26 一种非结构化p2p网络的资源搜索方法

Country Status (1)

Country Link
CN (1) CN104734962B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105548067B (zh) * 2015-12-16 2018-07-03 西南大学 一种利用变形虫网络实现最小冗余度的波长选择方法
CN105933234A (zh) * 2016-04-20 2016-09-07 乐视控股(北京)有限公司 Cdn网络中的节点管理方法和系统
CN107995309A (zh) * 2017-12-18 2018-05-04 苏州蜗牛数字科技股份有限公司 一种分布式数据节点的协调方法及系统
CN110046236B (zh) * 2019-03-20 2022-12-20 腾讯科技(深圳)有限公司 一种非结构化数据的检索方法及装置
CN111046065B (zh) * 2019-10-28 2022-06-17 北京大学 可扩展的高性能分布式查询处理方法及装置
CN113901144B (zh) * 2021-10-15 2024-02-06 北京智融云河科技有限公司 非全网共识区块链下的查询方法、设备及存储介质
CN113934933B (zh) * 2021-10-15 2024-04-05 北京智融云河科技有限公司 低延迟的消息转发方法、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008028319A1 (en) * 2006-08-25 2008-03-13 Thomson Licensing Search method for an unstructured p2p network
CN101364958A (zh) * 2008-09-05 2009-02-11 西安电子科技大学 基于非结构化p2p网络的搜索方法
CN101917475A (zh) * 2010-08-18 2010-12-15 天津理工大学 一种基于p2p模式的psrd普适服务资源发现方法
CN102006238A (zh) * 2010-12-14 2011-04-06 武汉大学 一种无结构p2p网络中的均衡快速搜索方法
CN102325093A (zh) * 2011-11-01 2012-01-18 西安电子科技大学 一种结构化p2p网络中的路由系统构建方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008028319A1 (en) * 2006-08-25 2008-03-13 Thomson Licensing Search method for an unstructured p2p network
CN101364958A (zh) * 2008-09-05 2009-02-11 西安电子科技大学 基于非结构化p2p网络的搜索方法
CN101917475A (zh) * 2010-08-18 2010-12-15 天津理工大学 一种基于p2p模式的psrd普适服务资源发现方法
CN102006238A (zh) * 2010-12-14 2011-04-06 武汉大学 一种无结构p2p网络中的均衡快速搜索方法
CN102325093A (zh) * 2011-11-01 2012-01-18 西安电子科技大学 一种结构化p2p网络中的路由系统构建方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Efficient lookup on unstructured topologies;Ruggero Morselli等;《IEEE Journal on Selected Areas in Communications》;20070115;全文 *
Improved Algorithm of Unstructured P2P Network Topology Structure;Zong Hu;《Intelligent Ubiquitous Computing and Education》;20090516;全文 *

Also Published As

Publication number Publication date
CN104734962A (zh) 2015-06-24

Similar Documents

Publication Publication Date Title
CN104734962B (zh) 一种非结构化p2p网络的资源搜索方法
Jiang et al. Lightflood: an efficient flooding scheme for file search in unstructured peer-to-peer systems
CN110191116B (zh) 恶意节点隔离方法和系统、算力验证终端及p2p网络
CN108337170A (zh) 分布式资源查找方法和系统
Chowdhury et al. Performance evaluation of structured peer-to-peer overlays for use on mobile networks
Teng et al. A self-similar super-peer overlay construction scheme for super large-scale P2P applications
CN102651864A (zh) 异构无线传感器网络的密钥设置方法
CN103209207B (zh) 一种对等网络系统的普通节点寻找与维护邻居节点方法
Chen et al. Design and implementation of an anycast services discovery in mobile ad hoc networks
CN107612980B (zh) 一种结构化p2p网络中可调节且可靠的一致性维护方法
Han et al. A hybrid P2P overlay network for high efficient search
Kawaguchi et al. Self-refining skip graph: Skip graph approaching to an ideal topology
WO2020238719A1 (zh) 通信链路的建立方法及装置,节点标识确定方法及装置
Mahdian et al. Mindelay: Low-latency forwarding and caching algorithms for information-centric networks
Hautakorpi et al. A feasibility study of an arbitrary search in structured peer-to-peer networks
Avin et al. OBST: A self-adjusting peer-to-peer overlay based on multiple BSTs
CN114764405A (zh) 一种分布式应用程序的事务数据一致性存储方法
Choi et al. An enhanced Gnutella for ad-hoc networks
Chang et al. MR-Chord: A scheme for enhancing Chord lookup accuracy and performance in mobile P2P network
Kim et al. Restricted path flooding scheme in distributed P2P overlay networks
Li et al. SDC: A distributed clustering protocol
Antonielli Development and comparison of MQTT distributed algorithms for HiveMQ
CN113179336B (zh) 面向亿量级大规模集群的分布式对等网络系统
CN102035894A (zh) 一种基于距离的状态同步方法
Ma et al. Distribution aware collaborative spread replication for rare objects in unstructured peer-to-peer networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
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: 20171226

Termination date: 20190226