CN108667560B - 一种调整终端发送数据的速率的方法及装置 - Google Patents
一种调整终端发送数据的速率的方法及装置 Download PDFInfo
- Publication number
- CN108667560B CN108667560B CN201710209452.4A CN201710209452A CN108667560B CN 108667560 B CN108667560 B CN 108667560B CN 201710209452 A CN201710209452 A CN 201710209452A CN 108667560 B CN108667560 B CN 108667560B
- Authority
- CN
- China
- Prior art keywords
- feedback information
- data packet
- return time
- overtime
- communication
- 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
- 238000000034 method Methods 0.000 title claims abstract description 109
- 230000006854 communication Effects 0.000 claims abstract description 490
- 238000004891 communication Methods 0.000 claims abstract description 489
- 230000005540 biological transmission Effects 0.000 claims abstract description 45
- 238000012545 processing Methods 0.000 claims description 192
- 238000001514 detection method Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 18
- 230000000694 effects Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000001960 triggered effect Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 4
- 238000011217 control strategy Methods 0.000 description 4
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 3
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 3
- 102100039341 Atrial natriuretic peptide receptor 2 Human genes 0.000 description 2
- 101000961040 Homo sapiens Atrial natriuretic peptide receptor 2 Proteins 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0289—Congestion control
-
- 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/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0002—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0033—Systems modifying transmission characteristics according to link quality, e.g. power backoff arrangements specific to the transmitter
- H04L1/0034—Systems modifying transmission characteristics according to link quality, e.g. power backoff arrangements specific to the transmitter where the transmitter decides based on inferences, e.g. use of implicit signalling
-
- 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
-
- 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/187—Details of sliding window management
-
- 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/188—Time-out mechanisms
-
- 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/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请公开了一种调整终端发送数据的速率的方法及装置,其中,所述方法包括:终端在确定第一数据包的反馈信息返回已超时的情况下,将第一数据包所在连接的数据发送速率从第一值减小到第二值;终端检测第一数据包后续的多个数据包的反馈信息的返回时间;终端在检测到第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,确定第一数据包的反馈信息超时的原因;终端在确定超时是由于通信链路中的无线链路的丢包引起的情况下,将终端发送数据的速率从当前的第三值增大到第四值,其中,第三值大于等于第二值,第三值小于第一值;采用本申请的方法及装置,可以提高网络传输资源的利用率。
Description
技术领域
本申请涉及移动通信技术领域,尤其涉及一种调整终端发送数据的速率的方法及装置。
背景技术
随着互联网的飞速发展,移动终端变的越来越普及;其中,大部分移动终端均支持移动上网的功能,且移动终端在移动上网过程中,一般采用TCP/IP(Transmission ControlProtocol//Internet Protocol,传输控制/因特网互联协议)通信协议。
TCP/IP通信协议是一种面向连接的、可靠的、基于字节流的传输层通信协议;其中,TCP/IP通信协议为了保证其可靠性,目的端在每接收到一个数据包或预设的多个数据包时,均会向源端反馈一消息,该反馈消息可具体为ACK,用于表征目的端正确接收源端发送的数据包,或,该反馈消息也可具体为NACK,用于表征目的端未能正确接收源端发送的数据包,请求源端重新发送该数据包。而源端在发送一个或预设多个数据包后,如果源端所接收的反馈消息超时,源端可认为当前TCP通信链路发生拥塞,将降低源端的发送速率,比如,在源端发送数据包后,长时间未能接收到目的端的反馈消息时(此时即可认为反馈消息超时),源端可将传输速率由每秒100个数据包降低为每秒1个数据包;其中,在源端降低发送速率后,其再提高发送速率的过程是一个慢启动过程,比如,再沿用上述举例,在源端将发送速率调整为每秒1个数据包后,其源端再继续监测以每秒1个的发送速率发送的数据包,是否可正常接收目的端的反馈消息,如果可以,再将发送速率提高为每秒2个数据包,然后再继续监测以每秒2个的发送速率发送的数据包是否可正常接收反馈消息,如果可以,再将发送速率提高为每秒4个数据包,依此类推,直至接收的反馈消息再次超时时,将再次将发送速度降低为最小发送速率。
可见,在现有技术中,反馈超时后发送速率的调整是比较缓慢的,从而使得对网络传输资源的利用率较低。
发明内容
本申请提供一种调整终端发送数据的速率的方法及装置,以提高网络传输资源的利用率。
第一方面,提供一种调整终端发送数据的速率的方法,所述方法应用于终端,所述方法包括:所述终端在确定第一数据包的反馈信息返回已超时的情况下,将所述第一数据包所在连接的数据发送速率从第一值减小到第二值,所述第一数据包为所述终端通过一通信链路向目标设备发送的数据包,所述通信链路包括无线链路和有线链路;所述终端检测所述第一数据包后续的多个数据包的反馈信息的返回时间;所述终端在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,确定所述第一数据包的反馈信息超时的原因;所述终端在确定所述超时是由于所述通信链路中的无线链路的丢包引起的情况下,将所述终端发送数据的速率从当前的第三值增大到第四值,其中,所述第三值大于等于所述第二值,所述第三值小于所述第一值。
在本申请中,采用上述方法,能够更快地提升该连接发送数据包的速率,即更快地恢复上行数据的吞吐量,从而减少不必要的拥塞控制,提高网络传输资源的利用率。
结合第一方面,在第一种可能的实现方式中,所述第四值大于等于所述第一值,或者,所述第四值大于两倍的第三值。
结合第一方面或第一种可能实现方式,在第二种可能实现方式中,所述反馈信息的返回时间为所述反馈信息对应数据包的往返时延RTT,所述第一数据包的反馈信息返回已超时表示所述第一数据包的RTT已超时;所述终端发送数据的速率为所述第一数据包所在连接的拥塞窗口cwnd。
结合第一方面、第一种可能实现方式或第二种可能实现方式,在第三种可能实现方式中,所述终端包括应用处理器和基带处理器;所述终端在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,确定所述第一数据包的反馈信息超时的原因,包括:所述基带处理器采集所述第一数据包反馈信息超时的时间段内所述无线链路的通信参数,所述超时的时间段为从发送所述第一数据包至所述第一数据包反馈超时的时间段;所述应用处理器在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述无线链路的通信参数;所述应用处理器根据所述无线链路的通信参数,确定所述第一数据包的反馈信息超时的原因,其中,所述第一数据包的反馈信息超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路丢包引起的反馈信息超时。
采用上述方法,基带处理器直接上报所采集的通信参数,而由应用处理器确定反馈超时原因,可节省基带处理器的功耗。
结合第三种可能实现方式,在第四种可能实现方式中,所述应用处理器在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述无线链路的的通信参数,包括:所述应用处理器在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,发送第一请求至所述基带处理器,所述第一请求指示所述基带处理器上报所述无线链路的通信参数;所述应用处理器接收所述无线链路的通信参数,其中,所述通信参数为所述基带处理器根据所述第一请求向所述应用处理器发送的。
采用上述方法,基带处理器只有在接收到应用处理器的触发才上报通信参数,避免基带处理器频繁上报通信参数。
结合第三种可能实现方式或第四种可能实现方式,在第五种可能实现方式中,所述应用处理器在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述无线链路的通信参数,包括:所述应用处理器接收多个通信参数,所述多个通信参数为所述基带处理器在上报开关处于开启状态时,上报至所述应用处理器的;所述应用处理器在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,从所述多个通信参数中,选择所述反馈信息超时时间段内的通信参数。
采用上述方法,基带处理器只有在上报开启处于开启状态时,才上报通信参数,方便对基带上报通信参数的控制。
结合第一方面、第一种可能实现方式或第二种可能实现方式,在第六种可能实现方式中,所述终端包括应用处理器和基带处理器;所述终端在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,确定所述第一数据包的反馈信息超时的原因,包括:所述基带处理器采集所述第一数据包反馈信息超时的时间段内所述无线链路的通信参数,以及根据所述通信参数,确定在所述反馈信息超时的时间内无线链路的通信质量,所述超时的时间段为从发送所述第一数据包至所述第一数据包反馈超时的时间段;所述应用处理器在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,根据所述无线链路的通信质量,确定所述第一数据包反馈信息超时的原因;其中,所述第一数据包的反馈信息超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路引起的反馈信息超时。
采用上述方法,基带处理器根据通信参数,确定通信质量;而应用处理器根据通信质量,确定超时原因;可见,基带处理器和应用处理器各自承担部分工作,从而避免一方功耗过大。
结合第一方面、第一种可能实现方式或第二种可能实现方式,在第七种可能实现方式中,所述终端包括应用处理器和基带处理器;所述终端在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,确定所述第一数据包的反馈信息超时的原因,包括:所述基带处理器采集所述第一数据包反馈信息超时的时间段内所述无线链路的通信参数,以及根据所述通信参数,确定第一数据包反馈超时的原因;其中,所述第一数据包反馈超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路引起的反馈信息超时;所述应用处理器在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述第一数据包反馈超时的原因。
采用上述方法,由基带处理器确定反馈超时原因,从而减少应用处理器的功耗。
结合第三种可能实现方式或第七种可能实现方式,在第八种可能实现方式中,所述通信参数包括参考信号接收功率、参考信号接收质量、信噪比以及无线链路重传率中的至少一个。
第二方面,提供一种调整终端发送数据的速率的装置,所述装置包括:发送速率控制单元,用于在确定第一数据包的反馈信息返回已超时的情况下,将所述第一数据包所在连接的数据发送速率从第一值减小到第二值,所述第一数据包为所述装置通过一通信链路向目标设备发送的数据包,所述通信链路包括无线链路和有线链路;检测单元,用于检测所述第一数据包后续的多个数据包的反馈信息的返回时间;确定单元,用于在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,确定所述第一数据包的反馈信息超时的原因;所述发送速率控制单元,还用于在确定所述超时是由于所述通信链路中的无线链路的丢包引起的情况下,将所述终端发送数据的速率从当前的第三值增大到第四值,其中,所述第三值大于等于所述第二值,所述第三值小于所述第一值。
结合第二方面,在第一种可能实现方式中,所述第四值大于等于所述第一值,或者,所述第四值大于两倍的第三值。
结合第二方面或第一种可能实现方式中,在第二种可能实现方式中,所述反馈信息的返回时间为所述反馈信息对应数据包的往返时延RTT,所述第一数据包的反馈信息返回已超时表示所述第一数据包的RTT已超时;所述装置发送数据的速率为所述第一数据包所在连接的拥塞窗口cwnd。
结合第二方面、第一种可能实现方式或第二种可能实现方式,在第三种可能实现方式中,所述确定单元,包括第一确定单元和第二确定单元;所述第一确定单元,用于采集所述第一数据包反馈信息超时的时间段内所述无线链路的通信参数,所述超时的时间段为从发送所述第一数据包至所述第一数据包反馈超时的时间段;所述第二确定单元,用于在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述无线链路的通信参数,以及,根据所述无线链路的通信参数,确定所述第一数据包的反馈信息超时的原因,其中,所述第一数据包的反馈信息超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路丢包引起的反馈信息超时。
结合第三种可能实现方式,在第四种可能实现方式中,所述第二确定单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述无线链路的的通信参数时,具体用于:在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,发送第一请求至所述第一确定单元,所述第一请求指示所述第一确定单元上报所述无线链路的通信参数;接收所述无线链路的通信参数,其中,所述通信参数为所述第一确定单元根据所述第一请求向所述第二确定单元发送的。
结合第三种可能实现方式或第四种可能实现方式中,在第五种可能实现方式中,,所述第二确定单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述无线链路的通信参数时,具体用于:接收多个通信参数,所述多个通信参数为所述第一确定单元在上报开关处于开启状态时,上报至所述第二确定单元的;在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,从所述多个通信参数中,选择所述反馈信息超时时间段内的通信参数。
结合第二方面、第一种可能实现方式或第二种可能实现方式,在第六种可能实现方式中,所述处理单元包括第一确定单元和第二确定单元;所述第一确定单元,用于采集所述第一数据包反馈信息超时的时间段内所述无线链路的通信参数,以及根据所述通信参数,确定在所述反馈信息超时的时间内无线链路的通信质量,所述超时的时间段为从发送所述第一数据包至所述第一数据包反馈超时的时间段;所述第二确定单元,用于在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,根据所述无线链路的通信质量,确定所述第一数据包反馈信息超时的原因;其中,所述第一数据包的反馈信息超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路引起的反馈信息超时。
结合第二方面、第一种可能实现方式或第二种可能实现方式,在第七种可能实现方式中,所述处理单元包括第一确定单元和第二确定单元;所述第一确定单元,用于采集所述第一数据包反馈信息超时的时间段内所述无线链路的通信参数,以及根据所述通信参数,确定第一数据包反馈超时的原因;其中,所述第一数据包反馈超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路引起的反馈信息超时;所述第二确定单元,用于在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述第一数据包反馈超时的原因。
结合第三种可能实现方式或第七种可能实现方式,在第八种可能实现方式中,所述通信参数包括参考信号接收功率、参考信号接收质量、信噪比以及无线链路重传率中的至少一个。
本申请上述第二方面或第二方面的任一种实现所述装置的实施以及有益效果可与本申请上述第一方面或第一方面的任一种实现所述方法的实施以及有益效果可以相互参见,重复之处不再赘述。
第三方面,提供一种调整终端发送数据的速率的设备,包括存储器、处理器和通信接口,所述存储器、处理器和通信接口通过总线连接;所述存储器,用于存储计算机可执行指令;所述处理器。用于调用所述存储器存储的指令,以执行上述第一方面以及第一方面任一种可能实现方式中的方法。
本申请上述第三方面或第三方面的任一种实现所述装置的实施以及有益效果可与本申请上述第一方面或第一方面的任一种实现所述方法的实施以及有益效果可以相互参见,重复之处不再赘述。
第四方面,提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述第一方面以及第一方面任一种可能实现方式中的方法。
第五方面,提供一种芯片,所述芯片通过一基带芯片与网络设备建立数据连接,所述芯片包括应用处理单元和通信接口,所述应用处理单元用于在确定第一数据包的反馈信息返回已超时的情况下,将所述第一数据包所在连接的数据发送速率从第一值减小到第二值,所述第一数据包为所述应用芯片通过一通信链路向目标设备发送的数据包,所述通信链路包括无线链路和有线链路;检测所述第一数据包后续的多个数据包的反馈信息的返回时间;在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述通信接口接收来自所述基带芯片的上报参数;所述上报参数为无线链路的通信参数、所述上报参数为反馈超时的原因,或者,所述上报参数为无线链路的通信质量,所述无线链路的通信质量为用于表示所述无线链路满足预设通信要求或所述无线链路未满足预设通信要求的一个数值;根据所述上报参数,确定所述第一数据包的反馈信息超时的原因;在确定所述超时是由于所述通信链路中的无线链路的丢包引起的情况下,将发送数据的速率从当前的第三值增大到第四值,其中,所述第三值大于等于所述第二值,所述第三值小于所述第一值。
结合第五方面,在第一种可能实现方式中,所述第四值大于等于所述第一值,或者,所述第四值大于两倍的第三值。
结合第五方面或第一种可能实现方式,在第二种可能实现方式中,所述反馈信息的返回时间为所述反馈信息对应数据包的往返时延RTT,所述第一数据包的反馈信息返回已超时表示所述第一数据包的RTT已超时;所述发送数据的速率为所述第一数据包所在连接的拥塞窗口cwnd。
结合第五方面、第一种可能实现方式或第二种可能实现方式中,在第三种可能实现方式中,所述上报参数为无线链路的通信参数;所述应用处理单元在在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述通信接口接收来自所述基带芯片的上报参数,包括:所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述通信接口接收来自所述基带芯片的通信参数;所述应用处理单元根据所述上报参数,确定所述第一数据包的反馈信息超时的原因,包括:所述应用处理单元用于根据所述无线链路的通信参数,确定所述第一数据包的反馈信息超时的原因,其中,所述第一数据包的反馈信息超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路丢包引起的反馈信息超时。
结合第三种可能实现方式,在第四种可能实现方式中,所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述通信接口接收来自所述基带芯片的通信参数,包括:所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述通信接口,向所述基带芯片发送第一请求,所述第一请求指示所述基带芯片上报所述无线链路的通信参数;所述应用处理单元接收所述基带芯片发送来的无线链路的通信参数。
结合第三种可能实现方式或第四种可能实现方式,在第五种可能实现方式中,所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述无线链路的通信参数时,具体用于:所述应用处理单元接收来自所述基带芯片上报的多个通信参数;所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,从所述多个通信参数中,选择所述反馈信息超时时间段内的通信参数。
结合第五方面、第一种可能实现方式或第二种可能实现方式中,在第六种可能实现方式中,所述上报参数为无线链路的通信质量;所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述通信接口接收来自所述基带芯片的上报参数,包括:所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述通信接口接收来自所述基带芯片的无线链路的通信质量;所述应用处理单元根据所述上报参数,确定所述第一数据包的反馈信息超时的原因时,具体用于:所述应用处理单元根据所述无线链路的通信质量,确定所述第一数据包反馈信息超时的原因;其中,所述第一数据包的反馈信息超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路引起的反馈信息超时。
结合第五方面、第一种可能实现方式或第二种可能实现方式中,在第七种可能实现方式中,所述上报参数为反馈超时的原因;所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,,通过所述通信接口接收来自所述基带芯片的上报参数,包括:所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,,通过所述通信接口接收来自所述基带芯片的反馈超时的原因;其中,所述第一数据包的反馈信息超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路引起的反馈信息超时;所述应用处理单元根据所述上报参数,确定所述第一数据包的反馈信息超时的原因时,具体用于:所述应用处理单元将所接收的反馈信息超时的原因,作为所述第一数据包的反馈信息超时的原因。
结合第三种可能实现方式至第七种可能实现方式中的任一种,在第九种可能实现方式中,所述通信参数包括参考信号接收功率、参考信号接收质量、信噪比以及无线链路重传率中的至少一个。
本申请上述第五方面或第五方面的任一种实现所述装置的实施以及有益效果可与本申请上述第一方面或第一方面的任一种实现所述方法的实施以及有益效果可以相互参见,重复之处不再赘述。
第六方面,提供一种芯片,所述芯片包括基带处理单元和通信接口,所述基带处理单元用于确定上报参数;通过所述通信接口发送所述上报参数至应用芯片,以使得所述应用芯片根据所述上报参数,调整向目标设备发送数据的速率,以及将从所述应用芯片接收的所述通信链路的待发送数据向所述目标设备发送;所述芯片与所述目标设备间的通信链路包括有线链路和无线链路,所述上报参数为以下参数中的任意一种:所述无线链路的通信参数、所述通信链路中一反馈信息的返回时间超时的原因,或者所述无线链路的通信质量,所述无线链路的通信质量为用于表示所述无线链路满足预设通信要求或所述无线链路未满足预设通信要求的一个数值。
结合第六方面,在第一种可能实现方式中,所述上报参数为无线链路的通信质量;所述基带处理单元在确定上报参数时,具体用于:所述基带处理单元采集所述无线链路的通信参数。
结合第六方面,在第二种可能实现方式中,所述上报参数为所述无线链路反馈超时的原因;所述基带处理单元在确定上报参数时,具体用于:所述基带处理单元采集所述无线链路的通信参数;所述基带处理单元根据所述无线链路的通信参数,确定反馈超时的原因,所述所馈超时的原因为由无线链路丢包引起的反馈超时,或由所述有线链路丢包引起的反馈超时。
结合第六方面,在第三种可能实现方式中,所述上报参数为所述无线链路的通信质量;所述基带处理单元在确定上报参数时,具体用于:所述基带处理单元采集所述无线链路的通信参数;所述基带处理单元根据所述无线链路的通信参数,确定所述无线链路的通信质量。
结合第一方面、第一种可能实现方式、第二种可能实现方式或第三种可能实现方式,在第四种可能实现方式中,所述通信参数包括参考信号接收功率、参考信号接收质量、信噪比以及无线链路重传率中的至少一个。
本申请上述第六方面或第六方面的任一种实现所述装置的实施以及有益效果可与本申请上述第一方面或第一方面的任一种实现所述方法的实施以及有益效果可以相互参见,重复之处不再赘述。
第七方面,提供一种芯片,所述芯片包括应用处理单元和基带处理单元,所述应用处理单元,用于在确定第一数据包的反馈信息返回已超时的情况下,将所述第一数据包所在连接的数据发送速率从第一值减小到第二值,所述第一数据包为所述终端通过一通信链路向目标设备发送的数据包,所述通信链路包括无线链路和有线链路;检测所述第一数据包后续的多个数据包的反馈信息的返回时间;在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述基带处理单元确定所述第一数据包的反馈信息超时的原因;在确定所述超时是由于所述通信链路中的无线链路的丢包引起的情况下,将所述终端发送数据的速率从当前的第三值增大到第四值,其中,所述第三值大于等于所述第二值,所述第三值小于所述第一值。
结合第七方面,在第一种可能实现方式,所述第四值大于等于所述第一值,或者,所述第四值大于两倍的第三值。
结合第七方面或第一种可能实现方式,在第二种可能实现方式,所述反馈信息的返回时间为所述反馈信息对应数据包的往返时延RTT,所述第一数据包的反馈信息返回已超时表示所述第一数据包的RTT已超时;所述终端发送数据的速率为所述第一数据包所在连接的拥塞窗口cwnd。
结合第七方面、第一种可能实现方式或第二种可能实现方式,在第三种可能实现方式中,所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述基带处理单元确定所述第一数据包的反馈信息超时的原因时,具体包括:所述基带处理单元采集所述第一数据包反馈信息超时的时间段内所述无线链路的通信参数,所述超时的时间段为从发送所述第一数据包至所述第一数据包反馈超时的时间段;所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述无线链路的通信参数;所述应用处理单元根据所述无线链路的通信参数,确定所述第一数据包的反馈信息超时的原因,其中,所述第一数据包的反馈信息超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路丢包引起的反馈信息超时。
结合第三种可能实现方式,在第四种可能实现方式中,所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述无线链路的的通信参数时,具体用于:所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,发送第一请求至所述基带处理单元,所述第一请求指示所述基带处理单元上报所述无线链路的通信参数;所述应用处理单元接收所述无线链路的通信参数,其中,所述通信参数为所述基带处理单元根据所述第一请求向所述应用处理单元发送的。
结合第三种可能实现方式或第四种可能实现方式,在第五种可能实现方式中,所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述无线链路的通信参数时,具体用于:所述应用处理单元接收多个通信参数,所述多个通信参数为所述基带处理单元在上报开关处于开启状态时,上报至所述应用处理单元的;所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,从所述多个通信参数中,选择所述反馈信息超时时间段内的通信参数。
结合第七方面、第一种可能实现方式或第二种可能实现方式,在第六种可能实现方式中,所述应用处理芯片在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述基带处理单元确定所述第一数据包的反馈信息超时的原因时,具体用于:所述基带处理单元采集所述第一数据包反馈信息超时的时间段内所述无线链路的通信参数,以及根据所述通信参数,确定在所述反馈信息超时的时间内无线链路的通信质量,所述超时的时间段为从发送所述第一数据包至所述第一数据包反馈超时的时间段;所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,根据所述无线链路的通信质量,确定所述第一数据包反馈信息超时的原因;其中,所述第一数据包的反馈信息超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路引起的反馈信息超时。
结合第七方面、第一种可能实现方式或第二种可能实现方式,在第七种可能实现方式中,所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述基带处理单元确定所述第一数据包的反馈信息超时的原因时,具体用于:所述基带处理单元采集所述第一数据包反馈信息超时的时间段内所述无线链路的通信参数,以及根据所述通信参数,确定第一数据包反馈超时的原因;其中,所述第一数据包反馈超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路引起的反馈信息超时;所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述第一数据包反馈超时的原因。
结合第三种可能实现方式至第七种可能实现方式中的任一种,在第八种可能实现方式中,所述通信参数包括参考信号接收功率、参考信号接收质量、信噪比以及无线链路重传率中的至少一个。
在本申请中,在确定反馈信息超时的情况下,首先将发送数据包的速率从第一值减小到第二值,然后,确定反馈超时的原因,而在确定反馈超时是由于该连接的无线链路的丢包所引起时,直接将终端发送数据包的速率由第三值增大到第四值,而并不是再按照现有技术中的拥塞控制策略缓慢提高终端发送该连接数据包的速率;也就是说,对非网络拥塞引起的反馈超时,能够更快地提升该连接发送数据包的速率,即更快地恢复上行数据的吞吐量,从而减少不必要的拥塞控制,提高网络传输资源的利用率。
附图说明
图1为本申请提供的无线系统组网结构的一示意图;
图2为本申请提供的调整终端发送数据的速率的方法的一流程图;
图3为本申请提供的终端的一硬件结构示意图;
图4为本申请提供的应用处理器和基带处理器的一软件框架图;
图5为本申请提供的基带处理器的3GPP协议栈的处理流程;
图6为本申请提供的基带处理器的核间通信任务的处理流程;
图7为本申请提供的应用处理器的核间通信任务的处理流程;
图8为本申请提供的应用处理器的TCP/IP协议栈的处理流程;
图9为本申请提供的拥塞窗口的一示意图;
图10为本申请提供的调整终端发送数据的速率的装置的结构示意图;
图11为本申请提供的调整终端发送数据的速率的设备的结构示意图。
具体实施方式
为了便于理解,首先对本申请中所涉及的一些技术名词进行解释,具体如下:
往返时间(Round Trip Time,RTT):是指源端从发送数据包开始,到接收到目的端针对该数据包的反馈信息总共经历的时长;
拥塞窗口(congestion window,cwnd):是指在TCP数据传输中,数据的源端在进入拥塞控制状况下,源端在一个RTT时间段内所发送数据包的数量;拥塞窗口的退避,指数据的源端在网络出现拥塞的情况下,将拥塞窗口减小。
参考信号接收功率(Reference Signal Receiving Power,RSRP):是指某个符号内承载参考信号的所有资源粒子上接收到的信号功率的平均值;
参考信号接收质量(Reference Signal Received Quality,RSRQ),所述RSRQ=RSRP*NPRB/RSSI,所述RSRQ表示参考信号接收功率,NPRB表示下行传输中所需要的物理时频资源的总数,RSSI表示载波信号接收强度指示。
信噪比(Signal to Interference plus Noise Ratio,SINR):表示所接收到的有用信号强度与干扰噪声强度的比值。
无线链路(Radio Link Control,RLC)重传率:是指由于无线链路((Radio LinkControl,RLC)层及以下层由于丢包引起的重传数据包与总共发送数据包的比值。
为了更清楚的介绍本申请的技术方案,如图1所示,本申请提供一种无线通信系统100,该无线通信系统100仅作为本申请的一种应用场景,不应当理解为对本申请应用场景的限定。
具体的,仍可参照图1,无线通信系统100可具体包括终端101、基站102、无线接入点103、中间网络设备104以及远程服务器105;其中,终端101与基站102,以及终端101与无线接入点103之间的通信链路为无线链路,而基站102与中间网络设备104之间、无线接入点103与中间网络设备104之间以及中间网络设备104与远程服务器105之间的通信链路为有线链路。
应当指出,终端101,可以是移动终端(Mobile Terminal),例如手机、平板电脑、运动相机、笔记本电脑等便携式、穿戴式、或者车载的移动设备,也可以是一些能够接入蜂窝网络的计算机、服务器等设备,甚至是能够接入蜂窝网络的路由器、网关等网络设备等,例如,可以使用SIM(Subscriber Identification Module,客户识别模块)卡的路由器或者网关,本发明实施例以手机为例进行说明。
基站102可以是用于与终端进行通信的设备,例如,可以是GSM系统或CDMA中的基站(Base Transceiver Station,简称“BTS”),也可以是WCDMA系统中的基站(NodeB,简称“NB”),还可以是LTE系统中的演进型基站(Evolutional Node B,简称“eNB”或“eNodeB”),还可以是D2D(Device to Device,设备对设备)通信中担任网络设备功能的终端,或者该网络设备可以为中继站、接入点、车载设备、发射点、可穿戴设备以及未来5G网络中的网络侧设备或未来演进的PLMN网络中的网络设备,或者任一承担网络功能的设备等。
无线接入点103可以是一个无线网络的接入点,俗称“热点”,主要用于将有线网络转换为无线网络,以扩大网络的覆盖范围,比如无线接入点103可为WLAN AP(WirelessLocal Area Networks Access Point,无线局域网接入点)或其它形式的接入点。
中间网络设备104主要用于进行对传输的数据包进行协议转换,以及路由选择,比如中间网络设备可具体为网关、路由器或交换机等设备。
远程服务器105可以为应用服务器、服务器代理以及数据中心服务器等。可以看出,终端101在与远程服务器105进行通信时,两者间的通信链路包括无线链路和有线链路两部分,其中,终端101与基站102,以及终端101与WLAN AP103之间的通信链路为无线链路,而基站102和远程服务器105,以及WLAN AP103和远程服务器105之间的通信链路为有线链路;在实际应用中,终端101在与基站102或终端101在与WLAN AP103之间的无线网络不稳定或断开时,终端101中的基带处理器(Modem)会主动丢弃数据包,在本申请中,将由于无线网络不稳定或断开所引起的丢包,称为无线丢包;而在基站102通过中间网络设备104与远程服务器105之间的通信过程中,如果中间网络设备104中数据出现拥塞,中间网络设备1104也会主动丢弃数据包;同理,在WLAN AP103通过中间间网络设备106与远程服务器105通信的过程中,中间网络设备106也会出现由于拥塞主动丢弃数据包的现象;在本申请中,将由于网络拥塞引出的丢包,称为有线丢包;需要说明的是,中间网络设备104和中间网络设备106可为一个部件,比如可为交换机或路由器,也可为多个部件的统称,比如可为交换机、路由器以及无线控制设备的统称。
应当指出,一个通信系统可包括比图1中所示的部件更少或更多的部件,或者包括与图1中所示部件不同的部件,图1仅仅示出了与本申请实施例所公开的实现方式更加相关的部件。例如,虽然图1中示出了一个远程服务器105,但所属领域的技术人员可理解成一个通信系统可包含任何数量的服务器。在现有技术中,为了保证通信的可靠性,终端101与远程服务器105在通信时,为了保证通信的可靠性,两者可采用TCP通信协议;在TCP通信设备中,终端101在作为源设备,向远程服务器105发送数据包时,远程服务器在接收到所述数据包后,会向终端101反馈一消息,以告知终端101远程服务器105已正确接收到该数据包,所述反馈消息可具体为ACK或NACK,所述ACK可具体代表远程服务器105已经正确接收到该数据包,而所述NACK可具体代理远程服务器105所接收的数据包有误,请求重传该数据包。
通过图1可以看到,终端101无论通过基站102或无线接入点103方式发送数据包,该数据包需经过无线链路和有线链路才能到达远程服务器105;而同样的,服务器105反馈至终端101的信息同样要需经过无线链路和有线链路才能到达终端101;而在实际应用中,当无线链路的通信质量变差,可能会出现无线丢包的现象,而在有线链路拥挤时,有线链路中的设备可会主动丢包;可以看出,在上述两种情况下,终端101发送的数据包可能在传输过程中被丢弃,并未能传送至远程服务器105中。
基于上述状况,在现有的TCP连接中,终端在发送数据包会设置一反馈信息接收时长,比如5S,而终端101在5S内未能接收到针对该数据包的反馈信息,即可认为该数据包被丢弃,然后重新发送该数据包。
应当指出,最初TCP通信协议是为有线网络设计的,当终端侧产生丢包,即反馈信息超时时,可认为是由于有线网络拥塞造成的,即当前在有线网络中传输的数据包过多所造成的,此时,将采用拥塞控制策略,在这种拥塞策略下,用于表示终端发送数据的速率的物理量为一个连接的拥塞窗口cwnd,所述拥塞控制策略,具体如下:
当终端检测到针对某一个或多个发送的数据的反馈信息超时时,终端侧将进入loss状态,在该状态下,将cwnd置为1,重传丢失的数据包;所述cwnd的值越大,代表终端发送数据包的速率越快,即在一个RTT内发送数据包的数量越多。在现有技术中,终端是以“RTT”为单位进行发送数据包的,即在一个RTT内发送多个数据包至远程服务器105内,远程服务器105可针对这多个发送的数据包,发送一反馈信息至终端。
在现有技术中,在将cwnd置为1后,为了避免突然向网络中注入大量数据,再次引起拥塞;在现有技术中,采用下述慢启动过程,逐步增加cwnd,比如,可具体如下:
在终端以cwnd为1所对应的速率发送数据包后,查看在一个RTT时间内以第一速率发送数据包的所馈信息是否超时,如果未超时,将cwnd的值设置为2;然后,再查看在一个RTT时间内反馈信息是否超时,如果未超时,将cwnd的值再设置为4;依次类推,直至终端发送的数据的反馈信息再次超时时,再将cwnd置于1。
采用上述方法,可完美的解决由于有线链路引起的拥塞,且可使终端发送数据包的数据量最大。但对于上述无线通信系统100而言,终端101和远程服务器105之间的通信链路包括无线链路和有线链路两部分,如果对于由于无线丢包所引起的反馈超时,如果再采用上述拥塞控制策略,将使得终端的上行吞吐量较小,从而使得网络传输资源的利用率较低。而在现有技术中,对于终端引起的反馈超时问题,并不区分是由于无线丢包引起的,还是由于有线丢包引起的,在将cwnd置为1后,再启动上述慢启动策略,从而使得终端的上行吞吐量较小,对网路传输资源的利用率较低。。
需要理解的是,用于表示终端发送数据的速率的还可以是其他的物理量,例如一个连接在每秒发送的数据包的数量或者数据的量等等,本申请不做限制,并且,为了便于理解,下文采用cwnd作为例子进行说明。
基于以上场景,本申请提供了一种调整终端发送数据的速率的方法,该方法的主要原理为:在终端检测到反馈信息超时时,为保证终端的正常通信,首先执行拥塞控制策略,将cwnd置为1,重传数据包,然后,判断判断一下上述反馈信息超时是由于无线丢包引起的,还是由于有线丢包引起的;对于由于有线丢包引起的反馈信息超时,直接利用现有技术中的慢启动策略即可;而对于由于无线丢包引起的反馈信息超时,也先执行上述慢启动策略,不同的是,在上述慢启动的过程中,不断监测终端发送数据包的反馈信息的返回时间,在连续发送的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下此时直接将cwnd调整为一个较大值,而不再采用慢启动策略中cwnd逐步提高的操作。
具体的,本申请所提供的终端调整终端发送速率的方法,参见图2,该方法可具体由终端执行,比如,图1中所示的终端101可被配置为用以执行如图2所示流程的功能模块,用以执行该流程的功能模块可通过硬件、软件编程或者软硬件的结合实现。
其中,本申请提供的调整终端发送数据的速率的方法,结合图2进行说明,应用理解,图2仅是为了便于理解,并不能对本申请的步骤造成限定。
步骤S21:终端在确定第一数据包的反馈信息返回已超时的情况下,将所述第一数据包所在连接的数据发送速率从第一值减小到第二值。
其中,所述第一数据包为所述终端通过一通信链路向目标设备发送的数据包,所述通信链路包括无线链路和有线链路;
步骤S22:终端检测所述第一数据包后续的多个数据包的反馈信息的返回时间。
步骤S23:终端在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,确定所述第一数据包的反馈信息超时的原因。
在一种实施例中,上述反馈信息的返回时间为所述反馈信息对应数据包的RTT,所述第一数据包的反馈信息返回已超时表示所述第一数据包的RTT已超时。所述预设返回时间要求可具体为连续发送的两个数据包的RTT明显从大变小。
需理解的是,本申请并不限制用于表示反馈信息的返回时间的物理量或者信息形式,该反馈信息的返回时间实质上可以反映该反馈信息传输的延迟情况或者反馈信息对应的数据包丢失的情况。例如,在另一种实施例中,上述反馈信息的返回时间仅指反馈信息传输的时间。反馈信息的发送时间可以携带至反馈信息中,而终端在接收到反馈信息后,根据反馈信息的接收时间以及反馈信息中携带的发送时间,即可计算出反馈信息的传输时间。
可参照图1所示的举例,终端为图1中的终端101,目标设备为图1中的远程服务器105,可见,终端101与远程服务器105间的通信链路包括无线链路和有线链路;在本申请中,如果两个相邻数据包的RTT明显从大变小,确定当前整个通信链路变通畅,即无线链路的通信质量良好,而有线链路而也未拥塞。
在一种示例中,RTT明显从大变小可但不限于为第二数据包的RTT小于N倍的第三数据包的RTT,所述第二数据包与所述第三数据包为所述终端相邻发送的两个数据包,且所述第三数据包的发送时间早于所述第二数据包的发送时间,所述N大于2。比如,N为2,而终端发送的相邻两个数据包的RTT分别为1s和3s,而RTT为3s的数据包为先发送数据包,RTT为1s的数据包为后发送数据包,那么后发送数据包的RTT1s小于2倍的后发数据包的RTT3s,那么可认为当前终端发送数据包的RTT明显从大变小。比如,在特殊场景下,N也可以取小于等于2的数值,比如N可取1.9、1.86、1.73甚至1.5等数值,但本领域技术人员悉知,对于N取1至2的数值时,一般并不认为RTT明显从大变小。
在另一种示例中,RTT明显从大变小可但不限于为第二数据包的RTT比第三数据包的RTT之间的差大于M,所述M大于1,所述第二数据包与所述第三数据包为所述终端相邻发送的两个数据包,且所述第三数据包的发送时间早于所述第二数据包的发送时间;比如,M为3,而终端发送的相邻两个数据包的RTT分别为2s和8s,而RTT为8s的数据包为先发送数据包,而RTT为2s的数据包为后发送数据包,那么后发送数据包的RTT 2s比先发送数据包的RTT 8s小6s,满足大于3的需求,此时可认为当前数据包的RTT明显从大变小。比如,在特殊场景下,N也可以取小于等于1的数值,比如N可取0.8,0.5.甚至0.3等数值,但本领域技术人员悉知,对于N取0至1的数值尤其是接近0的数值,例如0.1、0.05等时,一般并不认为RTT明显从大变小。
步骤S24:终端在确定所述超时是由于所述通信链路中的无线链路的丢包引起的情况下,将所述终端发送数据的速率从当前的第三值增大到第四值。
其中,所述第三值大于等于所述第二值,所述第三值小于所述第一值,所述述第四值可大于等于所述第一值,或者,所述第四值可大于两倍的第三值
步骤S25:终端在确定所述超时是由于所述通信链路中的有线链路丢包引起的情况下,按现有的拥塞控制策略中的慢启动过程,调整终端发送数据的速率。
应当指出,上述步骤S21至步骤S25中所述终端发送数据的速率为所述第一数据包所在连接的cwnd。
在本申请中,关于上述步骤S25中的现有拥塞控制中的慢启动过程,可具体如下:比如终端发送一数据包的RTT已超时,将该数据包连接的cwnd设置为1,然后查看以cwnd为1发送的数据包的RTT是否超时,如果不超时,将cwnd设置为2,再继续查看以cwnd为2发送的数据包的RTT是否超时,如果不超时,将cwnd设置为4,依次类推,直至数据包的RTT再次超时。
应当指出,上述终端可包括两个处理器,分别为应用处理器和基带处理器,而上述步骤S23的实现过程可但不限于以下实现方式:
第一种:基带处理器采集通信参数,而应用处理器根据通信参数,确定第一数据包反馈超时的原因,具体如下:
基带处理器采集所述第一数据包反馈信息超时的时间段内所述无线链路的通信参数,所述超时的时间段为从发送所述第一数据包至所述第一数据包反馈超时的时间段;所述应用处理器在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述无线链路的通信参数;所述应用处理器根据所述无线链路的通信参数,确定所述第一数据包的反馈信息超时的原因,其中,所述第一数据包的反馈信息超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路丢包引起的反馈信息超时。
具体的,对于基带处理器上报通信参数的过程包括但不限于以下几种实施方式:1、应用处理器在检测到第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,发送第一请求至基带处理器,而所述第一请求指示所述基带处理器上报所述无线链路的通信参数;而基带处理器在接收到第一请求时,上报通信参数至应用处理器。2、基带处理器设置有上报开关,在上报开关处于开启状态时,上报多个通信参数至应用处理器;而应用处理器在检测到第一数据包后续的多个数据包的反馈信息的返回时间满足预设的要求的情奖品下,从所述多个通信参数中,选择反馈信息超时时间段的通信参数;所述基带处理器的上报开关,可具体有两个状态,分别为开启状态(比如为ON)和关闭状态(比如为OFF);关于上报开关如何触发,一种为基带处理器可自身周期性触发;另一种为在接收到应用处理器的第一请求时触发;而上报开关的触发是有时效的,而一旦超过预设的时效,上报开关将自动关闭,也就是说上报开关在被触发后,将打开上报开关,上报通信参数,而在上报开关的开启达到预设时间时,将自动关闭上报开关。
第二种:基带处理器采集通信参数,且根据通信参数,确定第一数据包反馈超时的原因,且上报第一数据包反馈超时的原因至应用处理器,具体如下:
所述基带处理器采集所述第一数据包反馈信息超时的时间段内所述无线链路的通信参数,以及根据所述通信参数,确定且上报第一数据包反馈超时的原因;其中,所述第一数据包反馈超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路引起的反馈信息超时;所述应用处理器接收所述第一数据包反馈超时的原因。应当理解,上述反馈超时的原因,可具体为一个标记(flag),该标记可表示无线丢包和有线丢包,或者,上述返馈超时的原因还可用几比特的数据表示,比如用几个比特数据的某一特定组合表示无线丢包,另一个特定组合表示有线丢包,比如用00表示无线丢包,用01表示有线丢包。
具体的,关于基带处理器上报超时原因的过程包括但不限于以下几种实施方式:1、应用处理器在检测到第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,发送第一请求至基带处理器,而所述第一请求指示所述基带处理器上报超时原因;而基带处理器在接收到第一请求时,上报超时原因至应用处理器。2、基带处理器中设置有上报开关,在上报开关处于开启状态时,上报超时原因至应用处理器;所述基带处理器的上报开关,可具体有两个状态,分别为开启状态(比如ON)和关闭状态(比如OFF);关于上报开关如何触发,一种为基带处理器可自身周期性触发;另一种为在接收到应用处理器的第一请求时触发;而上报开关的触发是有时效的,而一旦超过预设的时效,上报开关将自动关闭,也就是说上报开关在被触发后,将打开上报开关,上报通信参数,而在上报开关的开启达到预设时间时,将自动关闭上报开关。
第三种:基带处理采集通信参数,且根据通信参数,确定第一数据包反馈超时的时间段内无线链路的通信质量;而应用处理器将根据无线链路的通信质量,确定丢包原因,具体如下:
基带处理器采集所述第一数据包反馈信息超时的时间段内所述无线链路的通信参数,以及根据所述通信参数,确定且上报在所述反馈信息超时的时间内无线链路的通信质量,所述超时的时间段为从发送所述第一数据包至所述第一数据包反馈超时的时间段;应用处理器在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,根据上报的所述无线链路的通信质量,确定所述第一数据包反馈信息超时的原因;其中,所述第一数据包的反馈信息超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路引起的反馈信息超时。
同样,关于基带处理器上报通信质量的过程包括但不限于以下几种实施方式:1、应用处理器在检测到第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,发送第一请求至基带处理器,而所述第一请求指示所述基带处理器上报通信质量;而基带处理器在接收到第一请求时,上报通信质量至应用处理器。2、基带处理器中设置有上报开关,在上报开关处于开启状态时,上报通信质量至应用处理器。
在本申请关于上述第一种、第二种以及第三种方式中,如何根据通信参数,确定超时原因的过程包括但不限于以下方式:
首先,上述通信参数可包括RSRP、RSRQ、SINR以及RLC重传率中的至少一个。
第一种:预先给每个通信参数均预设一阈值范围,在基带处理器采集到无线链路的通信参数时,首先判断每个通信参数是否超过其所预设的阈值范围,在每个通信参数均未超过其相应的预设阈值范围时,确定丢包原因为有线丢包;而在通信参数中的任一通信参数超时其对应的阈值范围时,计算无线链路的评分,且在所述评分低于预设评分值时,认为超时原因为无线丢包,否则认为超时原因为有线丢包;或者,基带处理器在采集到上述通信通信参数时,上报通信参数至应用处理器,应用处理器给每个通信参数设置一阈值范围,而在每个通信参数均位于预设的阈值范围时,认为超时原因为有线丢包;而在通信参数中的任一通信参数超过其对应的阈值范围,且根据通信参数所计算无线链路的评分,低于预设评分值时,则确定超时原因为无线丢包;否则认为超时原因为有线丢包。
比如,在3G或LTE网络中,RSRQ和RSRP的大小一般为负值,而在本申请中,可给RSRQ设置一预设阈值范围为(-10dB,-30dB),如果所采集的RSRQ为-20dB,那么可认为当前采集的RSRQ位于预设阈值范围,如果所采集的RSRQ为-50dB,那么可认为当前采集的RSRQ量超过所述预设阈值范围。
再比如,可预先给每种通信参数设置一个权重,然后根据每个通信参数的权重以及所采集通信参数的大小即可计算出通信质量的评分,比如,为RSRP设置的权重为0.3,为RSRQ设置的权重为0.2,为SINR设置的权重为0.2,为RLC重传率设置的权重为0.3,而当前采集的RSRP大小为-20dB,RSRQ的大小为-30dB,SINR为30dB,RLC重传率为20%,那么整个无线链路的质量评分为
再比如,预设的评分为60分,采用上述方法所计算出的无线链路的评分低于60分,可认为在反馈信息超时时间段内无线链路的通信质量不满足要求,超时原因为无线丢包;而高于60分,可认为在反馈信息超时时间段内无线链路的通信质量满足要求,超时原因为有线丢包;而上述举例所计算出的无线链路的质量评分为42分,低于60分,可认为在反馈超时原因为无线丢包。
第二种:基带处理器在采集到反馈信息超时时间段内无线链路的通信参数时,直接利用无线参数计算通信质量的评分,而在评分低于预设评分值时,确定无线链路的通信质量为差,超时原因为无线丢包,否则,确定无线链路的通信质量为好,超时原因为有线丢包。
由于在实际应用中,如果每采集至一组通信参数,即计算该通信参数相对应的通信质量,终端的功耗还是较高的;因此,对于第一种方式,先进行一下阈值范围的范围,在超出阈值范围时,再根据通信参数计算通信质量;可减少终端的计算量,从而减少终端的功耗。
应当指出,在实际应用中,无线链路和有线链路同时出现问题的概率极低,因此,在本申请中,当反馈信息超时,且确定在反馈信息超时时间段内无线链路不满足要求时,可确定此时为无线链路出现问题;其次,即便无线链路和有线链路同时出现问题,在这种情况下,cnwd的值一般不高,且该方案是在确定整个链路变通畅后才补偿cnwd的,所以不会再次造成有线链路的拥塞。
还应当指出,本申请所提供的技术方案可典型地应用于无线通信系统中,比如,例如:全球移动通讯系统(GSM,Global System of Mobile communication)网络,码分多址(CDMA,Code Division Multiple Access)网络,时分同步码分多址(TDSCDMA,TimeDivision-Synchronous Code Division Multiple Access)网络,宽带码分多址(WCDMA,Wideband Code Division Multiple Access Wireless)网络,通用分组无线业务(GPRS,General Packet Radio Service)网络,长期演进(LTE,Long Term Evolution)网络,软件定义网络(SDN,Software Defined Network),无线传感器网络(Wireless SensorNetwork)等。
在本申请的一种示例中,图3示出了终端101的一种硬件结构,如图3所示,终端101可包括,应用处理器310、存储器320、通信子系统330和电源管理子系统340;
其中,存储器320用于存储可执行程序,该可执行程序包括操作系统和应用程序;存储器320一般包括内存和外存。内存可以为随机存储器(RAM),只读存储器(ROM),以及高速缓存(CACHE)等。外存可以为硬盘、光盘、USB盘、软盘或磁带机等。可执行程序通常被存储在外存上,应用处理器310会将可执行程序从外存加载到内存后再执行该程序。
应用处理器(Application Processor,AP)310,用于运行操作系统和应用程序的处理器。
通信子系统330主要实现基带处理、调制解调、信号放大和滤波、均衡等功能。通信子系统330可包括基带处理器331(Communication Processor,CP),也称为无线调制解调器(Modem)、射频模块332和天线333。
电源管理子系统340,用于为整个终端供电。
应当指出,仍可参见图3,终端101还可包括:Wi-Fi(Wireless Fidelity,无线保真)模块350、显示器360、传感器370和摄像头380;
其中,Wi-Fi模块350支持IEEE 802.11系列协议,终端101可以通过Wi-Fi模块150接入WLAN;
显示器360,用于显示由用户输入的信息或提供给用户的信息以及终端10的各种菜单界面等,显示器360可具体为液晶显示器(英文:Liquid Crystal Display,LED)或有机发光二极管(英文:Organic Light-Emitting Diode,OLED)等。在其他一些实施例中,显示器360上可以覆盖触控面板,以形成触摸显示屏。
传感器370,可具体为重力传感器、加速度传感器和光传感器中的一个或多个;
摄像头380,可用于拍摄照片或录制视频。
应当指出,在实际应用中,基带处理器331可以和Wi-Fi模块350集成在同一芯片中,基带处理器331也可和应用处理器310集成在同一芯片中,也可以各自为独立的芯片,图3仅为示意性表达。所属领域的技术人员可以理解终端101可包括比图3中所示部件更少或更多的部件,图3所示的终端101仅示出了与本申请实施例所公开的多个实现方式的更加相关的部件。
应当指出,图3所示的终端可以用于执行本申请实施例描述的方法。
下面将继续描述终端101的软硬件环境,终端101按照逻辑层级可以被划分为硬件层、操作系统以及运行在操作系统之上的应用层(也称用户态);
其中,硬件层可包括图3所示的实施例所描述的硬件,比如应用处理器310,存储器320,Wi-Fi模块350等。操作系统可以为操作系统,操作系统,Windows操作系统或其它类型的操作系统等,在本申请中并不作限定。
在一个实施例中,操作系统可包括:框架层(Framework)、内核态和驱动层;所述驱动层可包括传感器驱动、Wi-Fi驱动、显示器驱动等硬件设备的驱动程序。内核态包括TCP协议栈、IP协议栈等;框架层可包括用户层与内核态之间进行通信的接口,以及一些服务,如图形服务(Graphic Service)、系统服务(System service)、网页服务(Web Service)和用户服务(Customer Service)等应用层运行应用,这些应用往往可以直接通过显示器与用户交互,例如图库、媒体播放器(Media Player)、浏览器(Browser)以及微信(wechat)等。操作系统和应用层的应用程序均可以可执行程序的形式存储于存储器320中,本发明实施例所使用的术语“程序”应被广泛地解释为包括但不限于:指令,指令集,代码,代码段,子程序,软件模块,应用,软件包,线程,进程,函数,固件,中间件等。
在本申请中,终端101可以通过通信子系统330来接入蜂窝网络,然后通过广域网与图1中的远程服务器105进行通信。终端101也可通过Wi-Fi模块350来接入WLAN,然后通过广域网与图1中的远程服务器105通信。
具体地,可参见图1,终端101接入网络后,可以通过TCP/IP协议栈(指TCP协议栈和IP协议栈)与远程服务器105建立TCP连接,然后利用该TCP连接传输数据。TCP/IP协议栈是用于实现TCP/IP参考模型所定义的TCP/IP协议簇的中间件。TCP协议栈可由终端101上的软件、硬件和/或固件的适当组合执行。TCP/IP协议簇包括两个核心协议:TCP(传输控制协议)和IP(网际协议)。终端101与远程服务器105之间的TCP连接的建立可由终端101上运行的应用程序发起。比如,以终端101中的浏览器为例,浏览器可生成套接字开启(socket open)命令,该命令被传递给终端101的TCP协议栈,以触发TCP协议栈通过三次消息交互(也称为“三次握手”)与远程服务器105建立TCP连接,然后,TCP协议栈通知浏览器连接已经建立。此时,终端101中的浏览器和远程服务器105就可以基于所建立的TCP连接传送TCP数据包了。
在本申请中,将详细介绍,终端101如何利用应用处理器310和基站处理器331发送TCP数据包,具体如下:
首先,应当指出,在本申请中,应用处理器310可以看做是一个处理器核,基带处理器331则可以看做是另一个处理器核,该软件架构可以支撑这两个核之间数据通信的机制,两个核之间的通信遵循具体的核间通信协议,本发明实施例对核间通信协议的种类不做限定。
在本申请中,如图4所示,应用处理器310在软件上可具体包括应用层和内核态,而应用层可具体包括应用APP,内核态可具体包括TCP协议栈、IP协议栈和核间通信任务,而基带处理器131可具体包括核间通信任务、核间数据传输任务和3GPP协议栈。
其中,仍可参照图4,应用处理器310,可通过TCP连接的源端socket接口,将待传输的TCP数据包首先经过TCP协议栈和IP协议栈的处理,然后使用内核态的核间通信任务将待传输的TCP数据包发送至基带处理器331的核间通信任务,所述核间通信任务可理解为计算系统中的task,也可理解为线程;而基带处理器331的核间通信任务在接收到所述待传输的TCP数据包后,将通过内部的核间数据传输任务将待传输的TCP数据包发送至3GPP协议栈,而3GPP协议栈将再通过图1所示通信子系统330的硬件,发送待传输TCP数据包。在本申请中,3GPP协议栈主要用于承载一种或多种数据链路层和物理层的通信协议,主要用于各种蜂窝网络的通信协议,包括并不局限于3G、4G甚至是未来5G中的各种通信协议,比如可以是GSM、LTE、CDMA等。
正常情况下,终端101在一个RTT时间段发送一轮数据包后,远程服务器105会向终端101发送一个ACK消息;在本申请中,如果由于两者之间无线链路的原因,发现了丢包,那么,在终端预设的反馈时长内,将接收不到该ACK消息,此时,终端101将确定ACK消息超时,在现有技术中,终端101中将启动拥塞控制策略;所述拥塞控制策略,具体如下:首先将cwnd置于1,重传丢失报文,然后进入慢启动过程;
而在本申请中,终端101在检测到反馈信息超时时,除了启动上述拥塞控制策略,还向基带处理器331发送请求,询问反馈超时的原因;,且不断检测RTT是否有明显从大变小的情况;如果一旦检测到RTT有明显从大变小的情况,且上述反馈超时的原因是有无线链路导致的,则将cwnd直接置为反馈超时前的cwnd或大于当前cwnd的两倍。。
下面结合图3的软件架构,以安卓系统的一种终端为例,描述一个实施例中,在反馈超时后,应用处理器和基带处理器如何配合以实现调整反馈超时连接的cwnd。其中,应用处理器和基带处理器可以是两个核或两个独立的芯片,这个实施例中涉及的一些前文提到的内容,请参阅前文,这里不再赘述。
在这种实现方式下,基带处理器中包括3GPP协议栈,以及用于与应用处理器传输数据包的任务(简称为核间数据传输任务),还包括用于传输数据量较小的核间通信任务,应用处理器中包括与基带处理器中的核间通信任务对应的另一核间通信任务,TCP协议栈,IP协议栈(在下文中,将TCP协议栈和IP协议栈统称为TCP/IP协议栈),以及运行在应用处理器应用层的应用。
在本申请中,基带处理器的3GPP协议栈的处理过程,可参见图5所示,应用理解,图5仅是为了便于理解,并不能对本申请的步骤造成限定。
步骤S51:周期性的采集无线链路的通信参数,比如,RSRP、RSRQ、SINR以及RLC重传率的一种或多种。
步骤S52:判断所采集的每个通信参数是否超过各自预设的阈值范围;如果超过,执行步骤S53;否则,结束流程。
步骤S53:将通信参数传递至基带处理器中的核间通信任务,例如通过共享内存的方式传递这些信息。
应当指出,基带处理器的3GPP协议栈所上报的通信参数中可具体携带有该通信参数所对应的时间戳;所述时间戳,通常是一个字符序列,可唯一地标识某一刻的时间;
在本申请中,基带处理器的核间通信任务的处理过程,可参见图6所示,应当理解,图6仅是为了便于理解,并不能对本申请的步骤造成限定。
步骤S61:在接收到3GPP协议栈传递的通信参数时,根据所接收到的通信参数,计算无线链路的通信质量。
在本申请中,关于根据通信参数,计算通信质量的方法可具体为多种方式,在本申请中,并不作限定。关于本申请的一种实施方式,可具体参见上述实施例一的论述,在此不再赘述。
步骤S62:判断当前计算获取的通信质量与上一次计算获取的通信质量是否相同;如果相同,执行步骤S63;否则,执行步骤S64。
在本申请中,上一次计算获取的通信质量为根据上一次通信参数所计算获得的。
步骤S63:更新所存储通信质量的时间戳信息。
步骤S64:更新所存储的通信质量以及该通信质量的时间戳。在本申请中,可具体分配一存储单元,用于存储无线链路的通信质量以及该通信质量的时间戳;在当前所确定的通信质量与上一次所确定的通信质量相同时,仅更新所存储通信质量的时间戳信息即可。而在当前无线链路的通信质量与上一次所确定的无线链路的通信质量不同时,更新所存储的通信质量以及该通信质量的时间戳。
步骤S65:判断Modem上报时间窗是否有效;如果有效;执行步骤S66;否则,结束流程。
在本申请中,基带处理器的核间通信任务中设置有Modem开关,当Modem开关打开时,会设置一个Modem上报时间窗,在该上报时间窗的有效期内,基带处理器的核间通信任务将持续上报存储单元所存储的无线链路通信质量以及相对应的时间戳至应用处理器的核间通信任务;而该Modem上报时间窗一旦失效,基带处理器的核间通信任务将不再上报所存储的无线链路的通信质量以及相对应的时间戳信息,且关闭Modem开关;关于Modem上报时间窗的有效期可具体为一个有效上报的预设时长,比如,Modem开关在打开时,可具体在5S内持续上报所存储的无线链路的通信质量;而所述5S可具体为上报时间窗的有效期。
应当指出,在本申请中,基带处理器的的Modem上报开关通常为常关闭的,只有在接收到应用处理器的核间通信任务的请求后,才会上报无线链路的通信质量。
步骤S66:上报当前无线链路的通信质量以及该通信质量对应的时间戳。
可以看出,由于基带处理器的核间通信任务采用被动触发和限时主动上报结合的策略,可以最小化应用处理器和基带处理器间的通信开销,在防止应用处理器被上报消息频繁唤醒的同时,也避免了基带处理器因频繁接收应用处理器的消息而引起崩溃。
在本申请中,应用处理器的核间通信任务的处理过程,可参见图7所示,应用理解,图5仅是为了便于理解,并不能对本申请的步骤造成限定。
步骤S71:接收TCP/IP协议栈发送的询问反馈信息超时的请求。
步骤S72:判断基带处理器的核间通信任务是否在主动上报无线链路的通信质量;如果否,执行步骤S73;否则,执行步骤S75。
步骤S73:向基带处理器的核间通信任务发送第一请求,请求基带处理器的核间通信任务上报无线链路的通信质量。
在本申请中,基带处理器的核间通信任务在接收到所述请求时,将打开Modem开关,上报所存储的无线链路的通信质量至应用处理器的核间通信任务。
步骤S74:接收基带处理器的核间通信任务上报的无线链路的通信质量。
步骤S75:根据无线链路的通信质量,确定反馈信息超时的原因,并将结果反馈至应用处理器的TCP/IP协议栈。
在本申请中,应用处理器TCP/IP协议栈的处理过程,可参见图8所示,应用理解,图8仅是为了便于理解,并不能对本申请的步骤造成限定。
步骤S81:在检测到反馈信息超时时,拥塞控制进入Loss状态,cwnd置为1,重传丢失数据包。
步骤S82:向应用处理器的核间通信任务发送请求,询问该反馈信息超时的原因。
步骤S83:获取应用处理器的核间通信任务发送的反馈超时的原因。
步骤S84:对引起该反馈信息超时的原因作标记,该标记可具体为有线丢包原因,或无线丢包原因。
步骤S85:不断检测数据包的RTT,在检则到RTT明显从大变小时,且确定上述反馈超时原因为无线丢包时,直接将反馈超时连接的cwnd置于反馈超时前cwnd的值,或将cwnd设置为大于当前cwnd值的2倍。
下面将结合图9所示的拥塞窗口变化的时序图,描述一个实施例。
如图9所示T0-T1是cwnd缓慢增长的拥塞避免阶段,其cwnd增长速度和具体算法有关,在此不再赘述。假设在T1时刻反馈信息发生了超时,那么按照现有的TCP拥塞控制算法,cwnd会在T1时刻退避为1,并进入慢启动阶段;其中,在慢启动过程中,cwnd将呈指数增长,每过一个RTT窗口增加一倍。
此时,应用处理器的TCP/IP协议栈会向应用处理器的核间通信任务发送反馈数据包超时原因的询问请求,并不断检测RTT,假设在T2时刻,检测到RTT明显从大变小且返回的原因为无线链路问题所致,则cwnd会被设置成Max;所述Max可具体为反馈信息超时前cwnd的值与当前cwnd的值两者间的较大值。在图9中,由于反馈信息超时前的cwnd明显比T2时刻的cwnd大,cwnd会迅速恢复到超时前的数值,之后进入拥塞避免阶段(T2-T3)。假设在T3时刻再一次发生了反馈信息超时,cwnd退避为1并进入慢启动阶段,T4时刻所返回的原因为有线链路拥塞或者RTT没有明显变小的趋势,则cwnd在T4时刻维持不变,并继续慢启动过程直到在T5时刻进入拥塞避免阶段。T5时刻的cwnd值和具体TCP算法相关,可以是超时前cwnd值的一半,也可以是70%。T5往后cwnd增长缓慢,直到T6时刻恢复到超时前的cwnd。对比图9前后两次超时退避后的cwnd恢复过程,可以看到本方案能加快无线丢包时的cwnd恢复速度,从而提高移动高丢包场景下的上行传输吞吐率。
应当指出,在弱场和高速移动场景(比如地铁、火车或动车等),由于无线链路的原因引起的反馈信息超时是非常多的,因此,采用本申请的方法,对于提高弱场和高速移动场景的上行吞吐量的效果更加明显,通过相关测试表明,在弱场和高速移动场景下,采用本申请的方法可提上升传输的吞吐量提高10%至20%。
与上述构思相同,本申请还提供一种调整终端发送数据的速率的装置,如图10所示,所述装置1000包括:
发送速率控制单元1001,用于在确定第一数据包的反馈信息返回已超时的情况下,将所述第一数据包所在连接的数据发送速率从第一值减小到第二值,所述第一数据包为所述装置通过一通信链路向目标设备发送的数据包,所述通信链路包括无线链路和有线链路
检测单元1002,用于检测所述第一数据包后续的多个数据包的反馈信息的返回时间;
确定单元1003,用于在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,确定所述第一数据包的反馈信息超时的原因;
发送速率控制单元1001,还用于在确定所述超时是由于所述通信链路中的无线链路的丢包引起的情况下,将所述终端发送数据的速率从当前的第三值增大到第四值,其中,所述第三值大于等于所述第二值,所述第三值小于所述第一值。
可选的,所述第四值大于等于所述第一值,或者,所述第四值大于两倍的第三值。
可选的,所述反馈信息的返回时间为所述反馈信息对应数据包的往返时延RTT,所述第一数据包的反馈信息返回已超时表示所述第一数据包的RTT已超时;所述装置发送数据的速率为所述第一数据包所在连接的拥塞窗口cwnd。
可选的,确定单元1003,包括第一确定单元和第二确定单元,所述第一确定单元,用于采集所述第一数据包反馈信息超时的时间段内所述无线链路的通信参数,所述超时的时间段为从发送所述第一数据包至所述第一数据包反馈超时的时间段;所述第二确定单元,用于在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述无线链路的通信参数,以及,根据所述无线链路的通信参数,确定所述第一数据包的反馈信息超时的原因,其中,所述第一数据包的反馈信息超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路丢包引起的反馈信息超时。
可选的,所述第二确定单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述无线链路的的通信参数时,具体用于:在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,发送第一请求至所述第一确定单元,所述第一请求指示所述第一确定单元上报所述无线链路的通信参数;接收所述无线链路的通信参数,其中,所述通信参数为所述第一确定单元根据所述第一请求向所述第二确定单元发送的。
可选的,所述第二确定单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述无线链路的通信参数时,具体用于:接收多个通信参数,所述多个通信参数为所述第一确定单元在上报开关处于开启状态时,上报至所述第二确定单元的;在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,从所述多个通信参数中,选择所述反馈信息超时时间段内的通信参数。
可选的,所述确定单元1003包括第二确定单元和第一确定单元;所述第一确定单元,用于采集所述第一数据包反馈信息超时的时间段内所述无线链路的通信参数,以及根据所述通信参数,确定在所述反馈信息超时的时间内无线链路的通信质量,所述超时的时间段为从发送所述第一数据包至所述第一数据包反馈超时的时间段;所述第二确定单元,用于在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,根据所述无线链路的通信质量,确定所述第一数据包反馈信息超时的原因;其中,所述第一数据包的反馈信息超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路引起的反馈信息超时。
可选的,所述确定单元1003包括第二确定单元和第一确定单元;所述第一确定单元,用于采集所述第一数据包反馈信息超时的时间段内所述无线链路的通信参数,以及根据所述通信参数,确定第一数据包反馈超时的原因;其中,所述第一数据包反馈超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路引起的反馈信息超时;所述第二确定单元,用于在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述第一数据包反馈超时的原因。
可选的,所述通信参数包括参考信号接收功率、参考信号接收质量、信噪比以及无线链路重传率中的至少一个。
具体地,由于本申请上述实施例所提供的装置与本申请前述实施例所提供的方法实施例解决问题的原理相似,因而本申请上述实施例所提供的装置的具体实施以及有益效果可与本申请前述实施例所提供的方法的实施以及有益效果可以相互参见,重复之处不再赘述。
本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
如图11所示,本申请还提供一种调整终端发送数据的速率的设备110,包括处理器111,所述处理器111可以是一个中央处理模块(central processing unit,CPU),或者为数字处理模块等等;所述处理器111,用于执行上述实施例提供的调整终端发送数据的速率的方法;
设备110还可包括存储器112,用存储计算机可执行指令;存储器可以是非易失性存储器,比如硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)等,还可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM)。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
尽管未在图中示出,设备110还可包括通信接口,用于与外部设备进行通信。
本申请实施例中不限定上述处理器111以及存储器112之间的具体连接介质。本申请实施例在图11中以处理器111以及存储器112之间通过总线连接,图11使用一条空心双箭头线表示,但并不表示仅有一根总线或一种类型的总线,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线可以分为地址总线、数据总线、控制总线等。应当指出,设备110可以是如图3或者图4所示的终端,可具体执行图2所示的调整终端发送数据的速率的方法。例如,图11所示的设备可以是图10所示装置是一种具体实现方式,其中,图10所示的发送速率控制单元1001、检测单元1002以及确定单元1003的一钟实现方式为通过图11所示的处理器111调用存储器112中的计算机存储指令实现。
本申请还提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述的调整终端发送速率的方法。
与上述构思相同,本申请实施例还提供一种芯片,所述芯片通过一基带芯片与网络设备建立数据连接,所述芯片包括应用处理单元和通信接口,所述应用处理单元用于在确定第一数据包的反馈信息返回已超时的情况下,将所述第一数据包所在连接的数据发送速率从第一值减小到第二值,所述第一数据包为所述应用芯片通过一通信链路向目标设备发送的数据包,所述通信链路包括无线链路和有线链路;检测所述第一数据包后续的多个数据包的反馈信息的返回时间;在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述通信接口接收来自所述基带芯片的上报参数;所述上报参数为无线链路的通信参数、所述上报参数为反馈超时的原因,或者,所述上报参数为无线链路的通信质量,所述无线链路的通信质量为用于表示所述无线链路满足预设通信要求或所述无线链路未满足预设通信要求的一个数值;根据所述上报参数,确定所述第一数据包的反馈信息超时的原因;在确定所述超时是由于所述通信链路中的无线链路的丢包引起的情况下,将发送数据的速率从当前的第三值增大到第四值,其中,所述第三值大于等于所述第二值,所述第三值小于所述第一值。
可选的,所述第四值大于等于所述第一值,或者,所述第四值大于两倍的第三值。
可选的,所述反馈信息的返回时间为所述反馈信息对应数据包的往返时延RTT,所述第一数据包的反馈信息返回已超时表示所述第一数据包的RTT已超时;所述发送数据的速率为所述第一数据包所在连接的拥塞窗口cwnd。
可选的,所述上报参数为无线链路的通信参数;所述应用处理单元在在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述通信接口接收来自所述基带芯片的上报参数,包括:所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述通信接口接收来自所述基带芯片的通信参数;所述应用处理单元根据所述上报参数,确定所述第一数据包的反馈信息超时的原因,包括:所述应用处理单元用于根据所述无线链路的通信参数,确定所述第一数据包的反馈信息超时的原因,其中,所述第一数据包的反馈信息超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路丢包引起的反馈信息超时。
可选的,所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述通信接口接收来自所述基带芯片的通信参数,包括:所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述通信接口,向所述基带芯片发送第一请求,所述第一请求指示所述基带芯片上报所述无线链路的通信参数;所述应用处理单元接收所述基带芯片发送来的无线链路的通信参数。
可选的,所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述无线链路的通信参数时,具体用于:所述应用处理单元接收来自所述基带芯片上报的多个通信参数;所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,从所述多个通信参数中,选择所述反馈信息超时时间段内的通信参数。
可选的,所述上报参数为无线链路的通信质量;所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述通信接口接收来自所述基带芯片的上报参数,包括:所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述通信接口接收来自所述基带芯片的无线链路的通信质量;所述应用处理单元根据所述上报参数,确定所述第一数据包的反馈信息超时的原因时,具体用于:所述应用处理单元根据所述无线链路的通信质量,确定所述第一数据包反馈信息超时的原因;其中,所述第一数据包的反馈信息超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路引起的反馈信息超时。
可选的,所述上报参数为反馈超时的原因;所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,,通过所述通信接口接收来自所述基带芯片的上报参数,包括:所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,,通过所述通信接口接收来自所述基带芯片的反馈超时的原因;其中,所述第一数据包的反馈信息超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路引起的反馈信息超时。所述应用处理单元根据所述上报参数,确定所述第一数据包的反馈信息超时的原因时,具体用于:所述应用处理单元将所接收的反馈信息超时的原因,作为所述第一数据包的反馈信息超时的原因。
可选的,所述通信参数包括参考信号接收功率、参考信号接收质量、信噪比以及无线链路重传率中的至少一个。
应当指出,本申请实施例中的芯片可具体实现上述所有实施例中的应用处理器的功能。
本申请实施例还提供一种芯片,所述芯片包括基带处理单元和通信接口,所述基带处理单元用于确定上报参数;通过所述通信接口发送所述上报参数至应用芯片,以使得所述应用芯片根据所述上报参数,调整向目标设备发送数据的速率,以及将从所述应用芯片接收的所述通信链路的待发送数据向所述目标设备发送;所述芯片与所述目标设备间的通信链路包括有线链路和无线链路,所述上报参数为以下参数中的任意一种:所述无线链路的通信参数、所述通信链路中一反馈信息的返回时间超时的原因,或者所述无线链路的通信质量,所述无线链路的通信质量为用于表示所述无线链路满足预设通信要求或所述无线链路未满足预设通信要求的一个数值。
可选的,所述上报参数为无线链路的通信质量;所述基带处理单元在确定上报参数时,具体用于:所述基带处理单元采集所述无线链路的通信参数。
可选的,所述上报参数为所述无线链路反馈超时的原因;所述基带处理单元在确定上报参数时,具体用于:所述基带处理单元采集所述无线链路的通信参数;所述基带处理单元根据所述无线链路的通信参数,确定反馈超时的原因,所述所馈超时的原因为由无线链路丢包引起的反馈超时,或由所述有线链路丢包引起的反馈超时。
可选的,所述上报参数为所述无线链路的通信质量;所述基带处理单元在确定上报参数时,具体用于:所述基带处理单元采集所述无线链路的通信参数;所述基带处理单元根据所述无线链路的通信参数,确定所述无线链路的通信质量。
可选的,所述通信参数包括参考信号接收功率、参考信号接收质量、信噪比以及无线链路重传率中的至少一个。
应当指出,本实施例中的芯片可具体实现上述所有实施例中的基带处理器的功能。
本申请实施例,还提供另一种芯片,所述芯片包括应用处理单元和基带处理单元,所述应用处理单元,用于在确定第一数据包的反馈信息返回已超时的情况下,将所述第一数据包所在连接的数据发送速率从第一值减小到第二值,所述第一数据包为所述终端通过一通信链路向目标设备发送的数据包,所述通信链路包括无线链路和有线链路;检测所述第一数据包后续的多个数据包的反馈信息的返回时间;在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述基带处理单元确定所述第一数据包的反馈信息超时的原因;在确定所述超时是由于所述通信链路中的无线链路的丢包引起的情况下,将所述终端发送数据的速率从当前的第三值增大到第四值,其中,所述第三值大于等于所述第二值,所述第三值小于所述第一值。
可选的,所述第四值大于等于所述第一值,或者,所述第四值大于两倍的第三值。
可选的,所述反馈信息的返回时间为所述反馈信息对应数据包的往返时延RTT,所述第一数据包的反馈信息返回已超时表示所述第一数据包的RTT已超时;所述终端发送数据的速率为所述第一数据包所在连接的拥塞窗口cwnd。
可选的,所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述基带处理单元确定所述第一数据包的反馈信息超时的原因时,具体包括:所述基带处理单元采集所述第一数据包反馈信息超时的时间段内所述无线链路的通信参数,所述超时的时间段为从发送所述第一数据包至所述第一数据包反馈超时的时间段;所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述无线链路的通信参数;所述应用处理单元根据所述无线链路的通信参数,确定所述第一数据包的反馈信息超时的原因,其中,所述第一数据包的反馈信息超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路丢包引起的反馈信息超时。
可选的,所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述无线链路的的通信参数时,具体用于:所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,发送第一请求至所述基带处理单元,所述第一请求指示所述基带处理单元上报所述无线链路的通信参数;所述应用处理单元接收所述无线链路的通信参数,其中,所述通信参数为所述基带处理单元根据所述第一请求向所述应用处理单元发送的。
可选的,所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述无线链路的通信参数时,具体用于:所述应用处理单元接收多个通信参数,所述多个通信参数为所述基带处理单元在上报开关处于开启状态时,上报至所述应用处理单元的;所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,从所述多个通信参数中,选择所述反馈信息超时时间段内的通信参数。
可选的,所述应用处理芯片在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述基带处理单元确定所述第一数据包的反馈信息超时的原因时,具体用于:所述基带处理单元采集所述第一数据包反馈信息超时的时间段内所述无线链路的通信参数,以及根据所述通信参数,确定在所述反馈信息超时的时间内无线链路的通信质量,所述超时的时间段为从发送所述第一数据包至所述第一数据包反馈超时的时间段;所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,根据所述无线链路的通信质量,确定所述第一数据包反馈信息超时的原因;其中,所述第一数据包的反馈信息超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路引起的反馈信息超时。
可选的,所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述基带处理单元确定所述第一数据包的反馈信息超时的原因时,具体用于:所述基带处理单元采集所述第一数据包反馈信息超时的时间段内所述无线链路的通信参数,以及根据所述通信参数,确定第一数据包反馈超时的原因;其中,所述第一数据包反馈超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路引起的反馈信息超时;所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述第一数据包反馈超时的原因。
可选的,所述通信参数包括参考信号接收功率、参考信号接收质量、信噪比以及无线链路重传率中的至少一个。
应当指出,本申请实施例所提供的芯片可具体实现上述应用处理器和基带处理器的功能。
以上对本申请实施例所提供的调整终端发送数据的速率的方法、及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (38)
1.一种调整终端发送数据的速率的方法,其特征在于,所述方法应用于终端,所述方法包括:
所述终端在确定第一数据包的反馈信息返回已超时的情况下,将所述第一数据包所在连接的数据发送速率从第一值减小到第二值,以及基于慢启动策略从所述第二值起增大所述数据发送速率,所述第一数据包为所述终端通过一通信链路向目标设备发送的数据包,所述通信链路包括无线链路和有线链路;
所述终端检测所述第一数据包后续的多个数据包的反馈信息的返回时间;
所述终端在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,确定所述第一数据包的反馈信息超时的原因;
所述终端在确定所述超时是由于所述通信链路中的无线链路的丢包引起的情况下,将所述终端发送数据的速率从当前的第三值增大到第四值,其中,所述第三值大于等于所述第二值,所述第三值小于所述第一值。
2.根据权利要求1所述的方法,其特征在于,所述第四值大于等于所述第一值,或者,所述第四值大于两倍的第三值。
3.根据权利要求1或2所述的方法,其特征在于,所述反馈信息的返回时间为所述反馈信息对应数据包的往返时延RTT,所述第一数据包的反馈信息返回已超时表示所述第一数据包的RTT已超时;
所述终端发送数据的速率为所述第一数据包所在连接的拥塞窗口cwnd。
4.根据权利要求1或2所述的方法,其特征在于,所述终端包括应用处理器和基带处理器;
所述终端在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,确定所述第一数据包的反馈信息超时的原因,包括:
所述基带处理器采集所述第一数据包反馈信息超时的时间段内所述无线链路的通信参数,所述超时的时间段为从发送所述第一数据包至所述第一数据包反馈超时的时间段;
所述应用处理器在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述无线链路的通信参数;
所述应用处理器根据所述无线链路的通信参数,确定所述第一数据包的反馈信息超时的原因,其中,所述第一数据包的反馈信息超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路丢包引起的反馈信息超时。
5.根据权利要求4所述的方法,其特征在于,所述应用处理器在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述无线链路的通信参数,包括:
所述应用处理器在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,发送第一请求至所述基带处理器,所述第一请求指示所述基带处理器上报所述无线链路的通信参数;
所述应用处理器接收所述无线链路的通信参数,其中,所述通信参数为所述基带处理器根据所述第一请求向所述应用处理器发送的。
6.根据权利要求5所述的方法,其特征在于,所述应用处理器在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述无线链路的通信参数,包括:
所述应用处理器接收多个通信参数,所述多个通信参数为所述基带处理器在上报开关处于开启状态时,上报至所述应用处理器的;
所述应用处理器在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,从所述多个通信参数中,选择所述反馈信息超时时间段内的通信参数。
7.根据权利要求1或2所述的方法,其特征在于,所述终端包括应用处理器和基带处理器;
所述终端在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,确定所述第一数据包的反馈信息超时的原因,包括:
所述基带处理器采集所述第一数据包反馈信息超时的时间段内所述无线链路的通信参数,以及根据所述通信参数,确定在所述反馈信息超时的时间内无线链路的通信质量,所述超时的时间段为从发送所述第一数据包至所述第一数据包反馈超时的时间段;
所述应用处理器在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,根据所述无线链路的通信质量,确定所述第一数据包反馈信息超时的原因;其中,所述第一数据包的反馈信息超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路引起的反馈信息超时。
8.根据权利要求1或2所述的方法,其特征在于,所述终端包括应用处理器和基带处理器;
所述终端在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,确定所述第一数据包的反馈信息超时的原因,包括:
所述基带处理器采集所述第一数据包反馈信息超时的时间段内所述无线链路的通信参数,以及根据所述通信参数,确定第一数据包反馈超时的原因;其中,所述第一数据包反馈超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路引起的反馈信息超时;
所述应用处理器在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述第一数据包反馈超时的原因。
9.根据权利要求5或6所述的方法,其特征在于,所述通信参数包括参考信号接收功率、参考信号接收质量、信噪比以及无线链路重传率中的至少一个。
10.一种调整终端发送数据的速率的装置,其特征在于,所述装置包括:
发送速率控制单元,用于在确定第一数据包的反馈信息返回已超时的情况下,将所述第一数据包所在连接的数据发送速率从第一值减小到第二值,以及基于慢启动策略从所述第二值起增大所述数据发送速率,所述第一数据包为所述装置通过一通信链路向目标设备发送的数据包,所述通信链路包括无线链路和有线链路;
检测单元,用于检测所述第一数据包后续的多个数据包的反馈信息的返回时间;
确定单元,用于在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,确定所述第一数据包的反馈信息超时的原因;
所述发送速率控制单元,还用于在确定所述超时是由于所述通信链路中的无线链路的丢包引起的情况下,将所述终端发送数据的速率从当前的第三值增大到第四值,其中,所述第三值大于等于所述第二值,所述第三值小于所述第一值。
11.根据权利要求10所述的装置,其特征在于,所述第四值大于等于所述第一值,或者,所述第四值大于两倍的第三值。
12.根据权利要求10或11所述的装置,其特征在于,所述反馈信息的返回时间为所述反馈信息对应数据包的往返时延RTT,所述第一数据包的反馈信息返回已超时表示所述第一数据包的RTT已超时;
所述装置发送数据的速率为所述第一数据包所在连接的拥塞窗口cwnd。
13.根据权利要求10或11所述的装置,其特征在于,所述确定单元,包括第一确定单元和第二确定单元;
所述第一确定单元,用于采集所述第一数据包反馈信息超时的时间段内所述无线链路的通信参数,所述超时的时间段为从发送所述第一数据包至所述第一数据包反馈超时的时间段;
所述第二确定单元,用于在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述无线链路的通信参数,以及,根据所述无线链路的通信参数,确定所述第一数据包的反馈信息超时的原因,其中,所述第一数据包的反馈信息超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路丢包引起的反馈信息超时。
14.根据权利要求13所述的装置,其特征在于,所述第二确定单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述无线链路的通信参数时,具体用于:
在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,发送第一请求至所述第一确定单元,所述第一请求指示所述第一确定单元上报所述无线链路的通信参数;
接收所述无线链路的通信参数,其中,所述通信参数为所述第一确定单元根据所述第一请求向所述第二确定单元发送的。
15.根据权利要求14所述的装置,其特征在于,所述第二确定单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述无线链路的通信参数时,具体用于:
接收多个通信参数,所述多个通信参数为所述第一确定单元在上报开关处于开启状态时,上报至所述第二确定单元的;
在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,从所述多个通信参数中,选择所述反馈信息超时时间段内的通信参数。
16.根据权利要求10或11所述的装置,其特征在于,所述确定单元包括第一确定单元和第二确定单元;
所述第一确定单元,用于采集所述第一数据包反馈信息超时的时间段内所述无线链路的通信参数,以及根据所述通信参数,确定在所述反馈信息超时的时间内无线链路的通信质量,所述超时的时间段为从发送所述第一数据包至所述第一数据包反馈超时的时间段;
所述第二确定单元,用于在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,根据所述无线链路的通信质量,确定所述第一数据包反馈信息超时的原因;其中,所述第一数据包的反馈信息超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路引起的反馈信息超时。
17.根据权利要求10或11所述的装置,其特征在于,所述确定单元包括第一确定单元和第二确定单元;
所述第一确定单元,用于采集所述第一数据包反馈信息超时的时间段内所述无线链路的通信参数,以及根据所述通信参数,确定第一数据包反馈超时的原因;其中,所述第一数据包反馈超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路引起的反馈信息超时;
所述第二确定单元,用于在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述第一数据包反馈超时的原因。
18.根据权利要求14或15所述的装置,其特征在于,所述通信参数包括参考信号接收功率、参考信号接收质量、信噪比以及无线链路重传率中的至少一个。
19.一种调整终端发送数据的速率的设备,其特征在于,包括存储器、处理器和通信接口,所述存储器、处理器和通信接口通过总线连接;
所述存储器,用于存储计算机可执行指令;
所述处理器,用于调用所述存储器存储的指令,以执行权利要求1至9任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至9任意一项所述的方法。
21.一种芯片,所述芯片通过一基带芯片与网络设备建立数据连接,所述芯片包括应用处理单元和通信接口,其特征在于,所述应用处理单元用于在确定第一数据包的反馈信息返回已超时的情况下,将所述第一数据包所在连接的数据发送速率从第一值减小到第二值,以及基于慢启动策略从所述第二值起增大所述数据发送速率,所述第一数据包为所述芯片通过一通信链路向目标设备发送的数据包,所述通信链路包括无线链路和有线链路;检测所述第一数据包后续的多个数据包的反馈信息的返回时间;在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述通信接口接收来自所述基带芯片的上报参数;所述上报参数为无线链路的通信参数、所述上报参数为反馈超时的原因,或者,所述上报参数为无线链路的通信质量,所述无线链路的通信质量为用于表示所述无线链路满足预设通信要求或所述无线链路未满足预设通信要求的一个数值;根据所述上报参数,确定所述第一数据包的反馈信息超时的原因;在确定所述超时是由于所述通信链路中的无线链路的丢包引起的情况下,将发送数据的速率从当前的第三值增大到第四值,其中,所述第三值大于等于所述第二值,所述第三值小于所述第一值。
22.根据权利要求21所述的芯片,其特征在于,所述第四值大于等于所述第一值,或者,所述第四值大于两倍的第三值。
23.根据权利要求21或22所述的芯片,其特征在于,所述反馈信息的返回时间为所述反馈信息对应数据包的往返时延RTT,所述第一数据包的反馈信息返回已超时表示所述第一数据包的RTT已超时;所述发送数据的速率为所述第一数据包所在连接的拥塞窗口cwnd。
24.根据权利要求21或22所述的芯片,其特征在于,所述上报参数为无线链路的通信参数;
所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述通信接口接收来自所述基带芯片的上报参数,包括:
所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述通信接口接收来自所述基带芯片的通信参数;
所述应用处理单元根据所述上报参数,确定所述第一数据包的反馈信息超时的原因,包括:
所述应用处理单元用于根据所述无线链路的通信参数,确定所述第一数据包的反馈信息超时的原因,其中,所述第一数据包的反馈信息超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路丢包引起的反馈信息超时。
25.根据权利要求24所述的芯片,其特征在于,所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述通信接口接收来自所述基带芯片的通信参数,包括:
所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述通信接口,向所述基带芯片发送第一请求,所述第一请求指示所述基带芯片上报所述无线链路的通信参数;
所述应用处理单元接收所述基带芯片发送来的无线链路的通信参数。
26.根据权利要求25所述的芯片,其特征在于,所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述无线链路的通信参数时,具体用于:
所述应用处理单元接收来自所述基带芯片上报的多个通信参数;
所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,从所述多个通信参数中,选择所述反馈信息超时时间段内的通信参数。
27.根据权利要求21或22所述的芯片,其特征在于,所述上报参数为无线链路的通信质量;
所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述通信接口接收来自所述基带芯片的上报参数,包括:
所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述通信接口接收来自所述基带芯片的无线链路的通信质量;
所述应用处理单元根据所述上报参数,确定所述第一数据包的反馈信息超时的原因时,具体用于:
所述应用处理单元根据所述无线链路的通信质量,确定所述第一数据包反馈信息超时的原因;其中,所述第一数据包的反馈信息超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路引起的反馈信息超时。
28.根据权利要求21或22所述的芯片,其特征在于,所述上报参数为反馈超时的原因;
所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述通信接口接收来自所述基带芯片的上报参数,包括:
所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述通信接口接收来自所述基带芯片的反馈超时的原因;其中,所述第一数据包的反馈信息超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路引起的反馈信息超时;
所述应用处理单元根据所述上报参数,确定所述第一数据包的反馈信息超时的原因时,具体用于:
所述应用处理单元将所接收的反馈信息超时的原因,作为所述第一数据包的反馈信息超时的原因。
29.根据权利要求25或26所述的芯片,其特征在于,所述通信参数包括参考信号接收功率、参考信号接收质量、信噪比以及无线链路重传率中的至少一个。
30.一种芯片,其特征在于,所述芯片包括应用处理单元和基带处理单元,所述应用处理单元,用于在确定第一数据包的反馈信息返回已超时的情况下,将所述第一数据包所在连接的数据发送速率从第一值减小到第二值,以及基于慢启动策略从所述第二值起增大所述数据发送速率,所述第一数据包为终端通过一通信链路向目标设备发送的数据包,所述通信链路包括无线链路和有线链路;检测所述第一数据包后续的多个数据包的反馈信息的返回时间;在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述基带处理单元确定所述第一数据包的反馈信息超时的原因;在确定所述超时是由于所述通信链路中的无线链路的丢包引起的情况下,将所述终端发送数据的速率从当前的第三值增大到第四值,其中,所述第三值大于等于所述第二值,所述第三值小于所述第一值。
31.根据权利要求30所述的芯片,其特征在于,所述第四值大于等于所述第一值,或者,所述第四值大于两倍的第三值。
32.根据权利要求30或31所述的芯片,其特征在于,所述反馈信息的返回时间为所述反馈信息对应数据包的往返时延RTT,所述第一数据包的反馈信息返回已超时表示所述第一数据包的RTT已超时;
所述终端发送数据的速率为所述第一数据包所在连接的拥塞窗口cwnd。
33.根据权利要求30或31所述的芯片,其特征在于,所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述基带处理单元确定所述第一数据包的反馈信息超时的原因时,具体包括:
所述基带处理单元采集所述第一数据包反馈信息超时的时间段内所述无线链路的通信参数,所述超时的时间段为从发送所述第一数据包至所述第一数据包反馈超时的时间段;
所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述无线链路的通信参数;
所述应用处理单元根据所述无线链路的通信参数,确定所述第一数据包的反馈信息超时的原因,其中,所述第一数据包的反馈信息超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路丢包引起的反馈信息超时。
34.根据权利要求33所述的芯片,其特征在于,所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述无线链路的通信参数时,具体用于:
所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,发送第一请求至所述基带处理单元,所述第一请求指示所述基带处理单元上报所述无线链路的通信参数;
所述应用处理单元接收所述无线链路的通信参数,其中,所述通信参数为所述基带处理单元根据所述第一请求向所述应用处理单元发送的。
35.根据权利要求34所述的芯片,其特征在于,所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述无线链路的通信参数时,具体用于:
所述应用处理单元接收多个通信参数,所述多个通信参数为所述基带处理单元在上报开关处于开启状态时,上报至所述应用处理单元的;
所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,从所述多个通信参数中,选择所述反馈信息超时时间段内的通信参数。
36.根据权利要求30或31所述的芯片,其特征在于,所述应用处理单元 在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述基带处理单元确定所述第一数据包的反馈信息超时的原因时,具体用于:
所述基带处理单元采集所述第一数据包反馈信息超时的时间段内所述无线链路的通信参数,以及根据所述通信参数,确定在所述反馈信息超时的时间内无线链路的通信质量,所述超时的时间段为从发送所述第一数据包至所述第一数据包反馈超时的时间段;
所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,根据所述无线链路的通信质量,确定所述第一数据包反馈信息超时的原因;其中,所述第一数据包的反馈信息超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路引起的反馈信息超时。
37.根据权利要求30或31所述的芯片,其特征在于,所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,通过所述基带处理单元确定所述第一数据包的反馈信息超时的原因时,具体用于:
所述基带处理单元采集所述第一数据包反馈信息超时的时间段内所述无线链路的通信参数,以及根据所述通信参数,确定第一数据包反馈超时的原因;其中,所述第一数据包反馈超时的原因为所述无线链路丢包引起的反馈信息超时或所述有线链路引起的反馈信息超时;
所述应用处理单元在检测到所述第一数据包后续的多个数据包的反馈信息的返回时间满足预设返回时间要求的情况下,获取所述第一数据包反馈超时的原因。
38.根据权利要求34所述的芯片,其特征在于,所述通信参数包括参考信号接收功率、参考信号接收质量、信噪比以及无线链路重传率中的至少一个。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710209452.4A CN108667560B (zh) | 2017-03-31 | 2017-03-31 | 一种调整终端发送数据的速率的方法及装置 |
PCT/CN2018/074339 WO2018177014A1 (zh) | 2017-03-31 | 2018-01-26 | 一种调整终端发送数据的速率的方法及装置 |
US16/586,042 US11044630B2 (en) | 2017-03-31 | 2019-09-27 | Method and apparatus for adjusting data sending rate of terminal |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710209452.4A CN108667560B (zh) | 2017-03-31 | 2017-03-31 | 一种调整终端发送数据的速率的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108667560A CN108667560A (zh) | 2018-10-16 |
CN108667560B true CN108667560B (zh) | 2020-12-04 |
Family
ID=63675181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710209452.4A Active CN108667560B (zh) | 2017-03-31 | 2017-03-31 | 一种调整终端发送数据的速率的方法及装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11044630B2 (zh) |
CN (1) | CN108667560B (zh) |
WO (1) | WO2018177014A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109726064B (zh) * | 2019-01-08 | 2022-07-15 | 腾讯音乐娱乐科技(深圳)有限公司 | 模拟客户端异常运行的方法、装置、系统及存储介质 |
CN112311725B (zh) * | 2019-07-26 | 2022-01-11 | 华为技术有限公司 | 一种数据处理方法、装置及终端 |
CN110691372B (zh) * | 2019-09-16 | 2021-10-08 | Oppo广东移动通信有限公司 | 传输速率控制方法及终端、存储介质 |
CN113590410B (zh) * | 2021-06-20 | 2023-12-22 | 济南浪潮数据技术有限公司 | 一种资源请求方法、系统、设备以及介质 |
CN114285800A (zh) * | 2021-12-17 | 2022-04-05 | 瓴盛科技有限公司 | 一种tcp数据流的拥塞调整方法及装置 |
CN115277564A (zh) * | 2022-07-21 | 2022-11-01 | 深圳证券通信有限公司 | 一种自适应带宽的数据传输机制 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102468941A (zh) * | 2010-11-18 | 2012-05-23 | 华为技术有限公司 | 网络丢包处理方法及装置 |
CN104113884A (zh) * | 2013-04-18 | 2014-10-22 | 南京邮电大学 | 一种无线网络中实时多媒体传输速率控制机制 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7035214B1 (en) * | 1999-09-28 | 2006-04-25 | Nortel Networks Limited | System and method for a negative acknowledgement-based transmission control protocol |
DE10035389B4 (de) * | 2000-07-20 | 2005-11-10 | Siemens Ag | Verfahren zur Datenübertragung im Access Bereich |
US7756082B1 (en) * | 2001-09-07 | 2010-07-13 | Atheros Communications, Inc. | Wireless LAN using background scanning technique |
US20150085648A1 (en) * | 2013-09-24 | 2015-03-26 | Douglas Leith | Congestion control in data networks |
CN104093169A (zh) | 2014-06-10 | 2014-10-08 | 北京邮电大学 | 一种mac-tcp跨层优化拥塞控制方法及系统 |
CN112713970B (zh) | 2016-11-02 | 2022-05-13 | 华为技术有限公司 | 一种发送报文的方法、装置、芯片及终端 |
-
2017
- 2017-03-31 CN CN201710209452.4A patent/CN108667560B/zh active Active
-
2018
- 2018-01-26 WO PCT/CN2018/074339 patent/WO2018177014A1/zh active Application Filing
-
2019
- 2019-09-27 US US16/586,042 patent/US11044630B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102468941A (zh) * | 2010-11-18 | 2012-05-23 | 华为技术有限公司 | 网络丢包处理方法及装置 |
CN104113884A (zh) * | 2013-04-18 | 2014-10-22 | 南京邮电大学 | 一种无线网络中实时多媒体传输速率控制机制 |
Also Published As
Publication number | Publication date |
---|---|
US20200029243A1 (en) | 2020-01-23 |
WO2018177014A1 (zh) | 2018-10-04 |
CN108667560A (zh) | 2018-10-16 |
US11044630B2 (en) | 2021-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108667560B (zh) | 一种调整终端发送数据的速率的方法及装置 | |
KR102350444B1 (ko) | 메시지들을 송신하기 위한 방법 및 디바이스, 칩 및 단말 | |
WO2017117968A1 (zh) | 数据接口分流方法、装置、终端设备和计算机存储介质 | |
WO2018121294A1 (zh) | 一种报文传输方法、终端、网络设备及通信系统 | |
US9338674B2 (en) | Systems, structures and associated processes for optimization of state transitions within wireless networks | |
US8923115B2 (en) | Using the ECN mechanism to signal congestion directly to the base station | |
US20160234851A1 (en) | Data transmission apparatus and method | |
CN111556517B (zh) | 异常链路的处理方法及设备 | |
US11337217B2 (en) | Method, device and system for controlling air interface resource | |
US20170366374A1 (en) | Gateway apparatus and control method thereof | |
US20130176847A1 (en) | Communication processing method, apparatus and gateway device | |
KR102405403B1 (ko) | 무선 통신 시스템에서 데이터를 송수신하는 장치 및 방법 | |
US12010530B2 (en) | PDCP duplication function determination and indication methods and devices, base station, and terminal | |
JP2011176693A (ja) | 移動体無線通信装置、tcpフロー制御装置及びその方法 | |
CN115119259A (zh) | 一种拥塞控制方法及装置 | |
EP3949680B1 (en) | Methods and arrangements for managing round trip time associated with provision of a data flow via a multi-access communication network | |
US20180192453A1 (en) | Communication system, communication method, and recording medium in which communication program is recorded | |
JP2024064705A (ja) | 移動通信システム、サーバ装置、基地局装置、及びコアネットワーク装置 |
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 |