数据发送的控制方法及装置及计算机系统.pdf

上传人:a2 文档编号:4298367 上传时间:2018-09-13 格式:PDF 页数:29 大小:6.96MB
返回 下载 相关 举报
摘要
申请专利号:

CN201210204543.6

申请日:

2012.06.20

公开号:

CN102752076A

公开日:

2012.10.24

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04L 1/00申请日:20120620|||公开

IPC分类号:

H04L1/00; H04L12/56

主分类号:

H04L1/00

申请人:

华为技术有限公司

发明人:

扶柏成; 曾邵阳

地址:

518129 广东省深圳市龙岗区坂田华为总部办公楼

优先权:

专利代理机构:

广州三环专利代理有限公司 44202

代理人:

郝传鑫;熊永强

PDF下载: PDF下载
内容摘要

本发明涉及通信领域,公开了一种数据发送的数据发送的控制方法及装置及计算机系统。控制方法包括检测各连接当前的拥塞参数;确定各连接的发送窗口的大小;如果任一连接当前的拥塞参数小于本连接的拥塞参数上限,则判定连接当前处于非拥塞状态,在当前控制周期内,按照连接的发送窗口的大小发送连接的数据,返回步骤:检测各连接当前的拥塞参数;如果任一连接当前的拥塞参数等于或者大于本连接的拥塞参数上限,则判定连接当前处于拥塞状态,在当前控制周期内,分别按照连接的拥塞窗口的大小发送连接的数据,返回步骤:检测各连接当前的拥塞参数。,应用该技术方案有利于提高数据发送的稳定性,提高带宽利用率。

权利要求书

1.一种数据发送的控制方法,其特征在于,包括:检测各连接当前的拥塞参数;确定各所述连接的发送窗口的大小;分别比较各所述连接当前的所述拥塞参数与各所述连接的拥塞参数上限的大小;如果任一所述连接当前的所述拥塞参数小于本所述连接的拥塞参数上限,则判定所述连接当前处于非拥塞状态,在当前控制周期内,按照所述连接的发送窗口的大小发送所述连接的数据,返回步骤:检测各连接当前的拥塞参数;如果任一所述连接当前的所述拥塞参数等于或者大于本所述连接的拥塞参数上限,则判定所述连接当前处于拥塞状态,在当前所述控制周期内,分别按照所述连接的拥塞窗口的大小发送所述连接的所述数据,返回步骤:检测各连接当前的拥塞参数。2.根据权利要求1所述的一种数据发送的控制方法,其特征在于,在步骤:判定所述连接当前处于拥塞状态之后,在步骤:在当前所述控制周期内,分别按照所述连接的拥塞窗口发送所述连接的所述数据之前,还包括:比较所述连接在当前所述控制周期的拥塞窗口的大小与所述连接的预定的门限的大小,各所述连接的预定的门限分别小于各所述连接的发送窗口的大小;如果所述连接在当前所述控制周期的拥塞窗口的大小等于或者大于所述连接的预定的门限,则,跳转执行步骤:在当前控制周期内,按照所述连接的发送窗口的大小发送所述连接的数据;如果所述连接在当前所述控制周期的拥塞窗口的大小小于所述连接的预定的门限,则执行所述步骤:在当前所述控制周期内,按照所述连接的拥塞窗口大小发送所述连接的所述数据。3.根据权利要求1或2所述的一种数据发送的控制方法,其特征在于,确定各所述连接的发送窗口的大小,具体包括:根据当前网络发送设备上所述连接的总数,分别确定各所述连接的发送窗口的大小。4.根据权利要求1或2所述的一种数据发送的控制方法,其特征在于,确定各所述连接的发送窗口的大小,具体包括:获取所述网络发送设备的出口目标带宽,所述出口目标带宽为预设值或者估算值;根据所述出口目标带宽,分别确定各所述连接的发送窗口的大小。5.根据权利要求4所述的一种数据发送的控制方法,其特征在于,在根据所述出口目标带宽,分别确定各所述连接的发送窗口的大小之前还包括:确定当前网络发送设备上所述连接的总数;根据所述出口目标带宽,分别确定各所述连接的发送窗口的大小,具体是:根据所述连接的总数以及所述出口目标带宽,分别确定各所述连接的发送窗口的大小。6.根据权利要求5所述的一种数据发送的控制方法,其特征在于,其中,所述发送窗口的大小与所述连接的总数成反比,与所述出口目标带宽成正比。7.根据权利要求1或2所述的一种数据发送的控制方法,其特征在于,确定各所述连接的发送窗口的大小,具体包括:根据各所述连接当前待发送的数据量、各所述连接在上一控制周期的实际发送速度、以及各所述连接在上一控制周期的数据缓冲区的待发送的数据的变化量,确定各所述连接的发送窗口的大小。8.根据权利要求1或2所述的一种数据发送的控制方法,其特征在于,确定各所述连接的发送窗口的大小,具体包括:根据当前网络发送设备上所述连接的总数以及所述网络发送设备的出口目标带宽,确定各所述连接的基础发送窗口的大小,根据各所述连接当前待发送的数据量、各所述连接在上一控制周期的实际发送速度、以及各所述连接在上一控制周期的数据缓冲区的待发送的数据的变化量,确定各所述连接的调整窗口的大小;根据各所述基础发送窗口的大小以及各所述调整窗口的大小,按照函数式:W=Wb+Wr,确定各所述发送窗口的大小:其中,所述W为各所述连接的所述发送窗口的大小,所述Wb为所述各所述连接的所述基础发送窗口的大小,所述Wr分别为各所述连接的所述调整窗口的大小,所述Wr>-Wb,所述Wb>0。9.根据权利要求8所述的一种数据发送的控制方法,其特征在于,根据当前网络发送设备上所述连接的总数,确定各所述基础发送窗口的大小,具体为:根据所述连接的总数、所述出口目标带宽、带宽增幅系数以及带宽降额系数,确定各所述基础发送窗口的大小;其中,当所述网络发送设备数据发送的拥塞参数小于第一上限时,所述带宽增幅系数带宽增幅系数为随所述网络发送设备数据发送的拥塞参数增大的系数,所述第一上限为所述网络发送设备的发送拥塞参数上限,并且,在当前处于拥塞状态的所述连接的总数小于预定的第二上限时,所述带宽降额系数为1,在当前处于拥塞状态的所述连接的总数等于或者大于所述第二上限时,所述带宽降额系数为小于1的任一小数,所述第二上限为当前处于拥塞状态的连接的总数的上限值。10.根据权利要求9所述的一种数据发送的控制方法,其特征在于,在当前处于拥塞状态的所述连接的总数等于或者大于所述第二上限时,所述带宽降额系数为:随当前处于拥塞状态的所述连接的总数变化的变量参数:所述当前处于拥塞状态的连接的总数越大,所述带宽降额系数越小。11.根据权利要求10所述的一种数据发送的控制方法,其特征在于,所述带宽降额系数为:随当前处于拥塞状态的所述连接的总数变化的变量参数:所述当前处于拥塞状态的连接的总数越大,所述带宽降额系数越小,具体根据以下函数式确定所述带宽降额系数:所述其中,所述α1为:所述带宽降额系数;所述n为:当前处于拥塞状态的连接的总数,所述N0为所述第二上限,所述N0<N1<N2<Ni-1<Ni,1>A1>A2>Ai-1>Ai,所述i为自然数。12.根据权利要求10所述的一种数据发送的控制方法,其特征在于,根据当前网络发送设备上所述连接的总数,确定各所述连接的基础发送窗口的大小,具体是:按照以下函数式确定所述基础发送窗口的大小;其中,所述Wb为所述基础发送窗口的大小;所述ρ为带宽增幅系数;所述a1为:所述带宽降额系数;所述ρ.α1≤1;β为:预设的基本窗口参数,所述B为:各所述连接共同的干链路的发送目标带宽估算值,所述T为:各所述连接的控制周期,所述N为:当前所述连接的总数。13.根据权利要求8所述的一种数据发送的控制方法,其特征在于,所述基础发送窗口的大小还与所述带宽增幅系数、带宽降额系数分别成正比。14.根据权利要求10所述的数据发送的控制方法,其特征在于,各所述连接的所述调整窗口的大小分别与各所述连接的当前待发送的数据量、各所述连接在上一控制周期的实际发送速度、各所述连接在上一控制周期的数据缓冲区的待发送的数据的变化量,分别成正比。15.根据权利要求14所述的数据发送的控制方法,其特征在于,根据各所述连接当前的数据填充率、各所述连接在上一控制周期的实际发送速度、以及各所述连接在上一控制周期的数据缓冲区的待发送的数据的变化量,确定各所述连接的调整窗口,具体是:按照函数式Wri=α2.Wri-1.L+γ.(ΔLi-ΔLo).Vi-1,确定各所述调整窗口的大小:其中,所述Wri为:各所述连接在第i控制周期的调整窗口的大小,所述α2、γ分别为:预设的常数,所述L为:各所述连接当前的待发送的数据量,所述ΔLi为:各所述连接的发送缓冲区在第(i-1)控制周期的数据输入量,所述ΔLo为:各所述连接的发送缓冲区在第(i-1)控制周期的数据输出量,所述(ΔLi-ΔLo)为:在第(i-1)控制周期的数据缓冲区的待发送的数据的变化量,所述Vi-1为:各所述连接在第(i-1)控制周期的实际发送速度。16.根据权利要求15所述的数据发送的控制方法,其特征在于,各所述连接当前待发送的数据量采用:各所述连接的发送缓冲区中当前待发送的数据量与本所述连接的发送缓冲区总大小的比值表示。17.一种数据发送控制装置,其特征在于,所述数据发送控制装置用于控制网络发送设备的数据发送,所述数据发送控制装置包括:检测单元,用于实时检测所述网络发送设备的各连接,获取各所述连接当前的拥塞参数;第一比较单元,与所述检测单元连接,用于在所述检测单元获取各所述连接当前的拥塞参数后,比较各所述拥塞参数与本所述连接的拥塞参数上限的大小,将比较结果发送至发送控制单元;发送窗口确定单元,用于确定各所述连接在当前控制周期发送窗口的大小;拥塞窗口确定单元,用于在任一所述连接当前的所述拥塞参数等于或者大于本所述连接的所述拥塞参数上限时,确定各所述连接在当前所述控制周期的拥塞窗口的大小;所述发送控制单元,与所述第一比较单元、发送窗口确定单元、拥塞窗口确定单元分别连接,用于根据所述第一比较单元的比较结果,控制所述网络发送设备各所述连接在各所述控制周期的数据发送,具体用于:如果任一所述连接当前的所述拥塞参数小于本所述连接的拥塞参数上限,则判定所述连接当前处于非拥塞状态,在当前所述控制周期内,按照所述连接的发送窗口的大小发送所述连接的数据;如果任一所述连接当前的所述拥塞参数等于或者大于本所述连接的拥塞参数上限,则判定所述连接当前处于拥塞状态,在当前所述控制周期内,分别按照所述连接的拥塞窗口发送所述连接的所述数据。18.根据权利要求17所述的数据发送控制装置,其特征在于,还包括:第二比较单元,与所述发送控制单元连接,用于在所述发送控制单元判定任一所述连接当前处于拥塞状态时,比较所述连接在当前所述控制周期的拥塞窗口的大小与所述连接的预定的门限的大小,将比较结果发送至所述发送控制单元,其中各所述连接的预定的门限分别小于各所述连接的发送窗口的大小;所述发送控制单元还用于:当所述第二比较单元判定所述连接的所述拥塞窗口的大小等于或者大于所述连接的预定的门限时控制所述网络发送设备上所述连接的数据发送:在当前所述控制周期内,按照所述连接的发送窗口的大小发送所述连接的数据,当所述第二比较单元判定所述连接的所述拥塞窗口的大小小于所述连接的预定的门限时控制所述网络发送设备上所述连接的数据发送:在当前所述控制周期内,按照所述连接的拥塞窗口的大小发送所述连接的数据。19.根据权利要求17或18所述的数据发送控制装置,其特征在于,还包括:连接总数确定单元,用于定时检测获取所述网络发送设备当前的所述连接的总数,将所述网络发送设备当前的所述连接的总数发送至所述发送窗口确定单元;所述发送窗口确定单元具体用于根据当前网络发送设备上所述连接的总数以及所述网络设备的出口目标带宽,确定各所述连接在当前所述控制周期所述发送窗口的大小。20.根据权利要求17或18所述的数据发送控制装置,其特征在于,还包括:连接总数确定单元,用于获取所述网络发送设备当前所述连接的总数;所述发送窗口确定单元包括:基础发送窗口确定单元,用于根据当前网络发送设备的所述连接的总数以及所述网络设备的出口目标带宽,分别确定各所述连接在当前所述控制周期基础发送窗口的大小,调整窗口确定子单元,用于根据各所述连接当前待发送的数据量、各所述连接在上一控制周期的实际发送速度、以及各所述连接在上一控制周期的数据缓冲区的待发送的数据的变化量,分别确定各所述连接在当前所述控制周期调整窗口的大小;调整子单元,用于根据各所述基础发送窗口的大小以及各所述调整窗口的大小,按照函数式:W=Wb+Wr,确定各所述连接在当前所述控制周期所述发送窗口的大小;其中,所述W为各所述连接在当前所述控制周期所述发送窗口的大小,所述Wb为所述各所述连接的基础发送窗口的大小,所述Wr分别为各所述连接的调整窗口的大小,所述Wr>-Wb,所述Wb>0。21.根据权利要求20所述的数据发送控制装置,其特征在于,还包括:网络拥塞参数确定单元,用于确定所述网络发送设备当前数据发送的拥塞参数;第四比较单元,与所述网络拥塞参数确定单元连接,用于比较所述网络发送设备当前数据发送的拥塞参数与第一上限的大小,将比较结果发送至带宽增幅系数确定单元,其中所述第一上限为所述网络发送设备的发送拥塞参数上限;带宽增幅系数确定单元,与所述第四比较单元以及所述网络拥塞参数确定单元连接,用于根据所述网络发送设备数据发送的拥塞参数以及所述第四比较单元的比较结果确定所述带宽增幅系数,当所述网络发送设备数据发送的拥塞参数小于所述第一上限时,所述带宽增幅系数为随所述网络发送设备数据发送的拥塞参数增大的系数;带宽降额系数确定单元,与所述发送控制单元连接,用于根据所述当前处于拥塞状态的连接的总数确定所述带宽降额系数,如果当前处于拥塞状态的所述连接的总数小于预定的第二上限时,所述带宽降额系数为1,如果当前处于拥塞状态的所述连接的总数等于或者大于所述第二上限时,所述带宽降额系数为小于1的任一小数;所述基础发送窗口确定单元具体用于根据所述连接的总数、带宽增幅系数以及带宽降额系数,确定各所述连接的所述基础发送窗口的大小。22.根据权利要求21所述的数据发送控制装置,其特征在于,还包括:存储单元,存储有带宽降额系数映射关系表,所述带宽降额系数映射关系表中存储有所述带宽降额系数与所述当前处于拥塞状态的连接的总数的对应关系,所述对应关系是:所述其中,所述a1为:所述带宽降额系数;所述n为:当前处于拥塞状态的连接的总数,所述N0为所述第二上限,所述N0<N1<N2<Ni-1<Ni,1>A1>A2>Ai-1>Ai,所述i为自然数;带宽降额系数确定单元,与所述存储单元连接,具体用于查询所述存储单元中的所述带宽降额系数映射关系表,确定所述带宽降额系数。23.根据权利要求21所述的一种数据发送的控制装置,其特征在于,所述基础发送窗口确定单元用于根据当前网络发送设备上所述连接的总数,确定各所述连接的基础发送窗口的大小,具体是:用于按照函数式分别确定各所述连接的基础发送窗口的大小:其中,所述Wb为所述基础发送窗口的大小;所述β为:预设的基本窗口参数,所述B为:各所述连接共同的干链路的发送目标带宽估算值,所述T为:各所述连接的控制周期,所述N为:当前所述连接的总数。24.根据权利要求20所述的一种数据发送的控制装置,其特征在于,所述调整窗口确定子单元用于根据各所述连接当前待发送的数据量、各所述连接在上一控制周期的实际发送速度、以及各所述连接在上一控制周期的数据缓冲区的待发送的数据的变化量,确定各所述连接的调整窗口,具体是:用于按照函数式Wri=α2.Wri-1.L+γ.(ΔLi-ΔLo).Vi-1,分别计算确定各所述连接的调整窗口的大小;其中,所述Wri为:各所述连接在第i控制周期的调整窗口的大小,所述α2、γ分别为:预设的常数,所述L为:各所述连接当前的待发送的数据量,所述ΔLi为:各所述连接的发送缓冲区在第(i-1)控制周期的数据输入量,所述ΔLo为:各所述连接的发送缓冲区在第(i-1)控制周期的数据输出量,所述(ΔLi-ΔLo)为:在第(i-1)控制周期的数据缓冲区的待发送的数据的变化量,所述Vi-1为:各所述连接在第(i-1)控制周期的实际发送速度。25.一种计算机系统,其特征在于,包括:总线;与所述总线相连的处理器;与所述总线相连的存储器;其中,所述处理器通过所述总线,调用所述存储器中存储的代码,以用于:检测各连接当前的拥塞参数;确定各所述连接的发送窗口的大小;分别比较各所述连接当前的所述拥塞参数与各所述连接的拥塞参数上限的大小;如果任一所述连接当前的所述拥塞参数小于本所述连接的拥塞参数上限,则判定所述连接当前处于非拥塞状态,在当前控制周期内,按照所述连接的发送窗口的大小发送所述连接的数据,返回步骤:检测各连接当前的拥塞参数;如果任一所述连接当前的所述拥塞参数等于或者大于本所述连接的拥塞参数上限,则判定所述连接当前处于拥塞状态,在当前所述控制周期内,分别按照所述连接的拥塞窗口的大小发送所述连接的所述数据,返回步骤:检测各连接当前的拥塞参数。

说明书

数据发送的控制方法及装置及计算机系统

技术领域

本发明涉及通信领域,特别涉及一种数据发送的控制方法及装置及计算
机系统。

背景技术

随着通信技术的发展,数据传输是目前通信网络的重要组成业务,在网
络中,通过网络发送设备完成数据的发送,而在网络拓扑中一个网络发送设
备往往与多个对端连接,一个网络发送设备执行多个连接的数据发送业务。

图1为常见的在一带宽受限的网络链路上实现多个连接的数据传输系统
结构示意图,参见图1所示,网络发送设备(又称为根主机101)与对端(又
称为叶主机102)连接,根主机101到各叶主机102之间通过共享干链路103
(该干链路103相对于各连接而言为瓶颈链路)以及广域网104
((WideAreaNetwork,简称WAN)连接,根主机101到各叶主机102之间存
在复数个连接,这些连接共享干链路103的带宽。

传输控制(TransmissionControlProtocol,简称广泛应用于数据传输网络,
TCP协议为应用层提供流的可靠的数据传输服务的技术,目前互联网中的绝
大多数的数据通过TCP协议进行传输。

以TCP网络为例,在TCP网络中对数据发送控制主要是,发送端根据
TCP协议中的确认报文(Acknowledgment,简称ACK)估算各连接的数据的
丢包情况以及发送延时情况,发送端一旦检测到发生丢包或者发生延时时,
则启动拥塞控制策略,按照拥塞窗口发送各连接的数据,达到拥塞控制的目
的。

在研究本发明技术方案的过程中,本发明人发现现有技术至少存在以下
的缺点:

第一:现有技术网络发送设备根据接收端反馈ACK报文通过ACK报文
中确定信号估算本连接的数据是否丢包以及是否延时超过预定范围,而网络
传输本身存在延时性,很可能当前未收到ACK反馈信号的数据当前实际处于
网络传输途中且在一定时间后将有效到达接收端;而发送端在预定时间内未
收到该数据的ACK反馈报文时,会判定该数据丢包而启动拥塞控制,导致网
络中由于该丢包发生情况的误判断而网络发送速度大幅度下降,不利于数据
的传输和带宽的有效利用。

第二:特别地,在网络传输时延较大的长肥管道网络中,由于网络传输
存在较大的时延性,发送端根据接收端反馈的ACK报文而很有可能将大部分
还在传输过程中的数据而误判为未成功发送的数据,而导致较高的丢包率误
判,而上述的发送速度控制会因为偶发性丢包或者丢包率误判而导致网络中
数据发送存在较大的震荡,而影响数据的发送。

第三:现有技术的拥塞控制为根据接收端的ACK反馈确认信息而对下一
控制周期的发送进行控制,其控制存在较大的滞后性。并且,在网络中,随
时可能有新的用户加入而上述的方案一的控制方法不适用于随时变化的网
络,其适用的灵活性较差。

而实际上,在网络中某一用户当前无数据传输业务,而采用现有技术方
案无法根据当前的网络状况变化,动态为用户利用当前空闲带宽而提高当前
各连接的数据业务传输效率。

发明内容

本发明实施例第一目的在于提供一种数据发送的控制方法,应用该技术
方案有利于提高数据发送的稳定性,提高带宽利用率。

本发明实施例第二目的在于提供一种数据发送的控制装置,应用该技术
方案有利于提高数据发送的稳定性,提高带宽利用率。

本发明实施例第三目的在于提供一种计算机系统,应用该技术方案有利
于提高数据发送的稳定性,提高带宽利用率。

本发明实施例提供的一种数据发送的控制方法,包括:

检测各连接当前的拥塞参数。

确定各连接的发送窗口的大小。

分别比较各连接当前的拥塞参数与各连接的拥塞参数上限的大小:

如果任一连接当前的拥塞参数小于本连接的拥塞参数上限,则判定连接
当前处于非拥塞状态,在当前控制周期内,按照连接的发送窗口的大小发送
连接的数据,返回步骤:检测各连接当前的拥塞参数。

如果任一连接当前的拥塞参数等于或者大于本连接的拥塞参数上限,则
判定连接当前处于拥塞状态,在当前控制周期内,分别按照连接的拥塞窗口
的大小发送连接的数据,返回步骤:检测各连接当前的拥塞参数。

本发明实施例提供的一种数据发送的控制装置,数据发送控制装置用于
控制网络发送设备的数据发送,数据发送控制装置包括:

检测单元,用于实时检测网络发送设备的各连接,获取各连接当前的拥
塞参数。

第一比较单元,与检测单元连接,用于在检测单元获取各连接当前的拥
塞参数后,比较各拥塞参数与本连接的拥塞参数上限的大小,将比较结果发
送至发送控制单元。

发送窗口确定单元,用于确定各连接在当前控制周期发送窗口的大小。

拥塞窗口确定单元,用于在任一连接当前的拥塞参数等于或者大于本连
接的拥塞参数上限时,确定各连接在当前控制周期的拥塞窗口的大小。

发送控制单元,与第一比较单元、发送窗口确定单元、拥塞窗口确定单
元分别连接,用于根据第一比较单元的比较结果,控制网络发送设备各连接
在各控制周期的数据发送,具体用于:

如果任一连接当前的拥塞参数小于本连接的拥塞参数上限,则判定连接
当前处于非拥塞状态,在当前控制周期内,按照连接的发送窗口的大小发送
连接的数据。

如果任一连接当前的拥塞参数等于或者大于本连接的拥塞参数上限,则
判定连接当前处于拥塞状态,在当前控制周期内,分别按照连接的拥塞窗口
发送连接的数据。

本发明实施例提供的一种数据发送的计算机系统,包括:总线、与总线
相连的处理器、与总线相连的存储器。

其中,处理器通过总线,调用存储器中存储的代码,以用于:

检测各连接当前的拥塞参数。确定各连接的发送窗口的大小。

分别比较各连接当前的拥塞参数与各连接的拥塞参数上限的大小。

如果任一连接当前的拥塞参数小于本连接的拥塞参数上限,则判定连接
当前处于非拥塞状态,在当前控制周期内,按照连接的发送窗口的大小发送
连接的数据,返回步骤:检测各连接当前的拥塞参数。

如果任一连接当前的拥塞参数等于或者大于本连接的拥塞参数上限,则
判定连接当前处于拥塞状态,在当前控制周期内,分别按照连接的拥塞窗口
的大小发送连接的数据,返回步骤:检测各连接当前的拥塞参数。

由上可见,本实施例技术方案,由于在本实施例中网络发送设备在处理
各连接的数据发送进行各连接的数据发送控制时,只有某连接的拥塞参数达
到本连接对应的拥塞参数上限时,才对该连接执行拥塞控制算法,按照当前
的拥塞算法确定的拥塞窗口发送本连接上的数据,即降低当前连接发送窗口
的大小以及发送速度;如果某连接或者某些连接虽然当前发生了丢包但是其
拥塞参数未达到本连接对应的拥塞参数上限时,仍然按照发送窗口的大小,
发送本连接上的数据。可见,本实施例技术方案,只有当某连接的丢包情况
达到一定程度时,才对该连接执行拥塞算法控制,故采用本实施例技术方案,
有利于避免由于网络偶发性丢包而导致数据发送速度震荡过大的问题,有利
于提高数据发送的稳定性,而当某连接的丢包情况达到一定程度后,对该连
接执行拥塞算法控制,又确保了该连接的数据准确发送。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实
施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面
描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,
在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为常见在一带宽受限的网络链路上实现多个连接的数据传输系统结
构示意图;

图2为本发明实施例1提供的一种数据发送的控制方法流程示意图;

图3为本发明实施例2提供的一种数据发送的控制方法流程示意图;

图4为本发明实施例3提供的一种各连接的发送窗口的大小的计算确定
流程示意图;

图5为本发明实施例6提供的一种各连接的发送窗口的大小的计算确定
流程示意图;

图6为本发明实施例7提供的一种数据发送控制装置的结构示意图;

图7为本发明实施例8提供的一种数据发送控制装置的结构示意图;

图8为本发明实施例9提供的一种数据发送控制装置的结构示意图;

图9为本发明实施例10提供的一种数据发送控制装置的结构示意图;

图10为本发明实施例11提供的一种数据发送控制装置的结构示意图;

图11为本发明实施例12提供的一种数据发送控制装置的结构示意图;

图12为本发明实施例13提供的一种计算机系统的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行
清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而
不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作
出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1:

本实施例提供一种数据发送的控制方法,该方法适用于网络中各网络发
送设备对数据的发送控制。参见图2所示,本实施例数据发送控制方法主要
包括以下步骤:

步骤201:检测各连接当前的拥塞参数。

在本实施例中可以由网络发送设备或者与网络发送设备连接的控制装
置,实时检测本网络发送设备当前各连接的丢包情况以及时延等反应连接的
拥塞情况的参数而确定各连接当前的拥塞参数。

步骤202:确定各连接的发送窗口的大小。

在数据发送中,网络发送设备通过发送窗口的大小限定在预定的控制周
期(也称发送事件周期)内的实际发送数据量,在一个控制周期内的实际发
送数据量不得超过本连接当前对应的发送窗口的大小,即在各连接的数据发
送上,采用发送窗口的大小控制各连接的发送速度。

在本实施例中为各连接确定发送窗口的大小可以按照现有技术进行,也
可以按照本发明的进一步实施例2-10的记载。

步骤203:分别比较各连接当前的拥塞参数与本连接的拥塞参数上限的大
小。

在本实施例中各连接的拥塞参数反映了各连接的数据发送传输质量,在
本实施例中可以但不限于采用本连接的丢包率或者本连接在预定时间内的丢
包数量等表示。

在本实施例中可以由网络发送设备对各连接当前的拥塞参数与拥塞参数
上限的大小进行比较,也可以由与网络发送设备连接的控制装置执行本步骤,
然后按照以下的流程指示网络发送设备进行数据发送控制。

在本实施例中,各连接的拥塞参数上限可以为相同,也可以根据各连接
的数据业务类型,分别为各连接设置相应的拥塞参数上限。各连接的拥塞参
数上限的既可以由用户预设设定,也可以由网络发送设备或者外部的控制装
置根据预定的算法估算确定。

步骤204:如果本连接当前的拥塞参数小于本连接的拥塞参数上限,则按
照步骤205处理该连接的数据发送;如果本连接当前的拥塞参数大于或者等
于本连接的拥塞参数上限,则按照步骤206处理该连接的数据发送。

如果某个或者某几个连接当前的拥塞参数小于本连接的拥塞参数上限,
判定该连接或者这些连接当前处于非拥塞状态,否则认为该连接处于拥塞状
态。

步骤205:按照本连接确定的发送窗口的大小,发送本连接上的数据,跳
转步骤207。

如果在步骤204中判定某个或者某几个连接当前的拥塞参数小于本连接
的拥塞参数上限,则在本实施例中,判定该连接或者这些连接当前处于非拥
塞状态,则对于该连接或者这些连接,分别按照步骤202中为该连接确定的
发送窗口的大小,发送本连接上的数据。

步骤206:按照本连接的拥塞窗口,发送该连接的数据,跳转步骤207。

如果在步骤202中比较确定某连接或者某些连接当前的拥塞参数等于或
者大于各连接的拥塞参数上限,则认为该连接或者这些连接当前处于拥塞状
态,则对该连接进行拥塞控制,为该连接确定用于支持当前网络拥塞情况下
数据发送的拥塞窗口(即网络处于拥塞情况下特殊的发送窗口的大小,该拥
塞窗口在发生拥塞时往往降为极低的窗口的大小,然后随着该连接的网络发
送情况好转(即拥塞参数逐渐降低),拥塞窗口的大小逐渐增大而恢复),拥
塞窗口小于网络正常状态下的发送窗口的大小,网络发送设备以一个发送周
期的实际发送数据量不超过当前拥塞窗口的大小为限制发送该连接上的数
据。

在进行各连接的拥塞控制时,采用的拥塞控制算法(即确定各连接的拥
塞窗口的大小的技术方案)可以但不限于为现有技术中的拥塞控制算法的任
意。

步骤207:进入下一控制周期,返回步骤201。

由上可见,采用本实施例技术方案,由于在本实施例中网络发送设备在
处理各连接的数据发送进行各连接的数据发送控制时,只有某连接的拥塞参
数达到本连接对应的拥塞参数上限时,才对该连接执行拥塞控制算法,按照
当前的拥塞算法确定的拥塞窗口发送本连接上的数据,即降低当前连接发送
窗口的大小以及发送速度;如果某连接或者某些连接虽然当前发生了丢包但
是其拥塞参数未达到本连接对应的拥塞参数上限时,仍然按照发送窗口的大
小,发送本连接上的数据。可见,本实施例技术方案,只有当某连接的丢包
情况达到一定程度时,才对该连接执行拥塞算法控制,故采用本实施例技术
方案,有利于避免由于网络偶发性丢包而导致数据发送速度震荡过大的问题,
有利于提高数据发送的稳定性,而当某连接的丢包情况达到一定程度后,对
该连接执行拥塞算法控制,又确保了该连接的数据准确发送。

实施例2:

参见图3所示,本实施例提供的数据发送的控制方法与实施例1所不同
之处包括,在本实施例中数据发送的控制方法包括如下步骤:

步骤301:检测各连接当前的拥塞参数。

与实施例1中步骤201相同。

步骤302:确定各连接的发送窗口的大小。

与实施例1中步骤202相同。

步骤303:分别比较各连接当前的拥塞参数与本连接的拥塞参数上限的大
小。

与实施例1中步骤203相同。

步骤304:如果本连接当前的拥塞参数小于本连接的拥塞参数上限,则执
行步骤307;否则执行步骤305。

如果某个或者某几个连接当前的拥塞参数小于本连接的拥塞参数上限,
判定该连接或者这些连接当前处于非拥塞状态;否则认为该连接处于拥塞状
态,则执行步骤305,确定是否解除拥塞控制。

步骤305:比较连接在当前控制周期的拥塞窗口的大小与连接的预定的门
限的大小。

设连接在当前控制周期的拥塞窗口的大小为A,该连接的预定的门限为
B,则在本步骤中比较A、B的大小。

在本步骤中各连接的预定的门限可以相同也可以不同,其可以由用户根
据经验设定也可以由网络估算确定。

步骤306:如果连接在当前控制周期的拥塞窗口的大小等于或者大于连接
的预定的门限的大小,则执行步骤307;否则执行步骤308。

如果当前拥塞窗口的大小A等于或者大于连接的预定的门限B,则执行
步骤307,在当前控制周期内解除拥塞控制;否则继续进行拥塞控制。

步骤307:按照本连接确定的发送窗口的大小,发送本连接上的数据,跳
转步骤309。

与实施例1中步骤205相同。

步骤308:按照本连接的拥塞窗口,发送该连接的数据,跳转步骤309。

步骤309:进入下一控制周期,返回步骤301。

由上可见,应用本实施例技术方案除了具有实施例1所述的有益效果外,
还由于当某连接进入拥塞控制后,当某连接的拥塞窗口的大小恢复达到或者
超过该连接的预定的门限时,则对该连接停止拥塞控制,而在当前控制周期
内按照该连接的发送窗口的大小发送本连接上的数据。应用本实施例技术方
案,有利于在网络状况恢复到预定的良好程度时,快速地使该连接的数据发
送恢复到非拥塞状况时的发送(即按照该连接的发送窗口的大小发送本连接
的数据),而无需缓慢等待拥塞恢复,有利于提高网络发送速度。

实施例3:

参见图4所示,本实施例提供的一种数据发送的控制方法与实施例1、2
所不同之处在于,在本实施例中可以按照以下的技术方案确定各连接的发送
窗口的大小。该发送窗口的大小确定方法主要包括以下流程:

步骤401:检测该网络发送设备当前的连接的总数。

在本实施例中定时检测该网络发送设备当前的连接的总数(记为N),以
便在下一控制周期(记为T)时,根据当前检测确定的当前的连接的总数确定
各连接的发送窗口的大小。

步骤402:确定本网络发送设备的出口带宽目标值。

在本步骤中,出口带宽目标值B也可以由用户预先固定,也可以但不限
于由该网络发送设备或者与之连接的控制器通过计算估算确定本网络发送设
备的出口带宽目标值。

设本网络发送设备的干链路的出口带宽目标值,记为B,该网络发送设
备在当前的控制周期(记为T)的发送窗口的大小目标值为:W0=B*T。

步骤403:根据当前网络发送设备的连接的总数以及出口带宽目标值,确
定各连接的发送窗口的大小。

可以但不限于由该网络发送设备或者与之连接的控制器执行本步骤。

在本步骤中可以根据步骤201中确定的当前网络发送设备的连接的总数
N,确定各连接的发送窗口的大小。

譬如但不限于使各连接的发送窗口的大小W根据以下函数式(1)确定:

W=W0/N=B*T/N(1)。

还可以但不限于使各连接的发送窗口的大小W根据以下函数式(2)确
定:

W=£W0/N=£B*T/N(2)。

其中,£分别对应各连接的一预设系数,该系数£可以为一可计算变量也
可以为一预定的固定常数系数。

由上可见,采用上述技术方案除了具有实施例1的有益效果外,还进一
步由于本实施例在确定各连接在非拥塞情况下的发送窗口的大小时,根据本
网络发送设备当前实际连接的总数,为当前各连接确定本连接对应的发送窗
口的大小,使得能在网络发送设备侧能主动适应网络中当前实际连接的总数
的变化,根据网络发送设备当前实际连接的总数主动调整各连接的发送窗口
的大小,使对网络发送设备的数据的发送控制更加适应网络状况的实际变化,
有利于充分利用网络带宽。

实施例4:

本实施例与实施例3所不同之处在于,在本实施例的数据发送控制方法
中的发送窗口的大小的计算确定方法不同:

作为另一种优选,本实施例在根据当前连接的总数,分别确定各连接的
发送窗口的大小(记为Wb)时,还可以进一步预设一带宽增幅系数(记为ρ)
以及一带宽降额系数a1。

其中带宽增幅系数ρ的取值与网络发送设备数据发送的拥塞参数相关,
该丢包情况可以通过当前处于拥塞状态的连接的数量表示,也可以通过对所
有连接总体而言的发送数据丢包率表示。

在本实施例中,可以但不限于将带宽增幅系数ρ具体设置为:在本连接
的拥塞参数小于一预定的上限(记为第一上限)时,带宽增幅系数ρ随网络
发送设备数据发送的拥塞参数增大。

在本实施例中,带宽降额系数a1为当前处于拥塞状态的连接的总数相关,
在本实施例中将当前处于拥塞状态的连接的总数记为n,在当前的n值小于丢
包连接数的上限预定值(记为N0)时,使带宽降额系数a1为1;在当前的n
值等于或者大于丢包连接数的上限预定值N0时,使带宽降额系数a1为小于1
的小数,该小数可以为一预定的固定值,也可以为与在当前处于拥塞状态的
连接的总数n成反比的函数值(从而使n值越大,a1值越小);或者还可以根
据以下设定的函数式(3)确定a1值:


其中,N0为当前处于拥塞状态的连接的总数的上限预定值,
N0<N1<N2<Ni-1<Ni,1>A1>A2>Ai-1>Ai,i为自然数。

在本实施例中确定发送窗口的大小时,除了根据当前连接的总数确定外,
还可以进一步根据上述的带宽增幅系数ρ、带宽降额系数a1确定发送窗口的大
小。

作为本发明实施例的一种优选,可以使发送窗口的大小W与当前连接的
总数N成正比,与各连接的带宽增幅系数ρ以及a1分别成正比。譬如可以但
不限于按照以下函数式(4)计算确定各连接的发送窗口的大小W:

W = β · a 1 . B . T N * ρ - - - ( 4 ) , ]]>

其中,ρ.a1≤1,β为预设的基本窗口参数;B为各连接共同的干链路的发
送目标带宽估算值;T为控制周期;N为当前连接的总数。

由上可见,采用本实施例技术方案除了具有实施例3的有益效果外,由
于在本实施例确定各连接的发送窗口时,还进一步考虑了当前网络发送设备
的数据发送的拥塞情况,以及当前网络设备处于拥塞状态的连接总数,使本
实施例为各连接确定的发送窗口的大小更能适配当前网络状况。

实施例5:

本实施例与实施例4所不同之处在于,在本实施例的数据发送控制方法
中的发送窗口的大小的计算确定方法不同。

本实施例中,根据各连接当前待发送的数据量、各连接在上一控制周期
的实际发送速度、以及各连接在上一控制周期的数据缓冲区的待发送的数据
的变化量,确定各连接的发送窗口的大小。

将各连接当前待发送的数据量(也称数据填充率)记为L;

将该连接在上一控制周期的实际发送速度记为V;

将在上一控制周期该连接数据缓冲区的实际输入的数据总量记为ΔLi,

将在上一控制周期该连接数据缓冲区的实际输出的数据总量记为ΔLo,

则在上一控制周期,该连接数据缓冲区的待发送的数据的变化量(也称
数据填充变化量)为:(ΔLo-ΔLi)。

在本实施例中根据各连接的L、V以及(ΔLo-ΔLi),分别计算确定各连
接的发送窗口的大小。

由上可见,采用本实施例技术方案除了具有实施例1、2的有益效果外,
由于在本实施例确定各连接的发送窗口时,还进一步考虑了当前各连接的待
发送的数据量、各连接在上一控制周期的实际发送速度、以及各连接在上一
控制周期的数据缓冲区的待发送的数据的变化量,使本实施例为各连接确定
的发送窗口的大小更能符合当前各连接的数据发送状况,有利于根据实际情
况有效分配当前网络的资源。

实施例6:

本实施例与实施例3、4、5所不同之处在于,在本实施例的数据发送控
制方法中的发送窗口的大小的计算确定方法不同。

参见图5所示,本实施例提供的各连接的发送窗口的大小的计算确定流
程主要包括以下步骤:

步骤501:检测该网络发送设备当前的连接的总数。

本步骤与实施例2中步骤401同理。将当前的连接的总数(记为N)。

步骤502:估算本网络发送设备的出口带宽目标值。

将本网络发送设备的干链路的出口带宽目标值,记为B。

此时,该网络发送设备在控制周期T内的目标发送窗口的大小W0为:
W0=B*T。

步骤503:根据当前连接的总数,确定各连接的基础发送窗口的大小。

将该基础发送窗口的大小记为Wb;

在本步骤中,可以但不限于按照实施例2中发送窗口的大小的方案确定
本实施中的基础发送窗口的大小Wb。

在本实施例中,还可以但不限于按照实施例3中发送窗口的大小的方案
确定本实施例中的基础发送窗口的大小。比如:

可以按照函数式(4)确定基础发送窗口的大小Wb:

Wb = β · a 1 . B . T N * ρ - - - ( 4 ) . ]]>

步骤504:确定各连接的调整窗口的大小。

在本步骤中还增加了用于进一步调整发送窗口的大小的调整窗口(记为
Wr)。

将各连接当前待发送的数据量(也称数据填充率)记为L;

将该连接在上一控制周期的实际发送速度记为V;

将在上一控制周期该连接数据缓冲区的实际输入的数据总量记为ΔLi,

将在上一控制周期该连接数据缓冲区的实际输出的数据总量记为ΔLo,

则在上一控制周期,该连接数据缓冲区的待发送的数据的变化量(也称
数据填充变化量)为:(ΔLo-ΔLi)。

在本实施例中根据各连接的L、V以及(ΔLo-ΔLi),分别计算确定各连
接的调整窗口的大小,使得各连接的调整窗口的大小Wr与各连接的L、V以
及(ΔLo-ΔLi)分别成正比。即可以根据各连接在上一个控制周期的数据实
际发送情况确定各连接的调整窗口(其中该调整窗口Wr可以为正数也可以为
负数,并且Wr>-Wb),以使得最终根据基础发送窗口的大小以及调整窗口确
定的发送窗口的大小更能符合数据业务需要。

作为具体应用实施的一种举例,可以但不限于按照以下函数式(6)确定
该调整窗口的大小:

Wri=α2.Wri-1.L+γ.(ΔLi-ΔLo).Vi-1(6),

其中,Wri为:各所述连接在第i控制周期的调整窗口;

α2、γ分别为:预设的常数;

L为:各所述连接当前的待发送的数据量(可以但不限于为各连接的发送
缓冲区中当前数据量与本连接的发送缓冲区总大小的比值);

ΔLi为:各所述连接的发送缓冲区在第(i-1)控制周期的数据输入量;

ΔLo为:各所述连接的发送缓冲区在第(i-1)控制周期的数据输出量;

(ΔLi-ΔLo)为:在第(i-1)控制周期的数据缓冲区的待发送的数据的变化
量;

Vi-1为:各所述连接在第(i-1)控制周期的实际发送速度。

步骤505:根据各连接的基础发送窗口的大小、调整窗口的大小,分别确
定各连接的发送窗口的大小。

按照函数式:W=Wb+Wr,分别确定各所述连接的发送窗口的大小W。
此时, W = Wb + Wr = β · a 1 . B . T N * ρ + α 2 . Wr i - 1 . L + γ . ( ΔLi - ΔLo ) . V i - 1 . ]]>

由上可见,本实施例除了具备实施例1、2、3所述的有益效果外,还进
一步由于在本实施例中为各连接配置的发送窗口的大小时,除了适配当前连
接的总数、当前网络发送设备的数据发送的拥塞情况,以及当前网络设备处
于拥塞状态的连接总数等与网络设备的数据发送总体网络状况相关的参数之
外,还进一步考虑了各连接当前的发送速度、当前待发送的数据量、以及各
连接在上一控制周期的数据缓冲区的待发送的数据的变化量等与各连接个体
相关的参数,使各连接的发送窗口的大小既适配了总体网络发送设备的网络
发送状况,又兼顾了各连接的差异化情况,更有利于带宽链路的充分利用,
提高数据发送速度,充分根据实际情况有效分配当前网络的资源。

实施例7:

参见图6所示,本实施例提供了一种数据发送控制装置,该装置用于控
制网络发送设备的数据发送,其可以设置在网络发送设备内,也可以设置在
网络发送设备外而与所控制的网络设备连接。

该数据发送控制装置主要包括:检测单元601、第一比较单元602、发送
窗口确定单元603、拥塞窗口确定单元604、发送控制单元605。

其中,发送窗口确定单元603计算确定网络发送设备上在各控制周期的
各连接的发送窗口的大小,其中各连接的发送窗口确定的方法可以按照现有
技术方案,也可以但不限于按照实施例1、3、4、5所示的技术方案。详细参
见实施例1-4中的相关记载。

拥塞窗口确定单元604用于当某连接或者某些连接当前的拥塞参数等于
或者大于本连接的拥塞参数上限(即当前发送控制单元605判定网络发送设
备上的某连接或者某些连接当前处于拥塞状态)时,则启用拥塞控制程序,
为该连接或者这些连接分别确定当前控制周期用于支持当前拥塞状态的数据
发送的拥塞窗口(即网络处于拥塞情况下特殊的发送窗口)的大小,使网络
发送设备在一个控制周期内以不超过当前拥塞窗口的大小为限制,发送该连
接上的数据。

其中,各连接的拥塞窗口的大小在发生拥塞时往往降为极低,然后随着
该连接的网络发送情况好转(即拥塞参数逐渐降低,即丢包、时延逐渐得到
好转),该连接的拥塞窗口的大小会逐渐增大),各连接的拥塞窗口的大小分
别小于各连接在处于非拥塞状态时的发送窗口的大小。。

本实施例装置的工作原理如下:检测单元601实时检测网络发送设备的
各连接,获取各连接当前的拥塞情况,确定各连接的拥塞参数。

第一比较单元602与检测单元601连接,第一比较单元602比较各连接
当前的拥塞参数与本连接的拥塞参数上限的大小,将比较结果发送至数据发
送控制单元605,以便发送控制单元根据比较结果,控制网络发送设备上各连
接的数据发送。

发送控制单元605与第一比较单元602以及网络发送设备分别连接,发
送控制单元605根据第一比较单元602的比较结果控制网络发送设备的各连
接的数据发送,具体是:

如果第一比较单元602判定某一连接当前的拥塞发送控制单元605参数
小于本连接的拥塞参数上限,则发送控制单元605判定该连接当前处于非拥
塞状态,发送控制单元605控制网络发送设备上该连接的数据发送:在当前
控制周期内,按照该连接的发送窗口的大小发送该连接的数据;

如果第一比较单元602判定某一连接当前的拥塞参数小于本连接的拥塞
参数上限,则判定该连接当前处于非拥塞状态,发送控制单元605控制网络
发送设备上该连接的数据发送:在当前控制周期内,按照该连接的拥塞窗口
发送该连接的数据。;

进一步详细的原理可以但不限于参见实施例1-6的详细描述。

由上可见,采用本实施例数据发送控制装置,由于在网络发送设备处理
多个连接的数据发送时,发送控制单元605根据判定单元的判定结果,对各
连接进行拥塞控制,在确定是否启动拥塞控制时,允许各连接存在一定的丢
包而并非一旦检测到丢包即启动拥塞控制,在该连接上按照拥塞窗口确定的
拥塞窗口发送数据,只有某连接的拥塞参数达到本连接对应的拥塞参数上限
时,才对该连接执行拥塞控制算法,按照当前的拥塞算法确定的拥塞窗口,
即降低当前连接发送窗口的大小以及发送速度;而如果某些连接虽然当前发
生了丢包但是其拥塞参数未达到本连接对应的拥塞参数上限时,发送控制窗
口仍然按照对该连接按照正常的发送窗口的大小,发送本连接上的数据。采
用本实施例技术方案,有利于避免由于网络偶发性丢包而导致数据发送震荡
的问题,有利于提高数据发送的稳定性,而只有当某连接的丢包情况达到一
定程度时,对该连接执行拥塞算法控制,而确保该连接的数据准确发送。

实施例8:

参见图7所示,本实施例提供的数据发送控制装置与实施例7所不同之
处包括:

本实施例的数据发送控制装置还包括:第二比较单元702。

第二比较单元702与发送控制单元701连接。其工作原理如下:

当第一比较单元602确定某连接的发送到发送控制单元701的比较结果
为:该连接当前的拥塞参数小于该连接的拥塞参数上限时,则发送控制单元
605控制网络发送设备上该连接的数据发送:在当前控制周期内,按照该连接
的拥塞窗口发送该连接的数据。

当第一比较单元602确定某连接的发送到发送控制单元701的比较结果
为该连接当前的拥塞参数等于或者大于该连接的拥塞参数上限时,第二比较
单元702比较该连接的拥塞窗口的大小与该连接的预定的门限的大小,将比
较结果发送至发送控制单元701。如果第二比较单元702的比较结果为:该连
接的拥塞窗口的大小等于或者大于该连接的预定的门限,则发送控制单元701
控制网络发送设备上该连接的数据发送:在当前控制周期内,按照该连接的
发送窗口的大小发送该连接的数据;如果比较结果为:该连接的拥塞窗口的
大小小于该连接的预定的门限,则发送控制单元701控制网络发送设备上该
连接的数据发送:在当前控制周期内,按照该连接的拥塞窗口发送该连接的
所述数据。

各连接的预定的门限分别小于各连接的发送窗口的大小;各连接的预定
的门限可以相同也可以分别不同。

由上可见,应用本实施例技术方案除了具有实施例7所述的有益效果外,
还由于在本实施例中的装置能够当某连接进入拥塞控制后,当某连接的拥塞
窗口的大小恢复达到或者超过该连接的预定的门限时,则对该连接停止拥塞
控制,而在当前控制周期内按照该连接的发送窗口的大小发送本连接上的数
据。应用本实施例技术方案,有利于在网络状况恢复到预定的良好程度时,
快速地使该连接的数据发送恢复到非拥塞状况时的发送(即按照该连接的发
送窗口的大小发送本连接的数据),而无需缓慢等待拥塞恢复,有利于提高网
络发送速度。

实施例9:

参见图8所示,本实施例提供的数据发送控制装置与实施例8所不同之
处包括:

本装置还包括:连接总数确定单元801,连接总数确定单元801用于定时
检测获取网络发送设备当前连接的总数,并将网络发送设备当前连接的总数
发送至发送窗口确定单元803;

发送窗口确定单元803具体用于根据当前网络发送设备的连接的总数以
及网络设备的出口目标带宽(可以为用于预设值或者估算值),确定该网络发
送设备上各连接当前数据发送的发送窗口的大小。具体可以但不限于参见实
施例3-6的记载。

由上可见,采用上述技术方案除了具有实施例8的有益效果外,由于本
实施例装置还包括连接总数确定单元801,故在确定各连接的发送窗口的大小
时,可以根据本网络发送设备当前连接的总数N值,确定当前各连接的发送
窗口的大小,使得能在网络发送设备侧主动的适应网络中当前实际连接的总
数的变化,根据当前实际连接的总数主动调整各连接的发送窗口的大小,对
数据的发送控制更加适应网络状况的实际变化,有利于充分利用网络带宽。

实施例10:

参见图9所示,本实施例提供的数据发送控制装置与实施例9所不同之
处包括:

所述发送窗口确定单元903包括:基础发送窗口确定单元9031、调整窗
口确定子单元9032、调整子单元9033。

基础发送窗口确定单元9031与连接总数确定单元连接,基础发送窗口确
定单元9031根据网络发送设备当前连接的总数N,确定该网络发送设备上各
连接的基础发送窗口的大小,将该基础发送窗口的大小记为Wb。

基础发送窗口确定单元9031确定各连接的基础发送窗口的大小详细技术
方案可以但不限于按照实施例3、4、5、6、11、12的记载。

譬如但不限于,基础发送窗口确定单元9031可以按照函数式
分别确定各连接的基础发送窗口的大小。其中Wb为所述基
础发送窗口的大小;β为预设的基本窗口参数,B为各连接共同的干链路的
发送目标带宽估算值,T为各连接的控制周期,N为当前连接的总数。

调整窗口确定子单元9032,用于根据各连接当前待发送的数据量、在上
一控制周期的实际发送速度、以及在上一控制周期的数据缓冲区的待发送的
数据的变化量,分别确定各连接的调整窗口的大小(记为Wr)。

从而使各连接的调整窗口的大小Wr与各连接当前待发送的数据量、以及
在上一控制周期的实际发送速度、以及在上一控制周期的数据缓冲区的待发
送的数据的变化量均相关。

详细的调整窗口的大小Wr的计算可以但不限于参见实施例5中步骤504
的记载。

调整子单元9033,用于根据基础发送窗口确定子单元确定的各连接的基
础发送窗口的大小Wb,以及调整窗口确定子单元9032确定的各连接的调整
窗口的大小Wr,按照函数式W=Wb+Wr,确定各所述连接的所述发送窗口的
大小W。

调整窗口确定子单元9033具体可以但不限于根据各连接当前待发送的数
据量、各连接在上一控制周期的实际发送速度、以及各连接在上一控制周期
的数据缓冲区的待发送的数据的变化量,确定各连接的调整窗口的大小。譬
如,可以但不限于按照函数式Wri=α2.Wri-1.L+γ.(ΔLi-ΔLo).Vi-1,分别计算确定各
连接的调整窗口的大小。其中,Wri为:各连接在第i控制周期的调整窗口的
大小,α2、γ分别为:预设的常数,L为:各连接当前的待发送的数据量,ΔLi
为:各所述连接的发送缓冲区在第(i-1)控制周期的数据输入量,ΔLo为:各
连接的发送缓冲区在第(i-1)控制周期的数据输出量,(ΔLi-ΔLo)为:在第(i-1)
控制周期的数据缓冲区的待发送的数据的变化量,Vi-1为:各所述连接在第(i-1)
控制周期的实际发送速度。

由上可见,本实施例除了具备实施例6、7、8所述的有益效果外,还进
一步由于在本实施例中还包括调整窗口确定子单元9032以及调整子单元
9033,从而在确定各连接的发送窗口的大小时,除了适配当前连接的总数、
当前网络发送设备的数据发送的拥塞情况,以及当前网络设备处于拥塞状态
的连接总数等与网络设备的数据发送总体网络状况相关的参数之外,还进一
步考虑了各连接当前的发送速度、当前待发送的数据量、以及各连接在上一
控制周期的数据缓冲区的待发送的数据的变化量等与各连接个体相关的参
数,使各连接的发送窗口的大小既适配了总体网络发送设备的网络发送状况,
又兼顾了各连接的差异化情况,更有利于带宽链路的充分利用,提高数据发
送速度,充分根据实际情况有效分配当前网络的资源。

实施例11:

参见图10所示,本实施例提供的数据发送控制装置与实施例10所不同
之处包括:

本实施例数据发送控制装置还包括:网络拥塞参数确定单元1001、第四
比较单元1002、带宽增幅系数确定单元1003、带宽降额系数确定单元1005。
其连接关系如下:

第四比较单元1002与网络拥塞参数确定单元1001连接,带宽增幅系数
确定单元1003与第四比较单元1002以及网络拥塞参数确定单元1001连接,
第五比较单元1004与发送控制单元701电连接,基础发送窗口确定单元还分
别与带宽增幅系数确定单元1003、带宽降额系数确定单元1005连接。

工作原理是:网络拥塞参数确定单元1001确定网络发送设备当前数据发
送的拥塞参数;第四比较单元1002比较网络发送设备当前数据发送的拥塞参
数与第一上限的大小,,将比较结果发送至带宽增幅系数确定单元1003,带宽
增幅系数确定单元1003根据所述网络发送设备数据发送的拥塞参数以及第四
比较单元1002的比较结果确定带宽增幅系数,当网络发送设备数据发送的拥
塞参数小于第一上限时,带宽增幅系数为随网络发送设备数据发送的拥塞参
数增大的系数;

发送控制单元701确定根据第一比较单元的比较结果确定当前处于拥塞
状态的各连接获取当前处于拥塞状态的连接的总数之后,带宽降额系数确定
单元1005根据所述当前处于拥塞状态的连接的总数确定带宽降额系数,使得
该带宽降额系数满足:如果当前处于拥塞状态的所述连接的总数小于预定的
第二上限(可以为用户预定值或者装置估算值)时,所述带宽降额系数为1,
如果当前处于拥塞状态的所述连接的总数等于或者大于所述第二上限时,所
述带宽降额系数为小于1的任一小数。

在连接总数确定单元确定当前连接的总数,带宽增幅系数确定单元1003、
带宽降额系数确定单元1005分别确定带宽增幅系数、带宽降额系数之后,基
础发送窗口确定单元根据该网络发送设备当前连接的总数、带宽增幅系数以
及带宽降额系数,确定各连接的基础发送窗口的大小。

由上可见,采用本实施例技术方案除了具有实施例9的有益效果外,由
于在本实施例确定各连接的发送窗口中的基础发送窗口的大小时,还进一步
考虑了当前网络发送设备的数据发送的拥塞情况,以及当前网络设备处于拥
塞状态的连接总数,使本实施例为各连接确定的基础发送窗口的大小更能适
配当前网络状况,即使本实施例为各连接确定的发送窗口的大小更能适配当
前网络状况。

实施例12:

参见图11所示,本实施例提供的数据发送控制装置与实施例11所不同
之处包括:

本实施例数据发送控制装置还包括:存储单元1101。

该存储单元1101内存储有带宽降额系数映射关系表,带宽降额系数映射
关系表中存储有带宽降额系数与当前处于拥塞状态的连接的总数的对应关
系,对应关系表示如下:

带宽降额系数

其中n为:当前处于拥塞状态的连接的总数,N0为所述第二上限,
N0<N1<N2<Ni-1<Ni,1>A1>A2>Ai-1>Ai,i为自然数。

本实施例中的带宽降额系数确定单元1105与存储单元1101连接,发送
控制单元701确定根据第一比较单元的比较结果确定当前处于拥塞状态的各
连接获取当前处于拥塞状态的连接的总数之后,带宽降额系数确定单元1105
根据当前处于拥塞状态的连接的总数,查询存储单元1101中的所述带宽降额
系数映射关系表,确定该带宽降额系数。

由上可见,本实施例除了具有实施例10中的有益效果外,通过查询确定
用于确定各连接的发送窗口的大小的带宽降额系数,有利于进一步提高各连
接的发送窗口的大小的效率以及速度,提高网络设备的处理效率。

实施例13:

参见图12所示,本实施例提供的一种计算机系统,该计算机系统可以设
置在网络系统的网络发送设备中(此时该计算机系统通过控制接口1204与本
网络发送设备的受控部分连接),也可以设置在网络中,使该计算机系统通过
控制接口1204与一个或者多个网络发送设备分别连接而控制连接的各网络发
送设备的数据发送。

本实施例提供的计算机系统包括:总线1201、处理器1202、存储器1203。

其中处理器1202、存储器1203分别与总线1201相连,处理器1202通过
总线1201调用存储器1203中存储的代码,以用于:检测各连接当前的拥塞
参数;确定各连接的发送窗口的大小;分别比较各连接当前的拥塞参数与各
连接的拥塞参数上限的大小;如果任一连接当前的拥塞参数小于本连接的拥
塞参数上限,则判定连接当前处于非拥塞状态,在当前控制周期内,按照连
接的发送窗口的大小发送连接的数据,返回步骤:检测各连接当前的拥塞参
数;如果任一连接当前的拥塞参数等于或者大于本连接的拥塞参数上限,则
判定连接当前处于拥塞状态,在当前控制周期内,分别按照连接的拥塞窗口
的大小发送连接的数据,返回步骤:检测各连接当前的拥塞参数。

处理器1202调用存储器1203代码执行对连接的网络数据发送控制的进
一步详细技术方案可以但不限于参见实施例1-12所示的详细描述。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明
的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或
者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络
单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例
方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以
理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实
施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬
件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部
分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可
读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台
计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施
例或者实施例的某些部分所述的方法。

以上所述的实施方式,并不构成对该技术方案保护范围的限定。任何在
上述实施方式的精神和原则之内所作的修改、等同替换和改进等,均应包含
在该技术方案的保护范围之内。

数据发送的控制方法及装置及计算机系统.pdf_第1页
第1页 / 共29页
数据发送的控制方法及装置及计算机系统.pdf_第2页
第2页 / 共29页
数据发送的控制方法及装置及计算机系统.pdf_第3页
第3页 / 共29页
点击查看更多>>
资源描述

《数据发送的控制方法及装置及计算机系统.pdf》由会员分享,可在线阅读,更多相关《数据发送的控制方法及装置及计算机系统.pdf(29页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102752076 A (43)申请公布日 2012.10.24 C N 1 0 2 7 5 2 0 7 6 A *CN102752076A* (21)申请号 201210204543.6 (22)申请日 2012.06.20 H04L 1/00(2006.01) H04L 12/56(2006.01) (71)申请人华为技术有限公司 地址 518129 广东省深圳市龙岗区坂田华为 总部办公楼 (72)发明人扶柏成 曾邵阳 (74)专利代理机构广州三环专利代理有限公司 44202 代理人郝传鑫 熊永强 (54) 发明名称 数据发送的控制方法及装置及计算机系统 (57)。

2、 摘要 本发明涉及通信领域,公开了一种数据发送 的数据发送的控制方法及装置及计算机系统。控 制方法包括检测各连接当前的拥塞参数;确定各 连接的发送窗口的大小;如果任一连接当前的拥 塞参数小于本连接的拥塞参数上限,则判定连接 当前处于非拥塞状态,在当前控制周期内,按照 连接的发送窗口的大小发送连接的数据,返回步 骤:检测各连接当前的拥塞参数;如果任一连接 当前的拥塞参数等于或者大于本连接的拥塞参数 上限,则判定连接当前处于拥塞状态,在当前控制 周期内,分别按照连接的拥塞窗口的大小发送连 接的数据,返回步骤:检测各连接当前的拥塞参 数。,应用该技术方案有利于提高数据发送的稳定 性,提高带宽利用率。。

3、 (51)Int.Cl. 权利要求书7页 说明书15页 附图6页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 7 页 说明书 15 页 附图 6 页 1/7页 2 1.一种数据发送的控制方法,其特征在于,包括: 检测各连接当前的拥塞参数; 确定各所述连接的发送窗口的大小; 分别比较各所述连接当前的所述拥塞参数与各所述连接的拥塞参数上限的大小; 如果任一所述连接当前的所述拥塞参数小于本所述连接的拥塞参数上限,则判定所述 连接当前处于非拥塞状态,在当前控制周期内,按照所述连接的发送窗口的大小发送所述 连接的数据,返回步骤:检测各连接当前的拥塞参数; 如果任一所述连接当前。

4、的所述拥塞参数等于或者大于本所述连接的拥塞参数上限,则 判定所述连接当前处于拥塞状态,在当前所述控制周期内,分别按照所述连接的拥塞窗口 的大小发送所述连接的所述数据,返回步骤:检测各连接当前的拥塞参数。 2.根据权利要求1所述的一种数据发送的控制方法,其特征在于, 在步骤:判定所述连接当前处于拥塞状态之后, 在步骤:在当前所述控制周期内,分别按照所述连接的拥塞窗口发送所述连接的所述 数据之前,还包括: 比较所述连接在当前所述控制周期的拥塞窗口的大小与所述连接的预定的门限的大 小,各所述连接的预定的门限分别小于各所述连接的发送窗口的大小; 如果所述连接在当前所述控制周期的拥塞窗口的大小等于或者大。

5、于所述连接的预定 的门限,则,跳转执行步骤:在当前控制周期内,按照所述连接的发送窗口的大小发送所述 连接的数据; 如果所述连接在当前所述控制周期的拥塞窗口的大小小于所述连接的预定的门限,则 执行所述步骤:在当前所述控制周期内,按照所述连接的拥塞窗口大小发送所述连接的所 述数据。 3.根据权利要求1或2所述的一种数据发送的控制方法,其特征在于, 确定各所述连接的发送窗口的大小,具体包括: 根据当前网络发送设备上所述连接的总数,分别确定各所述连接的发送窗口的大小。 4.根据权利要求1或2所述的一种数据发送的控制方法,其特征在于, 确定各所述连接的发送窗口的大小,具体包括: 获取所述网络发送设备的出。

6、口目标带宽,所述出口目标带宽为预设值或者估算值; 根据所述出口目标带宽,分别确定各所述连接的发送窗口的大小。 5.根据权利要求4所述的一种数据发送的控制方法,其特征在于, 在根据所述出口目标带宽,分别确定各所述连接的发送窗口的大小之前还包括: 确定当前网络发送设备上所述连接的总数; 根据所述出口目标带宽,分别确定各所述连接的发送窗口的大小,具体是: 根据所述连接的总数以及所述出口目标带宽,分别确定各所述连接的发送窗口的大 小。 6.根据权利要求5所述的一种数据发送的控制方法,其特征在于, 其中,所述发送窗口的大小与所述连接的总数成反比,与所述出口目标带宽成正比。 7.根据权利要求1或2所述的一。

7、种数据发送的控制方法,其特征在于, 确定各所述连接的发送窗口的大小,具体包括: 权 利 要 求 书CN 102752076 A 2/7页 3 根据各所述连接当前待发送的数据量、各所述连接在上一控制周期的实际发送速度、 以及各所述连接在上一控制周期的数据缓冲区的待发送的数据的变化量,确定各所述连接 的发送窗口的大小。 8.根据权利要求1或2所述的一种数据发送的控制方法,其特征在于,确定各所述连接 的发送窗口的大小,具体包括: 根据当前网络发送设备上所述连接的总数以及所述网络发送设备的出口目标带宽,确 定各所述连接的基础发送窗口的大小, 根据各所述连接当前待发送的数据量、各所述连接在上一控制周期的。

8、实际发送速度、 以及各所述连接在上一控制周期的数据缓冲区的待发送的数据的变化量,确定各所述连接 的调整窗口的大小; 根据各所述基础发送窗口的大小以及各所述调整窗口的大小,按照函数式:W=Wb+Wr, 确定各所述发送窗口的大小: 其中,所述W为各所述连接的所述发送窗口的大小,所述Wb为所述各所述连接的所述 基础发送窗口的大小,所述Wr分别为各所述连接的所述调整窗口的大小,所述Wr-Wb,所 述Wb0。 9.根据权利要求8所述的一种数据发送的控制方法,其特征在于, 根据当前网络发送设备上所述连接的总数,确定各所述基础发送窗口的大小,具体 为: 根据所述连接的总数、所述出口目标带宽、带宽增幅系数以及。

9、带宽降额系数,确定各所 述基础发送窗口的大小; 其中,当所述网络发送设备数据发送的拥塞参数小于第一上限时,所述带宽增幅系数 带宽增幅系数为随所述网络发送设备数据发送的拥塞参数增大的系数,所述第一上限为所 述网络发送设备的发送拥塞参数上限, 并且,在当前处于拥塞状态的所述连接的总数小于预定的第二上限时,所述带宽降额 系数为1, 在当前处于拥塞状态的所述连接的总数等于或者大于所述第二上限时,所述带宽降额 系数为小于1的任一小数, 所述第二上限为当前处于拥塞状态的连接的总数的上限值。 10.根据权利要求9所述的一种数据发送的控制方法,其特征在于, 在当前处于拥塞状态的所述连接的总数等于或者大于所述第。

10、二上限时,所述带宽降额 系数为:随当前处于拥塞状态的所述连接的总数变化的变量参数: 所述当前处于拥塞状态的连接的总数越大,所述带宽降额系数越小。 11.根据权利要求10所述的一种数据发送的控制方法,其特征在于, 所述带宽降额系数为:随当前处于拥塞状态的所述连接的总数变化的 变量参数:所述当前处于拥塞状态的连接的总数越大,所述带宽降额系数 越小,具体根据以下函数式确定所述带宽降额系数: 权 利 要 求 书CN 102752076 A 3/7页 4 所述 其中,所述 1 为:所述带宽降额系数; 所述n为:当前处于拥塞状态的连接的总数, 所述N 0 为所述第二上限,所述N 0 A 1 A 2 A i。

11、-1 A i ,所述i为自然数。 12.根据权利要求10所述的一种数据发送的控制方法,其特征在于, 根据当前网络发送设备上所述连接的总数,确定各所述连接的基础发送窗口的大小, 具体是: 按照以下函数式确定所述基础发送窗口的大小; 其中,所述Wb为所述基础发送窗口的大小; 所述为带宽增幅系数; 所述a 1 为:所述带宽降额系数; 所述. 1 1; 为:预设的基本窗口参数, 所述B为:各所述连接共同的干链路的发送目标带宽估算值, 所述T为:各所述连接的控制周期, 所述N为:当前所述连接的总数。 13.根据权利要求8所述的一种数据发送的控制方法,其特征在于, 所述基础发送窗口的大小还与所述带宽增幅系。

12、数、带宽降额系数分别成正比。 14.根据权利要求10所述的数据发送的控制方法,其特征在于, 各所述连接的所述调整窗口的大小分别与各所述连接的当前待发送的数据量、各所述 连接在上一控制周期的实际发送速度、各所述连接在上一控制周期的数据缓冲区的待发送 的数据的变化量,分别成正比。 15.根据权利要求14所述的数据发送的控制方法,其特征在于, 根据各所述连接当前的数据填充率、各所述连接在上一控制周期的实际发送速度、以 及各所述连接在上一控制周期的数据缓冲区的待发送的数据的变化量,确定各所述连接的 调整窗口,具体是: 按照函数式Wri 2 .Wr i-1 .L+.(Li-Lo).V i-1 ,确定各所。

13、述调整窗口的大小: 其中,所述Wri为:各所述连接在第i控制周期的调整窗口的大小, 所述 2 、分别为:预设的常数, 所述L为:各所述连接当前的待发送的数据量, 所述Li为:各所述连接的发送缓冲区在第(i-1)控制周期的数据输入量, 所述Lo为:各所述连接的发送缓冲区在第(i-1)控制周期的数据输出量, 所述(Li-Lo)为:在第(i-1)控制周期的数据缓冲区的待发送的数据的变化量, 权 利 要 求 书CN 102752076 A 4/7页 5 所述V i-1 为:各所述连接在第(i-1)控制周期的实际发送速度。 16.根据权利要求15所述的数据发送的控制方法,其特征在于, 各所述连接当前待发。

14、送的数据量采用:各所述连接的发送缓冲区中当前待发送的数据 量与本所述连接的发送缓冲区总大小的比值表示。 17.一种数据发送控制装置,其特征在于,所述数据发送控制装置用于控制网络发送设 备的数据发送,所述数据发送控制装置包括: 检测单元,用于实时检测所述网络发送设备的各连接,获取各所述连接当前的拥塞参 数; 第一比较单元,与所述检测单元连接,用于在所述检测单元获取各所述连接当前的拥 塞参数后,比较各所述拥塞参数与本所述连接的拥塞参数上限的大小,将比较结果发送至 发送控制单元; 发送窗口确定单元,用于确定各所述连接在当前控制周期发送窗口的大小; 拥塞窗口确定单元,用于在任一所述连接当前的所述拥塞参。

15、数等于或者大于本所述连 接的所述拥塞参数上限时,确定各所述连接在当前所述控制周期的拥塞窗口的大小; 所述发送控制单元,与所述第一比较单元、发送窗口确定单元、拥塞窗口确定单元分别 连接,用于根据所述第一比较单元的比较结果,控制所述网络发送设备各所述连接在各所 述控制周期的数据发送,具体用于: 如果任一所述连接当前的所述拥塞参数小于本所述连接的拥塞参数上限,则判定所述 连接当前处于非拥塞状态,在当前所述控制周期内,按照所述连接的发送窗口的大小发送 所述连接的数据; 如果任一所述连接当前的所述拥塞参数等于或者大于本所述连接的拥塞参数上限,则 判定所述连接当前处于拥塞状态,在当前所述控制周期内,分别按。

16、照所述连接的拥塞窗口 发送所述连接的所述数据。 18.根据权利要求17所述的数据发送控制装置,其特征在于,还包括: 第二比较单元,与所述发送控制单元连接,用于在所述发送控制单元判定任一所述连 接当前处于拥塞状态时,比较所述连接在当前所述控制周期的拥塞窗口的大小与所述连接 的预定的门限的大小,将比较结果发送至所述发送控制单元,其中各所述连接的预定的门 限分别小于各所述连接的发送窗口的大小; 所述发送控制单元还用于:当所述第二比较单元判定所述连接的所述拥塞窗口的大小 等于或者大于所述连接的预定的门限时控制所述网络发送设备上所述连接的数据发送:在 当前所述控制周期内,按照所述连接的发送窗口的大小发送。

17、所述连接的数据,当所述第二 比较单元判定所述连接的所述拥塞窗口的大小小于所述连接的预定的门限时控制所述网 络发送设备上所述连接的数据发送:在当前所述控制周期内,按照所述连接的拥塞窗口的 大小发送所述连接的数据。 19.根据权利要求17或18所述的数据发送控制装置,其特征在于,还包括: 连接总数确定单元,用于定时检测获取所述网络发送设备当前的所述连接的总数,将 所述网络发送设备当前的所述连接的总数发送至所述发送窗口确定单元; 所述发送窗口确定单元具体用于根据当前网络发送设备上所述连接的总数以及所述 网络设备的出口目标带宽,确定各所述连接在当前所述控制周期所述发送窗口的大小。 权 利 要 求 书C。

18、N 102752076 A 5/7页 6 20.根据权利要求17或18所述的数据发送控制装置,其特征在于,还包括: 连接总数确定单元,用于获取所述网络发送设备当前所述连接的总数; 所述发送窗口确定单元包括: 基础发送窗口确定单元,用于根据当前网络发送设备的所述连接的总数以及所述网络 设备的出口目标带宽,分别确定各所述连接在当前所述控制周期基础发送窗口的大小, 调整窗口确定子单元,用于根据各所述连接当前待发送的数据量、各所述连接在上一 控制周期的实际发送速度、以及各所述连接在上一控制周期的数据缓冲区的待发送的数据 的变化量,分别确定各所述连接在当前所述控制周期调整窗口的大小; 调整子单元,用于根。

19、据各所述基础发送窗口的大小以及各所述调整窗口的大小,按照 函数式:W=Wb+Wr,确定各所述连接在当前所述控制周期所述发送窗口的大小; 其中,所述W为各所述连接在当前所述控制周期所述发送窗口的大小, 所述Wb为所述各所述连接的基础发送窗口的大小, 所述Wr分别为各所述连接的调整窗口的大小, 所述Wr-Wb, 所述Wb0。 21.根据权利要求20所述的数据发送控制装置,其特征在于,还包括: 网络拥塞参数确定单元,用于确定所述网络发送设备当前数据发送的拥塞参数; 第四比较单元,与所述网络拥塞参数确定单元连接,用于比较所述网络发送设备当前 数据发送的拥塞参数与第一上限的大小,将比较结果发送至带宽增幅。

20、系数确定单元,其中 所述第一上限为所述网络发送设备的发送拥塞参数上限; 带宽增幅系数确定单元,与所述第四比较单元以及所述网络拥塞参数确定单元连接, 用于根据所述网络发送设备数据发送的拥塞参数以及所述第四比较单元的比较结果确定 所述带宽增幅系数,当所述网络发送设备数据发送的拥塞参数小于所述第一上限时,所述 带宽增幅系数为随所述网络发送设备数据发送的拥塞参数增大的系数; 带宽降额系数确定单元,与所述发送控制单元连接,用于根据所述当前处于拥塞状态 的连接的总数确定所述带宽降额系数,如果当前处于拥塞状态的所述连接的总数小于预定 的第二上限时,所述带宽降额系数为1,如果当前处于拥塞状态的所述连接的总数等。

21、于或者 大于所述第二上限时,所述带宽降额系数为小于1的任一小数; 所述基础发送窗口确定单元具体用于根据所述连接的总数、带宽增幅系数以及带宽降 额系数,确定各所述连接的所述基础发送窗口的大小。 22.根据权利要求21所述的数据发送控制装置,其特征在于,还包括: 存储单元,存储有带宽降额系数映射关系表,所述带宽降额系数映射关系表中存储有 所述带宽降额系数与所述当前处于拥塞状态的连接的总数的对应关系,所述对应关系是: 所述 权 利 要 求 书CN 102752076 A 6/7页 7 其中,所述a 1 为:所述带宽降额系数; 所述n为:当前处于拥塞状态的连接的总数, 所述N 0 为所述第二上限,所述。

22、N 0 A 1 A 2 A i-1 A i ,所述i为自然数; 带宽降额系数确定单元,与所述存储单元连接,具体用于查询所述存储单元中的所述 带宽降额系数映射关系表,确定所述带宽降额系数。 23.根据权利要求21所述的一种数据发送的控制装置,其特征在于, 所述基础发送窗口确定单元用于根据当前网络发送设备上所述连接的总数,确定各所 述连接的基础发送窗口的大小,具体是: 用于按照函数式分别确定各所述连接的基础发送窗口的大小: 其中,所述Wb为所述基础发送窗口的大小; 所述为:预设的基本窗口参数, 所述B为:各所述连接共同的干链路的发送目标带宽估算值, 所述T为:各所述连接的控制周期, 所述N为:当前。

23、所述连接的总数。 24.根据权利要求20所述的一种数据发送的控制装置,其特征在于, 所述调整窗口确定子单元用于根据各所述连接当前待发送的数据量、各所述连接在上 一控制周期的实际发送速度、以及各所述连接在上一控制周期的数据缓冲区的待发送的数 据的变化量,确定各所述连接的调整窗口,具体是: 用于按照函数式Wri 2 .Wr i-1 .L+.(Li-Lo).V i-1 ,分别计算确定各所述连接的 调整窗口的大小; 其中,所述Wri为:各所述连接在第i控制周期的调整窗口的大小, 所述 2 、分别为:预设的常数, 所述L为:各所述连接当前的待发送的数据量, 所述Li为:各所述连接的发送缓冲区在第(i-1。

24、)控制周期的数据输入量, 所述Lo为:各所述连接的发送缓冲区在第(i-1)控制周期的数据输出量, 所述(Li-Lo)为:在第(i-1)控制周期的数据缓冲区的待发送的数据的变化量, 所述V i-1 为:各所述连接在第(i-1)控制周期的实际发送速度。 25.一种计算机系统,其特征在于,包括: 总线; 与所述总线相连的处理器; 与所述总线相连的存储器; 其中,所述处理器通过所述总线,调用所述存储器中存储的代码,以用于: 检测各连接当前的拥塞参数; 确定各所述连接的发送窗口的大小; 分别比较各所述连接当前的所述拥塞参数与各所述连接的拥塞参数上限的大小; 如果任一所述连接当前的所述拥塞参数小于本所述连。

25、接的拥塞参数上限,则判定所述 连接当前处于非拥塞状态,在当前控制周期内,按照所述连接的发送窗口的大小发送所述 连接的数据,返回步骤:检测各连接当前的拥塞参数; 权 利 要 求 书CN 102752076 A 7/7页 8 如果任一所述连接当前的所述拥塞参数等于或者大于本所述连接的拥塞参数上限,则 判定所述连接当前处于拥塞状态,在当前所述控制周期内,分别按照所述连接的拥塞窗口 的大小发送所述连接的所述数据,返回步骤:检测各连接当前的拥塞参数。 权 利 要 求 书CN 102752076 A 1/15页 9 数据发送的控制方法及装置及计算机系统 技术领域 0001 本发明涉及通信领域,特别涉及一种。

26、数据发送的控制方法及装置及计算机系统。 背景技术 0002 随着通信技术的发展,数据传输是目前通信网络的重要组成业务,在网络中,通过 网络发送设备完成数据的发送,而在网络拓扑中一个网络发送设备往往与多个对端连接, 一个网络发送设备执行多个连接的数据发送业务。 0003 图1为常见的在一带宽受限的网络链路上实现多个连接的数据传输系统结构示 意图,参见图1所示,网络发送设备(又称为根主机101)与对端(又称为叶主机102)连接,根 主机101到各叶主机102之间通过共享干链路103(该干链路103相对于各连接而言为瓶 颈链路)以及广域网104((WideAreaNetwork,简称WAN)连接,根。

27、主机101到各叶主机102 之间存在复数个连接,这些连接共享干链路103的带宽。 0004 传输控制(Tr ansmissionControlProtocol,简称广泛应用于数据传输网络,TCP 协议为应用层提供流的可靠的数据传输服务的技术,目前互联网中的绝大多数的数据通过 TCP协议进行传输。 0005 以TCP网络为例,在TCP网络中对数据发送控制主要是,发送端根据TCP协议中的 确认报文(Acknowledgment,简称ACK)估算各连接的数据的丢包情况以及发送延时情况, 发送端一旦检测到发生丢包或者发生延时时,则启动拥塞控制策略,按照拥塞窗口发送各 连接的数据,达到拥塞控制的目的。 。

28、0006 在研究本发明技术方案的过程中,本发明人发现现有技术至少存在以下的缺点: 0007 第一:现有技术网络发送设备根据接收端反馈ACK报文通过ACK报文中确定信号 估算本连接的数据是否丢包以及是否延时超过预定范围,而网络传输本身存在延时性,很 可能当前未收到ACK反馈信号的数据当前实际处于网络传输途中且在一定时间后将有效 到达接收端;而发送端在预定时间内未收到该数据的ACK反馈报文时,会判定该数据丢包 而启动拥塞控制,导致网络中由于该丢包发生情况的误判断而网络发送速度大幅度下降, 不利于数据的传输和带宽的有效利用。 0008 第二:特别地,在网络传输时延较大的长肥管道网络中,由于网络传输存。

29、在较大的 时延性,发送端根据接收端反馈的ACK报文而很有可能将大部分还在传输过程中的数据而 误判为未成功发送的数据,而导致较高的丢包率误判,而上述的发送速度控制会因为偶发 性丢包或者丢包率误判而导致网络中数据发送存在较大的震荡,而影响数据的发送。 0009 第三:现有技术的拥塞控制为根据接收端的ACK反馈确认信息而对下一控制周期 的发送进行控制,其控制存在较大的滞后性。并且,在网络中,随时可能有新的用户加入而 上述的方案一的控制方法不适用于随时变化的网络,其适用的灵活性较差。 0010 而实际上,在网络中某一用户当前无数据传输业务,而采用现有技术方案无法根 据当前的网络状况变化,动态为用户利用。

30、当前空闲带宽而提高当前各连接的数据业务传输 效率。 说 明 书CN 102752076 A 2/15页 10 发明内容 0011 本发明实施例第一目的在于提供一种数据发送的控制方法,应用该技术方案有利 于提高数据发送的稳定性,提高带宽利用率。 0012 本发明实施例第二目的在于提供一种数据发送的控制装置,应用该技术方案有利 于提高数据发送的稳定性,提高带宽利用率。 0013 本发明实施例第三目的在于提供一种计算机系统,应用该技术方案有利于提高数 据发送的稳定性,提高带宽利用率。 0014 本发明实施例提供的一种数据发送的控制方法,包括: 0015 检测各连接当前的拥塞参数。 0016 确定各连。

31、接的发送窗口的大小。 0017 分别比较各连接当前的拥塞参数与各连接的拥塞参数上限的大小: 0018 如果任一连接当前的拥塞参数小于本连接的拥塞参数上限,则判定连接当前处于 非拥塞状态,在当前控制周期内,按照连接的发送窗口的大小发送连接的数据,返回步骤: 检测各连接当前的拥塞参数。 0019 如果任一连接当前的拥塞参数等于或者大于本连接的拥塞参数上限,则判定连接 当前处于拥塞状态,在当前控制周期内,分别按照连接的拥塞窗口的大小发送连接的数据, 返回步骤:检测各连接当前的拥塞参数。 0020 本发明实施例提供的一种数据发送的控制装置,数据发送控制装置用于控制网络 发送设备的数据发送,数据发送控制。

32、装置包括: 0021 检测单元,用于实时检测网络发送设备的各连接,获取各连接当前的拥塞参数。 0022 第一比较单元,与检测单元连接,用于在检测单元获取各连接当前的拥塞参数后, 比较各拥塞参数与本连接的拥塞参数上限的大小,将比较结果发送至发送控制单元。 0023 发送窗口确定单元,用于确定各连接在当前控制周期发送窗口的大小。 0024 拥塞窗口确定单元,用于在任一连接当前的拥塞参数等于或者大于本连接的拥塞 参数上限时,确定各连接在当前控制周期的拥塞窗口的大小。 0025 发送控制单元,与第一比较单元、发送窗口确定单元、拥塞窗口确定单元分别连 接,用于根据第一比较单元的比较结果,控制网络发送设备。

33、各连接在各控制周期的数据发 送,具体用于: 0026 如果任一连接当前的拥塞参数小于本连接的拥塞参数上限,则判定连接当前处于 非拥塞状态,在当前控制周期内,按照连接的发送窗口的大小发送连接的数据。 0027 如果任一连接当前的拥塞参数等于或者大于本连接的拥塞参数上限,则判定连接 当前处于拥塞状态,在当前控制周期内,分别按照连接的拥塞窗口发送连接的数据。 0028 本发明实施例提供的一种数据发送的计算机系统,包括:总线、与总线相连的处理 器、与总线相连的存储器。 0029 其中,处理器通过总线,调用存储器中存储的代码,以用于: 0030 检测各连接当前的拥塞参数。确定各连接的发送窗口的大小。 0。

34、031 分别比较各连接当前的拥塞参数与各连接的拥塞参数上限的大小。 0032 如果任一连接当前的拥塞参数小于本连接的拥塞参数上限,则判定连接当前处于 说 明 书CN 102752076 A 10 3/15页 11 非拥塞状态,在当前控制周期内,按照连接的发送窗口的大小发送连接的数据,返回步骤: 检测各连接当前的拥塞参数。 0033 如果任一连接当前的拥塞参数等于或者大于本连接的拥塞参数上限,则判定连接 当前处于拥塞状态,在当前控制周期内,分别按照连接的拥塞窗口的大小发送连接的数据, 返回步骤:检测各连接当前的拥塞参数。 0034 由上可见,本实施例技术方案,由于在本实施例中网络发送设备在处理各。

35、连接的 数据发送进行各连接的数据发送控制时,只有某连接的拥塞参数达到本连接对应的拥塞参 数上限时,才对该连接执行拥塞控制算法,按照当前的拥塞算法确定的拥塞窗口发送本连 接上的数据,即降低当前连接发送窗口的大小以及发送速度;如果某连接或者某些连接虽 然当前发生了丢包但是其拥塞参数未达到本连接对应的拥塞参数上限时,仍然按照发送窗 口的大小,发送本连接上的数据。可见,本实施例技术方案,只有当某连接的丢包情况达到 一定程度时,才对该连接执行拥塞算法控制,故采用本实施例技术方案,有利于避免由于网 络偶发性丢包而导致数据发送速度震荡过大的问题,有利于提高数据发送的稳定性,而当 某连接的丢包情况达到一定程度。

36、后,对该连接执行拥塞算法控制,又确保了该连接的数据 准确发送。 附图说明 0035 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。 0036 图1为常见在一带宽受限的网络链路上实现多个连接的数据传输系统结构示意 图; 0037 图2为本发明实施例1提供的一种数据发送的控制方法流程示意图; 0038 图3为本发明实施例2提供的一种数据发送的控制方法流程示意图; 0039 图4为本发。

37、明实施例3提供的一种各连接的发送窗口的大小的计算确定流程示意 图; 0040 图5为本发明实施例6提供的一种各连接的发送窗口的大小的计算确定流程示意 图; 0041 图6为本发明实施例7提供的一种数据发送控制装置的结构示意图; 0042 图7为本发明实施例8提供的一种数据发送控制装置的结构示意图; 0043 图8为本发明实施例9提供的一种数据发送控制装置的结构示意图; 0044 图9为本发明实施例10提供的一种数据发送控制装置的结构示意图; 0045 图10为本发明实施例11提供的一种数据发送控制装置的结构示意图; 0046 图11为本发明实施例12提供的一种数据发送控制装置的结构示意图; 0。

38、047 图12为本发明实施例13提供的一种计算机系统的结构示意图。 具体实施方式 0048 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 说 明 书CN 102752076 A 11 4/15页 12 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。 0049 实施例1: 0050 本实施例提供一种数据发送的控制方法,该方法适用于网络中各网络发送设备对 数据的发送控制。参见图2所示,本实施例数据发送控制方法主要包括以下步骤:。

39、 0051 步骤201:检测各连接当前的拥塞参数。 0052 在本实施例中可以由网络发送设备或者与网络发送设备连接的控制装置,实时检 测本网络发送设备当前各连接的丢包情况以及时延等反应连接的拥塞情况的参数而确定 各连接当前的拥塞参数。 0053 步骤202:确定各连接的发送窗口的大小。 0054 在数据发送中,网络发送设备通过发送窗口的大小限定在预定的控制周期(也称 发送事件周期)内的实际发送数据量,在一个控制周期内的实际发送数据量不得超过本连 接当前对应的发送窗口的大小,即在各连接的数据发送上,采用发送窗口的大小控制各连 接的发送速度。 0055 在本实施例中为各连接确定发送窗口的大小可以按。

40、照现有技术进行,也可以按照 本发明的进一步实施例2-10的记载。 0056 步骤203:分别比较各连接当前的拥塞参数与本连接的拥塞参数上限的大小。 0057 在本实施例中各连接的拥塞参数反映了各连接的数据发送传输质量,在本实施例 中可以但不限于采用本连接的丢包率或者本连接在预定时间内的丢包数量等表示。 0058 在本实施例中可以由网络发送设备对各连接当前的拥塞参数与拥塞参数上限的 大小进行比较,也可以由与网络发送设备连接的控制装置执行本步骤,然后按照以下的流 程指示网络发送设备进行数据发送控制。 0059 在本实施例中,各连接的拥塞参数上限可以为相同,也可以根据各连接的数据业 务类型,分别为各。

41、连接设置相应的拥塞参数上限。各连接的拥塞参数上限的既可以由用户 预设设定,也可以由网络发送设备或者外部的控制装置根据预定的算法估算确定。 0060 步骤204:如果本连接当前的拥塞参数小于本连接的拥塞参数上限,则按照步骤 205处理该连接的数据发送;如果本连接当前的拥塞参数大于或者等于本连接的拥塞参数 上限,则按照步骤206处理该连接的数据发送。 0061 如果某个或者某几个连接当前的拥塞参数小于本连接的拥塞参数上限,判定该连 接或者这些连接当前处于非拥塞状态,否则认为该连接处于拥塞状态。 0062 步骤205:按照本连接确定的发送窗口的大小,发送本连接上的数据,跳转步骤 207。 0063 。

42、如果在步骤204中判定某个或者某几个连接当前的拥塞参数小于本连接的拥塞 参数上限,则在本实施例中,判定该连接或者这些连接当前处于非拥塞状态,则对于该连接 或者这些连接,分别按照步骤202中为该连接确定的发送窗口的大小,发送本连接上的数 据。 0064 步骤206:按照本连接的拥塞窗口,发送该连接的数据,跳转步骤207。 0065 如果在步骤202中比较确定某连接或者某些连接当前的拥塞参数等于或者大于 说 明 书CN 102752076 A 12 5/15页 13 各连接的拥塞参数上限,则认为该连接或者这些连接当前处于拥塞状态,则对该连接进行 拥塞控制,为该连接确定用于支持当前网络拥塞情况下数据。

43、发送的拥塞窗口(即网络处于 拥塞情况下特殊的发送窗口的大小,该拥塞窗口在发生拥塞时往往降为极低的窗口的大 小,然后随着该连接的网络发送情况好转(即拥塞参数逐渐降低),拥塞窗口的大小逐渐增 大而恢复),拥塞窗口小于网络正常状态下的发送窗口的大小,网络发送设备以一个发送周 期的实际发送数据量不超过当前拥塞窗口的大小为限制发送该连接上的数据。 0066 在进行各连接的拥塞控制时,采用的拥塞控制算法(即确定各连接的拥塞窗口的 大小的技术方案)可以但不限于为现有技术中的拥塞控制算法的任意。 0067 步骤207:进入下一控制周期,返回步骤201。 0068 由上可见,采用本实施例技术方案,由于在本实施例。

44、中网络发送设备在处理各连 接的数据发送进行各连接的数据发送控制时,只有某连接的拥塞参数达到本连接对应的拥 塞参数上限时,才对该连接执行拥塞控制算法,按照当前的拥塞算法确定的拥塞窗口发送 本连接上的数据,即降低当前连接发送窗口的大小以及发送速度;如果某连接或者某些连 接虽然当前发生了丢包但是其拥塞参数未达到本连接对应的拥塞参数上限时,仍然按照发 送窗口的大小,发送本连接上的数据。可见,本实施例技术方案,只有当某连接的丢包情况 达到一定程度时,才对该连接执行拥塞算法控制,故采用本实施例技术方案,有利于避免由 于网络偶发性丢包而导致数据发送速度震荡过大的问题,有利于提高数据发送的稳定性, 而当某连接。

45、的丢包情况达到一定程度后,对该连接执行拥塞算法控制,又确保了该连接的 数据准确发送。 0069 实施例2: 0070 参见图3所示,本实施例提供的数据发送的控制方法与实施例1所不同之处包括, 在本实施例中数据发送的控制方法包括如下步骤: 0071 步骤301:检测各连接当前的拥塞参数。 0072 与实施例1中步骤201相同。 0073 步骤302:确定各连接的发送窗口的大小。 0074 与实施例1中步骤202相同。 0075 步骤303:分别比较各连接当前的拥塞参数与本连接的拥塞参数上限的大小。 0076 与实施例1中步骤203相同。 0077 步骤304:如果本连接当前的拥塞参数小于本连接的。

46、拥塞参数上限,则执行步骤 307;否则执行步骤305。 0078 如果某个或者某几个连接当前的拥塞参数小于本连接的拥塞参数上限,判定该连 接或者这些连接当前处于非拥塞状态;否则认为该连接处于拥塞状态,则执行步骤305,确 定是否解除拥塞控制。 0079 步骤305:比较连接在当前控制周期的拥塞窗口的大小与连接的预定的门限的大 小。 0080 设连接在当前控制周期的拥塞窗口的大小为A,该连接的预定的门限为B,则在本 步骤中比较A、B的大小。 0081 在本步骤中各连接的预定的门限可以相同也可以不同,其可以由用户根据经验设 定也可以由网络估算确定。 说 明 书CN 102752076 A 13 6。

47、/15页 14 0082 步骤306:如果连接在当前控制周期的拥塞窗口的大小等于或者大于连接的预定 的门限的大小,则执行步骤307;否则执行步骤308。 0083 如果当前拥塞窗口的大小A等于或者大于连接的预定的门限B,则执行步骤307, 在当前控制周期内解除拥塞控制;否则继续进行拥塞控制。 0084 步骤307:按照本连接确定的发送窗口的大小,发送本连接上的数据,跳转步骤 309。 0085 与实施例1中步骤205相同。 0086 步骤308:按照本连接的拥塞窗口,发送该连接的数据,跳转步骤309。 0087 步骤309:进入下一控制周期,返回步骤301。 0088 由上可见,应用本实施例技。

48、术方案除了具有实施例1所述的有益效果外,还由于 当某连接进入拥塞控制后,当某连接的拥塞窗口的大小恢复达到或者超过该连接的预定的 门限时,则对该连接停止拥塞控制,而在当前控制周期内按照该连接的发送窗口的大小发 送本连接上的数据。应用本实施例技术方案,有利于在网络状况恢复到预定的良好程度时, 快速地使该连接的数据发送恢复到非拥塞状况时的发送(即按照该连接的发送窗口的大小 发送本连接的数据),而无需缓慢等待拥塞恢复,有利于提高网络发送速度。 0089 实施例3: 0090 参见图4所示,本实施例提供的一种数据发送的控制方法与实施例1、2所不同之 处在于,在本实施例中可以按照以下的技术方案确定各连接的。

49、发送窗口的大小。该发送窗 口的大小确定方法主要包括以下流程: 0091 步骤401:检测该网络发送设备当前的连接的总数。 0092 在本实施例中定时检测该网络发送设备当前的连接的总数(记为N),以便在下一 控制周期(记为T)时,根据当前检测确定的当前的连接的总数确定各连接的发送窗口的大 小。 0093 步骤402:确定本网络发送设备的出口带宽目标值。 0094 在本步骤中,出口带宽目标值B也可以由用户预先固定,也可以但不限于由该网 络发送设备或者与之连接的控制器通过计算估算确定本网络发送设备的出口带宽目标值。 0095 设本网络发送设备的干链路的出口带宽目标值,记为B,该网络发送设备在当前的 控制周期(记为T)的发送窗口的大小目标值为:W0=B*T。 0096 步骤403:根据当前网络发送设备的连接的总数以及出口带宽目标值,确定各连 接的发送窗口的。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1