一种常数复杂度的对等网络目的资源定位方法技术

技术编号:8107759 阅读:211 留言:0更新日期:2012-12-21 07:59
本发明专利技术公开了一种常数复杂度的对等网络目的资源定位方法,包括分配标识符、通信过程、路由表、资源发布、资源定位、路由信息维护等内容。通过将网络中节点进行哈希编码,形成一个循环的路由表,通过对路由表中的节点分发网络的更新消息,做到维护全体节点的全局路由表,从而实现在在高度动态变化的互联网中通过常数复杂度的路由过程就可以快速定位到网络中分布式目标资源,大部分情况下每次定位目标资源都只需要一次查询,同时只需要很少网络开销来定位资源和维护整个对等网络。

【技术实现步骤摘要】

本专利技术涉及到互联网中分布式资源的搜索与定位技术,主要涉及到一种在对等网络中通过网络节点之间常数跳的网络路由快速查找所需网络资源的定位方法。
技术介绍
随着计算机网络技术和互联网的高速发展,世界各地的人们都可以通过互联网分享所需的资源,互联网络缩短了人与人之间的距离。然而,随着互联网应用的不断深入,日常生活中各种资源信息与互联网的关系日益密切,人们对资源共享和资源交换的需求也越来越广泛,为了满足人们日益增长的资源共享与交流的需求,快速而又有效地定位目标资源已成为人们迫切需要解决的问题。对等网络技术的产生和发展,在解决这一问题上起到了积极的作用。对等网络技术是上个世纪末发展起来的一种计算机网络技术,它强调所有网络节点(如计算机、数字终端等,简称“节点”)都是对等的实体,每个网络节点既可以是资 源与服务的提供者,又可以是资源与服务的接受者。对等网络技术与传统网络技术(如客户端/服务器)不同,对等网络技术拥有充分利用边缘、闲杂、零碎的网络、存储和计算资源的能力,具有高度的扩展性与容错性,它可以有效避免服务过载、资源瓶颈等问题,在学术界、工业界、用户中都受到广泛关注和普遍欢迎。现行的对等网络技术,大多数采用分布式哈希表,采用这种技术的对等网络没有设置主控服务器,所有的网络路由都由节点完成,其中每个节点只需要负责网络中所知道的路由选择、部分信息存储与查询,通过网络中所有节点的共同努力来完成整个网络所需的路由选择和信息存储与查询。分布式哈希表技术具有如下主要特点 分布性网络中节点间没有集中式和中央式的控制机制。扩展性网络可以拥有从几十个节点到千万个节点不等规模,网络具有较好的可扩展性。容错性网络在节点不断加入、离开、故障的动态变化情况下,仍然能保证网络可靠有效地工作。现在大多数对等网络协议都是采用分布式哈希表,例如Chord、Pastry> CAN、Kademlia等,其中最流行的是Kademlia协议,采用它的对等网络应用系统主要有eMule、BitTorrent、BitComet、BitSpirit、迅雷、快车等。虽然现在大多数对等网络协议在高动态变化的网络中拥有一定的分布性、扩展性、容错性,但是它们在定位资源的时候的查询次数与网络中节点数量成正比,即节点越多,查询次数也就越多;节点越少,查询次数也就越少。在一个大规模的网络中,这些协议需要多次查询才能找到目标资源,在目标资源查询过程中耗费大量的网络带宽资源,容易产生大量网络流量,造成网络局部拥塞现象的出现。
技术实现思路
本专利技术的目的是为了克服上述现有技术的不足,提供一种常数跳对等网络目标资源定位方法,应用于大规模的网络中,能减少网络目标资源定位时的查询的次数,实现在在高度动态变化的互联网中通过常数复杂度的路由过程就可以快速定位到网络中分布式目标资源,在大部分情况下只需要一次查询就能完成目标资源的定位,同时只需要很少网络开销来定位资源和维护整个对等网络。为实现上述目的,本专利技术采用的技术方案如下 ,其特征是,在对等网络中,节点NI进行资源定位的步骤包括 1)节点NI在自己路由表中搜索距离所求资源最近的节点N2,然后节点NI向节点N2发送资源查询的请求; 2)如果节点N2在线并且节点N2存储有所求资源信息,则由节点N2发送所求资源信息给NI,完成资源定位,否则执行步骤3),资源信息至少由资源标识符ID和资源索引value组成,资源标识符ID为对等网络上资源的标识符,需要保证每个资源的资源标识符ID都是 唯一的;资源索引value是记录拥有资源的节点信息的文件,节点信息指节点和资源的标识符ID、网络IP地址、网络通讯使用的端口等信息; 3)如果节点N2在线,则由节点N2发送一个或多个最接近所求资源的节点信息给节点NI,让节点NI更新自己的路由表; 4)如果节点NI接收不到节点N2的返回信息,节点NI将从自己的路由表中搜索没有搜索过的距离所求资源最近的节点N3,并向节点N3发送资源查询的请求; 5)如果节点N2返回的信息中没有所求资源信息,而只有节点信息,则节点NI从这些节点信息和路由表中选出没有搜索过的距离所求资源最近的节点N3,并向节点N3发送资源查询的请求; 6)节点NI将重复这个过程,直到定位到资源或者查询过K个节点都没有定位成功,则不再继续向其他节点发送查询资源的请求,其中,K为规定的常数,即查询路由的跳数,其取值范围为2至20 ; 所述对等网络包括五种通信过程探询、存储、获取资源、刷新、获取路由表,所述探询是指探测一个节点是否在线,所述存储是指通知节点存储资源信息,所述获取资源是从节点获取资源信息,所述刷新是指向节点发布路由的变化消息,所述获取路由表是某个节点从其它节点获取网络节点信息。所述对等网络的每个节点都维护一张全局的路由表,所述路由表由所有在线节点的节点信息组成。所述对等网络中,节点NI发布共享资源的步骤包括 1)节点NI确定所述资源的标识符ID,并生成资源信息; 2)节点NI查找自己的路由表,找到距离所述资源最近的规定数量的节点的ID; 3)节点NI向所述规定数量的节点发送存储消息,让这些节点存储资源信息; 4)如果某个节点没有返回响应信息,则进行步骤5),否则,进行步骤6); 5)向没有发送过存储信息的节点中的最接近所述资源的节点发送存储信息,让该节点存储资源信息; 6)如果所述规定数量的节点全部进行存储操作并得到回复,则完成资源发布,否则进行步骤5); 上述的,还包括以下三种情况时维护路由信息的步骤 (1)节点加入所述对等网络时 A.欲加入节点将已知节点信息加入自己的路由表,然后向已知节点请求自己附近的节点信息; B.在得到附近的节点信息后,欲加入节点设置刷新域为整个网络,对距离自己最近的节点进行刷新操作,向其发送获取路由表请求,获取全局路由表; C.节点收到全局刷新请求后,以自己为开始节点,进行全网路由信息的更新,并且回复欲加入节点全局路由表; D.欲加入节点收到全局路由表后就完成将收到的全局路由表整合为自己路由表,如果没有收到回复,则欲加入节点对没有进行刷新操作的离自己最近的下一个节点进行刷新操 作,重复这个过程,直到有节点回复消息或者联系过规定数量的节点都没有回复; (2)节点退出所述对等网络时 A.欲退出节点从自己路由表中找出离自己最近的节点; B.欲退出节点设置刷新域为整个网络,对所述最近的节点进行刷新操作; C.如果所述最近的节点回复消息,则欲退出节点离开网络;如果所述最近的节点没有回复消息,则欲退出节点对没有进行刷新操作的离自己最近的下一个节点进行刷新操作,重复这个过程,直到有节点回复消息或者联系过规定数量的节点都没有回复,然后下线; D.如果有节点回复消息,则由回复消息的节点作为开始节点,进行全网路由信息的更新; (3)节点意外离线时 A.发现意外离线节点后,发现节点从自己路由表中找出离意外离线节点最近的节点。B.发现节点设置刷新域为整个网络,对所述最近的节点进行刷新操作。C.如果所述最近的节点回复消息,则网络中其他节点的路由更新由所述最近的节点负责;如果所述最近的节点没有回复消息,则发现节点向没有进行刷新操作的离意外离线节点最近的下一个节点进行刷新操作本文档来自技高网
...

【技术保护点】
一种常数复杂度的对等网络目的资源定位方法,其特征是,在对等网络中,节点N1进行资源定位的步骤包括:1)节点N1在自己路由表中搜索距离所求资源最近的节点N2,然后节点N1向节点N2发送资源查询的请求;2)如果节点N2在线并且节点N2存储有所求资源信息,则由节点N2发送所求资源信息给N1,完成资源定位,否则执行步骤3);3)如果节点N2在线,则由节点N2发送一个或多个最接近所求资源的节点信息给节点N1,让节点N1更新自己的路由表;4)如果节点N1接收不到节点N2的返回信息,节点N1将从自己的路由表中搜索没有搜索过的距离所求资源最近的节点N3,并向节点N3发送资源查询的请求;5)如果节点N2返回的信息中没有所求资源信息,而只有节点信息,则节点N1从这些节点信息和路由表中选出没有搜索过的距离所求资源最近的节点N3,并向节点N3发送资源查询的请求;6)节点N1将重复这个过程,直到定位到资源或者查询过K个节点都没有定位成功,则不再继续向其他节点发送查询资源的请求,其中,K为规定的常数,即查询路由的跳数,其取值范围为2至20;其中,N1、N2、N3为对等网络中的节点;资源信息至少由资源标识符ID和资源索引value组成,资源标识符ID为对等网络上资源的标识符,需要保证每个资源的资源标识符ID都是唯一的;资源索引value?是记录拥有资源的节点信息的文件,节点信息指节点和资源的标识符ID、网络IP地址、网络通讯使用的端口等信息。...

【技术特征摘要】
1.一种常数复杂度的对等网络目的资源定位方法,其特征是,在对等网络中,节点NI进行资源定位的步骤包括 1)节点NI在自己路由表中搜索距离所求资源最近的节点N2,然后节点NI向节点N2发送资源查询的请求; 2)如果节点N2在线并且节点N2存储有所求资源信息,则由节点N2发送所求资源信息给NI,完成资源定位,否则执行步骤3); 3)如果节点N2在线,则由节点N2发送一个或多个最接近所求资源的节点信息给节点NI,让节点NI更新自己的路由表; 4)如果节点NI接收不到节点N2的返回信息,节点NI将从自己的路由表中搜索没有搜索过的距离所求资源最近的节点N3,并向节点N3发送资源查询的请求; 5)如果节点N2返回的信息中没有所求资源信息,而只有节点信息,则节点NI从这些节点信息和路由表中选出没有搜索过的距离所求资源最近的节点N3,并向节点N3发送资源查询的请求; 6)节点NI将重复这个过程,直到定位到资源或者查询过K个节点都没有定位成功,则不再继续向其他节点发送查询资源的请求,其中,K为规定的常数,即查询路由的跳数,其取值范围为2至20 ; 其中,N1、N2、N3为对等网络中的节点;资源信息至少由资源标识符ID和资源索引value组成,资源标识符ID为对等网络上资源的标识符,需要保证每个资源的资源标识符ID都是唯一的;资源索引value是记录拥有资源的节点信息的文件,节点信息指节点和资源的标识符ID、网络IP地址、网络通讯使用的端口等信息。2.根据权利要求I所述的一种常数复杂度的对等网络目的资源定位方法,其特征是,所述对等网络包括五种通信过程探询、存储、获取资源、刷新、获取路由表,所述探询是指探测一个节点是否在线,所述存储是指通知节点存储资源信息,所述获取资源是从节点获取资源信息,所述刷新是指向节点发布路由的变化消息,所述获取路由表是某个节点从其它节点获取网络节点信息。3.根据权利要求2所述的一种常数复杂度的对等网络目的资源定位方法,其特征是还包括以下三种情况时维护路由信息的步骤 (1)节点加入所述对等网络时 A.欲加入节点将已知节点信息加入自己的路由表,然后向已知节点请求自己附近的节点信息; B.在得到附近的节点信息后,欲加入节点设置刷新域为整个网络,对距离自己最近的节点进行刷新操作,向其发送获取路由表请求,获取全局路由表; C.节点收到全局刷新请求后,以自己为开始节点,进行全网路由信息的更新,并且回复欲加入节点全局路由表; D.欲加入节点收到全局路由表后就完成将收到的全局路由表整合为自己路由表,如果没有收到回复,则欲加入节点...

【专利技术属性】
技术研发人员:黄桂敏周娅刘斯韵
申请(专利权)人:桂林电子科技大学
类型:发明
国别省市:

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

1