一种点对点网络中的对端选择系统和方法转让专利

申请号 : CN200910093674.X

文献号 : CN101938503B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 汪铁丰王奇丰

申请人 : 北京暴风科技股份有限公司

摘要 :

本发明提出了一种点对点网络中的对端选择系统和方法,针对现有无法选择出优质对端的问题而发明。本发明的系统包括:路由表获取模块、路由表处理模块、对端选择模块。方法包括:客户端向预设服务器发送路由请求,以获取客户端到该预设服务器的路由表;根据所述路由表中每一跳的IP地址进行分类,并根据分类将客户端存储到相应的组群中;根据所需的对端数量,从最接近的组群中查找对端作为该客户端的点对点传输的对端。本发明能够通过获得一系列的组群表。然后根据所需的对端数量,从最接近的组群中查找对端作为该客户端的点对点传输的对端。本发明的装置和方法,能够提高P2P网络的传输性能。

权利要求 :

1.一种点对点网络中的对端选择系统,其特征在于,包括:路由表获取模块,所述路由表获取模块根据客户端向预设服务器发送路由请求,获取客户端到该预设服务器的路由表;

路由表处理模块,所述路由表处理模块根据客户端的路由表,对所述路由表中每一跳的IP地址进行分类,并根据分类将客户端存储到相应的组群中;

对端选择模块,对端选择模块根据所需的对端数量,从最接近的组群中作为该客户端的点对点传输的对端;

其中,所述路由表处理模块包括:

查找子模块,所述查找子模块查找客户端的路由表,判断所述路由表中是否有国家级骨干网路由IP;如果有则将第一个国家级骨干网路由IP之后所有跳的路由IP删除,并根据保留的路由IP进行分级;如果没有则在路由表中添加省级骨干网路由IP和国家骨干网路由IP后,根据路由IP进行分级;

组群子模块,所述组群子模块设有多个组群,每一组群均有不同级别,且存储有具有相同路由IP的客户端;将根据该客户端的路由IP将该客户端存储到组群中。

2.一种点对点网络中的对端选择方法,包括:

步骤1、客户端向预设服务器发送路由请求,以获取客户端到该预设服务器的路由表;

步骤2、根据所述路由表中每一跳的IP地址进行分类,并根据分类将客户端存储到相应的组群中;

步骤3、根据所需的对端数量,从最接近的组群中查找对端作为该客户端的点对点传输的对端;

其中,所述步骤2具体为:

步骤21、在所述路由表中查找国家级骨干网路由IP,如果有则进入步骤22,否则进入步骤23;

步骤22、将第一个国家级骨干网路由IP之后的所有路由IP删除,并将该第一个国家级骨干网路由IP之前且与该IP地址前三位相同的IP地址合并;然后将每一跳的路由IP地址进行编号,跳转到步骤24;

步骤23、在路由表中添加省级骨干网路由IP和国家骨干网路由IP后,并将每一跳的路由IP地址进行编号,跳转到步骤24;

步骤24、根据分类将客户端存储到相应的组群中。

说明书 :

一种点对点网络中的对端选择系统和方法

技术领域

[0001] 本发明涉及一种点对点网络技术,尤其是涉及一种点对点网络中的对端选择系统和方法。

背景技术

[0002] 随着P2P(Peer to Peer,点对点)网络传输技术的发展,涌现出了很多优化peer(点)选择和提高peer质量的策略。
[0003] P2P网络传输技术领域中,“优质的peer”可以获得更好的数据传输速率和稳定性。其中“优质的peer”可以近似等价于该peer与请求peer的客户端之间可以进行高效的网路传输,由此可见优质的peer具有很大的相对性。
[0004] 由于网络搭建的物理因素以及目前中国网络的运营所具有的地域性因素,使得中国P2P网络传输技术实践中的peer的质量具有以下几点特性:
[0005] 1、地域上越近的peer,质量越高。即:同一局域网的peer最优,同一城域网的peer次之,之后是同省不同市的peer,最后是不同省的peer;
[0006] 2、在同一子网内的peer,质量高于不同子网的peer;
[0007] 3、不同子网的peer,即便在地域上临近,其质量通常也不如同子网但地域于较远的peer,在同区域具有直连通道的不同子网的peer除外。
[0008] 根据以上三条性质,在peer的选择上,理想的peer选择策略显然是:优先选取同局域网的peer,在同局域网peer数不够的情况下优先选取同市同子网的peer,依此类推。peer的选择范围依次为同省同子网,不同省同子网和不同子网。由于中国骨干网分为网通、电信、铁通,因此在同在一个骨干网中(例如同在网通网络中)的客户端可以认为是在同子网。
[0009] 为了达到实现对peer的优选,目前所使用的peer选择策略通常是查询IP表。但是由于目前可用的IP表通常无法保证正确性和全面性,而且维护一份随着时间不断变化的IP表通常不是一个P2P项目所愿意或有能力承担的额外开销。因此这一方法很难实际应用,且IP表在子网分类上也是差强人意,对于定位到局域网更是无能为力。

发明内容

[0010] 针对现有技术中存在的缺陷和不足,本发明的目的是一种点对点网络中的对端选择系统和方法,能够在点对点网络传输时选择到更好的对端连接点,以提高点对点网络的传输性能。
[0011] 为达到上述目的,本发明提出了一种点对点网络中的对端选择系统,其特征在于,包括:
[0012] 路由表获取模块,所述路由表获取模块根据客户端向预设服务器发送路由请求,获取客户端到该预设服务器的路由表;
[0013] 路由表处理模块,所述路由表处理模块根据客户端的路由表,对所述路由表中每一跳的IP地址进行分类,并根据分类将客户端存储到相应的组群中;
[0014] 对端选择模块,对端选择模块根据所需的对端数量,从最接近的组群中作为该客户端的点对点传输的对端。
[0015] 其中,所述路由表处理模块包括:
[0016] 查找子模块,所述查找子模块查找客户端的路由表,判断所述路由表中是否由国家级骨干网路由IP;如果有则将第一个国家级骨干网路由IP之后所有跳的路由IP删除,并根据保留的路由IP进行分级;如果没有则在路由表中添加省级骨干网路由IP和国家骨干网路由IP后,根据路由IP进行分级;
[0017] 组群子模块,所述组群子模块设有多个组群,每一组群均有不同级别,且存储有具有相同路由IP的客户端;将根据该客户端的路由IP将该客户端存储到组群中。
[0018] 同时,本发明还提出了一种点对点网络中的对端选择方法,包括:
[0019] 步骤1、客户端向预设服务器发送路由请求,以获取客户端到该预设服务器的路由表;
[0020] 步骤2、根据所述路由表中每一跳的IP地址进行分类,并根据分类将客户端存储到相应的组群中;
[0021] 步骤3、根据所需的对端数量,从最接近的组群中查找对端作为该客户端的点对点传输的对端。
[0022] 其中,所述步骤2具体为:
[0023] 步骤21、在所述路由表中查找国家级骨干网路由IP,如果有则进入步骤22,否则进入步骤23;
[0024] 步骤22、将第一个国家级骨干网路由IP之后的所有路由IP删除,并将该第一个国家级骨干网路由IP之前,且与该IP地址前三位相同的IP地址合并;然后将每一跳的路由IP地址进行编号,跳转到步骤24;
[0025] 步骤23、在路由表中添加省级骨干网路由IP和国家骨干网路由IP后,并将每一跳的路由IP地址进行编号,跳转到步骤24;
[0026] 步骤24、根据分类将客户端存储到相应的组群中。
[0027] 上述技术方案具有如下优点:本发明通过对客户端获取的路由表中每一跳的IP,这样就可以获得客户端所在的市级网络、省级网络、国家级骨干网。如果在P2P传输网络中的所有客户端,或大多数客户端都采用本发明的装置和方法,就可以获得一系列的组群表。然后根据所需的对端数量,从最接近的组群中查找对端作为该客户端的点对点传输的对端。本发明的装置和方法,能够提高P2P网络的传输性能。

附图说明

[0028] 图1为本发明提出的点对点网络中的对端选择系统的结构示意图;
[0029] 图2为本发明提出的点对点网络中的对端选择方法的流程示意图。

具体实施方式

[0030] 下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0031] 本发明的原理是针对中国网络现状,对P2P传输时的对端进行最优化选择。在中国网络现状中,当一个网络用户向另一个网络用户发送网络数据包时,路由跳转的一般规则是:从出口路由到同子网市级骨干网路由,然后到同子网省级骨干网路由,再后到国家级骨干网路由,再到目的IP子网国家级骨干网路由,再依次到目的IP子网省级骨干路由、目的IP子网市级骨干网路由、目的IP出口路由。
[0032] 因此本发明通过客户端获得路由表,然后将路由表中的每一跳IP地址进行分类,这样就可以得到该客户端的局域网出口IP、同城同子网的出口IP、同省同子网的出口IP、不同省的同子网IP、不同子网的IP。然后可以根据这些IP,对客户端进行分类。即:设置多个分类组群,最小分类组群记载着位于同城同子网的所有客户端的IP地址;第二分类组群记载着位于同省同子网的客户端的IP地址......依此类推。或是通过为每一跳的IP地址进行编号。这样,就得到了同子网按区域递增的有层次分组结构。当一个客户端请求进行P2P传输时,优先从最接近的分类的中寻找对端peer,或是根据编号寻找最佳的对端peer。这样就可以保证优选选择路径最短的最“优质的peer”。当然,可以根据网络情况对分级进行细化,不仅限于只有同城、同省。以下的实施例都是利用这一原理实现的。
[0033] 实施例1
[0034] 本发明提出的点对点网络中的对端选择系统,其第一优选实施例如图1所示,包括:
[0035] 一种点对点网络中的对端选择系统,其特征在于,包括:
[0036] 路由表获取模块,所述路由表获取模块根据客户端向预设服务器发送路由请求,获取客户端到该预设服务器的路由表;
[0037] 路由表处理模块,所述路由表处理模块根据客户端的路由表,对所述路由表中每一跳的IP地址进行分类,并根据分类将客户端存储到相应的组群中;
[0038] 对端选择模块,对端选择模块根据所需的对端数量,从最接近的组群中作为该客户端的点对点传输的对端。
[0039] 第一优选实施例所提出的点对点网络中的对端选择系统,能够根据路由表对客户端依层次进行分类。本发明可以通过路由表获得客户端所处的网络结构,这样可以在点对点网络传输寻找对端时,优先选择最近分类中的对端,从而提高点对点网络传输的性能。
[0040] 实施例2
[0041] 本发明第二优选实施例,是在第一优选实施例的基础上改进而来,即所述路由表处理模块包括:
[0042] 查找子模块,所述查找子模块查找客户端的路由表,判断所述路由表中是否由国家级骨干网路由IP;如果有则将第一个国家级骨干网路由IP之后所有跳的路由IP删除,并根据保留的路由IP进行分级;如果没有则在路由表中添加省级骨干网路由IP和国家骨干网路由IP后,根据路由IP进行分级;
[0043] 组群子模块,所述组群子模块设有多个组群,每一组群均有不同级别,且存储有具有相同路由IP的客户端;将根据该客户端的路由IP将该客户端存储到组群中。
[0044] 本发明第二优选实施例是提出了一种具体的点对点网络中的对端选择系统,即路由表处理模块针对客户端获得的路由表,将路由表中的IP地址进行分级,然后存储到相应的组群中。这样可以简单的将客户端分别存储到其所对应的城市、省、国家级骨干网的群组中。这样在查找P2P网络的对端peer时,就可以优先从最接近的群组中选择对端peer。
[0045] 实施例3
[0046] 本发明提出了一种点对点网络中的对端选择方法,其优选实施例流程如图2所示,包括:
[0047] 步骤1、客户端向预设服务器发送路由请求,以获取客户端到该预设服务器的路由表;
[0048] 步骤2、根据所述路由表中每一跳的IP地址进行分类,并根据分类将客户端存储到相应的组群中;
[0049] 步骤3、根据所需的对端数量,从最接近的组群中查找对端作为该客户端的点对点传输的对端。
[0050] 本发明第三优选实施例所提出的点对点网络中的对端选择方法,能够根据路由表对客户端依层次进行分类。本发明的方法可以通过路由表获得客户端所处的网络结构,这样可以在点对点网络传输寻找对端时,优先选择最近分类中的对端,从而提高点对点网络传输的性能。
[0051] 实施例4
[0052] 本发明第四优选实施例,是在第三优选实施例的基础上改进而来,即所述步骤2具体为:
[0053] 步骤21、在所述路由表中查找国家级骨干网路由IP,如果有则进入步骤22,否则进入步骤23;
[0054] 步骤22、将第一个国家级骨干网路由IP之后的所有路由IP删除,并将该第一个国家级骨干网路由IP之前,且与该IP地址前三位相同的IP地址合并;然后将每一跳的路由IP地址进行编号,跳转到步骤24;
[0055] 步骤23、在路由表中添加省级骨干网路由IP和国家骨干网路由IP后,并将每一跳的路由IP地址进行编号,跳转到步骤24;
[0056] 步骤24、根据分类将客户端存储到相应的组群中。
[0057] 本发明第四优选实施例是提出了一种具体的路由表处理方法,对不同类型的路由表进行修改,将路由表中的IP地址进行分级,然后存储到相应的组群中。这样可以简单的将客户端分别存储到其所对应的城市、省、国家级骨干网的群组中。这样在查找P2P网络的对端peer时,就可以优先从最接近的群组中选择对端peer。
[0058] 需要指出的是,作为特例,如果客户端位于局域网内,则得到的路由表的前几跳有可能为局域网IP。因此在上述所有实施例中,都应先在路由表中删除局域网IP。
[0059] 下面通过一个具体的实施例,对本发明做出说明。
[0060] 客户端记为Client,路由表处理服务器记为IndexServer,peer选择服务器记为Cis。其中,Cient采用Windows操作系统,IndexServer和Cis采用Linux系统。
[0061] 第一步,Client利用命令行工具tracert获得从客户单Client到IndexServer服务器的路由IP列表,并将该表上传给IndexServer服务器。其中tracert是Windows自带的一个路由工具,其可以显示请求端与对端的路径中的所有路由信息,并将每一跳的IP信息返回给请求端。
[0062] 第二步,Client在返回的路由表后,将该路由表发送到IndexServer服务器。IndexServer服务器在收到客户端Client上传的路由IP表后,先将路由表中属于内网网段的路由IP剔除,然后在处理后的路由表中查找网通、电信、铁通(中国目前三大固定网络运营商)的国家级骨干网路由IP。如果查找失败,则将路由IP依次传换成对应的编号,并将IndexServer服务器所在子网的所在省省级骨干网路由对应的编号和国家骨干网对应的路由编号顺次添加到编号表的最后;如果查找成功,则删截掉第一个国家级骨干网路由IP之后的所有路由IP,并将保留的国家骨干网IP转换成对应的路由编号。然后将这一编号前的若干连续的具有相同高三位字节的路由IP合并成一个,并将最低字节置0。最后,将所有未转换的路由IP转换成特定编号,并将处理后得到的路由编号列表返回给客户端Client。
[0063] 接下来,客户端Client将接收到IndexServer服务器返回的路由编号上传给Cis服务器,Cis服务器按路由编号,将Client保存到各编号对应的peer组群中。
[0064] 最后,当某个客户端Client向Cis服务器请求peer时,Cis服务器按照该客户端Client的路由编号的顺序从编号对应的组群中选取peer并将其返回给客户端Client。
[0065] 由以上实施例可以看出,本发明实施例相比较现有技术具有以下优点:
[0066] 本发明通过获得客户端到达一个预设服务器的路由表,从而根据路由表中每一跳的IP地址获得该客户端在每一级子网中的出口IP地址。通过出口IP地址对客户端所在的每一级子网进行分类,从而获得每一级子网中的客户端数,并以此来优先选择同一子网且地域最近的客户端作为“优质peer”。这样可以更好的保证P2P传输中的传输效率和稳定性。
[0067] 以上所述仅是本发明的实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。