一种拥塞控制方法、装置及设备与流程

您所在的位置:网站首页 拥塞控制方式 一种拥塞控制方法、装置及设备与流程

一种拥塞控制方法、装置及设备与流程

2024-07-16 01:40:46| 来源: 网络整理| 查看: 265

一种拥塞控制方法、装置及设备与流程

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.图1为本说明书实施例提供的一种拥塞控制方法的应用场景示意图;28.图2为本说明书实施例提供的一种拥塞控制方法的流程示意图;29.图3为本说明书实施例提供的对应于图2中的拥塞控制方法的泳道流程示意图;30.图4为本说明书实施例提供的对应于图2的一种拥塞控制装置的结构示意图;31.图5为本说明书实施例提供的对应于图2的一种拥塞控制设备的结构示意图。具体实施方式32.为使本说明书一个或多个实施例的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书一个或多个实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书一个或多个实施例保护的范围。33.以下结合附图,详细说明本说明书各实施例提供的技术方案。34.现有技术中,在使用基于丢包的拥塞控制算法针对瓶颈链路进行拥塞控制时,若未接收到丢包信号,则基于丢包的拥塞控制算法会持续增大拥塞窗口,从而增大目标链路处的由该基于丢包的拥塞控制算法控制传输的数据占据的带宽,直至瓶颈链路处的缓冲区溢出。而基于延时的拥塞控制算法针对瓶颈链路进行拥塞控制时,若数据延时较大,则基于延时的拥塞控制算法会持续减小拥塞窗口,从而在瓶颈链路处的缓冲区溢出前,就去减少目标链路处的由该基于延时的拥塞控制算法控制传输的数据占据的带宽。35.基于此,当瓶颈链路处同时存在基于延时的拥塞控制算法控制传输的数据流与基于丢包的拥塞控制算法控制传输的数据流时,基于丢包的拥塞控制算法控制传输的数据流所占据的带宽往往会越来越大,而基于延时的拥塞控制算法控制传输的数据流所占据的带宽往往会越来越小。这使得基于延时的拥塞控制算法与基于丢包的拥塞控制算法之间的竞争公平性及友好性均较差。36.为了解决现有技术中的缺陷,本方案给出了以下实施例:37.图1为本说明书实施例提供的一种拥塞控制方法的应用场景示意图。38.如图1所示,数据发送端101和数据发送端102均可以通过目标链路103向数据接收端104发送数据流。假定,数据发送端101使用基于延时的拥塞控制算法针对目标链路103进行拥塞控制,而数据发送端102使用基于丢包的拥塞控制算法针对目标链路103进行拥塞控制。39.则在上一数据传输周期结束后,数据发送端101就可以获取上一数据传输周期内针对目标链路103采集到的数据延时信息和拥塞窗口信息,并生成该数据延时信息和该拥塞窗口信息之间的时频域差异信息。以及,根据该时频域差异信息,判断目标链路103在上一数据传输周期内是否接收到基于丢包的拥塞控制算法控制传输的数据流(例如,数据发送端102发送的数据流),得到第一判断结果。40.若所述第一判断结果表示目标链路103在上一数据传输周期内接收到基于丢包的拥塞控制算法控制传输的数据流,则数据发送端101可以针对所述基于延时的拥塞控制算法进行调整,得到调整后的基于延时的拥塞控制算法;所述调整后的基于延时的拥塞控制算可以法用于增大目标链路103处的由数据发送端101传输的数据的占比。41.基于此,数据发送端101可以利用所述调整后的基于延时的拥塞控制算法,针对目标链路103进行拥塞控制,以提升基于延时的拥塞控制算法控制传输的数据流在目标链路处占据的带宽,并保障基于延时的拥塞控制算法与基于丢包的拥塞控制算法的竞争公平性及友好性。42.接下来,将针对说明书实施例提供的一种拥塞控制方法结合附图进行具体说明:43.图2为本说明书实施例提供的一种拥塞控制方法的流程示意图。从程序角度而言,该流程的执行主体可以为使用基于延时的拥塞控制算法进行拥塞控制的数据发送端,或者,该数据发送端处搭载的应用程序。如图2所示,该流程可以包括以下步骤:44.步骤202:获取上一数据传输周期内目标链路处的数据延时信息和拥塞窗口信息之间的时频域差异信息。45.本说明书实施例中,使用基于延时的拥塞控制算法进行拥塞控制的数据发送端可以基于传输控制协议(transmission control protocol,英文缩写:tcp),去通过目标链路向数据接收端发送数据。在实际用中,该目标链路通常可以供多个数据发送端使用,从而使得该目标链路处可能存在由多个数据发送端基于各自搭载的拥塞控制算法所控制传输的数据流。46.本说明书实施例中,使用基于延时的拥塞控制算法进行拥塞控制的数据发送端,可以预先定义数据传输周期的时长,从而令该数据发送端在每个数据传输周期结束后,可以根据在上一数据传输周期(刚刚结束的数据传输周期)内采集到的目标链路处的数据延时信息和拥塞窗口信息,去识别上一数据传输周期中目标链路处是否接收到基于丢包的拥塞控制算法控制传输的数据流,进而采用相应规则,对基于延时的拥塞控制算法进行调整,以使用调整后的基于延时的拥塞控制算法对当前数据传输周期(即所述上一数据传输周期的下一个数据传输周期)进行拥塞控制。其中,所述数据传输周期的时长可以根据实际需求自行设置,例如,30秒、60秒等,对此不作具体限定。47.具体的,当目标链路处接收到数据发送端使用基于延时的拥塞控制算法控制传输的数据流,但未接收到基于丢包的拥塞控制算法控制传输的数据流时,该数据发送端针对目标链路采集到的拥塞窗口信息的变化与数据延时信息的变化的方向通常是协同的,例如,某一时刻,拥塞窗口信息变化的方向是增大的,即该时刻的拥塞窗口大小比前一时刻要大,则数据延时信息变化的方向也应是增大的,即该时刻的数据延时比前一时刻要大。而若目标链路处同时存在基于延时的拥塞控制算法以及基于丢包的拥塞控制算法控制传输的数据流,则该数据发送端针对目标链路采集到的拥塞窗口信息的变化与数据延时信息的变化的方向通常并不协同。48.基于此,可以获取上一数据传输周期内数据发送端在目标链路处的数据延时信息和拥塞窗口信息之间的时频域差异信息,并根据该时频域差异信息的大小,去识别目标链路在上一数据传输周期内是否接收到了基于丢包的拥塞控制算法控制传输的数据流。49.步骤204:根据所述时频域差异信息,判断所述目标链路在所述上一数据传输周期内是否接收到基于丢包的拥塞控制算法控制传输的数据流,得到第一判断结果。50.本说明书实施例中,由于若所述时频域差异信息对应的数值较小,则通常可以反映该数据发送端针对目标链路采集到的拥塞窗口信息的变化与数据延时信息的变化的方向是协同的,从而可以反映目标链路在上一数据传输周期内未接收到基于丢包的拥塞控制算法控制传输的数据流。51.而若所述时频域差异信息对应的数值较大,则通常可以反映该数据发送端针对目标链路采集到的拥塞窗口信息的变化与数据延时信息的变化的方向并不协同,从而可以反映目标链路在上一数据传输周期内接收到了基于丢包的拥塞控制算法控制传输的数据流。52.步骤206:若所述第一判断结果表示所述目标链路在所述上一数据传输周期内接收到基于丢包的拥塞控制算法控制传输的数据流,则针对所述基于延时的拥塞控制算法进行调整,得到调整后的基于延时的拥塞控制算法;所述调整后的基于延时的拥塞控制算法用于增大所述目标链路处的由所述数据发送端传输的数据的占比。53.本说明书实施例中,当识别出目标链路在上一数据传输周期内接收到了基于丢包的拥塞控制算法控制传输的数据流时,若不对数据发送端处的基于延时的拥塞控制算法进行调整,则会使得基于延时的拥塞控制算法控制传输的数据流在目标链路处占据的带宽变得越来越小,因此,需要针对该基于延时的拥塞控制算法进行调整,以令调整后的基于延时的拥塞控制算法可以用于增大目标链路处的由该数据发送端传输的数据的占比。在实际应用中,针对所述基于延时的拥塞控制算法进行调整的实施方式可以多种,后续实施例中将进行具体解释说明,在此不作赘述。54.步骤208:利用所述调整后的基于延时的拥塞控制算法,针对所述目标链路进行拥塞控制。55.本说明书实施例中,在对该基于延时的拥塞控制算法进行调整后,所述数据发送端就可以使用调整后的基于延时的拥塞控制算法,继续对目标链路进行拥塞控制了,以便于在当前数据传输周期中去增大该目标链路处的由该数据发送端传输的数据所占据的带宽。56.图2中的方法,数据发送端在使用基于延时的拥塞控制算法针对目标链路进行拥塞控制时,通过根据上一数据传输周期内目标链路处的数据延时信息和拥塞窗口信息之间的时频域差异信息,去准确识别目标链路在上一数据传输周期内是否接收到基于丢包的拥塞控制算法控制传输的数据流。若是,则可以针对所述基于延时的拥塞控制算法进行调整,以利用调整后的基于延时的拥塞控制算法去增大目标链路处的由该数据发送端传输的数据的占比。从而在目标链路处同时存在基于延时的拥塞控制算法控制传输的数据流与基于丢包的拥塞控制算法控制传输的数据流时,可以提升基于延时的拥塞控制算法控制传输的数据流占据的带宽,并保障基于延时的拥塞控制算法与基于丢包的拥塞控制算法的竞争公平性及友好性。57.基于图2中的方法,本说明书实施例还提供了该方法的一些具体实施方案,下面进行说明。58.本说明书实施例中,通常需要分别对目标链路处的数据延时信息和拥塞窗口信息进行时域分析及频域分析,以分别得到两者之间的时域差异信息及频域差异信息。59.基于此,步骤202:获取上一数据传输周期内目标链路处的数据延时信息和拥塞窗口信息之间的时频域差异信息,具体可以包括:60.获取所述数据发送端在上一数据传输周期内针对所述目标链路反馈的各个确认消息确定出的往返时延信息。61.获取所述数据发送端在接收到所述各个确认消息时采集到的拥塞窗口信息。62.针对所述往返时延信息和所述拥塞窗口信息进行时频域分析,得到所述往返时延信息与所述拥塞窗口信息之间的时域差异信息及频域差异信息。63.本说明书实施例中,确认消息也称为ack(acknowledgement)消息,该确认消息通常会包含与目标链路反馈的ack包中。具体的,数据接收端在通过目标链路接收到数据发送端传输的数据后,可以向该数据发送端发送携带确认消息的ack包,以表示其接收到了数据发送端所传输的数据包。64.往返时延(round-trip time,英文缩写:rtt)信息,可以表示从数据发送端发送数据开始,到数据发送端接收到来自数据接收端的确认消息,总共经历的时延。65.拥塞窗口(congestion window,英文缩写:cwnd)信息,可以是基于对目标链路传输能力的估计,在数据发送端引入的反映目标链路的传输能力的窗口控制变量。通常需要令拥塞窗口大小不超过目标链路的数据传输能力及数据接收端的数据接收能力。66.本说明书实施例中,在各个数据传输周期内,数据发送端处每发生一次与目标链路对应的ack事件,则该数据发送端就可以记录一次与该ack事件对应的往返时延信息,并记录此时的拥塞窗口信息。从而在上一数据传输周期结束时,数据发送端可以针对上一数据传输周期内采集到的各个往返时延信息信息和拥塞窗口信息进行时频域分析,以得到所述往返时延信息与所述拥塞窗口信息之间的时域差异信息及频域差异信息,从而作为上一数据传输周期内目标链路处的数据延时信息和拥塞窗口信息之间的时频域差异信息。67.在实际应用中,数据发送端每接收到一次目标链路反馈的ack包,或者,每基于目标链路调用基于延时的拥塞控制算法中的ack事件函数一次,则通常可以表示数据发送端处发生了一次与目标链路对应的ack事件,从而可以采集一次目标链路处的数据延时信息和拥塞窗口信息。68.本说明书实施例中,针对所述往返时延信息和所述拥塞窗口信息进行时频域分析,得到所述往返时延信息与所述拥塞窗口信息之间的时域差异信息及频域差异信息,具体可以包括:69.针对所述往返时延信息和所述拥塞窗口信息进行频域分析,得到所述往返时延信息与所述拥塞窗口信息之间的频域差异信息;所述频域差异信息用于反映所述上一数据传输周期内的所述往返时延信息的幅频特性与所述拥塞窗口信息的幅频特性之间的差异。70.针对所述往返时延信息和所述拥塞窗口信息进行时域分析,得到所述往返时延信息与所述拥塞窗口信息之间的时域差异信息;所述时域差异信息用于反映所述上一数据传输周期内的目标往返时延最小值的增长次数与所述拥塞窗口信息的增长次数之间的差异;所述目标往返时延最小值为在各个预设时间段内采集到的所述往返时延信息的最小值;所述预设时间段的时长为所述目标链路处的平滑往返时间的一半。71.为便于理解,对于上述生成所述往返时延信息与所述拥塞窗口信息之间的频域差异信息的具体过程进行解释说明。72.具体的,所述针对所述往返时延信息和所述拥塞窗口信息进行频域分析,得到所述往返时延信息与所述拥塞窗口信息之间的频域差异信息,可以包括:73.针对所述往返时延信息进行傅立叶变换处理,得到所述上一数据传输周期内的所述往返时延信息的幅频特性。74.针对所述拥塞窗口信息进行傅立叶变换处理,得到所述上一数据传输周期内的所述拥塞窗口信息的幅频特性。75.计算所述往返时延信息的幅频特性与所述拥塞窗口信息的幅频特性之间的欧式距离,得到所述往返时延信息与所述拥塞窗口信息之间的频域差异信息。76.本说明书实施例中,由于傅立叶变换可以将时域上的信息映射到频域上,因此,可以分别对上一数据传输周期内采集到目标链路处的往返时延信息与拥塞窗口信息进行傅立叶变换处理,以得到上一数据传输周期内采集到的所述往返时延信息的幅频特性,以及上一数据传输周期内采集到的所述拥塞窗口信息的幅频特性。77.在实际应用中,在针对所述往返时延信息与所述拥塞窗口信息进行傅立叶变换处理时,既可以基于傅里叶变换(fourier transform)算法实现,或者,也可以基于快速傅里叶变换(fast fourier transform)算法实现,除此之外,还可以使用其他能够将时域上的信息映射到频域上的算法实现,对此不作具体限定。78.本说明书实施例中,上一数据传输周期内目标链路处的往返时延信息与拥塞窗口信息之间的频域差异信息,可以为所述往返时延信息的幅频特性与所述拥塞窗口信息的幅频特性之间的欧式距离。具体的,可以采用如下公式(1),去计算所述频域差异信息;[0079][0080]其中,fd可以为上一数据传输周期内目标链路处的往返时延信息与拥塞窗口信息之间的频域差异信息,r可以为上一数据传输周期内目标链路处的往返时延信息的幅频特性,ri可以为r中第i个频率对应的强度,c可以为上一数据传输周期内目标链路处的拥塞窗口信息的幅频特性,ci可以为c中第i个频率对应的强度,m可以为上一数据传输周期内数据发送端处发生的与目标链路对应的ack事件的次数。[0081]为便于理解,本说明书实施例中,还针对生成上所述往返时延信息与所述拥塞窗口信息之间的时域差异信息的具体过程进行了解释说明。[0082]具体的,所述针对所述往返时延信息和所述拥塞窗口信息进行时域分析,得到所述往返时延信息与所述拥塞窗口信息之间的时域差异信息,可以包括:[0083]根据所述往返时延信息,确定所述上一数据传输周期内的目标往返时延最小值的增长次数;所述目标往返时延最小值可以为在各个预设时间段内采集到的所述往返时延信息的最小值;所述预设时间段的时长为所述目标链路处的平滑往返时间的一半。[0084]根据所述拥塞窗口信息,确定所述上一数据传输周期内的所述拥塞窗口信息的增长次数。[0085]计算所述目标往返时延最小值的增长次数与所述拥塞窗口信息的增长次数之间的绝对差值。[0086]计算所述绝对差值与所述确认消息的数量之商,得到所述往返时延信息与所述拥塞窗口信息之间的时域差异信息。[0087]本说明书实施例中,目标链路处的平滑往返时间(smoothed round trip time,英文缩写:srtt),可以通过对数据发送端针对目标链路采集到的多个往返时延rtt进行平滑处理而得到。例如,srtt可以为针对目标链路采集到的多个往返时延rtt的指数加权平滑值。[0088]为便于识别数据发送端在上一数据传输周期内针对目标链路采集的往返时延信息在时域上的特性,可以将上一数据传输周期划分为多个预设时间段,并确定各个预设时间段内采集到的往返时延信息的最小值作为目标往返时延最小值rttstanding,从而确定各个目标往返时延最小值的增长次数。其中,所述预设时间段的时长可以为目标链路处的平滑往返时间的一半,即0.5srtt。[0089]为便于理解,对于确定上一数据传输周期内的目标往返时延最小值的增长次数的过程,进行举例说明。假定,上一数据传输周期的时长为5秒,且目标链路处的srtt为2秒,则0.5srtt为1秒,从而可以将上一数据传输周期依序划分为5个预设时间段。若上述5个预设时间段中采集到的往返时延信息的最小值分别为2500毫秒、2600毫秒、2700毫秒、2650毫秒及2800毫秒,则可以确定上一数据传输周期内的目标往返时延最小值的增长次数为3。[0090]本说明书实施例中,若上一数据传输周期内针对目标链路采集到的两个相邻拥塞窗口信息中,后一个拥塞窗口信息的数值大于前一个拥塞窗口信息的数值,则可以记为上一数据传输周期内针对目标链路采集到的拥塞窗口信息增长了1次数。基于这一原理,可以确定出上一数据传输周期内针对目标链路采集到的拥塞窗口信息的增长次数。[0091]本说明书实施例中,数据发送端在上一数据传输周期内接收到的目标链路反馈的确认消息(例如,ack包)的数量,通常可以为该数据发送端在上一数据传输周期内发生的与目标链路对应的ack事件的数量。[0092]本说明书实施例中,上一数据传输周期内目标链路处的往返时延信息与拥塞窗口信息之间的时域差异信息,可以为上一数据传输周期内的目标往返时延最小值的增长次数与拥塞窗口信息的增长次数的绝对差值,同目标链路对应的ack事件的数量之商。具体的,可以采用如下公式(2),去计算所述时域差异信息;[0093][0094]其中,td可以为上一数据传输周期内目标链路处的往返时延信息与拥塞窗口信息之间的时域差异信息。incrtt可以为上一数据传输周期内的目标往返时延最小值rttstanding的增长次数,其中,目标往返时延最小值rttstanding可以为上一数据传输周期内的时长为0.5srtt的预设时间段内测量大的最小往返时延rtt,srtt可以为数据发送端针对目标链路采集到的rtt的指数加权平滑值。inccwnd可以为上一数据传输周期内针对目标链路采集到的拥塞窗口cwnd信息的增长次数。m可以为数据发送端在上一数据传输周期内发生的与目标链路对应的ack事件的数量。[0095]本说明书实施例中,当所述时频域差异信息包括时域差异信息及频域差异信息时,步骤204:根据所述时频域差异信息,判断目标链路在所述上一数据传输周期内是否接收到基于丢包的拥塞控制算法控制传输的数据流,得到第一判断结果,具体可以包括:[0096]判断是否所述时域差异信息小于等于第一阈值且所述频域差异信息小于等于第二阈值。[0097]若所述时域差异信息小于等于第一阈值且所述频域差异信息小于等于第二阈值,则生成表示所述目标链路在所述上一数据传输周期内未接收到基于丢包的拥塞控制算法控制传输的数据流的第一判断结果。[0098]若所述时域差异信息大于第一阈值和/或所述频域差异信息大于第二阈值,则生成表示所述目标链路在所述上一数据传输周期内接收到基于丢包的拥塞控制算法控制传输的数据流的第一判断结果。[0099]本说明书实施例中,若上一数据传输周期内目标链路处的数据延时信息和拥塞窗口信息之间的时域差异信息与频域差异信息中的至少一个数值较大,则可以反映目标链路处的拥塞窗口信息的变化与数据延时信息的变化的方向并不协同,从而可以确定目标链路在上一数据传输周期内接收到了基于丢包的拥塞控制算法控制传输的数据流,即在上一数据传输周期内目标链路处同时存在基于延时的拥塞控制算法与基于丢包的拥塞控制算法控制传输的数据流。[0100]基于此,可以预先确定时域差异信息对应的第一阈值以及频域差异信息对应的第二阈值。在“上一数据传输周期内目标链路对应的时域差异信息大于第一阈值”与“上一数据传输周期内目标链路对应的频域差异信息大于第二阈值”等两项条件均不成立时,可以确定目标链路在上一数据传输周期内未接收到基于丢包的拥塞控制算法控制传输的数据流,从而需要令数据接收端处的基于延时的拥塞控制算法在当前数据传输周期(即上一数据传输周期的下一个数据传输周期)内以正常模式运行。具体的,可以不对基于延时的拥塞控制算法进行人工调整,而是基于延时的拥塞控制算法自身的工作原理进行拥塞控制。[0101]而若上述两项条件中的至少一项成立时,可以确定目标链路在上一数据传输周期内接收到了基于丢包的拥塞控制算法控制传输的数据流,从而需要令数据接收端处的基于延时的拥塞控制算法在当前数据传输周期内以竞争者模式运行。具体的,可以按照步骤206及208,对数据接收端处的基于延时的拥塞控制算法进行调整,通过令调整后的基于延时的拥塞控制算法以竞争者模式运行,去增大目标链路处的由该数据发送端传输的数据占据的带宽,从而实现对目标链路的拥塞控制。[0102]本说明书实施例中,对数据接收端处的基于延时的拥塞控制算法进行调整,以令调整后的基于延时的拥塞控制算法以竞争者模式运行的实现方式可以有多种,对此进行解释说明。[0103]方式一,可以对该基于延时的拥塞控制算法进行参数调整,以令调整后的基于延时的拥塞控制算法以竞争者模式运行。[0104]基于此,步骤206:若所述第一判断结果表示所述目标链路在所述上一数据传输周期内接收到基于丢包的拥塞控制算法控制传输的数据流,则针对所述基于延时的拥塞控制算法进行调整,得到调整后的基于延时的拥塞控制算法,具体可以包括:[0105]从所述基于延时的拥塞控制算法中,确定影响数据发送速率调整的目标参数。[0106]针对所述基于延时的拥塞控制算法中的所述目标参数进行调整,得到调整后的基于延时的拥塞控制算法;所述调整后的基于延时的拥塞控制算法用于在所述目标链路处的缓冲区堆满后,变更对于所述数据发送端的数据发送速率的调整方向。[0107]本说明书实施例中,若目标链路在上一数据传输周期内接收到基于丢包的拥塞控制算法控制传输的数据流,则在上一数据传输周期结束后,可以根据基于延时的拥塞控制算法的调速机制,筛选出影响其速率调整方向的目标参数。通过改变目标参数,可以使得目标链路处的数据包堆满缓冲区队列时,再令该基于延时的拥塞控制算法的速率调整方向发生改变。其中,速率调整方向可以包括:增大数据发送端针对目标链路的数据发送速率,以及减小数据发送端针对目标链路的数据发送速率等方向。[0108]在实际应用中,数据发送端处的调整后的基于延时的拥塞控制算法可以在目标链路处的缓冲区堆满后,再去减小数据发送端针对目标链路的数据发送速率,而在目标链路处的缓冲区被堆满之前,该调整后的基于延时的拥塞控制算法可以去增大数据发送端针对目标链路的数据发送速率。[0109]本说明书实施例中,通过调整基于延时的拥塞控制算法的目标参数,来将改变其速率调整方向的操作点调整到与基于丢包的拥塞控制算法一致,从而有利于提升基于延时的拥塞控制算法与基于丢包的拥塞控制算法的竞争公平性及友好性。以及,在目标链路处的缓冲区被堆满之前,相较于未调整的基于延时的拥塞控制算法,该调整后的基于延时的拥塞控制算法可以增大目标链路处的由该数据发送端传输的数据的占比,从而也有利于提升基于延时的拥塞控制算法控制传输的数据流占据的带宽。[0110]具体的,所述针对所述基于延时的拥塞控制算法中的所述目标参数进行调整,得到调整后的基于延时的拥塞控制算法,可以包括:[0111]确定所述上一数据传输周期内所述目标链路处的平滑往返时间srtt的最大值。[0112]确定所述目标链路在未接收到基于丢包的拥塞控制算法控制传输的数据流时的链路传输时延。[0113]获取在指定数据传输周期内的所述目标链路处的平均排队延时;所述指定数据传输周期为最近一个所述目标链路处未接收到基于丢包的拥塞控制算法控制传输的数据流的数据传输周期。所述平均排队延时可以为指定数据传输周期内采集到的各个往返时延rtt的平均值。[0114]计算所述平滑往返时间的最大值与所述链路传输时延之差同所述平均排队延时的商,得到调整系数。[0115]按照所述调整系数,对所述基于延时的拥塞控制算法中的所述目标参数进行调整,得到调整后的基于延时的拥塞控制算法。[0116]本说明书实施例中,根据上一数据传输周期内针对目标链路采集到的各个往返时延rtt,可以计算得到多个平滑往返时间srtt。例如,假定,上一数据传输周期内针对目标链路采集到n个往返时延rtt,则可以根据采集到的第1个至第n个往返时延rtt,去计算得到第n-1个平滑往返时间srtt,其中,n的取值范围可以为[2,n]。基于此,可以确定出目标链路处的平滑往返时间srtt的最大值rttmax。[0117]本说明书实施例中,数据发送端在进入竞争者模式之前测量到的目标链路的基础延时,可以作为目标链路在未接收到基于丢包的拥塞控制算法控制传输的数据流时的链路传输时延rttbase。[0118]本说明书实施例中,由于数据发送端通常需要采集各个数据传输周期内目标链路处的往返时延rtt,并确定在各个数据传输周期内,基于延时的拥塞控制算法具体需采用竞争者模式运行,还是采用正常模式运行。从而在上一数据传输周期结束后,可以确定出在该上一数据传输周期之前且距离该上一数据传输周期最接近的使得基于延时的拥塞控制算法采用正常模式运行的数据传输周期,从而得到指定数据传输周期。后续,还可以针对在该指定数据传输周期内采用的目标链路处的往返时延rtt求平均值,以得到该指定数据传输周期内的目标链路处的平均排队延时qeq。[0119]本说明书实施例中,可以采用如下公式(3),去计算得到该基于延时的拥塞控制算法中的调整后的目标参数;[0120][0121]其中,bd可以为调整前的目标参数,bd′可以为竞争者模式下调整之后的目标参数。rttmax可以上一数据传输周期内目标链路处的平滑往返时间srtt的最大值。rttbase可以为目标链路在未接收到基于丢包的拥塞控制算法控制传输的数据流时的链路传输时延,即进入竞争者模式之前测量到的目标链路的基础延时。qeq可以为在指定数据传输周期内的目标链路处的平均排队延时,该指定数据传输周期可以为最近一个目标链路处未接收到基于丢包的拥塞控制算法控制传输的数据流的数据传输周期,即最近一个正常模式下的数据传输周期内目标链路处的平均排队延时。可以为目标参数的调整系数。[0122]方式二,可以根据接收到丢包信号,对目标链路处的数据发送速率和拥塞窗口进行调整,以令调整后的基于延时的拥塞控制算法以竞争者模式运行。[0123]具体的,步骤206:针对所述基于延时的拥塞控制算法进行调整,得到调整后的基于延时的拥塞控制算法,可以包括:[0124]针对所述基于延时的拥塞控制算法的运行模式进行调整,得到以竞争者模式运行的调整后的基于延时的拥塞控制算法。[0125]步骤208:利用所述调整后的基于延时的拥塞控制算法,针对所述目标链路进行拥塞控制,可以包括:[0126]在所述上一数据传输周期之后的数据传输周期内,判断所述数据发送端是否检测到所述目标链路处的丢包信号,得到第二判断结果。[0127]若所述第二判断结果表示所述数据发送端检测到所述目标链路处的丢包信号,则利用所述调整后的基于延时的拥塞控制算法,确定针对所述目标链路处的数据发送速率及拥塞窗口的目标调整幅度;所述目标调整幅度与基于丢包的拥塞控制算法根据所述丢包信号针对数据发送速率及拥塞窗口的调整幅度一致。[0128]按照所述目标调整幅度,针对所述目标链路进行拥塞控制。即令数据发送端按照基于该目标调整幅度调整后得到的数据发送速率及拥塞窗口去向目标链路发送数据流。[0129]本说明书实施例中,若目标链路在上一数据传输周期内接收到基于丢包的拥塞控制算法控制传输的数据流,则在当前数据传输周期(即所述上一数据传输周期之后的数据传输周期)中,数据发送端处的调整后的基于延时的拥塞控制算法需要以竞争者模式运行。[0130]具体的,在当前数据传输周期中,若数据发送端检测到目标链路处的丢包信号,则调整后的基于延时的拥塞控制算法,可以使用基于丢包的拥塞控制算法,去根据该丢包信号,确定在下一ack事件中,需要针对数据发送速率和拥塞窗口的调整幅度。并将该调整幅度作为在下一ack事件中,该调整后的基于延时的拥塞控制算法需要针对数据发送端在目标链路处的数据发送速率及拥塞窗口的目标调整幅度。值得注意的是,这种调整方式在一个平滑往返时间srtt内通常最多进行一次。基于这样的调整方式能够使得该调整后的基于延时的拥塞控制算法能够与基于丢包的拥塞控制算法更好、更公平地竞争目标链路处的带宽。[0131]方式三,可以根据目标链路处的当前往返时延信息rtt,对目标链路处的数据发送速率和拥塞窗口进行调整,以令调整后的基于延时的拥塞控制算法以竞争者模式运行。[0132]具体的,判断所述数据发送端是否检测到所述目标链路处的丢包信号,得到第二判断结果之后,还可以包括:[0133]若所述第二判断结果表示所述数据发送端未检测到所述目标链路处的丢包信号,则根据所述目标链路处的当前往返时延信息,采用对称调速方式,确定所述目标链路处的指定数据发送速率及指定拥塞窗口。[0134]按照所述目标链路处的指定数据发送速率及指定拥塞窗口,针对所述目标链路进行拥塞控制。即令数据发送端按照指定数据发送速率及指定拥塞窗口去向目标链路发送数据流。[0135]本说明书实施例中,在当前数据传输周期中,数据发送端处的调整后的基于延时的拥塞控制算法需要以竞争者模式运行。具体的,若数据发送端未检测到目标链路处的丢包信号,则每发生一次与目标链路对应的ack事件,该调整后的基于延时的拥塞控制算法就可以采用对称调速方式,对数据发送端在目标链路处的数据发送速率和拥塞窗口进行一次调整,以得到指定数据发送速率及指定拥塞窗口。后续,该调整后的基于延时的拥塞控制算法就可以控制所述数据发送端按照指定数据发送速率及指定拥塞窗口向目标链路传输数据。[0136]值得注意的是,尽管基于延时的拥塞控制算法处于正常模式时,也会采用对称调速方式,对数据发送端在目标链路处的数据发送速率和拥塞窗口进行调整。但与其处于竞争者模式时采用对称调速方式对数据发送速率和拥塞窗口进行调整所使用的参数存在差异。例如,正常模式下的基于延时的拥塞控制算法在进行对称调速时,会使用最近10秒内针对目标链路测量到的最小往返延时rttmin去计算排队延时qd。而竞争者模式下的基于延时的拥塞控制算法在进行对称调速时,会使用正常模式下针对目标链路测量到的最小往返延时rttmin去计算排队延时qd。[0137]除此之外,由于当基于延时的拥塞控制算法处于竞争者模式时,系统一定是处于不收敛状态,从而可以无需按正常模型下一样去更新数据传输周期t以及速率调节系数λ,以避免计算资源浪费。[0138]为便于理解,对于竞争者模式下,采用对称调速方式,确定目标链路处的指定数据发送速率及指定拥塞窗口的过程,进行解释说明。[0139]具体的,根据所述目标链路处的当前往返时延信息,采用对称调速方式,确定所述目标链路处的指定数据发送速率及指定拥塞窗口,可以包括:[0140]若所述数据发送端的当前数据发送速率小于等于目标速率,则计算所述当前数据发送速率与速率调整值之和,得到所述指定数据发送速率;所述速率调整值是根据所述目标链路处的当前往返时延信息确定的;所述目标速率是根据在目标数据传输周期内针对所述目标链路采集到的往返时延信息的最小值确定的;所述目标数据传输周期为所述目标链路未接收到基于丢包的拥塞控制算法控制传输的数据流的数据传输周期。[0141]若所述数据发送端的当前数据发送速率大于所述目标速率,则计算所述当前数据发送速率与所述速率调整值之差,得到所述指定数据发送速率。[0142]计算所述指定数据发送速率与所述目标链路处的当前往返时延信息之积,得到所述指定拥塞窗口。[0143]本说明书实施例中,采用对称调速方式,可以令拥塞控制系统呈现更加规则的周期性行为。具体的,当数据发送端每接收到一个ack包,就可以通过如下对称的公式(4)去计算目标链路处的指定数据发送速率cr′,以及根据公式(5)去计算指定拥塞窗口cwnd′;[0144][0145]cwnd′=cr′*rttiꢀꢀꢀꢀ(5)[0146]其中,cr′可以为目标链路处的指定数据发送速率,cr可以为目标链路处的当前数据发送速率。int可以为本次收到ack包距离上次收到ack包的时间间隔。rtti可以为目标链路处的当前往返时延信息,即针对本次收到的ack包确定出的往返时延rtt。θ可以为根据基于延时的拥塞控制算法的调速机制,筛选出的影响其速率调整方向的目标参数。λ可以为基于延时的拥塞控制算法中的速率调节系数。cwnd′可以为目标链路处的指定拥塞窗口。tr可以为独立且随延时动态变化的目标速率。可以构成计算指定数据发送速率所需使用的速率调整值。[0147]本说明书实施例中,可以通过下述公式(6)去计算目标速率tr;[0148][0149]其中,qd可以为排队延时,具体的,排队延时qd可以为rttstanding与rttmin之差,rttstanding可以为最近0.5srtt内测量所得的最小往返延时数值,rttmin可以为正常模式下针对目标链路测量到的最小往返延时。n和y可以是预设的参数,例如,当基于延时的拥塞控制算法为pdcc算法时,n可以表示速率调整时容忍误差的能力,y可以表示对排队延时的容忍程度,此时,y与公式(4)中的θ可以是同一参数。[0150]本说明书实施例中,步骤204:根据所述时频域差异信息,判断所述目标链路在所述上一数据传输周期内是否接收到基于丢包的拥塞控制算法控制传输的数据流,得到第一判断结果之后,还可以包括:[0151]若所述第一判断结果表示所述目标链路在所述上一数据传输周期内未接收到基于丢包的拥塞控制算法控制传输的数据流,则使用现有的基于延时的拥塞控制算法,对数据发送端进行拥塞控制。[0152]本说明书实施例中,若第一判断结果表示目标链路在上一数据传输周期内未接收到基于丢包的拥塞控制算法控制传输的数据流,则数据发送端处的基于延时的拥塞控制算法可以采用正常模式运行,从而无需对基于延时的拥塞控制算法进行变更,只需采用现有技术中的基于延时的拥塞控制算法对数据发送端进行拥塞控制即可。[0153]具体的,可以获取上一数据传输周期内目标链路处的往返时延信息的频域特性,以确定最大幅度值对应的频率,记为主导频率fm。若连续两个数据传输周期内的fm接近,则可以表示fm稳定,即系统处于稳定状态,反之则可以表示fm不稳定,即系统处于收敛状态。[0154]在fm稳定后,可以将数据传输周期t调整为5与上一数据传输周期的主导频率fm之商。并根据公式(7)更新基于延时的拥塞控制算法的速率调节系数λ;[0155][0156]其中,λ′可以为基于延时的拥塞控制算法的调整后的速率调节系数。λ可以为基于延时的拥塞控制算法的调整前的速率调节系数。qave和qamp可以分别是上一数据传输周期内排队延时的平均值和抖动幅度。[0157]后续,还可以按照公式(5)-(7),去采用对称调速方式,确定数据发送端在目标链路处应使用的数据发送速率及拥塞窗口。只是公式(7)中所需使用的rttstanding应为最近0.5srtt内测量所得的最小往返延时数值,其他参数的含义不变,对此不作赘述。[0158]图3为本说明书实施例提供的对应于图2中的拥塞控制方法的泳道流程示意图。如图3所示,该拥塞控制流程可以涉及数据发送端及数据接收端等执行主体。数据发送端可以利用基于延时的拥塞控制算法针对目标链路进行拥塞控制,并利用目标链路向数据接收端发送数据流。[0159]在运行模式确定阶段,当上一数据传输周期结束时,数据发送端可以获取其在上一数据传输周期内针对目标链路反馈的各个确认消息确定出的往返时延信息,以及,在接收到所述各个确认消息时采集到的拥塞窗口信息。针对所述往返时延信息和所述拥塞窗口信息进行时频域分析,得到所述往返时延信息与所述拥塞窗口信息之间的时域差异信息及频域差异信息。判断是否时域差异信息小于等于第一阈值且频域差异信息小于等于第二阈值,若是,则可以表示目标链路在上一数据传输周期内未接收到基于丢包的拥塞控制算法控制传输的数据流,从而可以确定按正常模式运行该数据发送端处的基于延时的拥塞控制算法,否则,可以确定按竞争者模式运行该数据发送端处的基于延时的拥塞控制算法。[0160]在数据发送阶段,若按竞争者模式运行基于延时的拥塞控制算法,则数据发送端可以从基于延时的拥塞控制算法中,确定影响数据发送速率调整的目标参数;针对目标参数进行调整,得到调整后的基于延时的拥塞控制算法,其用于在目标链路处的缓冲区堆满后,变更对于数据发送速率的调整方向。以及,在当前数据传输周期内,判断数据发送端是否检测到目标链路处的丢包信号。若是,则调整后的基于延时的拥塞控制算法,可以确定基于丢包的拥塞控制算法根据丢包信号针对数据发送速率及拥塞窗口的目标调整幅度,从而按照目标调整幅度,调整目标链路处的数据发送速率及拥塞窗口,以控制向目标链路发送的数据流,实现针对目标链路的拥塞控制。若否,则调整后的基于延时的拥塞控制算法,可以根据目标链路处的当前往返时延信息,采用对称调速方式,确定目标链路处的指定数据发送速率及指定拥塞窗口,以控制向目标链路发送的数据流,实现针对目标链路的拥塞控制。[0161]而若按正常模式运行基于延时的拥塞控制算法,则数据发送端可以无需对基于延时的拥塞控制算法处的目标参数进行调整,而仅需根据目标链路处的当前往返时延信息,采用对称调速方式,确定目标链路处的目标数据发送速率及目标拥塞窗口,以控制向目标链路发送的数据流,实现针对目标链路的拥塞控制。[0162]图3中的方案,能够准确地检测出有无基于丢包的拥塞控制算法所控制传输的数据流进入目标链路,以及在基于延时的拥塞控制算法与基于丢包的拥塞控制算法控制传输的流在目标链路处共存时,通过令基于延时的拥塞控制算法进行竞争者模式,以提升基于延时的拥塞控制算法控制传输的数据流在目标链路处占据的带宽,从而保障基于延时的拥塞控制算法与基于丢包的拥塞控制算法的竞争公平性及友好性。实验结果表明,该方案能够有效地提升基于延时的拥塞控制算法的tcp友好性,并将其提升到与bbr拥塞控制算法几乎一样的效果。[0163]基于同样的思路,本说明书实施例还提供了上述方法对应的装置。图4为本说明书实施例提供的对应于图2的一种拥塞控制装置的结构示意图。如图4所示,该装置可以应用于使用基于延时的拥塞控制算法进行拥塞控制的数据发送端,其可以包括:[0164]获取模块402,用于获取上一数据传输周期内目标链路处的数据延时信息和拥塞窗口信息之间的时频域差异信息。[0165]判断模块404,用于根据所述时频域差异信息,判断所述目标链路在所述上一数据传输周期内是否接收到基于丢包的拥塞控制算法控制传输的数据流,得到第一判断结果。[0166]调整模块406,用于若所述第一判断结果表示所述目标链路在所述上一数据传输周期内接收到基于丢包的拥塞控制算法控制传输的数据流,则针对所述基于延时的拥塞控制算法进行调整,得到调整后的基于延时的拥塞控制算法;所述调整后的基于延时的拥塞控制算法用于增大所述目标链路处的由所述数据发送端传输的数据的占比。[0167]拥塞控制模块408,用于利用所述调整后的基于延时的拥塞控制算法,针对所述目标链路进行拥塞控制。[0168]基于图4的装置,本说明书实施例还提供了该装置的一些具体实施方案,下面进行说明。[0169]可选的,所述获取模块402,可以包括:[0170]第一获取单元,用于获取所述数据发送端在上一数据传输周期内针对所述目标链路反馈的各个确认消息确定出的往返时延信息。[0171]第二获取单元,用于获取所述数据发送端在接收到所述各个确认消息时采集到的拥塞窗口信息。[0172]时频域分析单元,用于针对所述往返时延信息和所述拥塞窗口信息进行时频域分析,得到所述往返时延信息与所述拥塞窗口信息之间的时域差异信息及频域差异信息。[0173]可选的,所述时频域分析单元,可以包括:[0174]频域分析子单元,用于针对所述往返时延信息和所述拥塞窗口信息进行频域分析,得到所述往返时延信息与所述拥塞窗口信息之间的频域差异信息;所述频域差异信息用于反映所述上一数据传输周期内的所述往返时延信息的幅频特性与所述拥塞窗口信息的幅频特性之间的差异。[0175]时域分析子单元,用于针对所述往返时延信息和所述拥塞窗口信息进行时域分析,得到所述往返时延信息与所述拥塞窗口信息之间的时域差异信息;所述时域差异信息用于反映所述上一数据传输周期内的目标往返时延最小值的增长次数与所述拥塞窗口信息的增长次数之间的差异;所述目标往返时延最小值为在各个预设时间段内采集到的所述往返时延信息的最小值;所述预设时间段的时长为所述目标链路处的平滑往返时间的一半。[0176]可选的,所述频域分析子单元,具体可以用于:[0177]针对所述往返时延信息进行傅立叶变换处理,得到所述上一数据传输周期内的所述往返时延信息的幅频特性。[0178]针对所述拥塞窗口信息进行傅立叶变换处理,得到所述上一数据传输周期内的所述拥塞窗口信息的幅频特性。[0179]计算所述往返时延信息的幅频特性与所述拥塞窗口信息的幅频特性之间的欧式距离,得到所述往返时延信息与所述拥塞窗口信息之间的频域差异信息。[0180]可选的,所述时域分析子单元,具体可以用于:[0181]根据所述往返时延信息,确定所述上一数据传输周期内的所述目标往返时延最小值的增长次数。[0182]根据所述拥塞窗口信息,确定所述上一数据传输周期内的所述拥塞窗口信息的增长次数。[0183]计算所述目标往返时延最小值的增长次数与所述拥塞窗口信息的增长次数之间的绝对差值。[0184]计算所述绝对差值与所述确认消息的数量之商,得到所述往返时延信息与所述拥塞窗口信息之间的时域差异信息。[0185]可选的,所述判断模块404,具体可以用于:[0186]判断是否所述时域差异信息小于等于第一阈值且所述频域差异信息小于等于第二阈值。[0187]若所述时域差异信息小于等于第一阈值且所述频域差异信息小于等于第二阈值,则生成表示所述目标链路在所述上一数据传输周期内未接收到基于丢包的拥塞控制算法控制传输的数据流的第一判断结果。[0188]若所述时域差异信息大于第一阈值和/或所述频域差异信息大于第二阈值,则生成表示所述目标链路在所述上一数据传输周期内接收到基于丢包的拥塞控制算法控制传输的数据流的第一判断结果。[0189]可选的,所述调整模块406,可以包括:[0190]目标参数确定单元,用于从所述基于延时的拥塞控制算法中,确定影响数据发送速率调整的目标参数。[0191]第一调整单元,用于针对所述基于延时的拥塞控制算法中的所述目标参数进行调整,得到调整后的基于延时的拥塞控制算法;所述调整后的基于延时的拥塞控制算法用于在所述目标链路处的缓冲区堆满后,变更对于所述数据发送端的数据发送速率的调整方向。[0192]可选的,所述第一调整单元,具体可以用于:[0193]确定所述上一数据传输周期内所述目标链路处的平滑往返时间的最大值。[0194]确定所述目标链路在未接收到基于丢包的拥塞控制算法控制传输的数据流时的链路传输时延。[0195]获取在指定数据传输周期内的所述目标链路处的平均排队延时;所述指定数据传输周期为最近一个所述目标链路处未接收到基于丢包的拥塞控制算法控制传输的数据流的数据传输周期。[0196]计算所述平滑往返时间的最大值与所述链路传输时延之差同所述平均排队延时的商,得到调整系数。[0197]按照所述调整系数,对所述基于延时的拥塞控制算法中的所述目标参数进行调整,得到调整后的基于延时的拥塞控制算法。[0198]可选的,所述拥塞控制模块408,可以包括:[0199]丢包判断单元,用于在所述上一数据传输周期之后的数据传输周期内,判断所述数据发送端是否检测到所述目标链路处的丢包信号,得到第二判断结果。[0200]第二调整单元,用于若所述第二判断结果表示所述数据发送端检测到所述目标链路处的丢包信号,则利用所述调整后的基于延时的拥塞控制算法,确定针对所述目标链路处的数据发送速率及拥塞窗口的目标调整幅度;所述目标调整幅度与基于丢包的拥塞控制算法根据所述丢包信号针对数据发送速率及拥塞窗口的调整幅度一致。[0201]第一拥塞控制单元,用于按照所述目标调整幅度,针对所述目标链路进行拥塞控制。[0202]可选的,所述拥塞控制模块408,还可以包括:[0203]第三调整单元,用于若所述第二判断结果表示所述数据发送端未检测到所述目标链路处的丢包信号,则根据所述目标链路处的当前往返时延信息,采用对称调速方式,确定所述目标链路处的指定数据发送速率及指定拥塞窗口。[0204]第二拥塞控制单元,用于按照所述目标链路处的指定数据发送速率及指定拥塞窗口,针对所述目标链路进行拥塞控制。[0205]可选的,所述第三调整单元,具体可以用于:[0206]若所述数据发送端的当前数据发送速率小于等于目标速率,则计算所述当前数据发送速率与速率调整值之和,得到所述指定数据发送速率;所述速率调整值是根据所述目标链路处的当前往返时延信息确定的;所述目标速率是根据在目标数据传输周期内针对所述目标链路采集到的往返时延信息的最小值确定的;所述目标数据传输周期为所述目标链路未接收到基于丢包的拥塞控制算法控制传输的数据流的数据传输周期。[0207]若所述数据发送端的当前数据发送速率大于所述目标速率,则计算所述当前数据发送速率与所述速率调整值之差,得到所述指定数据发送速率。[0208]计算所述指定数据发送速率与所述目标链路处的当前往返时延信息之积,得到所述指定拥塞窗口。[0209]基于同样的思路,本说明书实施例还提供了上述方法对应的设备。[0210]图5为本说明书实施例提供的对应于图2的一种拥塞控制设备的结构示意图。如图5所示,设备500使用基于延时的拥塞控制算法进行拥塞控制,设备500可以包括:[0211]至少一个处理器510;以及,[0212]与所述至少一个处理器通信连接的存储器530;其中,[0213]所述存储器530存储有可被所述至少一个处理器510执行的指令520,所述指令被所述至少一个处理器510执行,以使所述至少一个处理器510能够:[0214]获取上一数据传输周期内目标链路处的数据延时信息和拥塞窗口信息之间的时频域差异信息。[0215]根据所述时频域差异信息,判断所述目标链路在所述上一数据传输周期内是否接收到基于丢包的拥塞控制算法控制传输的数据流,得到第一判断结果。[0216]若所述第一判断结果表示所述目标链路在所述上一数据传输周期内接收到基于丢包的拥塞控制算法控制传输的数据流,则针对所述基于延时的拥塞控制算法进行调整,得到调整后的基于延时的拥塞控制算法;所述调整后的基于延时的拥塞控制算法用于增大所述目标链路处的由所述设备传输的数据的占比。[0217]利用所述调整后的基于延时的拥塞控制算法,针对所述目标链路进行拥塞控制。[0218]本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于图5所示的设备而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。[0219]在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmable logic device,pld)(例如现场可编程门阵列(field programmable gate array,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字符系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardware description language,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advanced boolean expression language)、ahdl(altera hardware description language)、confluence、cupl(cornell university programming language)、hdcal、jhdl(java hardware description language)、lava、lola、myhdl、palasm、rhdl(ruby hardware description language)等,目前最普遍使用的是vhdl(very-high-speed integrated circuit hardware description language)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。[0220]控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmel at91sam、microchip pic18f26k20以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。[0221]上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字符助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。[0222]为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。[0223]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。[0224]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。[0225]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。[0226]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。[0227]在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。[0228]内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。[0229]计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字符多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。[0230]还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。[0231]本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。[0232]本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。[0233]以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭