一种资源节点查找方法及装置制造方法及图纸

技术编号:12576622 阅读:62 留言:0更新日期:2015-12-23 16:35
本发明专利技术实施例提供了一种资源节点查找方法,包括:在预先构建的所有节点的环形逻辑拓扑结构中,通过蚂蚁算法确定最短环形路径并将其作为环形物理拓扑结构,查找节点接收到查找请求时,首先判断本地是否存有资源,若否,则根据资源标识符以及节点标识符确定资源节点的查找方向,根据确定的查找方向,按照查找节点上保存的顺时针方向指针路由表或逆时针方向指针路由表查找资源节点,查找到时返回查找结果。同时还提供了一种资源节点查找装置,可提高查找资源节点的速度和效率。

【技术实现步骤摘要】

本专利技术涉及通信
,特别涉及一种资源节点查找方法及装置
技术介绍
对等网络中各台计算机有相同的功能,无主从之分,一台计算机都是既可作为服 务器,设定共享资源供网络中其他计算机所使用。对等网络是小型局域网常用的组网方式。 对等计算(PeertoPeer,简称P2P)可以简单的定义成通过直接交换来共享计算机资源和 服务,而对等计算模型应用层形成的网络通常称为对等网络。在P2P网络环境中,成千上万 台彼此连接的计算机都处于对等的地位。在P2P网络中一个常见问题是如何高效的定位节 点,g卩,在一个P2P网络中,一个节点怎样高效的查找到包含它所寻找的数据所在的节点。 现有技术中,通过Chord算法查找节点。Chord算法是麻省理工大学提出的一种基 于分布式散列的算法。它在物理网络上建立一个环形逻辑覆盖网。它的目标是提供一个适 合于P2P网络环境的分布式资源查找服务,通过使用分布式散列技术只需要维护O(LogN) 长度的路由表就可以发现指定要查找的对象。Chord算法是使用相容性哈希函数把所有节 点映射成一个虚拟的逻辑拓扑,该逻辑拓扑为一个环状结构,然后在此环状逻辑拓扑结构 之上采用单向查找机制,即接收到查询请求的节点按环的顺时针方向进行资源查找。但是 这样会导致环中若目标节点是与查询节点相距较远的节点,则需要经过多跳才能找到该目 标节点,查找效率低。并且,Chord算法通常会忽略P2P网络的物理拓扑结构,即其物理拓 扑结构与网络拓扑结构不匹配,从而在路由选择时造成严重的网络延时。
技术实现思路
有鉴于此,本专利技术提供一种资源节点查找方法及装置,通过蚂蚁算法确定环形物 理拓扑结构,以及可以提高使用即时通信客户端的趣味性,从而增加即时通信客户端的应 用率。 本专利技术实施例提供一种资源节点查找方法,包括: 在预先构建的所有节点的环形逻辑拓扑结构中,通过蚂蚁算法确定最短环形路径 并将其作为环形物理拓扑结构,所有节点均存有顺时针方向指针路由表和逆时针方向指针 路由表;当查找节点接收到资源的查找请求时,判断本地是否存有所述资源;若否,则根据 所述资源的资源标识符以及所述查找节点的节点标识符确定所述资源所在的资源节点的 查找方向;根据确定的查找方向,按照所述查找节点上保存的所述顺时针方向指针路由表 或所述逆时针方向指针路由表查找所述资源节点;当查找到所述资源节点时,返回查找结 果。 本专利技术实施例提供一种资源节点查找装置,包括: 第一确定模块,用于在预先构建的所有节点的环形逻辑拓扑结构中,通过蚂蚁算 法确定最短环形路径并将其作为环形物理拓扑结构,所有节点均存有顺时针方向指针路由 表和逆时针方向指针路由表;判断模块,用于当查找节点接收到资源的查找请求时,判断本 地是否存有所述资源;第二确定模块,用于若所述判断模块判断本地未存有所述资源,则根 据所述资源的资源标识符以及所述查找节点的节点标识符确定所述资源所在的资源节点 的查找方向;查找模块,用于根据确定的查找方向,按照所述查找节点上保存的所述顺时针 方向指针路由表或所述逆时针方向指针路由表查找所述资源节点;反馈模块,用于当查找 到所述资源节点时,返回查找结果。 根据上述实施例的资源节点查找方法及装置,通过蚂蚁算法在Chord算法形成 的环形逻辑拓扑结构中确定经过所有节点的最短路径的环,作为环形物理拓扑结构,使得 Chord算法中物理拓扑结构与逻辑拓扑结构一致,从而提高查找资源节点的速度和效率。 进一步地,在确定的环形物理拓扑结构中通过可沿顺时针方向可沿逆时针方向的双向查找 机制,进一步提高查找资源节点的速度和效率。 为让本专利技术的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例, 并配合所附图式,作详细说明如下。【附图说明】 图1为本专利技术第一实施例提供的资源节点查找方法的流程图; 图2为P2P网络结构示意图; 图3为本专利技术实例中环形逻辑拓扑结构上节点与资源分布示意图; 图4为本专利技术实例中环形逻辑拓扑结构上节点根据指针路由表查找资源节点的 每一跳不意图; 图5为本专利技术第二实施例提供的资源节点查找方法的流程图; 图6为本专利技术第三实施例提供的资源节点查找方法的流程图; 图7为本专利技术第四实施例提供的资源节点查找装置的结构示意图; 图8为本专利技术第五实施例提供的资源节点查找装置的结构示意图。【具体实施方式】 为更进一步阐述本专利技术为实现预定专利技术目的所采取的技术手段及功效,以下结合 附图及较佳实施例,对依据本专利技术的【具体实施方式】、结构、特征及其功效,详细说明如后。 本专利技术各实施例中的资源节点查找方法,为查找存储有资源的资源节点,通过 Chord算法将网络中的所有节点形成一个Chord环,S卩形成一个环形逻辑拓扑结构。在此基 础上,通过蚂蚁算法在该环形逻辑拓扑结构中确定经过所有节点的最短路径的环,作为环 形物理拓扑结构,用以解决传统Chord算法中物理拓扑结构与逻辑拓扑结构不一致,从而 导致路由选择时造成严重的网络延时的问题。进一步地,在该最短路径的环形成之后,通 过双向查找机制,即可以从当前节点逆时针或顺时针方向在该最短路径的环上查找资源节 点,进一步提高查找资源节点的效率。 参见图1,本专利技术第一实施例提供了一种资源节点查找方法,该方法包括: 101、在预先构建的所有节点的环形逻辑拓扑结构中,通过蚂蚁算法确定最短环形 路径并将其作为环形物理拓扑结构,所有节点均存有顺时针方向指针路由表和逆时针方向 指针路由表; 如图2所示,在P2P网络结构中,资源和服务分散在各个节点100上,各节点100 之间进行通信,各节点100之间地位相等,没有服务器和客户端的区别。 蚂蚁算法,又称蚁群算法(antcolonyoptimization,ACO),是一种用来在图中寻 找优化路径的机率型算法,通过正反馈、分布式协作来寻找最优路径。这是一种基于种群 寻优的启发式搜索算法。它充分利用了蚁群能通过个体间简单的信息传递,搜索从一个节 点走遍所有节点再回到出发节点走过的最短路径的集体寻优特征。蚂蚁算法采用正反馈机 制,即信息素含量大的路径被选择的概率就越高。当越来越多的蚂蚁通过某一路径时,这条 路径上的信息素含量也越大,因此,该路径被选择的概率也越高,最终能够有效的获得相对 比较优的解,即最短的路径。 本专利技术实施例中,首先通过Chord算法预先构建一个关于所有节点的环形逻辑拓 扑结构(即Chord环),Chord算法是使用相容性哈希函数把所有节点100映射成一个虚拟 的环状逻辑拓扑结构,它的目标是提供一个适合于P2P网络环境的分布式资源查找服务, 通过使用分布式散列技术,若节点个数为N,则只需要维护0 (LogN)长度的路由表便可查找 到资源的位置,即资源所在的资源节点是哪一个。 为便于理解,下面简要介绍在Chord算法构建的环形逻辑拓扑结构上,查找资源 所在的资源节点的过程。Chord算法采用一致性哈希函数把资源存储在环形逻辑拓扑结构(即Chord环) 的相应节点上。一致性哈希先为每个节点(Node)和资源(此处本为Key,其实际表示一个 资源,因为Key与一个资源Value哈希绑定,故在本文中统称资源)分配一个m位的标识符 (ID,Identity),即节点标识符NID和资源标本文档来自技高网...

【技术保护点】
一种资源节点查找方法,其特征在于,包括:在预先构建的所有节点的环形逻辑拓扑结构中,通过蚂蚁算法确定最短环形路径并将其作为环形物理拓扑结构,所有节点均存有顺时针方向指针路由表和逆时针方向指针路由表;当查找节点接收到资源的查找请求时,判断本地是否存有所述资源;若否,则根据所述资源的资源标识符以及所述查找节点的节点标识符确定所述资源所在的资源节点的查找方向;根据确定的查找方向,按照所述查找节点上保存的所述顺时针方向指针路由表或所述逆时针方向指针路由表查找所述资源节点;当查找到所述资源节点时,返回查找结果。

【技术特征摘要】

【专利技术属性】
技术研发人员:王卫斌
申请(专利权)人:深圳市迪菲特科技股份有限公司
类型:发明
国别省市:广东;44

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

1