CN114629856A - 拥塞控制方法、装置、电子设备及可读存储介质 - Google Patents
拥塞控制方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN114629856A CN114629856A CN202210525765.1A CN202210525765A CN114629856A CN 114629856 A CN114629856 A CN 114629856A CN 202210525765 A CN202210525765 A CN 202210525765A CN 114629856 A CN114629856 A CN 114629856A
- Authority
- CN
- China
- Prior art keywords
- data packets
- sent
- slow start
- stage
- allowed
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/37—Slow start
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/263—Rate modification at the source after receiving feedback
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种拥塞控制方法、装置、电子设备及可读存储介质,应用于通信技术领域。其中,方法包括基于当前时刻的数据包允许发送个数、慢启动阈值和应答报文接收情况,判断发送方与多个接收方的数据传输状态处于慢启动阶段、拥塞控制阶段或快速恢复阶段。当处于慢启动阶段,每当检测到存在应答报文,则增加数据包允许发送个数;当处于拥塞控制阶段,每当检测到存在所有数据包均被应答的目标消息,则增加数据包允许发送个数,同时基于调整后的数据包允许发送个数重新设置慢启动阈值;当处于快速恢复阶段,基于预设初始值重置数据包允许发送个数和慢启动阈值。本申请可有效提高基于以太网的一对多通信方式的数据传输效率。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种拥塞控制方法、装置、电子设备及可读存储介质。
背景技术
随着通信技术的发展,基于以太网的通信双方不再拘泥于一对一通信,一对多、多对一的通信方式也越来越多,如在刀片板卡机箱内部,板卡与板卡之间的通信方式为一对一或一对多。对于一对多通信方式,也即一个信息发送方,多个信息接收方的通信场景,若发送方在一定时间内发送大量数据包,受限于通信链路负载能力,会导致通信链路负载增大而丢包,严重影响通信质量以及通信效率。此外,消息太多,接收方没有足够时间处理这些消息也会主动放弃数据包,通信链路的资源就会被这些无效的数据包占用,降低通信链路利用率,数据传输耗费时间较长,通信效率较低。
鉴于此,如何提高基于以太网的一对多通信方式的数据传输效率,是所属领域技术人员需要解决的技术问题。
发明内容
本申请提供了一种拥塞控制方法、装置、电子设备及可读存储介质,有效提高基于以太网的一对多通信方式的数据传输效率。
为解决上述技术问题,本发明实施例提供以下技术方案:
本发明实施例一方面提供了一种拥塞控制方法,包括:
基于当前时刻的数据包允许发送个数、慢启动阈值和应答报文接收情况,判断发送方与多个接收方的数据传输状态处于慢启动阶段、拥塞控制阶段或快速恢复阶段;
当处于所述慢启动阶段,每当检测到存在应答报文,则增加所述数据包允许发送个数;
当处于所述拥塞控制阶段,每当检测到存在所有数据包均被应答的目标消息,则增加所述数据包允许发送个数,同时基于调整后的数据包允许发送个数重新设置所述慢启动阈值;
当处于所述快速恢复阶段,基于预设初始值重置所述数据包允许发送个数和所述慢启动阈值;
其中,所述慢启动阶段表示数据发送速度小于预设速度阈值;所述拥塞控制阶段表示进行拥塞控制处理;所述快速恢复阶段表示出现丢包现象。
可选的,所述基于当前时刻的数据包允许发送个数、慢启动阈值和应答报文接收情况,判断发送方与多个接收方的数据传输状态处于慢启动阶段、拥塞控制阶段或快速恢复阶段,包括:
若数据包允许发送个数小于慢启动阈值,则发送方与多个接收方的数据传输状态处于慢启动阶段;
若所述数据包允许发送个数大于等于所述慢启动阈值,则所述发送方与多个接收方的数据传输状态处于拥塞控制阶段;
若在预设时间段内没有检测到应答报文,则所述发送方与多个接收方的数据传输状态处于快速恢复阶段。
可选的,所述增加所述数据包允许发送个数,包括:
调整所述数据包允许发送个数为当前时刻的数据包允许发送个数+1。
可选的,所述增加所述数据包允许发送个数,同时基于调整后的数据包允许发送个数重新设置所述慢启动阈值,包括:
调整所述数据包允许发送个数为当前时刻的数据包允许发送个数+1,同时将0.75*调整后数据包允许发送个数的取整结果作为所述慢启动阈值的更新值。
可选的,所述基于预设初始值重置所述数据包允许发送个数和所述慢启动阈值,包括:
当所述数据包允许发送个数小于所述慢启动阈值,则将所述数据包允许发送个数调整为初始窗口值,将所述慢启动阈值调整为初始启动值;
当所述数据包允许发送个数大于等于所述慢启动阈值,则将所述数据包允许发送个数的数值调整为所述慢启动阈值的数值;
其中,所述慢启动阈值大于所述初始窗口值。
可选的,所述基于当前时刻的数据包允许发送个数、慢启动阈值和应答报文接收情况,判断发送方与多个接收方的数据传输状态处于慢启动阶段、拥塞控制阶段或快速恢复阶段之后,还包括:
当检测到存在待发送数据包,根据当前时刻的数据包允许发送个数与已发送数据包个数,从所有待被应答的数据包中选择相应个数、且未被发送过的目标数据包进行发送。
本发明实施例另一方面提供了一种拥塞控制装置,包括:
状态判断模块,用于基于当前时刻的数据包允许发送个数、慢启动阈值和应答报文接收情况,判断发送方与多个接收方的数据传输状态处于慢启动阶段、拥塞控制阶段或快速恢复阶段;
发送参数调整模块,用于当处于所述慢启动阶段,每当检测到存在应答报文,则增加所述数据包允许发送个数;当处于所述拥塞控制阶段,每当检测到存在所有数据包均被应答的目标消息,则增加所述数据包允许发送个数,同时基于调整后的数据包允许发送个数重新设置所述慢启动阈值;当处于所述快速恢复阶段,基于预设初始值重置所述数据包允许发送个数和所述慢启动阈值;其中,所述慢启动阶段表示数据发送速度小于预设速度阈值;所述拥塞控制阶段用于表示进行拥塞控制处理;所述快速恢复阶段用于表示出现丢包现象。
可选的,所述状态判断模块进一步用于:
若数据包允许发送个数小于慢启动阈值,则发送方与多个接收方的数据传输状态处于慢启动阶段;
若所述数据包允许发送个数大于等于所述慢启动阈值,则所述发送方与多个接收方的数据传输状态处于拥塞控制阶段;
若在预设时间段内没有检测到应答报文,则所述发送方与多个接收方的数据传输状态处于快速恢复阶段。
本发明实施例还提供了一种电子设备,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述拥塞控制方法的步骤。
本发明实施例最后还提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前任一项所述拥塞控制方法的步骤。
本申请提供的技术方案的优点在于,将当前时刻的数据包允许发送个数、慢启动阈值和应答报文接收情况作为反映当前数据链路状态及接收方负载情况的探测信息,可实时根据探测信息,动态调整发送方的一次性可发送数据包数量以及慢启动阈值,精准控制数据包发送情况,既可保证数据包快速发送至多个接收方,也可降低数据包丢包概率,从而提高基于以太网的一对多通信方式的数据传输效率,可有效提升机箱内板卡与板卡间通信效率,降低不必要的数据包重传。
此外,本发明实施例还针对拥塞控制方法提供了相应的实现装置、电子设备及可读存储介质,进一步使得所述方法更具有实用性,所述装置、电子设备及可读存储介质具有相应的优点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
为了更清楚的说明本发明实施例或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种拥塞控制方法的流程示意图;
图2为本发明实施例提供的一个示例性应用场景的框架示意图;
图3为本发明实施例提供的一个示例性应用场景的数据发送流程示意图;
图4为本发明实施例提供的拥塞控制装置的一种具体实施方式结构图;
图5为本发明实施例提供的电子设备的一种具体实施方式结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。
首先参见图1,图1为本发明实施例提供的一种拥塞控制方法的流程示意图,本发明实施例可包括以下内容:
S101:基于当前时刻的数据包允许发送个数、慢启动阈值和应答报文接收情况,判断发送方与多个接收方的数据传输状态处于慢启动阶段、拥塞控制阶段或快速恢复阶段。
在本实施例中,数据包允许发送个数为发送方每次能发送的数据包个数,该数值为一个可变的值,是发送方的套接字中的发送参数之一。慢启动阈值为处于慢启动阶段的窗口阈值,该数值同样为一个可变的数值,是发送方的套接字中的发送参数之一。数据包允许发送个数、慢启动阈值都具有一个初始值。应答报文接收情况是指每个数据包从发送方发送至接收方,接收方是否反馈应答包以及反馈应答包的时间。慢启动阶段表示数据发送速度小于预设速度阈值,预设速度阈值可为预先设置的、用于衡量发送速率快慢的一个参数,可根据实际情况进行灵活确定。慢启动阶段表明当前发送方的数据发送速率太慢。拥塞控制阶段表示进行拥塞控制处理,也即处于该阶段,发送链路拥塞的概率会大,需要进行发送速率的调整。快速恢复阶段表示出现丢包现象。
S102:当处于慢启动阶段,每当检测到存在应答报文,则增加数据包允许发送个数。
当处于慢启动阶段,表明当前发送方的报文发送速率较低,为了提高整个数据传输效率,需要适当调高发送方发送速率。数据包允许发送个数为当前一次性可发送数据包的数量,增加该值可以使得下一次发送更多的数据包,从而宏观上加快发送速度。为了控制增长速率不能太快,使得控制的颗粒度尽量的精细,数据包允许发送个数的调整幅度可设置较小。
S103:当处于拥塞控制阶段,每当检测到存在所有数据包均被应答的目标消息,则增加数据包允许发送个数,同时基于调整后的数据包允许发送个数重新设置慢启动阈值。
本实施例的拥塞控制阶段为链路拥塞情况的探测阶段,应当尽量缓慢的增长数据包允许发送个数,所以必须收到一个消息的所有数据包的全部应答报文之后,才调高增加数据包允许发送个数的数值,降低探测行为过激无法精确判断拥塞的阈值点。慢启动阈值为判定当前节点是处于慢启动阶段还是拥塞控制阶段,当拥塞控制阶段未出现拥塞,则说明数据包允许发送个数及慢启动阈值可以继续增长。当拥塞控制阶段出现拥塞,则需要调低数据包允许发送个数。
S104:当处于快速恢复阶段,基于预设初始值重置数据包允许发送个数和慢启动阈值。
在本实施例中,快速恢复阶段表明数据包发送太快,或者是接收方的负载无法承载发送方所发送的数据包,需要降低发送方的数据发送效率,也即需要整体调节数据包允许发送个数和慢启动阈值的数值,保证调整后的数据包允许发送个数和慢启动阈值既可以解决丢包现象,又不至于发送速率太低。
在本发明实施例提供的技术方案中,将当前时刻的数据包允许发送个数、慢启动阈值和应答报文接收情况作为反映当前数据链路状态及接收方负载情况的探测信息,可实时根据探测信息,动态调整发送方的一次性可发送数据包数量以及慢启动阈值,精准控制数据包发送情况,既可保证数据包快速发送至多个接收方,也可降低数据包丢包概率,从而提高基于以太网的一对多通信方式的数据传输效率,可有效提升机箱内板卡与板卡间通信效率,降低不必要的数据包重传。
需要说明的是,本申请中各步骤间没有严格的先后执行顺序,只要符合逻辑上的顺序,则这些步骤可以同时执行,也可按照某种预设顺序执行,图1只是一种示意方式,并不代表只能是这样的执行顺序。
在上述实施例中,对于如何执行步骤S101并不做限定,本实施例中给出一种可选的实施方式,可包括如下步骤:
若数据包允许发送个数小于慢启动阈值,则发送方与多个接收方的数据传输状态处于慢启动阶段;每当检测到存在应答报文,调整数据包允许发送个数为当前时刻的数据包允许发送个数+1。
若数据包允许发送个数大于等于慢启动阈值,则发送方与多个接收方的数据传输状态处于拥塞控制阶段;每当检测到存在所有数据包均被应答的目标消息,调整数据包允许发送个数为当前时刻的数据包允许发送个数+1,同时将0.75*调整后数据包允许发送个数的取整结果作为慢启动阈值的更新值。
若在预设时间段内没有检测到应答报文,则发送方与多个接收方的数据传输状态处于快速恢复阶段。当数据包允许发送个数大于等于慢启动阈值,则将数据包允许发送个数的数值调整为慢启动阈值的数值;当数据包允许发送个数小于慢启动阈值,则将数据包允许发送个数调整为初始窗口值,将慢启动阈值调整为初始启动值。其中,慢启动阈值大于初始窗口值。
在本实施例中,当处于慢启动阶段,一旦有包被应答,那么将数据包允许发送个数加1,可以使得下一次发送pkt时,会发送数据包允许发送个数+1个数据包,宏观上能加快发送速度。设置调整幅度为1,可控制增长速率不要太快,使得控制的颗粒度尽量的精细。当处于拥塞控制阶段,一旦一条消息内的所有包被应答,那么将数据包允许发送个数加1,同时将慢启动阈值设置为数据包允许发送个数的值的0.75倍并取整。相比慢启动阶段,慢启动阶段只要收到一个ack(x,n),数据包允许发送个数就会加1来说,在本阶段为链路拥塞情况的探测阶段,应当尽量缓慢的增长数据包允许发送个数,必须收到全部ack(x,1)……ack(x,n)才将数据包允许发送个数加1,降低探测行为过激无法精确判断拥塞的阈值点。慢启动阈值为判定当是处于“慢启动”还是“拥塞控制”阶段的判定值,当拥塞控制阶段未出现拥塞,则说明数据包允许发送个数及慢启动阈值可以继续增长。取0.75是为了方便计算机进行计算,使用位移而非除法,性能更高,且可留有一定的余量从后部也即快速恢复阶段重新探测阈值。当处于快速恢复阶段,若数据包允许发送个数小于慢启动阈值,将数据包允许发送个数的值重置为初始窗口值cwnd_init,将慢启动阈值的值重置为初始启动值ssthresh_init;否则只将数据包允许发送个数的值重置为慢启动阈值。对于数据包允许发送个数<慢启动阈值情况下,证明慢启动阈值已不可靠,需要重新确定慢启动阈值,因此将数据包允许发送个数及慢启动阈值恢复到相应的初始值。对于数据包允许发送个数>慢启动阈值情况下,由前面拥塞控制阶段缓慢测定出的慢启动阈值为前一小段时刻链路稳定的一个阈值,若直接将数据包允许发送个数恢复到初始值,此处慢启动阈值一定大于cwnd_init,则要回到慢启动阶段,发送效率将会降低,因此这里直接将数据包允许发送个数重置为慢启动阈值进入拥塞控制阶段,跳过慢启动阶段,提升发送效率。
为了进一步提高数据传输效率,基于上述实施例,本实施例还对发送方的发送方式进一步进行改进,可包括下述内容:
当检测到存在待发送数据包,根据当前时刻的数据包允许发送个数与已发送数据包个数,从所有待被应答的数据包中选择相应个数、且未被发送过的目标数据包进行发送。
在本实施例中,为了避免每次都发送数据包允许发送个数的数据包,降低每次发送的数据包的个数,增加链路的利用率,套接字的发送参数还引入了已发送数据包个数。在选择数据包时,可按照先后顺序依次选择,目标数据包的个数为数据包允许发送个数与已发送数据包个数的差。
为了使所属领域技术人员更加清楚本申请的技术方案,本申请还结合图2及图3给出一个示意性例子,该示意性例子应用于刀片板卡机箱内部,板卡与板卡之间的数据传输,刀片板卡机箱内部采用以太网广播及组播技术达到一对多通信,采用下述技术方案在广播或组播通信模式下进行拥塞控制,以提升机箱内板卡与板卡间通信效率,降低不必要的数据包重传,可包括下述内容:
如图2所示,发送方向p个接收方发送消息发送m个消息,也即发送m个消息至每个接收方的套接字(socket)中,套接字为独立的信道通路,例如发送给某一类型板卡的通道,其中每个消息均被拆分为n个数据包(pkt),所有待发送的数据包将会以pkt(m,n)的形式分别编号。发送方当前发送的数据包可称为编号x的数据包pkt(x),交换芯片(SwitchChip)将该数据包转发到需要接收的接收方。接收方1收到数据包x,向发送方发送确认包ack(x,1),表示编号为x的数据包被接收方1成功接收。接收方n收到数据包x,向发送方发送确认包ack(x,n),表示编号为x的数据包被接收方n成功接收,返回的应答包将会以ack(m,n,p)的形式编号。发送方根据响应的确认包(ack(x,1,……,n))的时间间隔,或数据包的超时状态,调整发送方套接字(socket)的发送策略。其中,时间间隔是指pkt(x)与ack(x,1)……ack(x,n)这n个应答包中最后到达的应答包的时间间隔。若时间间隔变大,则说明链路拥塞;间隔时间变小,则说明链路畅通。为了保证数据传输效率,当间隔变大时,可以缩小发送窗口也即降低一次可发送数据包的数量,缩小慢启动阈值。当间隔时间变小时,可增大发送窗口,减小慢启动阈值。在本实施例中,预先设置发送方的套接字的整数参数为:数据包允许发送个数cwnd,慢启动阈值ssthresh,初始窗口值cwnd_init,初始启动值ssthresh_init,已发送数据包个数sended,cwnd为当前时间可发送的数据包个数,用于发送方发送速率的判定。Ssthresh用于将cwnd与ssthresh进行比较,若cwnd<ssthresh,则当前发送方发送的策略为慢启动阶段,否则为拥塞控制阶段。具体可包括下述内容:
A1:发送方检测是否有数据包需要发送,检测已发送数据包是否超时,检测是否有应答包。
A2:当检测到有数据包需要发送,跳转执行A5。
A3:当检测到已发数据包已经超时,跳转执行A6。
A4:当检测到有应答包,跳转执行A7。
A5:发送方在待被应答的数据包中按先后顺序,选择(cwnd减sended)个(不可以选择其他数,一次性发送的数据包个数必须为cwnd个,否则将导致数据包无法正确到达所有发送方。)未被发送过的数据包,进行发送;每发送一个数据包,sended计数加1,直到(cwnd减sended)为0后,跳转执行A1。
A6:数据包pkt(x,y)发送超时,若cwnd小于ssthresh,跳转执行A6.1。若cwnd大于等于ssthresh,跳转执行A6.2。
A6.1:cwnd重置为cwnd_init,ssthresh重置为ssthresh_init,转到1;
A6.2:cwnd重置为ssthresh,跳转执行A1。
A7:发送方收到pkt(x,y)被接收方z应答的应答包ack(x,y,z)后,标记pkt(x,y)被接收方z收到,跳转执行A7.1。
A7.1:判断pkt(x,y)是否收到所有接收方的应答包(ack(x,y,1...p)),若pkt(x,y)被所有接收方应答,则认为pkt(x,y)被应答,跳转执行A7.2,否则跳转执行A1;
A7.2:将sended减1,若cwnd小于ssthresh,则将cwnd加1,跳转执行A1,否则跳转执行A7.3;
A7.3:若msg(x)下所有的数据包(pkt(x,1...n))均被所有接收方应答,则认为msg(x)被应答,将cwnd加1,ssthresh重置为cwnd的值的0.75倍,跳转执行A1。
由上可知,本实施例可有效提高消息为单位的一对多通信模式的数据传输效率,简单易于实现。
本发明实施例还针对拥塞控制方法提供了相应的装置,进一步使得方法更具有实用性。其中,装置可从功能模块的角度和硬件的角度分别说明。下面对本发明实施例提供的拥塞控制装置进行介绍,下文描述的拥塞控制装置与上文描述的拥塞控制方法可相互对应参照。
基于功能模块的角度,参见图4,图4为本发明实施例提供的拥塞控制装置在一种具体实施方式下的结构图,该装置可包括:
状态判断模块401,用于基于当前时刻的数据包允许发送个数、慢启动阈值和应答报文接收情况,判断发送方与多个接收方的数据传输状态处于慢启动阶段、拥塞控制阶段或快速恢复阶段;
发送参数调整模块402,用于当处于慢启动阶段,每当检测到存在应答报文,则增加数据包允许发送个数;当处于拥塞控制阶段,每当检测到存在所有数据包均被应答的目标消息,则增加数据包允许发送个数,同时基于调整后的数据包允许发送个数重新设置慢启动阈值;当处于快速恢复阶段,基于预设初始值重置数据包允许发送个数和慢启动阈值;其中,慢启动阶段表示数据发送速度小于预设速度阈值;拥塞控制阶段用于表示进行拥塞控制处理;快速恢复阶段用于表示出现丢包现象。
可选的,在本实施例的一些实施方式中,上述状态判断模块401可进一步用于:若数据包允许发送个数小于慢启动阈值,则发送方与多个接收方的数据传输状态处于慢启动阶段;若数据包允许发送个数大于等于慢启动阈值,则发送方与多个接收方的数据传输状态处于拥塞控制阶段;若在预设时间段内没有检测到应答报文,则发送方与多个接收方的数据传输状态处于快速恢复阶段。
作为上述实施例的一种可选的实施方式,上述发送参数调整模块402还可用于:调整数据包允许发送个数为当前时刻的数据包允许发送个数+1。
作为上述实施例的另一种可选的实施方式,上述发送参数调整模块402可进一步用于:调整数据包允许发送个数为当前时刻的数据包允许发送个数+1,同时将0.75*调整后数据包允许发送个数的取整结果作为慢启动阈值的更新值。
作为上述实施例的另一种可选的实施方式,上述发送参数调整模块402还可进一步用于:当数据包允许发送个数小于慢启动阈值,则将数据包允许发送个数调整为初始窗口值,将慢启动阈值调整为初始启动值;当数据包允许发送个数大于等于慢启动阈值,则将数据包允许发送个数的数值调整为慢启动阈值的数值;其中,慢启动阈值大于初始窗口值。
可选的,在本实施例的另一些实施方式中,上述装置例如还可保证数据发送模块,用于当检测到存在待发送数据包,根据当前时刻的数据包允许发送个数与已发送数据包个数,从所有待被应答的数据包中选择相应个数、且未被发送过的目标数据包进行发送。
本发明实施例拥塞控制装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例可有效提高基于以太网的一对多通信方式的数据传输效率。
上文中提到的拥塞控制装置是从功能模块的角度描述,进一步的,本申请还提供一种电子设备,是从硬件角度描述。图5为本申请实施例提供的电子设备在一种实施方式下的结构示意图。如图5所示,该电子设备包括存储器50,用于存储计算机程序;处理器51,用于执行计算机程序时实现如上述任一实施例提到的拥塞控制方法的步骤。
其中,处理器51可以包括一个或多个处理核心,比如4核心处理器、8核心处理器,处理器51还可为控制器、微控制器、微处理器或其他数据处理芯片等。处理器51可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable GateArray,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器51也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器51可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器51还可以包括AI(ArtificialIntelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器50可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器50还可包括高速随机存取存储器以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。存储器50在一些实施例中可以是电子设备的内部存储单元,例如服务器的硬盘。存储器50在另一些实施例中也可以是电子设备的外部存储设备,例如服务器上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器50还可以既包括电子设备的内部存储单元也包括外部存储设备。存储器50不仅可以用于存储安装于电子设备的应用软件及各类数据,例如:执行拥塞控制方法过程中的程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。本实施例中,存储器50至少用于存储以下计算机程序501,其中,该计算机程序被处理器51加载并执行之后,能够实现前述任一实施例公开的拥塞控制方法的相关步骤。另外,存储器50所存储的资源还可以包括操作系统502和数据503等,存储方式可以是短暂存储或者永久存储。其中,操作系统502可以包括Windows、Unix、Linux等。数据503可以包括但不限于数据传输结果对应的数据等。
在一些实施例中,上述电子设备还可包括有显示屏52、输入输出接口53、通信接口54或者称为网络接口、电源55以及通信总线56。其中,显示屏52、输入输出接口53比如键盘(Keyboard)属于用户接口,可选的用户接口还可以包括标准的有线接口、无线接口等。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。通信接口54可选的可以包括有线接口和/或无线接口,如WI-FI接口、蓝牙接口等,通常用于在电子设备与其他电子设备之间建立通信连接。通信总线56可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extendedindustry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本领域技术人员可以理解,图5中示出的结构并不构成对该电子设备的限定,可以包括比图示更多或更少的组件,例如还可包括实现各类功能的传感器57。
本发明实施例所述电子设备的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例可有效提高基于以太网的一对多通信方式的数据传输效率。
可以理解的是,如果上述实施例中的拥塞控制方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电可擦除可编程ROM、寄存器、硬盘、多媒体卡、卡型存储器(例如SD或DX存储器等)、磁性存储器、可移动磁盘、CD-ROM、磁碟或者光盘等各种可以存储程序代码的介质。
基于此,本发明实施例还提供了一种可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时如上任意一实施例所述拥塞控制方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的硬件包括装置及电子设备而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本申请所提供的一种拥塞控制方法、装置、电子设备及可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (9)
1.一种拥塞控制方法,其特征在于,包括:
基于当前时刻的数据包允许发送个数、慢启动阈值和应答报文接收情况,判断发送方与多个接收方的数据传输状态处于慢启动阶段、拥塞控制阶段或快速恢复阶段;
当处于所述慢启动阶段,每当检测到存在应答报文,则增加所述数据包允许发送个数;
当处于所述拥塞控制阶段,每当检测到存在所有数据包均被应答的目标消息,则增加所述数据包允许发送个数,同时基于调整后的数据包允许发送个数重新设置所述慢启动阈值;
当处于所述快速恢复阶段,基于预设初始值重置所述数据包允许发送个数和所述慢启动阈值;
其中,所述慢启动阶段表示数据发送速度小于预设速度阈值;所述拥塞控制阶段表示进行拥塞控制处理;所述快速恢复阶段表示出现丢包现象;所述基于预设初始值重置所述数据包允许发送个数和所述慢启动阈值,包括:
当所述数据包允许发送个数小于所述慢启动阈值,则将所述数据包允许发送个数调整为初始窗口值,将所述慢启动阈值调整为初始启动值;所述慢启动阈值大于所述初始窗口值;
当所述数据包允许发送个数大于等于所述慢启动阈值,则将所述数据包允许发送个数的数值调整为所述慢启动阈值的数值。
2.根据权利要求1所述的拥塞控制方法,其特征在于,所述基于当前时刻的数据包允许发送个数、慢启动阈值和应答报文接收情况,判断发送方与多个接收方的数据传输状态处于慢启动阶段、拥塞控制阶段或快速恢复阶段,包括:
若数据包允许发送个数小于慢启动阈值,则发送方与多个接收方的数据传输状态处于慢启动阶段;
若所述数据包允许发送个数大于等于所述慢启动阈值,则所述发送方与多个接收方的数据传输状态处于拥塞控制阶段;
若在预设时间段内没有检测到应答报文,则所述发送方与多个接收方的数据传输状态处于快速恢复阶段。
3.根据权利要求2所述的拥塞控制方法,其特征在于,所述增加所述数据包允许发送个数,包括:
调整所述数据包允许发送个数为当前时刻的数据包允许发送个数+1。
4.根据权利要求2所述的拥塞控制方法,其特征在于,所述增加所述数据包允许发送个数,同时基于调整后的数据包允许发送个数重新设置所述慢启动阈值,包括:
调整所述数据包允许发送个数为当前时刻的数据包允许发送个数+1,同时将0.75*调整后数据包允许发送个数的取整结果作为所述慢启动阈值的更新值。
5.根据权利要求1至4任意一项所述的拥塞控制方法,其特征在于,所述基于当前时刻的数据包允许发送个数、慢启动阈值和应答报文接收情况,判断发送方与多个接收方的数据传输状态处于慢启动阶段、拥塞控制阶段或快速恢复阶段之后,还包括:
当检测到存在待发送数据包,根据当前时刻的数据包允许发送个数与已发送数据包个数,从所有待被应答的数据包中选择相应个数、且未被发送过的目标数据包进行发送。
6.一种拥塞控制装置,其特征在于,包括:
状态判断模块,用于基于当前时刻的数据包允许发送个数、慢启动阈值和应答报文接收情况,判断发送方与多个接收方的数据传输状态处于慢启动阶段、拥塞控制阶段或快速恢复阶段;
发送参数调整模块,用于当处于所述慢启动阶段,每当检测到存在应答报文,则增加所述数据包允许发送个数;当处于所述拥塞控制阶段,每当检测到存在所有数据包均被应答的目标消息,则增加所述数据包允许发送个数,同时基于调整后的数据包允许发送个数重新设置所述慢启动阈值;当处于所述快速恢复阶段,基于预设初始值重置所述数据包允许发送个数和所述慢启动阈值;其中,所述慢启动阶段表示数据发送速度小于预设速度阈值;所述拥塞控制阶段用于表示进行拥塞控制处理;所述快速恢复阶段用于表示出现丢包现象;
其中,所述发送参数调整模块进一步用于:当所述数据包允许发送个数小于所述慢启动阈值,则将所述数据包允许发送个数调整为初始窗口值,将所述慢启动阈值调整为初始启动值;所述慢启动阈值大于所述初始窗口值;当所述数据包允许发送个数大于等于所述慢启动阈值,则将所述数据包允许发送个数的数值调整为所述慢启动阈值的数值。
7.根据权利要求6所述的拥塞控制装置,其特征在于,所述状态判断模块进一步用于:
若数据包允许发送个数小于慢启动阈值,则发送方与多个接收方的数据传输状态处于慢启动阶段;
若所述数据包允许发送个数大于等于所述慢启动阈值,则所述发送方与多个接收方的数据传输状态处于拥塞控制阶段;
若在预设时间段内没有检测到应答报文,则所述发送方与多个接收方的数据传输状态处于快速恢复阶段。
8.一种电子设备,其特征在于,包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现如权利要求1至5任一项所述拥塞控制方法的步骤。
9.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述拥塞控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210525765.1A CN114629856B (zh) | 2022-05-16 | 2022-05-16 | 拥塞控制方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210525765.1A CN114629856B (zh) | 2022-05-16 | 2022-05-16 | 拥塞控制方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114629856A true CN114629856A (zh) | 2022-06-14 |
CN114629856B CN114629856B (zh) | 2022-07-26 |
Family
ID=81907288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210525765.1A Active CN114629856B (zh) | 2022-05-16 | 2022-05-16 | 拥塞控制方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114629856B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174477A (zh) * | 2022-06-29 | 2022-10-11 | 无锡芯光互连技术研究院有限公司 | 一种基于优先级流量控制的拥塞控制方法及系统 |
CN115174478A (zh) * | 2022-07-27 | 2022-10-11 | 深圳星云智联科技有限公司 | 一种网络拥塞控制方法及相关装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101188473A (zh) * | 2007-12-20 | 2008-05-28 | 上海交通大学 | 无线自组织网络中的传输层发送速率自适应调整方法 |
CN101369877A (zh) * | 2007-12-27 | 2009-02-18 | 华为技术有限公司 | 无线传输控制协议处理方法和设备 |
WO2015078491A1 (en) * | 2013-11-26 | 2015-06-04 | Telefonaktiebolaget L M Ericsson (Publ) | Controlling a transmission control protocol congestion window size |
CN107800642A (zh) * | 2016-08-31 | 2018-03-13 | 北京金山云网络技术有限公司 | 一种拥塞控制方法及装置 |
CN110740098A (zh) * | 2018-07-18 | 2020-01-31 | 云南电网有限责任公司 | 一种针对空间数据通信的拥塞控制算法 |
CN110784417A (zh) * | 2018-07-31 | 2020-02-11 | 阿里巴巴集团控股有限公司 | 拥塞控制方法、设备及系统 |
CN114302451A (zh) * | 2021-12-31 | 2022-04-08 | 网络通信与安全紫金山实验室 | 一种数据传输方法、系统和存储介质 |
-
2022
- 2022-05-16 CN CN202210525765.1A patent/CN114629856B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101188473A (zh) * | 2007-12-20 | 2008-05-28 | 上海交通大学 | 无线自组织网络中的传输层发送速率自适应调整方法 |
CN101369877A (zh) * | 2007-12-27 | 2009-02-18 | 华为技术有限公司 | 无线传输控制协议处理方法和设备 |
WO2015078491A1 (en) * | 2013-11-26 | 2015-06-04 | Telefonaktiebolaget L M Ericsson (Publ) | Controlling a transmission control protocol congestion window size |
CN107800642A (zh) * | 2016-08-31 | 2018-03-13 | 北京金山云网络技术有限公司 | 一种拥塞控制方法及装置 |
CN110740098A (zh) * | 2018-07-18 | 2020-01-31 | 云南电网有限责任公司 | 一种针对空间数据通信的拥塞控制算法 |
CN110784417A (zh) * | 2018-07-31 | 2020-02-11 | 阿里巴巴集团控股有限公司 | 拥塞控制方法、设备及系统 |
CN114302451A (zh) * | 2021-12-31 | 2022-04-08 | 网络通信与安全紫金山实验室 | 一种数据传输方法、系统和存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174477A (zh) * | 2022-06-29 | 2022-10-11 | 无锡芯光互连技术研究院有限公司 | 一种基于优先级流量控制的拥塞控制方法及系统 |
CN115174477B (zh) * | 2022-06-29 | 2024-04-05 | 无锡芯光互连技术研究院有限公司 | 一种基于优先级流量控制的拥塞控制方法及系统 |
CN115174478A (zh) * | 2022-07-27 | 2022-10-11 | 深圳星云智联科技有限公司 | 一种网络拥塞控制方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114629856B (zh) | 2022-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114629856B (zh) | 拥塞控制方法、装置、电子设备及可读存储介质 | |
US10462707B2 (en) | Data transmission method and apparatus | |
KR101213158B1 (ko) | 에너지 기반 경로 설정 장치 및 방법 | |
CN101800699A (zh) | 一种丢弃报文的方法及装置 | |
CN104980257B (zh) | 物联网通讯方法及装置 | |
CN113721966B (zh) | 节点升级方法、装置、存储介质及电子装置 | |
CN102694631B (zh) | 一种用于控制数据传输的方法和装置 | |
CN114844842A (zh) | 数据传输方法、装置、电子设备及可读存储介质 | |
EP1788756B1 (en) | Apparatus and method for transmitting packets in wireless network | |
CN110708234A (zh) | 消息发送的处理方法、消息发送的处理装置及存储介质 | |
EP3264851B1 (en) | Data transmission method and device for data service | |
CN109756464B (zh) | 一种通信方法及服务器、客户端 | |
CN117014379A (zh) | 码率控制方法、装置、电子设备和存储介质 | |
CN104702531A (zh) | 一种网络设备拥塞避免的方法及网络设备 | |
CN114337942B (zh) | 一种报文重传方法、装置及电子设备 | |
CN113485857B (zh) | 消息处理方法、装置、电子设备及存储介质 | |
EP1643672A2 (en) | Method and apparatus for transmitting wireless data by changing transmission rate dynamically | |
CN104243447A (zh) | 一种基于Netfilter防火墙的数据流处理方法及装置 | |
CN113765703A (zh) | 智能网关的数据传输切换控制方法和系统 | |
CN108111431B (zh) | 业务数据发送方法、装置、计算设备及计算机可读存储介质 | |
CN117938980B (zh) | 应用于内容分发网络的数据传输方法、装置、设备及介质 | |
CN113316101B (zh) | 短信发送方法、短信发送装置、短信发送设备及存储介质 | |
CN108924200B (zh) | 一种报文处理方法及装置 | |
CN110830308B (zh) | 一种切换通信链路的方法及接收端 | |
CN111953445B (zh) | Harq-ack反馈模式的设置方法、装置和用户设备 |
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 |