WO2019062589A1 - 控制流量的方法及装置 - Google Patents

控制流量的方法及装置 Download PDF

Info

Publication number
WO2019062589A1
WO2019062589A1 PCT/CN2018/106114 CN2018106114W WO2019062589A1 WO 2019062589 A1 WO2019062589 A1 WO 2019062589A1 CN 2018106114 W CN2018106114 W CN 2018106114W WO 2019062589 A1 WO2019062589 A1 WO 2019062589A1
Authority
WO
WIPO (PCT)
Prior art keywords
data packet
mode
data
sending
network
Prior art date
Application number
PCT/CN2018/106114
Other languages
English (en)
French (fr)
Inventor
曹政
刘小丽
胡农达
Original Assignee
华为技术有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP18860424.3A priority Critical patent/EP3684014A4/en
Publication of WO2019062589A1 publication Critical patent/WO2019062589A1/zh
Priority to US16/834,192 priority patent/US11323916B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • H04L47/115Identifying congestion using a dedicated packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/39Credit based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0231Traffic management, e.g. flow control or congestion control based on communication conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0289Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/04Error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets

Definitions

  • the first device sends the target data packet to the second device by using a sending mode of the target data packet.
  • FIG. 3 is a schematic flowchart of a method for controlling traffic according to an embodiment of the present disclosure.
  • FIG. 8 is a schematic block diagram of a first device according to an embodiment of the present application.
  • the first device may further determine the network congestion state according to the congestion feedback of the second device.
  • the specific method for determining the network congestion state of the first device in the embodiment of the present application is not specifically limited.
  • RTT time of the data packet is less than a certain threshold (for example, the minimum value of the round-trip delay, RTT min ), it indicates that the current network is in a light load state, and the push data amount threshold is linearly added, that is, a ⁇ value is added.
  • a certain threshold for example, the minimum value of the round-trip delay, RTT min .
  • the first sending mode is a push mode
  • the second sending mode is a request response mode
  • the first data packet carries first indication information, where the first indication information is used to indicate that the first data packet is The packet sent by push mode.
  • the transceiver module 410 is further configured to:
  • the processing module 420 is further configured to:
  • the second data packet is sent to the second device by using the second transmission mode.
  • the embodiment of the present application further provides a first device 500, where the first device 500 includes a processor 510, a memory 520 and a transceiver 530, wherein the memory 520 stores instructions or programs, and the processor 540 Used to execute instructions or programs stored in memory 520.
  • the processor 510 is configured to perform the operations performed by the processing module 420 in the above embodiment
  • the transceiver 530 is configured to perform the operations performed by the transceiver module 410 in the above embodiment.
  • FIG. 10 is a schematic flowchart of a second device 600 according to an embodiment of the present disclosure, where the second device 600 includes:
  • the second device After the second device receives the first data packet by using the first sending mode, the second device sends an acknowledgement message to the first device, where the acknowledgement information is used to indicate that the second device successfully receives the first data packet. .
  • the embodiment of the present application further provides a second device 700, where the second device 700 includes a processor 710, a memory 720 and a transceiver 730, where the memory 720 stores instructions or programs, and the processor 730 uses The instructions or programs stored in the memory 720 are executed.
  • the processor 710 is configured to perform the operations performed by the processing module 620 in the above embodiment
  • the transceiver 730 is configured to perform the operations performed by the transceiver module 610 in the above embodiment.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请提供一种控制流量的方法,包括:第一设备通过第一发送模式向第二设备发送第一数据包;所述第一设备确定网络拥塞状态;所述第一设备通过所述第二发送模式向所述第二设备发送第二数据包,所述第二发送模式为所述第一设备根据所述网络拥塞状态确定的发送模式,所述第二数据包为所述第一数据包之后的待发送数据包。通过第一设备实时确定当前网络拥塞状态,并根据当前网络拥塞状态,实时调整向第二设备发送数据包的发送模式,使得第一设备在提高网络吞吐量的同时降低网络延迟,并且还能降低因为网络拥塞导致的丢包概率。

Description

控制流量的方法及装置
本申请要求于2017年9月30日提交中国专利局、申请号为201710919292.2、申请名称为“控制流量的方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信领域,并且更具体地,涉及一种控制流量的方法及装置。
背景技术
数据中心网络为支撑日益发展的不同应用对带宽和延迟的不同侧重需求,需要同时满足高网络吞吐量及低网络延迟需求。然而网络吞吐量和网络延迟是两个相互制约的指标。
如图1所示,当网络负载较小时,网络吞吐量的增长与网络负载之间基本呈线性关系,随着网络负载的增大,网络延迟的增长相对比较缓慢。当网络负载大于或等于网络最优点后,随着网络负载的增大,网络吞吐量增长得十分缓慢,但是网络延迟却增长较快;当网络负载大于或等于网络饱和点之后,网络吞吐量就急剧下降,延迟相应急剧上升。
所谓网络饱和点,即网络的最大负载,当网络负载大于或等于网络饱和点之后,就会产生严重的网络拥塞,网络拥塞就有可能导致丢包,进而引发数据包重传,并导致网络吞吐量下降,网络延迟急剧上升。
网络流量控制的目标就是尽量使得网络的吞吐最大化并同时保持相对小的网络延迟。
一般地,网络流量控制可以分为被动流控和流控主动。被动流控模式中,源节点向目标节点推送数据,当网络拥塞发生后得到拥塞反馈,源节点才开始限制源节点注入流量。这种流量控制延迟低,然而,由于是在网络拥塞之后才控制流量,因此,容易产生拥塞丢包的现象,导致网络吞吐量下降,被动流控模式比较适合轻载的低网络吞吐量的应用场景。
主动流控模式中,源节点在向目标节点发送数据之前,首先需要向目标节点请求数据发送量,待得到目标节点返回的授权数据量之后,源节点才开始发送数据,因此,可以在一定程度上避免网络拥塞时的丢包现象。但是该流控模式需要提前进行协商流程,因此增加了网络延迟,主动流控模式适合重载下的网络吞吐量保障。
发明内容
本申请提供一种控制流量的方法及装置,能够在提高网络吞吐量的同时降低网络延迟,并且还能降低由于网络拥塞导致的丢包概率。
第一方面,提供了一种控制流量的方法,包括:第一设备通过第一发送模式向第二设备发送第一数据包;所述第一设备确定网络拥塞状态;所述第一设备通过所述第二发送模式向所述第二设备发送第二数据包,所述第二发送模式为所述第一设备根据所述网络拥塞状态确定的发送模式,所述第二数据包为所述第一数据包之后的待发送数据包。
通过第一设备实时确定当前网络拥塞状态,并根据当前网络拥塞状态,实时调整向第二设备发送数据包的发送模式,使得第一设备在提高网络吞吐量的同时降低网络延迟,并且还能降低由于网络拥塞导致的丢包概率。
结合第一方面,在第一方面的一种可能的实现方式中,所述第一发送模式为推送模式,所述第二发送模式为请求应答模式,所述第一数据包携带有第一指示信息,所述第一指示信息用于指示所述第一数据包是通过推送模式发送的数据包。
结合第一方面,在第一方面的一种可能的实现方式中,所述第一设备通过所述第二发送模式向所述第二设备发送第二数据包,包括:在所述网络处于拥塞状态的情况下,所述第一设备向所述第二设备发送请求信息,所述请求信息用于请求所述第二设备为所述第一设备分配数据量;所述第一设备通过所述第二设备分配的数据量向所述第二设备发送所述第二数据包。
第一设备在向第二设备通过推送模式发送第一数据包之后,确定网络拥塞状态,在网络处于拥塞状态时,第一设备通过请求应答模式向第二设备发送数据包,从而使得第一设备在提高网络吞吐量的同时降低网络延迟,并且还能降低由于网络拥塞导致的丢包概率。
结合第一方面,在第一方面的一种可能的实现方式中,在所述第一设备通过第一发送模式向第二设备发送第一数据包之后,所述方法还包括:所述第一设备接收所述第二设备发送的确认信息,所述确认信息用于指示所述第二设备成功接收所述第一数据包;所述第一设备确定网络拥塞状态,包括:所述第一设备确定已发送数据包中的未接收到确认信息的数据包的个数;所述第一设备根据所述未接收到确认信息的数据包的个数,确定网络拥塞状态,所述已发送数据包包括所述第一数据包;在所述未接收到确认信息的数据包的个数大于或等于预设的第一阈值的情况下,所述第一设备确定网络处于拥塞状态。
通过第一设备根据未接收到确认信息的数据包的个数,确定网络拥塞状态,并在网络处于拥塞状态时,第一设备通过请求应答模式向第二设备发送数据包,从而使得第一设备在提高网络吞吐量的同时降低网络延迟,并且还能降低由于网络拥塞导致的丢包概率。
结合第一方面,在第一方面的一种可能的实现方式中,所述确认信息携带有所述第一设备发送所述第一数据包的发送时间点,所述方法还包括:所述第一设备确定所述确认信息的接收时间点;所述第一设备根据所述确认信息的接收时间点与所述第一数据包的发送时间点之间的差值,确定所述第一阈值。
结合第一方面,在第一方面的一种可能的实现方式中,所述确认信息携带有计数值N,N≥1,所述计数值N用于指示所述第一设备发送的前N个数据包均被第二设备成功接收。
通过使确认信息携带有计数值N,使得第一设备根据该确认信息携带的计数值N,确定接收到的确认信息是第二设备针对某一个数据包或者多个数据包进行的确认,进一步使得第一设备能够确认未接收到确认信息的数据包的个数。
可选地,第二设备可以通过携带有计数值的一个确认信息指示第一设备发送的多个数据包均被成功接收。
通过第二设备针对第一设备发送的多个数据包进行集中确认,能够减少确认信息对网络带宽的占用,并且,通过确认信息中携带有计数值,可以容忍第二设备发送的某个确认信息在传递过程中丢失的情况。
结合第一方面,在第一方面的一种可能的实现方式中,所述第一发送模式为请求应答 模式,所述第二发送模式为推送模式。
结合第一方面,在第一方面的一种可能的实现方式中,所述第一设备通过所述第二发送模式向所述第二设备发送第二数据包,包括:在所述网络未处于拥塞状态时,所述第一设备通过所述第二发送模式向所述第二设备发送第二数据包。
第一设备通过确定网络拥塞状态,在网络未处于拥塞状态时,第一设备通过推送模式向第二设备发送数据包,从而使得第一设备在提高网络吞吐量的同时降低网络延迟,并且还能降低由于网络拥塞导致的丢包概率。
第二方面,提供了一种控制流量的方法,包括:第二设备接收第一设备通过第一发送模式发送的第一数据包;所述第二设备接收所述第一设备通过第二发送模式发送的第二数据包,所述第二发送模式为所述第一设备根据所述网络拥塞状态确定的发送模式,所述第二数据包为所述第一数据包之后的待发送数据包。
通过第一设备实时确定当前网络拥塞状态,并根据当前网络拥塞状态,实时调整向第二设备发送数据包的发送模式,使得第一设备在提高网络吞吐量的同时降低网络延迟,并且还能降低由于网络拥塞导致的丢包概率。
结合第二方面,在第二方面的一种可能的实现方式中所述第一发送模式为推送模式,所述第二发送模式为请求应答模式,所述第一数据包携带有第一指示信息,所述第一指示信息用于指示所述第一数据包是通过推送模式发送的数据包。
结合第二方面,在第二方面的一种可能的实现方式中,所述方法还包括:所述第二设备接收所述第一设备发送的请求信息,所述请求信息用于请求所述第二设备为所述第一设备分配数据量,所述数据量用于所述第一设备向所述第二设备发送所述第二数据包;所述第二设备根据所述请求信息,为所述第一设备分配数据量。
第一设备在向第二设备通过推送模式发送第一数据包之后,确定网络拥塞状态,在网络处于拥塞状态时,第一设备通过请求应答模式向第二设备发送数据包,从而使得第一设备在提高网络吞吐量的同时降低网络延迟,并且还能降低由于网络拥塞导致的丢包概率。
结合第二方面,在第二方面的一种可能的实现方式中,在所述第二设备接收到所述第一设备通过第一发送模式发送第一数据包的之后,所述方法还包括:所述第二设备向所述第一设备发送确认信息,所述确认信息用于指示所述第二设备成功接收所述第一数据包。
第二设备通过向第一设备发送确认信息,使得第一设备能够根据未接收到确认信息的数据包的个数,确定网络拥塞状态,并在网络处于拥塞状态时,第一设备通过请求应答模式向第二设备发送数据包,从而使得第一设备在提高网络吞吐量的同时降低网络延迟,并且还能降低由于网络拥塞导致的丢包概率。
结合第二方面,在第二方面的一种可能的实现方式中,所述确认信息携带有所述第一设备发送所述第一数据包的发送时间点。
结合第二方面,在第二方面的一种可能的实现方式中,所述确认信息携带有计数值N,N≥1,所述计数值N用于指示所述第一设备发送的前N个数据包均被第二设备成功接收。
通过使确认信息携带有计数值N,使得第一设备根据该确认信息携带的计数值N,确定接收到的确认信息是第二设备针对某一个数据包或者多个数据包进行的确认,进一步使得第一设备能够确认未接收到确认信息的数据包的个数。
可选地,第二设备可以通过携带有计数值的一个确认信息指示第一设备发送的多个数 据包均被成功接收。
通过第二设备针对第一设备发送的多个数据包进行集中确认,能够减少确认信息对网络带宽的占用,并且,通过确认信息中携带有计数值,可以容忍第二设备发送的某个确认信息在传递过程中丢失的情况。
结合第二方面,在第二方面的一种可能的实现方式中,所述第一发送模式为请求应答模式,所述第二发送模式为推送模式。
本申请实施例中的控制流量的方法,通过第一设备对网络的拥塞状态进行评估,在网络轻载时使用推送模式发送数据包,可以降低网络延迟;当网络重载产生严重拥塞时,使用请求应答模式发送数据包,可以缓解网络的拥塞程度,提高网络吞吐量,通过动态切换数据包的发送模式,在网络轻载时,使得网络中的所有设备间通过推送模式传输数据包;在网络轻度拥塞时,使得网络中的部分设备间通过请求应答模式传输数据包;当网络重载产生严重拥塞时,使得网络中的所有设备间通过请求应答模式传输数据包,进而在实现较高的网络吞吐量的同时降低网络延迟。
第三方面,提供了一种控制流量的方法,该方法应用于包括至少两种发送模式的传输场景中,该至少两种发送模式为推送模式与请求应答模式,包括:第一设备确定网络拥塞状态;该第一设备根据网络拥塞状态,确定待发送至第二设备的目标数据包的发送模式,该目标数据包的发送模式为该推送模式或该请求应答模式;
该第一设备通过该目标数据包的发送模式向该第二设备发送该目标数据包。
通过第一设备实时确定当前网络拥塞状态,并根据当前网络拥塞状态,实时确定向第二设备发送数据包的发送模式,使得第一设备在提高网络吞吐量的同时降低网络延迟,并且还能降低由于网络拥塞导致的丢包概率。
结合第三方面,在第三方面的一种可能的实现方式中,该第一设备根据网络拥塞状态,确定待发送至第二设备的目标数据包的发送模式,包括:在该网络未处于拥塞状态的情况下,该第一设备通过该推送模式向该第二设备发送该目标数据包;或在该网络处于拥塞状态的情况下,该第一设备通过该请求应答模式向该第二设备发送该目标数据包。
通过第一设备确定网络拥塞状态,在网络未处于拥塞状态时,第一设备通过推送模式向第二设备发送数据包,或者,在网络处于拥塞状态时,第一设备通过请求应答模式向第二设备发送数据包,第一设备通过根据网络拥塞状态确定向第二设备发送数据包的发送模式,从而使得第一设备在提高网络吞吐量的同时降低网络延迟,并且还能降低由于网络拥塞导致的丢包概率。
结合第三方面,在第三方面的一种可能的实现方式中,该方法还包括:该第一设备接收该第二设备发送的确认信息,该确认信息用于指示该第二设备成功接收该目标数据包;该第一设备确定网络拥塞状态,包括:该第一设备确定已发送数据包中的未接收到确认信息的数据包的个数;该第一设备根据该未接收到确认信息的数据包的个数,确定网络拥塞状态,该已发送数据包包括该目标数据包;在该未接收到确认信息的数据包的个数大于或等于预设的第一阈值的情况下,该第一设备确定网络处于拥塞状态。
通过第一设备根据未接收到确认信息的数据包的个数,确定网络拥塞状态,并在网络处于拥塞状态时,第一设备通过请求应答模式向第二设备发送数据包,从而使得第一设备在提高网络吞吐量的同时降低网络延迟,并且还能降低由于网络拥塞导致的丢包概率。
结合第三方面,在第三方面的一种可能的实现方式中,该确认信息携带有该第一设备发送该目标数据包的发送时间点,该方法还包括:该第一设备确定该确认信息的接收时间点;该第一设备根据该确认信息的接收时间点与该第一数据包的发送时间点之间的差值,确定该第一阈值。
结合第三方面,在第三方面的一种可能的实现方式中,该确认信息携带有计数值N,N≥1,该计数值N用于指示该第一设备发送的前N个数据包均被第二设备成功接收。
通过使确认信息携带有计数值N,使得第一设备根据该确认信息携带的计数值N,确定接收到的确认信息是第二设备针对某一个数据包或者多个数据包进行的确认,进一步使得第一设备能够确认未接收到确认信息的数据包的个数。
可选地,第二设备可以通过携带有计数值的一个确认信息指示第一设备发送的多个数据包均被成功接收。
通过第二设备针对第一设备发送的多个数据包进行集中确认,能够减少确认信息对网络带宽的占用,并且,通过确认信息中携带有计数值,可以容忍第二设备发送的某个确认信息在传递过程中丢失的情况。
第四方面,提供了一种控制流量的方法,该方法应用于包括至少两种发送模式的传输场景中,该至少两种发送模式为推送模式与请求应答模式,其特征在于,包括:第二设备接收第一设备通过该目标数据包的发送模式向该第二设备发送该目标数据包,该目标数据包的发送模式为该推送模式或该请求应答模式。
通过第一设备实时确定当前网络拥塞状态,并根据当前网络拥塞状态,实时确定向第二设备发送数据包的发送模式,使得第一设备在提高网络吞吐量的同时降低网络延迟,并且还能降低由于网络拥塞导致的丢包概率。
结合第四方面,在第四方面的一种可能的实现方式中,该方法还包括:该第二设备向该第二设备发送确认信息,该确认信息用于指示该第二设备成功接收该目标数据包。
第二设备通过向第一设备发送确认信息,使得第一设备能够根据未接收到确认信息的数据包的个数,确定网络拥塞状态,并在网络处于拥塞状态时,第一设备通过请求应答模式向第二设备发送数据包,从而使得第一设备在提高网络吞吐量的同时降低网络延迟,并且还能降低由于网络拥塞导致的丢包概率。
结合第四方面,在第四方面的一种可能的实现方式中,该确认信息携带有该第一设备发送该目标数据包的发送时间点。
结合第四方面,在第四方面的一种可能的实现方式中,该确认信息携带有计数值N,N≥1,该计数值N用于指示该第一设备发送的前N个数据包均被该第二设备成功接收。
通过使确认信息携带有计数值N,使得第一设备根据该确认信息携带的计数值N,确定接收到的确认信息是第二设备针对某一个数据包或者多个数据包进行的确认,进一步使得第一设备能够确认未接收到确认信息的数据包的个数。
可选地,第二设备可以通过携带有计数值的一个确认信息指示第一设备发送的多个数据包均被成功接收。
通过第二设备针对第一设备发送的多个数据包进行集中确认,能够减少确认信息对网络带宽的占用,并且,通过确认信息中携带有计数值,可以容忍第二设备发送的某个确认信息在传递过程中丢失的情况。
第五方面,提供一种第一设备,所述第一设备用于执行上述第一方面或第一方面的任一可能的实现方式中的控制流量的方法。具体地,所述第一设备可以包括用于执行第一方面或第一方面的任一可能的实现方式中的控制流量的方法的模块。
第六方面,提供一种第一设备,所述第一设备包括存储器和处理器,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,并且对该存储器中存储的指令的执行使得该处理器执行第一方面或第一方面的任一方面的可能实现方式中的方法。
第七方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现第一方面或第一方面的任一方面的可能实现方式中的方法。
第八方面,提供一种第二设备,所述第二设备用于执行上述第二方面或第二方面的任一可能的实现方式中的控制流量的方法。具体地,所述第二设备可以包括用于执行第二方面或第二方面的任一可能的实现方式中的控制流量的方法的模块。
第九方面,提供一种第二设备,所述第二设备包括存储器和处理器,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,并且对该存储器中存储的指令的执行使得该处理器执行第二方面或第二方面的任一方面的可能实现方式中的方法。
第十方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现第二方面或第二方面的任一方面的可能实现方式中的方法。
附图说明
图1网络吞吐量/网络延迟与网络负载之间的关系示意图。
图2为本申请实施例的系统架构示意图。
图3为本申请实施例提供的控制流量的方法的示意性流程图。
图4为第一设备逐包发送确认信息的示意图。
图5为第一设备集中发送确认信息的示意图。
图6为网络拥塞时第一设备发送确认信息的示意图。
图7为本申请实施例提供的控制流量的方法的另一示意性流程图。
图8为本申请实施例提供的第一设备的示意性框图。
图9为本申请实施例提供的第一设备的另一示意性框图。
图10为本申请实施例提供的第二设备的示意性框图。
图11为本申请实施例提供的第二设备的另一示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请实施例的技术方案可以应用于各种通信系统,例如:全球移动通讯(Global System of Mobile communication,GSM)系统、码分多址(Code Division Multiple Access,CDMA)系统、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)系统、通用分组无线业务(General Packet Radio Service,GPRS)、长期演进(Long Term Evolution,LTE)系统、LTE频分双工(Frequency Division Duplex,FDD)系统、LTE时分双工(Time Division Duplex,TDD)、通用移动通信系统(Universal Mobile Telecommunication System,UMTS)、全球互联微波接入(Worldwide Interoperability for Microwave Access,WiMAX) 通信系统、未来的第五代(5th Generation,5G)系统或新无线(New Radio,NR)等。
本申请实施例中的终端设备可以指用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。终端设备还可以是蜂窝电话、无绳电话、会话启动协议(Session Initiation Protocol,SIP)电话、无线本地环路(Wireless Local Loop,WLL)站、个人数字处理(Personal Digital Assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备,未来5G网络中的终端设备或者未来演进的公用陆地移动通信网络(Public Land Mobile Network,PLMN)中的终端设备等,本申请实施例对此并不限定。
本申请实施例中的网络设备可以是用于与终端设备通信的设备,该网络设备可以是全球移动通讯(Global System of Mobile communication,GSM)系统或码分多址(Code Division Multiple Access,CDMA)中的基站(Base Transceiver Station,BTS),也可以是宽带码分多址(Wideband Code Division Multiple Access,WCDMA)系统中的基站(NodeB,NB),还可以是LTE系统中的演进型基站(Evolutional NodeB,eNB或eNodeB),还可以是云无线接入网络(Cloud Radio Access Network,CRAN)场景下的无线控制器,或者该网络设备可以为中继站、接入点、车载设备、可穿戴设备以及未来5G网络中的网络设备或者未来演进的PLMN网络中的网络设备等,本申请实施例并不限定。
图2为本申请实施例的一个典型系统架构的示意图。为简化起见,图2描述了一个简化的网络架构。第一设备101与第二设备102通过互连网络连接,该第一设备101或者第二设备102可以是终端主机设备,或者,也可以是交换设备。第一设备101可以同时与多个第二设备102进行通信。
其中,第一设备101中的多个虚拟输出队列(Virtual Output Queue,VOQ)与多个第二设备102之间为一一对应的关系,当第一设备101需要将数据包发送至第二设备102时,首先将数据包缓存至与该第二设备102相对应的VOQ队列中,再将该VOQ队列中缓存的数据包依次发送至第二设备102。
本申请实施例可以适用于具有交换网络的应用场景,如数据中心网络。
图3为本申请实施例提供的控制流量的方法200的示意性流程图。图3中描述的第一设备可以为图2中的第一设备101;第二设备可以为图2中的第二设备102。当然,实际系统中,第一设备和第二设备的数量可以不局限于本申请实施例或其他实施例的举例,以下不再赘述。该方法200至少包括以下步骤。
201,第一设备通过第一发送模式向第二设备发送第一数据包。
202,第二设备接收第一设备通过第一发送模式发送的第一数据包。
205,第一设备确定网络拥塞状态。
具体地,在201、202与205中,第一设备首先通过第一发送模式向第二设备发送第一数据包,在将第一数据包通过第一发送模式发送至第二设备过程中,第一设备确定当前网络拥塞状态,例如,第一设备确定当前网络处于拥塞状态。
206,该第一设备通过该第二发送模式向该第二设备发送第二数据包,该第二发送模式为该第一设备根据该网络拥塞状态确定的发送模式,该第二数据包为该第一数据包之后的待发送数据包。
具体地,第一设备根据该网络拥塞状态,确定将该第一发送模式切换至第二发送模式。例如,在205中,第一设备确定当前网络处于拥塞状态,则在206中,第一设备确定将第一发送模式切换至第二发送模式,并通过第二发送模式向第二设备发送第二数据包,该第二数据包为第一设备需要向第二设备发送的第一数据包之后的数据包。
通过第一设备实时确定当前网络拥塞状态,并根据当前网络拥塞状态,实时调整向第二设备发送数据包的发送模式,使得第一设备在提高网络吞吐量的同时降低网络延迟,并且还能降低由于网络拥塞导致的丢包概率。
在本申请实施例中,关于第一设备根据该网络拥塞状态,确定通过第二发送模式向该第二设备发送第二数据包,共包括两种情况。
情况1
该第一发送模式为推送模式,该第二发送模式为请求应答模式,在第一设备确定当前网络处于拥塞状态时,确定切换数据包的发送模式,即确定通过请求应答模式向第二设备发送该第二数据包,该第一数据包携带有第一指示信息,该第一指示信息用于指示该第一数据包是通过推送模式发送的数据包。
情况2
该第一发送模式为请求应答模式,该第二发送模式为推送模式,在第一设备确定当前网络未处于拥塞状态时,确定切换数据包的发送模式,即确定通过推送模式向第二设备发送该第二数据包。
下面对情况1对应的技术方案进行详细说明。
具体地,在情况1中,第一设备将第一数据包缓存至与第二设备相对应的VOQ队列中,并通过推送模式向第二设备发送该第一数据包,其中该第一数据包携带有第一指示信息,该第一指示信息用于向第二设备指示该第一数据包为第一设备通过推送模式发送的数据包,以便第二设备根据该第一指示信息,确定该数据包是通过推送模式发送的数据包。
需要说明的是,上述的推送模式,是指第一设备在有数据包发送需求的情况下,就会向第二设备发送该数据包。
还需要说明的是,上述仅以通过第一指示信息向第二设备指示该第一数据包为通过推送模式发送的数据包为例进行说明,但本申请实施例并不限定于此,例如,第一设备还可以对该第一数据包进行标记,使得第二设备在接收到第一数据包时,确定该第一数据包为通过推送模式发送的数据包。
在第一设备向第二设备通过推送模式发送该第一数据包过程中,第一设备确定网络拥塞状态,若第一设备确定当前网络处于拥塞状态,则切换数据包的发送模式,即确定通过请求应答模式向第二设备发送第二数据包。
第一设备通过请求应答模式向第二设备发送第二数据包时,首先向第二设备发送请求信息,该请求信息用于请求该第二设备为该第一设备分配数据量,该数据量用于限制该第一设备向该第二设备发送该第二数据包。
可选地,当第一设备确定通过请求应答模式向第二设备发送第二数据包时,第一设备将与该第二设备对应的VOQ队列标记为请求应答状态的VOQ队列,并为该VOQ队列设置一个授权数据量计数器,第一设备在向第二设备发送请求信息之前,可以首先查看该授权数据量计数器,并确定该授权数据量计数器所指示的可发送数据量是否满足发送一个完 整的数据包。
如果可以,则第一设备根据该授权数据量计数器所指示的可发送数据量向该第二设备发送数据包,并将该授权数据量计数器减去发送该数据包使用的数据量;
否则,第一设备向第二设备发送该请求信息,该请求信息中携带有第一设备请求发送的数据量,第二设备在接收到是第一设备发送的该请求信息之后,可以根据自身的速率或者缓冲区的可用量,为第一设备分配可发送的数据量,并向该第一设备发送应答信息,该应答信息承载有该可发送的数据量。
当第一设备接收到第二设备发送的该应答信息之后,便可以根据该应答信息中携带的可发送的数据量更新与第二设备对应的VOQ队列的授权数据量计数器。
可选地,针对上述情况1,在上述202之后,还包括203、204,如图3所示。
203,该第二设备向该第一设备发送确认信息,该确认信息用于指示该第二设备成功接收该第一数据包。
204,该第一设备接收该第二设备发送的确认信息,该确认信息用于指示该第二设备成功接收该第一数据包。
具体地,在203中,第二设备在接收到第一设备发送的第一数据包之后,根据该第一数据包携带的第一指示信息,确定该第一数据包是通过推送模式发送的数据包,此时,第二设备向该第一设备发送确认信息,该确认信息用于指示该第二设备成功接收该第一数据包。在204中,第一设备在接收到该确认信息之后,便可以确定第二设备成功接收该第一数据包。
可选地,上述第二设备向第一设备发送确认信息时,可以逐包进行确认,即,针对接收到的每一个通过推送模式发送的数据包,第二设备均向第一设备发送确认信息,如图4所示,该确认信息可以为确认字符(Acknowledgement,ACK);或者,如图5所示,第二设备也可以在接收到第一设备通过推送模式发送的多个数据包之后,向第一设备针对该多个数据包发送一次确认信息,该确认信息携带有计数值N,N≥1,该计数值N用于指示该第一设备发送的前N个数据包均被第二设备成功接收,例如,第二设备向第一设备发送了一个ACK 3,则表示第一设备发送的第1个数据包至第3个数据包均被第二设备成功接收。
还例如,第二设备向第一设备发送了一个ACK 5,然而,该ACK 5在传递过程中丢失了,此时,第一设备也能够根据第二设备后续发送的ACK(例如,ACK 9)确认前面的第1个数据包至第9个数据包均被第一设备成功接收。
通过第二设备针对第一设备发送的多个数据包进行集中确认,能够减少确认信息对网络带宽的占用,并且,通过确认信息中携带有计数值,可以容忍第二设备发送的某个确认信息在传递过程中丢失的情况。
如图6所示的网络处于拥塞状态时的ACK返回示意图中可以看出,随着网络拥塞情况的加剧,第一设备从向第二设备发送数据包开始,至接收到第二设备发送的针对该数据包的ACK的时间间隔也会增大,例如,第一设备接收到ACK 3的时间间隔ACK 3-t小于第一设备接收到ACK N的时间间隔ACK N-t
下面对情况1中涉及的第一设备确定网络拥塞状态的方法进行详细说明。
可选地,该第一设备确定网络拥塞状态,包括:该第一设备确定已发送数据包中的未 接收到确认信息的数据包的个数;该第一设备根据该未接收到确认信息的数据包的个数,确定网络拥塞状态,该已发送数据包包括该第一数据包;在该未接收到确认信息的数据包的个数大于或等于预设的第一阈值的情况下,该第一设备确定网络处于拥塞状态。
具体地,第一设备在通过推送模式向第二设备发送数据包(例如,第一数据包)时,第一设备将与该第二设备对应的VOQ队列标记为推送状态的VOQ队列,并为该VOQ队列设置一个推送数据量计数器,该推送数据量计数器记录第一设备向第二设备发送的数据包中未接收到上述确认信息的数据包的个数或者数据量。
第一设备通过推送模式向第二设备每发送一个数据包,VOQ队列的推送数据量计数器相应地就会加1,第一设备每接收到一个确认信息,该VOQ队列的推送数据量计数器相应地就会减1,如果该确认信息是针对多个数据包进行集中确认的确认信息,该VOQ队列的推送数据量计数器相应地就会减去该多个数据包的个数。
为了界定网络拥塞状态,本申请实施例中,设置了符合轻载容量的推送数据量阈值(例如,预设的第一阈值),该推送数据量阈值用于表征网络的拥塞状态。当推送数据量计数器大于或等于推送数据量阈值时,则认为网络拥塞;否则认为网络为轻载状态。
在第一设备确定了网络中未接收到第二设备发送的确认信息的个数之后,在该未接收到确认信息的数据包的个数大于或等于预设的第一阈值的情况下,该第一设备确定网络处于拥塞状态。
推送数据量阈值的设置可以是静态设置的也可以根据测量的网络拥塞状态进行动态设置;或者,也可以进行动态设置。
需要说明的是,在本申请实施例中,第一设备还可以根据第二设备的拥塞反馈确定网络拥塞状态,本申请实施例对第一设备确定网络拥塞状态的具体方法不作特别限定。
下面对本申请实施例中动态设置该第一阈值的方法进行详细说明。
可选地,该确认信息携带有该第一设备发送该第一数据包的发送时间点,该方法还包括:该第一设备确定该确认信息的接收时间点;该第一设备根据该确认信息的接收时间点与该第一数据包的发送时间点之间的差值,确定该推送数据量阈值。
具体地,第一设备在通过推送模式向第二设备发送数据包(例如,第一数据包)时,在该数据包中标记该数据包的发送时间戳(例如,发送时间点),第二设备在接收到该数据包时,确定该数据包的发送时间戳,并在向第一设备发送针对该数据包的确认信息时携带该数据包的发送时间戳,因此,第一设备在接收该确认信息时,即可以确定该确认信息的接收时间点,又可以确定该确认信息对应的数据包的发送时间戳,由此,第一设备将该确认信息的接收时间点和该确认信息对应的数据包的发送时间戳之间的差值,确定为该数据包在网络中的往返时延(Round-Trip Time,RTT)。
如果该数据包的RTT时间大于一定阈值(例如,往返时延的最大值RTT max)时,则表明当前网络拥塞状态严重,则将推送数据量阈值进行乘性减,即,减去β倍原来的推送数据量阈值,其中,β大于0小于1;或者
如果该数据包的RTT时间小于一定阈值(例如,往返时延的最小值RTT min),则表明当前网络处于轻载状态,则将推送数据量阈值进行线性加,即,加上一个δ值,其中δ大于0;或者
如果该数据包的RTT时间介于RTT max和RTT min之间,则根据相邻两次的RTT时间 差值对推送数据量阈值进行更新:具体地,如果该数据包的RTT时间相对上一次RTT时间减小,则将推送数据量阈值进行线性加,加上一个δ值,其中,δ大于0;否则将推送数据量阈值进行乘性减,减去α倍的原来的推送数据量阈值,其中,α大于0小于1。
下面对情况2对应的技术方案进行详细说明。
该第一发送模式为请求应答模式,该第二发送模式为推送模式,在第一设备确定当前网络未处于拥塞状态时,确定切换数据包的发送模式,即确定通过推送模式向第二设备发送该第二数据包。
当第一设备通过请求应答模式向第二设备发送数据包(例如,第一数据包的一例)之后,第一设备可以确定当前网络的拥塞状态,如果当前网络依然处于拥塞状态,则第一设备继续通过请求应答模式与第二设备之间进行通信;或者,如果当前网络依然未处于网络拥塞状态,并且,当第二设备对应的VOQ队列同时满足条件:该VOQ队列有数据发送需求;该VOQ队列没有未被应答的请求消息;该VOQ队列中首个待发送数据包的等待时长小于一定阈值时,则第一设备确定该VOQ队列对应的第一设备与第二设备间的网络处于一个轻载状态,此时,第一设备确定通过推送模式向第二设备发送数据包(例如,第二数据包)。
需要说明的是,上述的情况2中的第一设备将数据包的发送模式从请求应答模式切换至推送模式,可以发生在情况1中的第一设备将数据包的发送模式从推送模式切换至请求应答模式之后,或者,也可以单独存在,本申请实施例对此不作特别限定。
在上述情况2中的第一设备将数据包的发送模式从请求应答模式切换至推送模式发生在情况1中的第一设备将数据包的发送模式从推送模式切换至请求应答模式之后的情况下,由于在情况1中,可能存在第一设备通过推送模式发送的部分数据包滞留在网络中未到达第二设备的情况,因此,在情况2中,该部分数据包可能会到达第二设备,因此,VOQ队列对应的推送数据量计数器以及该推送数据量阈值也会相应发生变化,因此,在情况2中,第一设备还可以通过比较推送数据量计数器与推送数据量阈值大小关系,确定网络是否处于拥塞状态,例如,当该推送数据量计数器大于或等于该推送数据量阈值时,第一设备确定当前网路处于拥塞状态,并继续通过请求应答模式与第二设备之间进行通信。
图7为本申请实施例提供的控制流量的方法300的另一示意性流程图。该方法300至少包括以下步骤。
301,第一设备通过推送模式向第二设备发送第一数据包。
具体地,第一设备初始化第二设备对应VOQ队列的发送模式为推送模式,并通过该数据包(例如,第一数据包)携带的第一指示信息向第二设备指示该数据包为通过推送模式发送的数据包,第一设备每发出一个数据包,其对应的推送数据量计数器便加1。
该数据包到达第二设备后,第二设备通过第一指示信息,确定接收到的该数据包为通过推送模式发送的数据包,第二设备便向第一设备发送确认信息(例如,ACK),对接收到的数据包进行应答。
302,第一设备接收第二设备发送的确认信息,统计推送数据量计数器。
具体地,第一设备每接收到一个确认信息,推送流量计数器便减1。第一设备接收第二设备发送的确认信息,并提取该确认信息携带的计数器值,并根据该计数器值,相应地 减小对应的推送数据量计数器的数值。
303,对于处于推送模式的VOQ队列,第一设备通过比较推送数据量计数器与推送数据量阈值,确定是否将推送模式切换至请求应答模式。
具体地,第一设备在通过推送模式向第二设备发送下一个数据包之前,首先判定该VOQ队列对应推送数据量计数器是否超过了设置的推送数据量阈值,如果推送数据量计数器小于设置的推送数据量阈值,则执行301;
否则,如果该VOQ队列对应推送数据量计数器大于或等于设置的推送数据量阈值,则表明该VOQ队列对应的第一设备与第二设备间的数据包发送经历了网络拥塞,因此,第一设备切换该VOQ队列为请求应答模式,并停止向第二设备通过推送模式向第一设备发送数据包,执行304。
304,第一设备通过请求应答模式向第二设备发送第二数据包。
具体地,第一设备为与第二设备相对应的VOQ队列设置一个授权数据量计数器,该VOQ队列被标记为请求应答状态的VOQ队列,当授权数据量计数器为0或者不足以发送一个数据包时,第一设备向第二设备发送请求信息。
具体地,第一设备向对应的第二设备发送请求信息,该请求信息中携带了第一设备请求发送的数据量,第二设备接收到该请求信息之后,根据自身的速率或者缓冲区的可用量向第一设备分配授权数据量,并向各第一设备发送携带有授权数据量的应答信息。当第一设备收到该应答信息后,利用应答信息中携带的授权数据量更新该授权数据量计数器的数值。
否则,第一设备使用该授权数据量计数器指示的数据量向第二设备发送数据包,并将授权数据量计数器减去该数据包对应的数据量。
305,对于处于请求应答模式的VOQ队列,第一设备通过比较推送数据量计数器与推送数据量阈值,确定是否将请求应答模式切换至推送模式。
具体地,如果该VOQ队列对应的推送数据量计数器大于或等于设置的推送数据量阈值时,执行步骤304;
否则,如果该VOQ队列应的推送数据量计数器小于设置的推送数据量阈值时,并且该VOQ队列满足条件:该VOQ队列有数据发送需求;该VOQ队列没有未被应答的请求消息;该VOQ队列中首个待发送数据包的等待时长小于一定阈值时,则执行301。
需要说明的是,在本申请实施例中,上述的推送模式也可称为被动流控模式,推送状态也可称为被动流控状态,上述的请求应答模式也可称为主动流控模式,请求应答状态也可称为主动流控状态,本申请实施例对此不作特别限定。
还需要说明的是,上述推送数据量计数器中的内容可以是数据包的个数,或者,也可以是数据量,相应地,上述的推送数据量阈值的内容也可以是数据包的个数,或者,也可以是数据量,但需与推送数据量计数器中的内容保持一致。
同样的,上述授权数据量计数器中的内容可以是数据包的个数,或者,也可以是数据量,相应地,上述的授权数据量的内容也可以是数据包的个数,或者,也可以是数据量,但需与授权数据量计数器中的内容保持一致。
本申请实施例中的控制流量的方法,通过第一设备对网络的拥塞状态进行评估,在网络轻载时使用推送模式发送数据包,可以降低网络延迟;当网络重载产生严重拥塞时,使 用请求应答模式发送数据包,可以缓解网络的拥塞程度,提高网络吞吐量,通过动态切换数据包的发送模式,在网络轻载时,使得网络中的所有设备间通过推送模式传输数据包;在网络轻度拥塞时,使得网络中的部分设备间通过请求应答模式传输数据包;当网络重载产生严重拥塞时,使得网络中的所有设备间通过请求应答模式传输数据包,进而在实现较高的网络吞吐量的同时降低网络延迟。
上文结合图3至图7,描述了本申请实施例提供的控制流量的方法,下面结合图8至图11描述本申请实施例提供的第一设备与第二设备。
图8为本申请实施例提供的第一设备400的示意性框图,第一设备400包括:
收发模块410,用于通过第一发送模式向第二设备发送第一数据包;
处理模块420,用于确定网络拥塞状态;
该收发模块410还用于:
通过该第二发送模式向该第二设备发送第二数据包,该第二发送模式为该第一设备根据该网络拥塞状态确定的发送模式,该第二数据包为该第一数据包之后的待发送数据包。
可选地,该第一发送模式为推送模式,该第二发送模式为请求应答模式,该第一数据包携带有第一指示信息,该第一指示信息用于指示该第一数据包是通过推送模式发送的数据包。
可选地,该收发模块410还用于:
在该网络处于拥塞状态的情况下,向该第二设备发送请求信息,该请求信息用于请求该第二设备为该第一设备分配数据量;
该收发模块410还用于:
通过该第二设备分配的数据量向该第二设备发送该第二数据包。
可选地,该收发模块410还用于:
在该第一设备通过第一发送模式向第二设备发送第一数据包之后,接收该第二设备发送的确认信息,该确认信息用于指示该第二设备成功接收该第一数据包;
该处理模块420还用于:
确定已发送数据包中的未接收到确认信息的数据包的个数;
该处理模块420还用于:
根据该未接收到确认信息的数据包的个数,确定网络拥塞状态,该已发送数据包包括该第一数据包;
该处理模块420还用于:
在该未接收到确认信息的数据包的个数大于或等于预设的第一阈值的情况下,确定网络处于拥塞状态。
可选地,该确认信息携带有该第一设备发送该第一数据包的发送时间点,该处理模块420还用于:
确定该确认信息的接收时间点;
该处理模块420还用于:
根据该确认信息的接收时间点与该第一数据包的发送时间点之间的差值,确定该第一阈值。
可选地,该确认信息携带有计数值N,N≥1,该计数值N用于指示该第一设备发送 的前N个数据包均被第二设备成功接收。
可选地,该第一发送模式为请求应答模式,该第二发送模式为推送模式。
可选地,该收发模块410还用于:
在该网络未处于拥塞状态时,通过该第二发送模式向该第二设备发送第二数据包。
应理解,本申请实施例中的处理模块420可以由处理器或处理器相关电路组件实现,收发模块410可以由收发器或收发器相关电路组件实现。
如图9所示,本申请实施例还提供了一种第一设备500,该第一设备500包括处理器510,存储器520与收发器530,其中,存储器520中存储指令或程序,处理器540用于执行存储器520中存储的指令或程序。存储器520中存储的指令或程序被执行时,该处理器510用于执行上述实施例中处理模块420执行的操作,收发器530用于执行上述实施例中收发模块410执行的操作。
图10为本申请实施例提供的第二设备600的示意性流程图,该第二设备600包括:
收发模块610,用于接收第一设备通过第一发送模式发送的第一数据包;
该收发模块610还用于:
接收该第一设备通过第二发送模式发送的第二数据包,该第二发送模式为该第一设备根据该网络拥塞状态确定的发送模式,该第二数据包为该第一数据包之后的待发送数据包。
可选地,该第一发送模式为推送模式,该第二发送模式为请求应答模式,该第一数据包携带有第一指示信息,该第一指示信息用于指示该第一数据包是通过推送模式发送的数据包。
可选地,该收发模块610还用于:
接收该第一设备发送的请求信息,该请求信息用于请求该第二设备为该第一设备分配数据量;
该第二设备还包括:
处理模块620,用于根据该请求信息,为该第一设备分配数据量,该数据量用于该第一设备向该第二设备发送该第二数据包。
可选地,该收发模块610还用于:
在该第二设备接收到该第一设备通过第一发送模式发送第一数据包的之后,向该第一设备发送确认信息,该确认信息用于指示该第二设备成功接收该第一数据包。
可选地,该确认信息携带有该第一设备发送该第一数据包的发送时间点。
可选地,该确认信息携带有计数值N,N≥1,该计数值N用于指示该第一设备发送的前N个数据包均被第二设备成功接收。
可选地,该第一发送模式为请求应答模式,该第二发送模式为推送模式。
应理解,本申请实施例中的处理模块620可以由处理器或处理器相关电路组件实现,收发模块510可以由收发器或收发器相关电路组件实现。
如图11所示,本申请实施例还提供一种第二设备700,该第二设备700包括处理器710,存储器720与收发器730,其中,存储器720中存储指令或程序,处理器730用于执行存储器720中存储的指令或程序。存储器720中存储的指令或程序被执行时,该处理器710用于执行上述实施例中处理模块620执行的操作,收发器730用于执行上述实施例 中收发模块610执行的操作。
应理解,本申请实施例中提及的处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)集成在处理器中。
应注意,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各 个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (30)

  1. 一种控制流量的方法,其特征在于,包括:
    第一设备通过第一发送模式向第二设备发送第一数据包;
    所述第一设备确定网络拥塞状态;
    所述第一设备通过所述第二发送模式向所述第二设备发送第二数据包,所述第二发送模式为所述第一设备根据所述网络拥塞状态确定的发送模式,所述第二数据包为所述第一数据包之后的待发送数据包。
  2. 根据权利要求1所述的方法,其特征在于,所述第一发送模式为推送模式,所述第二发送模式为请求应答模式,所述第一数据包携带有第一指示信息,所述第一指示信息用于指示所述第一数据包是通过推送模式发送的数据包。
  3. 根据权利要求2所述的方法,其特征在于,所述第一设备通过所述第二发送模式向所述第二设备发送第二数据包,包括:
    在所述网络处于拥塞状态的情况下,所述第一设备向所述第二设备发送请求信息,所述请求信息用于请求所述第二设备为所述第一设备分配数据量;
    所述第一设备通过所述第二设备分配的数据量向所述第二设备发送所述第二数据包。
  4. 根据权利要求2或3所述的方法,其特征在于,在所述第一设备通过第一发送模式向第二设备发送第一数据包之后,所述方法还包括:
    所述第一设备接收所述第二设备发送的确认信息,所述确认信息用于指示所述第二设备成功接收所述第一数据包;
    所述第一设备确定网络拥塞状态,包括:
    所述第一设备确定已发送数据包中的未接收到确认信息的数据包的个数;
    所述第一设备根据所述未接收到确认信息的数据包的个数,确定网络拥塞状态,所述已发送数据包包括所述第一数据包;
    在所述未接收到确认信息的数据包的个数大于或等于预设的第一阈值的情况下,所述第一设备确定网络处于拥塞状态。
  5. 根据权利要求4所述的方法,其特征在于,所述确认信息携带有所述第一设备发送所述第一数据包的发送时间点,所述方法还包括:
    所述第一设备确定所述确认信息的接收时间点;
    所述第一设备根据所述确认信息的接收时间点与所述第一数据包的发送时间点之间的差值,确定所述第一阈值。
  6. 根据权利要求4或5所述的方法,其特征在于,所述确认信息携带有计数值N,N≥1,所述计数值N用于指示所述第一设备发送的前N个数据包均被第二设备成功接收。
  7. 根据权利要求1所述的方法,其特征在于,所述第一发送模式为请求应答模式,所述第二发送模式为推送模式。
  8. 根据权利要求7所述的方法,其特征在于,所述第一设备通过所述第二发送模式向所述第二设备发送第二数据包,包括:
    在所述网络未处于拥塞状态时,所述第一设备通过所述第二发送模式向所述第二设备 发送第二数据包。
  9. 一种控制流量的方法,其特征在于,包括:
    第二设备接收第一设备通过第一发送模式发送的第一数据包;
    所述第二设备接收所述第一设备通过第二发送模式发送的第二数据包,所述第二发送模式为所述第一设备根据所述网络拥塞状态确定的发送模式,所述第二数据包为所述第一数据包之后的待发送数据包。
  10. 根据权利要求9所述的方法,其特征在于,所述第一发送模式为推送模式,所述第二发送模式为请求应答模式,所述第一数据包携带有第一指示信息,所述第一指示信息用于指示所述第一数据包是通过推送模式发送的数据包。
  11. 根据权利要求10所述的方法,其特征在于,所述方法还包括:
    所述第二设备接收所述第一设备发送的请求信息,所述请求信息用于请求所述第二设备为所述第一设备分配数据量,所述数据量用于所述第一设备向所述第二设备发送所述第二数据包;
    所述第二设备根据所述请求信息,为所述第一设备分配数据量。
  12. 根据权利要求10或11所述的方法,其特征在于,在所述第二设备接收到所述第一设备通过第一发送模式发送第一数据包的之后,所述方法还包括:
    所述第二设备向所述第一设备发送确认信息,所述确认信息用于指示所述第二设备成功接收所述第一数据包。
  13. 根据权利要求12所述的方法,其特征在于,所述确认信息携带有所述第一设备发送所述第一数据包的发送时间点。
  14. 根据权利要求12或13所述的方法,其特征在于,所述确认信息携带有计数值N,N≥1,所述计数值N用于指示所述第一设备发送的前N个数据包均被第二设备成功接收。
  15. 根据权利要求9所述的方法,其特征在于,所述第一发送模式为请求应答模式,所述第二发送模式为推送模式。
  16. 一种第一设备,其特征在于,包括:
    收发模块,用于通过第一发送模式向第二设备发送第一数据包;
    处理模块,用于确定网络拥塞状态;
    所述收发模块还用于:
    通过所述第二发送模式向所述第二设备发送第二数据包,所述第二发送模式为所述第一设备根据所述网络拥塞状态确定的发送模式,所述第二数据包为所述第一数据包之后的待发送数据包。
  17. 根据权利要求16所述的第一设备,其特征在于,所述第一发送模式为推送模式,所述第二发送模式为请求应答模式,所述第一数据包携带有第一指示信息,所述第一指示信息用于指示所述第一数据包是通过推送模式发送的数据包。
  18. 根据权利要求17所述的第一设备,其特征在于,所述收发模块还用于:
    在所述网络处于拥塞状态的情况下,向所述第二设备发送请求信息,所述请求信息用于请求所述第二设备为所述第一设备分配数据量;
    所述收发模块还用于:
    通过所述第二设备分配的数据量向所述第二设备发送所述第二数据包。
  19. 根据权利要求17或18所述的第一设备,其特征在于,所述收发模块还用于:
    在所述第一设备通过第一发送模式向第二设备发送第一数据包之后,接收所述第二设备发送的确认信息,所述确认信息用于指示所述第二设备成功接收所述第一数据包;
    所述处理模块还用于:
    确定已发送数据包中的未接收到确认信息的数据包的个数;
    所述处理模块还用于:
    根据所述未接收到确认信息的数据包的个数,确定网络拥塞状态,所述已发送数据包包括所述第一数据包;
    所述处理模块还用于:
    在所述未接收到确认信息的数据包的个数大于或等于预设的第一阈值的情况下,确定网络处于拥塞状态。
  20. 根据权利要求19所述的第一设备,其特征在于,所述确认信息携带有所述第一设备发送所述第一数据包的发送时间点,所述处理模块还用于:
    确定所述确认信息的接收时间点;
    所述处理模块还用于:
    根据所述确认信息的接收时间点与所述第一数据包的发送时间点之间的差值,确定所述第一阈值。
  21. 根据权利要求19或20所述的第一设备,其特征在于,所述确认信息携带有计数值N,N≥1,所述计数值N用于指示所述第一设备发送的前N个数据包均被第二设备成功接收。
  22. 根据权利要求16所述的第一设备,其特征在于,所述第一发送模式为请求应答模式,所述第二发送模式为推送模式。
  23. 根据权利要求22所述的第一设备,其特征在于,所述收发模块还用于:
    在所述网络未处于拥塞状态时,通过所述第二发送模式向所述第二设备发送第二数据包。
  24. 一种第二设备,其特征在于,包括:
    收发模块,用于接收第一设备通过第一发送模式发送的第一数据包;
    所述收发模块还用于:
    接收所述第一设备通过第二发送模式发送的第二数据包,所述第二发送模式为所述第一设备根据所述网络拥塞状态确定的发送模式,所述第二数据包为所述第一数据包之后的待发送数据包。
  25. 根据权利要求24所述的第二设备,其特征在于,所述第一发送模式为推送模式,所述第二发送模式为请求应答模式,所述第一数据包携带有第一指示信息,所述第一指示信息用于指示所述第一数据包是通过推送模式发送的数据包。
  26. 根据权利要求25所述的第二设备,其特征在于,所述收发模块还用于:
    接收所述第一设备发送的请求信息,所述请求信息用于请求所述第二设备为所述第一设备分配数据量;
    所述第二设备还包括:
    处理模块,用于根据所述请求信息,为所述第一设备分配数据量,所述数据量用于所 述第一设备向所述第二设备发送所述第二数据包。
  27. 根据权利要求25或26所述的第二设备,其特征在于,所述收发模块还用于:
    在所述第二设备接收到所述第一设备通过第一发送模式发送第一数据包的之后,向所述第一设备发送确认信息,所述确认信息用于指示所述第二设备成功接收所述第一数据包。
  28. 根据权利要求27所述的第二设备,其特征在于,所述确认信息携带有所述第一设备发送所述第一数据包的发送时间点。
  29. 根据权利要求27或28所述的第二设备,其特征在于,所述确认信息携带有计数值N,N≥1,所述计数值N用于指示所述第一设备发送的前N个数据包均被第二设备成功接收。
  30. 根据权利要求24所述的第二设备,其特征在于,所述第一发送模式为请求应答模式,所述第二发送模式为推送模式。
PCT/CN2018/106114 2017-09-30 2018-09-18 控制流量的方法及装置 WO2019062589A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP18860424.3A EP3684014A4 (en) 2017-09-30 2018-09-18 FLOW CONTROL METHOD AND DEVICE
US16/834,192 US11323916B2 (en) 2017-09-30 2020-03-30 Flow control method and apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710919292.2A CN109600316B (zh) 2017-09-30 2017-09-30 控制流量的方法及装置
CN201710919292.2 2017-09-30

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/834,192 Continuation US11323916B2 (en) 2017-09-30 2020-03-30 Flow control method and apparatus

Publications (1)

Publication Number Publication Date
WO2019062589A1 true WO2019062589A1 (zh) 2019-04-04

Family

ID=65900766

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/106114 WO2019062589A1 (zh) 2017-09-30 2018-09-18 控制流量的方法及装置

Country Status (4)

Country Link
US (1) US11323916B2 (zh)
EP (1) EP3684014A4 (zh)
CN (1) CN109600316B (zh)
WO (1) WO2019062589A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11265284B2 (en) * 2016-03-18 2022-03-01 Westinghouse Air Brake Technologies Corporation Communication status system and method
CN111194060A (zh) * 2019-12-19 2020-05-22 京信通信技术(广州)有限公司 数据处理方法、装置、计算机设备和存储介质
CN111371533B (zh) * 2020-03-09 2022-02-22 腾讯科技(深圳)有限公司 数据传输方法、装置、存储介质及设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030926A (zh) * 2006-02-28 2007-09-05 华为技术有限公司 全球微波接入互操作性网络数据流量控制方法
CN102404187A (zh) * 2010-09-13 2012-04-04 华为技术有限公司 拥塞控制方法和系统以及网络设备
CN102546098A (zh) * 2011-12-15 2012-07-04 福建星网锐捷网络有限公司 数据传输装置、方法及系统
CN103384181A (zh) * 2012-05-04 2013-11-06 华为技术有限公司 数据包的传输方法和设备
US9198078B1 (en) * 2013-12-11 2015-11-24 Sprint Spectrum L.P. Managing signaling overhead in a wireless multicast system
CN106851727A (zh) * 2017-01-23 2017-06-13 西安电子科技大学 基于多路径路由协议实现自组网拥塞控制的方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7802001B1 (en) 2002-10-18 2010-09-21 Astute Networks, Inc. System and method for flow control within a stateful protocol processing system
US20140164641A1 (en) * 2012-12-11 2014-06-12 The Hong Kong University Of Science And Technology Congestion control for data center traffic
US20140164640A1 (en) * 2012-12-11 2014-06-12 The Hong Kong University Of Science And Technology Small packet priority congestion control for data center traffic
WO2016086385A1 (zh) * 2014-12-04 2016-06-09 华为技术有限公司 一种拥塞控制的方法、设备和系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030926A (zh) * 2006-02-28 2007-09-05 华为技术有限公司 全球微波接入互操作性网络数据流量控制方法
CN102404187A (zh) * 2010-09-13 2012-04-04 华为技术有限公司 拥塞控制方法和系统以及网络设备
CN102546098A (zh) * 2011-12-15 2012-07-04 福建星网锐捷网络有限公司 数据传输装置、方法及系统
CN103384181A (zh) * 2012-05-04 2013-11-06 华为技术有限公司 数据包的传输方法和设备
US9198078B1 (en) * 2013-12-11 2015-11-24 Sprint Spectrum L.P. Managing signaling overhead in a wireless multicast system
CN106851727A (zh) * 2017-01-23 2017-06-13 西安电子科技大学 基于多路径路由协议实现自组网拥塞控制的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3684014A4

Also Published As

Publication number Publication date
EP3684014A1 (en) 2020-07-22
CN109600316A (zh) 2019-04-09
US20200229039A1 (en) 2020-07-16
CN109600316B (zh) 2022-08-26
EP3684014A4 (en) 2020-08-19
US11323916B2 (en) 2022-05-03

Similar Documents

Publication Publication Date Title
US11445559B2 (en) Communication method and communications apparatus
US11317389B2 (en) Data transmission method, apparatus, and system
EP3011705B1 (en) Polling and reporting mechanism
US11006312B2 (en) PDCP packet-based DDDS frame transmission
CN109309934B (zh) 一种拥塞控制方法及相关设备
EP3606161B1 (en) Data transmission method and apparatus
WO2020063003A1 (zh) 拥塞控制方法和网络设备
US11323916B2 (en) Flow control method and apparatus
WO2021128913A1 (zh) 蜂窝网络上行链路ecn机制的增强方法、设备及介质
CN112399468B (zh) 一种数据传输方法及接收设备
US11877184B2 (en) Wireless communication method, terminal device and network device
EP3094032B1 (en) Data processing method, communication device and system
KR20220004165A (ko) 다중 링크 시스템을 위한 mpdu 송신 및 수신 방법들 및 장치들, 저장 매체, 송신기 및 수신기
EP3720070A1 (en) Data packet processing method and device
WO2018218996A1 (zh) 数据包传输方法及设备
EP1993313A2 (en) Method and apparatus for polling transmission status in a wireless communications system
CN113301605B (zh) 消息传输方法、系统及相关装置
CN116261170A (zh) 一种通信方法、装置及系统
CN107820274B (zh) 一种移动网络udp业务拥塞处理方法及基站
EP3723409A1 (en) Wireless communication method and apparatus
CN109644351B (zh) 数据处理方法和设备
JP6845448B2 (ja) 通信装置、通信方法、及び通信システム
CN115226149A (zh) 基站的下行tcp业务流量控制方法、装置及存储介质
KR20080071002A (ko) 이동통신 시스템에서 알엘피 버퍼링 타이머 변경을 이용한전송 장치 및 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18860424

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018860424

Country of ref document: EP

Effective date: 20200415