一种因特网ip地址分类和带宽预测的方法、系统及设备的制作方法

文档序号:7667649阅读:144来源:国知局
专利名称:一种因特网ip地址分类和带宽预测的方法、系统及设备的制作方法
技术领域
本发明涉及网络技术领域,尤其是一种因特网IP地址分类和带宽预测的 方法、系统及设备。
背景技术
当前因特网上运行着数量庞大的P2P (Peer to Peer,点对点)网络应用软 件,这类程序有一个共同点,就是没有固定的连接对象。能够为它们提供服 务的节点不一定是服务提供者的服务器,数量充足的其他客户端也能提供一 部分服务。这种服务目前主要是指数据和带宽,比如目前占据P2P主流应用 的文件下载和视频服务,客户端都能通过自己的上传带宽向其他客户端传输 数据。当客户端需要获取特定的数据(文件的某部分数据或视频的某部分数 据)时,它首先通过一定的查找搜索机制获取一部分节点的地址信息,也就 是IP、 Port。然后和这些节点进行通讯获取数据。由于不了解到各个节点路径 的传输带宽,客户端通常随机选择节点进行通讯获取数据。如果当前节点传 输带宽太差,客户端要断开当前的传输并和新节点通讯获取数据。通常要找 到好的节点并维持较高的传输速率,客户端要不断反复地断开当前传输并与 新节点通讯。如果能预测客户端到其它节点的网络带宽,就可以在一定程度 上降低这些额外的网络开销并加快传输的速度。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题 当前因特网提供的数据传输服务是尽力而为的,不能保证服务的QoS (Quality of Service )。在需要为因特网设计一个有QoS保证的传输方案时, 主要困难之一在于很难预测两个IP地址之间可获得的带宽。不同的网络环境 以及网络之间的连接状况导致了不同的传输质量,而这些情况用户是4艮难掌 握的。从用户的角度来看,唯一具有参考价值的数据就是他们自己以往的传 输经验。对于过去提供过高速率传输的节点,终端用户可以期待以后它们也能提供高速率的传输;对于过去提供过低速率传输的节点,在大部分情况下 认为其将来也只能提供很差的传输带宽;对于以前没有提供过数据传输的节 点,终端用户只能猜测它们之间的传输带宽。

发明内容
本发明的实施例提供一种因特网IP地址分类和带宽预测的方法、系统及 设备,用于实现通过预测本地客户端到其他节点的网络带宽,从而辅助客户 端的通讯决策,降低通讯开销提高通讯效率。
为达到上述目的,本发明的实施例提出 一种目标节点速率的预测方法, 包括以下步骤
将IP地址范围进行分类,每一所述类中包括连续的IP地址范围且所述类
中的地址对源节点具有相似的传输速率;
根据目标节点的IP地址,获耳又所述目标节点所属的类,根据所述所属的
类预测所述目标节点的传输速率。
本发明的实施例还提出一种因特网IP地址分类的方法,包括以下步骤 对远端节点IP地址以及对应的数据下载速率记录进行速率评估分类,生
成训练样本集和测试样本集;
从一个包括所有所述训练样本的根节点开始进行二分,生成决策树;
裁剪所述决策树得到多个备选分类树;
使用所述测试样本集评估每一所述备选分类树的预测失败率;
输出预测失败率最小的备选分类树,作为对IP地址范围进行预测的分类。
本发明的实施例还提出 一种邻居节点的选择方法,包括以下步骤
在源节点将IP地址范围进行分类,每一所述类中包括连续的IP地址范围
且所述类中的地址对所述源节点具有相似的传输速率;
有多个目标节点可供选择时,根据每一目标节点的IP地址,确定所述目
标节点所属的类,根据所述所属的类预测所述目标节点的传输速率; 选择具有最大预测传输速率的目标节点作为邻居节点。
本发明的实施例还提出一种目标节点速率的预测设备,应用于网络中的一源节点,包括
分类装置,用于将IP地址范围进行分类,每一所述类中包括连续的IP地 址范围且所述类中的地址对所述源节点具有相似的传输速率;
预测装置,用于才艮据目标节点的IP地址,确定所述目标节点在所述分类 装置的分类中所属的类,从而根据所述的类预测所述目标节点的传输速率。
本发明的实施例还提出一种分类装置,用于实现对IP地址的分类,包括
数据评估分类单元,用于对远端节点IP地址以及对应的数据下载速率记 录进行速率评估分类,生成训练样本集和测试样本集;
决策树二分单元,用于对包括所述数据评估分类单元生成的包括训练样 本的节点开始二分,生成决策树;
决策树裁剪单元,用于裁剪所述决策树二分单元得到的决策树,得到多 个备选分类树;
错误评估单元,用于使用所述数据评估分类单元生成的测试样本集评估 所述决策树裁剪单元生成的每一备选分类树的预测失败率;
输出单元,用于获取所述错误评估单元评估得到的预测失败率最小的备 选分类树,对IP地址范围进行预测的分类。
本发明的实施例还提出 一种邻居节点的选择设备,应用于网络中的源节 点,包括
分类装置,用于将IP地址范围进行分类,每一所述类中包括连续的IP地 址范围且所述类中的地址对所述源节点具有相似的传输速率;
预测装置,用于根据目标节点的IP地址,确定所述目标节点在所述分类 装置的分类中所属的类,从而根据所述的类预测所述目标节点的传输速率;
选择装置,用于选择所述预测装置的预测结果中具有最大预测传输速率 的目标节点作为邻居节点。
本发明的实施例还提出 一种邻居节点的选择系统,包括
源节点,用于在本地将IP地址范围按照传输速率进行分类,根据目标节 点的IP地址确定所述目标节点在所述分类的分类中所属的类并预测所述目标 节点的传输速率;根据所述预测结果选择具有最大预测传输速率的目标节点
ii作为邻居节点;
至少一个目标节点,用于作为所述源节点的备选邻居节点,向所述源节 点提供数据下载。
与现有技术相比,本发明的实施例具有以下优点
能够通过分类方法预测IP地址段与该IP地址段内下载速率的大致对应关 系,使得网络应用程序需要在多个可通讯节点中进行选择时,能够提高选择 到带宽最大、连接质量最有保证的节点的可能性,从而降低了应用程序在网 络通讯中的盲目性,减小了网络中因通信盲目性造成的负载和消耗。


图1是本发明实施例的IP段的CART分类树;
图2是本发明实施例的分类方法流程图3是本发明实施例的分类装置的示意图4是本发明实施例的目标节点速率的预测设备示意图5是本发明实施例的邻居节点的选择系统示意图。
具体实施例方式
以下结合附图和实施例,对本发明的实施方式作进一步说明。 本发明的实施例提供一种因特网IP地址分类和带宽预测的方法,基于以 下考虑在因特网上,拥有相近IP地址的终端通常有相似的网络环境。例如 ISP (Internet Service Provider,因特网服务提供商)通常将不同的用户组分隔 成几个子网。同一组内的用户通常定购了相同的服务类型,因此其具有相同 的因特网接入方式和相同的因特网入口 。 ISP根据用户数量分配不同大小的IP 段F (X,Y)(覆盖从X到Y的IP范围)给不同的用户组,每个IP段都代表 了 一类拥有相同网络环境的客户端,因此其他客户端和同一 IP段内的客户端 通讯时大致拥有相同的网络带宽。如果客户端已经搜集了以往和网络上很多 节点数据传输的带宽记录,通过一定的数据挖掘方法,可以将拥有近似带宽的连续IP地址聚集到一个IP段。选择节点时,可以将节点的IP映射到IP段 上,从而定量地预测该节点的带宽。
本发明的实施例通过对节点过往记录的远端节点IP地址和速率信息实施 机器学习算法,实现对因特网IP地址的分类和带宽预测。具体的,这里使用
的机器学习算法为CART算法。
CART算法是一种决策树分类技术,根据训练样本的相似性来分类聚簇。 在构造的IP段的CART决策树中,如图l所示,每个树节点(指叶节点或中 间节点)代表了因特网上的一个IP地址段,可以称一个IP段为一个子网。树 节点分裂为两个子节点表示当前的子网分裂成两个更小的子网。如图l所示, CART分类树将以202.88为前缀的IP地址l爻分为了 3段(202.88.0.0-202.88,127.255、 202.88.128.0 ~ 202.88.172.255、 202.88.173.0 ~ 202.88.255.255)。
以下结合实施例,描述本发明的具体实施方式

本发明的实施例中,提供一种IP地址的分类方法,如图2所示,包括以 下步骤
步骤sl01、获取节点IP速率信息。
具体的,该IP节点速率信息可以为用户端记录的过去的下载记录,该记 录包括由节点的IP地址和相应的下载速率所组成的lt据。
步骤sl02、对获取到的节点IP速率信息进行速率评估分类,生成训练样 本集和测试样本集。
具体的,该速率评估分类是指估计各节点的IP地址的可用带宽并将带 宽量化成多个类别以组成样本。可用带宽是指两个节点之间能获得的最大数 据下载速率,通常记录时以若干秒为一个时间间隔来记录该IP地址的数据下 载速率,并获得最大数据下载速率,为简便起见,以下描述中的数据下载速 率即为该最大数据下载速率。
对每个作为样本的节点来说,以往获得的数据下载速率是个精确的连续 值,比如1234B/S (字节每秒)。为了定量的获取差异性并简化分类算法,需 要将各个节点按照数据下载速率划分成几个类。每个类代表了 一定范围的数据下载速率,合在一起就覆盖了从0到无穷大所有可能的数据下载速率。因 此分类问题就变成了将连续的IP地址中具有相同数据下载速率类别的节点聚 集在一起。节点类别多的话节点的差异性就大,导致分类的错误率也大,但
是这样速率预测的精度也高。通常节点类别数量应该设为IO以下。
在决定了节点类别数量之后,要选择不同节点类别之间合适的速率差距。
假如所需要的数据速率是400KB/s,那么就可以将速率为0的节点分为一类, 速率大于400 KB/s的分为一类,速率在0 _ 400 KB/s之间的按固定间隔分为 几个类。速率分类时还要考虑百分比,假如一个分类中覆盖的节点数量很少, 就不应该将它作为一个单独的分类,而应该重新确定分类的边界,使得每个 分类中所包括的节点数量在同 一个数量级上。
分类确定之后,根据每个节点所属的分类生成样本数据,样本数据结构 可以为[节点IP地址,节点速率分类]。
将一部分样本保留作为之后用于错误评估的测试样本,其他大部分样本 都作为之后用于决策树二分的训练样本。测试样本所占比例一般不应超过20 % ,可以采用随机的方法从所有的样本数据中抽取。
另外,考虑到位于同一C类地址段(IP地址前24位相同)的节点通常具 有相同的网络环境,如果多个样本位于同一 C类地址賴:但速率分类不相同, 应该将它们的分类都调整为其中速率最高的节点的分类。
步骤s103、从一个包括所有训练样本的root节点开始不断地进行最优化 二分,生成一棵过分的决策树。
具体的,按照以决策树中节点杂度为依据的二分标准进行节点分裂。杂 度是一个描述树节点中包括样本的相似程度的概念,比如一个树节点中包括8 个1类样本和2个2类样本,另一个树节点有6个1类样本和4个2类样本, 那么后者的杂度就比前者高。只要一个叶节点包括的样本不都属于一个速率 分类,那么这个叶节点就存在分裂的可能性。
叶节点分裂的选择有很多种, 一个包括10个样本的节点就有9种可能的 分裂方式,从[1,9], [2,8]到[8,2], [9,1](树节点包括的样本按IP的大小顺序排列,通常按升序)。如果IP地址较小的前8个样本都是第1类节点,IP地
址较大的最后两个样本都是第2类节点,那么显然按[8,2]分是最佳方案。这
样得到的两个子节点的杂度都为0,节点内的样本都属于同一类。如果连续多
个样本属于同一类,那么从这些样本中间分裂树节点显然不是最优的分裂方
式,应该从不同类样本的边界分裂。比如树节点包括12个样本,按IP地址升
序排列,样本1-3为第1类节点,样本4-8为第2类样本,样本9-12也
为第1类样本。那么实际要考虑的分裂选择只有两种,在3、 4之间分裂,或
在8-9之间分裂。
可以用以下的^^式来表述二分标准
W) = l力k1) - K/lf 2)|]2

其中尸,/和尸c表示两个子节点"和G中样本数量占父节点t中样本数量
的比率,尸ov"和尸ov"表示两个子节点中j类样本数量占子节点样本数量的
比率。分裂时计算所有可能的分裂方式下^w的值,按照使该值最大的那种 分裂方式进行分裂。
也可以用以下公式来表述二分标准 其中Gz'm'0) = l-2^C/〃)2
分裂时计算可能分裂方式下G/"/一,0)的值,按照使该值最小的那种分裂 方式进行分裂。
该节点分裂还需要一种停止机制使分裂能停下来,否则最后产生的决策 树每个叶节点只包括一个样本,这就失去了 IP分类的意义。当满足以下停止 条件之一时,停止分裂当前的叶节点。
1、 叶节点变纯,也就是叶节点包括的样本都属于同一个速率分类。
2、 树的深度到达了用户设定的最大树深度限制值。 一般设为24,因为IP 地址是32位的,因特网上IP地址分配的最小单位就是一个C类地址(前24 位相同),同一个C类地址的节点拥有相同的网络环境。
153 、叶节点包括的样本数量小于用户设定的节点样本最、数量的两倍。 4、叶节点分裂后产生的子节点包括的样本数量小于用户设定的节点样本 最小数量。
上述节点分裂步骤从一个root叶节点开始不断的对不满足停止条件的叶 节点执行分裂,直到所有的叶节点都满足停止条件不能再进行分裂为止。在 这个过程中生成的决策树也变得越来越庞大,从开始的 一个root叶节点包括 所有的训练样本,到最后很多个叶节点分别包括对应的训练样本。预测的时 候以叶节点为准,中间节点不参与预测。另外,若一个叶节点的分类停止时 若包括7个第1类节点,2个第2类节点,l个第3类节点,那么认为这个叶 节点覆盖的IP段内的节点的速率分类都是第1类。但是实际上有3个不是第 1类的节点,也就是存在误分的现象,可以用以下公式来定义该节点的误分率
柳=
其中r^表示f节点内被误分的样本占f内样本总数的比率,按上面那种 情况^^=0.3。尸W表示f节点内样本数量占训练样本集中样本数量的比率。因 此i ^就表示f节点内净皮误分样本占所有训练样本的比率。
步骤s104、裁剪过分的决策树得到一系列备选分类树。 上述步骤中生成的决策树用来预测节点速率分类的话,通常不是最优的。 因为其是过度分裂的,导致出现了很多过小的叶节点,对预测没有帮助。因 此需要使用裁剪算法对其进行裁剪,本实施例中,采用最小代价-复杂度裁 剪法来剪去一些上述步骤中生成的决策树中的子树,使得决策树达到一个合 适的大小。
决策树分裂的越多,误分率就越小,但是决策树就越复杂代价也越大。 最小代价-复杂度裁剪法对误分率和代价做权衡,找到最优的裁剪方式。对 二分单元生成的决策树中每个中间节点来说,是保留该节点分裂而成的子树, 还是裁剪该子树使得它成为叶节点并进行预测,取决于上面所说的这种权衡。 对每个中间节点,计算下面的值
,(r)卜i 表示该中间节点,r表示由该节点分裂而成的子树,i ^表示节点^的误 分率,i^7)表示子树r的误分率,K"i表示子树r叶节点的数量。子树r的 误分率由子树所有叶节点的误分率相加而得
,)=Z雄)
g^越大,表示?分裂带来的误分率的下降相比分裂的代价越大,也就是
分裂的效果较好;g^越小,表示f分裂带来的误分率的下降相比分裂的代价 越小,也就是分裂的效果不好。每次裁剪时,都裁剪掉g^最小也就是分裂效 果最差的那棵子树(裁剪后被裁剪的叶节点上的中间节点变成了新的叶节 点),然后将生成的新的决策树保存起来作为备选分类树。然后对新决策树中 的所有中间节点再计算g^)值,再裁剪掉g(t)最小的那棵子树并生成新的备选 分类树并保存。不断重复这个过程,生成的决策树也越来越小,直到最后生 成的决策树只剩一个root节点为止。使用上述裁剪算法后,生成了一系列按 树的大小(叶节点数量的多少)降序排列的备选分类树。
步骤s105、用测试样本集评估备选分类树的预测失败率,选择错误率最 小的分类树。
在上述步骤生成的一系列大小不同的备选分类树中,要选出大小最适合 使得分裂和裁剪都得到比较好的平衡的那棵树。因此,可以用所有的备选分 类树来预测测试样本集中样本的速率分类,并计算每个备选决策树的预测失 败比率,最后预测失败比率最小的那棵树被选为最终的分类树输出。
步骤sl06、输出所选择的分类树。
由于速率预测时只需要叶节点的信息,分类树输出时可以按以下形式输 出到文件进行保存 [IP21, IP22, bandwidth class][IPni, IPn2, bandwidth class]
上述文件中的每一条代表了一个叶节点覆盖的IP地址范围,其中的起始
IP(比如IPll)和末尾IP(比如IPl2)不一定是某个样本的IP,可以将起始和末尾
样本的IP按C类地址进行了扩展。比如某个叶节点包括3个样本,IP最小的 样本的IP为10.70.11.82, IP最大的样本的IP为10.70.13.55,那么输出的信息 可以是 步骤sl07、使用上述分类树进行节点速率预测。
具体的,当网络应用程序有多个备选节点可以通讯获取数据时,可以根 据上述输出的分类树进行带宽预测。具体的首先读取本地存储的分类树输 出,然后将备选节点的IP地址与分类树输出作对应。如果对于待预测节点的 IP地址存在对应的IP地址段,也就是存在某一条记录的IP分段,使得起 始IP《IP《末尾IP,那么就认为该待预测IP地址的速率属于该IP分段的速 率分类。如果找不到,也就是IP地址小于最小起始IP,或者大于最大末尾IP, 或者位于两个IP地址段的中间,这时无法判断它的速率分类。最后应用程序 选择那些预测速率高的节点进行通讯。通过该步骤,实现了目标节点的速率 预测以及目标节点的选择方法。
上述步骤中,还涉及到步骤s106中输出的分类树的更新。对于上述分类 树的产生过程中使用到的IP地址速率记录,通常需要客户端应用程序花很长 时间来收集。搜集的记录越多,得到的样本也越多,分裂而成的分类树也就 越准确。因此在用户获得更多的记录之后,需要更新分类树。最简单的方法 是,每获得一定数量的新的记录就抛弃旧的分类树重新构建新的分类树。这 样做比较耗时间,但是重新构建可以纠正决策树中一些高层节点的不正确的 分裂,这是由于训练样本的不足导致的。
通过使用本发明提供的上述方法,能够通过分类方法预测IP地址段与该
18IP地址段内下载速率的大致对应关系,使得网络应用程序需要在多个可通讯 节点中进行选择时,能够提高选择到带宽最大、连接质量最有保证的节点的 可能性,从而降低了应用程序在网络通讯中的盲目性,减小了网络中因通信 盲目性造成的负载和消耗。
本发明的实施例中,还提供了一种用于实现IP地址分类的分类装置,其
结构如图3所示,包括
数据评估分类单元10,用于对远端节点IP地址以及对应的数据下载速率 记录进4于速率评估分类,生成训练样本集和测试样本集。
决策树二分单元20,用于对包括数据评估分类单元10生成的所有训练样 本的节点开始二分,生成决策树。该决策树的每个叶节点代表一个IP段,这 个过度分裂的决策树有很多冗余的子树。
决策树裁剪单元30,用于递归地裁剪决策树二分单元20得到的决策树, 每次裁剪后形成的树都被作为备选的分类树保存起来,得到多个备选分类树。
错误评估单元40,用于使用数据评估分类IO单元生成的测试样本集评估 决策树裁剪单元30生成的每一备选分类树的预测失败率。
输出单元50,用于获取错误评估单元40评估得到的预测失败率最小的备 选分类树,对IP地址范围进行预测的分类。
该分类装置还包括
下载记录维护单元60,用于记录远端节点IP地址以及对应的数据下载速 率,并提供给数据评估分类单元10。
更新发起单元70,用于当获得一定数量的新的远端节点IP地址以及对应 的数据下载速率记录时,发起对已获取的分类树的更新。
具体的,以下对上述各单元的功能进行进一步的具体描述。
数据评估分类单元10进一步包括
分类子单元11,用于根据预设的分类标准对对远端节点IP地址以及对应 的数据下载速率记录进行速率评估分类;训练样本集选择子单元12,用于从 分类子单元11的分类后的样本中选择样本作为训练样本集;具体的,可以使用除去测试样本外选取大部分分类后的样本作为决策树二分单元的训练样
本。测试样本集选择子单元13,用于从分类子单元11的分类后的样本中选择 样本作为测试样本集。测试样本所占比例一般不应超过20 % ,可以采用随机 的方法抽取。
决策树二分单元20进一步包括
二分标准设置子单元21,用于设置二分所使用的标准;二分处理子单元 22,用于才艮据二分标准设置子单元21设置的二分标准对包括所有训练样本的 节点不断进行二分。二分停止子单元23,用于当二分处理子单元22中新分裂 出的节点满足分裂停止条件时,停止对新分裂出的节点的二分;每一新分裂 出的节点都满足分裂停止条件时,停止二分,得到决策树。
决策树裁剪单元30进一步包括
选择裁剪子单元31,用于使用最小代价-复杂度裁剪法,每次裁剪掉决策 树二分单元20得到的决策树中的一支子树;在决策树只包括一个节点时。所 述裁剪完成。备选分类树存储子单元32,用于保存选择裁剪子单元31每次裁 剪后的决策树为一个备选分类树。
错误评估单元40进一步包括
预测子单元41,用于使用所有的备选分类树来预测测试样本集中样本的 速率分类;评估子单元42,根据预测子单元41预测出的速率分类、与所述测 试样本中样本的实际速率分类,获取每个备选分类树的预测失败率。
输出单元50进一步包括
选择输出子单元51,用于将获取的错误评估单元40预测失败率最小的备 选分类树中的节点进行输出,获取节点IP地址范围与传输速率的对应关系; 扩展子单元52,用于在选择输出子单元51的输出时,将节点IP地址范围的 起始和末尾样本的IP按C类地址进行扩展。
本发明的实施例还提供一种目标节点速率的预测设备,应用于网络中的 任一源节点,如图4所示,包括
分类装置100,用于将IP地址范围进行分类,每一所述类中包括连续的 IP地址范围且所述类中的地址对该源节点具有相似的传输速率;该分类装置100的结构与上述图3所描述的分类装置的结构相同,在此不做重复描述。
预测装置200,用于根据目标节点的IP地址,确定目标节点在分类装置 100的分类中所属的类,从而根据所属的类预测所述目标节点的传输速率。
本发明的实施例还提供一种邻居节点的选择系统,应用于网络中的任一 节点,如图5所示,包括
源节点400,用于在本地将IP地址范围按照传输速率进行分类,根据目 标节点的IP地址确定目标节点500在所述分类的分类中所属的类并预测所述 目标节点的传输速率;根据该预测结果选择具有最大预测传输速率的目标节 点500作为邻居节点。
至少一个目标节点500,用于作为源节点400的备选邻居节点,向源节点 400提供数据下载。
该源节点400中,包括上述图4所描述的目标节点速率的预测设备中的 装置,具体包括
分类装置100,用于将IP地址范围进行分类,每一所述类中包括连续的 IP地址范围且所述类中的地址对该源节点具有相似的传输速率;该分类装置 100的结构与上述图3所描述的分类装置的结构相同,在此不^L重复描述。
预测装置200,用于根据目标节点的IP地址,确定目标节点在分类装置 100的分类中所属的类,从而根据所属的类预测每一目标节点的传输速率。
另外,该源节点进一步包括
选择装置300,用于选择预测装置200的预测结果中具有最大预测传输速 率的目标节点500作为邻居节点。
通过使用本发明提供的上述系统和设备,能够通过分类方法预测IP地址 段与该IP地址段内下载速率的大致对应关系,使得网络应用程序需要在多个 可通讯节点中进行选择时,能够提高选择到带宽最大、连接质量最有保证的 节点的可能性,从而降低了应用程序在网络通讯中的盲目性,减小了网络中 因通信盲目性造成的负载和消耗。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发 明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案 本质上或者说对现有技术j故出贡献的部分可以以软件产品的形式体现出来, 该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台节点 设备执行本发明各个实施例所述的方法。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此, 任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
权利要求
1、一种目标节点速率的预测方法,其特征在于,包括以下步骤将IP地址范围进行分类,每一所述类中包括连续的IP地址范围且所述类中的地址对源节点具有相似的传输速率;根据目标节点的IP地址,获取所述目标节点所属的类,根据所述所属的类预测所述目标节点的传输速率。
2、 如权利要求1所述目标节点速率的预测方法,其特征在于,所述对IP 地址范围进行分类具体为使用机器学习算法,根据所述节点之前获取的远端节点IP地址以及对应 的数据下载速率记录,对IP地址范围进行分类。
3、 如权利要求2所述目标节点速率的预测方法,其特征在于,所述记录 中远端节点IP地址对应的数据下载速率具体为在多次记录的从所述远端节 点IP地址的凄t据下载速率中,最大的一个数据下载速率。
4、 如权利要求2所述目标节点速率的预测方法,其特征在于,所述使用 机器学习算法,根据所述节点之前获取的远端节点IP地址以及对应的数据下 载速率记录对IP地址范围进行分类具体为对所述远端节点IP地址以及对应的数据下载速率记录进行速率评估分 类,生成训练样本集和测试样本集;从一个包括所有所述训练样本的根节点开始进行二分,生成决策树; 裁剪所述决策树得到多个备选分类树;使用所述测试样本集评估每一所述备选分类树的预测失败率;输出预测失败率最小的备选分类树,作为对IP地址范围进行预测的分类。
5、 如权利要求4所述目标节点速率的预测方法,其特征在于,所述进行 速率评估分类,生成训练样本集和测试样本集具体为将数据下载速率进行速率分类,每一类包括不同的数据下载速率的范围, 且所有类的和覆盖了所有可能的下载速率;根据分类结果生成样本数据,所述样本数据包括节点IP地址、以及对 应的节点速率分类;随机选取部分所述样本数据作为测试样本集,其余的样本数据作为训练
6、 如权利要求5所述目标节点速率的预测方法,其特征在于,所述将所 述远端节点IP地址划分到不同的速率分类满足每个分类中所包括的节点IP地址数量在同一个数量级上;和/或 同一 C类地址^:的节点IP地址属于同 一类。
7、 如权利要求4所述目标节点速率的预测方法,其特征在于,所述从一 个包括所有训练样本的根节点开始进行二分,生成决策树具体为根据预设的二分标准从所述包括所有训练样本的根节点开始不断进行二分;新分裂出的节点满足分裂停止条件时,停止所述新分裂出的节点的二分; 每一新分裂出的节点都满足分裂停止条件时停止二分,得到决策树。
8、 如权利要求7所述目标节点速率的预测方法,其特征在于,所述预设 的二分标准具体为州)=|K/_ K/| ")|]2其中,P"和i^表示两个分裂出的子节点W和G中样本数量占父节点t中样本数量的比率,POV"和户OV"表示两个子节点中j类样本数量占子节点样本数量的比率;分裂时计算所有可能的分裂方式下^^的值,按照使该值 最大的那种分裂方式进^f于分裂;或 所述预i殳的二分标准具体为其中= 1 — Z P(J'〃)2分裂时计算所有可能分裂方式下G/m一,(0的值,按照使该值最小的分裂 方式进行分裂。
9、 如权利要求7所述目标节点速率的预测方法,其特征在于,所述分裂 停止条件包括以下条件中的一种或多种节点包括的样本都属于同一个速率分类;或树的深度到达了预先设定的最大树深度限制值;或 节点包括的样本数量小于预先设定的节点样本最小数量的两倍;或 节点分裂后产生的子节点包括的样本数量小于用户设定的节点样本最小数量。
10、 如权利要求4所述目标节点速率的预测方法,其特征在于,所述裁 剪决策树得到多个备选分类树具体为使用最小代价-复杂度裁剪法,每次裁剪掉决策树中的部分子树,并保存 每次裁剪后的决策树为一个备选分类树;在所述决策树只包括一个节点时, 所述裁剪完成。
11、 如权利要求4所述目标节点速率的预测方法,其特征在于,所述使 用测试样本集评估每一所述备选分类树的预测失败率具体为用所有的备选分类树来预测测试样本集中样本的速率分类; 根据预测出的速率分类、与所述测试样本中样本的实际速率分类,获取 每个备选分类树的预测失败率。
12、 如权利要求4所述目标节点速率的预测方法,其特征在于,所述输 出预测失败率最小的备选分类树,作为对IP地址范围进行预测的分类具体为将所述获取的预测失败率最小的备选分类树中的节点进行输出,获取节 点IP地址范围与传输速率的对应关系;所述输出时,将节点IP地址范围的起 始和末尾样本的IP按C类地址进行扩展。
13、 如权利要求4所述目标节点速率的预测方法,其特征在于,所述输 出预测失败最小的备选分类树,作为对IP地址范围进行预测的分类后,还包 括获得一定数量的新的远端节点IP地址以及对应的数据下载速率记录时, ^使用所述新的记录与原有记录重新生成分类树。
14、 一种因特网IP地址分类的方法,其特征在于,包括以下步骤 对远端节点IP地址以及对应的数据下载速率记录进行速率评估分类,生成训练样本集和测试样本集;从一个包括所有所述训练样本的根节点开始进行二分,生成决策树;裁剪所述决策树得到多个备选分类树;使用所述测试样本集评估每一所述备选分类树的预测失败率;输出预测失败率最小的备选分类树,作为对IP地址范围进行预测的分类。
15、 一种邻居节点的选择方法,其特征在于,包括以下步骤 在源节点将IP地址范围进行分类,每一所述类中包括连续的IP地址范围且所述类中的地址对所述源节点具有相似的传输速率;有多个目标节点可供选择时,根据每一目标节点的IP地址,确定所述目标节点所属的类,根据所述所属的类预测所述目标节点的传输速率; 选择具有最大预测传输速率的目标节点作为邻居节点。
16、 一种目标节点速率的预测设备,应用于网络中的一源节点,其特征 在于,包括分类装置,用于将IP地址范围进行分类,每一所述类中包括连续的IP地 址范围且所述类中的地址对所述源节点具有相似的传输速率;预测装置,用于根据目标节点的IP地址,确定所述目标节点在所述分类 装置的分类中所属的类,从而根据所述的类预测所述目标节点的传输速率。
17、 如权利要求16所述目标节点速率的预测设备,其特征在于,所述分 类装置具体包括数据评估分类单元,用于对远端节点IP地址以及对应的数据下载速率记 录进行速率评估分类,生成训练样本集和测试样本集;决策树二分单元,用于对包括所述数据评估分类单元生成的包括训练样 本的节点开始二分,生成决策树;决策树裁剪单元,用于裁剪所述决策树二分单元得到的决策树,得到多 个备选分类树;错误评估单元,用于使用所述数据评估分类单元生成的测试样本集评估 所述决策树裁剪单元生成的每一备选分类树的预测失败率;输出单元,用于获取所述错误评估单元评估得到的预测失败率最小的备 选分类树,对IP地址范围进行预测的分类。
18、 如权利要求17所述目标节点速率的预测设备,其特征在于,还包括下载记录维护单元,用于记录远端节点IP地址以及对应的数据下载速率, 并提供给所述数据评估分类单元。
19、 如权利要求17所述目标节点速率的预测设备,其特征在于,所述数 据评估分类单元进一步包括分类子单元,用于根据预设的分类标准对对远端节点IP地址以及对应的 数据下载速率记录进行速率评估分类;训练样本集选择子单元,用于从所述分类子单元的分类后的样本中选择 样本作为训练样本集;测试样本集选择子单元,用于从所述分类子单元的分类后的样本中选择 样本作为测试才羊本集。
20、 如权利要求17所述目标节点速率的预测设备,其特征在于,所述决 策树二分单元进一步包括二分标准设置子单元,用于设置二分所使用的标准;二分处理子单元,用于根据所述二分标准设置子单元设置的二分标准对 包括所有训练样本的节点不断进行二分;二分停止子单元,用于当所述二分处理子单元中新分裂出的节点满足分 裂停止条件时,停止所述新分裂出的节点的二分;每一新分裂出的节点都满 足分裂停止条件时停止二分,得到决策树。
21、 如权利要求17所述目标节点速率的预测设备,其特征在于,所述决 策树裁剪单元进一步包括选择裁剪子单元,用于使用最小代价-复杂度裁剪法,每次裁剪掉决策树中的部分子树;备选分类树存储子单元,用于保存所述选择裁剪子单元每次裁剪后的决 策树为一个备选分类树;在所述决策树只包括一个节点时。所述裁剪完成。
22、 如权利要求17所述目标节点速率的预测设备,其特征在于,所述错 误评估单元进一步包括预测子单元,用于使用所有的备选分类树来预测测试样本集中样本的速 率分类;评估子单元,根据所述预测子单元预测出的速率分类、与所述测试样本 中样本的实际速率分类,获取每个备选分类树的预测失败率。
23、 如权利要求17所述目标节点速率的预测设备,其特征在于,所述输 出单元进一步包括选择输出子单元,用于将获取的所述错误评估单元预测失败率最小的备 选分类树中的节点进行输出,获取节点IP地址范围与传输速率的对应关系;扩展子单元,用于在所述选择输出子单元的输出时,将节点IP地址范围 的起始和末尾样本的IP按C类地址进行扩展。
24、 如权利要求17所述目标节点速率的预测设备,其特征在于,所述分 类装置还包括更新发起单元,用于当获得一定数量的新的远端节点IP地址以及对应的 数据下载速率记录时,将新获取的IP地址、对应的数据下载速率与原有的IP 地址、对应的数据下载速率合并,发起分类树的重新生成。
25、 一种分类装置,用于实现对IP地址的分类,其特征在于,包括 数据评估分类单元,用于对远端节点IP地址以及对应的数据下载速率记录进4于速率评估分类,生成训练样本集和测试样本集;决策树二分单元,用于对包括所述数据评估分类单元生成的包括训练样 本的节点开始二分,生成决策树;决策树裁剪单元,用于裁剪所述决策树二分单元得到的决策树,得到多 个备选分类树;错误评估单元,用于使用所述数据评估分类单元生成的测试样本集评估 所述决策树裁剪单元生成的每一备选分类树的预测失败率;输出单元,用于获取所述错误评估单元评估得到的预测失败率最小的备 选分类树,对IP地址范围进行预测的分类。
26、 一种邻居节点的选择设备,应用于网络中的源节点,其特征在于, 包括分类装置,用于将IP地址范围进行分类,每一所述类中包括连续的IP地 址范围且所述类中的地址对所述源节点具有相似的传输速率;预测装置,用于才艮据目标节点的IP地址,确定所述目标节点在所述分类装置的分类中所属的类,从而根据所述的类预测所述目标节点的传输速率;选择装置,用于选择所述预测装置的预测结果中具有最大预测传输速率 的目标节点作为邻居节点。
27、 一种邻居节点的选择系统,其特征在于,包括源节点,用于在本地将IP地址范围按照传输速率进行分类,根据目标节 点的IP地址确定所述目标节点在所述分类的分类中所属的类并预测所述目标节点的传输速率;根据所述预测结果选择具有最大预测传输速率的目标节点 作为邻居节点;至少一个目标节点,用于作为所述源节点的备选邻居节点,向所述源节 点提供数据下载。
28、 如权利要求27所述邻居节点的选择系统,其特征在于,所述源节点 具体包括分类装置,用于将IP地址范围进行分类,每一所述类中包括连续的IP地 址范围且所述类中的地址对所述源节点具有相似的传输速率;预测装置,用于根据目标节点的IP地址,确定所述目标节点在所述分类 装置的分类中所属的类,从而根据所述的类预测所述目标节点的传输速率;选择装置,用于选择所述预测装置的预测结果中具有最大预测传输速率 的目标节点作为邻居节点。
全文摘要
本发明的实施例公开了一种因特网IP地址分类的方法以及目标节点速率的预测方法,应用于网络中的任意节点,其将IP地址范围进行分类,每一所述类中包括连续的IP地址范围且所述类中的地址对所述节点具有相近的传输速率,并根据分类结果进行目标节点数据下载速率的预测。本发明的实施例还公开了一种用于因特网IP地址分类以及目标节点速率预测的装置。通过使用本发明的实施例,使得网络应用程序需要在多个可通讯节点中进行选择时,能够提高选择到带宽最大、连接质量最有保证的节点的可能性,从而降低了应用程序在网络通讯中的盲目性,减小了网络中因通信盲目性造成的负载和消耗。
文档编号H04L12/24GK101453368SQ20071019588
公开日2009年6月10日 申请日期2007年12月3日 优先权日2007年12月3日
发明者曾宪国, 陈浩华, 哲 黄 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1