网络状态预测方法、装置、设备及介质与流程

文档序号:19123990发布日期:2019-11-13 01:56阅读:150来源:国知局
网络状态预测方法、装置、设备及介质与流程

本发明涉及通信技术领域,尤其涉及一种网络状态预测方法、装置、设备及介质。



背景技术:

起初,基于tcp/ip的网络传输协议组是为固定网络和网络互连而设计,在移动互联网快速发展的环境下,未来的5g将会面临ar/vr、超高清视频、物联网、车联网等各种应用,加之网络安全的紧迫性越发凸显,tcp/ip协议组难以适应未来,随着数据量、网络中传送分组的数目增加,很容易出现网络拥塞的问题,成为了制约5g应用场景落地的瓶颈。

tcp传输协议通常采用接收确认的方法来保证网络数据包的可靠传输,即:如果收到数据包,则发送ack信号(确认字符)给发送端以确认收到包,如果发送端未收到ack信号,则重发包。即使是优化较好的bbr协议,也需要确认网络环境变差以后才作出相应的对策。

现有的优化方法通常采用被动补偿功能,即当确认网络传输参数(如延时、丢包、带宽等)变差到一定程度后,才进行补偿。

因此,出现了根据预测网络状态进行主动补偿的方法,预测模型通常采用单一函数进行丢包或者延时的判断,对于复杂的网络情况,预测模型不准确,且需要大量数据完成预测模型的建立,无法快速建立预测模型。



技术实现要素:

为了克服现有技术的不足,本发明的目的之一在于提供一种网络状态预测方法,其通过集成学习的方法建立每一个网络参数的预测模型,利用各网络参数的预测结果综合评估网络状况,进而得到较准确的预测模型。

本发明的目的之一采用以下技术方案实现:

一种网络状态预测方法,包括以下步骤:

接收数据包,并匹配发送所述数据包的链路;

解析所述数据包,提取数据包的特征信息作为样本,所述特征信息为网络参数;

根据样本组成数据集,利用数据集对集成学习模型进行训练;

根据训练结果生成对应链路的网络状态预测模型;

根据所述预测模型匹配发包策略。

进一步地,所述的网络参数包括丢包、网络延时及带宽,每一个所述网络参数对应一个预测模型。

进一步地,根据ip和端口匹配所述数据包对应的链路。

进一步地,根据样本组成数据集,利用数据集对集成学习模型进行训练;包括以下步骤:

将数据集划分为训练集及验证集;

对所述的训练集输入至集成学习模型进行集成学习训练,得到初始模型;

根据所述初始预测模型,输入所述验证集进行验证:

当验证准确率大于或等于预设阈值时,则所述初始模型即为预测模型;

当验证准确率小于预设阈值时,增加数据集继续进行集成学习训练,直至验证准确率大于或等于预设阈值。

进一步地,利用所述的训练集对集成学习模型进行训练,得到训练结果,还包括以下步骤:

将所述训练集划分为预设数量的训练子集;

对训练子集进行训练,根据基尼指数最小化准则生成预设数量的cart决策树,每一个cart决策树作为一个基分类器;

对每个基分类器的预测结果进行投票,得到集成分类器,所述集成分类器为训练结果。

进一步地,根据训练结果生成对应链路的网络状态预测模型,所述预测模型为每一个所述网络参数的预测模型之后,还包括以下步骤:

根据链路定时存储接收的数据包;

根据所述的数据包进行集成学习训练;

根据训练结果更新所述的预测模型。

进一步地,根据所述预测模型匹配发包策略,包括以下步骤:

解析链路当前数据包的网络参数并匹配预测模型,得到网络参数的预测结果;

根据所述的预测结果匹配发包策略:

当网络参数高于或等于预设值时,采取补偿发包策略;

当网络参数低于预设值时,正常发送数据包。

本发明的目的之二在于提供一种网络状态预测装置,其通过集成学习的方法建立网络参数的预测模型,利用各网络参数的预测结果综合评估网络状况,进而得到较准确的预测模型。

本发明的目的之二采用以下技术方案实现:

一种网络状态预测装置,其包括:

数据获取模块,用于接收数据包,并匹配发送所述数据包的链路;

特征提取模块,用于解析所述数据包,提取数据包的特征信息作为样本,所述特征信息为网络参数;

模型构建模块,用于根据样本组成数据集,使用集成学习法对数据集进行训练;并根据训练结果生成对应链路的网络状态预测模型;

发送模块,用于根据所述预测模型匹配发包策略。

本发明的目的之三在于提供执行发明目的之一的电子设备,其包括处理器、存储介质以及计算机程序,所述计算机程序存储于存储介质中,所述计算机程序被处理器执行时实现上述的网络状态预测方法。

本发明的目的之四在于提供存储发明目的之一的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的网络状态预测方法。

相比现有技术,本发明的有益效果在于:

本发明通过集成学习的方法得到网络状态的预测模型,预测结果准确,集成学习算法无需大量的训练数据,训练速度快。

附图说明

图1是实施例一的网络状态预测方法的流程图;

图2是实施例一的集成学习训练的流程图;

图3是实施例一的发包过程的流程图;

图4是实施例二的cart树训练方法的流程图;

图5是实施例三的预测模型更新方法的流程图;

图6是实施例四的网络状态预测装置的结构框图;

图7是实施例五的电子设备的结构框图。

具体实施方式

以下将结合附图,对本发明进行更为详细的描述,需要说明的是,以下参照附图对本发明进行的描述仅是示意性的,而非限制性的。各个不同实施例之间可以进行相互组合,以构成未在以下描述中示出的其他实施例。

实施例一

实施例一提供了一种网络状态预测方法,旨在通过对数据包进行数据采集,并进行训练,进而得到与链路相对应的网络状态预测模型,通过这种方式,能够预测到网络即将拥塞,并作出相应的发包策略。

集成学习法属于机器学习的一种,其通过将几种机器学习算法组合成一个预测模型的元算法,以达到减小方差、偏差或改进预测的效果,且在各个规模的数据集上都有很好的策略,数据集大时,可以通过划分成多个小训练集,学习多个模型进行组合;数据集小时,可以利用bootstrap(自助法)的方法进行抽样,得到多个训练集,分别训练多个模型再进行组合。

根据上述原理,根据特征信息(网络参数)得到训练集,通过训练集进行集成学习训练,从而得到网络状态的预测模型,发包时,根据预测情况采取相应的发包策略。

请参照图1所示,一种网络状态预测方法,包括以下步骤:

s110、接收数据包,并匹配发送所述数据包的链路;

通常,根据ip和端口匹配所述数据包对应的链路,由于发包通常是由服务端发送给客户端,所以只要匹配客户端的端口和ip就可以使得客户端与接收到的数据包相对应。

s120、解析所述数据包,提取数据包的特征信息作为样本,所述特征信息为网络参数;

具体地,网络参数包括但不限于丢包、网络延时及带宽,根据需求可以增加收集的网络参数,例如发包速率,发包大小等与网络传输相关的网络参数。

s130、根据样本组成数据集,利用数据集对集成学习模型进行训练;

训练时,每一个网络参数训练的数据集是相同的,只是输出的预测结果不同,例如同一数据集训练后得到延时预测结果、丢包预测结果及有效带宽预测结果。

请参照图2所示,集成学习训练过程通常包括以下步骤:

s1301、将数据集划分为训练集及验证集;

优选地,当数据集较大时,根据预设比例进行训练集和验证集的划分,例如以8:2的比例划分训练集和验证集;数据集较小时,通过bootstrap(自助法)的方法进行抽样,即在原样本中有放回的抽样,重复抽样n次,n为预设次数(预设训练集数量),由于bootstrap方法总有未被抽到的数据,因此,将未被抽到的数据作为验证集;数据集大小的判断可以通过设定预设数据量阈值进行判断,高于或等于阈值则根据比例划分训练集和验证集,低于阈值则通过bootstrap(自助法)的方法进行抽样;但是并不限于此训练集和验证集的划分方式,例如,可以全部使用bootstrap方法进行训练集的获取,并将未抽到的数据作为验证集。

s1302、对所述的训练集输入至集成学习模型进行集成学习训练,得到初始模型;

这里对于集成学习的方法不做具体限定,可以是多种机器学习方法结合,每一个方法得到一个基分类器,通过对每个基分类器的预测结果进行投票来进行分类;也可以每个基分类器都通过一种机器学习方法获得;只要是能得到集成分类器的集成学习方法都可以获得需要的训练结果。

s1303、根据所述初始预测模型,输入所述验证集进行验证:

当验证准确率大于或等于预设阈值时,则所述初始模型即为预测模型;

当验证准确率小于预设阈值时,增加数据集继续进行集成学习训练,直至验证准确率大于或等于预设阈值。

预设阈值根据需求进行设定,预设阈值越高,则预测模型的准确性越高。

s140、根据训练结果生成对应链路的网络状态预测模型;

优选地,每一个所述网络参数对应一个预测模型,这样对比只有单一参数的预测模型,例如只有丢包的预测模型,无法感知延时,造成误判;每一个网络参数对应一个预测模型可以减少误判率,例如丢包、延时、有效带宽的预测模型,使网络状态的预测更准确。

s150、根据所述预测模型匹配发包策略。

请参照图3所示,根据所述预测模型匹配发包策略,包括以下步骤:

s1501、解析链路当前数据包的网络参数并匹配预测模型,得到网络参数的预测结果;

s1502、根据所述的预测结果匹配发包策略:

当网络参数高于或等于预设值时,采取补偿发包策略;

当网络参数低于预设值时,正常发送数据包。

网络参数为与预测模型对应的网络参数,预设值为预设判断为网络拥塞的网络参数值,预设值与网络参数相对应,根据不同参数的预测结果可以采用不同的发包策略,例如,对于预测延时高的ip和端口,采取延时补偿策略。对于预测将发生丢包的ip和端口,采取丢包补偿策略。

请参照表1.1所示,分别采用现有技术与本方法进行测试,根据本方法得到的预测模型进行发包,在低丢包率下能够减少平均延时11ms,高丢包率下减少30ms,降幅8.5%-19.7%,有效降低了延时。

表1.1

请参照表1.2所示,分别采用现有技术与本方法进行测试,根据本方法的预测模型进行发包,能将丢包率从3.15%降到1.32%,5.06%降到1.06%,7.0%降到2.25%,10.9%降到2.0%,有效降低了丢包率。

表1.2

实施例二

实施例二是在实施例一基础上进行的改进,其主要对一种集成学习的训练方法进行解释和说明。

基分类器通过多种学习方法进行获取,例如提升树、cart树、深度学习等,每一种学习方法虽然学习策略有所不同,但是对于集成学习,每一种方法得到一个基分类器,训练时并不互相影响,都可以用于本发明;本实施例以cart树为例。

cart树全名是分类与回归树,可用于分类或回归,是二叉树,根据是否满足某个条件将集合不断二分。其中心思想是找到最优切分特征和最优切分点,在分类问题中用基尼指数最小化作为依据,基尼指数最小的特征以及对应的切分点作为最优特征与最优切分点。

基尼系数,又叫基尼不纯度,表示样本集合中被随机选中的一个样本被错误分类的概率,值越小表示被分错的概率越小,基尼指数=被选中的概率*被分错的概率,如下公式中,pk表示选中的样本属于k类别的概率,则这个样本被分错的概率是(1-pk)。

根据上述cart决策树的原理,请参照图4所示,对所述的训练集进行集成学习训练,得到训练结果,还包括以下步骤:

s210、将所述训练集划分为预设数量的训练子集;

s220、对训练子集进行训练,根据基尼指数最小化准则生成预设数量的cart决策树,每一个cart决策树作为一个基分类器;

s230、对每个基分类器的预测结果进行投票,得到集成分类器,所述集成分类器为训练结果。

具体地,cart树模型,采用基尼指数最小化准则,进行特征选择,生成二叉树。对于训练集,假设有k个类,样本点属于第k类的概率为pk,则概率分布的基尼指数定义为:

对于给定的样本集合d,其基尼指数为:

其中,ck是d中属于第k类的样本子集,k是类的个数。本实施例中,以丢包为例,基尼系数中的k为预测结果的种类,即丢包和不丢包(计算中k=2)。

如果样本集合d根据特征a是否取某一个可能值a被分割成d1和d2两部分,即:

d1={(x,y)∈d|a(x)=a},d2=d-d1(3)

则在该特征a的条件下,集合d的基尼指数定义为:

根据训练数据集,从根节点开始,递归地对每个节点进行以下操作,构建二叉决策树,步骤如下:

1)设节点的数据集为d,计算现有特征对该数据集的基尼指数,此时,对每一个特征a,对其可能取的每个值a,根据样本点对a=a的测试为“是”或“否”将d分割成d1和d2两部分,利用式(4)计算a=a时的基尼指数。

2)在所有可能的特征a以及它们所有可能的切分点a中,选择基尼指数最小的特征以及对应的切分点作为最优特征与最优切分点。依最优特征与最优切分点,从现节点生成两个子节点,将训练数据集依特征分配到两个子节点中去。

3)对两个子节点递归调用1)、2),直至满足停止条件。

4)生成cart决策树。

算法停止计算的条件:样本集的基尼指数小于预设阈值,或者节点中的样本个数小于预设阈值(样本基本属于同一类),或者没有更多的特征。

实施例三

实施例三是在实施例一或/和实施例二的基础上进行的,旨在通过定时获取数据包进行训练,进而达到更新预测模型的目的。

由于网络情况比较复杂,其延时、丢包等网络参数变化较快,所以一个固定的预测模型通常没法满足复杂的网络环境。

请参照图5所示,根据训练结果生成对应链路的网络状态预测模型,所述预测模型为每一个所述网络参数的预测模型之后,还包括以下步骤:

s310、根据链路定时存储接收的数据包;

具体地,可以根据实际网络情况进预设时间的设定,例如网络波动较大则设定间隔较短的时间进行数据包的获取,网络较稳定的链路则设定间隔较长的时间进行数据包的获取。

s320、根据所述的数据包进行集成学习训练;

具体训练过程参照实施例一或实施例二。

s330、根据训练结果更新所述的预测模型。

本实施例通过定时获取链路的数据包,并进行集成学习训练,进而达到更新预测模型的效果,提高了预测的准确性。

实施例四

实施例四公开了一种对应上述实施例的网络状态预测方法对应的装置,为上述实施例的虚拟装置结构,请参照图6所示,包括:

数据获取模块410,用于接收数据包,并匹配发送所述数据包的链路;

特征提取模块420,用于解析所述数据包,提取数据包的特征信息作为样本,所述特征信息为网络参数;

模型构建模块430,用于根据样本组成数据集,使用集成学习法对数据集进行训练;并根据训练结果生成对应链路的网络状态预测模型;

发送模块440,用于根据所述预测模型匹配发包策略。

优选地,所述的网络参数包括丢包、网络延时及带宽,所述的预测模型为每一个所述网络参数的预测模型;根据ip和端口匹配所述数据包对应的链路。

优选地,根据样本组成数据集,使用集成学习法对数据集进行训练;包括以下步骤:

将数据集划分为训练集及验证集;

对所述的训练集输入至集成学习模型进行集成学习训练,得到初始模型;

根据所述初始预测模型,输入所述验证集进行验证:

当验证准确率大于或等于预设阈值时,则所述初始模型即为预测模型;

当验证准确率小于预设阈值时,增加数据集继续进行集成学习训练,直至验证准确率大于或等于预设阈值。

优选地,根据训练结果生成对应链路的网络状态预测模型,所述预测模型为每一个所述网络参数的预测模型之后,还包括以下步骤:

根据链路定时存储接收的数据包;

根据所述的数据包进行集成学习训练;

根据训练结果更新所述的预测模型。

优选地,根据所述预测模型匹配发包策略,包括以下步骤:

解析链路当前数据包的网络参数并匹配预测模型,得到网络参数的预测结果;

根据所述的预测结果匹配发包策略:

当网络参数高于预设值时,采取补偿发包策略;

当网络参数低于预设值时,正常发送数据包。

实施例五

图7为本发明实施例五提供的一种电子设备的结构示意图,如图7所示,该电子设备包括处理器510、存储器520、输入装置530和输出装置540;计算机设备中处理器510的数量可以是一个或多个,图7中以一个处理器510为例;电子设备中的处理器510、存储器520、输入装置530和输出装置540可以通过总线或其他方式连接,图7中以通过总线连接为例。

存储器520作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的网络状态预测方法对应的程序指令/模块(例如,网络状态预测方法装置中的数据获取模块410、特征提取模块420、模型构建模块430和发送模块440)。处理器510通过运行存储在存储器520中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述实施例一至实施例四的网络状态预测方法。

存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器520可进一步包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置530可用于接收输入的用户身份信息、数据包等。输出装置540可包括显示屏等显示设备。

实施例六

本发明实施例六还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行网络状态预测方法,该方法包括:

接收数据包,并匹配发送所述数据包的链路;

解析所述数据包,提取数据包的特征信息作为样本,所述特征信息为网络参数;

根据样本组成数据集,利用数据集对集成学习模型进行训练;

根据训练结果生成对应链路的网络状态预测模型,所述预测模型为每一个所述网络参数的预测模型;

根据所述预测模型匹配发包策略。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的基于网络状态预测方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台电子设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

值得注意的是,上述基于网络状态预测装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1