CN113839828A - 一种网络质量探测方法、装置、终端设备及介质 - Google Patents

一种网络质量探测方法、装置、终端设备及介质 Download PDF

Info

Publication number
CN113839828A
CN113839828A CN202010591419.4A CN202010591419A CN113839828A CN 113839828 A CN113839828 A CN 113839828A CN 202010591419 A CN202010591419 A CN 202010591419A CN 113839828 A CN113839828 A CN 113839828A
Authority
CN
China
Prior art keywords
detection
queue
network
probe
network quality
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
Application number
CN202010591419.4A
Other languages
English (en)
Other versions
CN113839828B (zh
Inventor
焦鹏文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing ByteDance Network Technology Co Ltd
Original Assignee
Beijing ByteDance Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN202010591419.4A priority Critical patent/CN113839828B/zh
Publication of CN113839828A publication Critical patent/CN113839828A/zh
Application granted granted Critical
Publication of CN113839828B publication Critical patent/CN113839828B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开公开了一种网络质量探测方法、装置、终端设备及介质。所述方法包括:获取探测请求;将所述探测请求添加至对应的探测队列;若当前没有所述探测队列对应的探测任务运行,则基于所述探测队列进行网络质量验证;传输验证结果。利用该方法,解决了基于系统网络流量的采集进行网络质量探测所带来的技术问题,实现了网络质量的探测。

Description

一种网络质量探测方法、装置、终端设备及介质
技术领域
本公开实施例涉及通信技术领域,尤其涉及一种网络质量探测方法、装置、终端设备及介质。
背景技术
随着网络技术的飞跃发展以及网络用户规模的显著增加,网络质量探测技术逐渐受到重视。有效的探测网络质量将更加有利于为用户提供优质的网络服务。
现有技术中的网络质量探测框架大多基于系统网络流量的采集,即每隔一段时间获取一次系统自启动以来消耗的流量,然后得到当前网络的带宽情况。然而,基于系统网络流量的采集进行网络质量探测,依赖系统应用程序接口(Application ProgrammingInterface,API)提供当前网络流量,有系统兼容性问题,且流量消耗大。
发明内容
本公开实施例提供了一种网络质量探测方法、装置、终端设备及介质,有效解决了基于系统网络流量的采集进行网络质量探测所带来的技术问题。
第一方面,本公开实施例提供了一种网络质量探测方法,包括:
获取探测请求;
将所述探测请求添加至对应的探测队列;
若当前没有所述探测队列对应的探测任务运行,则基于所述探测队列进行网络质量验证;
传输验证结果。
第二方面,本公开实施例还提供了一种网络质量探测装置,包括:
获取模块,用于获取探测请求;
添加模块,用于将所述探测请求添加至对应的探测队列;
验证模块,用于若当前没有所述探测队列对应的探测任务运行,则基于所述探测队列进行网络质量验证;
传输模块,用于传输验证结果。
第三方面,本公开实施例还提供了一种终端设备,包括:
一个或多个处理装置;
存储装置,用于存储一个或多个程序;
所述一个或多个程序被所述一个或多个处理装置执行,使得所述一个或多个处理装置实现本公开实施例提供的方法。
第四方面,本公开实施例还提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现本公开实施例提供的方法。
本公开实施例提供了一种网络质量探测方法、装置、终端设备及介质,首先获取探测请求;然后将所述探测请求添加至对应的探测队列;其次若当前没有所述探测队列对应的探测任务运行,则基于所述探测队列进行网络质量验证;最后传输验证结果。利用上述技术方案,直接基于由探测请求构建的探测队列进行网络质量验证,无需对系统网络流量进行采集,解决了基于系统网络流量的采集进行网络质量探测所带来的技术问题,实现了网络质量的探测。
附图说明
图1为本公开实施例一提供的一种网络质量探测方法的流程示意图;
图2为本公开实施例二提供的一种网络质量探测方法的流程示意图;
图2a为本公开实施例二提供的一种网络质量探测方法的框架示意图;
图2b为本公开实施例二提供的又一种网络质量探测方法的流程示意图;
图3为本公开实施例三提供的一种网络质量探测装置的结构示意图;
图4为本公开实施例四提供的一种终端设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
下述各实施例中,每个实施例中同时提供了可选特征和示例,实施例中记载的各个特征可进行组合,形成多个可选方案,不应将每个编号的实施例仅视为一个技术方案。此外,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
实施例一
图1为本公开实施例一提供的一种网络质量探测方法的流程示意图,该方法可适用于进行网络质量探测的情况,该方法可以由网络质量探测装置来执行,其中该装置可由软件和/或硬件实现,并一般集成在终端设备上,在本实施例中终端设备包括但不限于:电脑、手机和个人数字助理等设备。
本公开提供的网络质量探测方法可以认为是独立于业务层的探测框架,即该网络探测方法可以认为是旁路网络质量探测方法,不对业务层进行影响。业务层触发探测请求后发送至该探测框架进行网络质量探测,探测框架将验证结果回调至业务层,以确定当前的网络状态。网络状态包括但不限于无网和有网。
如图1所示,本公开实施例一提供的一种网络质量探测方法,包括如下步骤:
S110、获取探测请求。
在本实施例中,探测请求可以认为是一种触发进行网络质量探测的请求。
本步骤可以从业务层获取探测请求。探测请求所包括的内容不作限定,包括但不限于探测目标和回调函数。探测目标可以认为是待探测的目标。探测目标可以对应有多个探测对象。本公开可以针对每个探测对象进行网络质量验证。探测对象可以认为是实际进行网络探测的对象。探测目标可以认为是探测对象的集合。探测对象可以是域名形式的,也可以是网际互连协议(Internet Protocol,IP)形式的。回调函数可以用于将探测请求对应的验证结果回调,以便于确定网络质量。
在一个实施例中,所述探测请求在业务请求的发送时长大于或等于第一预设时长,且未收到反馈信息的情况下触发。
第一预设时长可以根据实际网络状态设定,在发送业务请求第一预设时长后,若终端设备未收到反馈信息,业务层可以触发探测请求。业务请求可以为进行业务操作时触发的请求。业务请求包括但不限于网络请求和视频播放请求等。反馈信息可以认为是响应探测请求的信息。若接收到反馈信息可以认为当前终端设备有网,若在第一预设时长后,未收到反馈信息,则需要对当前网络进行网络质量探测,以确定网络状态。
S120、将所述探测请求添加至对应的探测队列。
探测队列可以认为是存储探测请求的队列。本公开为了防止过度探测,可以设置探测队列,即在获取到探测请求后,通过将探测请求添加至对应的探测队列,然后针对探测队列中所包括的探测请求进行网络质量验证。
在获取到探测请求后,本步骤可以基于探测请求所需探测的探测目标确定对应的探测队列。探测队列中的探测请求可以基于请求时间顺序存储,也可以随机存储,此处不作限定。
在一个实施例中,探测队列可以有一个,在获取到探测请求后,可以直接将该探测请求添加至该探测队列。探测队列中所包括的探测请求可以对应同一探测目标,故无需针对每一探测请求均触发网络质量验证操作。探测队列中只要有一个探测请求触发网络质量验证操作即可,在确定该探测请求的验证结果后,可以将该验证结果回调给该探测请求对应探测对应中所包括的所有探测请求,然后在基于各探测请求的回调函数将验证结果反馈至业务层。
在一个实施例中,探测请求所需探测的探测目标不同对应的探测队列不同,即不同的探测队列对应了不同的探测目标。在获取到探测请求后,可以基于探测请求对应的探测目标确定对应的探测队列。各探测队列可以并行执行网络质量验证。每个探测队列中一个探测请求可以触发网络质量验证操作,然后将该探测请求的验证结果回调给该探测请求对应的探测队列中所有的探测请求,然后基于各探测请求的回调函数将验证结果反馈至业务层。
S130、若当前没有所述探测队列对应的探测任务运行,则基于所述探测队列进行网络质量验证。
探测任务可以是进行网络质量探测的任务。网络质量验证可以认为是对探测目标的网络质量进行验证。网络质量验证的内容不作限定,可以包括是否有网和/或网速。此处不对验证的具体手段进行限定可以基于所验证的内容确定。
将探测请求添加至探测队列后,本步骤可以确定当前是否有存储探测请求的探测队列对应的探测任务正在执行,从而确定是否触发网络质量验证操作。
若当前存储有所述探测队列对应的探测任务运行,则无需再次出发网络质量验证操作,直接等待该探测任务的验证结果即可;否则,可以基于探测队列进行网络质量验证。
在基于探测队列进行网络质量验证时,可以基于探测队列所包括的探测请求,进行网络质量验证。具体地,可以基于探测队列中任一探测请求进行网络质量验证;也可以基于探测队列中队首的探测请求进行网络质量验证。
在基于探测请求进行网络质量验证时,可以对探测请求对应的探测目标进行网络质量验证,该探测目标可以包含在探测请求中。
网络质量验证的内容包括:域名系统协议DNS解析、控制报文协议ICMP探测和传输控制协议TCP探测中的一个或多个。
S140、传输验证结果。
在进行网络质量验证确定验证结果后,本步骤可以传输验证结果。该验证结果可以认为是对网络质量验证后确定的探测目标的验证结果。本步骤可以将验证结果传输至探测队列所包括探测请求对应的发送方,如业务层。
本公开实施例一提供的一种网络质量探测方法,首先获取探测请求;其次将所述探测请求添加至对应的探测队列;然后若当前没有所述探测队列对应的探测任务运行,则基于所述探测队列进行网络质量验证;最终传输验证结果。利用上述方法,直接基于由探测请求构建的探测队列进行网络质量验证,无需对系统网络流量进行采集,解决了基于系统网络流量的采集进行网络质量探测所带来的技术问题,实现了网络质量的探测。
实施例二
图2为本公开实施例二提供的一种网络质量探测方法的流程示意图,本实施例二在上述各实施例中各个可选方案为基础进行具体化。在本实施例中,将所述探测请求添加至对应的探测队列,具体包括:
确定所述探测请求所包括的探测目标;
将所述探测请求添加至对应所述探测目标的探测队列中。
进一步地,本实施例还将基于所述探测队列进行网络质量验证,具体包括:
确定所述探测队列对应的探测目标;
对所述探测队列对应的探测目标进行网络质量验证;网络质量验证的内容包括:域名系统协议DNS解析、控制报文协议ICMP探测和传输控制协议TCP探测中的一个或多个。
本实施例尚未详尽的内容请参考实施例一。
如图2所示,本公开实施例二提供的一种网络质量探测方法,包括如下步骤:
S210、获取探测请求。
S220、确定所述探测请求所包括的探测目标。
在本实施例中,将探测请求添加至对应探测队列时,首先确定探测请求所包括的探测目标,如提取探测请求中所包括的探测目标,以用于确定所述探测请求对应的探测队列。
S230、将所述探测请求添加至对应所述探测目标的探测队列中。
探测队列可以基于探测目标划分,故本实施例在确定探测请求对应的探测目标后,可以将探测请求添加至该探测请求所包括探测目标所对应的探测队列中,以获取对应的验证结果。
S240、若当前没有所述探测队列对应的探测任务运行,则确定所述探测队列对应的探测目标。
不同的探测队列可以对应有不同的探测目标,本步骤确定探测目标时,可以直接确定该探测队列对应的探测目标,也可以提取探测队列所包括的任一或队首的探测请求,然后确定该探测请求对应的探测目标。
S250、对所述探测队列对应的探测目标进行网络质量验证;网络质量验证的内容包括:域名系统协议DNS解析、控制报文协议ICMP探测和传输控制协议TCP探测中的一个或多个。
确定探测目标后,本步骤可以对该探测目标进行网络质量验证。如,先进行域名系统协议(Domain Name System,DNS)解析,若解析通过,则进行控制报文协议(InternetControl Message Protocol,ICMP)探测,若探测通过,则进行传输控制协议(TransmissionControl Protocol,TCP)探测,若探测通过,则验证结果可以为有网。若任一探测或解析不同通过,则验证结果可以为无网。
在验证结果为无网时,可以进一步确定无网的理由,即无网理由信息,如DNS解析失败、网络不可达或TCP建连失败。
S260、传输验证结果。
本公开实施例二提供的一种网络质量探测方法,具体化了添加探测请求的操作和网络质量验证操作。该方法,可以基于探测目标将探测请求添加至对应的探测队列中,以基于探测队列进行网络质量的探测,降低了直接基于探测请求进行网络质量探测的资源占用率。此外,该方法通过域名系统协议DNS解析、控制报文协议ICMP探测和传输控制协议TCP探测中的一个或多个技术手段实现了网络质量的探测,能够进一步确定无网的理由,便于后续处理分析。
在上述实施例的基础上,提出了上述实施例的变型实施例,在此需要说明的是,为了使描述简要,在变型实施例中仅描述与上述实施例的不同之处。
在一个实施例中,所述确定所述探测队列对应的探测目标,包括:
获取所述探测队列队首的探测请求;
将所述探测队列队首的探测请求对应的探测目标确定为所述探测队列对应的探测目标。
在确定探测队列对应的探测目标时,本实施例可以直接将探测队列队首的探测请求对应的探测目标确定为探测队列对应的探测目标。
在一个实施例中,对所述探测队列对应的探测目标进行网络质量验证,包括:
若所述探测队列对应的探测目标为域名形式,则对所述探测队列对应的探测目标进行域名系统协议DNS解析,否则直接对所述探测队列对应的探测目标进行ICMP探测;
若解析失败,则验证结果为无网;否则对所述探测队列对应的探测目标进行ICMP探测;
若存在返回信息,对所述探测队列对应的探测目标进行TCP建连;否则验证结果为无网;
若建连成功,则验证结果为有网;否则验证结果为无网;
在验证结果为无网时,所述验证结果还包括无网理由信息。
对域名形式的探测目标解析成IP形式。若无法解析成IP形式,可以认为是解析失败,验证结果可以为无网,无网理由信息可以为DNS解析失败。若能够解析成IP形式,则可以认为解析成功。
如果探测目标为IP形式,则可以进行ICMP探测,然后进行TCP探测。
返回信息可以认为是在进行ICMP探测时,返回的信息。若存在返回信息,则可以认为网络可达,可以继续进行TCP建联。若没有返回信息,则验证结果可以为无网。无网理由信息可以为TCP建联失败。无网理由信息可以是无网的理由。
在一个实施例中,对所述探测队列对应的探测目标进行ICMP探测,包括:
向所述探测队列对应的探测目标发送预设数量的ICMP包;
在第二预设时长内,若所述探测目标对应的任一探测对象针对所述ICMP包的返回量大于或等于设定阈值,则确定存在返回信息,验证结果包括网络可达;否则验证结果为无网,无网理由信息包括网络不可达。
预设数量不作限定,本领域技术人员可以根据实际情况自行设定。如10个。第二预设时长可以认为是检测针对ICMP包的返回量的时长。本实施例中可以通过监测第二预设时长内,探测目标对应的每个探测对象针对ICMP包的返回量。ICMP包可以认为是ICMP数据包,用于进行ICMP探测。
探测目标可以对应有多个探测对象,本实施例可以向各探测对象发送预设数量的ICMP包,若探测目标对应的任一探测对应针对ICMP包的返回量大于或等于设定阈值,如5,则可以确定存在返回信息。其中,设定阈值可以基于预设数量确定,此处不对设定阈值的具体数值进行限定。
在网络质量验证仅包括ICMP探测时,若存在返回信息,则验证结果可以为有网。
在一个实施例中,对所述探测队列对应的探测目标进行TCP探测,包括:
对所述探测队列对应的探测目标建立TCP握手连接;
在第三预设时长内,若所述探测目标对应的任一探测对象建连成功,则验证结果为有网;否则,验证结果为无网,无网理由信息包括无法建立TCP连接。
如果任一探测对象均建立失败,则无网理由信息包括无法建立TCP连接,即TCP建连失败。
第三预设时长可以认为是监测TCP建连是否成功的时长,此处不对第三预设时长进行限定。
在一个实施例中,若当前没有所述探测队列对应的探测任务运行,则基于所述探测队列进行网络质量验证,包括:
若当前没有所述探测队列对应的探测任务运行,且满足如下至少之一的情况下,则基于所述探测队列进行网络质量验证:
网络质量验证间隔时长大于或等于第四预设时长;第五预设时长内网络质量验证的次数小于或等于次数阈值。
为了进一步避免过度探测,本实施例还可以对进行网络质量验证的条件进行限定,如,在探测队列对应的探测任务未运行的情况下,若网络质量验证的间隔时长大于或等于第四预设时长,则可以进行网络质量验证;否则不进行网络质量验证,直至间隔时长大于或等于第四预设时长;又如,在探测队列对应的探测任务未运行的情况下,若第五预设时长内网络质量验证的次数小于或等于次数阈值,则可以进行网络质量验证;否则不进行网络质量验证。
其中,间隔时长可以认为是当前时间距离上次该探测队列进行网络质量验证的时间。第四预设时长和第五预设时长的具体数值不作限定,本领域技术人员可以基于实际情况设定。次数阈值可以基于实际情况设定,此处不作限定。
以下对本公开进行示例性的描述,本公开提供的网络质量探测方法可以认为是一种旁路网络质量探测框架的设计。
现有的网络质量探测框架,如Facebook开源的Network Connection Class,大多基于系统网络流量的采样,即每隔一段时间获取一次系统自启动以来消耗的流量,然后通过采样算法得到当前网络的带宽情况。这种做法有以下几种弊端:
a.依赖系统API提供当前网络流量,有系统兼容性问题;
b.测速时需要有能够全速占满带宽的网络操作,不够轻量,而且可能影响到测速阶段的其他网络操作;
c.测量的目标不明确,如果测速时有其他网络操作正在进行则可能影响测量结果;
d.流量消耗大,完整的测速需要下载比较大的数据。
为了在请求延时过长的时候快速确认用户当前所处的网络状态是确实无网还是弱网,本公开提供了一个旁路的探测框架来辅助判断当前是在等待数据返回还是陷入流量黑洞。
图2a为本公开实施例二提供的一种网络质量探测方法的框架示意图,参见图2a,本公开在实现网络质量探测时,软件架构包括业务层、java框架层和native层。在实现网络质量探测时,在业务层增加触发探测请求的操作,在业务请求发送时,可以创建一个超时定时器。若在超时定时器对应的设定时间内未收到该业务请求的反馈信息,则可以触发探测请求;否则取消该超时定时器。在触发探测请求时,该探测请求中可以包括有回调函数,以回调该探测请求的验证结果,从而确定网络状态。在java框架层,若接收到探测请求可以进行网络探测。在确定探测结果后,回调业务层初始化时注册的方法,以向业务层传输验证结果。Native层可以进行网络探测,并确定验证结果。
图2b为本公开实施例二提供的又一种网络质量探测方法的流程示意图,参见图2b,本公开的旁路网络质量探测方法,可以包括网络异常感知、网络异常探测和回调探测队列所有探测请求(即回调探测队列所有请求),上层做出相应处理三部分。
本公开提供的旁路框架对上层业务提供两个方法,即激活active与取消cancle,表示激活/取消一个延时定时器。在一个延时定时器激活超过设定时间(如5s)且未被取消时,则将这个探测请求加入到探测队列中。当探测队列中请求数量大于0、该探测队列有探测任务正在运行(通过检测是否存在探测任务的线程确定是否正在运行)且当前未命中频控策略时,激活一个网络探测线程调用native层探针进行网络探测并将验证结果回调给探测队列中积压的所有探测请求。该探测队列中所有的探测请求对应的探测目标可以相同。
其中,为了防止过度探测造成对服务资源的不必要损耗,探测任务需要遵守如下频控策略:
1.在一次探测任务成功后,第四预设时长,如30分钟内不会再进行网络探测,期间网络状态保持为有网,如验证结果为有网;
2.第五预设时长,如1h内最多执行次数阈值次,如五次探测任务,如果超过五次,则所有探测直接回调状态未知,如验证结果为未知。
示例性的,在进行网络质量探测时,可以结合网络探测通用参数,如超时参数、拓展定制的业务参数进行网络质量的探测。基于延时参数可以确定探测任务是否超时。在进行网络质量探测时,还可以进行探测结果的回调,所有探测队列中的探测请求都会收到探测结果;还可以进行探测任务的回调,只有实际触发探测任务的探测请求,如探测队列的队首请求才会收到。
在网络探测线程中会执行三个子任务——DNS解析、ICMP探测及TCP探测任务。
DNS解析即将提供的探测目标是域名形式的解析成IP形式,同时可以作为探测本地DNS是否正常即UDP DNS是否正常的依据。
ICMP探测即对提供的探测目标分别发送10个ICMP包并等待其响应,在超时时间内有任一目标(探测目标对应的任一探测对象)的ICMP包返回超过阈值,如大于5则视为ICMP探测通过,网络可达性没有问题。如果超过超时时间仍无任一目标ICMP包返回超过阈值则认为当前用户处于流量黑洞,即请求不可达的状态(一般为连入了无网路由器或网关失效),此时会直接中断探测,返回结果无网,即验证结果为无网。
TCP探测即对探测的目标分别尝试TCP握手建连,在超时时间(即第三预设时长)内有任一目标(探测目标对应的任一探测对象)的TCP建连成功则认为当前用户网络质量尚可,不影响TCP建连,返回结果有网。探测结果中目标TCP建连成功的数量越多,则说明网络质量越好。如果超过超时时间仍无任一目标TCP握手建连成功则认为用户虽然可以ping通服务器,但网络质量不足以支持TCP建连,返回结果无网。
在上述任务执行完成后会调用探测队列中所有探测请求的回调,通知他们当前网络状态的探测结果,即验证结果,使其可以针对网络状况作出终止请求和/或提示用户等操作。
实施例三
图3为本公开实施例三提供的一种网络质量探测装置的结构示意图,该装置可适用于进行网络质量探测的情况,其中该装置可由软件和/或硬件实现,并一般集成在终端设备上。
如图3所示,该装置包括:
获取模块31,用于获取探测请求;
添加模块32,用于将所述探测请求添加至对应的探测队列;
验证模块33,用于若当前没有所述探测队列对应的探测任务运行,则基于所述探测队列进行网络质量验证;
传输模块34,用于传输验证结果。
在本实施例中,该装置首先通过获取模块31获取探测请求;其次通过添加模块32将所述探测请求添加至对应的探测队列;然后通过验证模块33在当前没有所述探测队列对应的探测任务运行时,基于所述探测队列进行网络质量验证;最后通过传输模块34传输验证结果。
本实施例提供了一种网络质量探测装置,该网络质量探测装置直接基于由探测请求构建的探测队列进行网络质量验证,无需对系统网络流量进行采集,解决了基于系统网络流量的采集进行网络质量探测所带来的技术问题,实现了网络质量的探测。
进一步地,所述探测请求在业务请求的发送时长大于或等于第一预设时长,且未收到反馈信息的情况下触发。
进一步地,添加模块32,具体用于:
确定所述探测请求所包括的探测目标;
将所述探测请求添加至对应所述探测目标的探测队列中。
进一步地,验证模块33基于所述探测队列进行网络质量验证,包括:
确定所述探测队列对应的探测目标;
对所述探测队列对应的探测目标进行网络质量验证;网络质量验证的内容包括:域名系统协议DNS解析、控制报文协议ICMP探测和传输控制协议TCP探测中的一个或多个。
进一步地,验证模块33确定所述探测队列对应的探测目标,包括:
获取所述探测队列队首的探测请求;
将所述探测队列队首的探测请求对应的探测目标确定为所述探测队列对应的探测目标。
进一步地,验证模块33对所述探测队列对应的探测目标进行网络质量验证,包括:
若所述探测队列对应的探测目标为域名形式,则对所述探测队列对应的探测目标进行域名系统协议DNS解析,否则直接对所述探测队列对应的探测目标进行ICMP探测;
若解析失败,则验证结果为无网;否则对所述探测队列对应的探测目标进行ICMP探测;
若存在返回信息,对所述探测队列对应的探测目标进行TCP建连;否则验证结果为无网;
若建连成功,则验证结果为有网;否则验证结果为无网;
在验证结果为无网时,所述验证结果还包括无网理由信息。
进一步地,验证模块33对所述探测队列对应的探测目标进行ICMP探测,包括:
向所述探测队列对应的探测目标发送预设数量的ICMP包;
在第二预设时长内,若所述探测目标对应的任一探测对象针对所述ICMP包的返回量大于或等于设定阈值,则确定存在返回信息,验证结果包括网络可达;否则验证结果为无网,无网理由信息包括网络不可达。
进一步地,验证模块33对所述探测队列对应的探测目标进行TCP探测,包括:
对所述探测队列对应的探测目标建立TCP握手连接;
在第三预设时长内,若所述探测目标对应的任一探测对象建连成功,则验证结果为有网;否则,验证结果为无网,无网理由信息包括无法建立TCP连接。
进一步地,验证模块33,具体用于:
若当前没有所述探测队列对应的探测任务运行,且满足如下至少之一的情况下,则基于所述探测队列进行网络质量验证:
网络质量验证间隔时长大于或等于第四预设时长;第五预设时长内网络质量验证的次数小于或等于次数阈值。
上述网络质量探测装置可执行本公开任意实施例所提供的网络质量探测方法,具备执行方法相应的功能模块和有益效果。
实施例四
图4为本公开实施例四提供的一种终端设备的结构示意图。图4示出了适于用来实现本公开实施例的终端设备400的结构示意图。本公开实施例中的终端设备400可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、个人数字助理(Personal DigitalAssistant,PDA)、平板电脑(Portable Android Device,PAD)、便携式多媒体播放器(Portable Media Player,PMP)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图4示出的终端设备400仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图4所示,终端设备400可以包括一个或多个处理装置(例如中央处理器、图形处理器等)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储装置408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。一个或多个处理装置401实现如本公开提供的网络质量探测方法。在RAM403中,还存储有终端设备400操作所需的各种程序和数据。处理装置401、ROM 402以及RAM403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
通常,以下装置可以连接至I/O接口405:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置406;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置407;包括例如磁带、硬盘等的存储装置408,存储装置408用于存储一个或多个程序;以及通信装置409。通信装置409可以允许终端设备400与其他设备进行无线或有线通信以交换数据。虽然图4示出了具有各种装置的终端设备400,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置409从网络上被下载和安装,或者从存储装置408被安装,或者从ROM402被安装。在该计算机程序被处理装置401执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述终端设备400中所包含的;也可以是单独存在,而未装配入该终端设备400中。
上述计算机可读介质存储有一个或者多个计算机程序,当上述一个或者多个程序被处理装置执行时实现如下方法:
获取探测请求;
将所述探测请求添加至对应的探测队列;
若当前没有所述探测队列对应的探测任务运行,则基于所述探测队列进行网络质量验证;
传输验证结果。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的一个或多个实施例,示例1提供了一种网络质量探测方法,包括:
获取探测请求;
将所述探测请求添加至对应的探测队列;
若当前没有所述探测队列对应的探测任务运行,则基于所述探测队列进行网络质量验证;
传输验证结果。
根据本公开的一个或多个实施例,示例2根据示例1所述的方法,所述探测请求在业务请求的发送时长大于或等于第一预设时长,且未收到反馈信息的情况下触发。
根据本公开的一个或多个实施例,示例3根据示例1所述的方法,将所述探测请求添加至对应的探测队列,包括:
确定所述探测请求所包括的探测目标;
将所述探测请求添加至对应所述探测目标的探测队列中。
根据本公开的一个或多个实施例,示例4根据示例1所述的方法,基于所述探测队列进行网络质量验证,包括:
确定所述探测队列对应的探测目标;
对所述探测队列对应的探测目标进行网络质量验证;网络质量验证的内容包括:域名系统协议DNS解析、控制报文协议ICMP探测和传输控制协议TCP探测中的一个或多个。
根据本公开的一个或多个实施例,示例5根据示例4所述的方法,所述确定所述探测队列对应的探测目标,包括:
获取所述探测队列队首的探测请求;
将所述探测队列队首的探测请求对应的探测目标确定为所述探测队列对应的探测目标。
根据本公开的一个或多个实施例,示例6根据示例4所述的方法,对所述探测队列对应的探测目标进行网络质量验证,包括:
若所述探测队列对应的探测目标为域名形式,则对所述探测队列对应的探测目标进行域名系统协议DNS解析,否则直接对所述探测队列对应的探测目标进行ICMP探测;
若解析失败,则验证结果为无网;否则对所述探测队列对应的探测目标进行ICMP探测;
若存在返回信息,对所述探测队列对应的探测目标进行TCP建连;否则验证结果为无网;
若建连成功,则验证结果为有网;否则验证结果为无网;
在验证结果为无网时,所述验证结果还包括无网理由信息。
根据本公开的一个或多个实施例,示例7根据示例4所述的方法,对所述探测队列对应的探测目标进行ICMP探测,包括:
向所述探测队列对应的探测目标发送预设数量的ICMP包;
在第二预设时长内,若所述探测目标对应的任一探测对象针对所述ICMP包的返回量大于或等于设定阈值,则确定存在返回信息,验证结果包括网络可达;否则验证结果为无网,无网理由信息包括网络不可达。
根据本公开的一个或多个实施例,示例8根据示例4所述的方法,对所述探测队列对应的探测目标进行TCP探测,包括:
对所述探测队列对应的探测目标建立TCP握手连接;
在第三预设时长内,若所述探测目标对应的任一探测对象建连成功,则验证结果为有网;否则,验证结果为无网,无网理由信息包括无法建立TCP连接。
根据本公开的一个或多个实施例,示例9根据示例1-8任一所述的方法,若当前没有所述探测队列对应的探测任务运行,则基于所述探测队列进行网络质量验证,包括:
若当前没有所述探测队列对应的探测任务运行,且满足如下至少之一的情况下,则基于所述探测队列进行网络质量验证:
网络质量验证间隔时长大于或等于第四预设时长;第五预设时长内网络质量验证的次数小于或等于次数阈值。
根据本公开的一个或多个实施例,示例10提供了一种网络质量探测装置,包括:
获取模块,用于获取探测请求;
添加模块,用于将所述探测请求添加至对应的探测队列;
验证模块,用于若当前没有所述探测队列对应的探测任务运行,则基于所述探测队列进行网络质量验证;
传输模块,用于传输验证结果。
根据本公开的一个或多个实施例,示例11提供了一种终端设备,包括:
一个或多个处理装置;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理装置执行,使得所述一个或多个处理装置实现如示例1-9中任一所述的方法。
根据本公开的一个或多个实施例,示例12提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现如示例1-9中任一所述的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (12)

1.一种网络质量探测方法,其特征在于,包括:
获取探测请求;
将所述探测请求添加至对应的探测队列;
若当前没有所述探测队列对应的探测任务运行,则基于所述探测队列进行网络质量验证;
传输验证结果。
2.根据权利要求1所述的方法,其特征在于,所述探测请求在业务请求的发送时长大于或等于第一预设时长,且未收到反馈信息的情况下触发。
3.根据权利要求1所述的方法,其特征在于,将所述探测请求添加至对应的探测队列,包括:
确定所述探测请求所包括的探测目标;
将所述探测请求添加至对应所述探测目标的探测队列中。
4.根据权利要求1所述的方法,其特征在于,基于所述探测队列进行网络质量验证,包括:
确定所述探测队列对应的探测目标;
对所述探测队列对应的探测目标进行网络质量验证;网络质量验证的内容包括:域名系统协议DNS解析、控制报文协议ICMP探测和传输控制协议TCP探测中的一个或多个。
5.根据权利要求4所述的方法,其特征在于,所述确定所述探测队列对应的探测目标,包括:
获取所述探测队列队首的探测请求;
将所述探测队列队首的探测请求对应的探测目标确定为所述探测队列对应的探测目标。
6.根据权利要求4所述的方法,其特征在于,对所述探测队列对应的探测目标进行网络质量验证,包括:
若所述探测队列对应的探测目标为域名形式,则对所述探测队列对应的探测目标进行域名系统协议DNS解析,否则直接对所述探测队列对应的探测目标进行ICMP探测;
若解析失败,则验证结果为无网;否则对所述探测队列对应的探测目标进行ICMP探测;
若存在返回信息,对所述探测队列对应的探测目标进行TCP建连;否则验证结果为无网;
若建连成功,则验证结果为有网;否则验证结果为无网;
在验证结果为无网时,所述验证结果还包括无网理由信息。
7.根据权利要求4所述的方法,其特征在于,对所述探测队列对应的探测目标进行ICMP探测,包括:
向所述探测队列对应的探测目标发送预设数量的ICMP包;
在第二预设时长内,若所述探测目标对应的任一探测对象针对所述ICMP包的返回量大于或等于设定阈值,则确定存在返回信息,验证结果包括网络可达;否则验证结果为无网,无网理由信息包括网络不可达。
8.根据权利要求4所述的方法,其特征在于,对所述探测队列对应的探测目标进行TCP探测,包括:
对所述探测队列对应的探测目标建立TCP握手连接;
在第三预设时长内,若所述探测目标对应的任一探测对象建连成功,则验证结果为有网;否则,验证结果为无网,无网理由信息包括无法建立TCP连接。
9.根据权利要求1-8任一所述的方法,其特征在于,若当前没有所述探测队列对应的探测任务运行,则基于所述探测队列进行网络质量验证,包括:
若当前没有所述探测队列对应的探测任务运行,且满足如下至少之一的情况下,则基于所述探测队列进行网络质量验证:
网络质量验证间隔时长大于或等于第四预设时长;第五预设时长内网络质量验证的次数小于或等于次数阈值。
10.一种网络质量探测装置,其特征在于,包括:
获取模块,用于获取探测请求;
添加模块,用于将所述探测请求添加至对应的探测队列;
验证模块,用于若当前没有所述探测队列对应的探测任务运行,则基于所述探测队列进行网络质量验证;
传输模块,用于传输验证结果。
11.一种终端设备,其特征在于,包括:
一个或多个处理装置;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理装置执行,使得所述一个或多个处理装置实现如权利要求1-9中任一所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理装置执行时实现如权利要求1-9中任一所述的方法。
CN202010591419.4A 2020-06-24 2020-06-24 一种网络质量探测方法、装置、终端设备及介质 Active CN113839828B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010591419.4A CN113839828B (zh) 2020-06-24 2020-06-24 一种网络质量探测方法、装置、终端设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010591419.4A CN113839828B (zh) 2020-06-24 2020-06-24 一种网络质量探测方法、装置、终端设备及介质

Publications (2)

Publication Number Publication Date
CN113839828A true CN113839828A (zh) 2021-12-24
CN113839828B CN113839828B (zh) 2023-06-27

Family

ID=78964958

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010591419.4A Active CN113839828B (zh) 2020-06-24 2020-06-24 一种网络质量探测方法、装置、终端设备及介质

Country Status (1)

Country Link
CN (1) CN113839828B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115225530A (zh) * 2022-07-02 2022-10-21 北京华顺信安科技有限公司 一种资产状态监测方法、装置、设备和介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104883298A (zh) * 2015-06-12 2015-09-02 中国通信建设集团设计院有限公司 一种业务质量探测方法及路由器
CN105187228A (zh) * 2015-06-12 2015-12-23 中国通信建设集团设计院有限公司 一种网络质量探测方法及路由器
CN108696400A (zh) * 2017-04-12 2018-10-23 北京京东尚科信息技术有限公司 网络监测方法和装置
CN108781228A (zh) * 2016-03-09 2018-11-09 微软技术许可有限责任公司 根据网络条件调整应用通信
CN109120691A (zh) * 2018-08-15 2019-01-01 浙江鲸腾网络科技有限公司 业务系统的状态检测方法、系统、装置及计算机可读介质
CN111193608A (zh) * 2019-11-19 2020-05-22 腾讯云计算(北京)有限责任公司 网络质量探测监控方法、装置、系统和计算机设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104883298A (zh) * 2015-06-12 2015-09-02 中国通信建设集团设计院有限公司 一种业务质量探测方法及路由器
CN105187228A (zh) * 2015-06-12 2015-12-23 中国通信建设集团设计院有限公司 一种网络质量探测方法及路由器
CN108781228A (zh) * 2016-03-09 2018-11-09 微软技术许可有限责任公司 根据网络条件调整应用通信
CN108696400A (zh) * 2017-04-12 2018-10-23 北京京东尚科信息技术有限公司 网络监测方法和装置
CN109120691A (zh) * 2018-08-15 2019-01-01 浙江鲸腾网络科技有限公司 业务系统的状态检测方法、系统、装置及计算机可读介质
CN111193608A (zh) * 2019-11-19 2020-05-22 腾讯云计算(北京)有限责任公司 网络质量探测监控方法、装置、系统和计算机设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115225530A (zh) * 2022-07-02 2022-10-21 北京华顺信安科技有限公司 一种资产状态监测方法、装置、设备和介质
CN115225530B (zh) * 2022-07-02 2023-09-05 北京华顺信安科技有限公司 一种资产状态监测方法、装置、设备和介质

Also Published As

Publication number Publication date
CN113839828B (zh) 2023-06-27

Similar Documents

Publication Publication Date Title
CN111694674B (zh) 消息分发处理方法、装置、设备及存储介质
CN111314181B (zh) 网络联通性诊断方法、装置、终端和存储介质
CN110519824B (zh) 一种终端路由选择策略更新的方法和装置
CN110708696B (zh) 网络数据的恢复方法、装置、存储介质及电子设备
CN109067571B (zh) 电子装置及其网络配置方法、存储介质
US9549335B2 (en) Traffic aggregation at end device
US11665057B2 (en) Method for reducing power consumption and device
CN113271592B (zh) 数据传输方法、装置和电子设备
US10327206B2 (en) Method and apparatus for controlling TCP packets in communication system
CN114071544B (zh) 网络测试方法、装置和电子设备
CN113839828B (zh) 一种网络质量探测方法、装置、终端设备及介质
US11706301B2 (en) Server node selection method and terminal device
CN112968935B (zh) 数据传输方法、装置、终端和存储介质
CN112968871B (zh) 应用程序的登录方法、装置、可读介质和电子设备
US9930101B2 (en) Receiving a communication event
US8958784B2 (en) Telephone call co-processing in for mobile telephones
CN116781782A (zh) 请求处理方法、装置、电子设备及存储介质
CN115840399A (zh) 一种基于物联网的智能楼宇监控系统及其监控方法
CN114328216A (zh) 一种漏洞挖掘的方法和装置
CN113722097A (zh) 一种浪涌保护方法、装置、电子设备及存储介质
CN116938598B (zh) 信息发送方法、装置、电子设备和计算机可读介质
CN112804768B (zh) 处理通信连接的方法及装置、终端和非暂时性存储介质
CN111212137B (zh) 由防火墙执行的点对点数据传输的识别方法和装置
CN111935309B (zh) 一种循环任务管理方法及装置
CN110380937B (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