CN116545929A - 网络链路的拥塞状态检测方法、装置、服务器和存储介质 - Google Patents

网络链路的拥塞状态检测方法、装置、服务器和存储介质 Download PDF

Info

Publication number
CN116545929A
CN116545929A CN202310505977.8A CN202310505977A CN116545929A CN 116545929 A CN116545929 A CN 116545929A CN 202310505977 A CN202310505977 A CN 202310505977A CN 116545929 A CN116545929 A CN 116545929A
Authority
CN
China
Prior art keywords
current
delay
state
congestion
network link
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.)
Pending
Application number
CN202310505977.8A
Other languages
English (en)
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 CN202310505977.8A priority Critical patent/CN116545929A/zh
Publication of CN116545929A publication Critical patent/CN116545929A/zh
Pending legal-status Critical Current

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
    • H04L43/087Jitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

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是根据一示例性实施例示出的一种网络链路的拥塞状态检测方法的应用环境图。
图2是根据一示例性实施例示出的一种网络链路的拥塞状态检测方法的流程图。
图3是根据一示例性实施例示出的一种确定网络链路的延时抖动程度步骤的界面图。
图4是根据一示例性实施例示出的第一种确定网络链路在当前采样点的链路状态的界面示意图。
图5是根据一示例性实施例示出的第二种确定网络链路在当前采样点的链路状态的界面示意图。
图6是根据一示例性实施例示出的第三种确定网络链路在当前采样点的链路状态的界面示意图。
图7是根据一示例性实施例示出的第四种确定网络链路在当前采样点的链路状态的界面示意图。
图8为根据另一示例性实施例示出的一种网络链路的拥塞状态检测方法的流程图。
图9是根据一示例性实施例示出的一种网络链路的拥塞状态检测方法的模块图。
图10为根据另一示例性实施例示出的一种网络链路的拥塞状态检测装置框图。
图11是根据一示例性实施例示出的一种用于网络链路的拥塞状态检测的服务器的框图。
图12是根据一示例性实施例示出的一种用于网络链路的拥塞状态检测的计算机可读存储介质的框图。
图13是根据一示例性实施例示出的一种用于网络链路的拥塞状态检测的计算机程序产品的框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例中的术语“和/或”指的是包括相关联的列举项目中的一个或多个的任何和全部的可能组合。还要说明的是:当用在本说明书中时,“包括/包含”指定所陈述的特征、整数、步骤、操作、元件和/或组件的存在,但是不排除一个或多个其他特征、整数、步骤、操作、元件和/或组件和/或它们的组群的存在或添加。
本申请中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
另外,本申请中尽管多次采用术语“第一”、“第二”等来描述各种操作(或各种元件或各种应用或各种指令或各种数据)等,不过这些操作(或元件或应用或指令或数据)不应受这些术语的限制。这些术语只是用于区分一个操作(或元件或应用或指令或数据)和另一个操作(或元件或应用或指令或数据)。例如,第一排队延时可以被称为第二排队延时,第二排队延时也可以被称为第一排队延时,仅仅是其两者所包括的范围不同,而不脱离本申请的范围,第一排队延时和第二排队延时都是在对应的采集点处采集的数据包组中至少一个数据包的排队延时所对应的统计值的集合,只是二者并不是相同的数据包组中至少一个数据包的排队延时所对应的统计值而已。
本申请实施例提供的网络链路的拥塞状态检测方法,可以应用于如图1所示的应用环境中。其中,终端102通过通信网络与服务器104进行通信。数据存储系统可以将处理的数据存储在服务器104中,或者将存储在服务器104中的处理数据发送至终端102。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。
在一些实施例中,终端102(如移动终端、固定终端)可以以各种形式来实施。其中,终端102包括有数据包发送端和数据包接收端。具体地,终端102可为包括诸如移动电话、智能电话、笔记本电脑、便携式手持式设备、个人数字助理(PDA,Personal DigitalAssistant)、平板电脑(PAD)等等的可以根据与当前时刻的延时抖动程度相匹配的目标拥塞检测配置信息,来检测网络链路在当前时刻的链路状态的移动终端,终端102也可以是自动柜员机(Automated Teller Machine,ATM)、自动一体机、数字TV、台式计算机、固式计算机等等的可以根据与当前时刻的延时抖动程度相匹配的目标拥塞检测配置信息,来检测网络链路在当前时刻的链路状态的固定终端。
下面,假设终端102是固定终端。然而,本领域技术人员将理解的是,若有特别用于移动目的的操作或者元件,根据本申请公开的实施方式的构造也能够应用于移动类型的终端102。
在一些实施例中,参考图1,服务器104基于网络链路在当前采样点和相对应于当前采样点的前一采样点处各自缓存获取的数据包组的排队延时,确定网络链路在当前采样点的延时抖动程度;其中,排队延时为数据包组中的至少一个数据包的瞬时排队延时的统计数据;延时抖动程度表征网络链路中两个相邻采样点处各自缓存的数据包组之间的排队延时的变化程度;然后,服务器104再从至少两项拥塞检测配置信息中,获取与当前采样点的延时抖动程度、网络链路的历史链路状态均匹配的目标拥塞检测配置信息;其中,历史链路状态表征网络链路在前一采样点的链路拥塞状态;最后,服务器104基于目标拥塞检测配置信息检测网络链路的当前链路状态;其中,当前链路状态表征网络链路在当前采样点的链路拥塞状态。
在一些实施例中,服务器104运行的数据处理组件可以加载正在被执行的可以包括各种附加服务器应用和/或中间层应用中的任何一种,如包括HTTP(超文本传输协议)、FTP(文件传输协议)、CGI(通用网关界面)、RDBMS(关系型数据库管理系统)等。
在一些实施例中,服务器104可以用独立的数据处理器或者是多个数据处理器组成的数据处理集群来实现。服务器104可以适于运行提供前述公开中描述的各种附加服务器应用和/或中间层应用的一个或多个应用服务或软件组件。
在一些实施例中,应用服务可以包括向用户提供网络链路的延时抖动程度和链路状态的服务界面(例如,用于用户选取需要查看相应时间段的链路状态的操作界面、用于向用户展示网络链路在当前时刻的延时抖动程度和链路状态的展示界面),以及对应程序服务等等。其中,软件组件可以包括例如具有检测网络链路在当前时刻的延时抖动程度,以及检测网络链路在当前时刻的链路状态功能的应用程序(SDK)或者客户端(APP)。
在一些实施例中,服务器104所提供的具有检测网络链路在当前时刻的延时抖动程度,以及检测网络链路在当前时刻的链路状态功能的应用程序或者客户端包括一个在前台向用户提供一对一应用服务的门户端口和多个位于后台进行数据处理的业务系统,以将检测延时抖动程度和链路状态的功能应用扩展到APP或者客户端,从而用户能够在任何时间任何地点进行检测网络链路在当前时刻的延时抖动程度,以及检测网络链路在当前时刻的链路状态功能的使用和访问。
在一些实施例中,APP或者客户端的资源转移功能可为运行在用户模式以完成某项或多项特定工作的计算机程序,其可以与用户进行交互,且具有可视的用户界面。其中,APP或者客户端可以包括两部分:图形用户接口(GUI)和引擎(engine),利用这两者能够以用户界面的形式向用户提供多种应用服务的数字化客户系统。
在一些实施例中,用户可以通过终端102中的输入装置向APP或者客户端输入相应的代码数据或者控制参数,以服务器104中的计算机程序执行对应的应用服务,以及在终端102中显示用户界面中的应用服务。
作为一种示例,当用户需要确定服务器104中网络链路在当前时刻的链路状态时,则用户可以通过终端102中的输入装置向服务器104输入从消费队列中获取预定时间范围内各个数据包的信息,以使服务器104基于数据包的信息获取到对应采样点处缓存接收的数据包的排队延时,以确定网络链路在当前时刻的延时抖动程度,并根据延时抖动程度来选择对应预先配置的拥塞检测配置信息,来检测出网络链路在当前时刻的链路状态,以将向用户实时地展示其检测出网络链路的链路状态。可选地,输入装置所对应的输入方式可以为触屏输入、按键输入、语音输入或相关控制程序输入等等。
在一些实施例中,APP或者客户端运行的操作系统可以包括各种版本的MicrosoftApple/>和/或Linux操作系统、各种商用或类/>操作系统(包括但不限于各种GNU/Linux操作系统、Google/>OS等)和/或移动操作系统,诸如/>Phone、/>OS、/>OS、/>OS操作系统,以及其它在线操作系统或者离线操作系统,在这里不做具体的限制。
在一些实施例中,在发送端基于网络链路向接收端发送数据包/数据包组的过程中,由于数据传输的过程会存在各种不稳定的传输因素(包括接收端的参数设置、发送端的参数设置、接收端与发送端之间的网络状态等因素),导致数据包/数据包组的传输延时存在过大或过小的突变误差,从而产生网络链路不规则的延时抖动,进而影响到各个数据包/数据包组在被缓存到接收端时的排队延时。因此,本公开实施例中引入网络链路在当前采样点的延时抖动程度来检测网络链路的当前拥塞状态,以期望提升网络链路的拥塞状态检测的准确度。
在一些实施例中,如图2所示,提供了一种网络链路的拥塞状态检测方法,以该方法应用于图1中的服务器104为例进行说明,该方法包括以下步骤:
步骤S11,基于网络链路在当前采样点和相对应于当前采样点的前一采样点处各自缓存获取的数据包组的排队延时,确定网络链路在当前采样点的延时抖动程度。
在一实施例中,延时抖动程度表征网络链路中两个相邻采样点处各自缓存的数据包组之间的排队延时的变化程度。
在一些实施例中,数据包组在缓存中的排队延时表征:被缓存于接收端的存储介质中的数据包组在服务器开始对其进行消费处理时所需要等待的时间。
在某些实施例中,若网络链路在当前采样点的延时抖动程度越大,则表明此时网络链路的突变越大,则数据包组的排队延时也越大。若网络链路在当前采样点的延时抖动程度越小,则表明此时网络链路的突变越小,则数据包组的排队延时也越小。
在一实施例中,延时抖动程度基于在两个采样点处缓存获取的数据包组的排队延时、排队延时之差确定。
在一些实施例中,该两个采样点可以为网络链路中被缓存的多个数据包组中的任意两个数据包组各自所在的采样点,也可以为网络链路中的两个相邻采样点。
作为一示例,在预设时间范围T内共缓存有S个数据包组(S>2),服务器需要该S个数据包组分别进行P次(2<P≤S)的采样,服务器可以在该P次采样中任选其中的两个任意采样点来确定网络链路的延时抖动程度,也可以任选其中的两个相邻采样点来确定网络链路的延时抖动程度。
其中,若待确定网络链路的延时抖动程度为当前采样点的延时抖动程度,则服务器在P次采样中任选的两个采样点中的一个需为当前采样点。当前采样点为网络链路中最近缓存的一个数据包组所在的采样点。
在一些实施例中,服务器在多个采样点中选择的两个采样点可以为当前采样点和当前采样点的前一采样点,从而可以减少服务器的处理器计算延时抖动程度的资源消耗量以及提升延时抖动程度计算的准确性。
在一实施例中,在两个采样点处缓存获取的数据包组的排队延时包括对应于一个采样点的第一排队延时和对应于另一个采样点的第二排队延时,且第一排队延时和第二排队延时之间的差值即为排队延时之差。
在一些实施例中,第一排队延时为当前采样点对应的数据包组的排队延时,第二排队延时为前一采样点对应的数据包组的排队延时,且服务器在该两个采样点处缓存获取的数据包组中包括有至少一个数据包。
在一实施例中,数据包组的排队延时为数据包组中的至少一个数据包的瞬时排队延时所对应的统计数据。
其中,该统计数据可以为数据包组中对应各个数据包的瞬时排队延时所对应的平均值、最大值、最小值,也可以为数据包组中预设位次的单个数据包的瞬时排队延时。例如,数据包组P中的第一个数据包/最后一个数据包对应的瞬时排队延时为数据包组P的排队延时。
在一些实施例中,单个数据包的瞬时排队延时为对应单个数据包的传输延时与对应最近统计窗口内各个数据包中最小的传输延时的差值。
其中,单个数据包的传输延时为对应单个数据包的数据包的接收时间与发送时间的差值。
在一种实施例中,第一排队延时和第二排队延时均为对应数据包组中各数据包之间的平均排队延时。
在一种实现场景中,在接收端的存储介质中,服务器提取出当前采样点的第一数据包组和相对于当前采样点的前一采样点的第二数据包组。其中,第一数据包组中包括10个数据包,且该10个数据包的平均排队延时基于s_dlyqueue1表达,服务器设置第一数据包组的第一排队延时为s_dlyqueue1;第二数据包组中包括20个数据包,且该20个数据包的平均排队延时基于s_dlyqueue2表达,服务器配置第二数据包组的第二排队延时为s_dlyqueue2。然后,服务器根据第一排队延时和第二排队延时之间的差值得到排队延时之差dly_gapqueue。从而服务器可以根据第一排队延时、第二排队延时和排队延时之差三者的运算关系,确定出网络链路在当前采样点的延时抖动程度。
步骤S12:从至少两项拥塞检测配置信息中,获取与当前采样点的延时抖动程度、网络链路的历史链路状态均匹配的目标拥塞检测配置信息。
在一实施例中,拥塞检测配置信息包括预先配置的拥塞状态转换条件,且该拥塞检测配置信息用于根据拥塞状态转换条件来检测网络链路的链路拥塞状态。
在一些实施例中,拥塞状态转换条件基于各种数据包的排队延时(如,最大排队延时、最小排队延时、排队延时之差、平均排队延时等)、预设阈值和预设权重因子等判断依据来确定。
在一些实施例中,不同拥塞检测配置信息包括有不同的拥塞状态转换条件。其中,不同的拥塞状态转换条件所对应的链路拥塞状态的判断依据不同。例如,第一拥塞检测配置信息对应的判断依据为在预设时间窗内缓存获取的各数据包之间的各排队延时的关系;第二拥塞检测配置信息对应的判断依据为在预设个数的采样点中缓存获取的各数据包之间的各排队延时的关系等等,这里不做具体限定。
在一些实施例中,不同延时抖动程度对应不同的目标拥塞检测配置信息。例如,针对于当前采样点的延时抖动程度为第一程度以及网络链路的历史链路状态为第一状态时,服务器获取的目标拥塞检测配置信息为第一拥塞检测配置信息;针对于当前采样点的延时抖动程度为第二程度以及网络链路的历史链路状态为第二状态时,服务器获取的目标拥塞检测配置信息为第二拥塞检测配置信息。其中,第一程度和第二程度,以及第一状态和第二状态均为两种不同的程度/状态。
在一实施例中,历史链路状态表征网络链路在前一采样点的链路拥塞状态。其中,历史链路状态包括历史拥塞状态或者历史非拥塞状态。
在一些实施例中,历史链路状态可以为服务器基于本实施例所述的网络链路的拥塞状态检测方法在前一采样点时确定出的链路拥塞状态,也可以为基于网络工程师人为设定或者运用其他设备/框架检测出并存储于存储介质中的链路拥塞状态。
步骤S13:基于目标拥塞检测配置信息检测网络链路的当前链路状态。
在一些实施例中,服务器基于目标拥塞检测配置信息所对应的拥塞状态转换条件,来对网络链路的链路拥塞状态进行检测,以确定网络链路的当前链路状态。
其中,当前链路状态表征网络链路在当前采样点的链路拥塞状态。其中,当前链路状态包括拥塞状态或者非拥塞状态。
在一种实现场景中,服务器获取的与当前采样点的延时抖动程度以及网络链路的历史链路状态相匹配的目标拥塞检测配置信息为拥塞检测配置信息A,且拥塞检测配置信息A为包括基于当前采样点的第一数据包组的第一类排队延时和前一采样点的第二数据包组的第二类排队延时之间是否满足对应的拥塞状态转换条件B来确定链路状态的配置信息。其中,拥塞状态转换条件B对应的链路状态的判断依据为在预设时间窗内/预设个数的采样点中缓存获取的第一数据包组的第一类排队延时与第二数据包组的第二类排队延时之间大小的关系。因此,服务器基于第一数据包组的第一类排队延时与第二数据包组的第二类排队延时之间大小的关系,来判断当前采样点的网络链路是否满足拥塞检测配置信息A对应的拥塞状态转换条件B。其中,若当前采样点的网络链路满足拥塞检测配置信息A对应的拥塞状态转换条件B,则服务器确定网络链路在当前采样点的链路状态为第一状态;若当前采样点的网络链路不满足拥塞检测配置信息A对应的拥塞状态转换条件B,则服务器确定网络链路在当前采样点的链路状态为第二状态。其中,第一状态为拥塞状态和非拥塞状态中的一种,第二状态为拥塞状态和非拥塞状态中的另一种。
上述的网络链路的拥塞状态检测过程中,服务器首先基于网络链路在当前采样点和相对应于当前采样点的前一采样点处各自缓存获取的数据包组的排队延时,确定网络链路在当前采样点的延时抖动程度;其中,排队延时为数据包组中的至少一个数据包的瞬时排队延时的统计数据;延时抖动程度表征网络链路中两个相邻采样点处各自缓存的数据包组之间的排队延时的变化程度;然后,服务器再从至少两项拥塞检测配置信息中,获取与当前采样点的延时抖动程度、网络链路的历史链路状态均匹配的目标拥塞检测配置信息;其中,历史链路状态表征网络链路在前一采样点的链路拥塞状态;最后,服务器基于目标拥塞检测配置信息检测网络链路的当前链路状态;其中,当前链路状态表征网络链路在当前采样点的链路拥塞状态。这样,一方面,根据不同采样点的排队延时来确定网络链路在当前采样点的延时抖动程度,并利用延时抖动程度确定网络链路在当前采样点的链路状态,区别于现有技术中仅通过单个数据包的排队延时的变化来检测网络链路当前的拥塞程度,能够有效提升检测出的网络链路的拥塞状态的准确度,使得后续对网络链路进行的调整能够更加合理和高效;另一方面,利用预先配置的至少两项拥塞检测配置信息并结合网络链路的延时抖动程度,来对网络链路在当前采样点的链路状态进行检测,从而优化了网络链路的拥塞状态的检测流程,提升了拥塞状态检测的准确度,以及降低了拥塞状态检测的复杂度。
本领域技术人员可以理解地,在具体实施方式的上述方法中,所揭露的方法可以通过更为具体的方式以实现。例如,以上所描述的基于目标拥塞检测配置信息检测网络链路在当前采样点的链路状态的实施方式仅仅是示意性的。
示例性地,服务器基于在两个采样点处缓存获取的数据包组的排队延时、排队延时之差确定网络链路在当前采样点的延时抖动程度的方式;或者从预先配置的至少两项拥塞检测配置信息中,获取与当前时刻的延时抖动程度相匹配的目标拥塞检测配置信息的方式等等,其仅仅为一种集合的方式,实际实现时可以有另外的执行方式,例如网络链路在当前时刻的延时抖动程度,以及在先前时刻的延时抖动程度,或者网络链路在当前时刻的链路状态,以及在先前时刻的链路状态之间可以结合或者可以集合到另一个系统中,或一些特征可以忽略,或不执行。
在一实施例中,在当前采样点和相对应于当前采样点的前一采样点处各自缓存获取的数据包组的排队延时包括:对应于当前采样点的第一排队延时和对应于前一采样点的第二排队延时。
其中,第一排队延时和第二排队延时之间的差值表征当前采样点和前一采样点处各自缓存的数据包组之间的延时差值。
参阅图3,图3为本申请中确定网络链路的延时抖动程度一实施例的流程示意图。在步骤S11中,服务器确定网络链路在当前采样点的延时抖动程度的过程,具体可以通过以下方式实现:
步骤S121,基于第二排队延时和延时差值之间的统计数据,确定针对当前采样点的预测排队延时。
在一实施例中,服务器首先基于当前采样点的数据包组的第一排队延时与前一采样点的数据包组的第二排队延时的差值,得到延时差值;然后,服务器再基于预设的第一平滑系数,对第二排队延时与延时差值进行加权平均,得到对应的第一加权平均值,以确定针对当前采样点的预测排队延时。
在一些实施例中,第一排队延时基于s_dlyqueue1表征,第二排队延时基于s_dlyqueue2表征,延时差值基于dly_gapqueue表征,即服务器基于第一排队延时与第二排队延时的差值,得到延时差值可以表示为:
dly_gapqueue=s_dlyqueue1-s_dlyqueue2
进一步地,服务器预先设置第二排队延时与延时差值之间的第一平滑系数(记为β),且对于第二排队延时加权的第一平滑系数为β,对延时差值加权的第一平滑常数为(1-β),其中,0<β<1,因此,服务器基于第二排队延时与延时差值各自加权的第一平滑系数,确定在当前采样点处缓存的数据包组的预测排队延时,可以表示为:
l_dlyqueue=s_dlyqueue2×β+dly_gapqueue×(1-β)。
其中,l_dlyqueue即为预测排队延时,其表示为服务器对于第一排队延时s_dlyqueue1的预测值。
步骤S122,基于当前数据包的瞬时排队延时与预测排队延时之间的统计数据,确定网络链路在当前采样点的延时抖动误差。
在一些实施例中,当前数据包为在当前采样点处缓存数据包组中的最后一个数据包,即在当前时刻时,网络链路在数据包接收端所接收的最近一个数据包。
其中,当前数据包的瞬时排队延时可基于dlyqueue表征,因此,服务器基于当前数据包的瞬时排队延时与预测排队延时的差值,确定网络链路在当前采样点的延时抖动误差,可以表示为:
dly_varqueue=dlyqueue–l_dlyqueue
其中,dly_varqueue即为延时抖动误差,其也可以被称为延时抖动距离,dly_varqueue表示为服务器对于当前采样点和上一采样点之间计算出网络链路的延时抖动的差异距离。
例如,若dly_varqueue越小,则服务器计算出网络链路在当前采样点的延时抖动程度和在上一采样点计算出的延时抖动程度之间的差异距离越小;若dly_varqueue越大,则服务器计算出网络链路在当前采样点的延时抖动程度和在上一采样点计算出的延时抖动程度之间的差异距离越大。
步骤S123,基于当前采样点的延时抖动误差与前一采样点的延时抖动程度之间的统计数据,确定网络链路在当前采样点的延时抖动程度。
在一实施例中,网络链路在各采样点的延时抖动程度基于对应的延时抖动系数表征,且各采样点的延时抖动系数表征对相应采样点的延时抖动误差进行平滑处理后的结果。
其中,延时抖动程度可以以一个具体的延时抖动系数来表征,即网络链路在当前采样点的延时抖动系数即为网络链路在对应采样点的延时抖动程度。
在一些实施例中,服务器基于当前采样点的延时抖动误差与前一采样点的延时抖动程度之间的统计数据,确定网络链路在当前采样点的延时抖动程度,具体可以包括:基于预设的第二平滑系数,对当前采样点的延时抖动误差与前一采样点的延时抖动系数进行加权平均,得到对应的第二加权平均值,以确定网络链路在当前采样点的延时抖动系数。其中,第二平滑系数大于0且小于1。
在一些实施例中,前一采样点的延时抖动系数可基于s_dly_varqueue2表征,并且该s_dly_varqueue2为服务器在计算前一采样点的网络链路的拥塞状态时已经计算完成。
在一些实施例中,服务器预先设置前一采样点的延时抖动系数与延时抖动误差之间的第二平滑系数为γ,且对于前一采样点的延时抖动系数加权的第二平滑系数为γ,对于延时抖动误差加权的第二平滑系数为(1-γ),其中,0<γ<1,因此,服务器基于预设的第二平滑系数,对当前采样点的延时抖动误差与前一采样点的延时抖动系数进行加权平均,确定网络链路在当前采样点的延时抖动程度(s_dly_varqueue1),可以表示为:
s_dly_varqueue1=s_dly_varqueue2×γ+dly_varqueue×(1-γ)。
在一些实施例中,由于数据包接收端的参数设置、发送端的参数设置、接收端与发送端之间的网络状态等多方面的因素,网络链路的延时抖动程度始终处于动态变化的情况,因此,服务器为网络链路的延时抖动程度设定一个抖动阈值,并根据延时抖动程度是否超出预设的抖动阈值,来判断网络链路的延时抖动状态。
在一实施例中,服务器在确定网络链路在当前采样点的延时抖动程度之后,还包括:在当前采样点的延时抖动程度大于预设抖动阈值的情况下,确定网络链路的当前抖动状态为延时抖动状态;或者,再当前采样点的延时抖动程度小于或者等于预设抖动阈值的情况下,确定网络链路的当前抖动状态为非延时抖动状态。
在一实施例中,服务器在确定网络链路在当前采样点的延时抖动状态之后,还包括:从预先配置的至少两项拥塞检测配置信息中,获取与当前采样点的延时抖动状态以及网络链路的历史链路状态相匹配的目标拥塞检测配置信息,并基于目标拥塞检测配置信息确定网络链路在当前采样点的当前链路状态。其中,历史链路状态包括历史拥塞状态或者历史非拥塞状态。
在第一种示例性的实施例中,若服务器:在当前抖动状态为延时抖动状态以及历史链路状态为历史拥塞状态的情况下,获取第一拥塞检测配置信息,作为目标拥塞检测配置信息,并基于目标拥塞检测配置信息确定网络链路在当前采样点的当前链路状态。
在一实施例中,第一拥塞检测配置信息包括利用最大瞬时排队延时和第一预设阈值确定链路拥塞状态的配置信息;其中,最大瞬时排队延时为在当前预设时间窗内缓存的各数据包之间对应最大的瞬时排队延时。
在一些实施例中,当前预设时间窗为以当前时刻为起始时刻,往前预设时间域为终止时刻所包含的时间范围。例如,当前预设时间窗所包含的时间范围可以为10秒、20秒等。
在一实施例中,第一拥塞检测配置信息包括第一拥塞状态转换条件,其中,第一拥塞状态转换条件为最大瞬时排队延时小于第一预设阈值的加权值。
在一实施例中,服务器基于目标拥塞检测配置信息确定网络链路的当前链路状态包括:在目标拥塞检测配置信息为第一拥塞检测配置信息的情况下,若网络链路满足第一拥塞状态转换条件,则确定当前链路状态为非拥塞状态;或者,在目标拥塞检测配置信息为第一拥塞检测配置信息的情况下,若网络链路不满足第一拥塞状态转换条件,则确定当前链路状态为拥塞状态。
在一示例性实施例中,参阅图4,图4为本申请中确定网络链路在当前采样点的当前链路状态第一实施例的界面示意图。
在图4中,坐标系的横坐标表示时间(T),T1表示当前采样点的前一采样点所占据的时间范围,T2表示当前采样点所占据的时间范围,S表示为以T2为终止时刻的当前预设时间窗。其中,T1和T2可以均为一段时间段,也可以为一个时刻,在T1和T2所占据的时间段/时刻中,包括至少一个服务器缓存获取的数据包,且T1和T2所占据的时间段/时刻不相重叠。
在图4中,坐标系的纵坐标表示排队时间延时(dly),a×dlythreshold表示预设的第一预设阈值的加权值。其中,a为加权系数,且0<a<1,dlythreshold为预设的第一预设阈值。
在图4中,曲线f(max_dly)表示当前预设时间窗(S)内,各个采样点处(圆点)所缓存获取的数据包组中的各数据包之间最大的瞬时排队延时。
其中,在T1处的max_dly表示在T1对应的采样点处缓存获取的数据包组中的各数据包之间最大的瞬时排队延时,并且此时的max_dly>a×dlythreshold,即在目标拥塞检测配置信息为第一拥塞检测配置信息的情况下,服务器在前一采样点(T1)处不满足第一拥塞状态转换条件,因此前一采样点处的历史链路状态为拥塞状态;在T2处的max_dly表示在T2对应的采样点处缓存获取的数据包组中的各数据包之间最大的瞬时排队延时,并且此时的max_dly<a×dlythreshold,即在目标拥塞检测配置信息为第一拥塞检测配置信息的情况下,服务器在当前采样点(T2)处满足第一拥塞状态转换条件,即当前采样点处的当前链路状态为非拥塞状态。
在第二种示例性的实施例中,若服务器:在当前抖动状态为延时抖动状态以及历史链路状态为历史非拥塞状态的情况下,获取第二拥塞检测配置信息,作为目标拥塞检测配置信息,并基于目标拥塞检测配置信息确定网络链路在当前采样点的链路状态。
在一实施例中,第二拥塞检测配置信息包括利用最小瞬时排队延时、第二预设阈值、当前预设时间窗内缓存的各数据包之间的平均排队延时,以及包含当前预设时间窗在内的多个相邻预设时间窗口中对应的最小平均排队延时确定链路拥塞状态的配置信息。
其中,最小瞬时排队延时为在当前预设时间窗内缓存的各数据包之间对应最小的瞬时排队延时。
在一些实施例中,当前预设时间窗为以当前时刻为起始时刻,往前预设时间域为终止时刻所包含的时间范围。例如,当前预设时间窗所包含的时间范围可以为10秒、20秒等。
在一实施例中,第二拥塞检测配置信息包括第二拥塞状态转换条件;其中,第二拥塞状态转换条件为在连续多次检测中,或者在当前预设时间窗内,每次检测均满足:最小瞬时排队延时大于第二预设阈值,以及平均排队延时与最小平均排队延时之间的差值大于第二预设阈值的加权值。
在一实施例中,服务器基于目标拥塞检测配置信息检测网络链路的当前链路状态包括:在目标拥塞检测配置信息为第二拥塞检测配置信息的情况下,若网络链路满足第二拥塞状态转换条件,则确定当前链路状态为拥塞状态;或者,在目标拥塞检测配置信息为第二拥塞检测配置信息的情况下,若网络链路不满足响应于第二拥塞状态转换条件,则确定当前链路状态为非拥塞状态。
在一示例性实施例中,参阅图5,图5为本申请中确定网络链路在当前采样点的链路状态第二实施例的界面示意图。
在图5中,坐标系的横坐标表示时间(T),T1表示当前采样点的前一采样点所占据的时间范围,T2表示当前采样点所占据的时间范围,S表示为以T2为终止时刻的当前预设时间窗,n表示为以T2为终止时刻的另一当前预设时间窗(其包含连续的多次检测/多次采样/采样持续时长)。其中,T1和T2可以均为一段时间段,也可以为一个时刻,在T1和T2所占据的时间段/时刻中,包括至少一个服务器缓存获取的数据包,且T1和T2所占据的时间段/时刻不相重叠。
在图5中,坐标系的纵坐标表示排队时间延时(dly),dlythreshold表示预设的第二预设阈值,b×dlythreshold表示预设的第二预设阈值的加权值。其中,b为加权系数,且0<b<1。
在图5中,曲线f(min_dly)表示在对应的当次检测(当次采样点)中缓存获取的各数据包之间最小的瞬时排队延时。曲线f(dly_avg-min_dly_avg)表示在对应的当次检测(当次采样点)中缓存获取的各数据包之间的平均排队延时与最小平均排队延时的差值。
其中,在T1处的min_dly表示当次检测(即前一采样点)中缓存获取的各数据包之间的最小瞬时排队延时,并且此时的min_dly<dlythreshold,在T1处的dly_avg-min_dly_avg表示当次检测(即前一采样点)中缓存获取的各数据包之间的平均排队延时与最小平均排队延时的差值,并且此时的dly_avg-min_dly_avg<b×dlythreshold,即在目标拥塞检测配置信息为第二拥塞检测配置信息的情况下,服务器在前一采样点(T1)处不满足第二拥塞状态转换条件,因此前一采样点处的历史链路状态为非拥塞状态。
其中,在T2处的min_dly表示当次检测(即当前采样点)中缓存获取的各数据包之间的最小瞬时排队延时,并且此时的min_dly>dlythreshold,在T2处的dly_avg-min_dly_avg表示当次检测(即当前采样点)中缓存获取的各数据包之间的平均排队延时与最小平均排队延时的差值,并且此时的dly_avg-min_dly_avg>b×dlythreshold,以及在当次检测(即当前采样点)之前的时间范围n内的各次检测/各次采样/采样持续时长均满足对应的min_dly>dlythreshold和dly_avg-min_dly_avg>b×dlythreshold,即在目标拥塞检测配置信息为第二拥塞检测配置信息的情况下,服务器在当前采样点(T2)处满足第二拥塞状态转换条件,因此当前采样点处的当前链路状态为拥塞状态。
在第三种示例性的实施例中,若服务器:在当前抖动状态为非延时抖动状态以及历史链路状态为历史拥塞状态的情况下,获取第三拥塞检测配置信息,作为目标拥塞检测配置信息,并基于目标拥塞检测配置信息确定网络链路在当前采样点的链路状态。
在一实施例中,第三拥塞检测配置信息包括利用当前预设时间窗内缓存的各数据包之间的平均排队延时、当前数据包的瞬时排队延时,以及第三预设阈值确定链路拥塞状态的配置信息。
在一些实施例中,当前预设时间窗为以当前时刻为起始时刻,往前预设时间域为终止时刻所包含的时间范围。例如,当前预设时间窗所包含的时间范围可以为10秒、20秒等。
在一实施例中,第三拥塞检测配置信息包括第三拥塞状态转换条件;其中,第三拥塞状态转换条件为瞬时排队延时大于第三预设阈值的第一加权值,以及平均排队延时小于第三预设阈值的第二加权值。
在一实施例中,服务器基于目标拥塞检测配置信息确定网络链路的当前链路状态包括:在目标拥塞检测配置信息为第三拥塞检测配置信息的情况下,若网络链路满足第三拥塞状态转换条件,则确定当前链路状态为非拥塞状态;或者,在目标拥塞检测配置信息为第三拥塞检测配置信息的情况下,若网络链路不满足第三拥塞状态转换条件,则确定当前链路状态为拥塞状态。
在一示例性实施例中,参阅图6,图6为本申请中确定网络链路在当前采样点的链路状态第三实施例的界面示意图。
在图6中,坐标系的横坐标表示时间(T),T1表示当前采样点的前一采样点所占据的时间范围,T2表示当前采样点所占据的时间范围,S表示为以T2为终止时刻的当前预设时间窗。其中,T1和T2可以均为一段时间段,也可以为一个时刻,在T1和T2所占据的时间段/时刻中,包括至少一个服务器缓存获取的数据包,且T1和T2所占据的时间段/时刻不相重叠。
在图6中,坐标系的纵坐标表示排队时间延时(dly),c×dlythreshold表示预设的第三预设阈值的第一加权值。其中,c为加权系数,且0<c<1,d×dlythreshold表示预设的第三预设阈值的第二加权值。其中,d为加权系数,且0<d<1。
在图6中,曲线f(dly)表示当前预设时间窗(S)内的各个采样点(圆点)处所缓存获取的数据包组中的最后一个数据包的瞬时排队延时。曲线f(dly_avg)表示当前预设时间窗(S)内的各个采样点(圆点)处所缓存获取的数据包组中的各数据包之间的平均排队延时。
其中,在T1处的dly表示在T1对应的采样点处缓存获取的数据包组中最后一个数据包的瞬时排队延时,并且此时的dly>c×dlythreshold,在T1处的dly_avg表示在T1对应的采样点处缓存获取的数据包组中的各数据包之间的平均排队延时,并且此时的dly_avg>d×dlythreshold,即在目标拥塞检测配置信息为第三拥塞检测配置信息的情况下,服务器在前一采样点(T1)处不满足第三拥塞状态转换条件,因此前一采样点处的历史链路状态为拥塞状态。
其中,在T2处的dly表示在T2对应的采样点处缓存获取的数据包组中最后一个数据包的瞬时排队延时(即当前时刻数据包的瞬时排队延时),并且此时的dly<c×dlythreshold,在T2处的dly_avg表示在T2对应的采样点处缓存获取的数据包组中的各数据包之间的平均排队延时,并且此时的dly_avg<d×dlythreshold,即在目标拥塞检测配置信息为第三拥塞检测配置信息的情况下,服务器在当前采样点(T2)处满足第三拥塞状态转换条件,因此当前采样点处的当前链路状态为非拥塞状态。
在第四种示例性的实施例中,若服务器:在当前抖动状态为非延时抖动状态以及历史链路状态为历史非拥塞状态的情况下,获取第四拥塞检测配置信息,作为目标拥塞检测配置信息。
在一实施例中,第四拥塞检测配置信息包括利用当前数据包的瞬时排队延时和第四预设阈值确定链路拥塞状态的配置信息。
在一实施例中,第四拥塞检测配置信息包括第四拥塞状态转换条件;其中,第四拥塞状态转换条件为在连续多次检测中,或者在当前预设时间窗内,每次检测均满足:瞬时排队延时大于第四预设阈值。
在一实施例中,服务器基于目标拥塞检测配置信息确定网络链路的当前链路状态包括:在目标拥塞检测配置信息为第四拥塞检测配置信息的情况下,若网络链路满足第四拥塞状态转换条件,则确定当前链路状态为拥塞状态;或者,在目标拥塞检测配置信息为第四拥塞检测配置信息的情况下,若网络链路不满足第四拥塞状态转换条件,则确定当前链路状态为非拥塞状态。
在一示例性实施例中,参阅图7,图7为本申请中确定网络链路在当前采样点的链路状态第四实施例的界面示意图。
在图7中,坐标系的横坐标表示时间(T),T1表示当前采样点的前一采样点所占据的时间范围,T2表示当前采样点所占据的时间范围,S表示为以T2为终止时刻的当前预设时间窗,n表示为以T2为终止时刻的另一当前预设时间窗(其包含连续的多次检测/多次采样/采样持续时长)。其中,T1和T2可以均为一段时间段,也可以为一个时刻,在T1和T2所占据的时间段/时刻中,包括至少一个服务器缓存获取的数据包,且T1和T2所占据的时间段/时刻不相重叠。
在图7中,坐标系的纵坐标表示排队时间延时(dly),dlythreshold表示预设的第四预设阈值。
在图7中,曲线f(dly)表示在对应的当次检测(当次采样点)中缓存获取的数据包组中最后一个数据包的瞬时排队延时。
其中,在T1处的dly表示当次检测(即前一采样点)中缓存获取的数据包组中最后一个数据包的瞬时排队延时,并且此时的dly<dlythreshold,即在目标拥塞检测配置信息为第四拥塞检测配置信息的情况下,服务器在前一采样点(T1)处不满足第四拥塞状态转换条件,因此前一采样点处的历史链路状态为非拥塞状态。
其中,在T2处的dly表示当次检测(即当前采样点)中缓存获取的数据包组中最后一个数据包的瞬时排队延时(即当前时刻),并且此时的dly>dlythreshold,以及在当次检测(即当前采样点)之前的时间范围n内的各次检测/各次采样/采样持续时长均满足对应的dly>dlythreshold,即在目标拥塞检测配置信息为第四拥塞检测配置信息的情况下,服务器在当前采样点(T2)处满足第四拥塞状态转换条件,因此当前采样点处的当前链路状态为拥塞状态。
为了拓展本公开实施例提供的网络链路的拥塞状态检测方法,以下以另一个实施例对该网络链路的拥塞状态检测方法进行延伸说明。在一示例性实施例中,参考图8和图9,图8为根据另一示例性实施例示出的一种网络链路的拥塞状态检测方法的流程图,图9为根据另一示例性实施例示出的一种网络链路的拥塞状态检测方法的模块图,该网络链路的拥塞状态检测方法用于图1所示的服务器104中,具体包括如下内容:
步骤S21:获取第一采样点采集的数据包组的第一排队延时,以及第二采样点采集的数据包组的第二排队延时。
其中,服务器先从数据包组的接收端接收网络统计情况(包括各个数据包的发送时间、接收时间等信息),再根据网络统计情况确定第一采样点采集的数据包组的第一排队延时,以及第二采样点采集的数据包组的第二排队延时。
其中,第一采样点为当前时刻所在的一个采样点,第二采样点为第一采样点的上一个采样点。
其中,接收端对接收到的数据包组进行采样的时间间隔:基于接收端的参数设置、发送端的参数设置、接收端与发送端之间的网络状态决定,即每次的间隔(即两个相邻采样点)的距离不是一定相等。
其中,第一排队延时基于s_dlyqueue表达,第二排队延时基于L_dlyqueue表达。
其中,第一排队延时和第二排队延时均为对应数据包组中的各个数据包之间对应的排队延时的平均值。
其中,单个数据包的排队延时=对应单个数据包的传输延时-对应最近统计窗口内各个数据包中最小的传输延时。
其中,传输延时=数据包的接收时间-数据包的发送时间。
其中,最近统计窗口为以当前时刻起始,往前T秒内所包含的时间范围。
步骤S22:将第一排队延时减去第二排队延时,得到排队延时差值。
其中,排队延时差值基于dly_gapqueue表达,即
dly_gapqueue=s_dlyqueue-L_dlyqueue
步骤S23:基于第一排队延时、排队延时差值分别与第一权重因子的乘积,计算二者的和值,得到第三排队延时。
其中,第三排队延时为当前时刻网络链路的排队延时。
其中,第三排队延时基于dlyqueue表达,第一权重因子基于β表达(0<β<1),即
dlyqueue=s_dlyqueue×β+dly_gapqueue(1-β)。
步骤S24:基于第三排队延时和第一排队延时二者的差值,得到第一时延平滑抖动系数;以及,基于第一排队延时和第二排队延时二者的差值,得到第二时延平滑抖动系数。
其中,第一时延平滑抖动系数用于表征当前时刻至第一采样点之间的时延平滑抖动系数。
其中,第一时延平滑抖动系数基于s_dly_varqueue表达,即
s_dly_varqueue=dlyqueue-s_dlyqueue
其中,第二时延平滑抖动系数用于表征第一采样点至第二采样点之间的时延平滑抖动系数。
其中,第二时延平滑抖动系数基于L_dly_varqueue表达,即
L_dly_varqueue=s_dlyqueue-L_dlyqueue
步骤S25:基于第一时延平滑抖动系数、第二时延平滑抖动系数分别与第二权重因子的乘积,计算二者的和值,得到第三时延平滑抖动系数。
其中,第三时延平滑抖动系数用于表征当前时刻的时延平滑抖动系数。
其中,第三时延平滑抖动系数基于dly_varqueue表达,第二权重因子基于γ表达(0<γ<1),即
dly_varqueue=s_dly_varqueue×γ+L_dly_varqueue(1-γ)。
步骤S26:基于第三时延平滑抖动系数与预设阈值的大小,确定当前链路是否处于延时抖动状态。
其中,若第三时延平滑抖动系数大于预设阈值,则当前链路处于延时抖动状态;
其中,若第三时延平滑抖动系数小于或等于预设阈值,则当前链路处于非延时抖动状态。
其中,时延平滑抖动系数对应的预设阈值基于s_dly_varthreshold表征,即判定当前链路是否处于延时抖动状态的方法为:
s_dly_varqueue>s_dly_varthreshold
步骤S27:获取预设时间范围内接收到的多个数据包。
其中,预设时间范围为S秒,用于表征以当前时刻起始,往前S秒内所包含的时间范围;
其中,预设时间范围由N个相邻的时间统计窗口组成,且每一时间统计窗口内包括至少两个数据包。
步骤S28:基于各个数据包的排队延时,确定出最小排队延时、当前平均排队延时和最小平均排队延时。
其中,最小排队延时为该多个数据包对应的多个排队延时中最小的一个排队延时;
其中,当前平均排队延时为当前时间统计窗口内各个数据包对应的排队延时的均值;
其中,最小平均排队延时为该N个时间统计窗口对应的多个平均排队延时中最小的一个平均排队延时;
其中,最小排队延时基于min_dly表征,当前平均排队延时基于dly_avg表征,最小平均排队延时基于min_dly_avg表征。
步骤S29:在对应网络链路当前处于的延时抖动状态和在第二采样点处于的拥塞状态的情况下,根据数据包的最小排队延时、当前平均排队延时和最小平均排队延时,检测网络链路在当前时刻的拥塞状态。
其中,网络链路当前处于的延时抖动状态和在第二采样点处于的拥塞状态共同组成四种情况,并且以网络链路当前是处于延时抖动状态,分为第一类情况(包括第一种情况:网络链路在第二采样点是处于拥塞状态,以及第二种情况:网络链路在第二采样点是处于非拥塞状态);以网络链路当前是处于非延时抖动状态,分为第二类情况(包括第三种情况:网络链路在第二采样点是处于拥塞状态,以及第四种情况:网络链路在第二采样点是处于非拥塞状态)。
第一种情况:即在网络链路当前处于延时抖动状态,以及网络链路在第二采样点处于第一状态的情况下,基于排队延时阈值和第三权重因子的乘积,与最小排队延时的大小,对网络链路进行拥塞检测,确定网络链路当前的链路环境。
其中,第一状态表征网络链路在对应时刻的链路环境为处于拥塞状态。
其中,排队延时阈值基于dlythreshold表达,第三权重因子基于a表达(0<a<1)。
其中,若最小排队延时小于排队延时阈值和第三权重因子的乘积,则网络链路由第一状态转变为第二状态,即min_dly<a×dlythreshold
其中,第二状态表征网络链路在对应时刻的链路环境为处于非拥塞状态。
其中,若最小排队延时大于或者等于排队延时阈值和第三权重因子的乘积,则网络链路保持第一状态不变,即min_dly≥a×dlythreshold
第二种情况,即在网络链路当前处于延时抖动状态,以及网络链路在第二采样点处于第二状态的情况下,基于第一预设规则对网络链路进行拥塞检测,确定网络链路当前的链路环境。
其中,第一预设规则为在连续的N次数据包采样下,或者在持续的采集时长T中,网络链路持续满足min_dly>dlythreshold和dly_avg>min_dly_avg+b×dlythreshold,则网络链路由第二状态转变为第一状态。其中,0<b<1。
其中,预设规则为在连续的N次数据包采样下,或者在持续的采集时长T中,网络链路不能持续满足min_dly>dlythreshold和dly_avg>min_dly_avg+c×dlythreshold,则网络链路保持第二状态不变。其中,0<c<1。
第三种情况,即在网络链路当前处于非延时抖动状态,以及网络链路在第二采样点处于第一状态的情况下,基于排队延时阈值和第三排队延时的大小,以及排队延时阈值和当前平均排队延时的大小,对网络链路进行拥塞检测,确定网络链路当前的链路环境。
其中,若第三排队延时小于排队延时阈值和d的乘积,以及当前平均排队延时小于排队延时阈值和e的乘积,则网络链路由第一状态转变为第二状态,即dly<d×dlythreshold,0<d<1;以及dly_avg<e×dlythreshold,0<e<1。
其中,若第三排队延时大于或者等于排队延时阈值和d的乘积,和/或当前平均排队延时大于或者等于排队延时阈值和e的乘积,则网络链路保持第一状态不变,即dly≥d×dlythreshold和/或dly_avg≥e×dlythreshold
第四种情况,即在网络链路当前处于非延时抖动状态,以及网络链路在第二采样点处于第二状态的情况下,基于第二预设规则对网络链路进行拥塞检测,确定网络链路当前的链路环境。
其中,第二预设规则为在连续的N次数据包采样下,或者在持续的采集时长T中,网络链路持续满足第三排队延时大于排队延时阈值,即dly>dlythreshold,则网络链路由第二状态转变为第一状态;
其中,第二预设规则为在连续的N次数据包采样下,或者在持续的采集时长T中,网络链路不能持续满足第三排队延时大于排队延时阈值,即存在dly>dlythreshold,则网络链路保持第二状态不变。
上述方案,一方面,根据不同采样点的排队延时来确定网络链路在当前采样点的延时抖动程度,并利用延时抖动程度确定网络链路在当前采样点的链路状态,区别于现有技术中仅通过单个数据包的排队延时的变化来检测网络链路当前的拥塞程度,能够有效提升检测出的网络链路的拥塞状态的准确度,使得后续对网络链路进行的调整能够更加合理和高效;另一方面,利用预先配置的至少两项拥塞检测配置信息并结合网络链路的延时抖动程度,来对网络链路在当前采样点的链路状态进行检测,从而优化了网络链路的拥塞状态的检测流程,提升了拥塞状态检测的准确度,以及降低了拥塞状态检测的复杂度。
应该理解的是,虽然图2-图9的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图9中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
可以理解的是,本说明书中上述方法的各个实施例之间相同/相似的部分可互相参见,每个实施例重点说明的是与其他实施例的不同之处,相关之处参见其他方法实施例的说明即可。
图10是本申请实施例提供的一种网络链路的拥塞状态检测装置框图。参照图10,该网络链路的拥塞状态检测10包括:抖动确定单元11、配置匹配单元12和拥塞检测单元13。
其中,抖动确定单元11,被配置为执行基于网络链路在当前采样点和相对应于所述当前采样点的前一采样点处各自缓存获取的数据包组的排队延时,确定网络链路在所述当前采样点的延时抖动程度;所述排队延时为数据包组中的至少一个数据包的瞬时排队延时的统计数据;所述延时抖动程度表征所述网络链路中两个相邻采样点处各自缓存的数据包组之间的排队延时的变化程度;
其中,配置匹配单元12,被配置为执行从至少两项拥塞检测配置信息中,获取与所述当前采样点的延时抖动程度、所述网络链路的历史链路状态均匹配的目标拥塞检测配置信息;所述历史链路状态表征所述网络链路在所述前一采样点的链路拥塞状态;
其中,拥塞检测单元13,被配置为执行基于所述目标拥塞检测配置信息检测所述网络链路的当前链路状态;所述当前链路状态表征所述网络链路在所述当前采样点的链路拥塞状态。
在一些实施例中,所述在当前采样点和相对应于所述当前采样点的前一采样点处各自缓存获取的数据包组的排队延时包括:对应于所述当前采样点的第一排队延时和对应于所述前一采样点的第二排队延时;其中,所述第一排队延时和第二排队延时之间的差值表征所述当前采样点和所述前一采样点处各自缓存的数据包组之间的延时差值;在所述确定网络链路在所述当前采样点的延时抖动程度的方面,该抖动确定单元11具体用于:
基于所述第二排队延时和所述延时差值之间的统计数据,确定针对所述当前采样点的预测排队延时;
基于当前数据包的瞬时排队延时与所述预测排队延时之间的统计数据,确定所述网络链路在所述当前采样点的延时抖动误差;所述当前数据包为在所述当前采样点处缓存的数据包组中的最后一个数据包;
基于所述当前采样点的延时抖动误差与所述前一采样点的延时抖动程度之间的统计数据,确定所述网络链路在所述当前采样点的延时抖动程度。
在一些实施例中,在所述基于所述第二排队延时和所述延时差值之间的统计数据,确定针对所述当前采样点的预测排队延时的方面,该抖动确定单元11具体用于:
基于预设的第一平滑系数,对所述第二排队延时与所述延时差值进行加权平均,得到对应的第一加权平均值,以确定针对所述当前采样点的预测排队延时;
其中,所述第一平滑系数用于调整所述第二排队延时和所述延时差值之间各自的加权程度。
在一些实施例中,所述网络链路在各采样点的延时抖动程度基于对应的延时抖动系数表征;在所述基于所述当前采样点的延时抖动误差与所述前一采样点的延时抖动程度之间的统计数据,确定所述网络链路在所述当前采样点的延时抖动程度的方面,该抖动确定单元11具体用于:
基于预设的第二平滑系数,对所述当前采样点的延时抖动误差与所述前一采样点的延时抖动系数进行加权平均,得到对应的第二加权平均值,以确定所述网络链路在所述当前采样点的延时抖动系数;
其中,所述第二平滑常数用于调整所述当前采样点的延时抖动误差与所述前一采样点的延时抖动系数之间各自的加权程度。
在一些实施例中,所述确定网络链路在所述当前采样点的延时抖动程度之后,该网络链路的拥塞状态检测10具体还用于:
响应于所述当前采样点的延时抖动程度大于预设抖动阈值,确定所述网络链路的当前抖动状态为延时抖动状态;
响应于所述当前采样点的延时抖动程度小于或者等于所述预设抖动阈值,确定所述网络链路的当前抖动状态为非延时抖动状态。
在一些实施例中,所述历史链路状态包括历史拥塞状态或者历史非拥塞状态;在所述从至少两项拥塞检测配置信息中,获取与所述当前采样点的延时抖动程度、所述网络链路的历史链路状态均匹配的目标拥塞检测配置信息的方面,该配置匹配单元12具体还用于:
在所述当前抖动状态为所述延时抖动状态以及所述历史链路状态为所述历史拥塞状态的情况下,获取第一拥塞检测配置信息,作为所述目标拥塞检测配置信息;所述第一拥塞检测配置信息包括利用最大瞬时排队延时和第一预设阈值确定链路拥塞状态的配置信息;所述最大瞬时排队延时为在当前预设时间窗内缓存的各数据包之间对应最大的瞬时排队延时;
在所述当前抖动状态为所述延时抖动状态以及所述历史链路状态为所述历史非拥塞状态的情况下,获取第二拥塞检测配置信息,作为所述目标拥塞检测配置信息;所述第二拥塞检测配置信息包括利用最小瞬时排队延时、第二预设阈值、所述当前预设时间窗内缓存的各数据包之间的平均排队延时,以及包含所述当前预设时间窗在内的多个相邻预设时间窗口中对应的最小平均排队延时确定链路拥塞状态的配置信息;所述最小瞬时排队延时为在所述当前预设时间窗内缓存的各数据包之间对应最小的瞬时排队延时;
在所述当前抖动状态为所述非延时抖动状态以及所述历史链路状态为所述历史拥塞状态的情况下,获取第三拥塞检测配置信息,作为所述目标拥塞检测配置信息;所述第三拥塞检测配置信息包括利用所述当前预设时间窗内缓存的各数据包之间的平均排队延时、当前数据包的瞬时排队延时,以及第三预设阈值确定链路拥塞状态的配置信息;
在所述当前抖动状态为所述非延时抖动状态以及所述历史链路状态为所述历史非拥塞状态的情况下,获取第四拥塞检测配置信息,作为所述目标拥塞检测配置信息;所述第四拥塞检测配置信息包括利用当前数据包的瞬时排队延时和第四预设阈值确定链路拥塞状态的配置信息。
在一些实施例中,所述第一拥塞检测配置信息包括第一拥塞状态转换条件;所述第一拥塞状态转换条件为所述最大瞬时排队延时小于所述第一预设阈值的加权值;在所述基于所述目标拥塞检测配置信息检测所述网络链路的当前链路状态的方面,该拥塞检测单元13具体还用于:
在所述目标拥塞检测配置信息为所述第一拥塞检测配置信息的情况下,若所述网络链路满足所述第一拥塞状态转换条件,则确定所述当前链路状态为非拥塞状态;
在所述目标拥塞检测配置信息为所述第一拥塞检测配置信息的情况下,若所述网络链路不满足所述第一拥塞状态转换条件,则确定所述当前链路状态为拥塞状态。
在一些实施例中,所述第二拥塞检测配置信息包括第二拥塞状态转换条件;所述第二拥塞状态转换条件为在连续多次检测中,或者在所述当前预设时间窗内,每次检测均满足:所述最小瞬时排队延时大于所述第二预设阈值,以及所述平均排队延时与所述最小平均排队延时之间的差值大于所述第二预设阈值的加权值;在所述基于所述目标拥塞检测配置信息检测所述网络链路的当前链路状态的方面,该拥塞检测单元13具体还用于:
在所述目标拥塞检测配置信息为所述第二拥塞检测配置信息的情况下,若所述网络链路满足所述第二拥塞状态转换条件,则确定所述当前链路状态为拥塞状态;
在所述目标拥塞检测配置信息为所述第二拥塞检测配置信息的情况下,若所述网络链路不满足响应于所述第二拥塞状态转换条件,则确定所述当前链路状态为非拥塞状态。
在一些实施例中,所述第三拥塞检测配置信息包括第三拥塞状态转换条件;所述第三拥塞状态转换条件为所述瞬时排队延时大于所述第三预设阈值的第一加权值,以及所述平均排队延时小于所述第三预设阈值的第二加权值;在所述基于所述目标拥塞检测配置信息检测所述网络链路的当前链路状态的方面,该拥塞检测单元13具体还用于:
在所述目标拥塞检测配置信息为所述第三拥塞检测配置信息的情况下,若所述网络链路满足所述第三拥塞状态转换条件,则确定所述当前链路状态为非拥塞状态;
在所述目标拥塞检测配置信息为所述第三拥塞检测配置信息的情况下,若所述网络链路不满足所述第三拥塞状态转换条件,则确定所述当前链路状态为拥塞状态。
在一些实施例中,所述第四拥塞检测配置信息包括第四拥塞状态转换条件;所述第四拥塞状态转换条件为在连续多次检测中,或者在所述当前预设时间窗内,每次检测均满足:所述瞬时排队延时大于所述第四预设阈值;在所述基于所述目标拥塞检测配置信息检测所述网络链路的当前链路状态的方面,该拥塞检测单元13具体还用于:
在所述目标拥塞检测配置信息为所述第四拥塞检测配置信息的情况下,若所述网络链路满足所述第四拥塞状态转换条件,则确定所述当前链路状态为拥塞状态;
在所述目标拥塞检测配置信息为所述第四拥塞检测配置信息的情况下,若所述网络链路不满足所述第四拥塞状态转换条件,则确定所述当前链路状态为非拥塞状态。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图11是本申请实施例提供的一种服务器的框图。例如,服务器20可以为一种电子组件或者服务器阵列等等。参照图11,服务器20包括处理器21,其进一步处理器21可以为处理器集合,其可以包括一个或多个处理器,以及服务器20包括由存储器22所代表的存储器资源,其中,存储器22上存储有计算机程序,例如应用程序。在存储器22中存储的计算机程序可以包括一个或一个以上的每一个对应于一组可执行指令的模块。此外,处理器21被配置为执行计算机程序时实现如上述的网络链路的拥塞状态检测方法。
在一些实施例中,服务器20为电子设备,该服务器20中的计算系统可以运行一个或多个操作系统,包括以上讨论的任何操作系统以及任何商用的服务器操作系统。该服务器30还可以运行各种附加服务器应用和/或中间层应用中的任何一种,包括HTTP(超文本传输协议)服务器、FTP(文件传输协议)服务器、CGI(通用网关界面)服务器、超级服务器、数据库服务器等。示例性数据库服务器包括但不限于可从(国际商业机器)等商购获得的数据库服务器。
在一些实施例中,处理器31通常控制服务器20的整体操作,诸如与显示、数据处理、数据通信和记录操作相关联的操作。处理器21可以包括一个或多个处理器来执行计算机程序,以完成上述的方法的全部或部分步骤。此外,处理器21可以包括一个或多个模块,便于处理器21和其他组件之间的交互。例如,处理器21可以包括多媒体模块,以方便利用多媒体组件控制服务器20和处理器21之间的交互。
在一些实施例中,处理器21中的处理器组件还可以称为CPU(Central ProcessingUnit,中央处理单元)。处理器组件可能是一种电子芯片,具有信号的处理能力。处理器组件还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器组件也可以是任何常规的处理器等。另外,处理组件可以由集成电路芯片共同实现。
在一些实施例中,存储器22被配置为存储各种类型的数据以支持在服务器20的操作。这些数据的示例包括用于在服务器20上操作的任何应用程序或方法的指令、采集数据、消息、图片、视频等。存储器22可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、快闪存储器、磁盘、光盘或石墨烯存储器。
在一些实施例中,存储器22可以为内存条、TF卡等,可以存储服务器20中的全部信息,包括都保存在存储器22中的输入的原始数据、计算机程序、中间运行结果和最终运行结果。
在一些实施例中,存储器22根据处理器21指定的位置存入和取出信息。在一些实施例中,有了存储器22,服务器20才有记忆功能,才能保证正常工作。
在一些实施例中,服务器20的存储器22按用途可分为主存储器(内存)和辅助存储器(外存),也有分为外部存储器和内部存储器的分类方法。外存通常是磁性介质或光盘等,能长期保存信息。内存指主板上的存储部件,用来存放当前正在执行的数据和程序,但仅用于暂时存放程序和数据,关闭电源或断电,数据会丢失。
在一些实施例中,服务器20还可以包括:电源组件23被配置为执行服务器20的电源管理,有线或无线网络接口24被配置为将服务器20连接到网络,和输入输出(I/O)接口25。服务器20可以操作基于存储在存储器22的操作系统,例如Windows Server,Mac OS X,Unix,Linux,FreeBSD或类似。
在一些实施例中,电源组件23为服务器20的各种组件提供电力。电源组件23可以包括电源管理系统,一个或多个电源,及其他与为服务器20生成、管理和分配电力相关联的组件。
在一些实施例中,有线或无线网络接口24被配置为便于服务器20和其他设备之间有线或无线方式的通信。服务器20可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。
在一些实施例中,有线或无线网络接口34经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,有线或无线网络接口24还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在一些实施例中,输入输出(I/O)接口25为处理器21和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
图12是本申请实施例提供的一种计算机可读存储介质30的框图。该计算机可读存储介质30上存储有计算机程序31,其中,计算机程序31被服务器的处理器执行时实现如上述的网络链路的拥塞状态检测方法。
在本申请各个实施例中的各功能单元集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在计算机可读存储介质30中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机可读存储介质30在一个计算机程序31中,包括若干指令用以使得一台计算机设备(可以是个人计算机,系统服务器,或者网络设备等)、电子设备(例如MP3、MP4等,也可以是手机、平板电脑、可穿戴设备等智能终端,也可以是台式电脑等)或者处理器(processor)以执行本申请各个实施方式方法的全部或部分步骤。
图13是本申请实施例提供的一种计算机程序产品40的框图。该计算机程序产品40中包括程序指令41,该程序指令41可由服务器的处理器执行以实现如上述的网络链路的拥塞状态检测方法。
本领域内的技术人员应明白,本申请的实施例可提供有网络链路的拥塞状态检测方法、网络链路的拥塞状态检测装置10、服务器20、计算机可读存储介质30或计算机程序产品40。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机程序指令41(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品40的形式。
本申请是参照根据本申请实施例中网络链路的拥塞状态检测方法、网络链路的拥塞状态检测装置10、服务器20、计算机可读存储介质30或计算机程序产品40的流程图和/或方框图来描述的。应理解可由计算机程序产品40实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序产品40到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的程序指令41产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序产品40也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机程序产品40中的程序指令41产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些程序指令41也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的程序指令41提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
需要说明的,上述的各种方法、装置、电子设备、计算机可读存储介质、计算机程序产品等根据方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (13)

1.一种网络链路的拥塞状态检测方法,其特征在于,包括:
基于网络链路在当前采样点和相对应于所述当前采样点的前一采样点处各自缓存获取的数据包组的排队延时,确定网络链路在所述当前采样点的延时抖动程度;所述排队延时为数据包组中的至少一个数据包的瞬时排队延时的统计数据;所述延时抖动程度表征所述网络链路中两个相邻采样点处各自缓存的数据包组之间的排队延时的变化程度;
从至少两项拥塞检测配置信息中,获取与所述当前采样点的延时抖动程度、所述网络链路的历史链路状态均匹配的目标拥塞检测配置信息;所述历史链路状态表征所述网络链路在所述前一采样点的链路拥塞状态;
基于所述目标拥塞检测配置信息检测所述网络链路的当前链路状态;所述当前链路状态表征所述网络链路在所述当前采样点的链路拥塞状态。
2.根据权利要求1所述的方法,其特征在于,所述在当前采样点和相对应于所述当前采样点的前一采样点处各自缓存获取的数据包组的排队延时包括:对应于所述当前采样点的第一排队延时和对应于所述前一采样点的第二排队延时;其中,所述第一排队延时和第二排队延时之间的差值表征所述当前采样点和所述前一采样点处各自缓存的数据包组之间的延时差值;
所述确定网络链路在所述当前采样点的延时抖动程度,包括:
基于所述第二排队延时和所述延时差值之间的统计数据,确定针对所述当前采样点的预测排队延时;
基于当前数据包的瞬时排队延时与所述预测排队延时之间的统计数据,确定所述网络链路在所述当前采样点的延时抖动误差;所述当前数据包为在所述当前采样点处缓存的数据包组中的最后一个数据包;
基于所述当前采样点的延时抖动误差与所述前一采样点的延时抖动程度之间的统计数据,确定所述网络链路在所述当前采样点的延时抖动程度。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第二排队延时和所述延时差值之间的统计数据,确定针对所述当前采样点的预测排队延时,包括:
基于预设的第一平滑系数,对所述第二排队延时与所述延时差值进行加权平均,得到对应的第一加权平均值,以确定针对所述当前采样点的预测排队延时;
其中,所述第一平滑系数用于调整所述第二排队延时和所述延时差值之间各自的加权程度。
4.根据权利要求2所述的方法,其特征在于,所述网络链路在各采样点的延时抖动程度基于对应的延时抖动系数表征;
所述基于所述当前采样点的延时抖动误差与所述前一采样点的延时抖动程度之间的统计数据,确定所述网络链路在所述当前采样点的延时抖动程度,包括:
基于预设的第二平滑系数,对所述当前采样点的延时抖动误差与所述前一采样点的延时抖动系数进行加权平均,得到对应的第二加权平均值,以确定所述网络链路在所述当前采样点的延时抖动系数;
其中,所述第二平滑常数用于调整所述当前采样点的延时抖动误差与所述前一采样点的延时抖动系数之间各自的加权程度。
5.根据权利要求1所述的方法,其特征在于,在所述确定网络链路在所述当前采样点的延时抖动程度之后,还包括:
在所述当前采样点的延时抖动程度大于预设抖动阈值的情况下,确定所述网络链路的当前抖动状态为延时抖动状态;
在所述当前采样点的延时抖动程度小于或者等于所述预设抖动阈值的情况下,确定所述网络链路的当前抖动状态为非延时抖动状态。
6.根据权利要求5所述的方法,其特征在于,所述历史链路状态包括历史拥塞状态或者历史非拥塞状态;
所述从至少两项拥塞检测配置信息中,获取与所述当前采样点的延时抖动程度、所述网络链路的历史链路状态均匹配的目标拥塞检测配置信息,包括:
在所述当前抖动状态为所述延时抖动状态以及所述历史链路状态为所述历史拥塞状态的情况下,获取第一拥塞检测配置信息,作为所述目标拥塞检测配置信息;所述第一拥塞检测配置信息包括利用最大瞬时排队延时和第一预设阈值确定链路拥塞状态的配置信息;所述最大瞬时排队延时为在当前预设时间窗内缓存的各数据包之间对应最大的瞬时排队延时;
在所述当前抖动状态为所述延时抖动状态以及所述历史链路状态为所述历史非拥塞状态的情况下,获取第二拥塞检测配置信息,作为所述目标拥塞检测配置信息;所述第二拥塞检测配置信息包括利用最小瞬时排队延时、第二预设阈值、所述当前预设时间窗内缓存的各数据包之间的平均排队延时,以及包含所述当前预设时间窗在内的多个相邻预设时间窗口中对应的最小平均排队延时确定链路拥塞状态的配置信息;所述最小瞬时排队延时为在所述当前预设时间窗内缓存的各数据包之间对应最小的瞬时排队延时;
在所述当前抖动状态为所述非延时抖动状态以及所述历史链路状态为所述历史拥塞状态的情况下,获取第三拥塞检测配置信息,作为所述目标拥塞检测配置信息;所述第三拥塞检测配置信息包括利用所述当前预设时间窗内缓存的各数据包之间的平均排队延时、当前数据包的瞬时排队延时,以及第三预设阈值确定链路拥塞状态的配置信息;
在所述当前抖动状态为所述非延时抖动状态以及所述历史链路状态为所述历史非拥塞状态的情况下,获取第四拥塞检测配置信息,作为所述目标拥塞检测配置信息;所述第四拥塞检测配置信息包括利用当前数据包的瞬时排队延时和第四预设阈值确定链路拥塞状态的配置信息。
7.据权利要求6所述的方法,其特征在于,所述第一拥塞检测配置信息包括第一拥塞状态转换条件;所述第一拥塞状态转换条件为所述最大瞬时排队延时小于所述第一预设阈值的加权值;
所述基于所述目标拥塞检测配置信息检测所述网络链路的当前链路状态,包括:
在所述目标拥塞检测配置信息为所述第一拥塞检测配置信息的情况下,若所述网络链路满足所述第一拥塞状态转换条件,则确定所述当前链路状态为非拥塞状态;
在所述目标拥塞检测配置信息为所述第一拥塞检测配置信息的情况下,若所述网络链路不满足所述第一拥塞状态转换条件,则确定所述当前链路状态为拥塞状态。
8.根据权利要求6所述的方法,其特征在于,所述第二拥塞检测配置信息包括第二拥塞状态转换条件;所述第二拥塞状态转换条件为在连续多次检测中,或者在所述当前预设时间窗内,每次检测均满足:所述最小瞬时排队延时大于所述第二预设阈值,以及所述平均排队延时与所述最小平均排队延时之间的差值大于所述第二预设阈值的加权值;
所述基于所述目标拥塞检测配置信息检测所述网络链路的当前链路状态,包括:
在所述目标拥塞检测配置信息为所述第二拥塞检测配置信息的情况下,若所述网络链路满足所述第二拥塞状态转换条件,则确定所述当前链路状态为拥塞状态;
在所述目标拥塞检测配置信息为所述第二拥塞检测配置信息的情况下,若所述网络链路不满足响应于所述第二拥塞状态转换条件,则确定所述当前链路状态为非拥塞状态。
9.根据权利要求6所述的方法,其特征在于,所述第三拥塞检测配置信息包括第三拥塞状态转换条件;所述第三拥塞状态转换条件为所述瞬时排队延时大于所述第三预设阈值的第一加权值,以及所述平均排队延时小于所述第三预设阈值的第二加权值;
所述基于所述目标拥塞检测配置信息检测所述网络链路的当前链路状态,包括:
在所述目标拥塞检测配置信息为所述第三拥塞检测配置信息的情况下,若所述网络链路满足所述第三拥塞状态转换条件,则确定所述当前链路状态为非拥塞状态;
在所述目标拥塞检测配置信息为所述第三拥塞检测配置信息的情况下,若所述网络链路不满足所述第三拥塞状态转换条件,则确定所述当前链路状态为拥塞状态。
10.根据权利要求6所述的方法,其特征在于,所述第四拥塞检测配置信息包括第四拥塞状态转换条件;所述第四拥塞状态转换条件为在连续多次检测中,或者在所述当前预设时间窗内,每次检测均满足:所述瞬时排队延时大于所述第四预设阈值;
所述基于所述目标拥塞检测配置信息检测所述网络链路的当前链路状态,包括:
在所述目标拥塞检测配置信息为所述第四拥塞检测配置信息的情况下,若所述网络链路满足所述第四拥塞状态转换条件,则确定所述当前链路状态为拥塞状态;
在所述目标拥塞检测配置信息为所述第四拥塞检测配置信息的情况下,若所述网络链路不满足所述第四拥塞状态转换条件,则确定所述当前链路状态为非拥塞状态。
11.一种网络链路的拥塞状态检测装置,其特征在于,所述装置包括:
抖动确定单元,被配置为执行基于网络链路在当前采样点和相对应于所述当前采样点的前一采样点处各自缓存获取的数据包组的排队延时,确定网络链路在所述当前采样点的延时抖动程度;所述排队延时为数据包组中的至少一个数据包的瞬时排队延时的统计数据;所述延时抖动程度表征所述网络链路中两个相邻采样点处各自缓存的数据包组之间的排队延时的变化程度;
配置匹配单元,被配置为执行从至少两项拥塞检测配置信息中,获取与所述当前采样点的延时抖动程度、所述网络链路的历史链路状态均匹配的目标拥塞检测配置信息;所述历史链路状态表征所述网络链路在所述前一采样点的链路拥塞状态;
拥塞检测单元,被配置为执行基于所述目标拥塞检测配置信息检测所述网络链路的当前链路状态;所述当前链路状态表征所述网络链路在所述当前采样点的链路拥塞状态。
12.一种服务器,其特征在于,包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令,以实现如权利要求1至10中任一项所述的网络链路的拥塞状态检测方法。
13.一种计算机可读存储介质,所述计算机可读存储介质中包括计算机程序,其特征在于,当所述计算机程序由服务器的处理器执行时,使得所述服务器能够执行如权利要求1至10中任一项所述的网络链路的拥塞状态检测方法。
CN202310505977.8A 2023-05-06 2023-05-06 网络链路的拥塞状态检测方法、装置、服务器和存储介质 Pending CN116545929A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310505977.8A CN116545929A (zh) 2023-05-06 2023-05-06 网络链路的拥塞状态检测方法、装置、服务器和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310505977.8A CN116545929A (zh) 2023-05-06 2023-05-06 网络链路的拥塞状态检测方法、装置、服务器和存储介质

Publications (1)

Publication Number Publication Date
CN116545929A true CN116545929A (zh) 2023-08-04

Family

ID=87442994

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310505977.8A Pending CN116545929A (zh) 2023-05-06 2023-05-06 网络链路的拥塞状态检测方法、装置、服务器和存储介质

Country Status (1)

Country Link
CN (1) CN116545929A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116781975A (zh) * 2023-08-17 2023-09-19 中仪英斯泰克科技有限公司 一种媒体流检测方法、装置、终端设备和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116781975A (zh) * 2023-08-17 2023-09-19 中仪英斯泰克科技有限公司 一种媒体流检测方法、装置、终端设备和存储介质
CN116781975B (zh) * 2023-08-17 2024-02-06 中仪英斯泰克科技有限公司 一种媒体流检测方法、装置、终端设备和存储介质

Similar Documents

Publication Publication Date Title
KR101143136B1 (ko) 네트워크 상태에 응답하여 네트워크 통신을 최적화하는방법 및 시스템
US10826760B1 (en) Techniques to dynamically configure target bitrate for streaming network connections
US7783773B2 (en) Glitch-free media streaming
CN106789718B (zh) 数据传输的拥塞控制方法、设备、服务器及可编程设备
US9998915B2 (en) Wireless communication device
US11930232B2 (en) Video playing control method, terminal device, server, and storage medium
US10264053B2 (en) Method, apparatus, and system for data transmission between multiple devices
MX2008000575A (es) Comparticion de anchura de banda de red de fondo atras de dispositivos de puerta de acceso.
US10440082B1 (en) Adjusting parameter settings for bitrate selection algorithms
US20150134846A1 (en) Method and apparatus for media segment request retry control
CN116545929A (zh) 网络链路的拥塞状态检测方法、装置、服务器和存储介质
CN105340245A (zh) 用于适配被配置为接收多媒体内容的客户机终端的下载行为的方法以及对应的终端
US10128987B2 (en) Scalable receive window auto-tuning
US20190149868A1 (en) Techniques to dynamically configure a sender bitrate for streaming media connections
EP4052450A1 (en) Network path redirection
CN113296808A (zh) 应用程序的下载控制方法和服务器
CN109783337B (zh) 模型服务方法、系统、装置和计算机可读存储介质
CN113965517A (zh) 网络传输方法、装置、电子设备及存储介质
EP3416349A1 (en) Data buffering method and apparatus in adaptive streaming service
US10728911B2 (en) Wireless communication device
US11368400B2 (en) Continuously calibrated network system
CN113779019B (zh) 一种基于环形链表的限流方法和装置
US20230231813A1 (en) Enhanced network with data flow differentiation
US11356326B2 (en) Continuously calibrated network system
KR20230093737A (ko) 적응적 비디오 스트리밍 처리 방법 및 장치

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