一种终端网络性能探测方法及系统与流程

文档序号:16198861发布日期:2018-12-08 06:24阅读:153来源:国知局
一种终端网络性能探测方法及系统与流程

本发明涉及网络性能探测技术领域,更具体的说,涉及一种终端网络性能探测方法及系统。

背景技术

目前,常用的网络性能探测方法是:在待检测网络设备端搭建web(worldwideweb,全球广域网服务)服务,使待检测网络设备端可以作为服务器,通过该web服务接收终端周期性发送的探测请求,也即应用层socket数据包,并对该探测请求进行响应,从而实现网络性能探测。在实际应用中,不同的终端网络性能探测方案使用的具体方法不一样,如pathload探测网络带宽的方案是:终端周期性的向待检测网络设备端发送探测请求,待检测网络设备端依据探测请求数据包经过的网络路径,对自身和终端之间信道的网络带宽估计值进行估计,并将带宽估计结果通过响应数据包发送到终端。

然而,现有的探测方法需要在待检测网络设备端搭建web服务,以使待检测网络设备端提供探测服务;对于采用不断增加发包频率直到rtt(round-triptime,往返时延)值或者丢包率超过某种阈值的压力测试方案,会增加终端侧网络设备的负载,并对终端上其他依赖网络应用的功能产生影响。



技术实现要素:

有鉴于此,本发明公开一种终端网络性能探测方法及系统,以解决传统方案中存在的种种问题。

一种终端网络性能探测方法,应用于终端,所述探测方法包括:

启动探测线程,向待检测网络设备以预设固定频率发送预设固定长度的探测数据包,所述预设固定长度为能够保证所述探测数据包在传输过程中不会被拆包的最大长度;

记录每个所述探测数据包探测的往返时延时间;

判断所述往返时延时间是否不超过设定超时时间;

若所述往返时延时间不超过所述设定超时时间,则判定本次探测为一次有效探测;

记录向所述待检测网络设备连续发送n次所述探测数据包,累计的有效探测次数m,n和m均为正整数,且m≤n;

基于向所述待检测网络设备连续发送所述探测数据包的次数n以及所述有效探测次数m,得到所述终端和所述待检测网络设备之间信道的丢包率;

基于所述有效探测次数m、所述预设固定长度以及所述往返时延时间,得到所述信道的网络带宽估计值。

优选的,所述基于向所述待检测网络设备连续发送所述探测数据包的次数n以及所述有效探测次数m,得到所述终端和所述待检测网络设备之间信道的丢包率,具体包括:

根据公式(1)计算得到所述终端和所述待检测网络设备之间信道的丢包率ploss;

优选的,所述基于所述有效探测次数m、所述预设固定长度以及所述往返时延时间,得到所述信道的网络带宽估计值,具体包括:

根据公式(2)计算得到所述信道的网络带宽估计值bwest;

式中,plength为所述预设固定长度,trtt(i)为第i次探测的所述探测数据包的往返时延时间。

优选的,所述探测数据包包括:icmp数据包,所述预设固定长度为1472字节。

优选的,还包括:

若所述往返时延时间超过所述设定超时时间,则判定本次探测为一次无效探测;

继续发送无效探测相对应的探测数据包的下一个探测数据包。

优选的,还包括:

将所述丢包率ploss和所述网络带宽估计值bwest发送至后台进行量化分析,使所述后台在判定所述丢包率ploss高于丢包率阈值和/或所述网络带宽估计值bwest低于网络带宽估计值阈值时进行告警。

一种终端网络性能探测系统,应用于终端,所述探测系统包括:

第一发送单元,用于启动探测线程,向待检测网络设备以预设固定频率发送预设固定长度的探测数据包,所述预设固定长度为能够保证所述探测数据包在传输过程中不会被拆包的最大长度;

第一记录单元,用于记录每个所述探测数据包探测的往返时延时间;

判断单元,用于判断所述往返时延时间是否不超过设定超时时间;

第一判定单元,用于在所述判断单元判断为是的情况下,判定本次探测为一次有效探测;

第二记录单元,用于记录向所述待检测网络设备连续发送n次所述探测数据包,累计的有效探测次数m,n和m均为正整数,且m≤n;

丢包率获取单元,用于基于向所述待检测网络设备连续发送所述探测数据包的次数n以及所述有效探测次数m,得到所述终端和所述待检测网络设备之间信道的丢包率;

网络带宽估计值获取单元,用于基于所述有效探测次数m、所述预设固定长度以及所述往返时延时间,得到所述信道的网络带宽估计值。

优选的,所述丢包率获取单元包括:

第一计算子单元,用于根据公式(1)计算得到所述终端和所述待检测网络设备之间信道的丢包率ploss;

优选的,所述网络带宽估计值获取单元包括:

第二计算子单元,用于根据公式(2)计算得到所述信道的网络带宽估计值bwest;

式中,plength为所述预设固定长度,trtt(i)为第i次探测的所述探测数据包的往返时延时间。

优选的,所述探测数据包包括:icmp数据包,所述预设固定长度为1472字节。

优选的,还包括:第二判定单元,用于在所述判断单元判断为否的情况下,判定本次探测为一次无效探测;

继续发送单元,用于在所述第二判定单元判定本次探测为一次无效探测之后,继续发送无效探测相对应的探测数据包的下一个探测数据包。

优选的,还包括:第二发送单元,用于将所述丢包率ploss和所述网络带宽估计值bwest发送至后台进行量化分析,使所述后台在判定所述丢包率ploss高于丢包率阈值和/或所述网络带宽估计值bwest低于网络带宽估计值阈值时进行告警。

从上述的技术方案可知,本发明公开的终端网络性能探测方法及系统,终端向待检测网络设备以预设固定频率发送预设固定长度的探测数据包,并通过计算每个探测数据包每次探测的往返时间,来得到终端和待检测网络设备之间信道的丢包率和网络带宽估计值,实现对终端网络性能探测。相比传统方案而言,本发明无需在待检测网络设备端搭建web服务,并且,由于本发明中的发包频率是固定的,因此有效解决了传统方案中,因采用不断增加发包频率直到rtt值或者丢包率超过某种阈值的压力测试方案,而导致终端侧网络设备负载的增加,以及对终端上其他依赖网络应用的功能产生影响的问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据公开的附图获得其他的附图。

图1为本发明实施例公开的一种终端网络性能探测方法的流程图;

图2为本发明实施例公开的另一种终端网络性能探测方法的流程图;

图3为本发明实施例公开的一种终端网络性能探测系统的结构示意图;

图4为本发明实施例公开的另一种终端网络性能探测系统的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种终端网络性能探测方法及系统,以解决传统方案中存在的种种问题。

参见图1,本发明实施例公开的一种终端网络性能探测方法的流程图,该方法应用于终端,该方法包括步骤:

步骤s101、启动探测线程,向待检测网络设备以预设固定频率发送预设固定长度的探测数据包;

终端启动探测线程,向待检测网络设备以预设固定频率发送预设固定长度的探测数据包的过程,一般是终端上的一个应用程序采用独立的线程,向待检测网络设备以预设固定频率发送预设固定长度的探测数据包。

相对于现有方案中终端向待检测网络设备端发送应用层socket数据包而言,本发明中,终端向待检测网络设备端发送的是ip数据包,而ip数据包的负载为icmp(internetcontrolmessageprotocol)数据包,icmp是internet控制报文协议,它是tcp/ip协议族的一个子协议,用于在ip主机、路由器之间传递控制消息。因此,在实际应用中,终端启动探测线程,向待检测网络设备以预设固定频率发送预设固定长度的探测数据包为icmp数据包。

由于以太网和tcp(transmissioncontrolprotocol传输控制协议)/ip协议规定了单个ip包的最大包长为1500字节,对于超过1500字节的数据包,网络设备会将该数据包拆分成单个ip数据包不超过1500字节的多个数据包。因此,本发明对所发送的探测数据包的长度进行了限定,本步骤中所述的预设固定长度为能够保证探测数据包在传输过程中不会被拆包的最大长度。探测数据包不会被拆包的条件是:ip数据包包括包头和负载数据长度不超过1500字节,由于本探测方法采用icmp数据包作为网络请求,因此ip包头占20个字节,icmp包头占8个字节,负载数据长度不超过1500-20-8=1472字节的情况下才不会出现“拆包”的情况,因此,本发明中选择的最大icmp数据包最大负载长度为1472字节,也即,当探测数据包为icmp数据包时,所述预设固定长度为1472字节。

步骤s102、记录每个所述探测数据包探测的往返时延时间;

在实际应用中,可以将每个探测数据探测的往返时延时间,也即将第i次探测数据包探测的往返时延时间记录为trtt(i)。

本步骤中所述的往返时延时间指的是:从终端探测程序发出探测数据包开始到该探测程序接收到应答的数据包为止的总耗时。

步骤s103、判断所述往返时延时间是否不超过设定超时时间,如果是,则执行步骤s104;

需要特别说明的是,本步骤中的设定超时时间ttimeout以及步骤s101中的预设固定频率fs均为经验值,需要根据实际的探测结果进行调整。

目前采用的依据实际探测结果对参数进行调整方案是:采用人工探测进行,比如如果丢包率显著高于使用ping命令得到的丢包率结果,说明本次发送频率(即预设固定频率fs)偏高或者超时时间过短,此时可以适当降低发送频率或者增加超时时间,如果之前为每2秒发送1个数据包,修改为每2.5秒发送1个数据包,之前的超时时间为200ms,修改新的超时时间为500ms。后续的设计方案是利用机器学习的思想,对发送频率和超时时间参数进行自动化的训练,得到一个网络带宽评估结果最理想,也即网络带宽评估结果更接近于实际的发送频率和超时时间参数。

发明人分别在windowspc,osxpc,android和ios平台上验证发现,当预设固定频率fs=0.4hz,设定超时时间ttimeout=500ms时,对网络带宽的评估结果最理想。

因此,较优的,本发明中,预设固定频率fs=0.4hz,设定超时时间ttimeout=500ms。

步骤s104、判定本次探测为一次有效探测;

也就是说,当往返时延时间trtt(i)≤ttimeout时,判定第i次探测为有效探测。

步骤s105、记录向所述待检测网络设备连续发送n次所述探测数据包,累计的有效探测次数m,n和m均为正整数,且m≤n;

步骤s106、基于向待检测网络设备连续发送探测数据包的次数n以及有效探测次数m,得到终端和待检测网络设备之间信道的丢包率;

具体的,根据公式(1)计算得到所述终端和所述待检测网络设备之间信道的丢包率ploss;

步骤s107、基于有效探测次数m、预设固定长度以及往返时延时间,得到信道的网络带宽估计值。

具体的,根据公式(2)计算得到所述信道的网络带宽估计值bwest;

式中,plength为所述预设固定长度,trtt(i)为第i次探测的所述探测数据包的往返时延时间。

需要说明的是,根据丢包率和网络带宽估计值即可实现对终端网络性能的探测。

综上可知,本发明公开的终端网络性能探测方法,终端向待检测网络设备以预设固定频率发送预设固定长度的探测数据包,并通过计算每个探测数据包每次探测的往返时间,来得到终端和待检测网络设备之间信道的丢包率和网络带宽估计值,实现对终端网络性能探测。相比传统方案而言,本发明无需在待检测网络设备端搭建web服务,并且,由于本发明中的发包频率是固定的,因此有效解决了传统方案中,因采用不断增加发包频率直到rtt值或者丢包率超过某种阈值的压力测试方案,而导致终端侧网络设备负载的增加,以及对终端上其他依赖网络应用的功能产生影响的问题。

另外,需要特别说明的是,传统的终端网络性能探测方法,运营平台为节省流量成本,一般会使用p2p(peertopeer,对等网络)技术进行内容数据的加载和上传,在使用p2p技术加载时,终端获取数据的来源不一定是待检测网络设备,可能是另一个终端上传的数据,亦可能是从探测服务器加载的数据,因此,使得终端和待检测网络设备端通信过程中可能受到p2p技术对网络性能探测准确性的影响。

而本发明在整个探测过程中,未使用p2p协议,因此探测过程不受p2p技术对网络性能探测的影响。

需要说明的是,当终端根据公式(1)计算得到丢包率ploss和根据公式(2)计算得到网络带宽估计值bwest之后,终端可以采用pingback(自动引用通知)的方式将丢包率ploss和网络带宽bwest发送到后台进行量化分析。

量化分析指的是:后台对终端计算得到的丢包率ploss和网络带宽估计值bwest以可视化的形式进行显示,并在丢包率ploss高于丢包率阈值和/或网络带宽估计值bwest低于网络带宽估计值阈值时进行告警;同时,量化分析的过程还实现了对实际网络运行情况的监测,而这也是对丢包率ploss和网络带宽估计值bwest进行量化分析的目的。

为进一步优化上述实施例,参见图2,本发明另一实施例公开的一种终端网络性能探测方法的流程图,在图1所示实施例的基础上,在步骤s103之后,还可以包括步骤:

步骤s108、若所述往返时延时间超过所述设定超时时间,则判定本次探测为一次无效探测。

为进一步优化上述实施例,在步骤s108之后,还可以包括步骤:

步骤s109、继续发送无效探测相对应的探测数据包的下一个探测数据包。

需要说明的是,终端每次发送的探测数据包的内容都是相同的,由于终端发送探测数据包的总次数是一定的,比如n次,而无效数据包的发送是占用探测数据包发送次数的,因此,当某次探测数据包的发送过程为无效探测,则继续发送无效探测相对应的探测数据包的下一个探测数据包。

综上可知,本发明公开的终端网络性能探测方法,终端向待检测网络设备以预设固定频率发送预设固定长度的探测数据包,并通过计算每个探测数据包每次探测的往返时间,来得到终端和待检测网络设备之间信道的丢包率和网络带宽估计值,实现对终端网络性能探测。相比传统方案而言,本发明无需在待检测网络设备端搭建web服务,并且,由于本发明中的发包频率是固定的,因此有效解决了传统方案中,因采用不断增加发包频率直到rtt值或者丢包率超过某种阈值的压力测试方案,而导致终端侧网络设备负载的增加,以及对终端上其他依赖网络应用的功能产生影响的问题。

与上述方法实施例相对应,本发明还公开了一种终端网络性能探测系统。

参见图3,本发明一实施例公开的一种终端网络性能探测系统的结构示意图,该系统应用于终端,该系统包括:

第一发送单元301,用于启动探测线程,向待检测网络设备以预设固定频率发送预设固定长度的探测数据包,所述预设固定长度为能够保证所述探测数据包在传输过程中不会被拆包的最大长度;

终端启动探测线程,向待检测网络设备以预设固定频率发送预设固定长度的探测数据包的过程,一般是终端上的一个应用程序采用独立的线程,向待检测网络设备以预设固定频率发送预设固定长度的探测数据包。

相对于现有方案中终端向待检测网络设备端发送应用层socket数据包而言,本发明中,终端向待检测网络设备端发送的是ip数据包,而ip数据包的负载为icmp(internetcontrolmessageprotocol)数据包,icmp是internet控制报文协议,它是tcp/ip协议族的一个子协议,用于在ip主机、路由器之间传递控制消息。因此,在实际应用中,终端启动探测线程,向待检测网络设备以预设固定频率发送预设固定长度的探测数据包为icmp数据包。

由于以太网和tcp(transmissioncontrolprotocol传输控制协议)/ip协议规定了单个ip包的最大包长为1500字节,对于超过1500字节的数据包,网络设备会将该数据包拆分成单个ip数据包不超过1500字节的多个数据包。因此,本发明对所发送的探测数据包的长度进行了限定,本步骤中所述的预设固定长度为能够保证探测数据包在传输过程中不会被拆包的最大长度。探测数据包不会被拆包的条件是:ip数据包包括包头和负载数据长度不超过1500字节,由于本探测方法采用icmp数据包作为网络请求,因此ip包头占20个字节,icmp包头占8个字节,负载数据长度不超过1500-20-8=1472字节的情况下才不会出现“拆包”的情况,因此,本发明中选择的最大icmp数据包最大负载长度为1472字节,也即,当探测数据包为icmp数据包时,所述预设固定长度为1472字节。

第一记录单元302,用于记录每个所述探测数据包探测的往返时延时间;

在实际应用中,可以将每个探测数据探测的往返时延时间,也即将第i次探测数据包探测的往返时延时间记录为trtt(i)。

本实施例中所述的往返时延时间指的是:从终端探测程序发出探测数据包开始到该探测程序接收到应答的数据包为止的总耗时。

判断单元303,用于判断所述往返时延时间是否不超过设定超时时间;

需要特别说明的是,设定超时时间ttimeout以及上述的预设固定频率fs均为经验值,需要根据实际的探测结果进行调整。

目前采用的依据实际探测结果对参数进行调整方案是:采用人工探测进行,比如如果丢包率显著高于使用ping命令得到的丢包率结果,说明本次发送频率(即预设固定频率fs)偏高或者超时时间过短,此时可以适当降低发送频率或者增加超时时间,如果之前为每2秒发送1个数据包,修改为每2.5秒发送1个数据包,之前的超时时间为200ms,修改新的超时时间为500ms。后续的设计方案是利用机器学习的思想,对发送频率和超时时间参数进行自动化的训练,得到一个网络带宽评估结果最理想的发送频率和超时时间参数。

发明人分别在windowspc,osxpc,android和ios平台上验证发现,当预设固定频率fs=0.4hz,设定超时时间ttimeout=500ms时,对网络带宽的评估结果最理想。

因此,较优的,本发明中,预设固定频率fs=0.4hz,设定超时时间ttimeout=500ms。

第一判定单元304,用于在所述判断单元303判断为是的情况下,判定本次探测为一次有效探测;

第二记录单元305,用于记录向所述待检测网络设备连续发送n次所述探测数据包,累计的有效探测次数m,n和m均为正整数,且m≤n;

丢包率获取单元306,用于基于向所述待检测网络设备连续发送所述探测数据包的次数n以及所述有效探测次数m,得到所述终端和所述待检测网络设备之间信道的丢包率;

具体的,丢包率获取单元306包括:第一计算子单元;

第一计算子单元,用于根据公式(1)计算得到所述终端和所述待检测网络设备之间信道的丢包率ploss;

网络带宽估计值获取单元307,用于基于所述有效探测次数m、所述预设固定长度以及所述往返时延时间,得到所述信道的网络带宽估计值。

具体的,网络带宽估计值获取单元307包括:第二计算子单元;

第二计算子单元,用于根据公式(2)计算得到所述信道的网络带宽估计值bwest;

式中,plength为所述预设固定长度,trtt(i)为第i次探测的所述探测数据包的往返时延时间。

需要说明的是,根据丢包率和网络带宽估计值即可实现对终端网络性能的探测。

综上可知,本发明公开的终端网络性能探测系统,终端向待检测网络设备以预设固定频率发送预设固定长度的探测数据包,并通过计算每个探测数据包每次探测的往返时间,来得到终端和待检测网络设备之间信道的丢包率和网络带宽估计值,实现对终端网络性能探测。相比传统方案而言,本发明无需在待检测网络设备端搭建web服务,并且,由于本发明中的发包频率是固定的,因此有效解决了传统方案中,因采用不断增加发包频率直到rtt值或者丢包率超过某种阈值的压力测试方案,而导致终端侧网络设备负载的增加,以及对终端上其他依赖网络应用的功能产生影响的问题。

另外,需要特别说明的是,传统的终端网络性能探测方法,运营平台为节省流量成本,一般会使用p2p(peertopeer,对等网络)技术进行内容数据的加载和上传,在使用p2p技术加载时,终端获取数据的来源不一定是待检测网络设备,可能是另一个终端上传的数据,亦可能是从探测服务器加载的数据,因此,使得终端和待检测网络设备端通信过程中可能受到p2p技术对网络性能探测准确性的影响。

而本发明在整个探测过程中,未使用p2p协议,因此探测过程不受p2p技术对网络性能探测的影响。

需要说明的是,当终端根据公式(1)计算得到丢包率ploss和根据公式(2)计算得到网络带宽估计值bwest之后,终端可以采用pingback(自动引用通知)的方式将丢包率ploss和网络带宽bwest发送到后台进行量化分析。

因此,终端网络性能探测系统还可以包括:

第二发送单元,用于将所述丢包率ploss和所述网络带宽估计值bwest发送至后台进行量化分析,使所述后台在判定所述丢包率ploss高于丢包率阈值和/或所述网络带宽估计值bwest低于网络带宽估计值阈值时进行告警。

量化分析指的是:后台对终端计算得到的丢包率ploss和网络带宽估计值bwest以可视化的形式进行显示,并在丢包率ploss高于丢包率阈值和/或网络带宽估计值bwest低于网络带宽估计值阈值时进行告警;同时,量化分析的过程还实现了对实际网络运行情况的监测,而这也是对丢包率ploss和网络带宽估计值bwest进行量化分析的目的。

为进一步优化上述实施例,参见图4,本发明另一实施例公开的一种终端网络性能探测系统的结构示意图,在图3所示实施例的基础上,探测系统还可以包括:

第二判定单元308,用于在所述判断单元303判断为否的情况下,判定本次探测为一次无效探测。

为进一步优化上述实施例,还可以包括:

继续发送单元309,用于在所述第二判定单元308判定本次探测为一次无效探测之后,继续发送无效探测相对应的探测数据包的下一个探测数据包。

需要说明的是,终端每次发送的探测数据包的内容都是相同的,由于终端发送探测数据包的总次数是一定的,比如n次,而无效数据包的发送是占用探测数据包发送次数的,因此,当某次探测数据包的发送过程为无效探测,则继续发送无效探测相对应的探测数据包的下一个探测数据包。

综上可知,本发明公开的终端网络性能探测系统,终端向待检测网络设备以预设固定频率发送预设固定长度的探测数据包,并通过计算每个探测数据包每次探测的往返时间,来得到终端和待检测网络设备之间信道的丢包率和网络带宽估计值,实现对终端网络性能探测。相比传统方案而言,本发明无需在待检测网络设备端搭建web服务,并且,由于本发明中的发包频率是固定的,因此有效解决了传统方案中,因采用不断增加发包频率直到rtt值或者丢包率超过某种阈值的压力测试方案,而导致终端侧网络设备负载的增加,以及对终端上其他依赖网络应用的功能产生影响的问题。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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