CN111314237B - 数据包传输速率的调整方法、装置、设备及可读存储介质 - Google Patents
数据包传输速率的调整方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN111314237B CN111314237B CN202010058422.XA CN202010058422A CN111314237B CN 111314237 B CN111314237 B CN 111314237B CN 202010058422 A CN202010058422 A CN 202010058422A CN 111314237 B CN111314237 B CN 111314237B
- Authority
- CN
- China
- Prior art keywords
- data packet
- sliding window
- window
- target data
- transmission rate
- 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.)
- Active
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/22—Traffic shaping
- H04L47/225—Determination of shaping rate, e.g. using a moving window
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
- H04L1/1657—Implicit acknowledgement of correct or incorrect reception, e.g. with a moving window
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种数据包传输速率的调整方法、装置、设备及可读存储介质,该方法包括步骤:当接收到客户端发送给服务器的目标数据包后,获取所述目标数据包对应的窗口扩大因子和窗口调整参数;根据所述窗口扩大因子和所述窗口调整参数调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口;根据调整后的滑动窗口将所述目标数据包发送给服务器,以供所述服务器根据所接收的目标数据包的数据量调整返回响应数据包给所述客户端的传输速率。本发明实现在客户端和服务器之间进行数据包传输时,减少了带宽浪费。
Description
技术领域
本发明涉及数据传输技术领域,尤其涉及一种数据包传输速率的调整方法、装置、设备及可读存储介质。
背景技术
在现有的流量控制的技术中,在设备上进行流量控制,因为服务器的数据包传输速率是无法控制的,服务器的数据包传输速率一般会大于期望控制的传输速率,这时候为了让客户端的数据包传输速率控制在期望的范围内,就需要在中间的流控设备进行丢包,但是这样就会造成客户端的带宽浪费,客户端实际使用的带宽远小于服务器传输过来的带宽。
目前能够稳定的控制住LAN(Local Area Network,局域网)口的数据包的传输速率,但是针对WAN(Wide Area Network,广域网)口的数据包的传输速率就无能为力,因为在WAN口,流控设备只负责接收数据包,无法对数据包进行管控,WAN口接收多少数据包完全是服务器来控制的,这时候就会出现一个问题,如果流控的流量很小,比如要把流量控制在500kb/s,但是服务器给WAN口发送数据包的速率是5000kb/s,这时候WAN口的传输速率是远大于流控控制的传输速率的,这时候流控设备为了能够控制住LAN口的传输速率,只能通过丢包的方式来控制到达LAN口的数据包,这样就会导客户端的线路实际每秒只接受500kb的流量,但是客户端的线路上却跑了5000kb的流量,造成了4500kb带宽浪费,而且中间丢包的过程中,会导致数据包乱序,导致会有一堆重传包,重传包越多,造成的带宽浪费越多,虽说是有500kb流量到达了客户端,但是这时候500kb流量可能有一半是重传包,实际的传输速率只有250kb/s。
由此可知,目前客户端和服务器之间传输数据包过程中,容易造成带宽浪费。
发明内容
本发明的主要目的在于提供一种数据包传输速率的调整方法、装置、设备及可读存储介质,旨在解决现有的客户端和服务器之间传输数据包过程中,容易造成带宽浪费的技术问题。
为实现上述目的,本发明提供一种数据包传输速率的调整方法,所述数据包传输速率的调整方法包括步骤:
当接收到客户端发送给服务器的目标数据包后,获取所述目标数据包对应的窗口扩大因子和窗口调整参数;
根据所述窗口扩大因子和所述窗口调整参数调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口;
根据调整后的滑动窗口将所述目标数据包发送给服务器,以供所述服务器根据所接收的目标数据包的数据量调整返回响应数据包给所述客户端的传输速率。
优选地,所述当接收到客户端发送给服务器的目标数据包后,获取所述目标数据包对应的窗口扩大因子和窗口调整参数的步骤包括:
当接收到客户端发送给服务器的目标数据包后,将所述目标数据包存储至预设的缓存队列中,获取所述目标数据包对应的窗口扩大因子,以及获取所述窗口调整参数中,所述目标数据包对应连接的滑动窗口历史尺寸值,并判断所述目标数据包是否满足预设的降速条件;
若所述目标数据包满足所述降速条件,则获取所述缓存队列中所述客户端当前连接对应数据包的第一数据量;
所述根据所述窗口扩大因子和所述窗口调整参数调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口的步骤包括:
根据所述窗口扩大因子、所述滑动窗口历史尺寸值和所述第一数据量调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
优选地,所述根据所述窗口扩大因子、所述滑动窗口历史尺寸值和所述第一数据量调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口的步骤包括:
对比所述滑动窗口历史尺寸值对应的第一单位数据量和所述第一数据量;
若所述第一单位数据量大于预设倍数的所述第一数据量,则将所述滑动窗口历史尺寸值减小一半,得到减小后的滑动窗口尺寸值,并根据减小后的滑动窗口尺寸值和所述窗口扩大因子调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口;
若所述第一单位数据量大于所述第一数据量,且小于或者等于预设倍数的所述第一数据量,则计算所述缓存队列对应的缓存总数据量与预设滑动窗口初始尺寸值对应第二单位数据量之间的数据量差值,并根据所述数据量差值和所述窗口扩大因子调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口;
若所述第一单位数据量小于或者等于所述第一数据量,且大于所述第二单位数据量,则根据所述滑动窗口历史尺寸值和所述窗口扩大因子调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口;
若所述第一单位数据量小于或者等于所述第二单位数据量,则根据预设的滑动窗口初始尺寸值和所述窗口扩大因子调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
优选地,所述判断所述目标数据包是否满足预设的降速条件的步骤之后,还包括:
若确定所述目标数据包未满足所述降速条件,则计算所述目标数据包对应的第一确认值;
若所述第一确认值大于所述滑动窗口历史尺寸值,则将所述滑动窗口历史尺寸值修改为所述客户端已确认数据包对应的第二数据量;
所述根据所述窗口扩大因子和所述窗口调整参数调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口的步骤包括:
根据所述第二数据量和所述窗口扩大因子调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
优选地,所述若确定所述目标数据包未满足所述降速条件,则计算所述目标数据包对应的第一确认值的步骤包括:
若确定所述目标数据包未满足所述降速条件,则获取上一次调整所述滑动窗口尺寸时所述目标数据包对应的历史确认值,以及获取所述服务器发送给所述客户端数据包对应的最大确认值;
计算所述历史确认值和所述最大确认值之间的第一差值,将所述第一差值确定为所述目标数据包对应的第一确认值。
优选地,所述判断所述目标数据包是否满足预设的降速条件的步骤包括:
判断所述客户端当前连接对应数据包所占用的第一缓存空间是否大于预设阈值,以及判断所述第一缓存空间与所述缓存队列对应总缓存空间之间的第一空间比例是否大于第一预设比例;
若所述第一缓存空间大于所述预设阈值,且所述第一空间比例大于所述第一预设比例,则确定所述目标数据包满足预设的降速条件;
或者获取客户端用户对应的连接数,根据所述连接数确定所述客户端对应当前连接在所述缓存队列中的缓存占比;
若所述缓存占比大于所述第二预设比例,则确定所述目标数据包满足预设的降速条件。
优选地,所述根据调整后的滑动窗口将所述目标数据包发送给服务器,以供所述服务器根据所接收的目标数据包的数据量调整返回响应数据包给所述客户端的传输速率的步骤之后,还包括:
确定客户端用户对应数据包在所述缓存队列中所占用的第二缓存空间;
若所述第二缓存空间与所述缓存队列对应总缓存空间之间的第二空间比例小于第三预设比例,则确定所述客户端当前连接对应数据包所占用的第一缓存空间;
若所述第一缓存空间与所述缓存队列的剩余缓存空间之间的空间比例大于第四预设比例,则将所述目标数据包对应的滑动窗口尺寸调整为零。
优选地,所述当接收到客户端发送给服务器的目标数据包后,获取所述目标数据包对应的窗口扩大因子和窗口调整参数的步骤包括:
当接收到客户端发送给服务器的目标数据包后,获取所述目标数据包对应的窗口扩大因子,以及获取所述客户端已确认数据包对应的第二数据量;
若所述第二数据量大于预设数据量,则所述根据所述窗口扩大因子和所述窗口调整参数调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口的步骤包括:
根据所述窗口扩大因子和所述窗口调整参数减小所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口;
若所述第二数据量小于或者等于所述预设数据量,则所述根据所述窗口扩大因子和所述窗口调整参数调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口的步骤包括:
根据所述窗口扩大因子和所述窗口调整参数增大所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
优选地,所述根据所述窗口扩大因子和所述窗口调整参数增大所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口的步骤包括:
获取所述窗口调整参数中,所述目标数据包对应的序列值和第二确认值,以及待调整参数值;
计算所述序列值、第二确认值和所述待调整参数值之间的和,根据所述序列值、第二确认值和所述待调整参数值之间的和,以及所述窗口扩大因子增大所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
优选地,当所述目标数据包对应的传输速率小于预设速率时,所述根据所述窗口扩大因子和所述窗口调整参数减小所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口的步骤之前,还包括:
若检测到所述客户端已确认数据包对应的流量额度大于预设额度时,缓存所述目标数据包,并检测是否接收到所述服务器发送给所述客户端的响应数据包;
若未检测到所述服务器发送给所述客户端的响应数据包,则所述根据所述窗口扩大因子和所述窗口调整参数减小所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口的步骤包括:
根据所述窗口调整参数中的最大报文长度和所述窗口扩大因子减小所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
优选地,当所述目标数据包的传输速率大于或者等于预设速率时,所述根据所述窗口扩大因子和所述窗口调整参数减小所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口的步骤包括:
计算窗口调整参数中,所述客户端已确认数据包对应的序列最大值和所述目标数据包对应第二确认值之间的第二差值,并根据所述第二差值和所述窗口扩大因子减小所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
此外,为实现上述目的,本发明还提供一种数据包传输速率的调整装置,所述数据包传输速率的调整装置包括:
获取模块,用于当接收到客户端发送给服务器的目标数据包后,获取所述目标数据包对应的窗口扩大因子和窗口调整参数;
调整模块,用于根据所述窗口扩大因子和所述窗口调整参数调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口;
发送模块,用于根据调整后的滑动窗口将所述目标数据包发送给服务器,以供所述服务器根据所接收的目标数据包的数据量调整返回响应数据包给所述客户端的传输速率。
此外,为实现上述目的,本发明还提供一种数据包传输速率的调整设备,所述数据包传输速率的调整设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的数据包传输速率的调整程序,所述数据包传输速率的调整程序被所述处理器执行时实现如上所述的数据包传输速率的调整方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据包传输速率的调整程序,所述数据包传输速率的调整程序被处理器执行时实现如上所述的数据包传输速率的调整方法的步骤。
本发明通过在客户端和服务器之间传输数据包过程中,根据所传输数据包对应的窗口扩大因子和窗口调整参数调整目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口,并根据调整后的滑动窗口将所需传输的数据包发送给服务器,以供服务器根据所接收数据包的数据量调整返回响应数据包给客户端的传输速率,即服务器根据调整后的滑动窗口动态的改变传输数据包的传输速率,把传输数据包的传输速率控制在指定值,从而实现服务器流量的控制,减少了带宽浪费。
附图说明
图1是本发明数据包传输速率的调整方法一种实施例的流程示意图;
图2是本发明实施例中数据包传输速率的调整系统对应的一种架构图;
图3是本发明数据包传输速率的调整方法另一实施例的流程示意图;
图4是本发明实施例中调整滑动窗口之前流控设备和服务器之间WAN口的流量示意图;
图5是本发明实施例中调整滑动窗口之后流控设备和服务器之间WAN口的流量示意图;
图6是本发明数据包传输速率的调整方法另一实施例的流程示意图;
图7是本发明实施例中通过缓存队列调整滑动窗口尺寸的一种流程示意图;
图8是本发明数据包传输速率的调整装置较佳实施例的结构示意图;
图9是本发明实施例方案涉及的硬件运行环境的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种数据包传输速率的调整方法,参照图1,图1为本发明数据包传输速率的调整方法第一实施例的流程示意图。
本发明实施例提供了数据包传输速率的调整方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
首先,对本实施例中所涉及的专业名词进行解释:
带宽浪费:网络数据包在传输过程中,服务器实际传输了x个数据包,但是客户端实际接收到了y个数据包,这时候就造成了x-y的数据浪费。
TCP:传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。
滑动窗口(Sliding window):是一种流量控制技术。早期的网络通信中,通信双方不会考虑网络的拥挤情况直接发送数据,但由于大家不知道网络拥塞状况,同时发送数据,导致中间节点阻塞掉包,最终导致谁也发不了数据,所以就有了滑动窗口机制来解决此问题窗口;滑动窗口协议是用来改善吞吐量的一种技术,即容许发送方在接收任何应答之前传送附加的包,接收方告诉发送方在某一时刻能送多少包(称窗口尺寸)。TCP中采用滑动窗口来进行传输控制,滑动窗口的大小意味着接收方还有多大的缓冲区可以用于接收数据。发送方可以通过滑动窗口的大小来确定应该发送多少字节的数据。在本发明实施例中,滑动窗口用于在客户端和服务器数据传输过程中进行传输控制。
窗口尺寸:指的是TCP连接中滑动窗口的大小。
MSS(Maximum Segment Size,最大报文段长度):是TCP协议定义的一个选项,MSS选项用于在TCP连接建立时,收发双方协商通信时每一个报文段所能承载的最大数据长度。
window scale:TCP的窗口扩大因子。
数据包传输速率的调整方法包括:
步骤S10,当接收到客户端发送给服务器的目标数据包后,获取所述目标数据包对应的窗口扩大因子和窗口调整参数。
当流控设备接收到客户端发送给服务器的数据包后,流控设备将当前所接收到的数据包确定为目标数据包,并获取目标数据包对应的窗口扩大因子和窗口调整参数。需要说明的是,参照图2,图2是本发明实施例中数据包传输速率的调整系统对应的一种架构图,由图2可知,流控设备是服务器和客户端之间的中间设备,当服务器和客户端在传输数据过程中,流控设备作为中转设备,流控设备与服务器之间的通信接口为WAN口,流控设备与客户端之间的通信接口为LAN口。本实施例中的数据包传输速率的调整方法可应用于服务器发送数据包给客户端的过程中,也可应用于客户端发送数据包给服务器过程中,为了便于描述,本实施例是以客户端发送数据包给服务器的过程为例进行说明。不同客户端对应的窗口扩大因子可能不同,也可能相同,窗口扩大因子的大小与客户端的配置相关,客户端的配置包括但不限于CPU类型和内存大小。不同场景下所采用的窗口调整参数是不一样的,具体的窗口调整参数在下面各实施例中详细描述。
步骤S20,根据所述窗口扩大因子和所述窗口调整参数调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
步骤S30,根据调整后的滑动窗口将所述目标数据包发送给服务器,以供所述服务器根据所接收的目标数据包的数据量调整返回响应数据包给所述客户端的传输速率。
当流控设备获取到窗口扩大因子和窗口调整参数后,流控设备根据窗口扩大因子和窗口调整参数调整目标数据包对应的滑动窗口尺寸,得到调整尺寸后的滑动窗口,并通过调整尺寸后的滑动窗口将目标数据包发送给服务器。当服务器接收到目标数据包后,服务器会根据所接收的目标数据包的数据量决定返回响应数据包给客户端过程中,传输响应数据包的传输速率。可以理解的是,响应数据包是服务器处理目标数据包后,所得的响应数据包。具体地,服务器会将传输响应数据包的传输速率调整到与流控设备发送目标数据包给服务器的传输速率一致,以避免流控设备对应的传输速率和服务器对应的WAN口的传输速率不一致,导致带宽浪费。进一步地,在其它实施例中,服务器也可控制传输第一速率与传输第二速率之间的速率差值小于预设速率差值,其中,传输第一速率为服务器调整传输响应数据包的速率后所得的传输速率,传输第二速率是流控设备发送目标数据包给服务器的传输速率。预设速率差值可根据具体需要而设置,本实施例对预设速率差值不做具体限制。
本实施例通过在客户端和服务器之间传输数据包过程中,根据所传输数据包对应的窗口扩大因子和窗口调整参数调整目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口,并根据调整后的滑动窗口将所需传输的数据包发送给服务器,以供服务器根据所接收数据包的数据量调整返回响应数据包给客户端的传输速率,即服务器根据调整后的滑动窗口动态的改变传输数据包的传输速率,把传输数据包的传输速率控制在指定值,从而实现服务器流量的控制,减少了带宽浪费。
进一步地,提出本发明数据包传输速率的调整方法另一实施例。
所述数据包传输速率的调整方法第二实施例与所述数据包传输速率的调整方法第一实施例的区别在于,参照图3,所述步骤S10包括:
步骤S11,当接收到客户端发送给服务器的目标数据包后,将所述目标数据包存储至预设的缓存队列中,获取所述目标数据包对应的窗口扩大因子,获取所述窗口调整参数中,所述目标数据包对应连接的滑动窗口历史尺寸值,并判断所述目标数据包是否满足预设的降速条件。
当流控设备接收到客户端发送给服务器的目标数据包后,流控设备将目标数据包存储至缓存队列中,其中,缓存队列是预先设置好的,缓存队列的大小可根据具体需要而设置,本实施例中对缓存队列的大小不做具体限制。流控设备获取目标数据包对应的窗口扩大因子,以及获取窗口调整参数中,目标数据包对应连接的滑动窗口历史尺寸值,并判断目标数据包是否满足预设的降速条件。需要说明的是,目标数据包对应的连接为传输数据包所对应的当前连接。滑动窗口历史尺寸值是流控设备上一次调整滑动窗口后对应的滑动窗口尺寸大小。
进一步地,所述判断所述目标数据包是否满足预设的降速条件的步骤包括:
步骤a,判断所述客户端当前连接对应数据包所占用的第一缓存空间是否大于预设阈值,以及判断所述第一缓存空间与所述缓存队列对应总缓存空间之间的第一空间比例是否大于第一预设比例。
步骤b,若所述第一缓存空间大于所述预设阈值,且所述第一空间比例大于所述第一预设比例,则确定所述目标数据包满足预设的降速条件。
具体地,流控设备判断目标数据包是否满足预设的降速条件的过程可为:流控设备确定客户端当前连接对应数据包在缓存队列中所占用的缓存空间,需要说明的是,客户端当前连接对应的数据包所占用的缓存空间是缓存队列中所存储的当前连接对应的数据包大小。需要说明的是,本实施例中缓存空间和预设比例等对应的“第一”和“第二”等表示顺序的词语只是为了区分不同情况下对应的缓存空间和预设比例。当流控设备确定第一缓存空间后,流控设备判断第一缓存空间是否大于预设阈值,以及判断第一缓存空间与缓存队列对应总缓存空间之间的第一空间比例是否大于第一预设比例。预设阈值可设置为2MTU(Maximum Transmission Unit,最大传输单元),或者设置为4MTU等。第一预设比例可设置为50%,或者设置为60%等。第一缓冲空间与缓存队列对应空间之间的第一空间比例等于第一缓存空间除以缓存队列对应的总缓存空间。
若流控设备确定第一缓存空间大于预设阈值,且第一空间比例大于第一预设比例,流控设备则确定目标数据包满足预设的降速条件;若流控设备确定第一缓存空间小于或者等于预设阈值,和/或第一空间比例小于或者等于第一预设比例,流控设备则确定目标数据包满足提速条件。
所述判断所述目标数据包是否满足预设的降速条件的步骤还包括:
步骤c,获取客户端用户对应的连接数,根据所述连接数确定所述客户端对应当前连接在所述缓存队列中的缓存占比。
步骤d,若所述缓存占比大于所述第二预设比例,则确定所述目标数据包满足预设的降速条件。
进一步地,流控设备判断目标数据包是否满足预设的降速条件的过程还可为:流控设备获取客户端用户对应连接的连接数,其中,一个用户至少对应着一个连接。当流控设备确定连接数后,流控设备根据连接数确定客户端对应当前连接在缓存队列中的缓存占比,并判断缓存占比是否大于第二预设比例。流控设备根据连接数确定客户端对应用户在缓存队列中的缓存占比的计算公式为:kx+ax=1,其中,k表示客户端用户对应的连接数,x表示缓存占比,a表示占比系数,该占比系数可根据具体需要而设置,如可设置为2,也可设置为3等。如当a=2时,当客户端用户只对应一个连接时,一个连接对应的缓存占比为1/3,缓存队列最大的剩余缓存为2/3;当客户端用户对应2个连接时,一个连接对应的缓存占比为1/4,缓存队列最大的剩余缓存为1/2;当客户端用户对应3个连接时,一个连接对应的缓存占比为1/5,缓存队列最大的剩余缓存为2/5;当客户端用户对应4个连接时,一个连接对应的缓存占比为1/6,缓存队列最大的剩余缓存为1/3。由此可知,当客户端用户对应k个连接时,一个连接对应的缓存占比为1/(k+2),缓存队列最大的剩余缓存为2/(k+2)。需要说明的是,第二预设比例可与第一预设比例相等,也可与第一预设比例不相等。
若确定缓存占比大于第二预设比例,流控设备则确定目标数据包满足预设的降速条件;若确定缓存占比小于或者等于第二预设比例,流控设备则确定目标数据包满足预设的提速条件。
步骤S12,若所述目标数据包满足所述降速条件,则获取所述缓存队列中所述客户端当前连接对应数据包的第一数据量。
若确定目标数据包满足降速条件,流控设备则获取缓存队列中客户端当前连接的数据包的第一数据量。可以理解的是,缓存队列中除了存储有当前连接对应的目标数据包外,还可能存储有当前连接对应的其它数据包,因此,第一数据量除了包括目标数据包的数据量外,还可能包括当前连接对应的其它数据包的数据量,通过第一数据量即可确定缓存队列中,客户端当前连接所传输数据包的大小。
所述步骤S20包括:
步骤S22,根据所述窗口扩大因子、所述滑动窗口历史尺寸值和所述第一数据量调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
当流控设备获取到第一数据量后,流控设备根据窗口扩大因子、滑动窗口历史尺寸值和第一数据量调整目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
进一步地,步骤S22包括:
步骤e,对比所述滑动窗口历史尺寸值对应的第一单位数据量和所述第一数据量。
步骤f,若所述第一单位数据量大于预设倍数的所述第一数据量,则将所述滑动窗口历史尺寸值减小一半,得到减小后的滑动窗口尺寸值,并根据减小后的滑动窗口尺寸值和所述窗口扩大因子调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
具体地,当流控设备得到第一数据量后,流控设备确定滑动窗口尺寸值对应的第一单位数据量,并对比第一单位数据量和第一数据量。可以理解的是,通过滑动窗口历史尺寸值可确定流控设备1秒所能传输的数据量,即确定第一单位数据量。为了提高滑动窗口调整的准确率,需要保证第一单位数据量和第一数据量对应的单位是相同的。若确定第一单位数据量大于预设倍数的第一数据量,流控设备则将滑动窗口历史尺寸值减小一半,得到减小后的滑动窗口尺寸值,并根据减小后的滑动窗口尺寸值和窗口扩大因子调整目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。具体地,若调整后的滑动窗口尺寸记为L,减小后的滑动窗口尺寸值记为A,窗口扩大因子记为n,则L=A÷2n。其中,预设倍数可根据具体需要而设置,如可将预设倍数设置为2、3或者3.5等。
步骤g,若所述第一单位数据量大于所述第一数据量,且小于或者等于预设倍数的所述第一数据量,则计算所述缓存队列对应的缓存总数据量与预设滑动窗口初始尺寸值对应第二单位数据量之间的数据量差值,并根据所述数据量差值和所述窗口扩大因子调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
若确定第一单位数据量大于第一数据量,且小于或者等于预设倍数的第一数据量,流控设备则计算缓存队列对应的缓存总数据量与预设滑动窗口初始尺寸值对应第二单位数据量之间的数据量差值,并根据数据量差值和窗口扩大因子调整目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。需要说明的是,缓存总数据量是缓存队列所能存储数据包的总数据量,是总缓存空间的另一种描述方式。在本实施例中,滑动窗口初始尺寸值对应的第二单位数据量设置为2MSS,在其它实施例中,滑动窗口初始尺寸值对应的第二单位数据量也可设置为3MSS,或者5MSS等。具体地,若调整后的滑动窗口尺寸记为L,数据量差值记为B,窗口扩大因子记为n,则L=B÷2n。
步骤h,若所述第一单位数据量小于或者等于所述第一数据量,且大于所述第二单位数据量,则根据所述滑动窗口历史尺寸值和所述窗口扩大因子调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
若确定第一单位数据量小于或者等于第一数据量,流控设备则判断第一单位数据量是否大于第二单位数据量。若确定第一单位数据量大于第二单位数据量,流控设备则根据滑动窗口历史尺寸值和窗口扩大因子调整目标,得到调整后的滑动窗口。具体地,若调整后的滑动窗口尺寸记为L,滑动窗口历史尺寸值为C,窗口扩大因子记为n,则L=C÷2n。
步骤i,若所述第一单位数据量小于或者等于所述第二单位数据量,则根据预设的滑动窗口初始尺寸值和所述窗口扩大因子调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
若确定第一单位数据量小于或者等于第二单位数据量,流控设备则根据滑动窗口初始尺寸值和窗口扩大因子调整目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。具体地,若调整后的滑动窗口尺寸记为L,滑动窗口初始尺寸值为D,窗口扩大因子记为n,则L=D÷2n。
本实施例通过在流控设备中设置缓存队列,将客户端发送给服务器的数据包存储到缓存队列中,然后根据窗口扩大因子和窗口调整参数调整滑动窗口尺寸,得到调整后的滑动窗口,根据调整后的滑动窗口将数据包发送给服务器,以供服务器根据所接收数据包的数据量调整返回响应数据包给客户端的传输速率,使服务器根据调整后的滑动窗口返回数据包给客户端,即根据调整后的滑动窗口动态的改变TCP连接的传输速率,把TCP连接的传输速率控制在指定值,从而实现服务器流量的控制,避免带宽浪费。需要说明的是,本实施例中所描述的连接为TCP连接。
具体地,可参照图4和图5,图4是本发明实施例中调整滑动窗口之前流控设备和服务器之间WAN口的流量示意图;图5是本发明实施例中调整滑动窗口之后流控设备和服务器之间WAN口的流量示意图。
进一步地,提出本发明数据包传输速率的调整方法另一实施例。
所述数据包传输速率的调整方法第三实施例与所述数据包传输速率的调整方法第一和/或第二实施例的区别在于,所述数据包传输速率的调整方法还包括:
步骤j,若确定所述目标数据包未满足所述降速条件,则计算所述目标数据包对应的第一确认值。
若确定目标数据包未满足降速条件,流控设备则确定目标数据包满足提速条件,并计算目标数据包对应的第一确认值。
进一步地,所述步骤j包括:
步骤j1,若确定所述目标数据包未满足所述降速条件,则获取上一次调整滑动窗口尺寸时所述目标数据包对应的历史确认值,以及获取所述目标数据包对应的最大确认值。
步骤j2,计算所述历史确认值和所述最大确认值之间的第一差值,将所述第一差值确定为所述目标数据包对应的第一确认值。
具体地,流控设备若确定目标数据包未满足降速条件,流控设备则获取上一次调整滑动窗口尺寸时目标数据包对应的历史确认值,以及获取目标数据包对应的最大确认值。需要说明的是,历史确认值是流控设备上一次调整滑动窗口尺寸时所接收的目标数据包对应的最大ack值,ack(Acknowledgement),即确认字符,在数据通信中,服务器发给客户端的一种传输类控制字符,表示发来的数据已确认接收无误。seq是序列号,这是为了连接以后传送数据用的,ack是对收到的数据包的确认,值是等待接收的数据包的序列号。在客户端和服务器建立TCP连接过程中,会三次握手,在三次握手过程中,会在第一次消息发送中,客户端随机选取一个序列号作为自己的初始序号发送给服务器;第二次消息发送过程中,服务器使用ack对客户端的数据包进行确认,因为已经收到了序列号为x的数据包,准备接收序列号为x+1的包,所以ack=x+1,同时服务器告诉客户端自己的初始序列号,就是seq=y;第三条消息发送过程中,客户端告诉服务器收到了服务器的确认消息并准备建立连接,客户端自己此条消息的序列号是x+1,所以seq=x+1,而ack=y+1是表示客户端正准备接收服务器序列号为y+1的数据包,seq是数据包本身的序列号;ack是期望对方继续发送的那个数据包的序列号。可以理解的是,最大确认值为客户端当前所能接收的响应数据包的最大ack值。
当得到历史确认值和最大确认值后,流控设备计算历史确认值和最大确认值之间的差值,并将历史确认值和最大确认值之间的差值记为第一差值,将第一差值确定为目标数据包对应的第一确认值。
步骤k,若所述第一确认值大于所述滑动窗口历史尺寸值,则将所述滑动窗口历史尺寸值修改为所述客户端已确认数据包对应的第二数据量。
步骤l,根据所述第二数据量和所述窗口扩大因子调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
当流控设备计算得到第一确认值后,流控设备检测第一确认值是否小于滑动窗口历史尺寸值。若确定第一确认值大于滑动窗口历史尺寸值,流控设备则将滑动窗口历史尺寸值修改为客户端已确认数据包对应的第二数据量,即将滑动窗口历史尺寸值修改为流控设备上一次返回给客户端的响应数据包对应数据包的长度。当流控设备将滑动窗口历史尺寸值修改为第二数据量后,流控设备根据第二数据量和窗口扩大因子调整目标数据包对应的滑动窗口尺寸,即根据修改后的窗口历史尺寸值和窗口扩大因子调整目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。具体地,若调整后的滑动窗口尺寸记为L,修改后的窗口历史尺寸值为E,窗口扩大因子记为n,则L=E÷2n。
需要说明的是,此时调整后的滑动窗口尺寸值小于滑动窗口历史尺寸值,即流控设备发送目标数据包给服务器时的数据包传输速率和上一次的传输速率相比,会降低。进一步地,若确定第一确认值小于或者等于滑动窗口历史尺寸值,流控设备可维持当前的滑动窗口尺寸,不调整滑动窗口尺寸,或者用户也可以根据需要手动触发调整目标数据包对应的数据包传输速率的调整指令。
本实施例通过在确定目标数据包满足降速条件时,根据客户端所接收数据包的ack值的大小来调整当前数据包对应的滑动窗口尺寸,避免传输数据包的传输速率和之前相比差别太大,从而在保证数据包传输速率的情况下,减少带宽的浪费。
进一步地,提出本发明数据包传输速率的调整方法另一实施例。
所述数据包传输速率的调整方法第四实施例与所述数据包传输速率的调整方法第一、第二和/或第三施例的区别在于,参照图6,所述数据包传输速率的调整方法还包括:
步骤S40,确定客户端用户对应数据包在所述缓存队列中所占用的第二缓存空间。
流控设备确定客户端用户对应数据包在缓存队列中所占用的第二缓存空间。可以理解的是,在缓存队列中,客户端用户对应的数据包除了包括目标数据包之外,还可能包括客户端之前发送的数据包。第二缓存空间就是客户端用户对应数据包在缓存队列中的数据量。
步骤S50,若所述第二缓存空间与所述缓存队列对应总缓存空间之间的第二空间比例小于第三预设比例,则确定所述客户端当前连接对应数据包所占用的第一缓存空间。
步骤S60,若所述第一缓存空间与所述缓存队列的剩余缓存空间之间的空间比例大于第四预设比例,则将所述目标数据包对应的滑动窗口尺寸调整为零。
当流控设备确定第二缓存空间后,流控设备计算第二缓存空间与缓存队列对应总缓存空间之间的比例,得到第二空间比例,并判断第二空间比例是否小于第三预设比例,其中,第三预设比例可能等于第一预设比例,也可能不等于第一预设比例。若流量设备确定第二空间比例小于第三预设比例,流控设备则确定客户端当前连接对应数据包所占用的第一缓存空间,并计算第一缓存空间与缓存队列中剩余缓存空间之间的比例,得到第三空间比例,并判断第三空间比例是否大于第四预设比例。其中,第四预设比例可与第一预设比例相等,也可与第一预设比例不相等。若确定第三空间比例大于第四预设比例,流控设备则将目标数据包对应的滑动窗口尺寸调整为零。进一步地,若确定第二空间比例大于或者等于第三预设比例,和/或确定第三空间小于或者等于第四预设比例,流控设备则维持当前滑动窗口尺寸,不调整当前的滑动窗口尺寸。
可以理解的是,当将滑动窗口尺寸调整为0时,表明当前流控设备不会发送目标数据包给服务器。需要说明的是,当将滑动窗口尺寸调整为0时,表明缓存队列中存储数据包的数据量太大,剩余缓存空间太少,此时,若流控设备检测到缓存队列中存储数据包的数据量减小之后,流控设备可通过上述的方案判断目标数据包是降速条件,还是满足提速条件,从而调整滑动窗口尺寸。需要说明的是,步骤S40、步骤S50和步骤S60是在步骤S30之后执行的,即将滑动窗口尺寸调整为0是在增大滑动窗口尺寸或者减小滑动窗口尺寸之后执行的。通过缓存队列的缓存情况来调整滑动窗口尺寸,提高了滑动窗口尺寸调整的准确性。
具体地,参照图7,图7是本发明实施例中通过缓存队列调整滑动窗口尺寸的一种流程示意图。
首先,流控设备在接收客户端发送给服务器的数据包后,将数据包存储至缓存队列,即数据包入队→判断数据包是否需要流控→若需要流控,则进行通信通道匹配,获取通道ID,通道对应的线路号,数据包传输方向→根据通道ID,线路号,数据包传输方向获取对应的通道调度器→根据通道ID在通道调度器上获取通道类信息→根据通道类信息判断当前通道缓存队列是否满了,满了则进行丢包处理→获取流控的连接跟踪→建立单用户树→数据包进队→在用户调度器上获取流控用户类节点→判断单用户的缓存队列是否超限,超限进行丢包→在syn上获取MSS和窗口扩大因子→慢启动当前连接,数据包的第一包滑动窗口尺寸设置为2MSS→计算出当前数据包的滑动窗口尺寸→判断是否修改成零窗口,若是,则把上面一步的计算结果修改成零→把TCP连接的滑动窗口尺寸修改成上面的计算结果→数据包根据连接的session_id加到用户的连接队列上→更新用户调度器中用户对应哈希表→调整用户在用户调度器上调度状态,从空闲状态调整到非空闲状态→调整用户在用户调度器的活跃用户数和用户调度器的缓存信息→根据单用户树判断当前用户是否移入特定队列→更新通道类的缓存信息→统计通道类流量速率信息→更新通道类信息中的最长队列信息→如果通道没有在调度队列里面,把通道加入通道调度器的调度队列里面。
进一步地,提出本发明数据包传输速率的调整方法第五实施例。
所述数据包传输速率的调整方法第五实施例与所述数据包传输速率的调整方法第一、第二、第三和/或第四施例的区别在于,所述步骤S10还包括:
步骤m,当接收到客户端发送给服务器的目标数据包后,获取所述目标数据包对应的窗口扩大因子,以及获取所述客户端已确认数据包对应的第二数据量。
当流控设备接收到客户端发送给服务器的目标数据包后,流控设备获取目标数据包对应的窗口扩大因子,以及获取客户端已确认数据包对应的第二数据量。需要说明的是,流控设备获取第二数据量的过程已在上面实施例中详细说明,在此不再重复赘述。在本实施例中,流控设备中没有设置缓存队列。当流控设备重新调整传输数据包的传输速率后,在接收到第一个数据包是不会改变滑动窗口尺寸。在大流量的情况下,流控设备的滑动窗口尺寸需要和原始窗口尺寸大小一致,以保证在流控设备发送数据包给服务器的传输速率比服务器发送数据包给流控设备的传输速率大的时候,让客户端对应的数据包传输速率达到最大值,不影响客户端原本的传输速率最大值。可以理解的是,原始窗口尺寸为流控设备中预先设置好的默认滑动窗口尺寸。
若所述第二数据量大于预设数据量,则步骤S20包括:
步骤n,根据所述窗口扩大因子和所述窗口调整参数减小所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
当流控设备得到第二数据量后,流控设备判断第二数据量大是否大于预设数据量,其中,预设数据量可根据具体需要而设置,本实施例对预设数据量的大小不做具体限制。预设数据量为客户端所能接收的数据量的最大值。若流控设备确定第二数据量大于预设数据量,流控设备则确定窗口扩大因子和窗口调整参数减小目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
进一步地,当所述目标数据包对应的传输速率小于预设速率时,所述数据包传输速率的调整方法还包括:
步骤o,若检测到所述客户端已确认数据包对应的流量额度大于预设额度时,缓存所述目标数据包,并检测是否接收到所述服务器发送给所述客户端的响应数据包。
若未检测到到所述服务器发送给所述客户端的响应数据包,所述步骤n包括:
步骤n1,根据所述窗口调整参数中的最大报文长度和所述窗口扩大因子减小所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
当确定第二数据量大于预设数据量后,流控设备判断目标数据包对应的传输速率是否小于预设速率,其中,目标数据包对应的传输速率是客户端将目标数据包发送给服务器的传输数据速率。若确定目标数据包对应的传输速率小于预设速率,流控设备则检测客户端在当前连接已确认数据包对应的流量额度是否大于预设额度,其中,预设额度可设置流量总额度的5%、8%或者9%等。若传输速率为500kb/s,则总流量额度为500kb,若流控设备当前传输数据包所用时间为0.2s,则当前所用流量额度为0.2×500=100kb,当前剩余的流量额度为500-100=400kb。
若确定客户端已确认数据包对应的流量额度大于预设额度时,流控设备则缓存所接收的目标数据包,并检测当前服务器是否有发送响应数据包给客户端,即检测是否接收到服务器发送给客户端的响应数据包。若未检测到服务器发送给客户端的响应数据包,流控设备则根据窗口调整参数中的最大报文长度和窗口扩大因子减小目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口,具体地,若调整后的滑动窗口尺寸记为L,最大报文长度MSS,对应的调整系数为m,窗口扩大因子记为n,则L=mMSS÷2n,其中,m的大小可根据具体需要而设置,如可设置为2、3或者5等。
若检测到服务器发送给客户端的响应数据包,流控设备则将滑动窗口尺寸调整为零。当流控设备检测到服务器不再发送响应数据包给客户端时,即检测到服务器不再重传响应数据包时,才将缓存的目标数据包发送给服务器。可以理解的是,响应数据包为客户端在发送目标数据包之前所发送给服务端的数据包对应的响应数据包。进一步地,若确定客户端已确认数据包对应的流量额度小于或者等于预设额度,流控设备则按照当前滑动窗口将目标数据包发送给服务器。
需要说明的是,当目标数据包对应的传输速率小于预设速率时,表明当前传输数据包的速率较小,若此时流控设备以默认滑动窗口尺寸发送目标数据包给服务器时,传输速率对应的流量额度不够用,且流控设备确定将滑动窗口初始尺寸值大于总流量额度的十分之一时,就可以把滑动窗口调整成总流量额度的十分之一,防止一开始滑动窗口初始值过程,一次性把流量额度用完。可以理解的是,在其它实施例中,十分之一也可用九分之一,十分之三等代替。
需要说明的是,在流控设备中,一个TCP连接最多缓存一个目标数据包,如果流控设备在缓存一个目标数据包后,又接收到另一个目标数据包,流控设备会将滑动窗口尺寸调整为零。
进一步地,当所述目标数据包对应的传输速率大于或者等于预设速率时,所述步骤n还包括:
步骤n2,计算窗口调整参数中,所述客户端已确认数据包对应的序列最大值和所述目标数据包对应第二确认值之间的第二差值,并根据所述第二差值和所述窗口扩大因子减小所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
当确定目标数据包对应的传输速率大于或者等于预设速率时,流控设备则获取窗口调整参数中,客户端已确认数据包对应的序列最大值和目标数据包对应的第二确认值,并计算序列最大值和第二确认值之间的差值,得到第二差值。其中,序列最大值为客户端已确认数据包对应的最大seq值,第二确认值为目标数据包对应的ack值。当流控设备得到第二差值后,流控设备根据第二差值和窗口扩大因子减小目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。具体地,若调整后的滑动窗口尺寸记为L,第二差值记为F,窗口扩大因子记为n,则L=F÷2n。可以理解的是,当流控设备接收到响应数据包过程中,按照正常情况,1秒时间应该掉多少数据包,若检测到掉的数据包比正常情况下要多,则说明书需要降速。进一步地,若服务器认为当前已处于满窗口情况下,若此时客户端已确认接收到目标数据包对应的响应数据包,此时,若服务器重传数据包,也只会重传当前目标数据包对应的响应数据包。
进一步地,若在调整滑动窗口后,流控设备检测到服务器发送响应数据包对应的传输速率未降低,流控设备则将调整后的滑动窗口再减小1MSS,以降低服务器发送响应数据包对应的传输速率。可以理解的是,流控设备也可将调整后滑动窗口减小2MSS或者4MSS等。
若所述第二数据量小于或者等于预设数据量,则步骤S20包括:
步骤p,根据所述窗口扩大因子和所述窗口调整参数增大所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
若确定第二数据量小于或者等于预设数据量,流控设备则根据窗口扩大因子和窗口调整参数增大目标数据包对应的滑动窗口尺寸。
进一步地,所述步骤p包括:
步骤p1,获取所述窗口调整参数中,所述目标数据包对应的序列值和第二确认值,以及待调整参数值。
具体地,流控设备获取窗口调整参数中,目标数据包对应的序列值和第二确认值,以及获取待调整参数值,其中,目标数据包对应的序列值为目标数据包中的seq值,待调整参数值为t,单位是mtu,其中,t的大小可根据具体需要而设置,如可设置为2、3或者5等。
步骤p2,计算所述序列值、第二确认值和所述待调整参数值之间的和,根据所述序列值、第二确认值和所述待调整参数值之间的和,以及所述窗口扩大因子增大所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
当流控设备获取到序列值、第二确认值和待调整参数后,流控设备计算序列值、第二确认值和待调整参数之间的和,并根据序列值、第二确认值和待调整参数之间的和,以及窗口扩大因子增大目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。具体地,若调整后的滑动窗口尺寸记为L,根据序列值、第二确认值和待调整参数之间的和记为G,窗口扩大因子记为n,则L=G÷2n。需要说明的是,在增大滑动窗口尺寸过程中,并不区分目标数据包对应的传输速率大于或者等于预设速率,还是小于预设速率。
本实施例通过不在流控设备中设置缓存队列,根据窗口扩大因子和窗口调整参数调整滑动窗口尺寸,得到调整后的滑动窗口,根据调整后的滑动窗口将数据包发送给服务器,以供服务器根据所接收数据包的数据量调整返回响应数据包给客户端的传输速率,使服务器根据调整后的滑动窗口返回数据包给客户端,即根据调整后的滑动窗口动态的改变TCP连接的传输速率,把TCP连接的传输速率控制在指定值,从而实现服务器流量的控制,避免带宽浪费。
此外,本发明还提供一种数据包传输速率的调整装置,参照图8,所述数据包传输速率的调整装置包括:
获取模块10,用于当接收到客户端发送给服务器的目标数据包后,获取所述目标数据包对应的窗口扩大因子和窗口调整参数;
调整模块20,用于根据所述窗口扩大因子和所述窗口调整参数调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口;
发送模块30,用于根据调整后的滑动窗口将所述目标数据包发送给服务器,以供所述服务器根据所接收的目标数据包的数据量调整返回响应数据包给所述客户端的传输速率。
进一步地,所述获取模块10包括:
存储单元,用于当接收到客户端发送给服务器的目标数据包后,将所述目标数据包存储至预设的缓存队列中;
第一获取单元,用于获取所述目标数据包对应的窗口扩大因子,以及获取所述窗口调整参数中,所述目标数据包对应连接的滑动窗口历史尺寸值;
判断单元,用于判断所述目标数据包是否满足预设的降速条件;
所述第一获取单元还用于若所述目标数据包满足所述降速条件,则获取所述缓存队列中所述客户端当前连接对应数据包的第一数据量;
所述调整模块20还用于根据所述窗口扩大因子、所述滑动窗口历史尺寸值和所述第一数据量调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
进一步地,所述调整模块20包括:
对比单元,用于对比所述滑动窗口历史尺寸值对应的第一单位数据量和所述第一数据量;
处理单元,用于若所述第一单位数据量大于预设倍数的所述第一数据量,则将所述滑动窗口历史尺寸值减小一半,得到减小后的滑动窗口尺寸值;
第一调整单元,用于根据减小后的滑动窗口尺寸值和所述窗口扩大因子调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口;
第一计算单元,用于若所述第一单位数据量大于所述第一数据量,且小于或者等于预设倍数的所述第一数据量,则计算所述缓存队列对应的缓存总数据量与预设滑动窗口初始尺寸值对应第二单位数据量之间的数据量差值;
所述第一调整单元还用于根据所述数据量差值和所述窗口扩大因子调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口;若所述第一单位数据量小于或者等于所述第一数据量,且大于所述第二单位数据量,则根据所述滑动窗口历史尺寸值和所述窗口扩大因子调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口;若所述第一单位数据量小于或者等于所述第二单位数据量,则根据预设的滑动窗口初始尺寸值和所述窗口扩大因子调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
进一步地,所述获取模块10还包括:
第二计算单元,用于若确定所述目标数据包未满足所述降速条件,则计算所述目标数据包对应的第一确认值;
修改单元,用于若所述第一确认值大于所述滑动窗口历史尺寸值,则将所述滑动窗口历史尺寸值修改为所述客户端已确认数据包对应的第二数据量;
所述调整模块30还用于根据所述第二数据量和所述窗口扩大因子调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
进一步地,所述第二计算单元包括:
获取子单元,用于若确定所述目标数据包未满足所述降速条件,则获取上一次调整所述滑动窗口尺寸时所述目标数据包对应的历史确认值,以及获取所述服务器发送给所述客户端数据包对应的最大确认值;
计算子单元,用于计算所述历史确认值和所述最大确认值之间的第一差值;
第一确定子单元,用于将所述第一差值确定为所述目标数据包对应的第一确认值。
进一步地,所述判断单元包括:
判断子单元,用于判断所述客户端当前连接对应数据包所占用的第一缓存空间是否大于预设阈值,以及判断所述第一缓存空间与所述缓存队列对应总缓存空间之间的第一空间比例是否大于第一预设比例;
第二确定子单元,用于若所述第一缓存空间大于所述预设阈值,且所述第一空间比例大于所述第一预设比例,则确定所述目标数据包满足预设的降速条件;
获取子单元,用于获取客户端用户对应的连接数;
第三确定子单元,用于根据所述连接数确定所述客户端对应当前连接在所述缓存队列中的缓存占比;
若所述缓存占比大于所述第二预设比例,则确定所述目标数据包满足预设的降速条件。
进一步地,所述数据包传输速率的调整装置还包括:
确定模块,用于确定客户端用户对应数据包在所述缓存队列中所占用的第二缓存空间;若所述第二缓存空间与所述缓存队列对应总缓存空间之间的第二空间比例小于第三预设比例,则确定所述客户端当前连接对应数据包所占用的第一缓存空间;
所述调整模块30还用于若所述第一缓存空间与所述缓存队列的剩余缓存空间之间的空间比例大于第四预设比例,则将所述目标数据包对应的滑动窗口尺寸调整为零。
进一步地,所述获取模块10还包括:
第二获取单元,用于当接收到客户端发送给服务器的目标数据包后,获取所述目标数据包对应的窗口扩大因子,以及获取所述客户端已确认数据包对应的第二数据量;
所述调整模块30还用于若所述第二数据量大于预设数据量,则根据所述窗口扩大因子和所述窗口调整参数减小所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口;若所述第二数据量小于或者等于所述预设数据量,则根据所述窗口扩大因子和所述窗口调整参数增大所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
进一步地,所述调整模块30包括:
第三获取单元,用于获取所述窗口调整参数中,所述目标数据包对应的序列值和第二确认值,以及待调整参数值;
第三计算单元,用于计算所述序列值、第二确认值和所述待调整参数值之间的和;
第一调整单元,用于根据所述序列值、第二确认值和所述待调整参数值之间的和,以及所述窗口扩大因子增大所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
进一步地,当所述目标数据包对应的传输速率小于预设速率时,所述数据包传输速率的调整装置还包括:
缓存模块,用于若检测到所述客户端已确认数据包对应的流量额度大于预设额度时,缓存所述目标数据包;
检测模块,用于检测是否接收到所述服务器发送给所述客户端的响应数据包;
所述调整模块30还用于若未检测到所述服务器发送给所述客户端的响应数据包,则根据所述窗口调整参数中的最大报文长度和所述窗口扩大因子减小所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
进一步地,当所述目标数据包的传输速率大于或者等于预设速率时,所述调整模块30还包括:
第四计算单元,用于计算窗口调整参数中,所述客户端已确认数据包对应的序列最大值和所述目标数据包对应第二确认值之间的第二差值;
第二调整单元,用于根据所述第二差值和所述窗口扩大因子减小所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
本发明数据包传输速率的调整装置具体实施方式与上述数据包传输速率的调整方法各实施例基本相同,在此不再赘述。
此外,本发明还提供一种数据包传输速率的调整设备,如图9所示,图9是本发明实施例方案涉及的硬件运行环境的结构示意图。
需要说明的是,图9即可为数据包传输速率的调整设备的硬件运行环境的结构示意图。
如图9所示,该数据包传输速率的调整设备可以包括:处理器1001,例如CPU,存储器1005,用户接口1003,网络接口1004,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,数据包传输速率的调整设备还可以包括RF(RadioFrequency,射频)电路,传感器、音频电路、WiFi模块等等。
本领域技术人员可以理解,图9中示出的数据包传输速率的调整设备结构并不构成对数据包传输速率的调整设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图9所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据包传输速率的调整程序。其中,操作系统是管理和控制数据包传输速率的调整设备硬件和软件资源的程序,支持数据包传输速率的调整程序以及其它软件或程序的运行。
在图9所示的数据包传输速率的调整设备中,用户接口1003主要用于连接客户端和服务器,分别与客户端和服务器进行数据通信;网络接口1004主要用于后台服务器,与后台服务器进行数据通信;处理器1001可以用于调用存储器1005中存储的数据包传输速率的调整程序,并执行如上所述的数据包传输速率的调整方法的步骤。
本发明数据包传输速率的调整设备具体实施方式与上述数据包传输速率的调整方法各实施例基本相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有数据包传输速率的调整程序,所述数据包传输速率的调整程序被处理器执行时实现如上所述的数据包传输速率的调整方法的步骤。
本发明计算机可读存储介质具体实施方式与上述数据包传输速率的调整方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (14)
1.一种数据包传输速率的调整方法,其特征在于,所述数据包传输速率的调整方法包括以下步骤:
当接收到客户端发送给服务器的目标数据包后,获取所述目标数据包对应的窗口扩大因子和窗口调整参数;
根据所述窗口扩大因子和所述窗口调整参数调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口;
根据调整后的滑动窗口将所述目标数据包发送给服务器,以供所述服务器根据所接收的目标数据包的数据量调整返回响应数据包给所述客户端的传输速率。
2.如权利要求1所述的数据包传输速率的调整方法,其特征在于,所述当接收到客户端发送给服务器的目标数据包后,获取所述目标数据包对应的窗口扩大因子和窗口调整参数的步骤包括:
当接收到客户端发送给服务器的目标数据包后,将所述目标数据包存储至预设的缓存队列中,获取所述目标数据包对应的窗口扩大因子,以及获取所述窗口调整参数中,所述目标数据包对应连接的滑动窗口历史尺寸值,并判断所述目标数据包是否满足预设的降速条件;
若所述目标数据包满足所述降速条件,则获取所述缓存队列中所述客户端当前连接对应数据包的第一数据量;
所述根据所述窗口扩大因子和所述窗口调整参数调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口的步骤包括:
根据所述窗口扩大因子、所述滑动窗口历史尺寸值和所述第一数据量调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
3.如权利要求2所述的数据包传输速率的调整方法,其特征在于,所述根据所述窗口扩大因子、所述滑动窗口历史尺寸值和所述第一数据量调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口的步骤包括:
对比所述滑动窗口历史尺寸值对应的第一单位数据量和所述第一数据量;
若所述第一单位数据量大于预设倍数的所述第一数据量,则将所述滑动窗口历史尺寸值减小一半,得到减小后的滑动窗口尺寸值,并根据减小后的滑动窗口尺寸值和所述窗口扩大因子调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口;
若所述第一单位数据量大于所述第一数据量,且小于或者等于预设倍数的所述第一数据量,则计算所述缓存队列对应的缓存总数据量与预设滑动窗口初始尺寸值对应第二单位数据量之间的数据量差值,并根据所述数据量差值和所述窗口扩大因子调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口;
若所述第一单位数据量小于或者等于所述第一数据量,且大于所述第二单位数据量,则根据所述滑动窗口历史尺寸值和所述窗口扩大因子调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口;
若所述第一单位数据量小于或者等于所述第二单位数据量,则根据预设的滑动窗口初始尺寸值和所述窗口扩大因子调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
4.如权利要求2所述的数据包传输速率的调整方法,其特征在于,所述判断所述目标数据包是否满足预设的降速条件的步骤之后,还包括:
若确定所述目标数据包未满足所述降速条件,则计算所述目标数据包对应的第一确认值;
若所述第一确认值大于所述滑动窗口历史尺寸值,则将所述滑动窗口历史尺寸值修改为所述客户端已确认数据包对应的第二数据量;
所述根据所述窗口扩大因子和所述窗口调整参数调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口的步骤包括:
根据所述第二数据量和所述窗口扩大因子调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
5.如权利要求4所述的数据包传输速率的调整方法,其特征在于,所述若确定所述目标数据包未满足所述降速条件,则计算所述目标数据包对应的第一确认值的步骤包括:
若确定所述目标数据包未满足所述降速条件,则获取上一次调整所述滑动窗口尺寸时所述目标数据包对应的历史确认值,以及获取所述服务器发送给所述客户端数据包对应的最大确认值;
计算所述历史确认值和所述最大确认值之间的第一差值,将所述第一差值确定为所述目标数据包对应的第一确认值。
6.如权利要求2所述的数据包传输速率的调整方法,其特征在于,所述判断所述目标数据包是否满足预设的降速条件的步骤包括:
判断所述客户端当前连接对应数据包所占用的第一缓存空间是否大于预设阈值,以及判断所述第一缓存空间与所述缓存队列对应总缓存空间之间的第一空间比例是否大于第一预设比例;
若所述第一缓存空间大于所述预设阈值,且所述第一空间比例大于所述第一预设比例,则确定所述目标数据包满足预设的降速条件;
或者获取客户端用户对应的连接数,根据所述连接数确定所述客户端对应当前连接在所述缓存队列中的缓存占比;
若所述缓存占比大于第二预设比例,则确定所述目标数据包满足预设的降速条件。
7.如权利要求1至6任一项所述的数据包传输速率的调整方法,其特征在于,所述根据调整后的滑动窗口将所述目标数据包发送给服务器,以供所述服务器根据所接收的目标数据包的数据量调整返回响应数据包给所述客户端的传输速率的步骤之后,还包括:
确定客户端用户对应数据包在预设的缓存队列中所占用的第二缓存空间;
若所述第二缓存空间与所述缓存队列对应总缓存空间之间的第二空间比例小于第三预设比例,则确定所述客户端当前连接对应数据包所占用的第一缓存空间;
若所述第一缓存空间与所述缓存队列的剩余缓存空间之间的空间比例大于第四预设比例,则将所述目标数据包对应的滑动窗口尺寸调整为零。
8.如权利要求1所述的数据包传输速率的调整方法,其特征在于,所述当接收到客户端发送给服务器的目标数据包后,获取所述目标数据包对应的窗口扩大因子和窗口调整参数的步骤包括:
当接收到客户端发送给服务器的目标数据包后,获取所述目标数据包对应的窗口扩大因子,以及获取所述客户端已确认数据包对应的第二数据量;
若所述第二数据量大于预设数据量,则所述根据所述窗口扩大因子和所述窗口调整参数调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口的步骤包括:
根据所述窗口扩大因子和所述窗口调整参数减小所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口;
若所述第二数据量小于或者等于所述预设数据量,则所述根据所述窗口扩大因子和所述窗口调整参数调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口的步骤包括:
根据所述窗口扩大因子和所述窗口调整参数增大所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
9.如权利要求8所述的数据包传输速率的调整方法,其特征在于,所述根据所述窗口扩大因子和所述窗口调整参数增大所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口的步骤包括:
获取所述窗口调整参数中,所述目标数据包对应的序列值和第二确认值,以及待调整参数值;
计算所述序列值、第二确认值和所述待调整参数值之间的和,根据所述序列值、第二确认值和所述待调整参数值之间的和,以及所述窗口扩大因子增大所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
10.如权利要求8或9所述的数据包传输速率的调整方法,其特征在于,当所述目标数据包对应的传输速率小于预设速率时,所述根据所述窗口扩大因子和所述窗口调整参数减小所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口的步骤之前,还包括:
若检测到所述客户端已确认数据包对应的流量额度大于预设额度时,缓存所述目标数据包,并检测是否接收到所述服务器发送给所述客户端的响应数据包;
若未检测到所述服务器发送给所述客户端的响应数据包,则所述根据所述窗口扩大因子和所述窗口调整参数减小所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口的步骤包括:
根据所述窗口调整参数中的最大报文长度和所述窗口扩大因子减小所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
11.如权利要求8或9所述的数据包传输速率的调整方法,其特征在于,当所述目标数据包的传输速率大于或者等于预设速率时,所述根据所述窗口扩大因子和所述窗口调整参数减小所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口的步骤包括:
计算窗口调整参数中,所述客户端已确认数据包对应的序列最大值和所述目标数据包对应第二确认值之间的第二差值,并根据所述第二差值和所述窗口扩大因子减小所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口。
12.一种数据包传输速率的调整装置,其特征在于,所述数据包传输速率的调整装置包括:
获取模块,用于当接收到客户端发送给服务器的目标数据包后,获取所述目标数据包对应的窗口扩大因子和窗口调整参数;
调整模块,用于根据所述窗口扩大因子和所述窗口调整参数调整所述目标数据包对应的滑动窗口尺寸,得到调整后的滑动窗口;
发送模块,用于根据调整后的滑动窗口将所述目标数据包发送给服务器,以供所述服务器根据所接收的目标数据包的数据量调整返回响应数据包给所述客户端的传输速率。
13.一种数据包传输速率的调整设备,其特征在于,所述数据包传输速率的调整设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的数据包传输速率的调整程序,所述数据包传输速率的调整程序被所述处理器执行时实现如权利要求1至11中任一项所述的数据包传输速率的调整方法的步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据包传输速率的调整程序,所述数据包传输速率的调整程序被处理器执行时实现如权利要求1至11中任一项所述的数据包传输速率的调整方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010058422.XA CN111314237B (zh) | 2020-01-17 | 2020-01-17 | 数据包传输速率的调整方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010058422.XA CN111314237B (zh) | 2020-01-17 | 2020-01-17 | 数据包传输速率的调整方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111314237A CN111314237A (zh) | 2020-06-19 |
CN111314237B true CN111314237B (zh) | 2023-05-12 |
Family
ID=71161486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010058422.XA Active CN111314237B (zh) | 2020-01-17 | 2020-01-17 | 数据包传输速率的调整方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111314237B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111984681B (zh) * | 2020-08-20 | 2023-07-25 | 中国银行股份有限公司 | 贷后征信查询方法及装置 |
CN113194042B (zh) * | 2021-03-19 | 2023-02-21 | 迅雷计算机(深圳)有限公司 | 一种流量传输速度的控制方法、装置以及存储介质 |
CN113438180B (zh) * | 2021-06-02 | 2022-07-26 | 广联达科技股份有限公司 | Udp数据包的传输控制方法、装置、设备及可读存储介质 |
CN115022252B (zh) * | 2022-05-31 | 2024-04-09 | 青岛海信移动通信技术有限公司 | 一种配置传输数据包最大长度的方法及设备 |
CN115766606A (zh) * | 2022-11-04 | 2023-03-07 | 长城汽车股份有限公司 | 一种数据传输方法、装置、车载终端及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101162971A (zh) * | 2007-10-30 | 2008-04-16 | 华为技术有限公司 | 数据传输的方法、设备及系统 |
CN107819853A (zh) * | 2017-11-13 | 2018-03-20 | 中国联合网络通信集团有限公司 | 一种数据传输方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2906425B1 (fr) * | 2006-09-21 | 2009-10-23 | Ipanema Technologies Sa | Procede d'optimisation du controle du trafic dans un reseau de telecommunication par paquets |
-
2020
- 2020-01-17 CN CN202010058422.XA patent/CN111314237B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101162971A (zh) * | 2007-10-30 | 2008-04-16 | 华为技术有限公司 | 数据传输的方法、设备及系统 |
CN107819853A (zh) * | 2017-11-13 | 2018-03-20 | 中国联合网络通信集团有限公司 | 一种数据传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111314237A (zh) | 2020-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111314237B (zh) | 数据包传输速率的调整方法、装置、设备及可读存储介质 | |
US8457053B2 (en) | Methods and apparatus for dynamically adjusting a data packet window size for data packet transmission in a wireless communication network | |
US7724750B2 (en) | Expedited data transmission in packet based network | |
EP3780542B1 (en) | Data transmission method and device | |
CN110266605B (zh) | 用于速率控制的方法和设备 | |
US9930097B2 (en) | Transport accelerator systems and methods | |
EP1768296A2 (en) | Method and apparatus for transmitting signaling data messages in a wireless communications system | |
CN102148662B (zh) | 一种数据发送速率的调整方法及装置 | |
KR20160134680A (ko) | 요청 관리자 및 연결 관리자 기능을 수행하는 전송 가속기 | |
US7675898B2 (en) | Session relay apparatus for relaying data, and a data relaying method | |
US9553814B2 (en) | Method and apparatus for controlling data flow by using proxy server | |
EP1730903B1 (en) | Expedited data transmission in packet based network | |
WO2014067322A1 (zh) | 消息发送方法及装置 | |
CN117676695A (zh) | Tcp传输方法、装置和系统 | |
CA2940077C (en) | Buffer bloat control | |
JP2011155406A (ja) | 送信装置、送信方法及びプログラム | |
JP4447028B2 (ja) | 通信制御方法、送信装置、およびコンピュータプログラム | |
CN110912831B (zh) | Tcp传输方法、装置及存储介质 | |
JP2009044694A (ja) | データユニットの送信回数のカウント方法、カウント装置、送信装置、およびコンピュータプログラム | |
WO2024060915A1 (zh) | 核心网数据传输方法、电子设备及计算机可读存储介质 | |
CN116886622A (zh) | 网络拥塞控制方法、装置、设备及存储介质 |
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 |