大规模非结构化P2P网络中的资源搜索方法技术

技术编号:3495811 阅读:203 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种大规模非结构化P2P网络中的资源搜索方法。该方法为:在资源信息的发布和维护过程中,各节点根据不同邻居节点的要求对收到的BF信息在丢弃一定比例后进行转发并保存在邻居BF表中;在资源搜索过程中,各中间节点计算目标资源与邻居BF表表项的相似度,并根据BF信息的分布情况,进行多个消息之间相互协同的并行搜索。

【技术实现步骤摘要】

本专利技术涉及计算机网络中的资源搜索方法,尤其是支持大规模网络中的高性能资源搜索方法。
技术介绍
P2P(peer-to-peer)网络是近年来兴起的一种网络。在P2P网络中,各节点在逻辑上是对等的,没有客户端和服务器之分,各个节点之间可以直接进行通信和交互。目前,P2P网络在科学研究、电子商务、电子政务和军事应用等重要领域都有着广阔的应用。为了实现资源的有效共享和综合利用,P2P网络用户需要对符合要求的资源进行搜索,资源搜索是P2P网络的关键技术之一。根据资源组织模式,P2P网络通常可分为两种结构化(Structured)P2P网络和非结构化(Unstructured)P2P网络。非结构化P2P网络由于其简单性和易用性,目前在Internet上得到了大量应用。本专利技术针对非结构化P2P网络中的资源搜索技术。最初的非结构化P2P网络资源搜索技术(如泛洪、随机漫步等)属于“盲搜索”(blind search)方法,每一步的搜索方向具有很大的盲目性,导致当资源请求节点距离资源共享节点较远时,无法迅速搜索到所需资源。因此,目前的资源搜索方法通常由各节点预先对资源信息进行发布、传播和维护,在资源搜索过程中,资源搜索消息根据中间节点所维护的信息来选择转发的方向,进而发现资源。目前非结构化P2P网络中的资源搜索问题可以抽象为如何将大规模的资源信息进行发布和维护,以及如何在资源搜索过程中利用上述资源信息迅速发现资源。在非结构化P2P网络中,在各节点之间并没有类似于DHT的P2P网络拓扑结构,发布和维护资源信息需要消耗大量的存储空间和网络带宽。因此,目前通常基于Bloom Filter(BF)技术,使用一个位向量通过较小的存储开销来概率地表示一个节点的所有元素。每个节点都维护一个“邻居表”,保存相关邻居节点的BF信息。在资源定位时,每个节点根据其“邻居表”将资源定位消息转发到最接近目标资源的邻居节点上,直到最终到达目标节点。评价资源搜索方法性能的重要参数包括搜索延迟、搜索开销和维护开销等。搜索延迟是指为满足一次资源搜索请求,搜索消息在网络中转发的逻辑跳步数;搜索开销是指为满足一次资源搜索请求,网络中产生的搜索消息总数;维护开销是指每个节点维护本节点和邻居节点资源信息所需的存储开销。为取得良好的实用性能,资源搜索方法应该兼顾多个方面的特性。但这几个性能特性之间存在冲突,给P2P网络的广泛应用带来困难。
技术实现思路
本专利技术所要解决的技术问题在于针对大规模非结构化P2P网络中资源信息的维护开销较小时,搜索延迟和搜索开销较大的难题,提出了一种在资源信息维护开销受限的条件下,具有低搜索延迟和低搜索开销的资源搜索方法。为了解决上述技术问题,本专利技术的技术方案为在资源信息的发布和维护过程中,各节点根据不同邻居节点的要求对收到的BF信息在丢弃一定比例后进行转发并保存在邻居BF表中;在资源搜索过程中,各中间节点计算目标资源与邻居BF表表项的相似度,并根据BF信息的分布情况,进行多个消息之间相互协同的并行搜索。具体包括(1)邻居BF表每个度数为d的节点维护了一个d行c列的邻居BF表T,表中每一个表项是一个Bloom Filter向量。表项Tij(1≤i≤d,1≤j<c)维护了通过第i个邻居且从信息发布节点经过j步到达本节点的资源信息;表项Tic(1≤i≤d)则维护了通过第i个邻居且从信息发布节点经过c步或c步以上到达本节点的资源信息。(2)资源信息的发布和维护信息发布节点使用BF表示本地资源信息并发布。在资源信息的发布与传播过程中,中间节点收到BF信息后,按照各邻居节点的要求对信息进行丢弃后传播。(3)相似度设资源x对应的Bloom Filter位向量为U,邻居BF表中TN,jA表项的Bloom Filter向量为V,使用Like(x,TN,jA)表示资源x与TN,jA表项的相似度Like(x,TN,jA)=Σi=1m(U*V)/Σi=1mU.]]>(4)资源搜索资源请求节点发出k个资源搜索消息,在各中间节点,搜索消息根据相似度动态选择下一步的搜索方向(到达目标资源的概率最大的邻居节点)。而且,搜索消息之间周期性进行通信以获得资源信息的分布情况,根据资源信息的分布情况动态地加强某些方向的搜索强度(发出多个搜索消息),同时通过减小其他搜索消息的数量来控制总的资源定位开销。与现有技术相比,本专利技术的优点在于1.本专利技术允许各节点向邻居节点通告本节点所希望的丢弃比例。在资源信息的发布与传播过程中,中间节点分别按照各邻居节点相应的丢弃比例对信息进行丢弃并传播,更好地适应了大规模P2P系统的异构、自治特点。2.本专利技术创造性地提出各搜索消息之间进行联系,交换各自以获得的部分资源信息,从而大大降低了在距离资源共享节点较远时的搜索错误概率,也就是提高了资源信息的有效传播距离。容易证明,本专利技术中资源信息的有效传播距离可达6至7步。3.本专利技术以较低的维护开销代价实现了高性能搜索。容易证明,在维护开销和搜索开销基本相同的情况下,与现有搜索方法比较,本专利技术的搜索延迟降低了一个数量级。综合上述几个方面,本专利技术实现了在资源信息维护开销受限的条件下具有低搜索延迟和低搜索开销的资源搜索方法。具体实施例方式在本方法中,当节点A增加了新的资源时,它首先检查本节点资源集合的Bloom Filter值。如果没有发生变化,则不需任何更新过程;否则节点A通过比较新旧BF值的差异(按位异或),然后把该差异发送给邻居节点B。节点B根据收到的更新消息更新本节点邻居信息表中对应于节点A的表项,并且把更新信息转发给除节点A之外的其他邻居节点。其他邻居节点的处理过程与节点B类似。当有一个新的节点F加入并成为节点D的邻居时可以被看作上述过程的特例,此时的差异即是节点F全部资源集合的Bloom Filter值。为了降低资源信息传播过程中的通信开销,实际系统中的节点并不是从某邻居节点收到更新消息时立刻传播给其他邻居节点,而是以批处理方式进行周期性传播。在本方法中,资源搜索消息的转发过程如下。在中问节点A,首先计算当前节点邻居信息表中各Bloom Filter向量与目标资源的相似度并得到局部最大相似度。如果局部最大相似度大于已知的全局最大相似度,则通告给资源请求节点,进而通过比较各局部最大相似度,获得当前的全局最大相似度。在中间节点A向如下3类邻居节点转发资源搜索消息1)向非0局部最大相似度所对应的邻居节点转发资源搜索消息;2)向所有相似度大于或等于某阈值的邻居节点转发资源搜索消息,该阈值等于全局最大相似度乘以容错因子α(α≤1);3)首先计算出局部最大相似度对应的向量所在的列号jmax,然后向所有满足Like(x,TN,jA)>0,(1≤j<jmax)]]>的邻居节点N转发资源搜索消息。为了进一步提高资源定位性能,在查找资源x的最初阶段,如果在经过连续NH步搜索之后所有消息都没有发现任何目标资源的共享信息,那么每个消息都将在第NH+1步派出NT个子消息以加强全局搜索。当全局最大相似度大于停止大规模搜索的相似度阈值时,将中止所有未发现任何信息的消息的搜索。权利要求1.一种大规模非结构化P2P网络中的资源搜索方法本文档来自技高网
...

【技术保护点】
一种大规模非结构化P2P网络中的资源搜索方法,其特征在于:在资源信息的发布和维护过程中,各节点根据不同邻居节点的要求对收到的BF信息在丢弃一定比例后进行转发并保存在邻居BF表中;在资源搜索过程中,各中间节点计算目标资源与邻居BF表表项的相似度,并根据BF信息的分布情况,进行多个消息之间相互协同的并行搜索,具体包括:(1)邻居BF表:每个度数为d的节点维护了一个d行c列的邻居BF表T,表中每一个表项是一个BloomFilter向量,表项T↓[ij](1≤i≤d,1≤j<c)维护了通过第i个邻居且从信息发布节点经过j步到达本节点的资源信息;表项T↓[ic](1≤i≤d)则维护了通过第i个邻居且从信息发布节点经过c步或c步以上到达本节点的资源信息;(2)资源信息的发布和维护:信息发布节点使用BF表示本地资源信息并发布,在资源信息的发布与传播过程中,中间节点收到BF信息后,按照各邻居节点的要求对信息进行丢弃后传播;(3)相似度:设资源x对应的BloomFilter位向量为U,邻居BF表中T↓[N,j]↑[A]表项的BloomFilter向量为V,使用Like(x,T↓[N,j]↑[A])表示资源x与T↓[N,j]↑[A]表项的相似度:Like(x,T↓[N,j]↑[A])=*(U[i]*V[i])/*U[i];(4)资源搜索:资源请求节点发出k个资源搜索消息,在各中间节点,搜索消息根据相似度动态选择下一步的搜索方向,而且,搜索消息之间周期性进行通信以获得资源信息的分布情况,根据资源信息的分布情况动态地加强某些方向的搜索强度,同时通过减小其他搜索消息的数量来控制总的资源定位开销。...

【技术特征摘要】

【专利技术属性】
技术研发人员:张一鸣卢锡城李东升刘锋
申请(专利权)人:中国人民解放军国防科学技术大学
类型:发明
国别省市:43[中国|湖南]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1