CN102752076A - 数据发送的控制方法及装置及计算机系统 - Google Patents
数据发送的控制方法及装置及计算机系统 Download PDFInfo
- Publication number
- CN102752076A CN102752076A CN2012102045436A CN201210204543A CN102752076A CN 102752076 A CN102752076 A CN 102752076A CN 2012102045436 A CN2012102045436 A CN 2012102045436A CN 201210204543 A CN201210204543 A CN 201210204543A CN 102752076 A CN102752076 A CN 102752076A
- Authority
- CN
- China
- Prior art keywords
- connection
- current
- size
- data
- congestion
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本发明涉及通信领域,公开了一种数据发送的数据发送的控制方法及装置及计算机系统。控制方法包括检测各连接当前的拥塞参数;确定各连接的发送窗口的大小;如果任一连接当前的拥塞参数小于本连接的拥塞参数上限,则判定连接当前处于非拥塞状态,在当前控制周期内,按照连接的发送窗口的大小发送连接的数据,返回步骤:检测各连接当前的拥塞参数;如果任一连接当前的拥塞参数等于或者大于本连接的拥塞参数上限,则判定连接当前处于拥塞状态,在当前控制周期内,分别按照连接的拥塞窗口的大小发送连接的数据,返回步骤:检测各连接当前的拥塞参数。,应用该技术方案有利于提高数据发送的稳定性,提高带宽利用率。
Description
技术领域
本发明涉及通信领域,特别涉及一种数据发送的控制方法及装置及计算机系统。
背景技术
随着通信技术的发展,数据传输是目前通信网络的重要组成业务,在网络中,通过网络发送设备完成数据的发送,而在网络拓扑中一个网络发送设备往往与多个对端连接,一个网络发送设备执行多个连接的数据发送业务。
图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:
其中,ρ.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:
步骤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。此时,
由上可见,本实施例除了具备实施例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、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述的实施方式,并不构成对该技术方案保护范围的限定。任何在上述实施方式的精神和原则之内所作的修改、等同替换和改进等,均应包含在该技术方案的保护范围之内。
Claims (25)
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所述的一种数据发送的控制方法,其特征在于,
在当前处于拥塞状态的所述连接的总数等于或者大于所述第二上限时,所述带宽降额系数为:随当前处于拥塞状态的所述连接的总数变化的变量参数:
所述当前处于拥塞状态的连接的总数越大,所述带宽降额系数越小。
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的任一小数;
所述基础发送窗口确定单元具体用于根据所述连接的总数、带宽增幅系数以及带宽降额系数,确定各所述连接的所述基础发送窗口的大小。
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.一种计算机系统,其特征在于,包括:
总线;
与所述总线相连的处理器;
与所述总线相连的存储器;
其中,所述处理器通过所述总线,调用所述存储器中存储的代码,以用于:
检测各连接当前的拥塞参数;
确定各所述连接的发送窗口的大小;
分别比较各所述连接当前的所述拥塞参数与各所述连接的拥塞参数上限的大小;
如果任一所述连接当前的所述拥塞参数小于本所述连接的拥塞参数上限,则判定所述连接当前处于非拥塞状态,在当前控制周期内,按照所述连接的发送窗口的大小发送所述连接的数据,返回步骤:检测各连接当前的拥塞参数;
如果任一所述连接当前的所述拥塞参数等于或者大于本所述连接的拥塞参数上限,则判定所述连接当前处于拥塞状态,在当前所述控制周期内,分别按照所述连接的拥塞窗口的大小发送所述连接的所述数据,返回步骤:检测各连接当前的拥塞参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210204543.6A CN102752076B (zh) | 2012-06-20 | 2012-06-20 | 数据发送的控制方法及装置及计算机系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210204543.6A CN102752076B (zh) | 2012-06-20 | 2012-06-20 | 数据发送的控制方法及装置及计算机系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102752076A true CN102752076A (zh) | 2012-10-24 |
CN102752076B CN102752076B (zh) | 2016-08-10 |
Family
ID=47031997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210204543.6A Active CN102752076B (zh) | 2012-06-20 | 2012-06-20 | 数据发送的控制方法及装置及计算机系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102752076B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103368690A (zh) * | 2013-06-27 | 2013-10-23 | 厦门雅迅网络股份有限公司 | 车载设备的音视频流媒体信息的传输方法 |
WO2016000191A1 (zh) * | 2014-06-30 | 2016-01-07 | 华为技术有限公司 | 传输拥塞的确定方法及装置 |
CN107135171A (zh) * | 2016-02-29 | 2017-09-05 | 华为技术有限公司 | 一种多媒体流传输的方法以及媒体流发送设备 |
CN107920028A (zh) * | 2017-11-14 | 2018-04-17 | 东软集团股份有限公司 | 一种数据包发送方法、装置及设备 |
CN111371692A (zh) * | 2020-03-13 | 2020-07-03 | 中科驭数(北京)科技有限公司 | 基于tcp协议的窗口控制方法、装置和电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1556629A (zh) * | 2004-01-06 | 2004-12-22 | �����ʵ��ѧ | 通信网络中调整拥塞窗口的方法 |
CN1968192A (zh) * | 2006-05-09 | 2007-05-23 | 华为技术有限公司 | 一种流量控制的方法及装置 |
US20110026401A1 (en) * | 2009-07-29 | 2011-02-03 | Sony Corporation | Transmission rate control method and communication device |
-
2012
- 2012-06-20 CN CN201210204543.6A patent/CN102752076B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1556629A (zh) * | 2004-01-06 | 2004-12-22 | �����ʵ��ѧ | 通信网络中调整拥塞窗口的方法 |
CN1968192A (zh) * | 2006-05-09 | 2007-05-23 | 华为技术有限公司 | 一种流量控制的方法及装置 |
US20110026401A1 (en) * | 2009-07-29 | 2011-02-03 | Sony Corporation | Transmission rate control method and communication device |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103368690A (zh) * | 2013-06-27 | 2013-10-23 | 厦门雅迅网络股份有限公司 | 车载设备的音视频流媒体信息的传输方法 |
WO2016000191A1 (zh) * | 2014-06-30 | 2016-01-07 | 华为技术有限公司 | 传输拥塞的确定方法及装置 |
CN105340318A (zh) * | 2014-06-30 | 2016-02-17 | 华为技术有限公司 | 传输拥塞的确定方法及装置 |
CN105340318B (zh) * | 2014-06-30 | 2019-02-19 | 华为技术有限公司 | 传输拥塞的确定方法及装置 |
CN107135171A (zh) * | 2016-02-29 | 2017-09-05 | 华为技术有限公司 | 一种多媒体流传输的方法以及媒体流发送设备 |
CN107135171B (zh) * | 2016-02-29 | 2021-06-29 | 华为技术有限公司 | 一种多媒体流传输的方法以及媒体流发送设备 |
CN107920028A (zh) * | 2017-11-14 | 2018-04-17 | 东软集团股份有限公司 | 一种数据包发送方法、装置及设备 |
CN107920028B (zh) * | 2017-11-14 | 2020-06-16 | 东软集团股份有限公司 | 一种数据包发送方法、装置及设备 |
CN111371692A (zh) * | 2020-03-13 | 2020-07-03 | 中科驭数(北京)科技有限公司 | 基于tcp协议的窗口控制方法、装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102752076B (zh) | 2016-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Low et al. | Understanding TCP Vegas: a duality model | |
EP0829986B1 (en) | System for improving data throughput of a TCP/IP Network connection with slow return channel | |
CN100446466C (zh) | 用于流式数据的反应性带宽控制 | |
US7672234B2 (en) | Congestion avoidance within aggregate channels | |
CN102752076A (zh) | 数据发送的控制方法及装置及计算机系统 | |
US20050201284A1 (en) | TCP optimized single rate policer | |
CN1910868B (zh) | 用于控制队列缓冲器的方法及装置 | |
CN114938350B (zh) | 数据中心无损网络中基于拥塞反馈的数据流传输控制方法 | |
CN101039273B (zh) | 通信设备、传输控制方法、和传输控制程序 | |
CN102468941A (zh) | 网络丢包处理方法及装置 | |
US20070127392A1 (en) | Delay-based overflow routing in communication systems | |
CN102325092B (zh) | 一种报文处理方法和设备 | |
CN107682279B (zh) | 一种时延控制方法、装置及存储介质、程序产品 | |
CN103973587A (zh) | 多路径网络拥塞控制方法及装置 | |
CN109698797A (zh) | 一种tcp拥塞控制方法和装置 | |
CN102104552B (zh) | 基于明确拥塞通知机制的报文控制方法及设备 | |
CN109309625A (zh) | 一种数据中心网络灾备传输方法 | |
CN114124826B (zh) | 拥塞位置可感知的低时延数据中心网络传输系统及方法 | |
CN115086227A (zh) | 转发策略的确定方法、装置、设备及存储介质 | |
CN115460156A (zh) | 一种数据中心无损网络拥塞控制方法、装置、设备及介质 | |
Oljira et al. | Mdtcp: Towards a practical multipath transport protocol for telco cloud datacenters | |
CN106789709B (zh) | 一种负载均衡的方法及装置 | |
CN109067663B (zh) | 一种针对应用程序内控制请求响应速率的系统和方法 | |
CN101547192A (zh) | 一种分发传输tcp数据包的方法及装置 | |
JP2002217963A (ja) | データ配信管理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |