一种维护路由信息的方法及装置的制作方法

文档序号:7614719阅读:207来源:国知局
专利名称:一种维护路由信息的方法及装置的制作方法
技术领域
本发明涉及对等网(P2P,Peer-to-Peer)技术领域,尤其涉及一种维护路由信息 的方法及装置。
背景技术
由于P2P网络是一种自组织形态的网络系统,该网络中,每个节点加入网络或从 网络中退出的行为均是随机性的。因此,当节点加入或退出系统时,系统需要通过采用更新 机制对每个节点维护的路由信息进行更新,才能够及时恢复路由关系,使得查询可以可靠 地进行。现有技术一般基于广播机制,当P2P系统中某个节点加入或者失效时,系统发送 广播消息通知网络中所有节点更新路由信息,这种机制虽然简单,但是缺点也是非常明显 的,对系统中带宽要求很高,当系统中同时失效的节点达到一定数量时,容易产生网络风 暴,导致系统崩溃。

发明内容
本发明的实施例提供一种维护路由信息的方法及装置,能够降低维护路由过程中 产生的开销。本发明实施例提供的一种选择超级维护节点的方法,包括获得系统中节点之间的路由路径和所经过的路由器之间的时延信息;根据节点之间的路径信息和路由器之间的时延信息,采用二分聚类的方法,对节 点划分形成多个聚类;从节点形成的每一个聚类中,选择一个或者多个能力强的节点,作为超级维护节
点ο本发明实施例提供的一种选择超级维护节点的装置,包括探测单元,用于获得系统中节点之间的路由路径和所经过的路由器之间的时延信 息;计算单元,用于根据节点之间的路径信息和路由器之间的时延信息,采用二分聚 类的方法,对多个节点划分形成多个聚类;选择单元,用于从节点形成的每一个聚类中,选择一个或者多个能力强的节点,作 为超级维护节点。本发明实施例提供的一种利用超级维护节点维护路由信息的方法,包括超级维护节点获得所属区域内的普通节点的路由更新信息;向其他网络区域的超级维护节点发送所述路由更新信息;所述超级维护节点通知本区域内的普通节点更新路由信息。本发明实施例提供的一种利用超级维护节点维护路由信息的方法,包括当获知第二网络区域的所有超级维护节点失效时,第一网络区域的超级维护节
4点,根据构造带有地理位置标识的节点ID的方法,计算出第二网络区域的节点标识的范 围,产生一条路由更新信息;所述路由更新信息包括失效节点标识的范围;第一网络区域的超级维护节点通知本区域内的普通节点更新路由信息。本发明实施例提供的一种超级维护节点包括消息接收单元,用于获得路由更新信息;消息发送单元,用于根据所述的路由更新信息,向本网络区域普通节点和其他网 络区域的超级维护节点发送路由更新信息。同时,本发明实施例还提供一种维护路由信息的系统。本发明实施例提供的一种维护结构化对等网络中对等体路由表的方法及装置,充 分利用P2P系统中处理能力强,并且位于网络区域边界的节点作为路由表更新维护节点, 负责将收到的路由更新信息通知本网络区域内的所有节点,并将发生在本领域内的路由更 新通知转发给其他区域的超级维护节点。这样,不同区域的路由更新信息只在超级维护节 点中相互传播,并最终通过超级维护节点转发到网络中的所有节点,从而有效降低了 P2P 网络中的由于节点变更产生的跨网络区域的路由表维护开销。


图1是本发明实施例中选择超级维护节点的方法的流程图;图2是本发明实施例中自动形成超级维护节点的示意图;图3是本发明实施例中一种超级维护节点产生装置的示意图;图4是本发明实施例中一种构建多层次超级维护节点的示意图;图5是本发明实施例中超级维护节点维护路由信息的方法流程图;图6是本发明另一实施例中超级维护节点维护路由信息的方法流程图;图7是本发明实施例中采用的条带分割方法划分网络区域的算法示意图;图8是本发明实施例中一种维护路由信息的系统示意图;图9是本发明实施例中一种超级维护节点的装置示意图。
具体实施例下面将结合附图对本发明实施例的技术方案作进一步详细描述。本发明实施例中,利用P2P网络中节点处理能力的差异性,选出处理能力强,并且 位于网络边缘的节点作为超级维护节点,负责将本网络域的路由更新消息转发到其他网络 域,从而在保证路由表及时更新的同时,能够有效降低路由消息的跨域流量。根据本发明的一个实施例,系统选择处理能力强并且位于网络区域边界的节点作 为超级维护节点,其他节点作为普通节点;根据节点的地域信息,将那些与超级维护节点网 络距离较近的节点划分为一个网络区域;当节点加入或者失效时,普通节点将检测到的路 由更新消息只发送给本网络区域的超级维护节点,超级维护节点再将更新消息转发给其他 网络区域的超级维护节点,每个超级维护节点负责将收到的路由更新信息通知本网络区域 内的所有节点。这样,不同网络区域的路由更新信息只在超级维护节点中相互传播,并最终 通过超级维护节点转发到网络中的所有节点,从而有效降低了 P2P网络中跨网络区域的路 由表维护开销。
本发明实施例中所指的超级维护节点可以为处理能力强,并且位于网络区域边 界的节点;所述的处理能力强的判断标准可以为出口带宽,或者计算能力,或者硬盘大 小,或者内存大小等,例如内存大于4G的节点即成为超级维护节点。所述超级维护节点所负责维护的节点可以为所述超级维护节点所在的地域内的普通节点;与所述超级维护节点时延小于k毫秒的普通节点,所述K值可以根据该超级维护 节点所维护的普通节点的数量灵活设置,一般来讲,K值越大,所维护的普通节点的数量越 多;或者也可以任意选择。例如根据节点的地域信息,将与超级维护节点网络距离较近的节点划分为一个 网络区域,超级维护节点负责该网络区域内所有节点的路由信息更新。根据地域关系来划分超级维护节点所维护的区域。比如将某个省的超级维护节点 和普通节点划分为到一个网络区域中。也可以根据普通节点与超级维护节点间的时延信息 划分网络区域,比如将与超级维护节点时延小于20毫秒的普通节点划分到一个网络区域 中。—个网络区域中的超级维护节点可以是1个或者多个。参见图1,本发明实施例提供一种选择超级维护节点的方法包括以下几个步骤步骤101,获得系统中节点之间的路由路径和所经过的路由器之间的时延信息。可以在系统中选择若干节点上,确定一定数量的目的节点,通过执行TraceRoute 命令,并对返回的结果进行处理,获得节点之间的路由信息和所经过的路由器之间的时延 信息。所述TraceRoute是计算机操作系统提供的工具,用于获得数据包到达目的节点所经 过的中各路由器的地址清单和到达时间。可以由系统中的每一个节点以若干其他节点作为目的节点执行TraceRoute,获得 节点之间的路由路径和所经过的路由器之间的时延信息。例如,系统中每一个节点选取2 个其他节点作为目的节点,每一个节点都执行TraceRoute。具体选取的数量可以根据情况 改变,只要能覆盖到整个系统就可以。也是可以由能力强的节点或者几个专门的计算机或者服务器,以系统中的所有节 点作为目的节点,执行TraceRoute命令。图2是本发明实施例中自动形成超级维护节点的示意图,例如,在图2中,通过执 行TraceRoute命令获得路由器Rl与路由器R2之间的时延为5毫秒,路由器R3与路由器 R4之间的时延为100毫秒。步骤102,根据节点之间的路径信息和路由器之间的时延信息,采用二分聚类的方 法,对多个节点划分形成多个聚类(Cluster)。节点将获得的路径信息和路由器之间的时延信息进行二分聚类,获得时延大和小 的两个集合,把从本节点出发沿着该路径信息,所有上一跳时延为小但下一跳变为大的路 由器的地址作为本节点归属区域的标识,称为位于网络区域边界的路由器。节点把这些标 识和节点自己的信息注册到分布式哈希表或者某个数据存放位置,系统再把具有相同区域 标识的节点形成聚类。通过这种方式,系统中的多个节点就会被划分成多个聚类,每个聚类 组成的网络就是一个网络区域。
例如,在图2中,R3是节点的第一层归属区域标识(类比为“县”),那么所有以R3 的地址作为归属路区域标识的节点形成一个聚类,R5是节点的第二层归属区域标识(类比 为“省”),那所有以R5的地址作为归属路区域标识的节点形成一个聚类。步骤103,对于节点形成的每一个聚类中,选择一个或者多个能力强的节点,作为 超级维护节点。对应于上述本发明实施例中选择超级维护节点的方法,本发明实施例还提供一种 选择超级维护节点的装置,所述装置基于前面所述的方法实现,可以设置在节点,或者服务 器,或者其他电信设备上。参见图3,本发明实例提供一种自动产生超级维护节点的装置,包括探测单元,用于获得系统中节点之间的路由路径和所经过的路由器之间的时延信 息;计算单元,用于根据节点之间的路径信息和路由器之间的时延信息,采用二分聚 类的方法,对多个节点划分形成多个聚类;选择单元,用于从节点形成的每一个聚类中,选择一个或者多个能力强的节点,作 为超级维护节点。所述探测单元包括路由执行模块,用于选择节点执行TraceRoute命令;分析处理模块,用于处理返回的结果,获得节点之间的路由信息和所经过的路由 器之间的时延信息。另外,可以选择管理多个超级维护节点的级别较高的超级维护节点,形成等级关 系,级别高的超级维护节点管辖多个级别低的超级维护节点。参见图4,图4是一种构建多层次超级维护节点的示意图。第一网络区域中包括第 一超级维护节点A和第一普通节点B,第二网络区域中包括第二超级维护节点C和第二普通 节点D,第三网络区域包含第一网络区域和第二网络区域,第三网络区域包括第三超级维护 节点E和第三普通节点F,第四网络区域中包括第四超级维护节点G和第四普通节点H。第 三超级维护节点E和第一超级维护节点A,第二超级维护节点C之间形成一种树状层次关 系,并互相建立电信连接,第三超级维护节点E与第四超级维护节点G之间建立电信连接。本发明实施例提供一种利用超级维护节点维护路由信息的方法,包括以下步骤参考图5,图5是本发明实施例中超级维护节点维护路由信息的方法流程图。步骤201、超级维护节点获得所属网络区域内的普通节点的路由更新信息,该超 级维护节点根据所述路由更新信息,向其他网络区域的超级维护节点发送所述路由更新信 肩、ο所述普通节点可以将更新的路由信息发送给本区域的超级维护节点,所述超级维 护节点接收所述路由更新信息;也可以由超级维护节点接收到普通节点发送的路由更新通 知后,从所述普通节点获取所述节点的路由更新信息。当需要向所述超级维护节点发送消息时,普通节点获得所属区域超级维护节点的 地址。普通节点可以通过多种手段获得所属区域超级维护节点的地址。超级维护节点采 用分散式哈希表的方式将节点标识,IP地址,层次关系等信息注册到DHT中,普通节点使用 DHT的查询方法可以获得P2P系统中超级维护节点信息,包括超级维护节点的地址。
7
所述超级维护节点也可以通过其他方式注册到公共地址中,比如注册到域名解析 服务器(DNS,Domain Name System)或者数据库中。所述普通节点根据注册名称从DNS或 者数据库中获得超级维护节点的地址。超级维护节点可以注册为IP任意播(Anycast)组成员,普通节点发起Anycast请 求,则路由器返回它所在区域的超级维护节点的信息,包括超级维护节点的信息。也可以通 过手工设置等方式为普通节点配置其所在网络区域的超级维护节点的地址。步骤202、接收到所述更新路由信息的超级维护节点通知本区域内的普通节点更
新路由信息。所述超级维护节点可以将新的路由信息发送给本区域的普通节点;也可以根据所 述路由更新信息向普通节点发送路由更新通知,普通节点接收到路由更新通知后,主动到 超级维护节点获取新的路由信息。所述超级维护节点可通过广播的形式发送路由更新信息,也可以通过并行多播的 方式将路由更新信息逐步扩散发送到所属网络区域的普通节点。参见图6,本发明的实施例还提供另外一种维护路由信息的方法,包括步骤301,当第一网络区域中的超级维护节点获知第二网络区域的所有超级维护 节点失效时,第一网络区域的超级维护节点,根据构造带有地理位置标识的节点ID的方 法,计算出第二网络区域的节点标识的范围,产生一条路由更新信息。所述路由更新信息包括失效节点标识的范围。步骤302,第一网络区域的超级维护节点通知本区域内的普通节点更新路由信息。所述超级维护节点可以将新的路由信息发送给本区域的普通节点;也可以根据所 述路由更新信息向普通节点发送路由更新通知,普通节点接收到路由更新通知后,主动到 超级维护节点获取新的路由信息。所述超级维护节点可通过广播的形式发送路由更新信息,也可以通过并行多播的 方式将路由更新信息逐步扩散发送到所属网络区域的普通节点。例如当其他网络区域的超级维护节点获知某个网络区域的超级维护节点失效 时,可根据所述构造带有地理位置标识的节点ID的方法获得失效超级维护节点所属区域 的节点标识的范围,并将这个范围内的节点失效路由信息一次发送给所属网络区域的普通 节点。大大减少了因逐个发送失效网络区域的节点路由更新信息而导致的维护开销。本发明实施例还提供一种构造带有地理位置标识的节点ID的方法,其方法包括 以下步骤。步骤401、获取节点的地理位置信息。节点在加入网络时会公布自己的地理位置信息,可以获取该节点的地理位置信 肩、ο步骤402、利用条带分割的方法确定所述节点的ID哈希空间。步骤403、在所述哈希空间中随机选取一个哈希值,并结合节点的其他属性信息, 构造出节点的ID值。所述在哈希空间中随机选取的哈希值,可以作为节点ID的一部分(例如前缀或 者后缀,或者其中某关键字段)。步骤402和403中,参见图7,采用条带分割选择节点ID的方法,每个区域各为图中的一个不同颜色的条块,整个哈希空间可以划分为N个条带,每个条带中再划分为m个(m 的数目为区域的数目大小)条目,每个区域的节点随机在属于该区域的条目中选择一个作 为自己的节点ID的前缀(或者后缀,或者其中某关键字段),并结合节点的其他属性,构造 出最终的节点ID值。这样就能很好地实现一种按地理区域位置平均划分哈希空间的节点 ID,大区域内的节点都被条带近似平均的分配到了各条目中。区域越大,分得也就越散。例如,ID设定规则中,深圳市属于区域B,那么一个位于深圳市的节点加入到网络 中时,它会随机从哈希空间中选取一个条带,再从这个条带中找到属于该区域B的哈希数 范围条目,并从此哈希范围内随机选择一个哈希数作为自己的节点ID的前缀(或者后缀, 或者其中某关键字段),并结合节点的其他属性,构造出最终的节点ID值。通过这样一种条 带分割选择ID的机制,由一个节点ID里的某关键字段再结合条带分割的规则,就能反推出 该节点的详细地理位置,从而达到从节点ID中得知用户位置信息的目的。本发明实施例中,节点计算构造自己的ID的过程,既可以由节点自身完成,也可 以统一由中心服务器完成,再由节点向中心服务器请求分配。对应于上述本发明实施例中基于超级节点维护路由信息的方法,本发明实施例还 提供一种维护路由信息的系统,所述系统基于前面所述的方法实现,参见图8,图8是该系 统的示意图,该系统包括第一普通节点,第一超级维护节点,第二普通节点,第三超级维护 节点,第四普通节点,第四超级维护节点,第五普通节点。所述第一超级维护节点为,所述第 一普通节点和第二普通节点所属网络区域的超级维护节点;所述第三超级维护节点为,所 述第四普通节点所属网络区域的超级维护节点;所述第四超级维护节点为,所述第五普通 节点所属网络区域的超级维护节点。所述第一普通节点,产生路由更新信息,向第一超级维护节点发送路由更新信 息;第一超级维护节点,接收来自第一普通节点的路由更新信息,根据所述更新路由 信息,向第三超级维护节点和第二普通节点发送路由更新信息;第二普通节点,接收来自第一超级维护节点的路由更新信息,并更新路由信息;第三超级维护节点,接收来自第一超级维护节点的路由更新信息,根据所述路由 更新消息,向第四普通节点和第四超级维护节点发送路由更新信息。第四普通节点,接收来自第三超级维护节点的路由更新信息,并更新路由信息。第四超级维护节点,接收来自第三超级维护节点的路由更新信息,并根据所述路 由更新信息,向第五普通节点发送路由更新信息。第五普通节点,接收来自第四超级维护节点的路由更新信息,并更新路由信息。对应于上述本发明实施例中基于超级节点维护路由信息的方法,本发明实施例还 提供一种维护路由信息的系统,所述系统基于前面所述的方法实现,参见图8,图8是该系 统的示意图,该系统包括第一普通节点,第一超级维护节点,第二普通节点,第二超级维护 节点,第三普通节点。所述第一超级维护节点为,所述第一普通节点和第二普通节点所属网 络区域的超级维护节点,所述第二超级维护节点为,所述第三普通节点所属网络区域的超 级维护节点。第一普通节点,用于产生路由更新信息,向第一超级维护节点发送路由更新信 息;
第一超级维护节点,接收来自第一普通节点的路由更新信息,根据所述路由更新 信息,向第二超级维护节点和第二普通节点发送路由更新信息;第二普通节点,接收来自第一超级维护节点的路由更新信息,并更新路由信息;第二超级维护节点,接收来自第一超级维护节点的路由更新信息,并根据所述路 由更新信息向第三普通节点发送路由更新信息;第三普通节点,接收来自第二超级维护节点的路由更新信息,并更新路由信息。对应于上述本发明实施例中基于超级节点维护路由信息的方法,本发明实例提供 一种超级维护节点,包括消息接收单元,用于获得路由更新信息;消息发送单元,用于根据所述的路由更新信息,向本网络区域普通节点和其他网 络区域的超级维护节点发送路由更新信息。通过所述超级维护节点对网络区域内的路由更新信息统一转发给其他区域的超 级维护节点或者网络区域内的普通节点。这样,不同区域的路由更新信息只在超级维护节 点中相互传播从而有效降低了 P2P网络中的由于节点变更产生的跨网络区域的路由表维 护开销。参见图9,本发明实例提供的另一种超级维护节点,包括消息接收单元,用于获得路由更新信息;监控单元,用于监控与其他超级维护节点的电信连接状态,并在获知第二区域的 所有维护节点都失效时,输出计算路由信息的指示;计算单元,用于接收所述计算路由信息的指示,根据构造带有地理位置标识的节 点ID的方法计算出失效超级维护节点所属网络区域的节点标识的范围,产生路由更新信 息;消息发送单元,用于根据所述的路由更新信息,向本网络区域普通节点和其他网 络区域的超级维护节点发送路由更新信息。本实施例中超级维护节点对其他网络区域的超级维护节点进行监控,在某个网络 区域的超级维护节点都失效的情况下,能够产生包括失效节点标识的范围的路由更新信 息,并将这个范围内的节点失效路由信息一次发送给所属网络区域的普通节点。大大减少 了因逐个发送失效网络区域的节点路由更新信息而导致的维护开销。本发明实施例提供的一种维护路由信息的方法及装置,充分利用P2P系统中处理 能力强,并且位于网络区域边界的节点作为路由表更新维护节点,负责将收到的路由更新 信息通知本网络区域内的普通节点,并将发生在本网络区域内的路由更新信息转发给其他 区域的超级维护节点。这样,不同区域的路由更新信息只在超级维护节点中相互传播,并最 终通过超级维护节点转发到网络中的所有节点,从而有效降低了 P2P网络中的由于节点变 更产生的跨网络区域的路由表维护开销。
10
权利要求
1.一种利用超级维护节点维护路由信息的方法,其特征在于,包括 超级维护节点获得所属区域内的普通节点的路由更新信息; 向其他网络区域的超级维护节点发送所述路由更新信息;所述超级维护节点通知本区域内的普通节点更新路由信息。
2.根据权利要求1所述的方法,其特征在于,超级维护节点获得所属区域内的普通节 点的节点更新路由的消息包括超级维护节点接收普通节点发送的路由更新信息;或者超级维护节点接收普通节点发送的路由更新通知,并从所述普通节点获取所述路由更新fe息。
3.根据权利要求2所述的方法,其特征在于,超级维护节点接收普通节点发送的路由 更新通知之前还包括普通节点获得所述超级维护节点的地址; 普通节点向所述超级维护节点发送路由更新信息。
4.根据权利要求3所述的方法,其特征在于,普通节点获得所述超级维护节点的地址 包括所述普通节点使用DHT的查询方法获得超级维护节点的地址;或者 所述普通节点根据注册名称从DNS或者数据库中获得超级维护节点的地址;或者 所述普通节点发起Anycast请求,接收路由器返回的超级维护节点的地址。
5.根据权利要求1所述的方法,其特征在于,所述超级维护节点通知本区域内的普通 节点更新路由信息包括所述超级维护节点将新的路由信息发送给本区域的普通节点;或者 根据所述路由更新信息想由普通节点发送路由更新通知,通知普通节点到超级维护节 点获取新的路由信息。
6.根据权利要求1所述的方法,其特征在于,所述超级维护节点通过广播的形式发送 路由更新信息;或者通过并行多播的方式将路由更新信息逐步扩散发送到所属网络区域的普通节点。
7.一种利用超级维护节点维护路由信息的方法,其特征在于,包括当获知第二网络区域的所有超级维护节点失效时,第一网络区域的超级维护节点,根 据构造带有地理位置标识的节点ID的方法,计算出第二网络区域的节点标识的范围,产生 一条路由更新信息;所述路由更新信息包括失效节点标识的范围;第一网络区域的超级维护节点通知本区域内的普通节点更新路由信息。
8.一种维护路由信息的系统,其特征在于,包括第一普通节点,第一超级维护节点, 第二普通节点,第三超级维护节点,第四普通节点,第四超级维护节点,第五普通节点;所述第一普通节点,用于产生路由更新信息,向第一超级维护节点发送路由更新信息;所述第一超级维护节点,接收来自第一普通节点的路由更新信息,根据所述更新路由 信息,向第三超级维护节点和第二普通节点发送路由更新信息;所述第二普通节点,接收来自第一超级维护节点的路由更新信息,并更新路由信息; 所述第三超级维护节点,接收来自第一超级维护节点的路由更新信息,根据所述路由更新消息,向第四普通节点和第四超级维护节点发送路由更新信息;所述第四普通节点,接收来自第三超级维护节点的路由更新信息,并更新路由信息; 所述第四超级维护节点,接收来自第三超级维护节点的路由更新信息,并根据所述路 由更新信息,向第五普通节点发送路由更新信息;所述第五普通节点,接收来自第四超级维护节点的路由更新信息,并更新路由信息。
9.一种维护路由信息的系统,其特征在于,该系统包括第一普通节点,第一超级维护 节点,第二普通节点,第二超级维护节点,第三普通节点;第一普通节点,用于产生路由更新信息,向第一超级维护节点发送路由更新信息; 第一超级维护节点,接收来自第一普通节点的路由更新信息,根据所述路由更新信息, 向第二超级维护节点和第二普通节点发送路由更新信息;第二普通节点,接收来自第一超级维护节点的路由更新信息,并更新路由信息; 第二超级维护节点,接收来自第一超级维护节点的路由更新信息,并根据所述路由更 新信息向第三普通节点发送路由更新信息;第三普通节点,接收来自第二超级维护节点的路由更新信息,并更新路由信息。
10.一种超级维护节点,其特征在于,包括 消息接收单元,用于获得路由更新信息;消息发送单元,用于根据所述的路由更新信息,向本网络区域普通节点和其他网络区 域的超级维护节点发送路由更新信息。
11.根据权利要求10所述的超级维护节点,其特征在于,还包括监控单元,用于监控与其他超级维护节点的电信连接状态,并在获知第二区域的所有 维护节点都失效时,输出计算路由信息的指示;计算单元,用于接收所述计算路由信息的指示,根据构造带有地理位置标识的节点ID 的方法计算出失效超级维护节点所属网络区域的节点标识的范围,产生路由更新信息。
全文摘要
本发明实施例提供一种结构化对等网络中维护路由信息的方法及装置,包括选择处理能力强并且位于网络区域边界的节点作为超级维护节点,其他节点作为普通节点;将那些与超级维护节点网络距离较近的节点划分为一个网络区域;当节点加入或者失效时,普通节点将检测到的路由更新消息只发送给本网络区域的超级维护节点,超级维护节点再将更新消息转发给其他网络区域的超级维护节点,每个超级维护节点负责将收到的路由更新信息通知本网络区域内的普通节点。从而有效降低了P2P网络中跨网络区域的路由表维护开销。
文档编号H04L12/56GK102123100SQ20111006752
公开日2011年7月13日 申请日期2008年2月5日 优先权日2008年2月5日
发明者施广宇, 陈坚, 龚皓 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1