本发明涉及互联网技术领域,特别是涉及一种网络延迟测量方法、系统、可读存储介质及终端设备。
背景技术:
网络延迟是网络质量的一个重要指标,准确的获取计算出网络延迟可以准确的评估网络质量。现有的技术通常只会测量单个ip的网络延迟,并且超时和高延迟上报上无法都考虑周全。
对于网络设备,例如计算机或手机,其在使用网络服务时,经常有多个ip的情况(多个目的ip),多个ip的网络通路末端的路径会有不同,网络延迟也会各有不同,因此,某一个ip的网络延迟并不能准确的代表所有ip的网络延迟,也就不能准确的反映出网络服务在网络通路上的网络质量。
技术实现要素:
为此,本发明的一个目的在于提出一种网络延迟测量方法,以解决现有技术中某一个ip的网络延迟不能准确的代表所有ip的网络延迟的问题。
本发明提供一种网络延迟测量方法,包括:
获取若干个要测量网络延迟的ip地址;
多次轮询发送echo数据至各个所述ip地址;
对于任一所述ip地址,当接收到应答数据时,根据时间戳做差以计算该ip地址的网络延迟数据;
对所有的所述ip地址对应的网络延迟数据进行统计处理,以计算综合网络质量。
根据本发明提供的网络延迟测量方法,通过多次轮询向每个需要进行网络延迟测量的ip地址均发送echo数据,对于每个ip地址,当接收到应答数据时,根据时间戳做差以计算相应ip地址的网络延迟数据,最后对所有的ip地址对应的网络延迟数据进行统计处理,以计算出综合网络质量,其反应了多个目的ip地址的综合网络质量,本发明能够对网络通路末端的多个ip地址的网络延迟都进行计算,从而能够准确的反映出网络服务在网络通路上的网络质量,解决了现有技术中某一个ip的网络延迟不能准确的代表所有ip的网络延迟的问题。
另外,根据本发明上述的网络延迟测量方法,还可以具有如下附加的技术特征:
进一步地,所述方法具体包括:
获取若干个要测量网络延迟的ip地址和检测次数;
多次轮询发送echo数据至各个所述ip地址;
对于任一所述ip地址,当接收到应答数据时,根据时间戳做差以计算该ip地址的网络延迟数据;
当检测的次数到达所述检测次数时,停止发送所述echo数据,并对所有的所述ip地址对应的网络延迟数据进行统计处理,以计算综合网络质量。
进一步地,所述网络延迟数据包括网络延迟的最大值、最小值、平均值、标准差和丢包率。
进一步地,对所有的所述ip地址对应的网络延迟数据进行统计处理,以计算综合网络质量的步骤具体包括:
使用相同的权重计算规则,对各个所述ip地址每次测量时得到的网络延迟的最大值、最小值、平均值、标准差和丢包率进行统计,以计算综合网络质量。
进一步地,所述方法具体包括:
获取若干个要测量网络延迟的ip地址、延迟阈值、第一时间间隔和第二时间间隔,所述第一时间间隔大于所述第二时间间隔;
多次轮询以所述第一时间间隔发送echo数据至各个所述ip地址;
对于任一所述ip地址,若当到达所述延迟阈值时,未收到应答数据,则上报一次延迟超时,并且在收到应答数据后上报一次确切延迟,然后以所述第二间隔轮询发送echo数据,并在实际延迟次数小于次数阈值后,再将轮询周期切换回所述第一时间间隔。
本发明的另一个目的在于提出一种网络延迟测量系统,以解决现有技术中某一个ip的网络延迟不能准确的代表所有ip的网络延迟的问题。
一种网络延迟测量系统,所述系统包括:
第一获取模块,用于获取若干个要测量网络延迟的ip地址;
第一发送模块,用于多次轮询发送echo数据至各个所述ip地址;
延迟计算模块,用于对于任一所述ip地址,当接收到应答数据时,根据时间戳做差以计算该ip地址的网络延迟数据;
数据统计模块,用于对所有的所述ip地址对应的网络延迟数据进行统计处理,以计算综合网络质量。
根据本发明提供的网络延迟测量系统,通过多次轮询向每个需要进行网络延迟测量的ip地址均发送echo数据,对于每个ip地址,当接收到应答数据时,根据时间戳做差以计算相应ip地址的网络延迟数据,最后对所有的ip地址对应的网络延迟数据进行统计处理,以计算出综合网络质量,其反应了多个目的ip地址的综合网络质量,本发明能够对网络通路末端的多个ip地址的网络延迟都进行计算,从而能够准确的反映出网络服务在网络通路上的网络质量,解决了现有技术中某一个ip的网络延迟不能准确的代表所有ip的网络延迟的问题。
另外,根据本发明上述的网络延迟测量系统,还可以具有如下附加的技术特征:
进一步地,所述第一获取模块具体用于获取若干个要测量网络延迟的ip地址和检测次数;
所述数据统计模块具体用于当检测的次数到达所述检测次数时,停止发送所述echo数据,并对所有的所述ip地址对应的网络延迟数据进行统计处理,以计算综合网络质量。
进一步地,所述网络延迟数据包括网络延迟的最大值、最小值、平均值、标准差和丢包率。
进一步地,所述数据统计模块具体用于:
使用相同的权重计算规则,对各个所述ip地址每次测量时得到的网络延迟的最大值、最小值、平均值、标准差和丢包率进行统计,以计算综合网络质量。
进一步地,所述系统包括:
第二获取模块,用于获取若干个要测量网络延迟的ip地址、延迟阈值、第一时间间隔和第二时间间隔,所述第一时间间隔大于所述第二时间间隔;
第二发送模块,用于多次轮询以所述第一时间间隔发送echo数据至各个所述ip地址;
上报切换模块,用于对于任一所述ip地址,若当到达所述延迟阈值时,未收到应答数据,则上报一次延迟超时,并且在收到应答数据后上报一次确切延迟,然后以所述第二间隔轮询发送echo数据,并在实际延迟次数小于次数阈值后,再将轮询周期切换回所述第一时间间隔。
本发明还提出一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
本发明还提出一种终端设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实施例了解到。
附图说明
本发明实施例的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明第一实施例的网络延迟测量方法的流程图;
图2是根据本发明第二实施例的网络延迟测量方法的流程图;
图3是根据本发明第三实施例的网络延迟测量系统的结构示意图;
图4是根据本发明第四实施例的网络延迟测量系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明第一实施例提出的网络延迟测量方法,包括步骤s101~s104。
s101,获取若干个要测量网络延迟的ip地址。
其中,这里的ip地址是指目的ip地址,而非源ip地址,比如在使用视频软件看视频的时候同时登录者及时通信软件,那么同时使用的目的ip地址就分别是视频软件对应的ip地址和及时通信软件对应的ip地址。此外,即使仅使用视频软件看视频,也会访问该视频软件下属的多个目的ip地址,有的用于传输视频数据,有的用于传输用户信息等。
此外,会获取若干个要测量网络延迟的ip地址和检测次数。具体实施时,可以通过输入的方式,输入若干个要测量网络延迟的ip地址和检测次数,检测次数例如是3次。
s102,多次轮询发送echo数据至各个所述ip地址。
其中,echo数据是icmp协议中规定的一种网络检测数据类型,rfc792中定义了icmptype8icmp_echo,rfc1122,rfc1812,rfc1122和rfc1812一同定义了主机和路由对于icmpecho数据的具体行为。
s103,对于任一所述ip地址,当接收到应答数据时,根据时间戳做差以计算该ip地址的网络延迟数据。
其中,发送数据时会携带发送时间戳,接收到应答数据时会把时间戳取出来,然后用当前时间减时间戳,以计算相应ip地址的网络延迟数据。
具体的,所述网络延迟数据包括网络延迟的最大值、最小值、平均值、标准差和丢包率。对于步骤s101中输入的每个ip地址都会计算相应的网络延迟的最大值、最小值、平均值、标准差和丢包率。
s104,对所有的所述ip地址对应的网络延迟数据进行统计处理,以计算综合网络质量。
其中,具体的,当检测的次数到达所述检测次数时,例如检测了3次,则停止发送所述echo数据,并对所有的所述ip地址对应的网络延迟数据进行统计处理,以计算综合网络质量。
作为一个具体示例,步骤s104具体包括:
使用相同的权重计算规则,对各个所述ip地址每次测量时得到的网络延迟的最大值、最小值、平均值、标准差和丢包率进行统计,以计算综合网络质量。例如有3个目的ip地址,每个ip地址检测3次,一共是9次的数据,统计结果是根据这9个数据做出的,因此结果反应了这3个目的ip地址的综合网络质量。
根据本实施例提供的网络延迟测量方法,通过多次轮询向每个需要进行网络延迟测量的ip地址均发送echo数据,对于每个ip地址,当接收到应答数据时,根据时间戳做差以计算相应ip地址的网络延迟数据,最后对所有的ip地址对应的网络延迟数据进行统计处理,以计算出综合网络质量,其反应了多个目的ip地址的综合网络质量,本发明能够对网络通路末端的多个ip地址的网络延迟都进行计算,从而能够准确的反映出网络服务在网络通路上的网络质量,解决了现有技术中某一个ip的网络延迟不能准确的代表所有ip的网络延迟的问题。
此外,本实施例的方法主要用于网络质量评估的应用场景,是通过消耗较长时间对网络质量综合全面评估,并返回评估结果的一种主动行为,结果可用于终端设备(比如计算机或手机)不同网络接口(比如wifi和cellular数据网络)的选择。
请参阅图2,本发明第二实施例提出的网络延迟测量方法,包括步骤s201~s203。
s201,获取若干个要测量网络延迟的ip地址、延迟阈值、第一时间间隔和第二时间间隔,所述第一时间间隔大于所述第二时间间隔。
其中,这里的ip地址是指目的ip地址,而非源ip地址,延迟阈值通常小于实际网络延迟,实际网络延迟例如是300ms,延迟阈值例如是200ms,在检测时期望快速响应,若200ms还没有收到应答数据就要做某些处理,
其中,延迟阈值、第一时间间隔和第二时间间隔是根据不同的场景配置的,比如日常浏览网页的应用场景中,第一时间间隔为2s,第二时间间隔为1s;而对于延迟敏感的游戏应用场景中,第一时间间隔为1s,第二时间间隔为0.5s。
s202,多次轮询以所述第一时间间隔发送echo数据至各个所述ip地址。
其中,echo数据是icmp协议中规定的一种网络检测数据类型。
s203,对于任一所述ip地址,若当到达所述延迟阈值时,未收到应答数据,则上报一次延迟超时,并且在收到应答数据后上报一次确切延迟,然后以所述第二间隔轮询发送echo数据,并在实际延迟次数小于次数阈值后,再将轮询周期切换回所述第一时间间隔。
其中,若当到达200ms,还未收到应答数据,则上报一次延迟超时,而在到达实际网络延迟(即到达300ms)时收到了应答数据,此时会上报一次确切延迟。
由于收发数据的网络检测,会涉及功耗和运营商计费等等,因此长时间间隔(即第一时间间隔)节省资源,但是短时间间隔(即第二时间间隔)可以更快的检测出网络变化,从而更及时的响应变化。
本实施例将超时的设定和高延迟上报同时考虑,能够能更准确全面的描述网络质量。
本实施例的方法是为了快速发现高延迟场景,因此如果在短时间间隔(即第二时间间隔)下,实际延迟次数小于次数阈值后(例如实际延迟次数小于3次),则说明网络恢复健康,因此可以将轮询周期切换回所述第一时间间隔,通过降低检测频率的方式来节省资源。
此外,本实施例的方法主要用于网络质量监控的应用场景,是在设定之后被动受网络状况变差触发用于动态响应,比如通过防火墙减少低优先级数据发送,从而保证高优先级数据成功率,或者触发前者进行多网络接口(比如wifi和cellular数据网络)网络评估来决定是否切换网络接口。
请参阅图3,基于同一发明构思,本发明第三实施例提出的网络延迟测量系统,所述系统包括:
第一获取模块11,用于获取若干个要测量网络延迟的ip地址;
第一发送模块12,用于多次轮询发送echo数据至各个所述ip地址;
延迟计算模块13,用于对于任一所述ip地址,当接收到应答数据时,根据时间戳做差以计算该ip地址的网络延迟数据;
数据统计模块14,用于对所有的所述ip地址对应的网络延迟数据进行统计处理,以计算综合网络质量。
本实施例中,所述第一获取模11具体用于获取若干个要测量网络延迟的ip地址和检测次数;
所述数据统计模块14具体用于当检测的次数到达所述检测次数时,停止发送所述echo数据,并对所有的所述ip地址对应的网络延迟数据进行统计处理,以计算综合网络质量。
本实施例中,所述网络延迟数据包括网络延迟的最大值、最小值、平均值、标准差和丢包率。
本实施例中,所述数据统计模块14具体用于:
使用相同的权重计算规则,对各个所述ip地址每次测量时得到的网络延迟的最大值、最小值、平均值、标准差和丢包率进行统计,以计算综合网络质量。
根据本实施例的网络延迟测量系统,通过多次轮询向每个需要进行网络延迟测量的ip地址均发送echo数据,对于每个ip地址,当接收到应答数据时,根据时间戳做差以计算相应ip地址的网络延迟数据,最后对所有的ip地址对应的网络延迟数据进行统计处理,以计算出综合网络质量,其反应了多个目的ip地址的综合网络质量,本发明能够对网络通路末端的多个ip地址的网络延迟都进行计算,从而能够准确的反映出网络服务在网络通路上的网络质量,解决了现有技术中某一个ip的网络延迟不能准确的代表所有ip的网络延迟的问题。
请参阅图4,基于同一发明构思,本发明第四实施例提出的网络延迟测量系统,所述系统包括:
第二获取模块21,用于获取若干个要测量网络延迟的ip地址、延迟阈值、第一时间间隔和第二时间间隔,所述第一时间间隔大于所述第二时间间隔;
第二发送模块22,用于多次轮询以所述第一时间间隔发送echo数据至各个所述ip地址;
上报切换模块23,用于对于任一所述ip地址,若当到达所述延迟阈值时,未收到应答数据,则上报一次延迟超时,并且在收到应答数据后上报一次确切延迟,然后以所述第二间隔轮询发送echo数据,并在实际延迟次数小于次数阈值后,再将轮询周期切换回所述第一时间间隔。
本实施例的网络延迟测量系统的技术效果与第二实施例的网络延迟测量方法的技术效果相同,在此不予赘述。
此外,本发明的实施例还提出一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一实施例中所述方法的步骤。
此外,本发明的实施例还提出一种终端设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一实施例中所述方法的步骤。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。