CN104782090B - 一种数据报文发送方法和装置 - Google Patents
一种数据报文发送方法和装置 Download PDFInfo
- Publication number
- CN104782090B CN104782090B CN201380059397.5A CN201380059397A CN104782090B CN 104782090 B CN104782090 B CN 104782090B CN 201380059397 A CN201380059397 A CN 201380059397A CN 104782090 B CN104782090 B CN 104782090B
- Authority
- CN
- China
- Prior art keywords
- network
- window
- bandwidth
- delay
- data size
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种数据报文发送方法、装置和设备,所述方法包括:根据网络带宽以及网络时延,确定网络通信链路在所述网络时延内的缓存数据量;根据发送窗口以及所述缓存数据量,确定发送数据量;按照所述发送数据量,向接收端发送数据报文。通过本发明实施例,保证了数据接收的连续性,提高了数据传输质量。
Description
技术领域
本发明涉及网络通信技术领域,更具体的说涉及一种数据报文发送方法、装置和设备。
背景技术
TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,其提供的是一种全双工的字节流服务。
现有技术中,发送端与接收端基于TCP协议进行数据传输时,发送端通常是根据接收端告知的发送窗口大小,发送数据报文。根据TCP协议规定,该发送窗口不能大于接收端的接收窗口大小,发送窗口规定了能够发送的数量,接收窗口规定了接收端能够缓存的数据量。
而发明人在实现本发明的过程中发现,由于数据传输过程中存在网络时延,现有的这种数据传输方式至少存在如下问题:接收端不能立即接收到数据报文,数据传输较慢,且接收到的数据报文不连续,容易出现断点,因此数据传输质量不高。
发明内容
有鉴于此,本发明提供了一种数据报文发送方法,用以解决现有技术中数据传输质量低的技术问题。
本发明还提供了一种数据报文发送装置及设备,用以保证上述方法在实际应用中的实现。
为实现上述目的,本发明提供如下技术方案:
本发明的第一方面提供了一种数据报文发送方法,包括:
根据网络带宽以及网络时延,确定网络通信链路在所述网络时延内的缓存数据量;
根据发送窗口以及所述缓存数据量,确定发送数据量;
按照所述发送数据量,向接收端发送数据报文。
结合第一方面,在第一种可能实现方式中,所述根据发送窗口以及所述缓存数据量,确定发送数据量包括:
确定拥塞窗口;
确定发送窗口和所述拥塞窗口中较小的窗口值作为实际发送窗口;
将所述实际发送窗口以及所述缓存数据量累加,获得发送数据量。
结合第一方面,在第二种可能实现方式中,所述网络带宽为网络规定带宽或者网络通信链路实际带宽。
结合第一方面或第一方面的第二种可能实现方式,在第三种可能实现方式中,所述网络时延为网络规定时延或者网络通信链路实际时延。
结合第一方面,在第四种可能实现方式中,所述根据网络带宽以及网络时延,确定网络通信链路在所述网络时延内的缓存数据量包括:
将网络带宽以及网络时延的乘积值作为网络通信链路在所述网络时延内的缓存数据量。
结合第一方面,在第五种可能实现方式中,所述根据网络带宽以及网络时延,确定网络通信链路在所述网络时延内的缓存数据量包括:
按照缓存数据量计算公式,确定网络通信链路在网络时延内的缓存数据量;
所述缓存数据量计算公式为:
SendWin=(α*BaseWin*ActualRTT*ActualQoS)÷(β*BaseRTT*BaseQoS);
其中,BaseWin表示发送窗口、ActualRTT表示网络通信链路实际时延、ActualQoS表示网络通信链路实际带宽、BaseRTT表示网络规定时延、BaseQoS表示网络规定带宽、α表示实际误差参数、β表示预设误差参数。
本发明的第二方面提供了一种数据报文发送装置,包括:
第一确定模块,用于根据网络带宽以及网络时延,确定网络通信链路在所述网络时延内的缓存数据量;
第二确定模块,用于根据发送窗口以及所述第一确定模块确定的所述缓存数据量,确定发送数据量;
发送模块,用于按照所述第二确定模块确定的所述发送数据量,向接收端发送数据报文。
结合第二方面,在第一种可能实现方式中,所述第二确定模块包括:
第一窗口确定模块,用于确定拥塞窗口;
第二窗口确定模块,用于确定发送窗口和所述拥塞窗口中较小的窗口值作为实际发送窗口;
数据量确定模块,用于将所述实际发送窗口以及所述缓存数据量累加,获得发送数据量。
结合第二方面,在第二种可能实现方式中,所述网络带宽为网络规定带宽或者网络通信链路实际带宽。
结合第二方面或第二方面的第二种可能实现方式,在第三种可能实现方式中,所述网络时延为网络规定时延或者网络通信链路实际时延。
结合第二方面,在第四种可能实现方式中,所述第一确定模块具体用于将网络带宽以及网络时延的乘积值作为网络通信链路在所述网络时延内的缓存数据量。
结合第二方面,在第五种可能实现方式中,所述第一确定模块具体用于按照缓存数据量计算公式,确定网络通信链路在网络时延内的缓存数据量;
所述缓存数据量计算公式为:
SendWin=(α*BaseWin*ActualRTT*ActualQoS)÷(β*BaseRTT*BaseQoS);
其中,BaseWin表示发送窗口、ActualRTT表示网络通信链路实际时延、ActualQoS表示网络通信链路实际带宽、BaseRTT表示网络规定时延、BaseQoS表示网络规定带宽、α表示实际误差参数、β表示预设误差参数。
本发明的第三方面提供了一种数据报文发送设备,至少包括处理器和发送器;
所述处理器,用于根据网络带宽以及网络时延,确定网络通信链路在所述网络时延内的缓存数据量;根据发送窗口以及所述缓存数据量,确定发送数据量;
所述发送器,用于按照所述发送数据量,向接收端发送数据报文。
结合第三方面,在第一种可能实现方式中,所述处理器根据发送窗口以及所述缓存数据量,确定发送数据量具体是确定拥塞窗口;确定发送窗口和所述拥塞窗口中较小的窗口值作为实际发送窗口;将所述实际发送窗口以及所述缓存数据量累加,获得发送数据量。
结合第三方面,在第二种可能实现方式中,所述处理器根据网络带宽以及网络时延,确定网络通信链路在所述网络时延内的缓存数据量具体是将网络带宽以及网络时延的乘积值作为网络通信链路在所述网络时延内的缓存数据量。
结合第三方面,在三种可能实现方式中,所述处理器根据网络带宽以及网络时延,确定网络通信链路在所述网络时延内的缓存数据量具体是按照缓存数据量计算公式,确定网络通信链路在网络时延内的缓存数据量;
所述缓存数据量计算公式为:
SendWin=(α*BaseWin*ActualRTT*ActualQoS)÷(β*BaseRTT*BaseQoS);
其中,BaseWin表示发送窗口、ActualRTT表示网络通信链路实际时延、ActualQoS表示网络通信链路实际带宽、BaseRTT表示网络规定时延、BaseQoS表示网络规定带宽、α表示实际误差参数、β表示预设误差参数。
经由上述的技术方案可知,与现有技术相比,本发明提供了一种数据报文发送方法、装置和设备,根据网络带宽以及网络时延,确定出网络通信链路中的缓存数据量,根据接收端告知的发送窗口,结合该缓存数据量,确定出发送数据量,即可按照该发送数据量,向接收端发送数据报文。通过利用网络时延内在网络通信链路上的缓存数据量,增加发送端发送的发送数据量, 从而可以使得数据传输连续,减少接收端数据接收等待时间,保证了接收数据的流畅性,提高了数据传输质量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明一种数据报文发送方法一个实施例的流程图;
图1a为本发明实施例的一个应用场景示意图;
图2为本发明一种数据报文发送方法另一个实施例的流程图;
图3为本发明一种数据报文发送装置一个实施例的结构示意图;
图4为本发明一种数据报文发送装置另一个实施例的结构示意图;
图5为本发明一种数据报文发送设备一个实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的主要思想之一可以包括:
发送端根据网络带宽以及网络时延,确定出网络通信链路中的缓存数据量,根据接收端告知的发送窗口,结合该缓存数据量,可以确定出发送端的发送数据量,发送端即按照该发送数据量,向接收端发送数据报文。通过利用网络时延内在网络通信链路上的缓存数据量,增加发送端发送的发送数据量,从而可以使得数据传输连续,减少接收端数据接收等待时间,提高了数据传输质量。
图1为本发明一种数据报文发送方法一个实施例的流程图,该方法可以包括以下几个步骤:
步骤101:根据网络带宽以及网络时延,确定网络通信链路在所述网络时延内的缓存数据量。
本实施例中,所述数据报文具体可以是指TCP(Transmission Control Protocol,传输控制协议)数据报文。发送端与接收端基于TCP协议进行网络通信时,以报文形式进行数据传输,本实施例中,报文可以是指发送端发送的最小数据单元,在数据传输过程中,应用数据通常被划分为适合传输的数据单元,即报文,其单位为字节。
网络时延是指数据从一个系统到另外一个系统所需的时间,包括在网络通信链路上的传输时间以及两个系统的处理时间,网络时延时间越长,网络通信链路上的数据就会越多。
网络带宽是指在单位时间内传输的数据量,因此本实施例中,可以根据该网络时延以及该网络带宽,得到在所述网络时延内网络通信链路上存在的数据量,本发明中实施例定义为缓存数据量,可以包括网络通信链路上正在处理以及正在传输的数据量。
其中,该网络时延以及网络带宽可以是指网络规定的理论时延以及理论带宽。
而作为另一种可能的情况,由于在实际应用中,网络实际带宽与网络规定带宽并不一样,为了提高计算准确度,进一步提高数据传输质量,该网络带宽可以是指网络实际带宽,发送端在进行数据传输时可以计算得到。当然,该网络带宽还可以是根据网络情况计算得到的网络估计带宽。
该网络时延也可以采用网络实际时延,由于网络传输等原因,网络时延通常会增加,该网络实际时延可以根据每次数据报文发送后接收到的对应的ACK(Acknowledgement,确认字符)的时间来确定。
其中,该缓存数据量具体可以等于网络带宽与网络时延的乘积值。
步骤102:根据发送窗口以及所述缓存数据量,确定发送数据量。
发送窗口是指接收端告知发送端的,按照TCP协议规定,发送窗口的大小需小于接收端的接收窗口的大小,接收窗口是指接收端可以缓存的数据量, 其中,窗口大小的单位为字节,因此窗口大小规定的数据量也即数据报文数量。
在现有技术中,发送端是按照该发送窗口规定的数据量大小发送数据,但是发明人在研究中发现,发送端与接收端进行数据传输时,中间经过很多中间业务设备,例如路由器等,中间业务设备有队列或缓存,使得发送端发送的数据报文并不会立即到达接收端。这些数据报文可能分别位于网络通信链路中的不同中间业务设备上,进行业务处理。中间业务设备也会影响网络时延,导致网络通信链路中的数据增加。
因此,据此可以根据计算得到网络通信链路上的缓存数据量,增加发送端发送的数据量。
在一种实现方式中,将发送窗口与缓存数据量进行累加,累加值即可作为发送数据量。
步骤103:按照所述发送数据量,向接收端发送数据报文。
确定出发送数据量后,发送端即可以按照该发送数据量,向接收端发送数据报文。
由于发送数据量综合考虑了网络通信链路上的缓存数据量,增加了发送端发送的实际数据报文数量,可以保证数据传输的连续性,从而可以减少接收端的等待时间,使得接收端接收到的数据报文流畅,提高了数据传输的质量。
例如在服务器与终端UE进行通信的场景中,如图1a所示,服务器10和UE20之间至少要经过多个路由器30。其中,服务器10告知终端20的发送窗口为10个MTU(MaximumTransmission Unit,最大传输单元)数据报文,其中,1个MTU大概为1500字节,实际应用中由于传输的数据量通常很大,因此此例中以MTU描述数据量。由于网络时延,在网络通信链路中的缓存数据量为30个MTU的数据报文。若服务器仍按照发送窗口规定的大小发送数据报文,数据报文将缓存在网络通信链路上,使得UE不能立即接收到数据报文,UE的等待时间长,且由于网络通信链路可以缓存30个MTU的数据报文,导致接收端接收到的数据报文也不流畅。而采用本发明实施例的技术方案, 发送端每次可以发送40个MTU的数据报文,对于接收端每次仍是可接收到10个MTU的数据报文,数据不会溢出而导致丢失,30个MTU的数据报文在网络通信链路中进行处理。这就使得接收端无需长时间等待,保证了数据传输的连续性,提高了数据传输质量。
在本实施例中,发送端根据网络带宽以及网络时延,首先确定出网络通信链路中的缓存数据量,根据接收端告知的发送窗口,结合该缓存数据量,可以确定出发送端的发送数据量,发送端即按照该发送数据量,向接收端发送数据报文。通过利用网络时延在网络通信链路上的缓存数据量,增加发送端发送的发送数据量,减少了接收端数据等待时间,保证了数据接收的连续性,提高了数据传输质量。
图2为本发明一种数据报文发送方法另一个实施例的流程图,该方法可以包括以下几个步骤:
步骤201:根据网络带宽以及网络时延,确定网络通信链路在所述网络时延内的缓存数据量。
其中,该网络带宽可以是指网络规定带宽,即网络的理论带宽,或者该网络带宽可以是指网络实际带宽。
该网络时延可以是指网络规定时延,或者是指网络实际时延。
该缓存数据量可以是指网络带宽与网络时延的乘积值,根据上述描述可知,该缓存数据量可以是网络规定带宽与网络规定时延的乘积值、或者网络规定带宽与网络实际时延的乘积值、或者网络实际带宽与网络规定时延的乘积值、或者网络实际带宽与网络实际时延的乘积值。
在另一种可能的实现情况中,则该缓存数据量可以按照下述缓存数据量计算公式得到,即:
SendWin=(α*BaseWin*ActualRTT*ActualQoS)÷(β*BaseRTT*BaseQoS);
其中,SendWin为缓存数据量;BaseWin表示发送窗口,为接收端告知发送端的,其需要小于接收端接收窗口的大小;ActualRTT表示网络通信链路实际时延;ActualQoS表示网络通信链路实际带宽;BaseRTT表示网络规定时 延,通常为50毫秒;BaseQoS表示网络规定带宽,通常为1Mbps可以从网络参数中获取;β表示预设误差参数,可以根据BaseRTT以及BaseQoS预设设置,通常为1;α表示实际误差参数,α≥2且α>β。
由该缓存数据量计算公式可以得知,网络时延采用网络实际时延时,该网络带宽可以是根据网络规定带宽以及网络理论带宽计算得到的网络估计带宽,即
γ=(α*BaseWin*ActualQoS)÷(β*BaseRTT*BaseQoS)。
从而缓存数据量SendWin=γ*ActualRTT。
当然该网络估计带宽除了可以采用上述方式计算外,还可以通过TCP其他算法获取得到。
步骤202:确定拥塞窗口。
步骤203:确定发送窗口和所述拥塞窗口中较小的窗口值作为实际发送窗口。
为了避免发生网络拥塞,本实施例中,可以进行拥塞控制,以保证数据传输质量的同时,避免网络拥塞的发生。
本实施例利用拥塞窗口控制机制进行拥塞控制,拥塞窗口是根据网络实际情况估计的可以发送的数据量。例如,拥塞窗口可以根据网络实际时延来确定,如果网络实际时延比上次大,则说明网络发生拥塞,相应的拥塞窗口大小跟着减小,如果网络实际时延比上次小,或者没有变化,则可以相应增加拥塞窗口的大小,以实现拥塞控制。
拥塞窗口的确定可以采用多种算法实现,主要可以依据网络实际时延来进行调整。
发送端可以按照该拥塞窗口规定的数据量向接收端发送数据报文。而考虑接收端的接收能力,需要根据所确定的拥塞窗口以及接收端告知的发送窗口,确定出两者中较小的窗口值作为实际发送窗口。
步骤204:将所述实际发送窗口以及所述缓存数据量累加,获得发送数据量。
本实施例中,最终获得的发送数据量等于实际发送窗口以及缓存数据量的和值,即:
ActualSendData=MIN(BaseWin,congestionWin)+Sendwin。
其中,congestionWin表示拥塞窗口。
步骤205:按照所述发送数据量,向接收端发送数据报文。
在本实施例中,发送端根据网络带宽以及网络时延,首先确定出网络通信链路中的缓存数据量;根据接收端告知的发送窗口,以及所确定的拥塞窗口,可以计算得到实际发送窗口;结合该实际发送窗口以及缓存数据量,得到发送端的发送数据量。发送端即按照该发送数据量,向接收端发送数据报文。通过利用网络时延在网络通信链路上的缓存数据量,增加发送端发送的发送数据量,减少了接收端数据等待时间,保证了数据接收的连续性,提高了数据传输质量,同时发送数据量根据拥塞窗口得到,实现了拥塞控制,避免了网络拥塞的发生。
图3为本发明一种数据报文发送装置一个实施例的结构示意图,该装置可以包括:
第一确定模块301,用于根据网络带宽以及网络时延,确定网络通信链路在所述网络时延内的缓存数据量。
其中,该网络带宽可以是指网络规定带宽,即网络的理论带宽,或者该网络带宽可以是指网络实际带宽,或者是根据网络实际情况估计的带宽。
该网络时延可以是指网络规定时延,或者是指网络实际时延。
该缓存数据量可以是指网络带宽与网络时延的乘积值。
第二确定模块302,用于根据发送窗口以及所述第一确定模块301确定的所述缓存数据量,确定发送数据量。
在一种实现方式中,将发送窗口与缓存数据量进行累加,累加值即可作为发送数据量。
发送模块303,用于按照所述第二确定模块302确定的所述发送数据量,向接收端发送数据报文。
在本实施例中,该数据报文发送装置可根据网络带宽以及网络时延,首先确定出网络通信链路中的缓存数据量,并根据接收端告知的发送窗口,结合该缓存数据量,确定出发送数据量,即可按照该发送数据量,向接收端发送数据报文。通过利用网络时延在网络通信链路上的缓存数据量,增加发送端发送的发送数据量,减少了接收端数据等待时间,保证了数据接收的连续性,提高了数据传输质量。
图4为本发明一种数据报文发送装置另一个实施例的结构示意图,该装置可以包括:
第一确定模块401,用于根据网络带宽以及网络时延,确定网络通信链路在所述网络时延内的缓存数据量。
其中,该网络带宽可以是指网络规定带宽,即网络的理论带宽,或者该网络带宽可以是指网络实际带宽。
该网络时延可以是指网络规定时延,或者是指网络实际时延。
该缓存数据量可以是指网络带宽与网络时延的乘积值,根据上述描述可知,该缓存数据量可以是网络规定带宽与网络规定时延的乘积值、或者网络规定带宽与网络实际时延的乘积值、或者网络实际带宽与网络规定时延的乘积值、或者网络实际带宽与网络实际时延的乘积值。
在另一种可能的实现情况中,则该缓存数据量可以按照下述缓存数据量计算公式得到,即:
SendWin=(α*BaseWin*ActualRTT*ActualQoS)÷(β*BaseRTT*BaseQoS)。
其中,SendWin为缓存数据量;BaseWin表示发送窗口,为接收端告知发送端的,其需要小于接收端接收窗口的大小;ActualRTT表示网络通信链路实际时延;ActualQoS表示网络通信链路实际带宽;BaseRTT表示网络规定时延,通常为50毫秒;BaseQoS表示网络规定带宽,通常为1Mbps可以从网络参数中获取;β表示预设误差参数,可以根据BaseRTT以及BaseQoS预设设置,通常为1;α表示实际误差参数,α≥2且α>β。
由该缓存数据量计算公式可以得知,网络时延采用网络实际时延时,该网络带宽可以是根据网络规定带宽以及网络理论带宽计算得到的网络估计带宽,即
γ=(α*BaseWin*ActualQoS)÷(β*BaseRTT*BaseQoS)。
从而缓存数据量SendWin=γ*ActualRTT。
当然该网络估计带宽除了可以采用上述方式计算外,还可以通过TCP其他算法获取得到。
第二确定模块402,用于根据发送窗口以及所述第一确定模块401确定的所述缓存数据量,确定发送数据量。
其中,该第二确定模块402具体可以包括:
第一窗口确定模块4021,用于确定拥塞窗口。
第二窗口确定模块4022,用于确定发送窗口和所述拥塞窗口中较小的窗口值作为实际发送窗口。
数据量确定模块4023,用于将所述实际发送窗口以及所述缓存数据量累加,获得发送数据量。
为了避免发生网络拥塞,可以进行拥塞控制,以保证数据传输质量的同时,避免网络拥塞的发生。
本实施例中,利用拥塞窗口控制机制进行拥塞控制,拥塞窗口是根据网络实际情况估计的可以发送的数据量。例如,拥塞窗口可以根据网络实际时延来确定,如果网络实际时延比上次大,则说明网络发生拥塞,相应的拥塞窗口大小跟着减小,如果网络实际时延比上次小,或者没有变化,则可以相应增加拥塞窗口的大小,以实现拥塞控制。
拥塞窗口的确定可以采用多种算法实现,主要可以依据网络实际时延来进行调整。
考虑接收端的接收能力,根据所确定的拥塞窗口以及接收端告知的发送窗口,确定出两者中较小的窗口值作为实际发送窗口。
将实际发送窗口与缓存数据量累加,即得到发送数据量。
在本实施例中,数据报文发送设备可根据网络带宽以及网络时延,首先确定出网络通信链路中的缓存数据量;根据接收端告知的发送窗口,以及所确定的拥塞窗口,可以计算得到实际发送窗口;结合该实际发送窗口以及缓存数据量,得到发送数据量,即可按照该发送数据量,向接收端发送数据报文。通过利用网络时延在网络通信链路上的缓存数据量,增加发送端发送的发送数据量,减少了接收端数据等待时间,保证了数据接收的连续性,提高了数据传输质量,且发送数据量综合了拥塞窗口,从而实现了拥塞控制,同时避免了网络拥塞的发生。
本发明上述两个实施例所述的装置,在实际应用中可以具体应用于发送端中,该发送端可以具体是应用在固网和无线网络中的服务器、例如WEB服务器、FTP服务器、视频服务器等,部署本发明所述装置的服务器在向终端进行数据发送时,可以提高链路的数据传输质量,保证了终端接收的数据的连续性,从而用户可以查看到流畅的数据,提高了用户体验。
当然该发送端也可以是应用在无线或者固网等网络场景下,终端与服务器进行数据传输时的中间业务设备中,从而也可以提高数据传输质量,并保证数据传输的连续性。
通过以上描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。因此参见图5,为本发明一种数据报文发送设备一个实施例的结构示意图。
该数据报文发送设备至少包括处理器501以及发送器502,处理器501与发送器502相连,可以通过总线完成相互间的通信。
处理器501用于根据网络带宽以及网络时延,确定网络通信链路在所述网络时延内的缓存数据量;根据发送窗口以及所述缓存数据量,确定发送数据量。
处理器501可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
发送器502用于按照所述发送数据量,向接收端发送数据报文。
发送器502可能是一个发射机,或者是被配置成实施本发明实施例的一个或多个集成电路。
其中,处理器501根据发送窗口以及所述缓存数据量,确定发送数据量可以具体是首先确定出拥塞窗口,并将拥塞窗口与发送窗口的较小窗口值作为实际发送窗口,由实际发送窗口与缓存数据量累加,得到发送数据量。
在一种可能实现方式中,处理器501根据网络带宽以及网络时延,确定网络通信链路在所述网络时延内的缓存数据量具体是将网络带宽以及网络时延的乘积值作为网络通信链路在所述网络时延内的缓存数据量。
该网络带宽可以是指网络规定带宽,即网络的理论带宽,或者该网络带宽可以是指网络实际带宽。该网络时延可以是指网络规定时延,或者是指网络实际时延。
在另一种可能实现方式中,处理器501根据网络带宽以及网络时延,确定网络通信链路在所述网络时延内的缓存数据量具体是按照缓存数据量计算公式,确定网络通信链路在网络时延内的缓存数据量;
所述缓存数据量计算公式为:
SendWin=(α*BaseWin*ActualRTT*ActualQoS)÷(β*BaseRTT*BaseQoS);
其中,BaseWin表示发送窗口、ActualRTT表示网络通信链路实际时延、ActualQoS表示网络通信链路实际带宽、BaseRTT表示网络规定时延、BaseQoS表示网络规定带宽、α表示实际误差参数、β表示预设误差参数。
也即网络时延采用网络实际时延时,该网络带宽可以是根据网络规定带宽以及网络理论带宽计算得到的网络估计带宽。
通过本实施例所提供的数据报文发送设备可以使得,该设备与接收端进行数据传输时,保证数据接收的连续性,提高数据传输质量。
需要说明的是,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据报文发送方法,其特征在于,包括:
根据网络带宽以及网络时延,确定网络通信链路在所述网络时延内的缓存数据量;
根据发送窗口以及所述缓存数据量,确定发送数据量;
按照所述发送数据量,向接收端发送数据报文;
所述根据网络带宽以及网络时延,确定网络通信链路在所述网络时延内的缓存数据量包括:
按照缓存数据量计算公式,确定网络通信链路在网络时延内的缓存数据量;
所述缓存数据量计算公式为:
SendWin=(α*BaseWin*ActualRTT*ActualQoS)÷(β*BaseRTT*BaseQoS);
其中,BaseWin表示发送窗口、ActualRTT表示网络通信链路实际时延、ActualQoS表示网络通信链路实际带宽、BaseRTT表示网络规定时延、BaseQoS表示网络规定带宽、α表示实际误差参数、β表示预设误差参数。
2.根据权利要求1所述的方法,其特征在于,所述根据发送窗口以及所述缓存数据量,确定发送数据量包括:
确定拥塞窗口;
确定发送窗口和所述拥塞窗口中较小的窗口值作为实际发送窗口;
将所述实际发送窗口以及所述缓存数据量累加,获得发送数据量。
3.根据权利要求1所述的方法,其特征在于,所述网络带宽为网络规定带宽或者网络通信链路实际带宽。
4.根据权利要求1或3所述的方法,其特征在于,所述网络时延为网络规定时延或者网络通信链路实际时延。
5.根据权利要求1所述的方法,其特征在于,所述根据网络带宽以及网络时延,确定网络通信链路在所述网络时延内的缓存数据量包括:
将网络带宽以及网络时延的乘积值作为网络通信链路在所述网络时延内的缓存数据量。
6.一种数据报文发送装置,其特征在于,包括:
第一确定模块,用于根据网络带宽以及网络时延,确定网络通信链路在所述网络时延内的缓存数据量;
第二确定模块,用于根据发送窗口以及所述第一确定模块确定的所述缓存数据量,确定发送数据量;
发送模块,用于按照所述第二确定模块确定的所述发送数据量,向接收端发送数据报文;
所述第一确定模块具体用于按照缓存数据量计算公式,确定网络通信链路在网络时延内的缓存数据量;
所述缓存数据量计算公式为:
SendWin=(α*BaseWin*ActualRTT*ActualQoS)÷(β*BaseRTT*BaseQoS);
其中,BaseWin表示发送窗口、ActualRTT表示网络通信链路实际时延、ActualQoS表示网络通信链路实际带宽、BaseRTT表示网络规定时延、BaseQoS表示网络规定带宽、α表示实际误差参数、β表示预设误差参数。
7.根据权利要求6所述的装置,其特征在于,所述第二确定模块包括:
第一窗口确定模块,用于确定拥塞窗口;
第二窗口确定模块,用于确定发送窗口和所述拥塞窗口中较小的窗口值作为实际发送窗口;
数据量确定模块,用于将所述实际发送窗口以及所述缓存数据量累加,获得发送数据量。
8.根据权利要求6所述的装置,其特征在于,所述网络带宽为网络规定带宽或者网络通信链路实际带宽。
9.根据权利要求6或8所述的装置,其特征在于,所述网络时延为网络规定时延或者网络通信链路实际时延。
10.根据权利要求6所述的装置,其特征在于,所述第一确定模块具体用于将网络带宽以及网络时延的乘积值作为网络通信链路在所述网络时延内的缓存数据量。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2013/078109 WO2014205708A1 (zh) | 2013-06-27 | 2013-06-27 | 一种数据报文发送方法、装置和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104782090A CN104782090A (zh) | 2015-07-15 |
CN104782090B true CN104782090B (zh) | 2017-12-08 |
Family
ID=52140810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380059397.5A Active CN104782090B (zh) | 2013-06-27 | 2013-06-27 | 一种数据报文发送方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104782090B (zh) |
WO (1) | WO2014205708A1 (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101114999A (zh) * | 2007-08-26 | 2008-01-30 | 上海华为技术有限公司 | 数据发送控制方法及数据传输设备 |
CN101572634A (zh) * | 2009-06-04 | 2009-11-04 | 北京邮电大学 | 一种利用互相关函数被动测量tcp连接往返时延的方法 |
WO2011133624A1 (en) * | 2010-04-22 | 2011-10-27 | Fastsoft, Inc. | Congestion window control based on queuing delay and packet loss |
CN102333209A (zh) * | 2011-10-26 | 2012-01-25 | 杭州华三通信技术有限公司 | 应用于视频监控系统的数据传输方法及设备 |
CN102820915A (zh) * | 2012-08-01 | 2012-12-12 | 北京佳讯飞鸿电气股份有限公司 | 改善tcp传输性能的卫星链路系统及其使用方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7352700B2 (en) * | 2003-09-09 | 2008-04-01 | Lucent Technologies Inc. | Methods and devices for maximizing the throughput of TCP/IP data along wireless links |
US7656800B2 (en) * | 2004-07-30 | 2010-02-02 | Cisco Technology, Inc. | Transmission control protocol (TCP) |
CN101052043B (zh) * | 2007-04-30 | 2013-03-20 | 北京策度集成电路设计有限公司 | 一种基于发送窗口与往返时间的tcp发送方法 |
-
2013
- 2013-06-27 WO PCT/CN2013/078109 patent/WO2014205708A1/zh active Application Filing
- 2013-06-27 CN CN201380059397.5A patent/CN104782090B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101114999A (zh) * | 2007-08-26 | 2008-01-30 | 上海华为技术有限公司 | 数据发送控制方法及数据传输设备 |
CN101572634A (zh) * | 2009-06-04 | 2009-11-04 | 北京邮电大学 | 一种利用互相关函数被动测量tcp连接往返时延的方法 |
WO2011133624A1 (en) * | 2010-04-22 | 2011-10-27 | Fastsoft, Inc. | Congestion window control based on queuing delay and packet loss |
CN102333209A (zh) * | 2011-10-26 | 2012-01-25 | 杭州华三通信技术有限公司 | 应用于视频监控系统的数据传输方法及设备 |
CN102820915A (zh) * | 2012-08-01 | 2012-12-12 | 北京佳讯飞鸿电气股份有限公司 | 改善tcp传输性能的卫星链路系统及其使用方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104782090A (zh) | 2015-07-15 |
WO2014205708A1 (zh) | 2014-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8873385B2 (en) | Incast congestion control in a network | |
CN102006283B (zh) | 数据传输的方法和装置 | |
CN103905328B (zh) | 一种数据传输控制系统、方法及相关装置 | |
CN108023758B (zh) | 一种混合接入网络中处理报文的方法及网络设备 | |
CN103716136B (zh) | 一种数据传送方法及系统 | |
US8521901B2 (en) | TCP burst avoidance | |
CN110417650A (zh) | 多链路数据分配方法、装置及电子设备 | |
CN107342848A (zh) | 一种自适应码流传输方法、装置及设备 | |
CN108881008A (zh) | 一种数据传输的方法、装置和系统 | |
CN110418376A (zh) | 数据传输方法及装置 | |
CN106792263A (zh) | 一种视频数据传输方法、装置及系统 | |
CN104753980A (zh) | 数据传输方法及相关装置和通信系统 | |
CN104093170A (zh) | 基于tcp的数据传输方法和tcp代理装置 | |
CN103430489A (zh) | 内容分发网络中文件下载方法、装置和系统 | |
CN105376173A (zh) | 一种发送窗口流量控制方法和终端 | |
CN108833293A (zh) | 一种基于软件定义网络sdn的数据中心拥塞控制方法及装置 | |
CN110022261A (zh) | 基于sctp-cmt传输协议的多路径传输方法及设备 | |
CN108494698A (zh) | 一种基于传输速率的拥塞控制方法 | |
CN103401778B (zh) | 基于接收端缓存溢出概率保障的多路径传输分组调度方法 | |
CN104052676B (zh) | 一种发送通路装置及发送通路的数据处理方法 | |
CN110072254B (zh) | 一种数据的传输方法及其相关设备 | |
CN108235382A (zh) | 一种传输速率调整的方法、节点设备以及服务器 | |
US11588736B2 (en) | Communication apparatus, communication method, and program | |
Mudambi et al. | A transport protocol for dedicated end-to-end circuits | |
CN106101184B (zh) | 一种文件下载方法和播放设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |