一种非结构化P2P网络的资源搜索方法及装置与流程

文档序号:14993491发布日期:2018-07-20 23:00阅读:168来源:国知局
本发明涉及网络通信资源搜索领域,尤其涉及一种非结构化p2p网络的资源搜索方法及装置。
背景技术
::在p2p网络中,一个非常重要的挑战是如何在网络中快速搜索资源。在非结构p2p网络中,每个节点无法了解整个网络的拓扑和资源分布,并且由于非结构p2p网络的动态特性,节点很难准确把握整个网络的全局信息。资源搜索为p2p网络提供定位所请求的资源位置和路由到该目标节点的能力。因此,保证资源搜索算法效率对于非结构p2p网络的性能非常关键。资源搜索消息转发策略,也即以什么样的标准选择邻居节点转发资源搜索消息,直接决定了p2p系统的搜索性能。非结构p2p网络中的搜索算法研究通常分为两类:bfs宽度优先搜索和dfs深度优先搜索。gnutella网络中默认的是洪泛(flooding)搜索方法,该方法向当前节点的所有邻居结点转发查询请求,因此成功率较高,不足是代价较高。搜索过程中,请求报文会随着跳数增加呈指数增长,因此,当请求目标远离请求节点时,网络流量开销很大,搜索效率将会非常低下,从而限制了gnutella网络的规模。而随机漫步(randomwalk简称rw)算法,则是采用dfs思想,每次随机选择一个邻居节点发送一个请求报文。如果该邻居节点中没有所需资源,该邻居节点就继续将该请求随机转发给除来源节点之外的任意一个邻居节点。通过上述方式,搜索代价能够得到极大降低,但是搜索时间比较长,因为rw每跳只搜索一个节点,所覆盖的网络范围随着时间成线性增长,远远低于flooding方法随跳数指数增长的覆盖范围。因此,如何在保证搜索成功率的同时,降低搜索时间和网络流量开销代价问题,进一步提升资源搜索的效率是非结构化p2p网络的核心问题。技术实现要素:为了保证搜索成功率的同时,降低搜索时间和网络流量开销代价,本发明第一实施例提出了一种非结构化p2p网络的资源搜索方法,通过在综合非结构化p2p网络的两类搜索算法的优势,同时兼顾资源搜索的范围和资源搜索的代价,利用网络节点的处理能力,充分使用邻居节点信息来提升资源搜索的效率。为实现上述目的,本发明一方面提供了一种非结构化p2p网络的资源搜索方法,包括:在消息洪泛生存时间内,节点将搜索消息向所有的邻居节点进行转发;当所述洪泛生存时间结束时,进入漫步搜索,节点将所述搜索消息转发给出度值最大的邻居节点继续进行搜索,直到找到目标资源或者消息的漫步生存时间为零;源节点根据搜索结果,动态调整下一次搜索的洪泛生存时间和漫步生存时间。具体地,所述邻居节点设置有资源信息索引表,所述节点找到目标资源步骤,包括:所述邻居节点收到节点的搜索消息后,查询自身资源信息索引表;当资源信息索引表存在所述目标资源时,将搜索结果回复给所述节点;当自身资源信息索引表不存在所述目标资源时,则将节点的搜索消息转发给自身的邻居节点,由自身的邻居节点查询其资源信息索引表;当自身的邻居节点的资源信息索引表存在所述目标资源时,将搜索结果回复给所述节点。具体地,所述搜索消息转发,包括:当所述搜索消息的洪泛生存时间大于零时,节点将所述搜索消息转发给节点的所有邻居节点,所述搜索消息的洪泛生存时间减少一;当所述搜索消息的洪泛生存时间等于零时,节点将转发的所述搜索消息类型改为漫步转发,同时设置所述搜索消息的漫步生存时间;当所述搜索消息的漫步生存时间大于零时,节点将所述搜索消息转发给邻居节点出度值表中出度值最大的邻居节点,所述搜索消息的漫步生存时间减少一。具体地,所述节点将转发的搜索消息类型改为漫步转发,包括:当节点判断所述搜索消息的洪泛生存时间等于零时,节点需要将搜索消息由广播路由修改为单播路由,设置所述搜索消息的生存时间等于漫步生存时间。具体地,所述邻居节点的出度值为网络中与该节点有信息交互的邻居节点总数量。具体地,所述根据搜索结果动态调整下一次搜索的洪泛生存时间和漫步生存时间步骤,包括:在预定时间内如果所述节点没有收到邻居节点回复的搜索成功信息,所述源节点停止搜索,并增大下次搜索的洪泛生存时间和漫步生存时间;或者在预定时间内如果所述节点收到邻居节点回复的搜索成功信息的数量超过设定的数值时,则减小下次搜索的洪泛生存时间和漫步生存时间,从而减少网络中的搜索报文数量。本发明另一方面提供了一种非结构化p2p网络的资源搜索装置,包括:洪泛搜索模块,用于在消息洪泛生存时间内,节点将搜索消息向所有的邻居节点进行转发;漫步搜索模块,当所述洪泛生存时间结束时,进入漫步搜索,节点将所述搜索消息转发给出度值最大的邻居节点继续进行搜索,直到找到目标资源或者消息的漫步生存时间为零;反馈调整模块,用于源节点根据搜索结果,动态调整下一次搜索的洪泛生存时间和漫步生存时间。具体地,所述邻居节点设置有资源信息索引表,所述节点找到目标资源步骤,包括:所述邻居节点收到节点的搜索消息后,查询自身资源信息索引表;当资源信息索引表存在所述目标资源时,将搜索结果回复给所述节点;当自身资源信息索引表不存在所述目标资源时,则将节点的搜索消息转发给自身的邻居节点,由自身的邻居节点查询其资源信息索引表;当自身的邻居节点的资源信息索引表存在所述目标资源时,将搜索结果回复给所述节点。具体地,所述搜索消息转发,包括:当所述搜索消息的洪泛生存时间大于零时,节点将所述搜索消息转发给节点的所有邻居节点,所述搜索消息的洪泛生存时间减少一;当所述搜索消息的洪泛生存时间等于零时,节点将转发的所述搜索消息类型改为漫步转发,同时设置所述搜索消息的漫步生存时间;当所述搜索消息的漫步生存时间大于零时,节点将所述搜索消息转发给邻居节点出度值表中出度值最大的邻居节点,所述搜索消息的漫步生存时间减少一。具体地,所述反馈调整模块,还包括:在预定时间内如果所述节点没有收到邻居节点回复的搜索成功信息,所述源节点停止搜索,并增大下次搜索的洪泛生存时间和漫步生存时间;或者在预定时间内如果所述节点收到邻居节点回复的搜索成功信息的数量超过设定的数值时,则减小下次搜索的洪泛生存时间和漫步生存时间,从而减少网络中的搜索报文数量。本发明提出的一种非结构化p2p网络的资源搜索方法的优点在于:利用洪泛转发和漫步转发规则分阶段进行查询消息路由的转发,可以有效地控制搜索范围、搜索开销和搜索路径;利用节点的处理能力存储邻居节点的资源索引信息,扩大了消息在每一跳过程中的搜索范围;选择出度值最大的节点作为漫步转发的下一跳,能够使资源搜索信息朝着最有可能找到资源的方向进行路由;根据搜索结果动态调整下一次搜索的洪泛转发和漫步转发生存周期,实现搜索效率和网络中搜索报文数量的自适应调整;本方法在保证搜索成功率基本不变的同时可以减少搜索平均跳数,提高搜索性能。附图说明图1为本发明非结构化p2p网络的资源搜索方法的流程图;图2为本发明消息在节点之间进行洪泛转发和漫步转发的流向图;图3为本发明实施例节点进行资源搜索过程的具体流程图。具体实施方式为使本发明实施例的技术方案以及优点表达的更清楚,下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。图1为本发明非结构化p2p网络的资源搜索方法的流程图。如图1所示,本发明提出了一种非结构化p2p网络的资源搜索方法,具体包括以下步骤:步骤s101,在消息洪泛生存时间内,节点将搜索消息向所有的邻居节点进行转发。具体的,初始化节点资源搜索的请求消息,设置消息的洪泛生存时间和等待搜索结果的最大时间。步骤s102,当洪泛生存时间结束时,进入漫步搜索,节点将搜索消息转发给出度值最大的邻居节点继续进行搜索,直到找到目标资源或者消息的漫步生存时间为零。具体的,节点开始搜索目标资源,并在邻居节点中进行搜索资源消息的转发。判断节点是否找到目标资源:收到搜索消息的节点,首先查询自身的资源信息索引表,如果存在目标资源,则回复资源搜索请求节点找到目标资源,搜索结束;否则,查询自身的邻居节点资源信息索引表,如果邻居节点存在目标资源,则回复资源搜索请求节点找到目标资源,搜索结束。否则,节点进行消息转发。利用节点的处理能力存储邻居节点的资源索引信息,扩大了搜索消息在每一跳过程中的搜索范围。判断搜索消息的转发规则:当所述搜索消息的洪泛生存时间大于零时,节点将所述搜索消息转发给节点的所有邻居节点,所述搜索消息的洪泛生存时间减少一;当所述搜索消息的洪泛生存时间等于零时,节点将转发的所述搜索消息类型改为漫步转发,同时设置所述搜索消息的漫步生存时间;当所述搜索消息的漫步生存时间大于零时,节点将所述搜索消息转发给邻居节点出度值表中出度值最大的邻居节点,所述搜索消息的漫步生存时间减少一。其中,搜索消息由洪泛转发进入漫步转发阶段中,当节点判断搜索消息的洪泛生存时间等于零时,节点需要将搜索消息由广播路由修改为单播路由,设置搜索消息的生存时间等于漫步生存时间。利用洪泛转发和漫步转发规则分阶段进行查询消息路由的转发,可以有效地控制搜索范围、搜索开销和搜索路径。有关于邻居节点的出度值,利用节点的信息处理能力,每个节点存储邻居节点的出度值表,其中节点的出度值大小等于网络中与该节点有信息交互的邻居节点总数量。选择出度值最大的节点作为漫步转发的下一跳,能够使资源搜索信息朝着最有可能找到资源的方向进行路由。步骤s103,源搜索节点根据搜索结果,动态调整下一次搜索的洪泛生存时间和漫步生存时间。具体的,节点判断搜索是否结束,得到搜索结果,根据搜索结果动态调整下一次搜索的洪泛生存时间和漫步生存时间。节点判断搜索是否结束方法:当在消息的生存期内,节点找到目标资源,则停止搜索,回复节点搜索成功;当消息生存期结束,节点未找到目标资源,则停止搜索,回复节点搜索失败;当超过了源节点设置的最大等待时间仍然没有得到节点的回复,则源节点停止搜索,并增大下次搜索的洪泛生存时间和漫步生存时间,从而增大下一次搜索到目标资源的概率;当源节点在最大等待时间内收到搜索成功的回复超过设定的数值r,则减小下次搜索的洪泛生存时间和漫步生存时间,从而减少网络中的搜索报文数量。根据搜索结果动态调整下一次搜索的洪泛转发和漫步转发生存周期,实现搜索效率和网络中搜索报文数量的自适应调整。图2为本发明消息在节点之间进行洪泛转发和漫步转发的流向图。如图2所示,图中源节点s的洪泛生存时间n=1,表明源资源搜索的请求消息只进行一次洪泛转发给所有的邻居节点。洪泛转发结束后,洪泛生存时间减少一,此时n=0,如果没有在自身资源索引表和邻居节点资源索引表中找到目标资源,则上述收到搜索消息的所有节点进行漫步搜索,此时需要将搜索消息由广播路由改为单播路由,设置漫步生存时间m(图示漫步生存时间m=10),选择出度值最大的一个邻居节点继续转发搜索消息,漫步消息每被转发一次,搜索消息的漫步生存时间减少一(m=m-1),一直到找到目标资源或者搜索消息的漫步生存时间减少为零。本方法中充分利用了节点的信息处理能力,每个节点除了记录自身存储的资源信息,还记录邻居节点的相关信息表项。其中节点自身资源索引表resources_table结构为<resource_id>,用于记录节点存储的资源名称;邻居节点资源索引表neighbors_table结构为<neighbor_id,resources_list>,其中neighbor_id是邻居节点标识,resource_list是该邻居节点存储的资源名称;邻居节点出度值表degree_table结构为<neighbor_id,degree>,其中neighbor_id是邻居节点标识,degree是该邻居节点的出度值。节点间采用hello报文(包括ping和pong),实现节点间连接的保持,节点加入、离开状态的动态更新,承载邻居节点的资源信息,这些信息周期性地进行更新,以实现邻居节点信息的获取。本发明另一方面提供了一种非结构化p2p网络的资源搜索装置,其主要包括:洪泛搜索模块、漫步搜索模块和反馈调整模块。洪泛搜索模块,用于在消息洪泛生存时间内,节点将搜索消息向所有的邻居节点进行转发;漫步搜索模块,当洪泛生存时间结束时,进入漫步搜索,节点将搜索消息转发给出度值最大的邻居节点继续进行搜索,直到找到目标资源或者消息的漫步生存时间为零;反馈调整模块,用于源节点根据搜索结果,动态调整下一次搜索的洪泛生存时间和漫步生存时间。搜索过程由三个模块实现:洪泛搜索模块在消息洪泛生存时间内节点将搜索消息向所有的邻居节点进行转发,当洪泛生存期结束时,进入漫步搜索模块,节点将搜索消息转发给出度值最大的邻居节点继续进行搜索,直到找到目标资源或者搜索消息的漫步生存时间为零;反馈调整模块,源节点根据搜索结果动态调整下一次搜索的洪泛和漫步生存期。本装置实现了在综合非结构化p2p网络的两类搜索算法的优势,同时兼顾资源搜索的范围和资源搜索的代价,利用网络节点的处理能力,充分使用邻居节点信息来提升资源搜索的效率。为了更加清楚的描述本发明方法所述的搜索过程,结合图3所示本方法搜索过程的具体流程图来进行说明,如图所示,具体包含以下步骤:步骤s301,搜索开始;步骤s302,源节点进行消息初始化,设置消息洪泛生存时间n和等待搜索结果的最大时间max;步骤s303,判断消息洪泛生存时间是否有效(即n是否大于0),如果是,则向邻居节点洪泛搜索消息,消息洪泛生存时间减少1,即n=n-1;如果否,则到步骤s304;步骤s304,判断消息洪泛生存时间是否等于0(即洪泛搜索过程结束,即将进入漫步搜索阶段),如果是,则将广播路由改为单播路由,设置漫步生存时间m,丢弃洪泛搜索报文,更新洪泛生存时间为无效值(如n=-1);如果否,则到步骤s305;步骤s305,判断消息的漫步生存时间是否有效(即m是否大于0),如果是,则节点选择邻居节点出度值表中出度值最大的邻居节点进行消息转发,消息漫步生存时间减少1,即m=m-1;如果否,则到步骤s309;步骤s306,节点收到搜索消息,判断自身是否存在目标资源,如果是,则回复资源搜索请求节点,找到目标资源,则到步骤s310;如果否,则到步骤s307;步骤s307,查询自身的邻居节点资源信息索引表,检查邻居节点是否存在目标资源,如果是,则回复资源搜索请求节点,找到目标资源,则到步骤s310;如果否,则到步骤s308;步骤s308,源节点判断总的搜索时间是否超过max,如果是,根据最大等待时间内收到的报文数量调整下一次搜索的洪泛生存时间和漫步生存时间,没有得到节点的回复,则增大下次搜索的洪泛生存时间和漫步生存时间,从而增大下一次搜索到目标资源的概率;如果收到搜索成功的回复超过设定的数值r,则减小下次搜索的洪泛生存时间n和漫步生存时间m,从而减少网络中的搜索报文数量,到步骤s310;如果总的搜索时间没有超过max,则到步骤s302;步骤s309,漫步生存时间等于0,结束漫步搜索,到步骤s310;步骤s310,搜索结束。以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1