CN101453368A - 一种因特网ip地址分类和带宽预测的方法、系统及设备 - Google Patents
一种因特网ip地址分类和带宽预测的方法、系统及设备 Download PDFInfo
- Publication number
- CN101453368A CN101453368A CNA2007101958855A CN200710195885A CN101453368A CN 101453368 A CN101453368 A CN 101453368A CN A2007101958855 A CNA2007101958855 A CN A2007101958855A CN 200710195885 A CN200710195885 A CN 200710195885A CN 101453368 A CN101453368 A CN 101453368A
- Authority
- CN
- China
- Prior art keywords
- node
- classification
- address
- speed
- destination node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明的实施例公开了一种因特网IP地址分类的方法以及目标节点速率的预测方法,应用于网络中的任意节点,其将IP地址范围进行分类,每一所述类中包括连续的IP地址范围且所述类中的地址对所述节点具有相近的传输速率,并根据分类结果进行目标节点数据下载速率的预测。本发明的实施例还公开了一种用于因特网IP地址分类以及目标节点速率预测的装置。通过使用本发明的实施例,使得网络应用程序需要在多个可通讯节点中进行选择时,能够提高选择到带宽最大、连接质量最有保证的节点的可能性,从而降低了应用程序在网络通讯中的盲目性,减小了网络中因通信盲目性造成的负载和消耗。
Description
技术领域
本发明涉及网络技术领域,尤其是一种因特网IP地址分类和带宽预测的方法、系统及设备。
背景技术
当前因特网上运行着数量庞大的P2P(Peer to Peer,点对点)网络应用软件,这类程序有一个共同点,就是没有固定的连接对象。能够为它们提供服务的节点不一定是服务提供者的服务器,数量充足的其他客户端也能提供一部分服务。这种服务目前主要是指数据和带宽,比如目前占据P2P主流应用的文件下载和视频服务,客户端都能通过自己的上传带宽向其他客户端传输数据。当客户端需要获取特定的数据(文件的某部分数据或视频的某部分数据)时,它首先通过一定的查找搜索机制获取一部分节点的地址信息,也就是IP、Port。然后和这些节点进行通讯获取数据。由于不了解到各个节点路径的传输带宽,客户端通常随机选择节点进行通讯获取数据。如果当前节点传输带宽太差,客户端要断开当前的传输并和新节点通讯获取数据。通常要找到好的节点并维持较高的传输速率,客户端要不断反复地断开当前传输并与新节点通讯。如果能预测客户端到其它节点的网络带宽,就可以在一定程度上降低这些额外的网络开销并加快传输的速度。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
当前因特网提供的数据传输服务是尽力而为的,不能保证服务的QoS(Quality of Service)。在需要为因特网设计一个有QoS保证的传输方案时,主要困难之一在于很难预测两个IP地址之间可获得的带宽。不同的网络环境以及网络之间的连接状况导致了不同的传输质量,而这些情况用户是很难掌握的。从用户的角度来看,唯一具有参考价值的数据就是他们自己以往的传输经验。对于过去提供过高速率传输的节点,终端用户可以期待以后它们也能提供高速率的传输;对于过去提供过低速率传输的节点,在大部分情况下认为其将来也只能提供很差的传输带宽;对于以前没有提供过数据传输的节点,终端用户只能猜测它们之间的传输带宽。
发明内容
本发明的实施例提供一种因特网IP地址分类和带宽预测的方法、系统及设备,用于实现通过预测本地客户端到其他节点的网络带宽,从而辅助客户端的通讯决策,降低通讯开销提高通讯效率。
为达到上述目的,本发明的实施例提出一种目标节点速率的预测方法,包括以下步骤:
将IP地址范围进行分类,每一所述类中包括连续的IP地址范围且所述类中的地址对源节点具有相似的传输速率;
根据目标节点的IP地址,获取所述目标节点所属的类,根据所述所属的类预测所述目标节点的传输速率。
本发明的实施例还提出一种因特网IP地址分类的方法,包括以下步骤:
对远端节点IP地址以及对应的数据下载速率记录进行速率评估分类,生成训练样本集和测试样本集;
从一个包括所有所述训练样本的根节点开始进行二分,生成决策树;
裁剪所述决策树得到多个备选分类树;
使用所述测试样本集评估每一所述备选分类树的预测失败率;
输出预测失败率最小的备选分类树,作为对IP地址范围进行预测的分类。
本发明的实施例还提出一种邻居节点的选择方法,包括以下步骤:
在源节点将IP地址范围进行分类,每一所述类中包括连续的IP地址范围且所述类中的地址对所述源节点具有相似的传输速率;
有多个目标节点可供选择时,根据每一目标节点的IP地址,确定所述目标节点所属的类,根据所述所属的类预测所述目标节点的传输速率;
选择具有最大预测传输速率的目标节点作为邻居节点。
本发明的实施例还提出一种目标节点速率的预测设备,应用于网络中的一源节点,包括:
分类装置,用于将IP地址范围进行分类,每一所述类中包括连续的IP地址范围且所述类中的地址对所述源节点具有相似的传输速率;
预测装置,用于根据目标节点的IP地址,确定所述目标节点在所述分类装置的分类中所属的类,从而根据所述的类预测所述目标节点的传输速率。
本发明的实施例还提出一种分类装置,用于实现对IP地址的分类,包括:
数据评估分类单元,用于对远端节点IP地址以及对应的数据下载速率记录进行速率评估分类,生成训练样本集和测试样本集;
决策树二分单元,用于对包括所述数据评估分类单元生成的包括训练样本的节点开始二分,生成决策树;
决策树裁剪单元,用于裁剪所述决策树二分单元得到的决策树,得到多个备选分类树;
错误评估单元,用于使用所述数据评估分类单元生成的测试样本集评估所述决策树裁剪单元生成的每一备选分类树的预测失败率;
输出单元,用于获取所述错误评估单元评估得到的预测失败率最小的备选分类树,对IP地址范围进行预测的分类。
本发明的实施例还提出一种邻居节点的选择设备,应用于网络中的源节点,包括:
分类装置,用于将IP地址范围进行分类,每一所述类中包括连续的IP地址范围且所述类中的地址对所述源节点具有相似的传输速率;
预测装置,用于根据目标节点的IP地址,确定所述目标节点在所述分类装置的分类中所属的类,从而根据所述的类预测所述目标节点的传输速率;
选择装置,用于选择所述预测装置的预测结果中具有最大预测传输速率的目标节点作为邻居节点。
本发明的实施例还提出一种邻居节点的选择系统,包括:
源节点,用于在本地将IP地址范围按照传输速率进行分类,根据目标节点的IP地址确定所述目标节点在所述分类的分类中所属的类并预测所述目标节点的传输速率;根据所述预测结果选择具有最大预测传输速率的目标节点作为邻居节点;
至少一个目标节点,用于作为所述源节点的备选邻居节点,向所述源节点提供数据下载。
与现有技术相比,本发明的实施例具有以下优点:
能够通过分类方法预测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决策树中,如图1所示,每个树节点(指叶节点或中间节点)代表了因特网上的一个IP地址段,可以称一个IP段为一个子网。树节点分裂为两个子节点表示当前的子网分裂成两个更小的子网。如图1所示,CART分类树将以202.88为前缀的IP地址段分为了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所示,包括以下步骤:
步骤s101、获取节点IP速率信息。
具体的,该IP节点速率信息可以为用户端记录的过去的下载记录,该记录包括由节点的IP地址和相应的下载速率所组成的数据。
步骤s102、对获取到的节点IP速率信息进行速率评估分类,生成训练样本集和测试样本集。
具体的,该速率评估分类是指:估计各节点的IP地址的可用带宽并将带宽量化成多个类别以组成样本。可用带宽是指两个节点之间能获得的最大数据下载速率,通常记录时以若干秒为一个时间间隔来记录该IP地址的数据下载速率,并获得最大数据下载速率,为简便起见,以下描述中的数据下载速率即为该最大数据下载速率。
对每个作为样本的节点来说,以往获得的数据下载速率是个精确的连续值,比如1234B/s(字节每秒)。为了定量的获取差异性并简化分类算法,需要将各个节点按照数据下载速率划分成几个类。每个类代表了一定范围的数据下载速率,合在一起就覆盖了从0到无穷大所有可能的数据下载速率。因此分类问题就变成了将连续的IP地址中具有相同数据下载速率类别的节点聚集在一起。节点类别多的话节点的差异性就大,导致分类的错误率也大,但是这样速率预测的精度也高。通常节点类别数量应该设为10以下。
在决定了节点类别数量之后,要选择不同节点类别之间合适的速率差距。假如所需要的数据速率是400KB/s,那么就可以将速率为0的节点分为一类,速率大于400KB/s的分为一类,速率在0-400KB/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之间分裂。
可以用以下的公式来表述二分标准:
其中Pt1和Pt2表示两个子节点t1和t2中样本数量占父节点t中样本数量的比率,P(j|t1)和P(j|t2)表示两个子节点中j类样本数量占子节点样本数量的比率。分裂时计算所有可能的分裂方式下φ(t)的值,按照使该值最大的那种分裂方式进行分裂。
也可以用以下公式来表述二分标准:
Ginisplit(t)=Pt1Gini(t1)+Pt2Gini(t2)
其中
分裂时计算可能分裂方式下Ginisplit(t)的值,按照使该值最小的那种分裂方式进行分裂。
该节点分裂还需要一种停止机制使分裂能停下来,否则最后产生的决策树每个叶节点只包括一个样本,这就失去了IP分类的意义。当满足以下停止条件之一时,停止分裂当前的叶节点。
1、叶节点变纯,也就是叶节点包括的样本都属于同一个速率分类。
2、树的深度到达了用户设定的最大树深度限制值。一般设为24,因为IP地址是32位的,因特网上IP地址分配的最小单位就是一个C类地址(前24位相同),同一个C类地址的节点拥有相同的网络环境。
3、叶节点包括的样本数量小于用户设定的节点样本最小数量的两倍。
4、叶节点分裂后产生的子节点包括的样本数量小于用户设定的节点样本最小数量。
上述节点分裂步骤从一个root叶节点开始不断的对不满足停止条件的叶节点执行分裂,直到所有的叶节点都满足停止条件不能再进行分裂为止。在这个过程中生成的决策树也变得越来越庞大,从开始的一个root叶节点包括所有的训练样本,到最后很多个叶节点分别包括对应的训练样本。预测的时候以叶节点为准,中间节点不参与预测。另外,若一个叶节点的分类停止时若包括7个第1类节点,2个第2类节点,1个第3类节点,那么认为这个叶节点覆盖的IP段内的节点的速率分类都是第1类。但是实际上有3个不是第1类的节点,也就是存在误分的现象,可以用以下公式来定义该节点的误分率:
R(t)=r(t)P(t)
其中r(t)表示t节点内被误分的样本占t内样本总数的比率,按上面那种情况r(t)=0.3。P(t)表示t节点内样本数量占训练样本集中样本数量的比率。因此R(t)就表示t节点内被误分样本占所有训练样本的比率。
步骤s104、裁剪过分的决策树得到一系列备选分类树。
上述步骤中生成的决策树用来预测节点速率分类的话,通常不是最优的。因为其是过度分裂的,导致出现了很多过小的叶节点,对预测没有帮助。因此需要使用裁剪算法对其进行裁剪,本实施例中,采用最小代价-复杂度裁剪法来剪去一些上述步骤中生成的决策树中的子树,使得决策树达到一个合适的大小。
决策树分裂的越多,误分率就越小,但是决策树就越复杂代价也越大。最小代价-复杂度裁剪法对误分率和代价做权衡,找到最优的裁剪方式。对二分单元生成的决策树中每个中间节点来说,是保留该节点分裂而成的子树,还是裁剪该子树使得它成为叶节点并进行预测,取决于上面所说的这种权衡。对每个中间节点,计算下面的值:
t表示该中间节点,T表示由该节点分裂而成的子树,R(t)表示节点t的误分率,R(T)表示子树T的误分率,|ψ(T)|表示子树T叶节点的数量。子树T的误分率由子树所有叶节点的误分率相加而得:
g(t)越大,表示t分裂带来的误分率的下降相比分裂的代价越大,也就是分裂的效果较好;g(t)越小,表示t分裂带来的误分率的下降相比分裂的代价越小,也就是分裂的效果不好。每次裁剪时,都裁剪掉g(t)最小也就是分裂效果最差的那棵子树(裁剪后被裁剪的叶节点上的中间节点变成了新的叶节点),然后将生成的新的决策树保存起来作为备选分类树。然后对新决策树中的所有中间节点再计算g(t)值,再裁剪掉g(t)最小的那棵子树并生成新的备选分类树并保存。不断重复这个过程,生成的决策树也越来越小,直到最后生成的决策树只剩一个root节点为止。使用上述裁剪算法后,生成了一系列按树的大小(叶节点数量的多少)降序排列的备选分类树。
步骤s105、用测试样本集评估备选分类树的预测失败率,选择错误率最小的分类树。
在上述步骤生成的一系列大小不同的备选分类树中,要选出大小最适合使得分裂和裁剪都得到比较好的平衡的那棵树。因此,可以用所有的备选分类树来预测测试样本集中样本的速率分类,并计算每个备选决策树的预测失败比率,最后预测失败比率最小的那棵树被选为最终的分类树输出。
步骤s106、输出所选择的分类树。
由于速率预测时只需要叶节点的信息,分类树输出时可以按以下形式输出到文件进行保存:
[IP11,IP12,bandwidth class]
[IP21,IP22,bandwidth class]
...
[IPn1,IPn2,bandwidth class]
上述文件中的每一条代表了一个叶节点覆盖的IP地址范围,其中的起始IP(比如IP11)和末尾IP(比如IP12)不一定是某个样本的IP,可以将起始和末尾样本的IP按C类地址进行了扩展。比如某个叶节点包括3个样本,IP最小的样本的IP为10.70.11.82,IP最大的样本的IP为10.70.13.55,那么输出的信息可以是
[10.70.11.0,10.70.13.255,bandwidth class]
步骤s107、使用上述分类树进行节点速率预测。
具体的,当网络应用程序有多个备选节点可以通讯获取数据时,可以根据上述输出的分类树进行带宽预测。具体的:首先读取本地存储的分类树输出,然后将备选节点的IP地址与分类树输出作对应。如果对于待预测节点的IP地址存在对应的IP地址段,也就是存在某一条记录的IP分段,使得:起始IP≤IP≤末尾IP,那么就认为该待预测IP地址的速率属于该IP分段的速率分类。如果找不到,也就是IP地址小于最小起始IP,或者大于最大末尾IP,或者位于两个IP地址段的中间,这时无法判断它的速率分类。最后应用程序选择那些预测速率高的节点进行通讯。通过该步骤,实现了目标节点的速率预测以及目标节点的选择方法。
上述步骤中,还涉及到步骤s106中输出的分类树的更新。对于上述分类树的产生过程中使用到的IP地址速率记录,通常需要客户端应用程序花很长时间来收集。搜集的记录越多,得到的样本也越多,分裂而成的分类树也就越准确。因此在用户获得更多的记录之后,需要更新分类树。最简单的方法是,每获得一定数量的新的记录就抛弃旧的分类树重新构建新的分类树。这样做比较耗时间,但是重新构建可以纠正决策树中一些高层节点的不正确的分裂,这是由于训练样本的不足导致的。
通过使用本发明提供的上述方法,能够通过分类方法预测IP地址段与该IP地址段内下载速率的大致对应关系,使得网络应用程序需要在多个可通讯节点中进行选择时,能够提高选择到带宽最大、连接质量最有保证的节点的可能性,从而降低了应用程序在网络通讯中的盲目性,减小了网络中因通信盲目性造成的负载和消耗。
本发明的实施例中,还提供了一种用于实现IP地址分类的分类装置,其结构如图3所示,包括:
数据评估分类单元10,用于对远端节点IP地址以及对应的数据下载速率记录进行速率评估分类,生成训练样本集和测试样本集。
决策树二分单元20,用于对包括数据评估分类单元10生成的所有训练样本的节点开始二分,生成决策树。该决策树的每个叶节点代表一个IP段,这个过度分裂的决策树有很多冗余的子树。
决策树裁剪单元30,用于递归地裁剪决策树二分单元20得到的决策树,每次裁剪后形成的树都被作为备选的分类树保存起来,得到多个备选分类树。
错误评估单元40,用于使用数据评估分类10单元生成的测试样本集评估决策树裁剪单元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所描述的分类装置的结构相同,在此不做重复描述。
预测装置200,用于根据目标节点的IP地址,确定目标节点在分类装置100的分类中所属的类,从而根据所属的类预测每一目标节点的传输速率。
另外,该源节点进一步包括:
选择装置300,用于选择预测装置200的预测结果中具有最大预测传输速率的目标节点500作为邻居节点。
通过使用本发明提供的上述系统和设备,能够通过分类方法预测IP地址段与该IP地址段内下载速率的大致对应关系,使得网络应用程序需要在多个可通讯节点中进行选择时,能够提高选择到带宽最大、连接质量最有保证的节点的可能性,从而降低了应用程序在网络通讯中的盲目性,减小了网络中因通信盲目性造成的负载和消耗。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台节点设备执行本发明各个实施例所述的方法。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (28)
1、一种目标节点速率的预测方法,其特征在于,包括以下步骤:
将IP地址范围进行分类,每一所述类中包括连续的IP地址范围且所述类中的地址对源节点具有相似的传输速率;
根据目标节点的IP地址,获取所述目标节点所属的类,根据所述所属的类预测所述目标节点的传输速率。
2、如权利要求1所述目标节点速率的预测方法,其特征在于,所述对IP地址范围进行分类具体为:
使用机器学习算法,根据所述节点之前获取的远端节点IP地址以及对应的数据下载速率记录,对IP地址范围进行分类。
3、如权利要求2所述目标节点速率的预测方法,其特征在于,所述记录中远端节点IP地址对应的数据下载速率具体为:在多次记录的从所述远端节点IP地址的数据下载速率中,最大的一个数据下载速率。
4、如权利要求2所述目标节点速率的预测方法,其特征在于,所述使用机器学习算法,根据所述节点之前获取的远端节点IP地址以及对应的数据下载速率记录对IP地址范围进行分类具体为:
对所述远端节点IP地址以及对应的数据下载速率记录进行速率评估分类,生成训练样本集和测试样本集;
从一个包括所有所述训练样本的根节点开始进行二分,生成决策树;
裁剪所述决策树得到多个备选分类树;
使用所述测试样本集评估每一所述备选分类树的预测失败率;
输出预测失败率最小的备选分类树,作为对IP地址范围进行预测的分类。
5、如权利要求4所述目标节点速率的预测方法,其特征在于,所述进行速率评估分类,生成训练样本集和测试样本集具体为:
将数据下载速率进行速率分类,每一类包括不同的数据下载速率的范围,且所有类的和覆盖了所有可能的下载速率;
根据分类结果生成样本数据,所述样本数据包括:节点IP地址、以及对应的节点速率分类;
随机选取部分所述样本数据作为测试样本集,其余的样本数据作为训练样本集。
6、如权利要求5所述目标节点速率的预测方法,其特征在于,所述将所述远端节点IP地址划分到不同的速率分类满足:
每个分类中所包括的节点IP地址数量在同一个数量级上;和/或
同一C类地址段的节点IP地址属于同一类。
7、如权利要求4所述目标节点速率的预测方法,其特征在于,所述从一个包括所有训练样本的根节点开始进行二分,生成决策树具体为:
根据预设的二分标准从所述包括所有训练样本的根节点开始不断进行二分;
新分裂出的节点满足分裂停止条件时,停止所述新分裂出的节点的二分;每一新分裂出的节点都满足分裂停止条件时停止二分,得到决策树。
8、如权利要求7所述目标节点速率的预测方法,其特征在于,所述预设的二分标准具体为:
其中,Pt1和Pt2表示两个分裂出的子节点t1和t2中样本数量占父节点t中样本数量的比率,P(j|t1)和P(j|t2)表示两个子节点中j类样本数量占子节点样本数量的比率;分裂时计算所有可能的分裂方式下φ(t)的值,按照使该值最大的那种分裂方式进行分裂;或:
所述预设的二分标准具体为:
Ginisplit(t)=Pt1Gini(t1)+Pt2Gini(t2)
其中
分裂时计算所有可能分裂方式下Ginisplit(t)的值,按照使该值最小的分裂方式进行分裂。
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地址以及对应的数据下载速率记录进行速率评估分类,生成训练样本集和测试样本集;
决策树二分单元,用于对包括所述数据评估分类单元生成的包括训练样本的节点开始二分,生成决策树;
决策树裁剪单元,用于裁剪所述决策树二分单元得到的决策树,得到多个备选分类树;
错误评估单元,用于使用所述数据评估分类单元生成的测试样本集评估所述决策树裁剪单元生成的每一备选分类树的预测失败率;
输出单元,用于获取所述错误评估单元评估得到的预测失败率最小的备选分类树,对IP地址范围进行预测的分类。
26、一种邻居节点的选择设备,应用于网络中的源节点,其特征在于,包括:
分类装置,用于将IP地址范围进行分类,每一所述类中包括连续的IP地址范围且所述类中的地址对所述源节点具有相似的传输速率;
预测装置,用于根据目标节点的IP地址,确定所述目标节点在所述分类装置的分类中所属的类,从而根据所述的类预测所述目标节点的传输速率;
选择装置,用于选择所述预测装置的预测结果中具有最大预测传输速率的目标节点作为邻居节点。
27、一种邻居节点的选择系统,其特征在于,包括:
源节点,用于在本地将IP地址范围按照传输速率进行分类,根据目标节点的IP地址确定所述目标节点在所述分类的分类中所属的类并预测所述目标节点的传输速率;根据所述预测结果选择具有最大预测传输速率的目标节点作为邻居节点;
至少一个目标节点,用于作为所述源节点的备选邻居节点,向所述源节点提供数据下载。
28、如权利要求27所述邻居节点的选择系统,其特征在于,所述源节点具体包括:
分类装置,用于将IP地址范围进行分类,每一所述类中包括连续的IP地址范围且所述类中的地址对所述源节点具有相似的传输速率;
预测装置,用于根据目标节点的IP地址,确定所述目标节点在所述分类装置的分类中所属的类,从而根据所述的类预测所述目标节点的传输速率;
选择装置,用于选择所述预测装置的预测结果中具有最大预测传输速率的目标节点作为邻居节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101958855A CN101453368B (zh) | 2007-12-03 | 2007-12-03 | 一种因特网ip地址分类和带宽预测的方法、系统及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101958855A CN101453368B (zh) | 2007-12-03 | 2007-12-03 | 一种因特网ip地址分类和带宽预测的方法、系统及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101453368A true CN101453368A (zh) | 2009-06-10 |
CN101453368B CN101453368B (zh) | 2012-02-29 |
Family
ID=40735402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101958855A Expired - Fee Related CN101453368B (zh) | 2007-12-03 | 2007-12-03 | 一种因特网ip地址分类和带宽预测的方法、系统及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101453368B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571913A (zh) * | 2010-12-08 | 2012-07-11 | 中国科学院声学研究所 | 一种基于网络传输开销的数据迁移方法 |
CN104778608A (zh) * | 2015-04-13 | 2015-07-15 | 合一信息技术(北京)有限公司 | 一种n+广告投放优化方法 |
CN106210172A (zh) * | 2016-07-25 | 2016-12-07 | 哈尔滨工业大学 | 以太网络数据ip地址高速分类装置 |
CN107147921A (zh) * | 2017-05-23 | 2017-09-08 | 北京网梯科技发展有限公司 | 基于切片与智能cdn调度的视频播放加速方法和设备 |
CN107483223A (zh) * | 2016-06-08 | 2017-12-15 | 阿里巴巴集团控股有限公司 | 网络传输速度的预测方法及装置 |
CN109995676A (zh) * | 2017-12-29 | 2019-07-09 | 宁波方太厨具有限公司 | 一种基于设备通讯协议的智能Qos方法 |
CN111092791A (zh) * | 2019-12-31 | 2020-05-01 | 上海掌门科技有限公司 | 一种确定从应用至服务器的可用网络带宽的方法与设备 |
CN113411205A (zh) * | 2021-05-18 | 2021-09-17 | 郑州埃文计算机科技有限公司 | 一种基于决策树的ip应用场景划分方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100336363C (zh) * | 2002-09-18 | 2007-09-05 | 中兴通讯股份有限公司 | 一种实现聚合链路流量均衡的方法 |
CN100464607C (zh) * | 2003-04-25 | 2009-02-25 | 富士通株式会社 | 用于将选自多个接收装置的接收装置的数据分配给共享信道的发送装置 |
JP2006261935A (ja) * | 2005-03-16 | 2006-09-28 | Nec Corp | パケット伝送方法および装置 |
ATE463917T1 (de) * | 2006-02-21 | 2010-04-15 | Microsoft Corp | Topologieverwaltung in peer-to-peer datenverteilungswolken |
JP4749195B2 (ja) * | 2006-03-28 | 2011-08-17 | 京セラ株式会社 | 通信制御装置、無線通信装置、通信制御方法及び無線通信方法 |
CN100493001C (zh) * | 2007-03-23 | 2009-05-27 | 清华大学 | G比特流率下多粒度的网络自动聚类方法 |
-
2007
- 2007-12-03 CN CN2007101958855A patent/CN101453368B/zh not_active Expired - Fee Related
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571913B (zh) * | 2010-12-08 | 2014-12-10 | 中国科学院声学研究所 | 一种基于网络传输开销的数据迁移方法 |
CN102571913A (zh) * | 2010-12-08 | 2012-07-11 | 中国科学院声学研究所 | 一种基于网络传输开销的数据迁移方法 |
CN104778608A (zh) * | 2015-04-13 | 2015-07-15 | 合一信息技术(北京)有限公司 | 一种n+广告投放优化方法 |
CN107483223A (zh) * | 2016-06-08 | 2017-12-15 | 阿里巴巴集团控股有限公司 | 网络传输速度的预测方法及装置 |
CN106210172B (zh) * | 2016-07-25 | 2019-04-16 | 哈尔滨工业大学 | 以太网络数据ip地址高速分类装置 |
CN106210172A (zh) * | 2016-07-25 | 2016-12-07 | 哈尔滨工业大学 | 以太网络数据ip地址高速分类装置 |
CN107147921A (zh) * | 2017-05-23 | 2017-09-08 | 北京网梯科技发展有限公司 | 基于切片与智能cdn调度的视频播放加速方法和设备 |
CN107147921B (zh) * | 2017-05-23 | 2020-11-03 | 北京网梯科技发展有限公司 | 基于切片与智能cdn调度的视频播放加速方法和设备 |
CN109995676A (zh) * | 2017-12-29 | 2019-07-09 | 宁波方太厨具有限公司 | 一种基于设备通讯协议的智能Qos方法 |
CN109995676B (zh) * | 2017-12-29 | 2021-10-22 | 宁波方太厨具有限公司 | 一种基于设备通讯协议的智能Qos方法 |
CN111092791A (zh) * | 2019-12-31 | 2020-05-01 | 上海掌门科技有限公司 | 一种确定从应用至服务器的可用网络带宽的方法与设备 |
CN111092791B (zh) * | 2019-12-31 | 2023-01-31 | 上海掌门科技有限公司 | 一种确定从应用至服务器的可用网络带宽的方法与设备 |
CN113411205A (zh) * | 2021-05-18 | 2021-09-17 | 郑州埃文计算机科技有限公司 | 一种基于决策树的ip应用场景划分方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101453368B (zh) | 2012-02-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101453368B (zh) | 一种因特网ip地址分类和带宽预测的方法、系统及设备 | |
CN112564974B (zh) | 一种基于深度学习的物联网设备指纹识别方法 | |
Pham et al. | Data clustering using the bees algorithm | |
CN101572623B (zh) | 基于主客观组合评价的网络性能综合评价方法 | |
CN109905497A (zh) | 一种IPv6活跃地址动态发现方法 | |
CN104731954A (zh) | 基于群透视音乐推荐方法与系统 | |
CN104702465B (zh) | 一种并行网络流量分类方法 | |
CN109471847B (zh) | 一种i/o拥塞控制方法及控制系统 | |
WO2008086506A1 (en) | Ranking items by optimizing ranking cost function | |
JP2004157814A (ja) | 決定木生成方法およびモデル構造生成装置 | |
CN101794281A (zh) | 用于对未知词进行语义分类的系统和方法 | |
CN110645988A (zh) | 一种基于最优寿命的无人机路径规划方法 | |
CN103824127B (zh) | 云计算环境下服务的自适应组合优化方法 | |
CN106682225A (zh) | 一种大数据的汇集存储方法与系统 | |
CN101557300A (zh) | 一种网络中的拓扑重构方法、装置及设备 | |
CN107194468A (zh) | 面向情报大数据的决策树增量学习方法 | |
CN111818542B (zh) | 一种基于大数据挖掘的网络重叠覆盖优化方法 | |
CN116681291B (zh) | 一种基于集成模型的风控预测方法及系统 | |
Shavitt et al. | Song clustering using peer-to-peer co-occurrences | |
CN113627541A (zh) | 一种基于样本迁移筛选的光路传输质量预测方法 | |
CN108563720A (zh) | 基于ai的大数据推荐学习系统及推荐方法 | |
Chen et al. | Ensemble methods for solar power forecasting | |
CN116089713A (zh) | 推荐模型训练方法、推荐方法、装置及计算机设备 | |
CN116011331A (zh) | 一种基于物联网的灌溉决策方法及装置 | |
CN115631057A (zh) | 一种基于图神经网络的社交用户分类方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120229 Termination date: 20191203 |