建立对等体聚类的实现方法、对等体通信方法及p2p网络对等体的制作方法

文档序号:7653412阅读:223来源:国知局
专利名称:建立对等体聚类的实现方法、对等体通信方法及p2p网络对等体的制作方法
技术领域
本发明涉及计算机网络技术领域,尤其涉及P2P (Peer-to-Peer)网络中建 立对等体聚类的实现方法、对等体通信方法,以及相应的P2P网络对等体。
背景技术
P2P网络与传统的客户机/服务器模式系统不同,P2P网络中的每一个节点 (Peer)既可以给其他节点提供服务,又可以接受其他节点提供的服务。因此, P2P是一种对等体之间的操作,P2P网络中每个实体都称为对等体。P2P网络 可以按照其拓朴结构进行分类。 一般分为集中化拓朴(Centralized Topology); 全分布式非结构化拓朴(Decentralized Unstructured Topology );全分布式结构 化拓朴(Decentralized Structured Topology,也称作DHT网络)和混合型。P2P网络是构建在独立于底层物理网络的叠加网络,是处在应用层的、逻 辑上的虛拟网络。由于建立叠加网络时并没有考虑底层物理网络的拓朴结构, 这就可能造成叠加网络与物理网络的拓朴错配。而叠加网络中的通信又完全依 赖底层物理网络的支持,因而当P2P网络中的两个对等体通信时,叠加网络会 根据自身的拓朴结构选择逻辑上比较近的对等体,而由于叠加网络与物理网络 的拓朴错配,该逻辑上比较近的对等体有可能在物理网络中的实际距离却较 远,这种情况将会给实际承载通信的物理网络带来相当严重的通信负载。典型 的情况是从远处获取共享的资源,而不是从最近处的对等体中获取。如图l所 示,对等体A位于中国深圳,需要获取文件fileX,叠加网络会根据自身的拓 朴结构选择从逻辑上比较近的对等体B中(位于美国)获取文件fileX,而实 际上对等体A和对等体B的物理距离相当远;而与对等体A同样位于中国深 圳的对等体D就拥有文件fileX,但由于叠加网络与物理网络的拓朴错配,导致没有选择物理距离上比较近的对等体D向对等体A提供文件fileX。这种情 况将使得整个网络的通信路由不优化,加大了通信负载。 现有技术中 一种优化叠加网络拓朴的方法为对等体以Traceroute作为探测工具对目标站点进行探测。目标站点的选择 方法包括一、 获取边界网关协议(Border Gateway Protocol, BGP)路由表信息,以 BGP表中不同的IP前缀地址作为随机选择目标站点的依据;二、 以Internet上一些位于不同域的固定IP为目标站点。 对等体探测时指定只探测前5跳,从探测结果中得到路由器的IP地址信息,以探测得到的路由器IP地址作为关键字,将对等体信息注册到DHT网络。 对等体在DHT网络中形成以路由器IP为关键字的对等体聚类。在对等体之间进行通信时,以自身探测得到的路由器IP地址作为关键字, 向DHT网络发起查询,如果查询到相应对等体聚类中有其它对等体,则优先 将查询到的其它对等体作为通信对象。在实现本发明过程中,发明人发现现有技术中至少存在如下的问题,取前 5跳的路由器IP地址作为聚类关键字不准确。这是因为当同一个域的网络路径较大时,只取前5跳的路由器IP地址作为聚类关 键字,会导致聚类规模过小,使得属于同一个域的对等体可能无法属于同一个 对等体聚类中;减少了对等体通过聚类选择本域中通信对象的可选范围。当同一个域的网络路径较小时,取前5跳的路由器IP地址作为聚类关键 字,将会导致属于不同域的对等体位于同一个对等体聚类中。当对等体通过聚 类选择通信对象时,有可能选择到不同域的对等体。而由于不同域的路由器之 间的连接路径数量是有限的,跨域的通信易成为网络通信的瓶颈,应该尽量减 少跨域之间的通信量。因此,当一个域的网络路径较小时,采用这种聚类方式 实现对等体之间的通信并没有发挥出有效的作用。发明内容本发明实施例提供一种建立对等体聚类的实现方法、对等体通信方法及相应的P2P网络对等体,使得P2P网络中的对等体更容易成功获取到物理距离近的其它对等体进行通信。一种建立对等体聚类的实现方法,应用于P2P网络,包括 网络中的对等体使用探测工具获取路由器的IP地址信息及对应路由器的时延值,生成自己的路由器IP集合;所述路由器IP集合中包括所述对等体探测到的每一个路由器的IP地址及对应时延值;所述对等体根据所述时延值,将所述路由器IP集合进行二分聚类,得到自己的远集合和近集合;所述近集合中包含的时延值小于所述远集合中包含的时延值;所述对等体将所述近集合中的部分或全部路由器IP地址注册到网络上; 整个网络中使用相同的路由器IP地址注册的各对等体形成一个以该路由器IP 地址为关键字的对等体聚类。一种对等体通信方法,应用于P2P网络,所述P2P网络中采用本发明实施 例提供的方法形成对等体聚类,该方法包括发起通信请求的对等体从自己的近集合中选取已注册到网络上的路由器 IP地址作为关键字,向网络发起查询,匹配出对应的对等体聚类,将匹配出的 对等体聚类中包含的除自身之外的其余对等体作为近距离对等体;发起通信请求的对等体与所述近距离对等体进行通信。一种P2P网络对等体,包括探测单元,用于使用探测工具获取路由器的IP地址信息及对应路由器的 时延值,生成路由器IP集合,并发送通知消息;二分聚类功能单元,用于接收所述探测单元发送的通知消息,根据所述路 由器IP集合中的时延值,将路由器IP集合进行二分聚类,得到远集合和近集 合,所述近集合中包含的时延值小于所述远集合中包含的时延值;并发送通知消息;注册单元,用于接收所述二分聚类功能单元发送的通知消息,将所述近集 合中的部分或全部路由器IP地址信息注册到网络上。本发明实施例通过网络中的对等体使用探测工具获取路由器的IP地址信 息及对应路由器的时延值,生成自身的路由器IP集合;将自身的路由器IP集 合根据时延值进行二分聚类,得到属于自己的远集合和近集合;因此在近集合 中保存的路由器其对应时延值较小,因此与对等体的物理距离较近。网络中的 每一个对等体将属于自己的近集合中的部分或全部路由器IP地址注册到网络 上,这样,整个网络中使用相同的路由器IP地址信息注册的各对等体就形成 了一个以该路由器IP地址为关键字的对等体聚类。当对等体发起通信时,从 属于自己的近集合中选取路由器IP地址作为关键字,向网络发起查询,匹配 出对应的对等体聚类,将匹配出的对等体聚类中的其余对等体作为近距离对等 体,优先与近距离对等体进行通信获取所需资源。由于本发明实施例将对等体 探测到的路由器IP集合根据时延值大小进行了二分聚类,并以近集合中的路 由器IP地址作为聚类关键字形成对等体聚类,因此保证了对等体聚类中的各 对等体之间物理距离较近。另外,本发明实施例对探测的跳数不作限定,对等体一般都可以探测到本 域的出口路由器IP地址,由于一个域与其它域相互连接的出口路由器数量不 多,因此,同一个域中的对等体以出口路由器IP地址为关键字形成对等体聚 类的概率很大,使得对等体更容易在本域范围内成功地找到相对距离较近的属 于同一个聚类的其它对等体。


图1为P2P叠加网络与物理网络的拓朴错配导致资源查找时路径不优化的 示意图;图2为本发明实施例提供的获取近距离对等体实现通信的流程图;图3为本发明实施例提供的二分聚类算法流程图;图4为本发明实施例提供的不同域的对等体以本域的出口路由器IP地址 作为聚类关^:字,形成对等体聚类的示意图;图5为本发明实施例提供的P2P网络对等体结构示意图之一; 图6为本发明实施例提供的P2P网络对等体结构示意图之二。
具体实施方式
参见图2,为本发明实施例提供的获取近距离对等体实现通信的流程图, 具体包括步骤S21、网络中的对等体使用探测工具获取路由器的IP地址信息及对应 路由器的时延值,生成自己的路由器IP集合;步骤S22、对等体根据路由器IP集合中的时延值,将路由器IP集合进行 二分聚类,得到自己的远集合和近集合;步骤S23、对等体将近集合中的部分或全部路由器IP地址注册到网络上; 整个网络中使用相同的路由器IP地址注册的各对等体形成一个以该路由器IP 地址为关键字的对等体聚类;步骤S24、发起通信请求的对等体从自己的近集合中选取路由器IP地址作 为关键字,向网络发起查询,匹配出对应的对等体聚类,将匹配出的对等体聚 类中除自身之外的其余对等体作为近距离对等体。下面结合附图,以上述步骤进行详细阐述。步骤S21中,对等体需要收集路由器信息,具体包括对等体使用探测工具随机探测一些路由器站点,得到路由器IP集合信息。 探测工具可使用Traceroute,也可以使用其它的具有同样功能的工具,如TCP Trac6route等。Traceroute的探测过程为对等体首先送出一个生成时间(Time TO Live, TTL,)是1的IP报文到随机选择的目的地址,然后等待报文响应。当对等体收到该才艮文的网际控制才艮文协议(Internet Control Message Protocol, ICMP)超 时报文时,从ICMP超时报文中获取IP地址,作为第一跳的路由器的IP地址, 并将本次报文的往返时间作为第 一跳的对应时延值;然后,对等体将IP报文的TTL值加上1后重新发送,并等待新的ICMP 超时报文,以获得下一跳(第二跳)的路由器的IP地址和对应时延值;将TTL值每次加1,直复上述过程, 一直持续到返回表示目的地达到的 ICMP报文,或者IP报文的发送次数达到最大TTL值(最大TTL值由 Traceroute规定)。由于目的地址是随机选择的,有可能目的地不可达,当目的 地不可达时,当报文响应超时后,对等体会收到返回的ICMP端口不可达报文, 于是停止探测过程。为了增加Traceroute探测到因特网服务提供商(ISP )提供的出口路由器的 概率(一般情况下,属于同一个ISP的对等体组成一个ISP域,不同的域之间 通过出口路由器相互连接),随机探测选取的目标IP地址满足某种约束条件, 如目标IP地址的K (例如K=8 )位前缀与对等体IP地址的K位前缀不一致。最终探测结果将包含探测得到的各路由器IP地址、时延值和跳数等信息, 记录为{(路由器IP1,跳数l,时延l),(路由器IP2,跳数2,时延2), ...} 形式的集合。为描述方便,在后文中称之为"路由器IP集合"。该路由器IP 集合可以保存在对等体本地,也可以保存在网络的其它实体中,例如指定网络 中某一个对等体来保存网络中全部对等体探测得到的各自的路由器IP集合, 或者设置一网络实体专用于保存网络中全部对等体探测得到的各自的路由器 IP集合。由于路由器比对等体相对稳定,因此对等体不需要每次启动都重新进行路 由器探测。当对等体重新启动后,如果对等体IP地址没有发生改变,则直接 利用上次的探测结果。如果对等体IP地址被重新分配,则重新进行路由探测, 当探测到某一跳路由与上次探测结果相同时,停止探测过程,以减少对相同的 路由器进行探测。同时,为了适应路由的可能改变,还可设定一个比较长的探测周期,当探测周期到达时,对等体重新探测并获取自身的路由器IP集合信 息。步骤S22中,对等体需要将自身探测生成的路由器IP集合二分聚类为远 集合和近集合,具体包括现有技术中已经提出的聚类算法有很多,包括但不限于以下的方案(1) 分裂法给定一个有n个元组或者记录的数据集,构造k个分组,每 一个分组代表一个聚类(k〈n)。对于给定的k-2 ,可以给出一个初始的分组 方法,以后通过反复迭代来改变分组,使得每一次改进之后的分组方案都较前 一次好。典型的均值分类K-means算法为分裂法的一种。(2) 层次法对给定的数据集进行层次似的分解,直到某种条件满足为止。 初始时每一个数据记录都组成一个单独的组,在接下来的迭代中,把那些相互 邻近的组合并成一个组,直到所有的记录组成两个分组或者某个条件满足为 止。(3) 基于网格的方法首先将数据空间划分成为有限个单元(cell)的网格结 构,所有的处理都是以单个的单元为对象的。最终将有限个单元的数据空间划 分为两类。下面以K-means算法为例,对将路由器IP集合二分聚类为远集合和近集 合进行详细的步骤描述。K-means聚类算法属于聚类分析方法中 一种基本的且应用最广的划分方 法,该算法的基本思想是给定一个包含n个数据对象的数据库,以及要生成 的簇的数目K,随机选取K个对象作为初始的K个聚类中心,然后计算剩余各 个样本到每一个聚类中心的距离,把该样本归属到离它距离最近的那个聚类中 心所在的类,对调整后的新类使用平均值的方法计算新的聚类中心,如果相邻 两次的聚类中心没有任何变化,或变化很小,说明样本调整结束,且聚类平均 误差准则函数已经收敛,否则重新计算聚类中心进入下一次迭代。具体流程包括步骤S31、设置第一类Zl和第二类Z2,以路由器IP集合中时延最大值 作为第一类Z1的初始聚类中心Zl(I),以路由器IP集合中时延最小值作为第 二类Z2的初始聚类中心Z2(I);步骤S32、分别计算路由器IP集合中剩余各个时延值到第一类和第二类 的聚类中心的距离,把每一个时延值归属到离它距离最近的聚类中心所在的类;步骤S33、计算出误差平方和,即计算出每个时延值到其所属聚类中心的距离的平方和;也即误差平方和=每个时延值到其聚类中心的距离的平方和;步骤S34、判断本次误差平方和与上次误差平方和之差是否小于设定的阈值(比如l),如果小于设定的阈值,则表明迭代算法已经收敛,执行步骤S36;否则,执行步骤S35;步骤35、根据步骤S32产生的第一类Zl和第二类Z2,重新计算出每类的新的聚类中心,具体计算方法为分别计算出每类中所有时延值的均值,即 类的聚类中心=(类中所有时延值之和)/ (类元素个数); 将与计算出的均值最接近的时延值作为对应类的新的聚类中心;转至步骤S32;步骤36、将第一类Zl中各时延值及其对应的路由器的IP地址作为远集合, 将第二类Z2中各时延值及其对应的路由器的IP地址作为近集合。图3所示流程实现了采用K-means算法将对等体生成的路由器IP集合成 功且合理地分成了远集合和近集合。由于远集合和近集合的划分是根据时延值 来进行的,因此,近集合中包含的路由器与对等体的物理距离较近,而远集合 中包含的路由器则与对等体的物理距离较远。执行图3所示流程后,得到了近集合。实际应用中,如果近集合中的路由 器IP地址较多,还可以对近集合再次或多次进行二分聚类,得到与对等体物 理距离相对更近的近集合。因此,在本发明实施例中,对二分聚类的执行次数不作限定,可以根据实际需要进行一次或多次二分聚类。将路由器IP集合划分成近集合和远集合的目的,是为了使用近集合中的 路由器IP地址为关键字形成对等体聚类,为此,需要每个对等体将自己的近 集合中的部分或全部路由器IP地址注册到网络上。因此,步骤S23 4艮据不同的P2P拓朴结构,具体实现如下 对等体将二分聚类后得到的近集合中的部分或全部路由器IP地址进行注册(下面以将近集合中的全部路由器IP地址进行注册为例),形成以近集合中 各路由器IP地址为关键字的对等体聚类。对等体聚类可以使用不同的方法, 包括基于集中式的聚类和基于DHT结构的聚类。当P2P为DHT结构时,优先 利用DHT结构形成聚类。基于DHT结构的聚类过程为利用结构化的DHT,将上述二分聚类后得 到的近集合中的各个路由器IP地址为关键字,以对等体IP地址结合权重(表 示跳数)作为值,向DHT网络中的任一对等体发起注册请求,接收到注册请 求的对等体从DHT网络中找到所述关键字映射的对等体,将注册信息保存到 映射出的对等体中;也即为近集合中每个路由器IP地址存储一条记录,记 录的具体表现形式为路由器IP地址,对等体IP地址+权重;由于网络中各对等体进行路由器探测时,有可能探测到相同的路由器;这 样不同对等体的近集合中有可能包含相同的路由器IP地址信息,因此,对等 体在向网络注册时,不同的对等体就有可能采用相同的路由器IP地址进行注 册。当多个对等体使用相同的路由器IP地址注册到DHT网络中的对等体后, 在DHT网络中便保存了以该路由器IP地址为关键字的多个值,也就是说,该 多个对等体以该关键字形成了对等体聚类。基于集中式的聚类过程选择某些网络节点作为聚类服务节点,对等体以 自己近集合中的各个路由器IP地址为关4定字,以自身IP地址结合权重(表示跳 数)作为值,注册到某个聚类服务节点,采用记录记录的形式保存;记录的具体表现形式为路由器IP地址,对等体IP地址+权重;如果存在多个聚类服务节点,不同的聚类服务节点之间定期交换其聚类信 息。同样,当多个对等体使用相同的路由器IP地址注册到聚类服务节点后, 在聚类服务节点中,便保存了以该路由器IP地址为关键字的多个值,也就是 说,该多个对等体以该关键字形成了对等体聚类。当网络中的对等体发起通信请求时,执行步骤S24,对等体从自己的近集 合中选^J各由器IP地址作为关键字,向网络发起查询,匹配出与选取的路由 器IP地址对应的对等体聚类,将匹配出的对等体聚类中除自身之外的其余对 等体作为近距离对等体进行通信。由于对等体自己的近集合中包含的路由器IP地址可能不止一个,对等体 与近集合中每一个路由器之间的探测到的跳数也不相同,发起通信请求时,对 等体优先选取自己的近集合中跳数最大的路由器IP地址作为关键字,向网络 发起查询,由于以跳数最大的路由器IP地址为关键字形成的对等体聚类中,包含的对等体数量相对会较多,这样,对等体成功查询到属于同一个聚类的其 余对等体的概率较大。对于对等体为基于DHT结构的聚类方式,对等体以自己近集合中跳数最 大的路由器IP地址为关键字,向DHT网络中的任一对等体发起查询,DHT 网络中的对等体返回该关键字对应的对等体列表,对等体列表中包含与路由器 IP地址为关键字形成的对等体聚类中的全部对等体信息。对于对等体为基于集中式的聚类方式,对等体以自己近集合中跳数最大的路由器IP为关键字,向某一聚类服务节点发起查询,聚类服务节点返回该关 键字对应的对等体列表。近集合中跳数最大的路由器一般是对等体探测到的其所属ISP域的出口路 由器,如果对等体以自己近集合中跳数大的路由器IP地址作为关键字无法查 询到其余对等体,说明本域中没有使用同一ISP出口路由器的其它对等体,则进一步使用自己近集合中跳数较小的路由器IP地址作为关键字发起查询,以 进一步发现使用了相同的域内路由器的其它对等体。还有一种可能的情况是对等体按近集合中各路由器对应的跳数从大到d、 的顺序,依次选取对应的路由器IP地址作为关键字发起查询,当自己近集合 中的全部路由器IP地址都被作为关键字向网络发起查询后,都没有获取到任 何其余对等体时,则只能选择不属于同 一个对等体聚类的其它对等体进行通 信。具体的选择方法可以釆用现有技术中P2P网络选择通信对象的各种方式, 本发明对此不作限定。出现上述不能获取到属于同 一个对等体聚类的其余对等体的原因,有可能 是ISP域存在多个出口路由器,同一个域内的对等体在进行路由器探测时,由 于探测到不同的出口路由器,从而导致属于同 一个ISP域的某些对等体无法通 过同一个出口路由器的IP地址作为关键字形成聚类。为了改善这种情况,当不属于同一个聚类的两个对等体相互通信时,还包括发起通信请求的对等体判断与当前建立通信连接的对等体之间的报文传 递时延值是否小于设定的阔值;若两者之间的报文传递时延值小于设定的阈 值,表明这两个对等体之间的物理距离比较近,有必要将这两个对等体所属的 对等体聚类进行归并。具体归并方法,例如发起通信请求的对等体(为描述方便,假设为对等体X)和当前建立通信 连接的对等体(为描述方便,假设为对等体Y)相互交换自己的近集合中跳数 最大的路由器IP地址信息;对等体X以自己的近集合中跳数最大的路由器IP地址(假设为路由器IP1) 为关键字向网络发起查询,查找出属于同一聚类(假设为聚类11)的全部对等 体信息;例如查找出的对等体信息包括对等体X+权重X;对等体1+权重1;对等体2+权重2; 对等体3+权重3;
对等体X将查找出的全部对等体信息以对方(即当前建立通信连接的对等 体Y)近集合中跳数最大的路由器IP地址(假设为路由器IP2)为关键字注册 到网络上。即对等体X向网络注册如下记录
路由器IP2,对等体X+权重X;
路由器IP2,对等体1+权重1;
路由器IP2,对等体2+权重2;
路由器IP2,对等体3+权重3。
同理,当前建立通信连接的对等体Y以自己的近集合中跳数最大的路由器 IP地址(路由器IP2)为关键字向网络发起查询,查找出属于同一聚类(假设 为聚类22)的全部对等体信息;例如查找出的对等体信息包括
对等体Y+权重Y;
对等体1*+权重1*;
对等体2*+权重2*;
对等体Y将查找出的全部对等体信息以对方(即发起通信请求的对等体 X)近集合中跳数最大的路由器IP地址(路由器IP1 )为关键字注册到网络上。 即对等体Y向网络注册如下记录
路由器IPl,对等体Y+权重Y;
路由器IPl,对等体1*+权重1*;
路由器IPl,对等体2*+权重2*。
通过上述注册过程,网络中原聚类11中包含了原聚类22中的全部对等体 信息,同时,网络中原聚类22中同样包含了原聚类11中的全部对等体信息, 也就是^L,原聚类11和原聚类22实现了归并。
由于进行聚类归并的前提条件是两个对等体之间的IP报文传递时延值小 于某个设定的阈值,也就说是,两个对等体之间的物理距离较近,对其进行聚类归并后,可以使得对等体通过同一聚类方便找到更多的物理距离较近的其它 对等体,以便更有利于对等体之间的资源共享。
图4示意出采用本发明上述实施例提供的方法,以出口路由器的IP地址 为关键字形成的对等体聚类。图4中不同域ISP1、 ISP2和ISP3所包含的对等 体分别以本域的出口路由器1、出口路由器2和出口路由器3的IP地址作为聚 类关键字形成了对等体聚类。其中
以出口路由器1的IP地址为关键字形成的对等体聚类中包含的对等体为 对等体A、对等体B、对等体C、对等体D;
以出口路由器2的IP地址为关键字形成的对等体聚类中包含的对等体为 对等体E、对等体F、对等体G;
以出口路由器3的IP地址为关键字形成的对等体聚类中包含的对等体为 对等体H、对等体I、对等体J、对等体K。
由图4可知,由于一个ISP域的出口路由器数量有限(图4中每个ISP域 仅有一个出口路由器),同一个域内的对等体进行路由器探测时, 一般都会探 测到出口路由器,由于对等体与本域的出口路由器之间的物理距离相对相近, 因此,在进行二分聚类时出口路由器的IP地址被分属到各对等体的近集合中 的概率很大,这样,以出口路由器IP地址作为关键字形成的对等体聚类中, 将包含本域中的全部或绝大部分对等体,这将使得对等体以出口路由器IP地 址为关键字发起查询时,能获取到属于同一个聚类的本域中的全部或绝大部分 对等体信息,扩大了对等体通过聚类选择通信对象的可选范围。
本发明另一实施例提供一种能实现上述方法的P2P网络对等体,其结构示 意图之一如图5所示,包括探测单元101、 二分聚类功能单元102、注册单 元103;其中
探测单元101,用于使用探测工具获取路由器的IP地址信息及对应路由器 的时延值,生成路由器IP集合;并发送通知消息给二分聚类功能单元102; 二分聚类功能单元102,用于接收到探测单元101发送的通知消息后,根据路由器IP集合中的时延值,将路由器IP集合进行二分聚类,得到远集合和
近集合,并发送通知消息给注册单元103;
注册单元103,用于接收到二分聚类功能单元102发送的通知消息后,将 所述近集合中的部分或全部路由器IP地址信息注册到网络上。
P2P网络对等体的另一结构示意图如图6所示,其与图5所示P2P网络对 等体结构的差异在于,还包括查询单元104、通信单元105和存储单元106。 其中
查询单元104,用于从近集合中选取路由器IP地址作为关键字,向网络发 起查询,获取出网络中使用相同的路由器IP地址信息注册的各对等体,发送 给通信单元105;
通信单元105,用于与网络中的其它对等体进行通信;
存储单元106,用于存储探测单元101生成的路由器IP集合,以及存储二 分聚类功能单元102进行二分聚类后得到的近集合。
其中,探测单元101生成路由器IP集合后,发送到存储单元106中保存;
二分聚类功能单元102从存储单元106中获取保存的路由器IP集合,将 路由器IP集合进行二分聚类,得到远集合和近集合,并将得到的近集合存入 到存储单元106中保存;
注册单元103从存储单元106中获取近集合中的部分或全部路由器IP地 址信息注册到网络上;
查询单元104发起查询请求前,从存储单元106保存的近集合中选取路由 器IP地址作为关键字,向网络发起查询;并将查询获得的近距离对等体发送 给通信单元105,以实现与近距离对等体之间的通信。
综上所述,本发明实施例通过对等体使用探测工具获取路由器的IP地址
信息及对应路由器的时延值,生成自身的路由器IP集合;将自身的路由器IP
集合根据时延值进行二分聚类,得到属于自己的远集合和近集合;网络中的每 一个对等体将属于自己的近集合中的所有路由器IP地址注册到网络上,这样,整个网络中使用相同的路由器IP地址信息注册的各对等体就形成了一个以该 路由器IP地址为关键字的对等体聚类。当对等体发起通信时,通过选取自己 近集合中的路由器IP地址作为关键字,向网络发起查询,获取到属于同一聚 类的对等体,从而保证了成功获取到物理距离近的其它对等体进行通信。
明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1、一种建立对等体聚类的实现方法,应用于P2P网络,其特征在于,包括网络中的对等体使用探测工具获取路由器的IP地址信息及对应路由器的时延值,生成自己的路由器IP集合;所述路由器IP集合中包括所述对等体探测到的每一个路由器的IP地址及对应时延值;所述对等体根据所述时延值,将所述路由器IP集合进行二分聚类,得到自己的远集合和近集合;所述近集合中包含的时延值小于所述远集合中包含的时延值;所述对等体将所述近集合中的部分或全部路由器IP地址注册到网络上;整个网络中使用相同的路由器IP地址注册的各对等体形成一个以该路由器IP地址为关键字的对等体聚类。
2、 如权利要求l所述的方法,其特征在于,所述将路由器ip集合进行二 分聚类,得到远集合和近集合,具体包括步骤1、设置第一类和第二类,以所述路由器ip集合中时延最大值作为 第一类的初始聚类中心,以所述路由器ip集合中时延最小值作为第二类的初 始聚类中心;步骤2、分别计算所述路由器ip集合中剩余各个时延值到所述第一类和 第二类的聚类中心的距离,把每一个时延值归属到离它距离最近的聚类中心所 在的类;计算出每个时延值到其所属聚类中心的距离的平方和,当本次平方和 与上次平方和之差小于设定的阈值时,执行步骤4;否则,执行步骤3;步骤3、根据步骤2产生的第一类和第二类,分别计算出每类中所有时延 值的均值,将与计算出的均值最接近的时延值作为对应类的新的聚类中心;转 至步骤2;步骤4、将所述第一类中各时延值及其对应的路由器的ip地址作为所述远 集合,将所述第二类中各时延值及其对应的路由器的ip地址作为所述近集合。
3、 如权利要求2所述的方法,其特征在于,还包括对所述近集合进行 一次或多次二分聚类。
4、 如权利要求l所述的方法,其特征在于,所述路由器IP集合中还包括 所述对等体到对应i 各由器的跳数信息;所述对等体将生成的所述路由器IP集 合以及二分聚类后的近集合存储在本地;或者所述对等体将生成的所述路由器IP集合以及二分聚类后的近集合存储到 网络指定的其它实体中。
5、 如权利要求4所述的方法,其特征在于,当对等体重新启动后,如果 自身的IP地址发生了改变,则重新使用探测工具获取路由器的IP地址信息及 对应路由器的时延值,生成新的路由器IP集合更新存储的路由器IP集合;并 对新的路由器IP集合进行二分聚类,得到新的远集合和新的近集合,用新的 近集合更新存储的近集合。
6、 如权利要求4所述的方法,其特征在于,还包括设定对等体的探测 周期,当探测周期到达时,所述对等体重新使用探测工具获取路由器的IP地 址信息及对应路由器的时延值,生成新的路由器IP集合更新存储的路由器IP 集合;并对新的路由器IP集合进行二分聚类,得到新的远集合和新的近集合, 用新的近集合更新存储的近集合。
7、 如权利要求4所述的方法,其特征在于,所述对等体将所述近集合中 的各路由器IP地址注册到网络上,具体包括所述对等体以所述近集合中的部分或全部路由器IP地址作为关键字,以 自身的IP地址信息结合表示跳数的权重作为对应值注册到网络上。
8、 如权利要求7所述的方法,其特征在于,对于分布式结构化的P2P网 络,所述对等体以所述近集合中的部分或全部路由器IP地址信息作为关键字, 以自身的IP地址信息和表示跳数的权重作为值,生成对应记录,存储到所述 网络的对等体中;对于集中式P2P网络,预先选定聚类服务节点,所述对等体以所述近集合中的部分或全部路由器IP地址作为关键字,以自身的IP地址信息和表示跳数 的权重作为值,生成对应记录,注册到所述聚类服务节点中保存。
9、 一种对等体通信方法,应用于P2P网络,所述P2P网络中包括采用权 利要求l所述方法形成对等体聚类,其特征在于,该方法包括发起通信请求的对等体从自己的近集合中选取已注册到网络上的路由器 IP地址作为关键字,向网络发起查询,匹配出对应的对等体聚类,将匹配出的 对等体聚类中包含的除自身之外的其余对等体作为近距离对等体;发起通信请求的对等体与所述近距离对等体进行通信。
10、 如权利要求9所述的方法,其特征在于,发起通信请求的对等体从自 己的近集合中选取路由器IP地址作为关键字,向网络发起查询,具体包括发起通信请求的对等体优先选取自己的近集合中跳数最大的路由器IP地 址作为关键字,向网络发起查询。
11、 如权利要求10所述的方法,其特征在于,当选取所述近集合中跳数 最大的路由器IP地址发起查询后,若没有获取到其余对等体时,还包括依次选取所述近集合中跳数较小的路由器IP地址作为关键字,向网络发 起查询。
12、 如权利要求11所述的方法,其特征在于,若所述近集合中的全部路 由器IP地址都被作为关键字向网络发起查询,且没有获取到任何其余对等体 时,则选择不属于同一个对等体聚类的其它对等体进行通信。
13、 如权利要求12所述的方法,其特征在于,当选择所述其它对等体进 行通信时,还包括发起通信请求的对等体判断与选择的其它对等体之间的报文传递时延值 是否小于设定的阈值;若是,则将自身所属的一个聚类与本次选择的其它对等 体所属的一个聚类共享包含的对等体信息。
14、 如权利要求13所述的方法,其特征在于,所述共享包含的对等体信 息,具体包括发起通信请求的对等体和本次选择的其它对等体相互交换自己的近集合中跳数最大的路由器IP地址信息;发起通信请求的对等体和本次选择的其它对等体,各自以自己的近集合中 跳数最大的路由器IP地址为关键字,查找出属于同一聚类的全部对等体信息; 并将查找出的全部对等体信息以对方近集合中跳数最大的路由器IP地址为关 键字注册到网络上。
15、 一种P2P网络对等体,其特征在于,包括探测单元,用于使用探测工具获取路由器的IP地址信息及对应路由器的 时延值,生成路由器IP集合,并发送通知消息;二分聚类功能单元,用于接收所述探测单元发送的通知消息,根据所述路 由器IP集合中的时延值,将路由器IP集合进行二分聚类,得到远集合和近集 合,所述近集合中包含的时延值小于所述远集合中包含的时延值;并发送通知 消息;注册单元,用于接收所述二分聚类功能单元发送的通知消息,将所述近集 合中的部分或全部路由器IP地址信息注册到网络上。
16、 如权利要求15所述的对等体,其特征在于,还包括查询单元,用于从近集合中选取路由器IP地址作为关键字,向网络发起 查询,获取以选取的路由器IP地址信息为关键字形成的对等体聚类中所包含 的各对等体信息并发送;通信单元,用于接收所述查询单元发送的对等体信息,并根据接收的对等 体信息与相应对等体进行通信。
17、 如权利要求16所述的对等体,其特征在于,还包括存储单元,用于存储所述探测单元发送的路由器IP集合,以及所述二分 聚类功能单元得到的近集合;并向所述二分聚类功能单元提供路由器IP集合,向注册单元和查询单元 提供近集合中的路由器IP地址信息。
全文摘要
本发明公开了一种建立对等体聚类的实现方法,应用于P2P网络,包括网络中的对等体使用探测工具获取路由器的IP地址信息及对应路由器的时延值,生成自己的路由器IP集合;将所述路由器IP集合进行二分聚类,得到自己的远集合和近集合;网络中的各对等体以近集合中路由器IP地址为关键字形成对等体聚类。本发明还公开了一种对等体通信方法,发起通信请求的对等体从自己的近集合中选取路由器IP地址作为关键字,向网络发起查询,匹配出对应的对等体聚类,将属于同一个对等体聚类中的对等体作为近距离对等体实现通信。使用本发明方法能成功获取到物理距离近的对等体进行通信。
文档编号H04L12/28GK101316224SQ200710105809
公开日2008年12月3日 申请日期2007年5月30日 优先权日2007年5月30日
发明者施广宇, 龙有水 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1