CN115086235B - 网络拥塞检测方法、装置、电子设备以及存储介质 - Google Patents

网络拥塞检测方法、装置、电子设备以及存储介质 Download PDF

Info

Publication number
CN115086235B
CN115086235B CN202210615793.2A CN202210615793A CN115086235B CN 115086235 B CN115086235 B CN 115086235B CN 202210615793 A CN202210615793 A CN 202210615793A CN 115086235 B CN115086235 B CN 115086235B
Authority
CN
China
Prior art keywords
delay
network
congestion state
noise
data packet
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
Application number
CN202210615793.2A
Other languages
English (en)
Other versions
CN115086235A (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 Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information 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 Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202210615793.2A priority Critical patent/CN115086235B/zh
Publication of CN115086235A publication Critical patent/CN115086235A/zh
Application granted granted Critical
Publication of CN115086235B publication Critical patent/CN115086235B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • 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/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring

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

网络拥塞检测方法、装置、电子设备以及存储介质
技术领域
本公开涉及网络传输技术领域,尤其涉及一种网络拥塞检测方法、装置、电子设备以及存储介质。
背景技术
在即时通讯领域的视频连麦、视频会议等场景中,往往会基于排队延时来检测网络是否拥塞,而排队延时一般基于整体的延时减去传输距离的延时得到;然而,整体的延时还包括其他不稳定传输因素的延时,因此,目前确定的排队延时准确性低,进而降低了拥塞检测的准确性。
发明内容
本公开提供一种网络拥塞检测方法、装置、电子设备以及存储介质,提高了确定的排队延时的准确性,也就提高了拥塞检测的准确性。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种网络拥塞检测方法,该方法包括:
获取当前数据包在网络中的传输延时;
基于所述网络的历史拥塞状态和噪声延时分布信息,确定目标分布阈值,所述噪声延时分布信息基于所述当前数据包之前目标个数的数据包的噪声延时确定,所述网络的历史拥塞状态为上一次检测所确定的所述网络的拥塞状态;
基于所述传输延时和所述目标分布阈值,确定所述当前数据包的第一排队延时;
基于所述第一排队延时,确定所述网络当前是否处于拥塞状态。
在该方法中,基于网络的历史拥塞状态和噪声延时分布信息,确定了目标分布阈值,由于噪声延时分布信息基于当前数据包之前目标个数的数据包的噪声延时确定,使得目标分布阈值能够接近当前数据包的噪声延时;进而基于传输延时和目标分布阈值,来确定排队延时,使得该排队延时就可以排除噪声延时的干扰,即提高了所确定的排队延时的准确性,也就提高了拥塞检测的准确性。
在一些实施例中,所述基于所述网络的历史拥塞状态和噪声延时分布信息,确定目标分布阈值,包括以下至少一种实现方式:
在所述历史拥塞状态为非拥塞状态的情况下,将所述噪声延时分布信息中目标分位数对应的噪声延时,作为所述目标分布阈值;
在所述历史拥塞状态为拥塞状态的情况下,将所述噪声延时分布信息中多个噪声延时的平均值,作为所述目标分布阈值。
在该实施例中,在网络的历史拥塞状态为非拥塞状态的情况下,将噪声延时分布信息中目标分位数对应的噪声延时,作为目标分布阈值,使得目标分布阈值更加接近当前数据包的噪声延时,这样不仅保证了模拟噪声延时的准确性,且提高了获取当前数据包的噪声延时的效率。并且,在网络的历史拥塞状态为拥塞状态的情况下,将噪声延时分布信息中多个噪声延时的平均值,作为目标分布阈值,使得目标分布阈值代表了多个噪声延时的平均分布情况,即进一步提高了目标分布阈值对噪声延时进行模拟的准确性。
在一些实施例中,在所述历史拥塞状态为非拥塞状态的情况下,所述基于所述第一排队延时,确定所述网络当前是否处于拥塞状态,包括:
在所述第一排队延时大于或等于第一阈值的情况下,将计数器加1;
在所述计数器的计数小于第二阈值的情况下,将所述传输延时缓存到缓存中,所述缓存中缓存有至少一个数据包的传输延时;
在所述计数器的计数大于或等于所述第二阈值的情况下,确定所述网络当前处于拥塞状态。
在该实施例中,在计数器的计数大于或等于第二阈值的情况下,说明连续多个数据包的排队延时都偏离了正常的分布,即此时网络进入了拥塞状态的概率很大,进而此时确定网络当前处于拥塞状态,提高了拥塞检测的准确性。
在一些实施例中,该方法还包括:
在确定所述网络当前处于拥塞状态的情况下,清空所述计数器和所述缓存中缓存的传输延时。
在该实施例中,通过及时清空计数器,避免了对下次检测造成影响,以便重新进行计数;且通过及时清空缓存中缓存的传输延时,避免了对下次检测造成影响,以便于在下次检测时对传输延时进行缓存。
在一些实施例中,该方法还包括:
在所述第一排队延时小于所述第一阈值的情况下,确定所述网络当前处于非拥塞状态。
在该实施例中,在上一次检测所确定的网络处于非拥塞状态,且第一排队延时小于第一阈值的情况下,说明此时网络未进入拥塞状态,进而此时确定网络当前处于非拥塞状态,提高了拥塞检测的准确性。
在一些实施例中,所述方法还包括以下至少一种实现方式:
基于所述当前数据包的传输延时,更新所述噪声延时分布信息;
在所述计数器的计数不为0的情况下,基于所述缓存中缓存的传输延时,更新所述噪声延时分布信息,且清空所述计数器。
在该实施例中,通过基于传输延时,来更新噪声延时分布信息,使得噪声延时分布信息能够实时代表网络在最近一段时间的噪声延时的分布状态,且由于在网络当前处于非拥塞状态下,才基于传输延时更新噪声延时分布信息,进而保证了更新后的噪声延时分布信息的准确性。且由于网络处于非拥塞状态下,传输延时约等于噪声延时,因此基于缓存中的传输延时来更新噪声延时分布信息,保证了更新后的噪声延时分布信息性的准确性;并且,通过及时清空计数器,避免了对下次网络拥塞检测造成影响,以便重新进行计数。
在一些实施例中,在所述历史拥塞状态为拥塞状态的情况下,所述基于所述第一排队延时,确定所述网络当前是否处于拥塞状态,包括:
获取第二排队延时,所述第二排队延时为上一数据包的双向时延对应的平均排队延时;
在所述第二排队延时和所述第一排队延时均小于第三阈值的情况下,确定所述网络当前处于非拥塞状态。
在该实施例中,通过当前数据包的排队延时和上一数据包的排队延时,来共同确定网络当前是否切换到了非拥塞状态,保证了确定的网络拥塞状态的准确性。
在一些实施例中,所述方法还包括:
在所述历史拥塞状态为非拥塞状态的情况下,以第一频率执行所述网络拥塞检测方法;
在所述历史拥塞状态为拥塞状态的情况下,以第二频率执行所述网络拥塞检测方法,所述第二频率低于所述第一频率。
在该实施例中,通过在历史拥塞状态为拥塞状态的情况下,降低执行网络拥塞检测方法的频率,不必每个数据包都执行一次网络拥塞检测方法,从而节约了网络处于拥塞状态下的检测资源。
在一些实施例中,所述获取当前数据包在网络中的传输延时,包括:
将所述当前数据包的单向传播延时与目标时间窗口内的最小单向传播延时之差,作为所述传输延时。
在该实施例中,在具有最小单向传播延时的数据包的传输过程中,可以认为仅存在由于传输距离导致的固定传输延时,因此,将当前数据包的单向传播延时与目标时间窗口内的数据包的最小单向传播延时之差,作为传输延时,不仅保证了得到的传输延时的准确性,且提高了传输延时的获取效率。
根据本公开实施例的第二方面,提供一种网络拥塞检测装置,该装置包括:
获取单元,被配置为执行获取当前数据包在网络中的传输延时;
第一确定单元,被配置为执行基于所述网络的历史拥塞状态和噪声延时分布信息,确定目标分布阈值,所述噪声延时分布信息基于所述当前数据包之前目标个数的数据包的噪声延时确定,所述网络的历史拥塞状态为上一次检测所确定的所述网络的拥塞状态;
第二确定单元,被配置为执行基于所述传输延时和所述目标分布阈值,确定所述当前数据包的第一排队延时;
第三确定单元,被配置为执行基于所述第一排队延时,确定所述网络当前是否处于拥塞状态。
在一些实施例中,所述第一确定单元,被配置为执行:
在所述历史拥塞状态为非拥塞状态的情况下,将所述噪声延时分布信息中目标分位数对应的噪声延时,作为所述目标分布阈值;
在所述历史拥塞状态为拥塞状态的情况下,将所述噪声延时分布信息中多个噪声延时的平均值,作为所述目标分布阈值。
在一些实施例中,在所述历史拥塞状态为非拥塞状态的情况下,所述第三确定单元,被配置为执行:
在所述第一排队延时大于或等于第一阈值的情况下,将计数器加1;
在所述计数器的计数小于第二阈值的情况下,将所述传输延时缓存到缓存中,所述缓存中缓存有至少一个数据包的传输延时;
在所述计数器的计数大于或等于所述第二阈值的情况下,确定所述网络当前处于拥塞状态。
在一些实施例中,所述装置还包括:
清空单元,被配置为执行在确定所述网络当前处于拥塞状态的情况下,清空所述计数器和所述缓存中缓存的传输延时。
在一些实施例中,所述装置还包括:
第四确定单元,被配置为执行在所述第一排队延时小于所述第一阈值的情况下,确定所述网络当前处于非拥塞状态。
在一些实施例中,所述装置还包括:
第一更新单元,被配置为执行基于所述当前数据包的传输延时,更新所述噪声延时分布信息;
第二更新单元,被配置为执行在所述计数器的计数不为0的情况下,基于所述缓存中缓存的传输延时,更新所述噪声延时分布信息,且清空所述计数器。
在一些实施例中,在所述历史拥塞状态为拥塞状态的情况下,所述第三确定单元,被配置为执行获取第二排队延时,所述第二排队延时为上一数据包的双向时延对应的平均排队延时;在所述第二排队延时和所述第一排队延时均小于第三阈值的情况下,确定所述网络当前处于非拥塞状态。
在一些实施例中,所述装置还包括:
第一执行单元,被配置为执行在所述历史拥塞状态为非拥塞状态的情况下,以第一频率执行所述网络拥塞检测方法;
第二执行单元,被配置为执行在所述历史拥塞状态为拥塞状态的情况下,以第二频率执行所述网络拥塞检测方法,所述第二频率低于所述第一频率。
在一些实施例中,所述获取单元,被配置为执行将所述当前数据包的单向传播延时与目标时间窗口内的最小单向传播延时之差,作为所述传输延时。
根据本公开实施例的第三方面,提供一种电子设备,该电子设备包括:
一个或多个处理器;
用于存储该处理器可执行程序代码的存储器;
其中,该处理器被配置为执行该程序代码,以实现上述的网络拥塞检测方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,该计算机可读存储介质包括:当该计算机可读存储介质中的程序代码由电子设备的处理器执行时,使得电子设备能够执行上述的网络拥塞检测方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的网络拥塞检测方法。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种实施环境示意图;
图2是根据一示例性实施例示出的一种应用场景示意图;
图3是根据一示例性实施例示出的一种网络拥塞检测方法的流程图;
图4是根据一示例性实施例示出的另一种网络拥塞检测方法的流程图;
图5是根据一示例性实施例示出的另一种网络拥塞检测方法的流程图;
图6是根据一示例性实施例示出的一种网络拥塞检测装置的框图;
图7是根据一示例性实施例示出的一种终端的框图;
图8是根据一示例性实施例示出的一种服务器的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
需要说明的是,本公开所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本公开实施例中涉及到的数据包的传输延时等都是在充分授权的情况下获取的。
图1是本公开实施例提供的一种实施环境示意图,参见图1,该实施环境包括:终端101和服务器102。
终端101可以为智能手机、智能手表、台式电脑、手提电脑、虚拟现实终端、增强现实终端、无线终端和膝上型便携计算机等设备中的至少一种。终端101具有通信功能,可以接入有线网络或无线网络。终端101可以泛指多个终端中的一个,本领域技术人员可以知晓,上述终端的数量可以更多或更少。
服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式文件系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。在一些实施例中,服务器102与终端101通过有线或无线通信方式进行直接或间接的连接,本公开实施例对此不作限定。可选地,上述服务器102的数量可以更多或更少,本公开实施例对此不加以限定。当然,服务器102还可以包括其他功能服务器,以便提供更全面且多样化的服务。其中,服务器102承担主要计算工作,终端101承担次要计算工作;或者,服务器102承担次要计算工作,终端101承担主要计算工作;或者,服务器102或终端101分别能够单独承担计算工作,本公开实施例对此不作限定。
在一些实施例中,终端101包括发送端1011和接收端1012,发送端1011和接收端1012通过有线网络或无线网络进行数据的传输,发送端1011用于发送数据,接收端1012用于接收数据;服务器102为发送端1011和接收端1012的后台服务器,服务器102用于获取发送端1011的延时数据(如数据发送时间)和接收端1012的延时数据(如数据接收时间),以基于发送端1011的延时数据和接收端1012的延时数据,来获取数据传输过程中的排队延时,进而基于排队延时确定网络的拥塞状态。
在另一些实施例中,接收端1012获取发送端1011的延时数据,将接收端1012的延时数据和发送端1011的延时数据均发送到服务器102,服务器102基于发送端1011的延时数据和接收端1012的延时数据,来获取数据传输过程中的排队延时,进而基于排队延时确定网络的拥塞状态。
在另一些实施例中,本公开实施例提供的网络拥塞检测方法,由终端101单独执行实现,终端101包括发送端1011和接收端1012,接收端1012获取发送端1011的延时数据;然后接收端1012基于发送端1011的延时数据和接收端1012的延时数据,来获取数据传输过程中的排队延时,进而基于排队延时确定网络的拥塞状态。
在介绍本公开实施例提供的网络拥塞检测方法之前,为便于理解,下面先对本公开实施例的应用场景进行介绍。
示意性地,在一些即时通讯的场景中(如视频连麦、视频会议等等),数据在至少两个通讯终端进行传输时,会由于多种传输因素导致数据传输的延时;往往通过排队延时来确定网络是否拥塞,进而基于网络的拥塞状态对网络的各种传输参数进行调整,以使数据能够高效、平稳地传输。
图2是根据一示例性实施例示出的一种网络拥塞检测方法的应用场景示意图,如图2所示,该拥塞检测方法应用于拥塞控制系统中的拥塞检测模块,该拥塞控制系统中还包括带宽估计模块、调节(pacing)模块和反馈输出模块。其中,电子设备收到数据包后,触发拥塞检测流程;首先,电子设备通过拥塞检测模块,确定网络的拥塞状态,且通过带宽估计模块,基于数据包的发送速率和接收速率,预估网络瓶颈带宽;然后,电子设备通过调节模块,基于网络的拥塞状态、数据包的排队延时和网络瓶颈带宽,得到预期的发送速率;最后,电子设备通过反馈输出模块,汇总各个模块的输出,并确定是否需要向数据包的发送端反馈拥塞检测算法的输出;可选地,该输出包括网络的拥塞状态、网络瓶颈带宽和预期的发送速率中的至少一项,在此不作具体限定。本公开实施例提供的网络拥塞检测算法应用在上述场景中,能够将确定出的网络的拥塞状态反馈给数据包的发送端,进而会在发送端对网络的传输参数(如数据发送速率、带宽等)进行调整,以改善网络的延时情况,保证在延时尽可能低的同时充分利用带宽,以在各种网络环境下保证通话延时的同时尽可能提升通话视频的清晰度。
图3是根据一示例性实施例示出的一种网络拥塞检测方法的流程图,如图3所示,该方法以用于电子设备中为例,包括以下步骤:
在步骤301中,电子设备获取当前数据包在网络中的传输延时。
在数据的网络传输过程中,一个数据包从发送端传输到接收端的总延时tansport_delay如下述公式(1)所示,分为3部分。
tansport_delay=const_link_delay+noise_link_delay+queue_delay (1);
其中,tansport_delay表示总延时,const_link_delay表示数据传输链路的固定传输延时,与发送端和接收端的距离关联;noise_link_delay表示噪声延时,由数据传输链路的WIFI信号波动、路由抖动等不稳定的传输因素造成;queue_delay表示数据包在数据传输链路中因拥塞排队等待造成的排队延时,和网络的拥塞状态有关。
在本公开实施例中,数据包在网络中的传输延时指noise_and_queue_delay,即总延时减去固定传输延时后所得到的延时。
在步骤302中,电子设备基于网络的历史拥塞状态和噪声延时分布信息,确定目标分布阈值。
在本公开实施例中,噪声延时分布信息基于当前数据包之前目标个数的数据包的噪声延时确定,网络的历史拥塞状态为上一次检测所确定的网络的拥塞状态;网络的历史拥塞状态包括拥塞状态和非拥塞状态;目标个数基于经验值确定,如目标个数为512个。
在步骤303中,电子设备基于传输延时和目标分布阈值,确定当前数据包的第一排队延时。
在本公开实施例中,目标分布阈值用于模拟不稳定的传输因素造成的延时,电子设备将传输延时与目标分布阈值的差值,作为第一排队延时。其中,电子设备通过噪声延时分布信息,估计出当前数据包的噪声延时,即目标分布阈值,从而能够得到网络当前的排队延时,以便后续基于排队延时,确定网络当前是否处于拥塞状态。
在步骤304中,电子设备基于第一排队延时,确定网络当前是否处于拥塞状态。
在该方法中,基于网络的历史拥塞状态和噪声延时分布信息,确定了目标分布阈值,由于噪声延时分布信息基于当前数据包之前目标个数的数据包的噪声延时确定,使得目标分布阈值能够接近当前数据包的噪声延时;进而基于传输延时和目标分布阈值,来确定排队延时,使得该排队延时就可以排除噪声延时的干扰,即提高了所确定的排队延时的准确性,也就提高了拥塞检测的准确性。
上述图3所示仅为本公开的基本流程,下面基于一种具体实施方式,来对本公开提供的方案进行进一步阐述,图4是根据一示例性实施例示出的一种网络拥塞检测方法的流程图,如图4所示,该方法用于电子设备中,包括以下步骤:
在步骤401中,电子设备获取当前数据包在网络中的传输延时。
在一些实施例中,电子设备获取当前数据包在网络中的传输延时,包括以下步骤:电子设备将当前数据包的单向传播延时与目标时间窗口内的数据包的最小单向传播延时之差,作为传输延时。
当前数据包的单向传播延时由数据包的接收时间和发送时间相减得到,单向传播延时可能包括固定传输延时、不稳定传输因素造成的延时和网络拥塞造成的延时。目标时间窗口为距离当前时间最近的一段时间窗口,目标时间窗口的长度基于经验值确定;可选地,目标时间窗口长度取10s。
其中,电子设备通过下述公式(2)得到传输延时。
noise_and_queue_delay=one_way_delay-min_one_way_delay (2);
noise_and_queue_delay表示传输延时;one_way_delay表示单向传播延时;min_one_way_delay表示目标时间窗口内的最小单向传播延时。
在该实施例中,在具有最小单向传播延时的数据包的传输过程中,可以认为仅存在由于传输距离导致的固定传输延时,因此,将当前数据包的单向传播延时与目标时间窗口内的数据包的最小单向传播延时之差,作为传输延时,不仅保证了得到的传输延时的准确性,且提高了传输延时的获取效率。
在步骤402中,在历史拥塞状态为非拥塞状态的情况下,电子设备将噪声延时分布信息中目标分位数对应的噪声延时,作为目标分布阈值。
需要说明的是,由于数据传输链路的WIFI信号波动、路由抖动等不稳定的传输因素造成的延时,在一段时间内(如4s、5s等)内的分布是比较稳定的,因此,数据包的噪声延时会符合该段时间内整体的噪声延时分布规律;这样在该实施例中,将噪声延时分布信息中目标分位数对应的噪声延时,作为目标分布阈值,使得目标分布阈值更加接近当前数据包的噪声延时,这样不仅保证了模拟的噪声延时的准确性,且提高了模拟当前数据包的噪声延时的效率。
其中,目标分位数可以根据需要进行设定并更改;可选地,目标分位数为90分位数,通过设置较大的分位数,使得确定的目标分布阈值与目标个数的数据包中大部分数据包的噪声延时相匹配,进而使得目标分布阈值更加接近当前数据包的噪声延时。
在步骤403中,电子设备基于传输延时和目标分布阈值,确定当前数据包的第一排队延时。
在一些实施例中,目标分位数为90分位数,电子设备通过下述公式(3)得到第一排队延时。
queue_delay=noise_and_queue_delay-distribution(noise_link_delay)90th(3);
其中,queue_delay表示第一排队延时,noise_and_queue_delay表示传输延时,distribution(noise_link_delay)90th表示目标分布阈值;90th表示90分位数。
在该实施例中,由于目标分布阈值接近当前数据包的噪声延时,进而将传输延时和目标分布阈值的差值,作为第一排队延时,提高了获取当前数据包的排队延时的准确性和效率。
在步骤404中,电子设备基于第一排队延时,确定网络当前是否处于拥塞状态。
需要说明的是,数据传输过程中会存在各种不稳定的传输因素,导致排队延时存在过大或过小的突变误差,即仅基于当前数据包的排队延时所确定的网络当前的拥塞状态可能不准确。因此,可以通过对第一排队延时大于或等于第一阈值的数据包的数量进行统计,以基于统计所得到的数量确定网络当前的拥塞状态。在一些实施例中,电子设备基于第一排队延时,确定网络当前是否处于拥塞状态,包括以下步骤:电子设备在第一排队延时大于或等于第一阈值的情况下,将计数器加1;电子设备在计数器的计数小于第二阈值的情况下,将传输延时缓存到缓存中,缓存中缓存有至少一个数据包的传输延时;电子设备在计数器的计数大于或等于第二阈值的情况下,确定网络当前处于拥塞状态。
其中,第一阈值和第二阈值均为基于经验值确定的,可以根据需要进行设定并更改;可选地,第一阈值为100ms,第二阈值为10。
在该实施例中,在计数器的计数大于或等于第二阈值的情况下,说明连续多个数据包的排队延时都偏离了正常的分布,即此时网络进入了拥塞状态的概率很大,进而此时确定网络当前处于拥塞状态,提高了拥塞检测的准确性。
并且,在该实施例中,在计数器的计数小于第二阈值的情况下,即还不能确定网络当前是否进入拥塞状态的情况下,将传输延时缓存到缓存中,避免了将网络当前处于拥塞状态时的传输延时更新到噪声延时分布信息;且后续确定网络当前处于非拥塞状态时,也能够直接将缓存的传输延时更新到噪声延时分布信息,进而提高了更新噪声延时分布信息的效率。
需要说明的是,电子设备下次确定网络的拥塞状态时,计数器需要重新计数,且缓存中需要重新进行缓存;因此,在一些实施例中,电子设备在确定网络当前处于拥塞状态的情况下,清空计数器和缓存中缓存的传输延时。在该实施例中,通过及时清空计数器,避免了对下次检测造成的影响,以便重新进行计数;且通过及时清空缓存中缓存的传输延时,避免了对下次检测造成影响,以便于在下次检测时对传输延时进行缓存。
需要说明的是,在历史拥塞状态为非拥塞状态的情况下,若数据包的排队延时仍较小,则说明网络当前并未切换到拥塞状态。因此,在一些实施例中,电子设备在第一排队延时小于第一阈值的情况下,确定网络当前处于非拥塞状态;在该实施例中,在上一次检测所确定的网络处于非拥塞状态,且第一排队延时小于第一阈值的情况下,说明此时网络未进入拥塞状态,进而此时确定网络当前处于非拥塞状态,提高了拥塞检测的准确性。
其中,若电子设备确定网络当前处于非拥塞状态,此时传输延时约等于噪声延时。因此,在一些实施例中,电子设备确定网络当前处于非拥塞状态的情况下,基于当前数据包的传输延时,更新噪声延时分布信息。在该实施例中,通过基于传输延时,来更新噪声延时分布信息,使得噪声延时分布信息能够实时代表网络在最近一段时间的噪声延时的分布状态,且由于在网络当前处于非拥塞状态下,才基于传输延时更新噪声延时分布信息,进而保证了更新后的噪声延时分布信息的准确性。
并且,在基于当前数据包的排队延时确定网络当前处于非拥塞状态的情况下,若计数器的计数不为0,则说明计数器之前的计数对应的较大的排队延时,是由于网络的正常抖动造成的误差;因此,在一些实施例中,电子设备基于第一排队延时确定网络当前处于非拥塞状态,且在计数器的计数不为0的情况下,基于缓存中缓存的传输延时,更新噪声延时分布信息,且清空计数器。在该实施例中,由于网络当前处于非拥塞状态下,传输延时约等于噪声延时,因此基于缓存中的传输延时来更新噪声延时分布信息,保证了更新后的噪声延时分布信息的准确性;并且,通过及时清空计数器,避免了对下次网络拥塞检测造成影响,以便重新进行计数。
需要说明的是,电子设备若基于当前数据包的传输延时更新噪声延时分布信息,则将该噪声延时分布信息对应的目标个数的数据包中,距当前时间最远的数据包去除,进而基于剩余数据包的噪声延时和当前数据包的传输延时,生成新的噪声延时分布信息,以使噪声延时分布信息能够稳定代表网络在最近一段时间的噪声延时的分布状态。
在一些实施例中,电子设备对于网络的不同历史拥塞状态,以不同的频率执行网络拥塞检测方法;其中,电子设备在历史拥塞状态为非拥塞状态的情况下,以第一频率执行网络拥塞检测方法;电子设备在历史拥塞状态为拥塞状态的情况下,以第二频率执行网络拥塞检测方法,第二频率低于第一频率。
在一种实现方式中,第一频率为全采样频率,即在历史拥塞状态为非拥塞状态的情况下,电子设备针对每个数据包,来执行网络拥塞检测方法。第二频率低于第一频率,且第二频率基于经验值设定;可选地,第二频率为5%,即每100个数据包中,取5个数据包的传输延时,分别执行网络拥塞检测方法。在该实施例中,通过在历史拥塞状态为拥塞状态的情况下,降低执行网络拥塞检测方法的频率,不必每个数据包都执行一次网络拥塞检测方法,从而节约了在历史拥塞状态为拥塞状态的情况下的检测资源。
在一些实施例中,电子设备在初始进行网络拥塞检测时,并没有足够多的噪声延时样本能够用于确定噪声延时分布信息;因此,在一种实现方式中,电子设备通过比较数据包的传输延时与第一阈值的大小,来确定网络当前的拥塞状态;在传输延时大于或等于第一阈值的情况下,电子设备确定网络当前处于拥塞状态,在传输延时小于第一阈值的情况下,电子设备确定网络当前处于非拥塞状态。
在该方法中,基于网络的历史拥塞状态和噪声延时分布信息中目标分位数的噪声延时,确定了目标分布阈值,由于噪声延时分布信息基于当前数据包之前目标个数的数据包的噪声延时确定,使得目标分布阈值进一步接近当前数据包的噪声延时;进而基于传输延时和目标分布阈值,来确定排队延时,使得该排队延时就可以排除噪声延时的干扰,即提高了所确定的排队延时的准确性,也就提高了拥塞检测的准确性。
基于上述图4所示实施例,对本公开在网络的历史拥塞状态为非拥塞状态的情况下进行网络拥塞检测的过程进行了介绍;图5是根据一示例性实施例示出的一种网络拥塞检测方法的流程图,如图5所示,该方法用于电子设备中,为在网络的历史拥塞状态为拥塞状态的情况下进行网络拥塞检测的方法,包括以下步骤:
在步骤501中,电子设备获取当前数据包在网络中的传输延时。
该步骤与步骤401同理,在此不再赘述。
在步骤502中,在历史拥塞状态为拥塞状态的情况下,电子设备将噪声延时分布信息中多个噪声延时的平均值,作为目标分布阈值。
需要说明的是,由于数据传输链路的WIFI信号波动、路由抖动等不稳定的传输因素造成的延时,在一段时间内(如4s、5s等)内的分布是比较稳定的,因此,任一数据包的噪声延时分布是符合该段时间内整体的噪声延时分布的,这样基于噪声延时分布信息中多个噪声延时的平均值,来模拟当前数据包的噪声延时,不仅保证了模拟的噪声延时的准确性,且提高了获取当前数据包的噪声延时的效率。并且,将噪声延时分布信息中多个噪声延时的平均值,作为目标分布阈值,使得目标分布阈值代表了多个噪声延时的平均分布情况,即进一步提高了目标分布阈值对噪声延时进行模拟的准确性。
在步骤503中,电子设备基于传输延时和目标分布阈值,确定当前数据包的第一排队延时。
电子设备将传输延时和目标分布阈值的差值,作为第一排队延时;可选地,电子设备通过下述公式(4)得到第一排队延时。
queue_delay=noise_and_queue_delay-distribution(noise_link_delay)average (4);
其中,queue_delay表示第一排队延时,noise_and_queue_delay表示传输延时,distribution(noise_link_delay)average表示目标分布阈值;average表示平均值。
在该实施例中,电子设备通过目标分布阈值模拟当前数据包的噪声延时,且将传输延时和目标分布阈值的差值,作为第一排队延时,进而提高了获取当前数据包的排队延时的准确性和效率。
在步骤504中,电子设备获取第二排队延时。
在一种实现方式中,第二排队延时为上一数据包的双向时延对应的平均排队延时。
在另一种实现方式中,第二排队延时为当前数据包之前的多个数据包的双向时延对应的平均排队时延,进而后续基于第二排队延时和第一排队延时,来确定网络当前的拥塞状态,能够进一步提高确定的网络当前的拥塞状态的准确性。
在步骤505中,电子设备在第二排队延时和第一排队延时均小于第三阈值的情况下,确定网络当前处于非拥塞状态。
其中,第三阈值用于表示网络退出拥塞状态的阈值;第三阈值基于经验值确定,且第三阈值小于第一阈值;可选地,第一阈值为100ms,第三阈值为50ms。
在另一种实现方式中,若第二排队延时和第一排队延时中的至少一项大于或等于第三阈值,则电子设备确定网络当前处于拥塞状态。
需要说明的是,数据传输过程中会存在各种不稳定的传输因素,导致排队延时存在过大或过小的突变误差,即在网络的历史拥塞状态为拥塞状态的情况下,仅在一个数据包的排队延时较小时,并不能确定网络当前由拥塞状态切换至非拥塞状态。在该实施例中,电子设备在当前数据包和上一数据包的排队延时均小于第三阈值的情况下,才确定网络当前处于非拥塞状态,即确定网络由拥塞状态切换至了非拥塞状态,这样通过当前数据包的排队延时和上一数据包的排队延时,来共同确定网络当前是否切换到了非拥塞状态,保证了确定的网络拥塞状态的准确性。
在一些实施例中,电子设备在网络当前处于拥塞状态的情况下,仍然基于传输延时,以目标概率更新噪声延时分布信息;该目标概率基于经验值确定,可选地,该经验值为5%,即电子设备在网络当前处于拥塞的状态下,每100个数据包中,取5个数据包的传输延时来更新噪声延时分布信息;这样以较低的概率,通过真实的传输延时来更新噪声延时,使得在当前的噪声延时分布信息与真实的噪声延时分布信息存在偏差时,二者之间的偏差也会渐渐收敛,使得噪声延时分布信息逐渐趋于真实的噪声延时分布信息。
在该方法中,基于网络的历史拥塞状态和噪声延时分布信息中多个噪声延时的平均值,确定了目标分布阈值,由于噪声延时分布信息基于当前数据包之前目标个数的数据包的噪声延时确定,使得目标分布阈值代表了多个噪声延时的平均分布情况,即使得目标分布阈值能够进一步接近当前数据包的噪声延时;进而基于传输延时和目标分布阈值,来确定排队延时,使得该排队延时就可以排除噪声延时的干扰,即提高了所确定的排队延时的准确性,也就提高了拥塞检测的准确性。
图6是根据一示例性实施例示出的一种网络拥塞检测装置的框图。参照图6,该装置包括获取单元601、第一确定单元602、第二确定单元603和第三确定单元604。
获取单元601,被配置为执行获取当前数据包在网络中的传输延时;
第一确定单元602,被配置为执行基于网络的历史拥塞状态和噪声延时分布信息,确定目标分布阈值,噪声延时分布信息基于当前数据包之前目标个数的数据包的噪声延时确定,网络的历史拥塞状态为上一次检测所确定的网络的拥塞状态;
第二确定单元603,被配置为执行基于传输延时和目标分布阈值,确定当前数据包的第一排队延时;
第三确定单元604,被配置为执行基于第一排队延时,确定网络当前是否处于拥塞状态。
在一些实施例中,第一确定单元602,被配置为执行:
在历史拥塞状态为非拥塞状态的情况下,将噪声延时分布信息中目标分位数对应的噪声延时,作为目标分布阈值;
在历史拥塞状态为拥塞状态的情况下,将噪声延时分布信息中多个噪声延时的平均值,作为目标分布阈值。
在一些实施例中,在历史拥塞状态为非拥塞状态的情况下,第三确定单元604,被配置为执行:
在第一排队延时大于或等于第一阈值的情况下,将计数器加1;
在计数器的计数小于第二阈值的情况下,将传输延时缓存到缓存中,缓存中缓存有至少一个数据包的传输延时;
在计数器的计数大于或等于第二阈值的情况下,确定网络当前处于拥塞状态。
在一些实施例中,装置还包括:
清空单元,被配置为执行在确定网络当前处于拥塞状态的情况下,清空计数器和缓存中缓存的传输延时。
在一些实施例中,装置还包括:
第四确定单元,被配置为执行在第一排队延时小于第一阈值的情况下,确定网络当前处于非拥塞状态。
在一些实施例中,装置还包括:
第一更新单元,被配置为执行基于当前数据包的传输延时,更新噪声延时分布信息;
第二更新单元,被配置为执行在计数器的计数不为0的情况下,基于缓存中缓存的传输延时,更新噪声延时分布信息,且清空计数器。
在一些实施例中,在历史拥塞状态为拥塞状态的情况下,第三确定单元604,被配置为执行获取第二排队延时,第二排队延时为上一数据包的双向时延对应的平均排队延时;在第二排队延时和第一排队延时均小于第三阈值的情况下,确定网络当前处于非拥塞状态。
在一些实施例中,装置还包括:
第一执行单元,被配置为执行在历史拥塞状态为非拥塞状态的情况下,以第一频率执行网络拥塞检测方法;
第二执行单元,被配置为执行在历史拥塞状态为拥塞状态的情况下,以第二频率执行网络拥塞检测方法,第二频率低于第一频率。
在一些实施例中,获取单元601,被配置为执行将当前数据包的单向传播延时与目标时间窗口内的最小单向传播延时之差,作为传输延时。
在该装置中,基于网络的历史拥塞状态和噪声延时分布信息,确定了目标分布阈值,由于噪声延时分布信息基于当前数据包之前目标个数的数据包的噪声延时确定,使得目标分布阈值能够接近当前数据包的噪声延时;进而基于传输延时和目标分布阈值,来确定排队延时,使得该排队延时就可以排除噪声延时的干扰,即提高了所确定的排队延时的准确性,也就提高了拥塞检测的准确性
需要说明的是:上述实施例提供的网络拥塞检测装置在检测网络拥塞时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的网络拥塞检测装置与网络拥塞检测方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图7示出了本公开一个示例性实施例提供的终端700的结构框图。该终端700可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio LayerIV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端700还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端700包括有:处理器701和存储器702。
处理器701可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器701可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器701可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器701还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器702中的非暂态的计算机可读存储介质用于存储至少一个程序代码,该至少一个程序代码用于被处理器701所执行以实现本公开中方法实施例提供的网络拥塞检测方法。
在一些实施例中,终端700还可选包括有:外围设备接口703和至少一个外围设备。处理器701、存储器702和外围设备接口703之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口703相连。具体地,外围设备包括:射频电路704、显示屏705、摄像头组件706、音频电路707、定位组件708和电源709中的至少一种。
外围设备接口703可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器701和存储器702。在一些实施例中,处理器701、存储器702和外围设备接口703被集成在同一芯片或电路板上;在一些其他实施例中,处理器701、存储器702和外围设备接口703中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路704用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路704通过电磁信号与通信网络以及其他通信设备进行通信。射频电路704将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路704包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路704可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路704还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本公开对此不加以限定。
显示屏705用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏705是触摸显示屏时,显示屏705还具有采集在显示屏705的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器701进行处理。此时,显示屏705还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏705可以为一个,设置在终端700的前面板;在另一些实施例中,显示屏705可以为至少两个,分别设置在终端700的不同表面或呈折叠设计;在另一些实施例中,显示屏705可以是柔性显示屏,设置在终端700的弯曲表面上或折叠面上。甚至,显示屏705还可以设置成非矩形的不规则图形,也即异形屏。显示屏705可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件706用于采集图像或视频。可选地,摄像头组件706包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件706还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路707可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器701进行处理,或者输入至射频电路704以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端700的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器701或射频电路704的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路707还可以包括耳机插孔。
定位组件708用于定位终端700的当前地理位置,以实现导航或LBS(LocationBased Ser vice,基于位置的服务)。
电源709用于为终端700中的各个组件进行供电。电源709可以是交流电、直流电、一次性电池或可充电电池。当电源709包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端700还包括有一个或多个传感器710。该一个或多个传感器710包括但不限于:加速度传感器711、陀螺仪传感器712、压力传感器713、指纹传感器714、光学传感器715以及接近传感器716。
加速度传感器711可以检测以终端700建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器711可以用于检测重力加速度在三个坐标轴上的分量。处理器701可以根据加速度传感器711采集的重力加速度信号,控制显示屏705以横向视图或纵向视图进行用户界面的显示。加速度传感器711还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器712可以检测终端700的机体方向及转动角度,陀螺仪传感器712可以与加速度传感器711协同采集用户对终端700的3D动作。处理器701根据陀螺仪传感器712采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器713可以设置在终端700的侧边框和/或显示屏705的下层。当压力传感器713设置在终端700的侧边框时,可以检测用户对终端700的握持信号,由处理器701根据压力传感器713采集的握持信号进行左右手识别或快捷操作。当压力传感器713设置在显示屏705的下层时,由处理器701根据用户对显示屏705的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器714用于采集用户的指纹,由处理器701根据指纹传感器714采集到的指纹识别用户的身份,或者,由指纹传感器714根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器701授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器714可以被设置在终端700的正面、背面或侧面。当终端700上设置有物理按键或厂商Logo时,指纹传感器714可以与物理按键或厂商Logo集成在一起。
光学传感器715用于采集环境光强度。在一个实施例中,处理器701可以根据光学传感器715采集的环境光强度,控制显示屏705的显示亮度。具体地,当环境光强度较高时,调高显示屏705的显示亮度;当环境光强度较低时,调低显示屏705的显示亮度。在另一个实施例中,处理器701还可以根据光学传感器715采集的环境光强度,动态调整摄像头组件706的拍摄参数。
接近传感器716,也称距离传感器,通常设置在终端700的前面板。接近传感器716用于采集用户与终端700的正面之间的距离。在一个实施例中,当接近传感器716检测到用户与终端700的正面之间的距离逐渐变小时,由处理器701控制显示屏705从亮屏状态切换为息屏状态;当接近传感器716检测到用户与终端700的正面之间的距离逐渐变大时,由处理器701控制显示屏705从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图7中示出的结构并不构成对终端700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图8是根据一示例性实施例示出的一种服务器的框图,该服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(Central Processing Units,CPU)801和一个或多个的存储器802,其中,该一个或多个存储器802中存储有至少一条程序代码,该至少一条程序代码由该一个或多个处理器801加载并执行以实现上述各个方法实施例提供的网络拥塞检测方法。当然,该服务器800还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器800还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种包括程序代码的计算机可读存储介质,例如包括程序代码的存储器802,上述程序代码可由服务器800的处理器801执行以完成上述网络拥塞检测方法。可选地,计算机可读存储介质可以是只读内存(read-only memory,ROM)、随机存取存储器(random access memory),RAM)、只读光盘(compact-disc read-onlymemory,CD-ROM)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的网络拥塞检测方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (11)

1.一种网络拥塞检测方法,其特征在于,所述方法包括:
获取当前数据包在网络中的传输延时;
基于所述网络的历史拥塞状态和噪声延时分布信息,确定目标分布阈值,所述噪声延时分布信息基于所述当前数据包之前目标个数的数据包的噪声延时确定,所述网络的历史拥塞状态为上一次检测所确定的所述网络的拥塞状态;
基于所述传输延时和所述目标分布阈值,确定所述当前数据包的第一排队延时;
在所述历史拥塞状态为非拥塞状态的情况下,在所述第一排队延时大于或等于第一阈值的情况下,将计数器加1;
在所述计数器的计数小于第二阈值的情况下,将所述传输延时缓存到缓存中,所述缓存中缓存有至少一个数据包的传输延时;
在所述计数器的计数大于或等于所述第二阈值的情况下,确定所述网络当前处于拥塞状态。
2.根据权利要求1所述的网络拥塞检测方法,其特征在于,所述基于所述网络的历史拥塞状态和噪声延时分布信息,确定目标分布阈值,包括以下至少一种实现方式:
在所述历史拥塞状态为非拥塞状态的情况下,将所述噪声延时分布信息中目标分位数对应的噪声延时,作为所述目标分布阈值;
在所述历史拥塞状态为拥塞状态的情况下,将所述噪声延时分布信息中多个噪声延时的平均值,作为所述目标分布阈值。
3.根据权利要求1所述的网络拥塞检测方法,其特征在于,所述方法还包括:
在确定所述网络当前处于拥塞状态的情况下,清空所述计数器和所述缓存中缓存的传输延时。
4.根据权利要求1所述的网络拥塞检测方法,其特征在于,所述方法还包括:
在所述第一排队延时小于所述第一阈值的情况下,确定所述网络当前处于非拥塞状态。
5.根据权利要求4所述的网络拥塞检测方法,其特征在于,所述方法还包括以下至少一种实现方式:
基于所述当前数据包的传输延时,更新所述噪声延时分布信息;
在所述计数器的计数不为0的情况下,基于所述缓存中缓存的传输延时,更新所述噪声延时分布信息,且清空所述计数器。
6.根据权利要求1所述的网络拥塞检测方法,其特征在于,在所述历史拥塞状态为拥塞状态的情况下,所述方法还包括:
获取第二排队延时,所述第二排队延时为上一数据包的双向时延对应的平均排队延时;
在所述第二排队延时和所述第一排队延时均小于第三阈值的情况下,确定所述网络当前处于非拥塞状态。
7.根据权利要求1所述的网络拥塞检测方法,其特征在于,所述方法还包括:
在所述历史拥塞状态为非拥塞状态的情况下,以第一频率执行所述网络拥塞检测方法;
在所述历史拥塞状态为拥塞状态的情况下,以第二频率执行所述网络拥塞检测方法,所述第二频率低于所述第一频率。
8.根据权利要求1所述的网络拥塞检测方法,其特征在于,所述获取当前数据包在网络中的传输延时,包括:
将所述当前数据包的单向传播延时与目标时间窗口内的最小单向传播延时之差,作为所述传输延时。
9.一种网络拥塞检测装置,其特征在于,所述装置包括:
获取单元,被配置为执行获取当前数据包在网络中的传输延时;
第一确定单元,被配置为执行基于所述网络的历史拥塞状态和噪声延时分布信息,确定目标分布阈值,所述噪声延时分布信息基于所述当前数据包之前目标个数的数据包的噪声延时确定,所述网络的历史拥塞状态为上一次检测所确定的所述网络的拥塞状态;
第二确定单元,被配置为执行基于所述传输延时和所述目标分布阈值,确定所述当前数据包的第一排队延时;
第三确定单元,被配置为执行在所述历史拥塞状态为非拥塞状态的情况下,在所述第一排队延时大于或等于第一阈值的情况下,将计数器加1;在所述计数器的计数小于第二阈值的情况下,将所述传输延时缓存到缓存中,所述缓存中缓存有至少一个数据包的传输延时;在所述计数器的计数大于或等于所述第二阈值的情况下,确定所述网络当前处于拥塞状态。
10.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
用于存储所述处理器可执行程序代码的存储器;
其中,所述处理器被配置为执行所述程序代码,以实现如权利要求1至8中任一项所述的网络拥塞检测方法。
11.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的程序代码由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至8中任一项所述的网络拥塞检测方法。
CN202210615793.2A 2022-05-31 2022-05-31 网络拥塞检测方法、装置、电子设备以及存储介质 Active CN115086235B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210615793.2A CN115086235B (zh) 2022-05-31 2022-05-31 网络拥塞检测方法、装置、电子设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210615793.2A CN115086235B (zh) 2022-05-31 2022-05-31 网络拥塞检测方法、装置、电子设备以及存储介质

Publications (2)

Publication Number Publication Date
CN115086235A CN115086235A (zh) 2022-09-20
CN115086235B true CN115086235B (zh) 2024-03-26

Family

ID=83250245

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210615793.2A Active CN115086235B (zh) 2022-05-31 2022-05-31 网络拥塞检测方法、装置、电子设备以及存储介质

Country Status (1)

Country Link
CN (1) CN115086235B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005002120A2 (en) * 2003-06-12 2005-01-06 California Institute Of Technology Method and apparatus for network congestion control
CN103888367A (zh) * 2014-03-10 2014-06-25 清华大学 基于分组传输时延的多路径tcp拥塞控制方法
JP2015002397A (ja) * 2013-06-14 2015-01-05 株式会社日立製作所 通信装置及び通信システム及び通信方法
CN108322401A (zh) * 2017-01-17 2018-07-24 网宿科技股份有限公司 网络传输拥塞的控制方法及装置
CN112118191A (zh) * 2020-09-18 2020-12-22 首都师范大学 多路径传输拥塞控制方法、装置、控制设备及存储介质
CN114095437A (zh) * 2021-11-18 2022-02-25 北京达佳互联信息技术有限公司 发送数据包的方法、装置、电子设备和存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005002120A2 (en) * 2003-06-12 2005-01-06 California Institute Of Technology Method and apparatus for network congestion control
JP2015002397A (ja) * 2013-06-14 2015-01-05 株式会社日立製作所 通信装置及び通信システム及び通信方法
CN103888367A (zh) * 2014-03-10 2014-06-25 清华大学 基于分组传输时延的多路径tcp拥塞控制方法
CN108322401A (zh) * 2017-01-17 2018-07-24 网宿科技股份有限公司 网络传输拥塞的控制方法及装置
CN112118191A (zh) * 2020-09-18 2020-12-22 首都师范大学 多路径传输拥塞控制方法、装置、控制设备及存储介质
CN114095437A (zh) * 2021-11-18 2022-02-25 北京达佳互联信息技术有限公司 发送数据包的方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN115086235A (zh) 2022-09-20

Similar Documents

Publication Publication Date Title
CN110278464B (zh) 显示榜单的方法和装置
CN109951398B (zh) 数据发送方法、装置及计算机设备
CN110380904B (zh) 带宽分配方法、装置、电子设备及存储介质
EP4000700A1 (en) Camera shot movement control method, device, apparatus, and storage medium
CN111510482B (zh) 失败网络请求的确定方法、装置及计算机存储介质
CN114095437B (zh) 发送数据包的方法、装置、电子设备和存储介质
CN110490389B (zh) 点击率预测方法、装置、设备及介质
CN111106902B (zh) 数据报文传输方法、装置、设备及计算机可读存储介质
CN111613213A (zh) 音频分类的方法、装置、设备以及存储介质
CN113253826A (zh) 一种控制方法、装置、终端以及存储介质
CN110912830B (zh) 传输数据的方法和装置
CN110890969A (zh) 群发消息的方法、装置、电子设备及存储介质
CN111862972B (zh) 语音交互服务方法、装置、设备及存储介质
CN114143280B (zh) 会话显示方法、装置、电子设备及存储介质
CN115086235B (zh) 网络拥塞检测方法、装置、电子设备以及存储介质
CN111708669B (zh) 系统运行的分析方法、装置、设备及存储介质
EP4007229A1 (en) Bandwidth determination method and apparatus, and terminal, and storage medium
CN112329909B (zh) 生成神经网络模型的方法、装置及存储介质
CN112260845B (zh) 进行数据传输加速的方法和装置
CN108310767B (zh) 信息展示方法、装置、设备及计算机可读存储介质
WO2019128430A1 (zh) 带宽确定方法、装置、设备及存储介质
CN111526221B (zh) 域名质量确定方法、装置及存储介质
CN112311652A (zh) 消息发送方法、装置、终端及存储介质
CN115086200B (zh) 丢包类型确定方法、装置、电子设备及存储介质
CN115037702B (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