一种网络拥塞检测方法及装置

文档序号:1131028 发布日期:2020-10-02 浏览:9次 >En<

阅读说明:本技术 一种网络拥塞检测方法及装置 (Network congestion detection method and device ) 是由 杨晓云 于 2020-06-04 设计创作,主要内容包括:本发明公开了一种网络拥塞检测方法及装置。该方法包括如下步骤:实时向网络接收端发送网络数据包;实时接收网络接收端发送的反馈数据包,获得每个反馈数据包携带的各数据包组的发送时刻信息和接收时刻信息;其中,数据包组为网络接收端根据预设的时长周期对实时接收到的网络数据包进行分组得到的;根据各数据包组的发送时刻信息和接收时刻信息,采用双指数平滑滤波法,确定各数据包组对应的均衡平滑延迟;根据各数据包组的发送时刻信息、接收时刻信息,以及各数据包组对应的均衡平滑延迟,确定网络拥塞趋势值;根据网络拥塞趋势值确定当前的网络拥塞情况。本发明能够较好地满足视频会议系统对网络拥塞检测的要求。(The invention discloses a network congestion detection method and device. The method comprises the following steps: transmitting a network data packet to a network receiving end in real time; receiving feedback data packets sent by a network receiving end in real time, and acquiring sending time information and receiving time information of each data packet group carried by each feedback data packet; the data packet group is obtained by grouping the network data packets received in real time by the network receiving end according to a preset time period; determining the balanced smooth delay corresponding to each data packet group by adopting a bi-exponential smooth filtering method according to the sending time information and the receiving time information of each data packet group; determining a network congestion tendency value according to the sending time information and the receiving time information of each data packet group and the balanced smooth delay corresponding to each data packet group; and determining the current network congestion situation according to the network congestion tendency value. The invention can better meet the requirement of the video conference system on network congestion detection.)

一种网络拥塞检测方法及装置

技术领域

本发明涉及一种网络拥塞检测方法,同时也涉及相应的网络拥塞检测装置,属于视频会议技术领域。

背景技术

随着多媒体化成为网络通信系统发展的基本趋势,以音视频会议等业务为主的多媒体网络通信的需求变得日益强烈。其中,视频会议相对于其他数据业务对网络的带宽要求很高,但目前网络经常因存在带宽过低、变化剧烈等带宽受限的问题而无法满足视频传输数据对网络的带宽要求,因此视频传输数据经常会出现丢包、画面马赛克和卡顿等现象,从而影响视频播放的质量,使其服务质量得不到保证。

其中,网络拥塞控制的程度会严重影响视频传输质量。网络拥塞发生的主要原因在于网络能够提供的资源不足以满足用户的需求,这些资源包括缓存空间、链路带宽容量和中间节点的处理能力。由于互联网机制导致其缺乏“接纳控制”能力,因此在网络资源不足时不能限制用量,而只能靠降低服务质量来继续为用户服务,也就是“尽力而为”的服务。

在视频会议系统中,由于网络需要传输的数据量很大,很容易引起网络拥塞,使得视频会议系统会表现出数据包时延增加、丢包概率增大、上层应用系统性能下降等现象。因此,需要实时检测网络是否出现拥塞,以便于工作人员根据网络拥塞检测结果动态调整码率,以避免网络因传入数据流过大而耗尽网络资源节点。

发明内容

本发明所要解决的首要技术问题在于提供一种网络拥塞检测方法。

本发明所要解决的另一技术问题在于提供一种网络拥塞检测装置。

为了实现上述目的,本发明采用下述的技术方案:

根据本发明实施例的第一方面,提供一种网络拥塞检测方法,包括如下步骤:

实时向网络接收端发送网络数据包;

实时接收网络接收端发送的反馈数据包,获得每个反馈数据包携带的各数据包组的发送时刻信息和接收时刻信息;其中,所述数据包组为网络接收端根据预设的时长周期对实时接收到的网络数据包进行分组得到的;

根据各数据包组的发送时刻信息和接收时刻信息,采用双指数平滑滤波法,确定各数据包组对应的均衡平滑延迟;

根据各数据包组的发送时刻信息、接收时刻信息,以及各数据包组对应的均衡平滑延迟,确定网络拥塞趋势值;

根据所述网络拥塞趋势值确定当前的网络拥塞情况。

其中较优地,获得每个反馈数据包携带的各数据包组的发送时刻信息和接收时刻信息,包括:

获得每个反馈数据包携带的各数据包组中每个数据包组最后一个数据包发送时刻、最后一个数据包接收时刻和第一个数据包接收时刻。

其中较优地,根据各数据包组的发送时刻信息和接收时刻信息,采用双指数平滑滤波法,确定各数据包组对应的均衡平滑延迟,包括:

根据各时长周期的数据包组与其上一个时长周期的数据包组各自最后一个数据包发送时刻,确定各时长周期的数据包组对应的发送时间间隔deltatimestamp,i;其中,deltatimestamp,i=Ti-Ti-1;i表示第i个时长周期的数据包组序号;Ti为第i个时长周期的数据包组最后一个数据包发送时刻;Ti-1为第i-1个时长周期的数据包组最后一个数据包发送时刻;

根据各时长周期的数据包组与其上一个时长周期的数据包组各自最后一个数据包接收时刻,确定各时长周期的数据包组对应的接收时间间隔deltaarrival,i;其中,deltaarrival,i=ti-ti-1;i表示第i个时长周期的数据包组序号;ti为第i个时长周期的数据包组最后一个数据包接收时刻;ti-1为第i-1个时长周期的数据包组最后一个数据包接收时刻;

根据各时长周期的数据包组对应的发送时间间隔deltatimestamp,i和接收时间间隔deltaarrival,i,确定各时长周期的数据包组传输增长的延迟delayi;其中,delayi=deltaarrival,i-deltatimestamp,i

根据各时长周期及各自之前的各时长周期的数据包组传输增长的延迟delay0至delayi,确定各时长周期的数据包组的叠加延迟accdelayi;其中,accdelayi=∑delay0+delay1+…+delayi

根据各时长周期的数据包组的叠加延迟accdelayi,采用双指数平滑滤波法,确定各数据包组对应的均衡平滑延迟smodelayi

其中:

smodelayi=alpha*accdelayi+(1-alpha)*(smodelayi-1+bdelayi-1)

bdelayi=alpha*(smodelayi-smodelayi-1)+(1-alpha)*bdelayi-1

其中,smodelayi表示第i个时长周期的数据包组对应的均衡平滑延迟;alpha表示预先设置的遗忘因子;smodelayi-1表示第i-1个时长周期的数据包组对应的均衡平滑延迟;bdelayi为第i个时长周期的数据包组对应的修正项;bdelayi-1为第i-1个时长周期的数据包组对应的修正项。

其中较优地,根据各数据包组的发送时刻信息、接收时刻信息,以及各数据包组对应的均衡平滑延迟,确定网络拥塞趋势值,包括:

根据各时长周期的数据包组的叠加延迟accdelayi,确定各时长周期的数据包组的累积延迟平均值xi;其中:

根据各时长周期的数据包组的均衡平滑延迟smodelayi,确定各时长周期的数据包组的均衡平滑延迟平均值yi;其中:

根据当前第i个数据包组最后一个数据包接收时刻ti和第一个数据包接收时刻firstarrival_i,确定当前第i个数据包组的传输持续时长transi,其中:transi=ti-firstarrival_i

根据各时长周期的数据包组的累积延迟平均值xi、均衡平滑延迟平均值yi、均衡平滑延迟smodelayi和当前第i个数据包组的传输持续时长transi,确定当前第i个数据包组的网络拥塞趋势值trendlinei;其中,其中,k表示第k个时长周期的数据包组。

其中较优地,根据所述网络拥塞趋势值确定当前的网络拥塞情况,包括:

确定当前第i个数据包组的网络拥塞趋势值trendlinei是否大于预先设置的趋势阈值;

在所述当前第i个数据包组的网络拥塞趋势值trendlinei大于预先设置的趋势阈值时,确定当前的网络拥塞;

在所述当前第i个数据包组的网络拥塞趋势值trendlinei小于或等于预先设置的趋势阈值时,确定当前的网络通畅。

根据本发明实施例的第二方面,提供一种网络拥塞检测装置,包括:

发送单元,用于实时向网络接收端发送网络数据包;

接收单元,用于实时接收网络接收端发送的反馈数据包,获得每个反馈数据包携带的各数据包组的发送时刻信息和接收时刻信息;其中,所述数据包组为网络接收端根据预设的时长周期对实时接收到的网络数据包进行分组得到的;

均衡平滑延迟计算单元,用于根据各数据包组的发送时刻信息和接收时刻信息,采用双指数平滑滤波法,确定各数据包组对应的均衡平滑延迟;

网络拥塞趋势值计算单元,用于根据各数据包组的发送时刻信息、接收时刻信息,以及各数据包组对应的均衡平滑延迟,确定网络拥塞趋势值;

网络拥塞检测单元,用于根据所述网络拥塞趋势值确定当前的网络拥塞情况。

根据本发明实施例的第三方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当其在计算机上运行时,使得所述计算机执行上述第一方面所述的网络拥塞检测方法。

根据本发明实施例的第四方面,提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得所述计算机执行上述第一方面所述的网络拥塞检测方法。

本发明提供了一种网络拥塞检测方法及装置,能够实时检测网络是否出现拥塞,以便于工作人员根据网络拥塞检测结果动态调整码率,从而避免网络不会因传入数据流过大而耗尽网络资源节点。其中,本发明采用双指数平滑滤波法确定各数据包组对应的均衡平滑延迟,即在一次指数平滑滤波的基础上再作二次指数平滑,利用滞后偏差的规律找出曲线的发展方向和发展趋势,然后根据各数据包组的发送时刻信息、接收时刻信息,以及各数据包组对应的均衡平滑延迟,采用直线趋势预测模型确定网络拥塞趋势值,具有更好的网络状况预测效果,能够更为及时地反映当前的实时网络状况。

附图说明

图1为本发明实施例提供的网络拥塞检测方法的流程图一;

图2为本发明实施例提供的网络拥塞检测方法的流程图二;

图3为本发明实施例中,网络发送端(Sender)向网络接收端(Receiver)发送若干网络数据包的示意图;

图4为本发明实施例提供的实验数据参照图;

图5为本发明实施例提供的网络拥塞检测装置的结构示意图。

具体实施方式

下面结合附图和具体实施例对本发明的技术内容做进一步的详细说明。

在实现本发明的过程中,发明人发现,当前在网络拥塞趋势的计算中,一般可以采用一次指数平滑滤波的方法,而一次指数平滑滤波法一般应用于直线型数据且时间序列没有明显趋势变化的场景中,同时一次指数平滑具有明显的滞后性,使得估算的网络拥塞趋势值不能及时的反映当前实时的网络状况。基于现实中的网络模型通常会随着时间序列的变动呈现直线趋势,用一次指数平滑滤波法来预测会存在明显的滞后偏差。

为了克服上述缺陷,如图1所示,本发明实施例提供一种网络拥塞检测方法,包括如下步骤:

步骤101、实时向网络接收端发送网络数据包。

步骤102、实时接收网络接收端发送的反馈数据包,获得每个反馈数据包携带的各数据包组的发送时刻信息和接收时刻信息。

其中,数据包组为网络接收端根据预设的时长周期对实时接收到的网络数据包进行分组得到的。

步骤103、根据各数据包组的发送时刻信息和接收时刻信息,采用双指数平滑滤波法,确定各数据包组对应的均衡平滑延迟。

步骤104、根据各数据包组的发送时刻信息、接收时刻信息,以及各数据包组对应的均衡平滑延迟,确定网络拥塞趋势值。

步骤105、根据网络拥塞趋势值确定当前的网络拥塞情况。

为了使本领域的技术人员更好地了解本发明,下面结合具体实施例对本发明的实施方式进行说明。如图2所示,本发明实施例提供一种网络拥塞检测方法,包括:

步骤201、实时向网络接收端发送网络数据包。

值得说明的是,此处发送网络数据包的可以为网络发送端,该网络发送端可以是计算机、网络服务器、智能手机、平板电脑等。该网络接收端可以为计算机、智能手机、平板电脑等。该网络数据包可以为视频数据包、音频数据包或者音视频数据包,但不仅局限于此。

网络发送端在向网络接收端发送网络数据包时,该网络数据包中可以携带发送每个网络数据包的发送时刻(本发明实施例中记为Ti)。

这样,在网络接收端接收到网络数据包后,可以继续执行步骤202。

步骤202、实时接收网络接收端发送的反馈数据包。

具体的,网络接收端可以通过RTCP RR(Real-time Transport ControlProtocol,实时传输控制协议;Receiver Reports,接收者报告)报文的形式向网络发送端发送反馈数据包。其中,网络接收端在实时接收到网络数据包时,可以采用预设的时长周期(例如每5ms一个周期)对实时接收到的网络数据包进行分组,以形成若干数据包组。

步骤203、获得每个反馈数据包携带的各数据包组中每个数据包组最后一个数据包发送时刻、最后一个数据包接收时刻和第一个数据包接收时刻。

例如,如图3所示,网络发送端(Sender)向网络接收端(Receiver)发送若干网络数据包(seq=100至seq=107),网络接收端根据预设的时长周期,将该若干网络数据包分组为两个数据包组(G1和G2,此处仅以两个数据包组为例),因此例如各数据包组的第一个数据包的发送时刻(G1 firsttimestamp,G2 firsttimestamp),最后一个数据包的发送时刻(G1 lasttimestamp=T1,G2 lasttimestamp=T2),第一个数据包的接收时刻(G2firstarrival),最后一个数据包的接收时刻(t1、t2),以及数据包组包含的数据包数量(G1_size、G2_size)均能够得到。

步骤204、根据各时长周期的数据包组与其上一个时长周期的数据包组各自最后一个数据包发送时刻,确定各时长周期的数据包组对应的发送时间间隔deltatimestamp,i;其中,deltatimestamp,i=Ti-Ti-1;i表示第i个时长周期的数据包组序号;Ti为第i个时长周期的数据包组最后一个数据包发送时刻;Ti-1为第i-1个时长周期的数据包组最后一个数据包发送时刻。

步骤205、根据各时长周期的数据包组与其上一个时长周期的数据包组各自最后一个数据包接收时刻,确定各时长周期的数据包组对应的接收时间间隔deltaarrival,i;其中,deltaarrival,i=ti-ti-1;i表示第i个时长周期的数据包组序号;ti为第i个时长周期的数据包组最后一个数据包接收时刻;ti-1为第i-1个时长周期的数据包组最后一个数据包接收时刻。

步骤206、根据各时长周期的数据包组对应的发送时间间隔deltatimestamp,i和接收时间间隔deltaarrival,i,确定各时长周期的数据包组传输增长的延迟delayi;其中,delayi=deltaarrival,i-deltatimestamp,i

步骤207、根据各时长周期及各自之前的各时长周期的数据包组传输增长的延迟delay0至delayi,确定各时长周期的数据包组的叠加延迟accdelayi;其中,accdelayi=∑delay0+delay1+…+delayi

步骤208、根据各时长周期的数据包组的叠加延迟accdelayi,采用双指数平滑滤波法,确定各数据包组对应的均衡平滑延迟smodelayi

其中:

smodelayi=alpha*accdelayi+(1-alpha)*(smodelayi-1+bdelayi-1)

bdelayi=alpha*(smodelayi-smodelayi-1)+(1-alpha)*bdelayi-1

其中,smodelayi表示第i个时长周期的数据包组对应的均衡平滑延迟;alpha表示预先设置的遗忘因子;smodelayi-1表示第i-1个时长周期的数据包组对应的均衡平滑延迟;bdelayi为第i个时长周期的数据包组对应的修正项;bdelayi-1为第i-1个时长周期的数据包组对应的修正项。

其中,smodelayi反映的是数据包经由网络链路的排队时延信息,反映的是网络排队队列的增长情况。其值的估算方法和准确性,是影响拥塞检测方法中,评估最终趋势值的关键因素。因此,此处引入修正项bdelayi,从而采用双指数平滑滤波法,即在一次指数平滑滤波的基础上再作二次指数平滑,利用滞后偏差的规律找出曲线的发展方向和发展趋势,然后建立直线趋势预测模型,具有更好的网络状况预测效果。

步骤209、根据各时长周期的数据包组的叠加延迟accdelayi,确定各时长周期的数据包组的累积延迟平均值xi;其中:

Figure BDA0002524030520000081

步骤210、根据各时长周期的数据包组的均衡平滑延迟smodelayi,确定各时长周期的数据包组的均衡平滑延迟平均值yi;其中:

步骤211、根据当前第i个数据包组最后一个数据包接收时刻ti和第一个数据包接收时刻firstarrival_i,确定当前第i个数据包组的传输持续时长transi,其中:transi=ti-firstarrival_i

步骤212、根据各时长周期的数据包组的累积延迟平均值xi、均衡平滑延迟平均值yi、均衡平滑延迟smodelayi和当前第i个数据包组的传输持续时长transi,确定当前第i个数据包组的网络拥塞趋势值trendlinei;其中,

Figure BDA0002524030520000083

其中,k表示第k个时长周期的数据包组。

步骤213、确定当前第i个数据包组的网络拥塞趋势值trendlinei是否大于预先设置的趋势阈值。

在当前第i个数据包组的网络拥塞趋势值trendlinei大于预先设置的趋势阈值时,执行步骤214。否则,在当前第i个数据包组的网络拥塞趋势值trendlinei小于或等于预先设置的趋势阈值时,执行步骤215。

步骤214、确定当前的网络拥塞。

步骤215、确定当前的网络通畅。

值得说明的是,平稳网速下传输数据的延迟时间就是数据大小除以速率,如果数据块大小很大,超过恒定网速下的延迟上限,这意味着它要占用其他后续数据块的传输时间,那么如此反复,网络就产生了延迟和拥塞。网络拥塞趋势值trendlinei,如果这个值越大说明网络延迟越来越严重,如果这个值越小,说明延迟逐步下降。例如,上述的趋势阈值可以设置为0。

这样,在上述步骤214中,当确定网络拥塞时,可通知相关工作人员,动态调整网络发送端的码率,以使后续的网络通畅。

为了验证本发明实施例的效果,如图4所示,本发明实施例提供了实验数据来进行验证本方案采用双指数平滑滤波算法估算的码率。其中,曲线Lan为网络中实际发送码率,曲线Hong为改进后采用双指数平滑滤波算法估算的码率,曲线Lv为原始的采用一次指数平滑滤波算法估算的码率。从图4中可以看出,本发明实施例中改进后的算法跟踪实时网络状况的效果更好,很大程度的改善了原始算法存在的滞后性及不准确性的问题。

另外,如图5所示,本发明实施例还提供一种网络拥塞检测装置,包括:

发送单元31,用于实时向网络接收端发送网络数据包。

接收单元32,用于实时接收网络接收端发送的反馈数据包,获得每个反馈数据包携带的各数据包组的发送时刻信息和接收时刻信息;其中,数据包组为网络接收端根据预设的时长周期对实时接收到的网络数据包进行分组得到的。

均衡平滑延迟计算单元33,用于根据各数据包组的发送时刻信息和接收时刻信息,采用双指数平滑滤波法,确定各数据包组对应的均衡平滑延迟。

网络拥塞趋势值计算单元34,用于根据各数据包组的发送时刻信息、接收时刻信息,以及各数据包组对应的均衡平滑延迟,确定网络拥塞趋势值。

网络拥塞检测单元35,用于根据网络拥塞趋势值确定当前的网络拥塞情况。

该网络拥塞检测装置的具体实现方式可以参见上述图1至图4对应的方法实施例,此处不再赘述。

另外,本发明实施例还提供一种计算机可读存储介质,可读存储介质上存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的网络拥塞检测方法。

另外,本发明实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的网络拥塞检测方法。

本发明提供了一种网络拥塞检测方法及装置,能够实时检测网络是否出现拥塞,以便于工作人员根据网络拥塞检测结果动态调整码率,从而避免网络因传入数据流过大而耗尽网络资源节点。其中,本发明采用双指数平滑滤波法确定各数据包组对应的均衡平滑延迟,即在一次指数平滑滤波的基础上再作二次指数平滑,利用滞后偏差的规律找出曲线的发展方向和发展趋势,然后根据各数据包组的发送时刻信息、接收时刻信息,以及各数据包组对应的均衡平滑延迟,采用直线趋势预测模型确定网络拥塞趋势值,具有更好的网络状况预测效果,能够更为及时地反映当前的实时网络状况。从而,在实际运用中能够较好地满足视频会议系统对网络拥塞控制的要求,提高了视频会议系统的通话质量。

以上对本发明所提供的网络拥塞检测方法及装置进行的详细的说明。对本领域的一般技术人员而言,在不背离本发明实质内容的前提下对它所做的任何显而易见的改动,都将属于本发明专利权的保护范围。

16页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:视频对话场景的参与度分析方法、装置、设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类