一种p2p节点存活性定期探测系统及方法

文档序号:7746688阅读:371来源:国知局
专利名称:一种p2p节点存活性定期探测系统及方法
技术领域
本发明涉及的是网络测控技术领域。具体地说是一种P2P(点对点网络)节点存 活性定期探测系统及方法。
背景技术
P2P网络规模逐渐扩大,节点数目越来越多,而P2P网络中节点的加入和退出是不 确定的。这样一来,为了确保节点自身路由表中节点是否存活就需要对这些节点进行探测。在Pastry (微软及RICE大学提出的一种点对点网络路由算法)以及其他很多路 由算法中,采用定期探测方法来确定路由表中结点是否存活,即每个结点每过一段时间显 式地探测一下自身路由表中的所有结点指针,看对应结点是否还在系统中,根据应答的结 果确定结点是否存活。这也是目前最常用的定期探测方式。另外一种方式采用广播机制,即结点本身不进行探测,维护路由表完全依靠其他 结点广播自己的状态。这种方式中结点自身只需要接受其他结点发来的消息即可,但广播 的方式浪费了太多的带宽,尤其是在众多结点加入或退出时发出的广播可能会造成广播风
恭o传统方法的特征是方法简单,易于实现。但缺点也很明显,这种类似于组播的方 式浪费带宽的情况比较明显,特别是节点路由表表项数目较大时,需要探测的节点数很多。 此外这种方法未考虑到刚通信的节点依然存活的特点,经常对刚刚通信过的节点发出探测 请求。

发明内容
本发明的目的在于提供一种能够减少探测次数,节省网络带宽的P2P节点存活性 定期探测系统。本发明的目的还在于提供一种P2P节点存活性定期探测方法。本发明的目的是这样实现的本发明的P2P节点存活性定期探测系统包括信息收集模块、信息处理模块、探测 模块和回应模块;信息收集模块,收集最近一个探测周期内节点连接信息,并初始化路由表 节点状态属性;信息处理模块根据路由表节点状态属性确定在下一个探测周期内哪些节点 应该被探测,哪些该延迟探测;探测模块,当下一探测周期到来,向已确定需要探测的节点 发出探测,并更改所有连接表内所有节点的标志位,继续收集返回的连接信息,更新路由表 节点状态属性;回应模块,节点在收到探测信息后相应的进行回应,以便其他节点进行更 新。本发明的P2P节点存活性定期探测方法为(1)信息收集模块,收集最近一个探测周期内节点连接信息,并初始化路由表节点 状态属性;具体方法为路由表表项包含节点ID、节点IP和节点状态属性三项,P2P网络中 每个节点记录在一个探测周期内收到的连接信息,并根据这些信息更新路由表中节点状态 属性一项,此项取值范围0和1,如果在此周期内没有连接信息,相应的节点表项置为0,如果在此周期内有连接信息,相应的节点表项置为1 ;(2)信息处理模块,根据路由表节点状态属性确定在下一个探测周期内哪些节点 应该被探测,哪些该延迟探测,具体方法为根据路由表中节点状态属性的值进行探测,0 表示需要被探测,1表示不需要被探测,在其他探测完成后将1置为0 ;(3)探测模块,当下一探测周期到来,向已确定需要探测的节点发出探测,并更改 所有连接表内所有节点的标志位,继续收集返回的连接信息,更新路由表节点状态属性,具 体方法为向表中节点状态属性的值为0的节点发出探测请求,并将节点状态属性的值为1 的项改为0 ;(4)回应模块,节点在收到探测信息后相应的进行回应,以便其他节点进行更新, 具体方法为节点在收到探测信息后,根据路由信息中上一跳的地址进行回应,表明本节点 存活。本发明具有以下优点充分考虑了 P2P网络上节点之间通信的联系,对最近一段时间内的连接信息进行 统计并决定是否进行探测。减少了探测次数,节省了网络带宽,并降低了其他节点的响应探 测的负担。


图1本系统路由表表项结构;图2探测过程中路由表的变化;图3模拟实验的对比数据;图4系统结构图;图5探测方法流程图。
具体实施例方式下面结合附图举例对本发明做更详细地描述本系统包含四个模块,模块间的关系参见图4,每个模块的功能如下(1)信息收集模块系统收集最近一个探测周期内节点连接信息,并初始化路由 表节点状态属性。具体工作过程为本系统中的路由表表项包含节点ID、节点IP和节点状态属性三 项。P2P网络中每个节点记录在一个探测周期内收到的连接信息,并根据这些信息更新路由 表中节点状态属性一项,此项取值范围0和1。如果在此周期内没有连接信息,相应的节点 表项置为0 ;如果在此周期内有连接信息,相应的节点表项置为1。(2)信息处理模块根据路由表节点状态属性确定在下一个探测周期内哪些节点 应该被探测,哪些该延迟探测。具体工作过程为根据路由表中节点状态属性的值进行探测,0表示需要被探测, 1表示不需要被探测,在其他探测完成后要将1置为0。(3)探测模块当下一探测周期到来,向已确定需要探测的节点发出探测,并更改 所有连接表内所有节点的标志位,继续收集返回的连接信息,更新路由表节点状态属性。具体工作过程为向表中节点状态属性的值为0的节点发出探测请求,并将节点状态属性的值为1的项改为0。(4)回应模块节点在收到探测信息后也要相应的进行回应,表明自身的存活状 态,以便其他节点进行更新。具体工作过程为节点在收到探测信息后,根据路由信息中上一跳的地址进行回 应,表明本节点存活。图1是该系统中路由表项的结构在DHT(分布式哈希表)网络中,其中节点ID和节点IP为必有项,节点状态属性 为本系统所特有,用以标识节点在下一探测周期是否需要探测,取值范围是0和1。其中0 代表在下一探测周期到来时需要被探测,它包含上一周期内没有通信过的节点。1代表在下一探测周期到来时不需要被探测,他包含上一周期内与本节点通信过 的节点图2是按照本发明模拟的一个探测场景。(1)结点A在查询过程中对路由表中的某个结点B发出了查询,但是需要通过结点 C来搜索B;(2)结点B收到C发来的信息后向A发送应答信息。C将B的结点状态由0改为 1,表明B最近在线;(3)当结点C到下一次定期探测的时间时,结点C就对其自身路由表中结点状态属 性为0结点进行探测,如图中的D和E结点,而不对B进行探测;(4)结点C的定期探测结束后,将路由表中结点B状态属性改为0,表示下次需要 探测此结点。为了验证本发明在减少连接方面的有效性,我们构造了 一个实验网络环境。实验 环境为模拟的DHT网络,为了确定发明的有效性,做了 4组对比实验。每次实验的节点数在 3000到15000不等。每个节点都分别用传统定期探测与该系统定期探测进行实验各一次。 对相同节点数目的情况下,分别探测总数。根据实验结果,可以看出该系统的节点定期探测方法比传统的方法减小了探测的 总数,节省了网络带宽,具体实验结果参见图3。
权利要求
一种P2P节点存活性定期探测系统,包括信息收集模块、信息处理模块、探测模块和回应模块;其特征是信息收集模块,收集最近一个探测周期内节点连接信息,并初始化路由表节点状态属性;信息处理模块根据路由表节点状态属性确定在下一个探测周期内哪些节点应该被探测,哪些该延迟探测;探测模块,当下一探测周期到来,向已确定需要探测的节点发出探测,并更改所有连接表内所有节点的标志位,继续收集返回的连接信息,更新路由表节点状态属性;回应模块,节点在收到探测信息后相应的进行回应,以便其他节点进行更新。
2.—种P2P节点存活性定期探测方法,其特征是(1)信息收集模块,收集最近一个探测周期内节点连接信息,并初始化路由表节点状态 属性;具体方法为路由表表项包含节点ID、节点IP和节点状态属性三项,P2P网络中每个 节点记录在一个探测周期内收到的连接信息,并根据这些信息更新路由表中节点状态属性 一项,此项取值范围0和1,如果在此周期内没有连接信息,相应的节点表项置为0,如果在 此周期内有连接信息,相应的节点表项置为1 ;(2)信息处理模块,根据路由表节点状态属性确定在下一个探测周期内哪些节点应该 被探测,哪些该延迟探测,具体方法为根据路由表中节点状态属性的值进行探测,0表示 需要被探测,1表示不需要被探测,在其他探测完成后将1置为0 ;(3)探测模块,当下一探测周期到来,向已确定需要探测的节点发出探测,并更改所有 连接表内所有节点的标志位,继续收集返回的连接信息,更新路由表节点状态属性,具体方 法为向表中节点状态属性的值为0的节点发出探测请求,并将节点状态属性的值为1的项 改为0 ;(4)回应模块,节点在收到探测信息后相应的进行回应,以便其他节点进行更新,具体 方法为节点在收到探测信息后,根据路由信息中上一跳的地址进行回应,表明本节点存 活。
全文摘要
本发明提供的是一种P2P节点存活性定期探测系统及方法。信息收集模块,收集最近一个探测周期内节点连接信息,并初始化路由表节点状态属性;信息处理模块根据路由表节点状态属性确定在下一个探测周期内哪些节点应该被探测,哪些该延迟探测;探测模块,当下一探测周期到来,向已确定需要探测的节点发出探测,并更改所有连接表内所有节点的标志位,继续收集返回的连接信息,更新路由表节点状态属性;回应模块,节点在收到探测信息后相应的进行回应,以便其他节点进行更新。本发明充分考虑了网络上节点之间通信的联系,对过去的连接信息进行统计并决定是否进行探测。减少了探测次数,节省了网络带宽。
文档编号H04L12/26GK101860529SQ20101015348
公开日2010年10月13日 申请日期2010年4月23日 优先权日2010年4月23日
发明者杨武, 林涛, 玄世昌, 王巍, 苘大鹏 申请人:哈尔滨工程大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1