CN101364958A - 基于非结构化p2p网络的搜索方法 - Google Patents
基于非结构化p2p网络的搜索方法 Download PDFInfo
- Publication number
- CN101364958A CN101364958A CNA2008101508330A CN200810150833A CN101364958A CN 101364958 A CN101364958 A CN 101364958A CN A2008101508330 A CNA2008101508330 A CN A2008101508330A CN 200810150833 A CN200810150833 A CN 200810150833A CN 101364958 A CN101364958 A CN 101364958A
- Authority
- CN
- China
- Prior art keywords
- ttl
- website
- query messages
- network
- neighbor
- 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.)
- Granted
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于非结构化P2P网络的搜索方法,其搜索过程是:网络上的任意一个站点首先根据公式TTL=round(lognN)+2、Load=nTTL分别计算一组TTL值和网络负载值Load,并计算各组值的优先级;将优先级的多组值中的最大值对应的邻接站点数n和消息包存活时间TTL值确定为最终参数;然后根据查询内容生成一个查询消息,发送给所确定的最终要发送的n个邻接站点;收到该查询消息的第j个邻接站点将TTL值减j后,搜索本站资源,如果本站有要查询的消息,则返回给发送站点,否则,将该查询消息转发给其它邻接站点;如此往复直至TTL值变为0或搜索到所要的资源后停止。本发明具有搜索成功率高和网络负载小的优点,可用于在非结构化网络中搜索文档、音乐、电影等资源信息。
Description
技术领域
本发明属于网络通信技术领域,特别是一种P2P网络资源的搜索方法,可用于在非结构化网络中搜索文档、音乐、电影等资源信息。
背景技术
近几年来,随着点对点网络技术的进步与发展,基于点对点P2P的网络逐渐成为互联网中最流行的网络之一。在P2P网络中存在着丰富的信息资源,正确高效地搜索信息是P2P系统实现有效的资源共享和协同的关键。当前,应用较广的P2P系统大多为非结构化P2P网络,这是由于其结构较为简单,容易实现,能提供较为灵活的搜索方式。然而,在非结构化P2P网络中,由于网络中站点较多,并且搜索方法多采用盲目的洪泛方式,因此基于非结构化P2P网络的现有的搜索方法搜索成功率较低,网络负载较高,扩展性较差。
如何找到一种搜索成功率较高、网络负载较低和扩展性较强的基于非结构化P2P网络的搜索方法成为研究的重点。
目前,流行的基于非结构化P2P网络的搜索方法主要有:广度优先搜索技术BFS,随机广度优先搜索技术RBFS,定向广度优先搜索技术DBFS和扩展环搜索技术Expanding Ring。其中:
1、广度优先搜索技术BFS在非结构化P2P网络中广泛应用,Gnutella网络就使用这种技术。网络上的任意一个站点首先根据查询内容生成一个查询消息Query,并将该查询消息发送给网络上与其直接相连的邻接站点。收到该查询消息的站点搜索自身的资源,如果有与查询消息相匹配的信息,则形成一个查询应答QueryHit,并按照查询消息来时的路径发送给源查询站点。如果没有,则不发送。收到查询消息的站点将该消息转发给除发送该消息的站点以外的其它站点。如图1所示,站点a发送一个Query给所有的邻接站点b、c、d,各站点搜索自身的资源,站点b含有所要的信息,则发送QueryHit给a。c、d没有发现所要的信息,就不向a返回消息。然后站点b、c、d再向各自的邻接站点发送Query消息。由于一个站点在收到一条查询消息后,只简单的将该消息向外扩散开去,将查询消息发送给所有站点,因此这种技术使网络中消息的数量呈指数增长,网络负载很高,搜索成功率较低,扩展性较差。
2、随机广度优先搜索技术RBFS是BFS的一个改进版本。与BFS的不同之处在于结点在发送Query消息时,会从它的邻居结点中随机的选取一些站点进行发送。这种方法虽然一定程度的降低了网络负载,但是搜索成功率也随之降低了。
3、定向广度优先搜索技术DBFS与RBFS一样也是将查询消息发送给邻接站点的一部分,但是不像RBFS那样随机的选择邻接站点,DBFS是根据最近m次的搜索结果来决定选择其中的部分邻接站点。例如:可以选择过去产生查询结果多的邻接站点,也可以选择过去返回结果速度较快的站点,等等。因此站点根据统计邻接站点的相关信息,来决定将查询消息发送给哪些邻接站点。这种方法同样也能一定程度地降低网络负载,但是搜索成功率同时也会下降。
4、扩展环技术Expanding Ring可以有效地减少标准洪泛查询时产生的网络流量。它通过减少Query消息初始TTL值来达到这一目的。如果源站点发送一个Query消息后,经过一段时间没有得到任何的应答消息,那么就重新发送这个Query消息,不过要稍稍增加Query消息的初始TTL值。这种重复广播查询消息中止的条件是:(1)有应答消息返回,(2)Query消息的初始TTL值达到了一个预先定义的最大值。当所查询的文件距离源站点很近时这种方法减少了洪泛广播的跳数,而距离很远或是不可达时则会大大增加网络中的消息量。
5、在随机漫步搜索技术Random Walks中,请求者发出K个查询请求给随机挑选的K个相邻站点。然后每个查询信息在以后的漫步过程中直接与请求者保持联系,询问是否还要继续下一步。如果请求者同意继续漫步,则又开始随机选择下一步漫步的站点,否则中止搜索。此方法虽然减少了查询站点数量,但是查询信息时需要在漫步过程中与请求者保持联系,这将会大大消耗网络资源,导致网络负载加大。
发明内容
本发明的目的在于克服上述已有技术的不足,提供一种在非结构化P2P网络中搜索资源的方法,以实现非结构化P2P网络搜索资源的高成功率和低负载的性能。
实现本发明目的的技术方案是吸取现有非结构化P2P网络查询方法的各自优点,并对查询中的两个关键参数n和TTL进行最优化的选取,从而构造出一种新的基于非结构化P2P网络的搜索方法,具体步骤如下:
A.参数确定步骤:
网络上的任意一个站点根据公式TTL=round(lognN)+2计算一组TTL值,并按降序排列,TTL为消息包存活时间,N为网络站点数,n为从所有邻接站点m中确定的要发送查询消息包的邻接站点数,n=1,2,3,...且0<n<20;
根据公式Load=nTTL计算出一组网络负载值Load,并按降序排序,n=1,2,3,...且0<n<20;
根据公式Priority=a1*10*(k1+1)+a2*10*(k2+1)计算各组值的优先级,a1为TTL的权重因子,a2为Load的权重因子,k1为TTL数组的下标,k2为Load数组的下标;
从Priority的多组值中选出最大值,将该最大值对应的n和TTL值确定为最终要发送查询消息包的邻接站点数n和消息包存活时间TTL;
B.查询消息步骤:
网络上的任意一个站点根据查询内容生成一个查询消息,并将该查询消息发送给步骤A所确定的最终要发送的n个邻接站点;
收到该查询消息的第j个邻接站点将步骤A所确定的TTL值减j后,对其本站资源进行搜索,1≤j≤TTL,如果本站有与查询消息包中的关键字相匹配的资源信息,则生成一个查询应答消息,返回给发送该查询消息的站点,否则,将该查询消息转发给除发送该查询消息的站点以外的其它n个邻接站点;
如此往复直至TTL值变为0或搜索到所要的资源后停止。
上述搜索方法,其中所述的收到该查询消息的第k个邻接站点将步骤A所确定的TTL值减k后,对其本站资源进行搜索,是在本站资源列表中查询与查询消息包中所含的关键字相匹配的资源信息。
本发明由于对参数n和TTL值进行了最优化的选取,所以搜索过程中目的性较强,查询包数较少。这就使得本发明拥有了较高的搜索成功率、较低的网络负载和较强的可扩展性。
仿真结果表明,采用本发明在非结构化P2P网络中进行搜索,其搜索成功率在95%以上。
附图说明
图1是现有BFS的搜索过程示意图;
图2是本发明的搜索流程图。
具体实施方式
参照图2,本发明的搜索步骤如下:
(1)网络上的任意一个站点根据公式TTL=round(lognN)+2计算一组TTL值,并按降序排列,TTL为消息包存活时间,N为网络站点数,n为从所有邻接站点m中确定的要发送查询消息包的邻接站点数,n=1,2,3,...且0<n<20,
所述的TTL公式通过对实验数据统计分析得到,即通过网络仿真软件对搜索过程进行仿真,得到不同网络规模下的n、TTL和搜索成功率。这些数据表明如果要保证95%以上的搜索成功率,则n和TTL满足TTL=round(lognN)+2;
(2)根据公式Load=nTTL计算出一组网络负载Load值,并按降序排序,n=1,2,3,...且0<n<20,
所述的Load=nTTL是根据图论中的网络全覆盖理论得到的,假设网络为全连接状态,并且每个站点的邻接站点数为n,则网络中的查询数据包以n的倍数向前洪泛TTL次的表达式为nTTL,即为覆盖全网络的搜索带来的网络负载;
(3)根据公式Priority=a1*10*(k1+1)+a2*10*(k2+1)计算各组值的优先级,a1为TTL的权重因子,a2为Load的权重因子,k1为TTL数组的数组下标,k2为Load数组的数组下标,
所述的Priority=a1*10*(k1+1)+a2*10*(k2+1)是数学中计算优先级的通行方法;
(4)从Priority的多组值中选出最大值,将该最大值对应的n和TTL值确定为最终要发送查询消息包的邻接站点数n和消息包存活时间TTL,例如,N=210,n=3,4,5,6,8,10时对应计算出的TTL值分别为8,7,6,6,5,5;Load值分别为6561,16384,15625,46656,32768,100000;假设我们认为TTL和网络负载Load同样重要,即a1=0.5,a2=0.5;通过公式Priority=a1*10*(k1+1)+a2*10*(k2+1)计算得到的最大的Priority值对应的n=5,TTL=6。
(5)网络中的任意一个站点根据查询关键字生成查询请求消息包,并将TTL值封装进消息包。
(6)网络中的任意一个站点从邻居站点列表中的m个邻居站点中随机选择最终要发送的n个邻接站点,并将所述的消息包逐个发送给这些邻接站点,如果选择最终要发送的邻接站点数大于邻居站点列表中的所有邻接站点,即n>m,则向所有邻接站点发送消息包,发送方式可以采用UDP或者TCP方式。
(7)收到查询请求消息包的第j个邻接站点先将查询消息包拆包,然后将TTL值减j,防止消息包在网络中无限转发;
(8)收到消息的邻接站点先取出消息包中所包含的查询请求关键字,然后对本站资源进行搜索,确定是否有与查询请求关键字相匹配的信息;如果有与查询消息相匹配的信息,则返回查询成功消息包给上一站点;否则,将查询消息包发送给从邻居站点列表中选取的除发送站点外的n个邻居站点。
(9)重复步骤7至步骤8直至TTL值为0或者搜索到与查询消息包中的关键字相匹配的资源。
本发明的效果可以通过以下的仿真进一步的说明
1.仿真条件
选用PEERSIM仿真软件对本发明的搜索过程进行仿真。
每次试验重复20次,实验结果为平均值。
2.仿真结果,如表1和表2。
表1 各网络规模下计算得到的各项参数值
表1给出了基于本发明中的算法计算得出的平均搜索成功率、平均跳数和平均网络负载。从表1中可见,基于本发明的平均搜索成功率都在95%以上,同时平均跳数和平均网络负载都较低,这说明基于本发明的网络查询具有较高的搜索成功率、较低的网络负载和较高的可扩展性。
表2 站点规模为210条件下测得的数据
表2给出了基于本发明中的算法计算得出的当规模N=210、TTL权重因子和网络负载的权重因子均为0.5时,指定不同的n和TTL,分别测得对应的平均搜索成功率、平均跳数和平均网络负载。从表2中可见,当n和TTL值分别为基于本发明中的n和TTL的选取方法选出的值,即n=5,TTL=6时,平均搜索成功率为98.1%,平均跳数为5.001,平均网络负载为19386.893。综合考虑平均搜索成功率和平均网络负载,我们可以得到n=5,TTL=6为最优的一组参数值。
以上仿真试验和数据表明,本发明具有较高的搜索成功率、较低的网络负载和较强的可扩展性,其搜索成功率可达95%以上。
Claims (4)
1.一种基于非结构化P2P网络的搜索方法,包括如下步骤:
A.参数确定步骤:
网络上的任意一个站点根据公式TTL=round(lognN)+2计算一组TTL值,并按降序排列,TTL为消息包存活时间,N为网络站点数,n为从所有邻接站点m中确定的要发送查询消息包的邻接站点数,n=1,2,3,...且0<n<20;
根据公式Load=nTTL计算出一组网络负载值Load,并按降序排序,n=1,2,3,...且0<n<20;
根据公式Priority=a1*10*(k1+1)+a2*10*(k2+1)计算各组值的优先级,a1为TTL的权重因子,a2为Load的权重因子,k1为TTL数组的数组下标,k2为Load数组的数组下标;
从Priority的多组值中选出最大值,将该最大值对应的n和TTL值确定为最终要发送查询消息包的邻接站点数n和消息包存活时间TTL;
B.查询消息步骤:
网络上的任意一个站点根据查询内容生成一个查询消息,并将该查询消息发送给步骤A所确定的最终要发送的n个邻接站点;
收到该查询消息的第j个邻接站点将步骤A所确定的TTL值减j后,对其本站资源进行搜索,1≤j≤TTL,如果本站有与查询消息相匹配的资源信息,则生成一个查询应答消息,返回给发送该查询消息的站点,否则,将该查询消息转发给除发送该查询消息的站点以外的其它n个邻接站点;
如此往复直至TTL值变为0或搜索到所要的资源后停止。
2.根据权利要求1所述的搜索方法,其中所述的将该查询消息发送给步骤A所确定的最终要发送的n个邻接站点,是在与本站点直接相连的所有邻接站点m中随机选择出n个邻接站点发送查询消息,若,则向所有邻接站点m发送查询消息。
3.根据权利要求1所述的搜索方法,其中所述的收到该查询消息的第k个邻接站点将步骤A所确定的TTL值减k后,对其本站资源进行搜索,是在本站资源列表中查询与查询消息包中所含的关键字相匹配的资源信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101508330A CN101364958B (zh) | 2008-09-05 | 2008-09-05 | 基于非结构化p2p网络的搜索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101508330A CN101364958B (zh) | 2008-09-05 | 2008-09-05 | 基于非结构化p2p网络的搜索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101364958A true CN101364958A (zh) | 2009-02-11 |
CN101364958B CN101364958B (zh) | 2011-04-27 |
Family
ID=40391117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101508330A Active CN101364958B (zh) | 2008-09-05 | 2008-09-05 | 基于非结构化p2p网络的搜索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101364958B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101895474A (zh) * | 2010-07-29 | 2010-11-24 | 江苏大学 | 一种基于信息扩散的p2p网络路由控制方法 |
CN102006238A (zh) * | 2010-12-14 | 2011-04-06 | 武汉大学 | 一种无结构p2p网络中的均衡快速搜索方法 |
WO2011069387A1 (zh) * | 2009-12-10 | 2011-06-16 | 北京邮电大学 | 一种网络节点及其数据查询方法和索引更新方法 |
CN102307238A (zh) * | 2011-09-15 | 2012-01-04 | 西安电子科技大学 | Hp2p网络中群的分裂与合并方法 |
CN101697552B (zh) * | 2009-10-16 | 2012-07-11 | 中国电信股份有限公司 | 一种p2p调度的方法和系统 |
CN104734962A (zh) * | 2015-02-26 | 2015-06-24 | 北京交通大学 | 一种非结构化p2p网络的资源搜索方法 |
CN107771333A (zh) * | 2015-06-26 | 2018-03-06 | 英特尔公司 | 基于临时数据提供查询响应的设备和/或方法 |
CN108306935A (zh) * | 2017-12-19 | 2018-07-20 | 中国科学院声学研究所 | 一种非结构化p2p网络的资源搜索方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1688130A (zh) * | 2005-05-11 | 2005-10-26 | 赵维 | 利用局部性原理的p2p覆盖网络资源搜索方法 |
-
2008
- 2008-09-05 CN CN2008101508330A patent/CN101364958B/zh active Active
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697552B (zh) * | 2009-10-16 | 2012-07-11 | 中国电信股份有限公司 | 一种p2p调度的方法和系统 |
WO2011069387A1 (zh) * | 2009-12-10 | 2011-06-16 | 北京邮电大学 | 一种网络节点及其数据查询方法和索引更新方法 |
CN101895474B (zh) * | 2010-07-29 | 2012-12-19 | 江苏大学 | 一种基于信息扩散的p2p网络路由控制方法 |
CN101895474A (zh) * | 2010-07-29 | 2010-11-24 | 江苏大学 | 一种基于信息扩散的p2p网络路由控制方法 |
CN102006238A (zh) * | 2010-12-14 | 2011-04-06 | 武汉大学 | 一种无结构p2p网络中的均衡快速搜索方法 |
CN102307238B (zh) * | 2011-09-15 | 2014-09-17 | 西安电子科技大学 | Hp2p网络中群的分裂与合并方法 |
CN102307238A (zh) * | 2011-09-15 | 2012-01-04 | 西安电子科技大学 | Hp2p网络中群的分裂与合并方法 |
CN104734962A (zh) * | 2015-02-26 | 2015-06-24 | 北京交通大学 | 一种非结构化p2p网络的资源搜索方法 |
CN104734962B (zh) * | 2015-02-26 | 2017-12-26 | 北京交通大学 | 一种非结构化p2p网络的资源搜索方法 |
CN107771333A (zh) * | 2015-06-26 | 2018-03-06 | 英特尔公司 | 基于临时数据提供查询响应的设备和/或方法 |
CN107771333B (zh) * | 2015-06-26 | 2022-04-19 | 英特尔公司 | 基于临时数据提供查询响应的设备和/或方法 |
CN108306935A (zh) * | 2017-12-19 | 2018-07-20 | 中国科学院声学研究所 | 一种非结构化p2p网络的资源搜索方法及装置 |
CN108306935B (zh) * | 2017-12-19 | 2020-05-05 | 中国科学院声学研究所 | 一种非结构化p2p网络的资源搜索方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101364958B (zh) | 2011-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101364958B (zh) | 基于非结构化p2p网络的搜索方法 | |
Seyfollahi et al. | A lightweight load balancing and route minimizing solution for routing protocol for low-power and lossy networks | |
Chakraborty et al. | GSD: A novel group-based service discovery protocol for MANETS | |
WO2018152919A1 (zh) | 一种路径选取方法及系统、网络加速节点及网络加速系统 | |
Al-Kashoash et al. | Congestion-aware RPL for 6L0WPAN networks | |
CN103118013B (zh) | 内容中心网络中数据包捎带反向兴趣包的方法 | |
Lamaazi et al. | A novel approach for RPL assessment based on the objective function and trickle optimizations | |
Tariq et al. | Meeting subscriber‐defined QoS constraints in publish/subscribe systems | |
CN104247371A (zh) | 以信息为中心的网络中的基于名称的邻居发现和多跳服务发现 | |
CN101710904B (zh) | P2p流量优化方法及其系统 | |
CN110233709B (zh) | 一种rpl路由方法及相关装置 | |
Arsalan et al. | Distance-based scheme for broadcast storm mitigation in named software defined vehicular networks (NSDVN) | |
Li et al. | A reliable and efficient forwarding strategy in vehicular named data networking | |
Misra et al. | Stochastic learning automata‐based channel selection in cognitive radio/dynamic spectrum access for WiMAX networks | |
Bista et al. | EA-PRoPHET: An energy aware prophet-based routing protocol for delay tolerant networks | |
CN101895474B (zh) | 一种基于信息扩散的p2p网络路由控制方法 | |
Liu et al. | Locality analysis of bittorrent-like peer-to-peer systems | |
CN108495351A (zh) | 一种数据传输方法及系统 | |
Tariq et al. | Dynamic publish/subscribe to meet subscriber-defined delay and bandwidth constraints | |
Gavidia et al. | A probabilistic replication and storage scheme for large wireless networks of small devices | |
Rana et al. | EBOF: A new load balancing objective function for low-power and lossy networks | |
Shetty et al. | Trickle timer modification for RPL in Internet of things | |
Khelifi et al. | Rescue‐sink: dynamic sink augmentation for RPL in the internet of things | |
CN102984709B (zh) | 一种无线mesh网络信道带宽动态调节的方法 | |
CN105306374A (zh) | 一种基于遗传算法的Overlay网络QoS广播方法 |
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 |