一种带宽检测方法、装置、电子设备及存储介质与流程

文档序号:35929676发布日期:2023-11-05 02:21阅读:47来源:国知局
一种带宽检测方法、装置、电子设备及存储介质与流程

本技术涉及网络,尤其涉及一种带宽检测方法、装置、电子设备及存储介质。


背景技术:

1、在数据传输领域,随着传输数据量的增大,带宽采样被广泛用于网络拥塞检测中。目前,在检测一个采样周期内的带宽时,较为常用算法为linux内核中的westwood算法和基于瓶颈带宽计算往返时延(bottleneck bandwidth and rtt,bbr)算法。这两种算法的原理均是将一个往返时延(round trip time,rtt)作为带宽的一个采样周期,再通过统计rtt内应答包的数量进行带宽检测,从而掌握网络的拥塞情况。

2、可见,采用上述两种算法进行带宽检测时,均可以准确掌握rrt内应答包的数量,因此能够应对无线网络中随机丢包的问题,从而在下载类应用(如,文件下载、视频点播)中被广泛使用。

3、然而,不同于下载类应用,视频直播类应用传输的视频流是实时生成的,受网络影响,视频直播类应用传输的视频流的生成速度可能小于链路带宽,在此种情况下,在视频流传输过程中,很容易产生数据包缺失现象,从而导致rtt内的部分时段内无法接收到应答包,显然,这种现象会对带宽检测过程形成干扰,因此,若仍沿用上述两种算法进行带宽检测,会影响检测准确性。


技术实现思路

1、本技术实施例提供了一种带宽采样方法、装置、电子设备及存储介质,用于提高带宽采样的准确性。

2、一方面,本技术实施例提供一种带宽采样方法,包括:

3、接收视频直播过程中产生的视频流,并对所述视频流进行编码,获得多个数据包;

4、按照设定的视频流传输周期,将所述多个数据包发送给接收端,以及接收所述多个数据包各自对应的应答包,获得应答信息集;

5、若传输过程中发生至少一个数据包缺失事件,则基于记录的所述至少一个数据包缺失事件各自对应的缺失信息集,获得当前带宽的采样时长内的总空闲时长;

6、基于所述应答信息集和获得的至少一个缺失信息集,结合所述总空闲时长,获得所述采样时长内,所述视频流的带宽检测结果。

7、另一方面,本技术实施例提供一种带宽检测装置,包括:

8、接收模块,用于接收视频直播过程中产生的视频流,并对所述视频流进行编码,获得多个数据包;以及,接收所述多个数据包各自对应的应答包,获得应答信息集;

9、发送模块,用于按照设定的视频流传输周期,将所述多个数据包发送给接收端;

10、处理模块,用于若传输过程中发生至少一个数据包缺失事件,则基于记录的所述至少一个数据包缺失事件各自对应的缺失信息集,获得当前带宽的采样时长内的总空闲时长;以及,基于所述应答信息集和获得的至少一个缺失信息集,结合所述总空闲时长,获得所述采样时长内,所述视频流的带宽检测结果。

11、可选的,每个缺失信息集至少包括:相应的数据包缺失事件的起始数据包的数据量大小;所述应答信息集至少包括:各应答包的累计数据量大小、起始应答包的接收时间和结束应答包的接收时间;

12、则所述处理模块具体用于:

13、基于所述各应答包的累计数据量大小,以及各缺失信息集各自的起始数据包的数据量大小,获得所述各应答包的真实数据量大小;

14、基于所述起始应答包的接收时间,和所述结束应答包的时间,获得所述采样时长;

15、基于所述采样时长和所述总空闲时长,获得真实采样时长;

16、基于所述真实数据量大小和所述真实采样时长,获得所述视频流的带宽检测结果。

17、可选的,每个缺失信息集至少还包括相应的数据包缺失事件的起始数据包的包序号;所述应答信息集至少包括起始应答包的包序号和结束应答包的包序号;

18、则所述处理模块具体用于:

19、针对各缺失信息集,分别执行以下操作,获得所述各应答包的真实数据量大小:

20、将一个缺失信息集中起始数据包的包序号,与所述起始应答包和所述结束应答包的包序号进行比较;

21、若所述起始数据包的包序号大于等于所述起始应答包的包序号,且所述起始数据包的包序号小于等于所述结束应答包的包序号,则从所述各应答包的累积数据量大小中去除所述起始数据包的数据量大小。

22、可选的,所述处理模块还用于:

23、若所述起始数据包的包序号小于所述起始应答包的包序号,则清除所述一个缺失信息集;

24、若所述起始数据包的包序号大于所述结束应答包的包序号,则将所述一个缺失信息集用于下一次带宽采样。

25、可选的,每个缺失信息集至少还包括相应的数据包缺失事件的起始数据包的发送时间;

26、则所述处理模块具体用于:

27、针对所述至少一个数据包缺失事件,分别执行以下操作:基于一个数据包缺失事件的起始数据包的包序号,获得结束数据包,并基于所述结束数据包的发送时间和所述起始数据包的发送时间,获得所述一个数据包缺失事件的子空闲时长;

28、基于所述至少一个数据包缺失事件各自的子空闲时长,获得所述当前带宽的采样时长内总空闲时长。

29、可选的,每个数据包缺失事件满足以下条件:

30、传输层的发送缓冲区内无数据包;

31、内核列队中无数据包;

32、已发送数据包的数目小于拥塞窗口的大小;

33、所述采样时长内丢失的数据包已经重传。

34、可选的,所述应答信息集包括各应答包的累积数据量大小,所述处理模块还用于:

35、若传输过程中未发生数据包缺失事件,则基于所述各应答包的累积数据量的大小以及当前带宽的采样时长,获得所述视频流的带宽检测结果。

36、可选的,获得所述采样时长内,所述视频流的带宽检测结果之后,所述处理模块还用于:

37、基于检测的带宽,获得带宽时延积;

38、基于所述带宽时延积,调整拥塞发送窗口,以减小随机丢包对传输速度的影响。

39、另一方面,本技术实施例提供一种电子设备,包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,实现上述带宽检测方法的步骤。

40、另一方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机可执行指令,所述计算机可执行指令被电子设备执行时实现上述带宽检测方法的步骤。

41、另一方面,本技术实施例提供一种计算机程序产品,包含计算机程序,所述计算机程序被电子设备执行时实现上述带宽检测方法的步骤。

42、本技术实施例的有益效果如下:

43、本技术实施例提供的一种带宽检测方法、装置、电子设备及存储介质中,在对视频直播过程中产生的视频流进行传输的过程中,按照设定的视频流传输周期,将视频流编码后的多个数据包发送给接收端,按照通信协议,每个发送的数据包都会对应一个接收端返回的应答包,由于视频直播过程中的视频流是实时生成的,受网络的影响,可能出现应用层无数据的现象,反映在传输层为数据包发送停滞现象,此现象可定义为数据包缺失事件,此时,若扔按照当前带宽的采样时长内接收的应答包的数据量进行带宽检测,会导致带宽检测不准确。因此,当发生至少一个数据包缺失事件时,可记录的每个数据包缺失事件对应的缺失信息集,获得采集时长内总空闲时长和缺失的数据量,结合应答信息集进行带宽检测,从而减少应用层无数据对传输层的影响,提高带宽检测的准确性。

44、本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1