CN113645092B - 网络质量评估方法、装置、终端设备和存储介质 - Google Patents
网络质量评估方法、装置、终端设备和存储介质 Download PDFInfo
- Publication number
- CN113645092B CN113645092B CN202110768610.6A CN202110768610A CN113645092B CN 113645092 B CN113645092 B CN 113645092B CN 202110768610 A CN202110768610 A CN 202110768610A CN 113645092 B CN113645092 B CN 113645092B
- Authority
- CN
- China
- Prior art keywords
- tcp
- value
- network quality
- network
- score
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0847—Transmission error
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/12—Network monitoring probes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请适用于网络检测技术领域,提供了一种网络质量评估方法、装置、终端设备和存储介质。该方法包括:获取通过目标网口的数据包,终端设备包括目标网口,数据包是用户使用网络过程中产生的数据包;基于数据包,得到当前网络的网络质量评分。本申请通过获取用户访问外网产生的数据包对网络质量进行评估,获得网络质量评分,不会产生额外的流量用于网络质量评估,解决了网络质量监控的成本问题,适用于长时间、持续对网络质量进行监测的场景。
Description
技术领域
本申请属于网络检测技术领域,尤其涉及一种网络质量评估方法、装置、终端设备和计算机可读存储介质。
背景技术
网络状况包括了网络传输速率、传输时间、网络稳定性等指标,是衡量网络质量的重要评判依据。目前,主流的网络检测应用程序主要通过如下方式判断网络质量:主动向一个或者多个服务器发送或者下载一定量的数据,计算传输的时间、丢包率等结果,依据计算结果判断当前网络的质量。
此方法存在不足主要包括:应用程序主动收发数据会产生额外的流量,增加成本消耗;进一步的,由于该成本消耗问题,一般无法长时间、持续地监控网络状态;同时,在测试网速过程中,取样方式比较单一,测试结果受通信对方服务器影响,若对方服务器无响应则会影响测试结果,不能反映用户真实体验。
发明内容
本申请实施例提供了一种网络质量评估方法、装置、终端设备和计算机可读存储介质,可以在不产生额外流量的情况下准确评估网络质量。
第一方面,本申请实施例提供了一种网络质量评估方法,应用于终端设备,包括:
获取通过目标网口的数据包,所述终端设备包括所述目标网口,所述数据包是用户使用网络过程中产生的数据包;
基于所述数据包,得到当前网络的网络质量评分。
作为一种可能的实现方式,基于所述数据包,得到当前网络的网络质量评分,包括:
从所述数据包中筛选出TCP数据包,组成TCP流;
确定每个所述TCP流的分数和权重;
根据每个所述TCP流的分数和权重,得到网络质量评分。
示例性的,确定每个所述TCP流的分数和权重,包括:
确定每个所述TCP流的时延值;
根据所述时延值,得到每个所述TCP流的分数;
针对每个所述TCP流,根据所述TCP流中所述终端设备与远端网络设备握手的成功次数和失败次数,得到所述TCP流的权重。
具体的,确定每个所述TCP流的时延值,包括:
针对每个所述TCP流,获取所述TCP流上一次通信的响应耗时;
判断是否处于等待远端网络设备响应确认的状态;
若是,计算当前时间点与发包时间点之间的时间差,所述发包时间点为所述TCP流最近一次发包值大于应答值的时间点,所述发包值为最后一次向远端网络设备发出数据包的SEQ值、有效负载长度与额外值的和,所述应答值为所述远端网络设备最近一次发送的应答数据包的ACK值;将所述响应耗时与所述时间差中的较大值作为所述TCP流的时延值;
若否,将所述响应耗时作为所述TCP流的时延值。
其中,获取所述TCP流上一次通信的响应耗时,包括:
计算所述发包时间点与响应时间点的差值,所述差值为所述TCP流上一次通信的响应耗时,所述响应时间点为所述TCP流最近一次所述发包值等于所述应答值的时间点。
进一步的,在获取所述TCP流上一次通信的响应耗时之后,还包括:
若所述响应耗时为空,且处于等待所述远端网络设备响应确认的状态,则将所述响应耗时的值设置为预设数值;
若所述响应耗时为空,且未处于等待所述远端网络设备响应确认的状态,则过滤所述TCP流。
其中,判断是否处于等待远端网络设备响应确认的状态,包括:
若发包值大于所述应答值,则处于等待所述远端网络设备响应确认的状态;
若发包值等于所述应答值,则处于已获得所述远端网络设备响应确认的状态。
示例性的,根据所述时延值,得到每个所述TCP流的分数,包括:
针对每个所述TCP流,根据对应关系和所述TCP流的所述时延值,得到所述TCP流的分数,所述对应关系为预先设定的时延值与分数之间的对应关系。
其中,从所述数据包中筛选出TCP数据包,组成TCP流,包括:
从所述数据包中筛选出采用TCP协议的数据包,得到TCP数据包;
将本地地址相同且远端地址相同的多个所述TCP数据包组成一个TCP流。
作为一种可能的实现方式,从所述数据包中筛选出TCP数据包,组成TCP流之后,还包括:
若所述TCP流中所述终端设备与远端网络设备多次握手的成功次数为零,则过滤所述TCP流。
进一步的,在基于所述数据包,得到当前网络的网络质量评分之后,还包括:
校验所述网络质量评分是否可靠。
相应的,校验所述网络质量评分是否可靠,包括:
统计所述TCP流中发送的数据包数量和接收的数据包数量,以及下行流量;
当所述发送的数据包数量和所述接收的数据包数量均大于第一预设值,则判断所述网络质量评分是否大于或等于第二预设值;
若所述网络质量评分大于或等于第二预设值,确认所述网络质量评分可靠;
若所述网络质量评分小于第二预设值,判断所述下行流量是否小于第三预设值;
若所述下行流量小于所述第三预设值,则确定所述网络质量评分可靠;
若所述下行流量大于或等于所述第三预设值,则确定所述网络质量评分不可靠。
进一步的,得到当前网络的网络质量评分之后,还包括:
若上一次网络质量评分小于第四预设值,且本次网络质量评分小于第四预设值,则计数值加一;若上一次网络质量评分小于第四预设值,且本次网络质量评分大于或等于第四预设值,则计数值清零;当所述计数值达到预设次数,则确定当前网络质量为差,所述计数值清零;
若上一次网络质量评分大于第五预设值,且本次网络质量评分大于第五预设值,则计数值加一;若上一次网络质量评分大于第五预设值,且本次网络质量评分小于或等于第五预设值,则计数值清零;当所述计数值达到预设次数,则确定当前网络质量为优,所述计数值清零。
其中,根据每个所述TCP流的分数和权重,得到网络质量评分,包括:
根据每个所述TCP流的分数和权重,计算多个TCP流的加权平均数,作为当前网络的网络质量评分。
第二方面,本申请实施例提供了一种网络质量评估装置,包括:
数据包获取模块,用于获取通过目标网口的数据包,所述终端设备包括所述目标网口,所述数据包是用户使用网络过程中产生的数据包;
评分模块,用于根据所述数据包,得到当前网络的网络质量评分。
第三方面,本申请实施例提供了一种终端设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述的方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的方法。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
本申请实施例与现有技术相比存在的有益效果是:通过获取用户访问外网产生的数据包对网络质量进行评估,获得网络质量评分。本申请不会产生额外的流量用于网络质量评估,解决了网络质量监控的成本问题,适用于长时间、持续对网络质量进行监测的场景。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的网络质量评估方法的流程示意图;
图2是本申请另一实施例提供的网络质量评估方法的流程示意图;
图3是本申请又一实施例提供的网络质量评估方法的流程示意图;
图4是本申请一实施例提供的网络质量评估装置的结构示意图;
图5是本申请一实施例提供的终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例提供的网络质量评估方法可以应用于手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等终端设备上,本申请实施例对终端设备的具体类型不作任何限制。
图1是本实施例提供的网络质量评估方法的流程示意图。如图1所示,该网络质量评估方法应用于终端设备,包括如下步骤:
S1,获取通过目标网口的数据包。
终端设备包括目标网口,目标网口一般是终端设备访问外网的网口,数据包是用户使用网络过程中产生的数据包。
例如,在Linux系统中,可通过raw_socket套接字获取通过目标网口的数据包。获取到的数据包中包含本地IP、本地端口、远端IP、远端端口、数据包协议类型等。本地IP与本地端口组成本地地址,远端IP与远端端口组成远端地址。
S2,基于数据包,得到当前网络的网络质量评分。
需要说明的是,基于数据包获得网络质量评分的方式可以是任意的。
作为一种可能的实现方式,步骤S2包括:从数据包中筛选出TCP数据包,组成TCP流;确定每个TCP流的分数和权重;根据每个TCP流的分数和权重,得到网络质量评分。
可根据TCP流的传输时延、传输速率、丢包率和/或应答时间等确定每个TCP流的分数,不同的时间或速率对应不同的分数;可通过TCP通信握手成功失败次数和/或丢包率等确定每个TCP流的权重。每个TCP流的分数与权重相乘即是网络质量评分。通过网络质量评分可知网络状况的好坏。本实施例中,基于用户使用网络产生的数据包进行网络质量评分,不用额外发送或下载数据包,不产生额外流量,于实际应用中更节省成本,适用于需要长时间、持续监控网络状况的场景,用户更容易接受,更容易普及。
下面将在上述实施例的基础上,举例说明如何对网络进行评分。
图2是本实施例提供的网络质量评估方法的流程示意图。如图2所示,网络质量评估方法包括如下步骤:
S21,获取通过目标网口的数据包。
获取最近一段时间内通过目标网口的数据包,最近一段时间内产生的数据包更能体现近期的网络质量,对当前网络质量的评估更有参考价值。时间段的长短可以根据实际需要设定。
S22,从数据包中筛选出TCP数据包,组成TCP流。
具体的,判断数据包的传输协议是否为TCP协议,若是,在已记录的TCP流中,查找与该数据包本地地址相同且远端地址相同的TCP流记录;若存在该TCP流,则在对应的TCP流中更新信息,若不存在这样的TCP流,则创建一条新的TCP流并更新信息。
终端设备访问不同远端网络设备时,数据包的远端地址不同;本实施例在创建及更新TCP流时,要求数据包的本地地址相同且远端地址相同,对TCP流进行分组评估,考虑到了不同远端网络设备的网络条件对本地用户的网络体验带来的影响,尽可能地排除干扰,使得对每个TCP流的评分都更准确。
S23,确定每个TCP流的时延值。
首先,针对每个TCP流,获取TCP流上一次通信的响应耗时。
具体包括:
1)计算发包值,发包值为终端设备最后一次向远端网络设备发出数据包的SEQ值、有效负载长度与额外值的和。SEQ值包含在TCP数据包中,为TCP协议中的Sequence Number字段;有效负载长度值为TCP数据包中除去报头的有效负载的字节长度;当TCP报头中flag包含为FIN或者SYN时,额外值为1,其余情况下额外值为0。
2)获取远端网络设备的应答值,应答值为远端网络设备的应答数据包的ACK值。
3)若发包值大于应答值,表示终端设备发出了数据包,处于等待远端网络设备响应确认的状态,则以最近一次发包值大于应答值的时间点为发包时间点;若发包值等于应答值,表示终端设备发出数据包后,已经收到远端网络设备的应答数据包,处于已获得远端网络设备响应确认的状态,则以最近一次发包值等于应答值的时间点为响应时间点。
4)计算发包时间点与响应时间点的差值,该差值为该TCP流上一次通信的响应耗时。
若终端设备未处于等待远端网络设备响应确认的状态,且获取到的最后一次的响应耗时为空,则过滤所述TCP流,不计入统计。
可理解的是,若终端设备已经向远端网络设备发送数据包,获取到发包时间点,但还未收到远端网络设备响应确认的应答数据包,响应时间点为空,则该TCP流没有形成一次完整的往返通信,因而响应耗时也为空;此时终端设备处于等待远端网络设备响应确认的状态,在此情形下,将响应耗时的值设置为预设数值;本实施例中,将预设数值设置为1秒,在其他实施例中可根据具体需求设置。
然后,在获取响应耗时之后,若终端设备处于等待远端网络设备响应确认的状态,则计算当前时间点与发包时间点之间的时间差;将上述获得的响应耗时与该时间差比较,其中的较大值作为TCP流的时延值。若终端设备未处于等待远端网络设备响应确认的状态,则将上述获得的响应耗时作为TCP流的时延值。
S24,根据时延值,得到每个TCP流的分数。
以下表1为例,预先设定时延值与分数之间的对应关系。时延值越短,对应的分数越高,表示网络质量越好。可以理解的是,时延值取值范围的划分,可根据具体应用场景对时延的要求来设定,分数也可根据计算需求具体设置。
表1
针对每个TCP流,根据上述对应关系和TCP流的时延值,得到该TCP流的分数。
S25,针对每个TCP流,根据TCP流中终端设备与远端网络设备握手的成功次数和失败次数,得到TCP流的权重。
终端设备发起握手请求,在一定时间内没收到远端网络设备的握手ACK响应,但这段时间内,终端设备收到过来自其他远端地址的数据包,则认为握手超时,计握手失败次数加1;若在规定时间内收到该远端网络设备的握手ACK响应,计握手成功次数加1。
TCP流的记录中,若终端设备与远端网络设备多次握手的成功次数为零,失败次数大于零,则表示该远端网络设备不可访问(服务器故障或IP地址被屏蔽),需要过滤所述TCP流;或者将此类情况的TCP流的权重设置为0。
示例性的,当握手的失败次数等于0且成功次数大于0时,将TCP流的权重设置为1;当失败次数大于0且成功次数等于失败次数时,将TCP流的权重设置为0.5;当失败次数大于0且成功次数小于失败次数时,将TCP流的权重设置为0.25;当失败次数大于0且成功次数大于失败次数时,将TCP流的权重设置为0.75。
S26,根据每个TCP流的分数和权重,得到网络质量评分。
对于单个TCP流而言,每个TCP流的分数与权重相乘即是每个TCP流的网络质量评分。
对于多个TCP流,依据每个TCP流的分数与权重,计算出多个TCP流的加权平均数,则为用户当前网络的网络质量评分。评分越高则表示网络质量越好。例如,3个TCP流的分数分别是10分、5分和10分,权重分别是0.5、1和0.75,则这3个TCP流的加权平均数值为(10*0.5+5*1+10*0.75)/(0.5+1+0.75)≈7.78分。
本实施例以时延值和TCP握手成功率为例,举例说明如何确定TCP流的分数和权重,在其他实施例中,可以采用其他的方式来评定,时延值体现了网络响应的快慢,握手成功次数体现了本地与远端通信成功的可能性,兼顾了远端服务器对本地网络体验的影响,使得网络质量评分,更贴近用户的真实网络体验。
网络质量受多种因素的影响,存在波动的现象,单次的网络质量评分不能完全代表该网络的质量常态,因此,在其他实施例中,如图3所示,在步骤S26之后,还包括步骤:S27,校验网络质量评分是否可靠。
具体的,在步骤S22之后,对于每个TCP流,还包括:S28,统计TCP流中发送的数据包数量和接收的数据包数量,以及下行流量。
当一定时间段内发送的数据包数量和接收的数据包数量均大于第一预设值,说明终端设备完成了一定量的网络通信,则判断所述网络质量评分是否大于或等于第二预设值,第二预设值一般取值为满分的50%~60%,也可根据实际情况设置其他数值。
若网络质量评分大于或等于第二预设值,确认所述网络质量评分可靠。
若所述网络质量评分小于第二预设值,则进一步判断下行流量是否小于第三预设值;若下行流量小于第三预设值,则可认为所述网络质量评分可靠;若下行流量大于或等于第三预设值,则确定网络质量评分不可靠,可能的原因在于:下行数据包占据较多的带宽,使得测评结果不准确。
进一步的,按周期获取TCP流并评分,若上一次网络质量评分小于第四预设值,且本次网络质量评分小于第四预设值,说明连续两次评分的网络质量相同,则计数值加一;若上一次网络质量评分小于第四预设值,而本次网络质量评分大于或等于第四预设值,说明网络质量存在波动,则计数值清零,重新累计;当计数值达到预设次数,则确定当前网络质量为差,计数值清零,进行下一轮的统计。
同理,若上一次网络质量评分大于第五预设值,且本次网络质量评分大于第五预设值,说明连续两次评分的网络质量相同,则计数值加一;若上一次网络质量评分大于第五预设值,而本次网络质量评分小于或等于第五预设值,说明网络质量存在波动,则计数值清零;当计数值达到预设次数,则确定当前网络质量为优,计数值清零,开始新一轮的统计。
本实施例中,第四预设值设置为满分的50%~60%,第五预设值为满分的70%~80%,具体比例可根据实际情况设置;预设次数设置为5次,也可以根据需要设定其他数值。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的网络质量评估法,图4是本实施例提供的网络质量评估装置的结构示意图。为了便于说明,仅示出了与本申请实施例相关的部分。
如图4所示,该装置包括:
数据包获取模块31,获取通过目标网口的数据包,所述终端设备包括所述目标网口,所述数据包是用户使用网络过程中产生的数据包。
评分模块32,用于根据所述数据包,得到当前网络的网络质量评分。
进一步的,数据包获取模块31具体用于获取预设时间段内通过目标网口的数据包,并筛选出其中的TCP数据包,组成TCP流。
评分模块32具体用于确定每个TCP流的分数和权重,并根据该分数和权重获得每个TCP流的网络质量评分。示例性的,所述分数可通过对TCP流的时延值进行划等级计分得到,所述权重可根据TCP流的TCP通信握手成功与失败次数比例来确定。多个TCP流的网络质量评分可用于判断当前网络的综合网络质量。
需要说明的是,上述装置之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图5为本实施例提供的终端设备的结构示意图。如图5所示,该实施例的终端设备包括:至少一个处理器60(图5中仅示出一个)、存储器61以及存储在所述存储器61中并可在所述至少一个处理器60上运行的计算机程序62,所述处理器60执行所述计算机程序62时实现上述任意各个方法实施例中的步骤。
所述终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。本领域技术人员可以理解,图5仅仅是终端设备的举例,并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器60可以是中央处理单元(Central Processing Unit,CPU),该处理器60还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器61在一些实施例中可以是所述终端设备的内部存储单元,例如硬盘或内存,在另一些实施例中也可以是外部存储设备,例如插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述终端设备的内部存储单元也包括外部存储设备。所述存储器61用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的终端设备和方法,可以通过其它的方式实现。例如,以上所描述的终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (14)
1.一种网络质量评估方法,应用于终端设备,其特征在于,包括:
获取通过目标网口的数据包,所述终端设备包括所述目标网口,所述数据包是用户使用网络过程中产生的数据包;
从所述数据包中筛选出TCP数据包,组成TCP流;
确定每个所述TCP流的时延值;
针对每个所述TCP流,根据对应关系和所述TCP流的所述时延值,得到所述TCP流的分数,所述对应关系为预先设定的时延值与分数之间的对应关系;
针对每个所述TCP流,根据所述TCP流中所述终端设备与远端网络设备握手的成功次数和失败次数,得到所述TCP流的权重;
根据每个所述TCP流的分数和权重,得到当前网络的网络质量评分。
2.如权利要求1所述的网络质量评估方法,其特征在于,确定每个所述TCP流的时延值,包括:
针对每个所述TCP流,获取所述TCP流上一次通信的响应耗时;
判断是否处于等待远端网络设备响应确认的状态;
若是,计算当前时间点与发包时间点之间的时间差,所述发包时间点为所述TCP流最近一次发包值大于应答值的时间点,所述发包值为最后一次向远端网络设备发出数据包的SEQ值、有效负载长度与额外值的和,所述应答值为所述远端网络设备最近一次发送的应答数据包的ACK值;将所述响应耗时与所述时间差中的较大值作为所述TCP流的时延值;
若否,将所述响应耗时作为所述TCP流的时延值。
3.如权利要求2所述的网络质量评估方法,其特征在于,获取所述TCP流上一次通信的响应耗时,包括:
计算所述发包时间点与响应时间点的差值,所述差值为所述TCP流上一次通信的响应耗时,所述响应时间点为所述TCP流最近一次所述发包值等于所述应答值的时间点。
4.如权利要求2所述的网络质量评估方法,其特征在于,在获取所述TCP流上一次通信的响应耗时之后,还包括:
若所述响应耗时为空,且处于等待所述远端网络设备响应确认的状态,则将所述响应耗时的值设置为预设数值;
若所述响应耗时为空,且未处于等待所述远端网络设备响应确认的状态,则过滤所述TCP流。
5.如权利要求2所述的网络质量评估方法,其特征在于,判断是否处于等待远端网络设备响应确认的状态,包括:
若发包值大于所述应答值,则处于等待所述远端网络设备响应确认的状态;
若发包值等于所述应答值,则处于已获得所述远端网络设备响应确认的状态。
6.如权利要求1所述的网络质量评估方法,其特征在于,从所述数据包中筛选出TCP数据包,组成TCP流,包括:
从所述数据包中筛选出采用TCP协议的数据包,得到TCP数据包;
将本地地址相同且远端地址相同的多个所述TCP数据包组成一个TCP流。
7.如权利要求1所述的网络质量评估方法,其特征在于,从所述数据包中筛选出TCP数据包,组成TCP流之后,还包括:
若所述TCP流中所述终端设备与远端网络设备多次握手的成功次数为零,则过滤所述TCP流。
8.如权利要求1所述的网络质量评估方法,其特征在于,根据每个所述TCP流的分数和权重,得到当前网络的网络质量评分之后,还包括:
校验所述网络质量评分是否可靠。
9.如权利要求8所述的网络质量评估方法,其特征在于,校验所述网络质量评分是否可靠,包括:
统计TCP流中发送的数据包数量和接收的数据包数量,以及下行流量;
当所述发送的数据包数量和所述接收的数据包数量均大于第一预设值,则判断所述网络质量评分是否大于或等于第二预设值;
若所述网络质量评分大于或等于第二预设值,确认所述网络质量评分可靠;
若所述网络质量评分小于第二预设值,判断所述下行流量是否小于第三预设值;
若所述下行流量小于所述第三预设值,则确定所述网络质量评分可靠;
若所述下行流量大于或等于所述第三预设值,则确定所述网络质量评分不可靠。
10.如权利要求1至9任一项所述的网络质量评估方法,其特征在于,根据每个所述TCP流的分数和权重,得到当前网络的网络质量评分之后,还包括:
若上一次网络质量评分小于第四预设值,且本次网络质量评分小于第四预设值,则计数值加一;若上一次网络质量评分小于第四预设值,且本次网络质量评分大于或等于第四预设值,则计数值清零;当所述计数值达到预设次数,则确定当前网络质量为差,所述计数值清零;
若上一次网络质量评分大于第五预设值,且本次网络质量评分大于第五预设值,则计数值加一;若上一次网络质量评分大于第五预设值,且本次网络质量评分小于或等于第五预设值,则计数值清零;当所述计数值达到预设次数,则确定当前网络质量为优,所述计数值清零。
11.如权利要求1所述的网络质量评估方法,其特征在于,根据每个所述TCP流的分数和权重,得到当前网络的网络质量评分,包括:
根据每个所述TCP流的分数和权重,计算多个TCP流的加权平均数,作为当前网络的网络质量评分。
12.一种网络质量评估装置,其特征在于,包括:
数据包获取模块,用于获取通过目标网口的数据包,终端设备包括所述目标网口,所述数据包是用户使用网络过程中产生的数据包;
评分模块,用于从所述数据包中筛选出TCP数据包,组成TCP流;确定每个所述TCP流的时延值;针对每个所述TCP流,根据对应关系和所述TCP流的所述时延值,得到所述TCP流的分数,所述对应关系为预先设定的时延值与分数之间的对应关系;针对每个所述TCP流,根据所述TCP流中所述终端设备与远端网络设备握手的成功次数和失败次数,得到所述TCP流的权重;根据每个所述TCP流的分数和权重,得到当前网络的网络质量评分。
13.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至11任一项所述的方法。
14.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至11任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110768610.6A CN113645092B (zh) | 2021-07-07 | 2021-07-07 | 网络质量评估方法、装置、终端设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110768610.6A CN113645092B (zh) | 2021-07-07 | 2021-07-07 | 网络质量评估方法、装置、终端设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113645092A CN113645092A (zh) | 2021-11-12 |
CN113645092B true CN113645092B (zh) | 2022-12-30 |
Family
ID=78416732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110768610.6A Active CN113645092B (zh) | 2021-07-07 | 2021-07-07 | 网络质量评估方法、装置、终端设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113645092B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116170360A (zh) * | 2022-12-08 | 2023-05-26 | 中国联合网络通信集团有限公司 | 网络质量评估方法、装置及存储介质 |
CN116708149B (zh) * | 2022-12-29 | 2024-05-14 | 荣耀终端有限公司 | 网络诊断方法和电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102572924A (zh) * | 2012-04-06 | 2012-07-11 | 北京西塔网络科技股份有限公司 | 一种移动互联网网络质量评估的方法及系统 |
CN107645398A (zh) * | 2016-07-22 | 2018-01-30 | 北京金山云网络技术有限公司 | 一种诊断网络性能和故障的方法和装置 |
CN108965011A (zh) * | 2018-07-25 | 2018-12-07 | 中天宽带技术有限公司 | 一种基于智能网关深度报文分析系统和分析方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4589981B2 (ja) * | 2008-06-05 | 2010-12-01 | 日本電信電話株式会社 | Tcp通信品質推定方法およびtcp通信品質推定装置 |
CN105827473B (zh) * | 2015-01-06 | 2019-02-26 | 中国移动通信集团江苏有限公司 | 一种网络质量评估方法及装置 |
CN110138608B (zh) * | 2019-05-09 | 2022-08-30 | 网宿科技股份有限公司 | 网络业务服务质量管理的方法及服务器 |
CN111327471B (zh) * | 2020-02-24 | 2023-04-28 | 中移(杭州)信息技术有限公司 | 网络质量分析方法、装置、计算机设备及存储介质 |
CN111314179B (zh) * | 2020-02-25 | 2024-01-23 | 广州市百果园信息技术有限公司 | 网络质量检测方法、装置、设备和存储介质 |
-
2021
- 2021-07-07 CN CN202110768610.6A patent/CN113645092B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102572924A (zh) * | 2012-04-06 | 2012-07-11 | 北京西塔网络科技股份有限公司 | 一种移动互联网网络质量评估的方法及系统 |
CN107645398A (zh) * | 2016-07-22 | 2018-01-30 | 北京金山云网络技术有限公司 | 一种诊断网络性能和故障的方法和装置 |
CN108965011A (zh) * | 2018-07-25 | 2018-12-07 | 中天宽带技术有限公司 | 一种基于智能网关深度报文分析系统和分析方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113645092A (zh) | 2021-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113645092B (zh) | 网络质量评估方法、装置、终端设备和存储介质 | |
US8085673B2 (en) | Method and apparatus for generating bi-directional network traffic and collecting statistics on same | |
CN107624233B (zh) | 一种vpn传输隧道调度方法、装置以及vpn客户端服务器 | |
CN112787877B (zh) | 一种网络时延检测方法及相关设备 | |
CN108390856B (zh) | 一种DDoS攻击检测方法、装置及电子设备 | |
CN114095567B (zh) | 数据访问请求的处理方法、装置、计算机设备及介质 | |
CN111314328A (zh) | 网络攻击防护方法、装置、存储介质及电子设备 | |
CN111131320A (zh) | 资产识别方法、装置、系统、介质、和程序产品 | |
CN113591068B (zh) | 一种在线登录设备管理方法、装置及电子设备 | |
CN110198251B (zh) | 一种获得客户端地址的方法及装置 | |
CN112291370A (zh) | 一种业务访问关系的处理方法及相关设备 | |
CN110971482B (zh) | 基于ebpf的后端服务器检测方法、装置及电子设备 | |
CN110636283B (zh) | 视频传输测试方法、装置及终端设备 | |
CN115426284A (zh) | 一种网络质量探测方法、装置、终端设备以及存储介质 | |
CN112260862A (zh) | 网络数据质量确定方法、装置、电子设备及存储介质 | |
CN114650295B (zh) | Cdn质量调度方法、装置、介质和电子设备 | |
CN115086194B (zh) | 云应用的数据传输方法、计算设备及计算机存储介质 | |
CN108574610B (zh) | 一种压力测试方法、装置、电子设备及介质 | |
CN108183926B (zh) | 一种数据包处理方法和装置 | |
CN115842789A (zh) | 数据包调度方法、设备及可读存储介质 | |
CN113839948B (zh) | 一种dns隧道流量检测方法、装置、电子设备和存储介质 | |
US20140136647A1 (en) | Router and operating method thereof | |
CN115811483A (zh) | 一种网络状态监测方法、装置、电子设备和存储介质 | |
CN113709582A (zh) | 一种带宽测量方法和装置 | |
CN112019406A (zh) | 流量监控方法、装置、电子设备和计算机可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |