WO2020151570A1 - Congestion control method and apparatus, electronic device, and storage medium - Google Patents

Congestion control method and apparatus, electronic device, and storage medium Download PDF

Info

Publication number
WO2020151570A1
WO2020151570A1 PCT/CN2020/072535 CN2020072535W WO2020151570A1 WO 2020151570 A1 WO2020151570 A1 WO 2020151570A1 CN 2020072535 W CN2020072535 W CN 2020072535W WO 2020151570 A1 WO2020151570 A1 WO 2020151570A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet loss
rate
loss rate
bandwidth
random packet
Prior art date
Application number
PCT/CN2020/072535
Other languages
French (fr)
Chinese (zh)
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 北京达佳互联信息技术有限公司
Publication of WO2020151570A1 publication Critical patent/WO2020151570A1/en

Links

Classifications

    • 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/12Avoiding congestion; Recovering from congestion
    • 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/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions

Definitions

  • a congestion control method, device, electronic equipment and storage medium Cross-reference of related applications
  • the present disclosure relates to the field of Internet technology, and in particular, to a congestion control method, device, electronic device, and storage medium. Background technique
  • the present disclosure provides a congestion control method, device, electronic equipment, and storage medium.
  • a congestion control method including the steps:
  • a congestion control device including:
  • the rate calculation module is configured to estimate the bandwidth, random packet loss rate and congestion in the previous period. Congestion packet loss rate calculation target sending rate;
  • the sending control module is configured to control the sending rate in the next time period according to the target sending rate.
  • an electronic device including:
  • a memory for storing computer programs, candidate intermediate data and result data generated by executing the computer programs
  • the processor is used to calculate the target sending rate according to the bandwidth estimate value, random packet loss rate and congestion packet loss rate in the previous period;
  • a computer-readable storage medium which carries one or more computer instruction programs.
  • the computer instruction programs are executed by one or more processors, the one or more processors execute the first The method described in the aspect.
  • a computer program including the congestion control method described in the first aspect.
  • the technical solutions provided by the embodiments of the present disclosure may include the following beneficial effects: Since this application proposes a compensation strategy based on random packet loss, it is possible to prevent the observation bandwidth from being significantly underestimated in the random packet loss scenario, thereby significantly improving bandwidth utilization , Thereby avoiding bandwidth waste. Description of the drawings
  • Fig. 1 is a flow chart showing a method for congestion control according to an exemplary embodiment
  • Fig. 2 is a flow chart showing another method for congestion control according to an exemplary embodiment
  • Fig. 3 is a flow chart showing according to an exemplary embodiment A flow chart of yet another congestion control method is shown
  • Fig. 4 is a block diagram of a congestion control device according to an exemplary embodiment
  • Fig. 5 is a block diagram showing another congestion control method according to an exemplary embodiment
  • Fig. 6 is a block diagram showing an electronic device according to an exemplary embodiment
  • Fig. 7 is a block diagram showing another electronic device according to an exemplary embodiment. detailed description
  • Fig. 1 is a flow chart showing a method for congestion control according to an exemplary embodiment.
  • the congestion control method is used in a terminal on the Internet.
  • the terminal can be understood as the sender of a corresponding link in the Internet. Specifically, it can be a server on the Internet or a client that provides data transmission.
  • the control method includes the following steps.
  • the last time period here refers to the previous time granularity of the current time of the neighbor.
  • the time granularity of this application is preferably the time length of a round trip delay RTT in the Internet. Under the premise of conforming to the unified timing unit, other time lengths can also be selected as the time granularity .
  • the bandwidth estimate refers to an estimate of the bandwidth calculated according to the parameters of the current bandwidth.
  • Random packet loss is the inevitable random packet loss caused by link physical factors, such as frequency band conflict, weak signal, etc. Its packet loss probability is only related to the physical link characteristics, and the proportion of random packet loss in all data packets is random Packet loss rate; Congestion packet loss is caused by network congestion caused by the transmission rate exceeding the bottleneck bandwidth limit. It is manifested as burst and continuous packet loss when congestion occurs. The proportion of congestion packet loss in all sent data packets is Congestion packet loss rate.
  • random packet loss rate and congestion packet loss rate of the previous period calculate according to the preset algorithm, thereby obtaining the corresponding target transmission In order to serve as the basis for the next period of time.
  • Zww is the estimated bandwidth and / is the random packet loss rate.
  • the sending rate of the next period is controlled to be below the target sending rate or the target sending rate. In order to achieve maximum utilization of bandwidth.
  • the next time period refers to the next time granularity at the current time, and for this application, it refers to the next round-trip delay RTT at the current time.
  • the present application provides a congestion control method, specifically calculating the target sending rate according to the bandwidth estimation value, random packet loss rate and congestion loss rate of the previous period; and then according to the obtained target sending rate Control the sending rate for the next period. Since this application proposes a compensation strategy based on random packet loss, it is possible to prevent the observation bandwidth from being significantly underestimated in a random packet loss scenario, thereby significantly improving bandwidth utilization and avoiding bandwidth waste.
  • Fig. 2 is a flow chart showing another congestion control method according to an exemplary embodiment.
  • the congestion control method is used in a terminal on the Internet.
  • the terminal can be understood as the sender of a corresponding link in the Internet. Specifically, it can be a server on the Internet or a client that provides data transmission.
  • the control method includes the following steps.
  • S00 Calculate the bandwidth estimation value according to the data receiving speed and the data sending speed.
  • ackrate A/t_RTT;
  • the data receiving speed is actually the speed at which the data is confirmed to be received by the other party
  • the data sending speed sendrate is:
  • t_RTT refers to the duration of the round-trip delay RTT.
  • the ack rate reflects the network bottleneck bandwidth.
  • the sending speed can be used as the upper limit of the bandwidth estimation, that is, the bandwidth estimation value bw esl is:
  • bw est mm (sendrate, ackrate).
  • the last time period here refers to the previous time granularity of the current time of the neighbor.
  • the time granularity of this application is preferably the time length of a round trip delay RTT in the Internet. Under the premise of conforming to the unified timing unit, other time lengths can also be selected as the time granularity .
  • the bandwidth estimate refers to an estimate of the bandwidth calculated according to the parameters of the current bandwidth.
  • Random packet loss is the inevitable random packet loss caused by link physical factors, such as frequency band conflict, weak signal, etc. Its packet loss probability is only related to the physical link characteristics, and the proportion of random packet loss in all data packets is random Packet loss rate; Congestion packet loss is caused by network congestion caused by the transmission rate exceeding the bottleneck bandwidth limit. It is manifested as burst and continuous packet loss when congestion occurs. The proportion of congestion packet loss in all sent data packets is Congestion packet loss rate.
  • random packet loss rate and congestion packet loss rate of the previous period calculate according to the preset algorithm, thereby obtaining the corresponding target transmission In order to serve as the basis for the next period of time.
  • the sending rate of the next period is controlled to be below the target sending rate or the target sending rate. In order to achieve maximum utilization of bandwidth.
  • the next time period refers to the next time granularity at the current time, and for this application, it refers to the next round-trip delay RTT at the current time.
  • the present application provides a congestion control method, specifically calculating the target sending rate according to the bandwidth estimation value, random packet loss rate and congestion loss rate of the previous period; and then according to the obtained target sending rate Control the sending rate for the next period. Since this application proposes a compensation strategy based on random packet loss, it is possible to avoid the observation that the bandwidth is significantly underestimated in a random packet loss scenario, thereby significantly improving bandwidth utilization and avoiding bandwidth waste.
  • Fig. 3 is a flowchart showing yet another method for congestion control according to an exemplary embodiment.
  • the congestion control method is used in a terminal on the Internet.
  • the terminal can be understood as the sender of a corresponding link in the Internet. Specifically, it can be a server on the Internet or a client that provides data transmission.
  • the control method includes the following steps.
  • this application distinguishes random packet loss and congestion packet loss based on the Spike algorithm, and calculates the random packet loss rate and congestion packet loss rate on the basis of the distinction, so as to obtain the corresponding random packet loss Rate and congestion packet loss rate.
  • the last time period here refers to the previous time granularity of the current time of the neighbor.
  • the time granularity of this application is preferably the time length of a round trip delay RTT in the Internet. Under the premise of conforming to the unified timing unit, other time lengths can also be selected as the time granularity .
  • the bandwidth estimate refers to an estimate of the bandwidth calculated according to the parameters of the current bandwidth.
  • Random packet loss is the inevitable random packet loss caused by link physical factors, such as frequency band conflict, weak signal, etc. Its packet loss probability is only related to the physical link characteristics, and the proportion of random packet loss in all data packets is random Packet loss rate; Congestion packet loss is caused by network congestion caused by the transmission rate exceeding the bottleneck bandwidth limit. It is manifested as burst and continuous packet loss when congestion occurs. The proportion of congestion packet loss in all sent data packets is Congestion packet loss rate.
  • random packet loss rate and congestion packet loss rate of the previous period calculate according to the preset algorithm, thereby obtaining the corresponding target transmission In order to serve as the basis for the next period of time.
  • S2. Control the sending rate of the next period according to the target sending rate.
  • the sending rate of the next period is controlled to be below the target sending rate or the target sending rate. In order to achieve maximum utilization of bandwidth.
  • the next time period refers to the next time granularity at the current time, and for this application, it refers to the next round-trip delay RTT at the current time.
  • the present application provides a congestion control method, specifically calculating the target sending rate according to the bandwidth estimation value, random packet loss rate and congestion loss rate of the previous period; and then according to the obtained target sending rate Control the sending rate for the next period. Since this application proposes a compensation strategy based on random packet loss, it is possible to prevent the observation bandwidth from being significantly underestimated in a random packet loss scenario, thereby significantly improving bandwidth utilization and avoiding bandwidth waste.
  • Fig. 4 is a block diagram showing a congestion control device according to an exemplary embodiment.
  • the congestion control device is used in a terminal on the Internet.
  • the terminal can be understood as the sender of a corresponding link in the Internet. Specifically, it can be a server on the Internet or a client that provides data transmission.
  • the control device includes a rate calculation module 10 and a transmission control module 20.
  • the rate calculation module is configured to calculate the target sending rate based on the estimated bandwidth, random packet loss rate and congestion packet loss rate in the previous period.
  • the last time period here refers to the previous time granularity of the current time of the neighbor.
  • the time granularity of this application is preferably the time length of a round trip delay RTT in the Internet. Under the premise of conforming to the unified timing unit, other time lengths can also be selected as the time granularity .
  • the bandwidth estimate refers to an estimate of the bandwidth calculated according to the parameters of the current bandwidth.
  • Random packet loss is the inevitable random packet loss caused by link physical factors, such as frequency band conflict, weak signal, etc. Its packet loss probability is only related to the physical link characteristics, and the proportion of random packet loss in all data packets is random Packet loss rate; Congestion packet loss is caused by network congestion caused by the transmission rate exceeding the bottleneck bandwidth limit. It is manifested as burst and continuous packet loss when congestion occurs. The proportion of congestion packet loss in all sent data packets is Congestion packet loss rate.
  • the calculation is performed according to the preset algorithm, and the corresponding target sending rate is obtained as the sending basis for the next time period.
  • the module includes a first calculation unit and a second calculation unit.
  • the first calculation unit is configured to calculate the real bottleneck bandwidth bw real according to the estimated bandwidth and the random packet loss rate when the congested packet loss rate is zero and the random packet loss rate is greater than zero, and output the real bottleneck bandwidth as the target sending rate target_rate .
  • Zww is the estimated bandwidth
  • the second calculation module is configured to output the bandwidth estimate as the target sending rate when the congested packet loss rate is greater than zero and the random packet loss rate is greater than zero;
  • the sending control module is configured to control the sending rate in the next period according to the target sending rate. That is, when the server sends to the client or the client to the server, the sending rate of the next period is controlled to be below the target sending rate or the target sending rate. In order to achieve maximum utilization of bandwidth.
  • the next time period refers to the next time granularity at the current time, and for this application, it refers to the next round-trip delay RTT at the current time.
  • the present application provides a congestion control device, which specifically calculates the target sending rate according to the bandwidth estimation value, random packet loss rate and congestion loss rate of the previous period; and then according to the obtained target sending rate Control the sending rate for the next period. Since this application proposes a compensation strategy based on random packet loss, it is possible to prevent the observation bandwidth from being significantly underestimated in a random packet loss scenario, thereby significantly improving bandwidth utilization and avoiding bandwidth waste.
  • any one or two of the bandwidth calculation module 30 and the packet loss rate calculation module 40 are added, as shown in FIG. 5 for details.
  • the bandwidth calculation module is configured to calculate the bandwidth estimation value according to the data transmission speed and the speed at which the data is confirmed to be received. Taking the round-trip delay RTT as the time granularity of bandwidth estimation, within a round-trip delay, the amount of data sent is set to S, and the amount of data confirmed by all ACKs is set to A, then the data receiving speed ackrate is taken as:
  • ackrate A/t_RTT;
  • the data receiving speed is actually the speed at which the data is confirmed to be received by the other party.
  • the data sending speed sendrate is:
  • t_RTT refers to the duration of the round-trip delay RTT.
  • the ack rate reflects the network bottleneck bandwidth.
  • the sending speed can be used as the upper limit of the bandwidth estimation, that is, the bandwidth estimation value bw est is:
  • bw est mm (sendrate, ackrate).
  • the packet loss rate calculation module is configured to calculate the random packet loss rate and the congested packet loss rate separately based on the Spike algorithm.
  • this application distinguishes random packet loss and congestion packet loss based on the Spike algorithm, and calculates the random packet loss rate and congestion packet loss rate on the basis of the distinction, so as to obtain the corresponding random packet loss Rate and congestion packet loss rate.
  • This application also provides a computer program for executing the congestion control method described in any one of FIGS. 1 to 3.
  • Fig. 6 is a block diagram showing an electronic device according to an exemplary embodiment.
  • the electronic device 600 may be a mobile phone, a computer, a digital broadcasting terminal, a messaging device, a game console, a tablet device, a medical device, a fitness device, a personal digital assistant, and other mobile devices.
  • the electronic device 600 may include one or more of the following components: a processing component 602, a memory 604, a power supply component 606, a multimedia component 609, an audio component 610, an input/output (I/O) interface 612, and a sensor component 614 , And communication component 616.
  • the processing component 602 generally controls the overall operations of the electronic device 600, such as operations associated with display, telephone calls, data communications, camera operations, and recording operations.
  • the processing component 602 may include One or more processors 620 execute instructions to complete all or part of the steps of the foregoing method.
  • the processing component 602 may include one or more modules to facilitate the interaction between the processing component 602 and other components.
  • the processing component 602 may include a multimedia module to facilitate the interaction between the multimedia component 609 and the processing component 602.
  • the memory 604 is configured to store various types of data to support operations in the device 600. Examples of these data include instructions for any application or method operating on the electronic device 600, contact data, phone book data, messages, pictures, videos, and the like.
  • the memory 604 can be implemented by any type of volatile or non-volatile storage device or their combination, such as SRAM (static random access memory), EEPROM (electrically erasable programmable read-only memory), EPROM (erasable Except for programmable read-only memory), PROM (programmable read-only memory), ROM (read only memory), magnetic memory, flash memory, magnetic disk or optical disk.
  • the power supply component 606 provides power to various components of the electronic device 600.
  • the power supply component 606 may include a power management system, one or more power supplies, and other components associated with the generation, management, and distribution of power for the electronic device 600.
  • the multimedia component 609 includes a screen that provides an output interface between the electronic device 600 and the user.
  • the screen may include an LCD (liquid crystal display) and a TP (touch panel). If the screen includes a touch panel, the screen can be implemented as a touch screen to receive input signals from the user.
  • the touch panel includes one or more touch sensors to sense touch, swipe, and gestures on the touch panel. The touch sensor may not only sense the boundary of a touch or slide action, but also detect the duration and pressure related to the touch or slide operation.
  • the multimedia component 609 includes a front camera and/or a rear camera. When the device 600 is in an operating mode, such as a shooting mode or a video mode, the front camera and/or the rear camera can receive external multimedia data. Each front camera and rear camera can be a fixed optical lens system or have focal length and optical zoom capabilities.
  • the audio component 610 is configured to output and/or input audio signals.
  • the audio component 610 includes a MIC (microphone).
  • the microphone is configured to receive an external audio signal. Audio message received The number can be further stored in the memory 604 or sent via the communication component 616.
  • the audio component 610 further includes a speaker for outputting audio signals.
  • the 1/0 interface 612 provides an interface between the processing component 602 and a peripheral interface module.
  • the above-mentioned peripheral interface module may be a keyboard, a click wheel, a button, and the like. These buttons may include but are not limited to: home button, volume button, start button, and lock button.
  • the sensor component 614 includes one or more sensors for providing the electronic device 600 with various state evaluations.
  • the sensor component 614 can detect the on/off state of the device 600 and the relative positioning of the components.
  • the component is the display and the keypad of the electronic device 600, and the sensor component 614 can also detect the electronic device 600 or the electronic device 600.
  • the position of the component changes, the presence or absence of contact between the user and the electronic device 600, the orientation or acceleration/deceleration of the electronic device 600, and the temperature change of the electronic device 600.
  • the sensor assembly 614 may include a proximity sensor, configured to detect the presence of nearby objects when there is no physical contact.
  • the sensor component 614 may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications.
  • the sensor component 614 may also include an acceleration sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.
  • the communication component 616 is configured to facilitate wired or wireless communication between the electronic device 600 and other devices.
  • the electronic device 600 can access a wireless network based on a communication standard, such as WiFi, an operator network (such as 2G, 3G, 4G, or 5G), or a combination thereof.
  • the communication component 616 receives a broadcast signal or broadcast related information from an external broadcast management system via a broadcast channel.
  • the communication component 616 further includes an NFC (Near Field Communication) module to facilitate short-range communication.
  • the NFC module can be implemented based on RFID (Radio Frequency Identification) technology, IrDA (Infrared Data Association) technology, UWB (Ultra Wide Band) technology, BT (Bluetooth) technology and other technologies.
  • the electronic device 600 may be implemented by one or more ASIC (application specific integrated circuit), DSP (digital signal processor), DSPD (digital signal processing device), PLD (programmable logic device), FPGA ( Field Programmable Gate Array), a controller, a microcontroller, a microprocessor or other electronic components are used to implement the congestion control method shown in any one of Figures 1 to 3.
  • ASIC application specific integrated circuit
  • DSP digital signal processor
  • DSPD digital signal processing device
  • PLD programmable logic device
  • FPGA Field Programmable Gate Array
  • a controller a microcontroller, a microprocessor or other electronic components are used to implement the congestion control method shown in any one of Figures 1 to 3.
  • a non-transitory computer-readable storage medium including instructions such as the memory 604 including instructions, and the foregoing instructions may be executed by the processor 620 of the electronic device 600 to complete the foregoing method.
  • the non-transitory computer-readable storage medium may be ROM, RAM (random access memory), CD-ROM,
  • Fig. 7 is a block diagram showing another electronic device according to an exemplary embodiment.
  • the electronic device 700 may be provided as a server.
  • the electronic device 700 includes a processing component 722, which further includes one or more processors, and a memory resource represented by a memory 732, for storing instructions that can be executed by the processing component 722, such as an application program.
  • the application program stored in the memory 732 may include one or more modules each corresponding to a set of instructions.
  • the processing component 722 is configured to execute instructions to execute the congestion control method shown in any one of FIGS. 1 to 3.
  • the electronic device 700 may also include a power component 726 configured to perform power management of the electronic device 700, a wired or wireless network interface 750 configured to connect the electronic device 700 to a network, and an I/O (input output) interface 758 .
  • the electronic device 700 can operate based on an operating system stored in the memory 732, such as Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM or the like.

Abstract

The present disclosure provides a congestion control method and apparatus, an electronic device, and a storage medium. Specifically, a target sending rate is calculated according to a bandwidth estimation value, a random packet loss rate, and a congestion packet loss rate of a previous time period; the sending rate of the next time period is controlled according to the obtained target sending rate. As the present application provides a compensation policy based on random packet loss, obvious underestimation of an observation bandwidth under a random packet loss scene is avoided, so that the bandwidth utilization rate is obviously increased, and the bandwidth waste is avoided.

Description

一种拥塞控制方法、 装置、 电子设备及存储介质 相关申请的交叉引用 A congestion control method, device, electronic equipment and storage medium Cross-reference of related applications
本申请要求在 2019年 01月 21日提交中国专利局、申请号为 201910054074.6、 申请名称为 “一种拥塞控制方法、 装置、 电子设备及存储介质” 的中国专利 申请的优先权, 其全部内容通过引用结合在本申请中。 This application claims the priority of a Chinese patent application filed with the Chinese Patent Office, the application number is 201910054074.6, and the application name is "a congestion control method, device, electronic equipment, and storage medium" on January 21, 2019. The entire content of the application is approved The reference is incorporated in this application.
技术领域 Technical field
本公开涉及互联网技术领域, 尤其涉及一种拥塞控制方法、 装置、 电子 设备及存储介质。 背景技术 The present disclosure relates to the field of Internet technology, and in particular, to a congestion control method, device, electronic device, and storage medium. Background technique
随着互联网规模及承载能力的增长, 发明人发现网络环境表现出带宽高、 延迟大的特性, 由于移动通信所占比重的日益提高, 导致网络的数据传输过 程发生更大概率的随机丟包, 从而导致观测带宽往往低于实际瓶颈带宽, 而 网络中的发送端是根据观察带宽对数据的发送速度进行控制, 从而造成极大 的带宽浪费。 发明内容 With the growth of the scale and carrying capacity of the Internet, the inventor found that the network environment exhibits the characteristics of high bandwidth and large delay. Due to the increasing proportion of mobile communications, the network data transmission process has a greater probability of random packet loss. As a result, the observation bandwidth is often lower than the actual bottleneck bandwidth, and the sending end in the network controls the data transmission speed according to the observation bandwidth, which causes a great waste of bandwidth. Summary of the invention
为克服相关技术中存在的问题, 本公开提供一种拥塞控制方法、 装置、 电子设备及存储介质。 In order to overcome the problems in the related art, the present disclosure provides a congestion control method, device, electronic equipment, and storage medium.
第一方面, 提供一种拥塞控制方法, 包括步骤: In the first aspect, a congestion control method is provided, including the steps:
根据上一时段的带宽估计值、 随机丟包率和拥塞丟包率计算目标发送速 率; Calculate the target sending rate based on the estimated bandwidth, random packet loss rate and congestion packet loss rate in the previous period;
根据所述目标发送速率控制下一时段的发送速率。 Control the sending rate in the next period according to the target sending rate.
第二方面, 提供一种拥塞控制装置, 包括: In a second aspect, a congestion control device is provided, including:
速率计算模块, 被配置为根据上一时段的带宽估计值、 随机丟包率和拥 塞丟包率计算目标发送速率; The rate calculation module is configured to estimate the bandwidth, random packet loss rate and congestion in the previous period. Congestion packet loss rate calculation target sending rate;
发送控制模块, 被配置为根据所述目标发送速率控制下一时段的发送速 率。 The sending control module is configured to control the sending rate in the next time period according to the target sending rate.
第三方面, 提供一种电子设备, 包括: In a third aspect, an electronic device is provided, including:
存储器, 用于存储计算机程序, 以及执行所述计算机程序产生的候选中 间数据以及结果数据; A memory for storing computer programs, candidate intermediate data and result data generated by executing the computer programs;
处理器, 用于根据上一时段的带宽估计值、 随机丟包率和拥塞丟包率计 算目标发送速率; The processor is used to calculate the target sending rate according to the bandwidth estimate value, random packet loss rate and congestion packet loss rate in the previous period;
根据所述目标发送速率控制下一时段的发送速率。 Control the sending rate in the next period according to the target sending rate.
第四方面, 提供一种计算机可读存储介质, 其上承载一个或多个计算机 指令程序, 所述计算机指令程序被一个或多个处理器执行时, 所述一个或多 个处理器执行第一方面所述的方法。 In a fourth aspect, a computer-readable storage medium is provided, which carries one or more computer instruction programs. When the computer instruction programs are executed by one or more processors, the one or more processors execute the first The method described in the aspect.
第五方面,提供一种计算机程序, 包括如第一方面所述的拥塞控制方法。 本公开的实施例提供的技术方案可以包括以下有益效果: 由于本申请提 出了基于随机丟包的补偿策略, 能够避免观察带宽在随机丟包场景下被明显 低估, 从而使得带宽利用率明显得到提升, 进而避免带宽浪费。 附图说明 In a fifth aspect, a computer program is provided, including the congestion control method described in the first aspect. The technical solutions provided by the embodiments of the present disclosure may include the following beneficial effects: Since this application proposes a compensation strategy based on random packet loss, it is possible to prevent the observation bandwidth from being significantly underestimated in the random packet loss scenario, thereby significantly improving bandwidth utilization , Thereby avoiding bandwidth waste. Description of the drawings
此处的附图被并入说明书中并构成本说明书的一部分, 示出了符合本申 请实施例, 并与说明书一起用于解释本申请实施例的原理。 The drawings here are incorporated into the specification and constitute a part of the specification, show embodiments in accordance with the application, and are used together with the specification to explain the principles of the embodiments of the application.
图 1是根据一示例性实施例示出的一种拥塞控制方法的流程图; 图 2是根据一示例性实施例示出的另一种拥塞控制方法的流程图; 图 3是根据一示例性实施例示出的又一种拥塞控制方法的流程图; 图 4是根据一示例性实施例示出的一种拥塞控制装置的框图; Fig. 1 is a flow chart showing a method for congestion control according to an exemplary embodiment; Fig. 2 is a flow chart showing another method for congestion control according to an exemplary embodiment; Fig. 3 is a flow chart showing according to an exemplary embodiment A flow chart of yet another congestion control method is shown; Fig. 4 is a block diagram of a congestion control device according to an exemplary embodiment;
图 5是根据一示例性实施例示出的另一种拥塞控制方法的框图; 图 6是根据一示例性实施例示出的一种电子设备的框图; Fig. 5 is a block diagram showing another congestion control method according to an exemplary embodiment; Fig. 6 is a block diagram showing an electronic device according to an exemplary embodiment;
图 7是根据一示例性实施例示出的另一种电子设备的框图。 具体实施方式 Fig. 7 is a block diagram showing another electronic device according to an exemplary embodiment. detailed description
这里将详细地对示例性实施例进行说明, 其示例表示在附图中。 下面的 描述涉及附图时, 除非另有表示, 不同附图中的相同数字表示相同或相似的 要素。 以下示例性实施例中所描述的实施方式并不代表与本申请实施例相一 致的所有实施方式。 相反, 它们仅是与如所附权利要求书中所详述的、 本申 请实施例的一些方面相一致的装置和方法的例子。 The exemplary embodiments will be described in detail here, and examples thereof are shown in the accompanying drawings. When the following description refers to the accompanying drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The implementation manners described in the following exemplary embodiments do not represent all implementation manners that are consistent with the embodiments of the present application. On the contrary, they are merely examples of devices and methods consistent with some aspects of the embodiments of the present application as detailed in the appended claims.
图 1是根据一示例性实施例示出的一种拥塞控制方法的流程图。 Fig. 1 is a flow chart showing a method for congestion control according to an exemplary embodiment.
如图 1 所示, 该拥塞控制方法用于互联网的终端中, 该终端可以理解为 互联网中相应链路的发送端, 具体可以为互联网的服务器, 也可以为提供数 据发送的客户端, 该拥塞控制方法包括以下步骤。 As shown in Figure 1, the congestion control method is used in a terminal on the Internet. The terminal can be understood as the sender of a corresponding link in the Internet. Specifically, it can be a server on the Internet or a client that provides data transmission. The control method includes the following steps.
S1、 根据上一时段的带宽估计值、 随机丟包率和拥塞丟包率计算目标发 送速率。 S1. Calculate the target transmission rate based on the estimated bandwidth, random packet loss rate and congestion packet loss rate in the previous period.
这里上一时段是指近邻当前时刻的上一个时间粒度, 本申请的时间粒度 优选互联网中一个往返时延 RTT的时长, 在符合统一计时单位的前提下, 也 可以选用其他时间长度作为该时间粒度。 The last time period here refers to the previous time granularity of the current time of the neighbor. The time granularity of this application is preferably the time length of a round trip delay RTT in the Internet. Under the premise of conforming to the unified timing unit, other time lengths can also be selected as the time granularity .
带宽估计值是指根据当前带宽的参数计算所得的带宽的估值。 随机丟包 是链路物理因素造成的不可避免的随机丟包, 如频段冲突、 信号弱等, 其丟 包概率只与物理链路特性有关, 随机丟包所占全部数据包的比例即为随机丟 包率; 拥塞丟包是由于发送速率超过瓶颈带宽限制形成网络拥塞造成的拥塞 丟包, 表现为拥塞发生时突发连续的丟包, 拥塞丟包所占全部所发数据包的 比例即为拥塞丟包率。 The bandwidth estimate refers to an estimate of the bandwidth calculated according to the parameters of the current bandwidth. Random packet loss is the inevitable random packet loss caused by link physical factors, such as frequency band conflict, weak signal, etc. Its packet loss probability is only related to the physical link characteristics, and the proportion of random packet loss in all data packets is random Packet loss rate; Congestion packet loss is caused by network congestion caused by the transmission rate exceeding the bottleneck bandwidth limit. It is manifested as burst and continuous packet loss when congestion occurs. The proportion of congestion packet loss in all sent data packets is Congestion packet loss rate.
在取得该上一时段的带宽估计值、 随机丟包率和拥塞丟包率的情况下, 根据预设的算法进行计算, 从而得到相应的目标发
Figure imgf000005_0001
以便作 为下一时段的发送依据。
After obtaining the bandwidth estimation value, random packet loss rate and congestion packet loss rate of the previous period, calculate according to the preset algorithm, thereby obtaining the corresponding target transmission
Figure imgf000005_0001
In order to serve as the basis for the next period of time.
具体来说, 当拥塞丟包率为零、 随机丟包率大于零时候, 根据带宽估计 值和随机丟包率计算真实瓶颈带宽 bwreal, 并将真实瓶颈带宽输出为目标发送 速率 target_rate] 即 target_rate=bwKai = bwest/ ( \-lrand )\ Specifically, when the congestion packet loss rate is zero and the random packet loss rate is greater than zero, the real bottleneck bandwidth bw real is calculated according to the estimated bandwidth and the random packet loss rate, and the real bottleneck bandwidth is output as the target sending rate target_rate] That is target_rate=bw Kai = bw est / (\-l rand )\
其中, Zww为带宽估计值, / 为随机丟包率。 Among them, Zww is the estimated bandwidth and / is the random packet loss rate.
当拥塞丟包率大于零且随机丟包率大于零时, 将带宽估计值输出为该目 标发送速率; When the congested packet loss rate is greater than zero and the random packet loss rate is greater than zero, output the bandwidth estimate as the target sending rate;
P target_rate=bw realP target_rate=bw real .
S2、 根据目标发送速率控制下一时段的发送速率。 S2. Control the sending rate of the next period according to the target sending rate.
即在服务器向客户端或者客户端向服务器发送时, 将下一时段的发送速 率控制在该目标发送速率或者该目标发送速率之下。 以实现对带宽的最大利 用率。 That is, when the server sends to the client or the client to the server, the sending rate of the next period is controlled to be below the target sending rate or the target sending rate. In order to achieve maximum utilization of bandwidth.
该下一时段指的是当前时刻的下一时间粒度, 对于本申请来说, 是指当 前时刻的下一个往返时延 RTT。 The next time period refers to the next time granularity at the current time, and for this application, it refers to the next round-trip delay RTT at the current time.
从上述技术方案可以看出, 本申请提供了一种拥塞控制方法, 具体为根 据上一时段的带宽估计值、 随机丟包率和拥塞丟包率计算目标发送速率; 然 后根据得到的目标发送速率控制下一时段的发送速率。 由于本申请提出了基 于随机丟包的补偿策略, 能够避免观察带宽在随机丟包场景下被明显低估, 从而使得带宽利用率明显得到提升, 进而避免带宽浪费。 It can be seen from the above technical solutions that the present application provides a congestion control method, specifically calculating the target sending rate according to the bandwidth estimation value, random packet loss rate and congestion loss rate of the previous period; and then according to the obtained target sending rate Control the sending rate for the next period. Since this application proposes a compensation strategy based on random packet loss, it is possible to prevent the observation bandwidth from being significantly underestimated in a random packet loss scenario, thereby significantly improving bandwidth utilization and avoiding bandwidth waste.
另外, 本申请还提供如下的具体实施方式。 In addition, this application also provides the following specific implementations.
图 2是根据一示例性实施例示出的另一种拥塞控制方法的流程图。 Fig. 2 is a flow chart showing another congestion control method according to an exemplary embodiment.
如图 2所示, 该拥塞控制方法用于互联网的终端中, 该终端可以理解为 互联网中相应链路的发送端, 具体可以为互联网的服务器, 也可以为提供数 据发送的客户端, 该拥塞控制方法包括以下步骤。 As shown in Figure 2, the congestion control method is used in a terminal on the Internet. The terminal can be understood as the sender of a corresponding link in the Internet. Specifically, it can be a server on the Internet or a client that provides data transmission. The control method includes the following steps.
S00、 根据数据接收速度和数据发送速度计算所述带宽估计值。 S00: Calculate the bandwidth estimation value according to the data receiving speed and the data sending speed.
以往返时延 RTT作为带宽估计的时间粒度, 在一个往返时延内, 假设发 送的数据量为 S, 所有 ACK确认了的数据量为 A, 则取数据接收速度 ackrate 为: Taking the round-trip delay RTT as the time granularity of bandwidth estimation, within a round-trip delay, assuming that the amount of data sent is S and the amount of data confirmed by all ACKs is A, then the data receiving speed ackrate is taken as:
ackrate= A/t_RTT ; 这里数据接收速度实际为数据被对方确认接收的速 数据发送速度 sendrate为: ackrate = A/t_RTT; Here the data receiving speed is actually the speed at which the data is confirmed to be received by the other party The data sending speed sendrate is:
sendrate= S/t_RTT; sendrate = S/t_RTT;
其中, t_RTT指的是该往返时延 RTT的时长。 Among them, t_RTT refers to the duration of the round-trip delay RTT.
理论上 ack rate反映了网络瓶颈带宽。为了避免单个往返时延内数据波动 对接收速度的影响,可以以发送速度作为带宽估计的上限,即带宽估计值 bwesl 为: Theoretically, the ack rate reflects the network bottleneck bandwidth. In order to avoid the impact of data fluctuations within a single round-trip delay on the receiving speed, the sending speed can be used as the upper limit of the bandwidth estimation, that is, the bandwidth estimation value bw esl is:
bwest=mm (sendrate, ackrate) 。 bw est =mm (sendrate, ackrate).
51、 根据上一时段的带宽估计值、 随机丟包率和拥塞丟包率计算目标发 送速率。 51. Calculate the target sending rate based on the estimated bandwidth, random packet loss rate and congestion packet loss rate in the previous period.
这里上一时段是指近邻当前时刻的上一个时间粒度, 本申请的时间粒度 优选互联网中一个往返时延 RTT的时长, 在符合统一计时单位的前提下, 也 可以选用其他时间长度作为该时间粒度。 The last time period here refers to the previous time granularity of the current time of the neighbor. The time granularity of this application is preferably the time length of a round trip delay RTT in the Internet. Under the premise of conforming to the unified timing unit, other time lengths can also be selected as the time granularity .
带宽估计值是指根据当前带宽的参数计算所得的带宽的估值。 随机丟包 是链路物理因素造成的不可避免的随机丟包, 如频段冲突、 信号弱等, 其丟 包概率只与物理链路特性有关, 随机丟包所占全部数据包的比例即为随机丟 包率; 拥塞丟包是由于发送速率超过瓶颈带宽限制形成网络拥塞造成的拥塞 丟包, 表现为拥塞发生时突发连续的丟包, 拥塞丟包所占全部所发数据包的 比例即为拥塞丟包率。 The bandwidth estimate refers to an estimate of the bandwidth calculated according to the parameters of the current bandwidth. Random packet loss is the inevitable random packet loss caused by link physical factors, such as frequency band conflict, weak signal, etc. Its packet loss probability is only related to the physical link characteristics, and the proportion of random packet loss in all data packets is random Packet loss rate; Congestion packet loss is caused by network congestion caused by the transmission rate exceeding the bottleneck bandwidth limit. It is manifested as burst and continuous packet loss when congestion occurs. The proportion of congestion packet loss in all sent data packets is Congestion packet loss rate.
在取得该上一时段的带宽估计值、 随机丟包率和拥塞丟包率的情况下, 根据预设的算法进行计算, 从而得到相应的目标发
Figure imgf000007_0001
以便作 为下一时段的发送依据。
After obtaining the bandwidth estimation value, random packet loss rate and congestion packet loss rate of the previous period, calculate according to the preset algorithm, thereby obtaining the corresponding target transmission
Figure imgf000007_0001
In order to serve as the basis for the next period of time.
52、 根据目标发送速率控制下一时段的发送速率。 52. Control the sending rate in the next period according to the target sending rate.
即在服务器向客户端或者客户端向服务器发送时, 将下一时段的发送速 率控制在该目标发送速率或者该目标发送速率之下。 以实现对带宽的最大利 用率。 That is, when the server sends to the client or the client to the server, the sending rate of the next period is controlled to be below the target sending rate or the target sending rate. In order to achieve maximum utilization of bandwidth.
该下一时段指的是当前时刻的下一时间粒度, 对于本申请来说, 是指当 前时刻的下一个往返时延 RTT。 从上述技术方案可以看出, 本申请提供了一种拥塞控制方法, 具体为根 据上一时段的带宽估计值、 随机丟包率和拥塞丟包率计算目标发送速率; 然 后根据得到的目标发送速率控制下一时段的发送速率。 由于本申请提出了基 于随机丟包的补偿策略, 能够避免观察带宽在随机丟包场景下被明显低估, 从而使得带宽利用率明显得到提升, 进而避免带宽浪费。 The next time period refers to the next time granularity at the current time, and for this application, it refers to the next round-trip delay RTT at the current time. It can be seen from the above technical solutions that the present application provides a congestion control method, specifically calculating the target sending rate according to the bandwidth estimation value, random packet loss rate and congestion loss rate of the previous period; and then according to the obtained target sending rate Control the sending rate for the next period. Since this application proposes a compensation strategy based on random packet loss, it is possible to avoid the observation that the bandwidth is significantly underestimated in a random packet loss scenario, thereby significantly improving bandwidth utilization and avoiding bandwidth waste.
图 3是根据一示例性实施例示出的又一种拥塞控制方法的流程图。 Fig. 3 is a flowchart showing yet another method for congestion control according to an exemplary embodiment.
如图 3 所示, 该拥塞控制方法用于互联网的终端中, 该终端可以理解为 互联网中相应链路的发送端, 具体可以为互联网的服务器, 也可以为提供数 据发送的客户端, 该拥塞控制方法包括以下步骤。 As shown in Figure 3, the congestion control method is used in a terminal on the Internet. The terminal can be understood as the sender of a corresponding link in the Internet. Specifically, it can be a server on the Internet or a client that provides data transmission. The control method includes the following steps.
S01 , 基于 Spike算法分别计算随机丟包率和拥塞丟包率。 S01: Calculate the random packet loss rate and the congested packet loss rate separately based on the Spike algorithm.
在发生丟包的情况下,本申请基于 Spike算法对随机丟包和拥塞丟包进行 区分, 在区分的基础上对随机丟包率和拥塞丟包率分别进行计算, 从而得到 相应的随机丟包率和拥塞丟包率。 In the case of packet loss, this application distinguishes random packet loss and congestion packet loss based on the Spike algorithm, and calculates the random packet loss rate and congestion packet loss rate on the basis of the distinction, so as to obtain the corresponding random packet loss Rate and congestion packet loss rate.
S1、 根据上一时段的带宽估计值、 随机丟包率和拥塞丟包率计算目标发 送速率。 S1. Calculate the target transmission rate based on the estimated bandwidth, random packet loss rate and congestion packet loss rate in the previous period.
这里上一时段是指近邻当前时刻的上一个时间粒度, 本申请的时间粒度 优选互联网中一个往返时延 RTT的时长, 在符合统一计时单位的前提下, 也 可以选用其他时间长度作为该时间粒度。 The last time period here refers to the previous time granularity of the current time of the neighbor. The time granularity of this application is preferably the time length of a round trip delay RTT in the Internet. Under the premise of conforming to the unified timing unit, other time lengths can also be selected as the time granularity .
带宽估计值是指根据当前带宽的参数计算所得的带宽的估值。 随机丟包 是链路物理因素造成的不可避免的随机丟包, 如频段冲突、 信号弱等, 其丟 包概率只与物理链路特性有关, 随机丟包所占全部数据包的比例即为随机丟 包率; 拥塞丟包是由于发送速率超过瓶颈带宽限制形成网络拥塞造成的拥塞 丟包, 表现为拥塞发生时突发连续的丟包, 拥塞丟包所占全部所发数据包的 比例即为拥塞丟包率。 The bandwidth estimate refers to an estimate of the bandwidth calculated according to the parameters of the current bandwidth. Random packet loss is the inevitable random packet loss caused by link physical factors, such as frequency band conflict, weak signal, etc. Its packet loss probability is only related to the physical link characteristics, and the proportion of random packet loss in all data packets is random Packet loss rate; Congestion packet loss is caused by network congestion caused by the transmission rate exceeding the bottleneck bandwidth limit. It is manifested as burst and continuous packet loss when congestion occurs. The proportion of congestion packet loss in all sent data packets is Congestion packet loss rate.
在取得该上一时段的带宽估计值、 随机丟包率和拥塞丟包率的情况下, 根据预设的算法进行计算, 从而得到相应的目标发
Figure imgf000008_0001
以便作 为下一时段的发送依据。 S2、 根据目标发送速率控制下一时段的发送速率。
After obtaining the bandwidth estimation value, random packet loss rate and congestion packet loss rate of the previous period, calculate according to the preset algorithm, thereby obtaining the corresponding target transmission
Figure imgf000008_0001
In order to serve as the basis for the next period of time. S2. Control the sending rate of the next period according to the target sending rate.
即在服务器向客户端或者客户端向服务器发送时, 将下一时段的发送速 率控制在该目标发送速率或者该目标发送速率之下。 以实现对带宽的最大利 用率。 That is, when the server sends to the client or the client to the server, the sending rate of the next period is controlled to be below the target sending rate or the target sending rate. In order to achieve maximum utilization of bandwidth.
该下一时段指的是当前时刻的下一时间粒度, 对于本申请来说, 是指当 前时刻的下一个往返时延 RTT。 The next time period refers to the next time granularity at the current time, and for this application, it refers to the next round-trip delay RTT at the current time.
从上述技术方案可以看出, 本申请提供了一种拥塞控制方法, 具体为根 据上一时段的带宽估计值、 随机丟包率和拥塞丟包率计算目标发送速率; 然 后根据得到的目标发送速率控制下一时段的发送速率。 由于本申请提出了基 于随机丟包的补偿策略, 能够避免观察带宽在随机丟包场景下被明显低估, 从而使得带宽利用率明显得到提升, 进而避免带宽浪费。 It can be seen from the above technical solutions that the present application provides a congestion control method, specifically calculating the target sending rate according to the bandwidth estimation value, random packet loss rate and congestion loss rate of the previous period; and then according to the obtained target sending rate Control the sending rate for the next period. Since this application proposes a compensation strategy based on random packet loss, it is possible to prevent the observation bandwidth from being significantly underestimated in a random packet loss scenario, thereby significantly improving bandwidth utilization and avoiding bandwidth waste.
图 4是根据一示例性实施例示出的一种拥塞控制装置的框图。 Fig. 4 is a block diagram showing a congestion control device according to an exemplary embodiment.
如图 4所示, 该拥塞控制装置用于互联网的终端中, 该终端可以理解为 互联网中相应链路的发送端, 具体可以为互联网的服务器, 也可以为提供数 据发送的客户端, 该拥塞控制装置包括速率计算模块 10和发送控制模块 20。 As shown in Figure 4, the congestion control device is used in a terminal on the Internet. The terminal can be understood as the sender of a corresponding link in the Internet. Specifically, it can be a server on the Internet or a client that provides data transmission. The control device includes a rate calculation module 10 and a transmission control module 20.
速率计算模块被配置为根据上一时段的带宽估计值、 随机丟包率和拥塞 丟包率计算目标发送速率。 The rate calculation module is configured to calculate the target sending rate based on the estimated bandwidth, random packet loss rate and congestion packet loss rate in the previous period.
这里上一时段是指近邻当前时刻的上一个时间粒度, 本申请的时间粒度 优选互联网中一个往返时延 RTT的时长, 在符合统一计时单位的前提下, 也 可以选用其他时间长度作为该时间粒度。 The last time period here refers to the previous time granularity of the current time of the neighbor. The time granularity of this application is preferably the time length of a round trip delay RTT in the Internet. Under the premise of conforming to the unified timing unit, other time lengths can also be selected as the time granularity .
带宽估计值是指根据当前带宽的参数计算所得的带宽的估值。 随机丟包 是链路物理因素造成的不可避免的随机丟包, 如频段冲突、 信号弱等, 其丟 包概率只与物理链路特性有关, 随机丟包所占全部数据包的比例即为随机丟 包率; 拥塞丟包是由于发送速率超过瓶颈带宽限制形成网络拥塞造成的拥塞 丟包, 表现为拥塞发生时突发连续的丟包, 拥塞丟包所占全部所发数据包的 比例即为拥塞丟包率。 The bandwidth estimate refers to an estimate of the bandwidth calculated according to the parameters of the current bandwidth. Random packet loss is the inevitable random packet loss caused by link physical factors, such as frequency band conflict, weak signal, etc. Its packet loss probability is only related to the physical link characteristics, and the proportion of random packet loss in all data packets is random Packet loss rate; Congestion packet loss is caused by network congestion caused by the transmission rate exceeding the bottleneck bandwidth limit. It is manifested as burst and continuous packet loss when congestion occurs. The proportion of congestion packet loss in all sent data packets is Congestion packet loss rate.
在取得该上一时段的带宽估计值、 随机丟包率和拥塞丟包率的情况下, 根据预设的算法进行计算, 从而得到相应的目标发送速率 以便作 为下一时段的发送依据。 After obtaining the estimated bandwidth, random packet loss rate, and congestion packet loss rate for the previous period, The calculation is performed according to the preset algorithm, and the corresponding target sending rate is obtained as the sending basis for the next time period.
具体来说, 该模块包括第一计算单元和第二计算单元。 第一计算单元被 配置为当拥塞丟包率为零、 随机丟包率大于零时, 根据带宽估计值和随机丟 包率计算真实瓶颈带宽 bwreal , 并将真实瓶颈带宽输出为目标发送速率 target_rate., Specifically, the module includes a first calculation unit and a second calculation unit. The first calculation unit is configured to calculate the real bottleneck bandwidth bw real according to the estimated bandwidth and the random packet loss rate when the congested packet loss rate is zero and the random packet loss rate is greater than zero, and output the real bottleneck bandwidth as the target sending rate target_rate .,
即 target_rate=bwKal = bwest/ ( l-lrand ); That is, target_rate=bw Kal = bw est / (ll rand );
其中, Zww为带宽估计值,
Figure imgf000010_0001
Among them, Zww is the estimated bandwidth,
Figure imgf000010_0001
第二计算模块则被配置为当拥塞丟包率大于零且随机丟包率大于零时, 将带宽估计值输出为该目标发送速率; The second calculation module is configured to output the bandwidth estimate as the target sending rate when the congested packet loss rate is greater than zero and the random packet loss rate is greater than zero;
P target_rate=bw realP target_rate=bw real .
发送控制模块被配置为根据目标发送速率控制下一时段的发送速率。 即在服务器向客户端或者客户端向服务器发送时, 将下一时段的发送速 率控制在该目标发送速率或者该目标发送速率之下。 以实现对带宽的最大利 用率。 The sending control module is configured to control the sending rate in the next period according to the target sending rate. That is, when the server sends to the client or the client to the server, the sending rate of the next period is controlled to be below the target sending rate or the target sending rate. In order to achieve maximum utilization of bandwidth.
该下一时段指的是当前时刻的下一时间粒度, 对于本申请来说, 是指当 前时刻的下一个往返时延 RTT。 The next time period refers to the next time granularity at the current time, and for this application, it refers to the next round-trip delay RTT at the current time.
从上述技术方案可以看出, 本申请提供了一种拥塞控制装置, 具体为根 据上一时段的带宽估计值、 随机丟包率和拥塞丟包率计算目标发送速率; 然 后根据得到的目标发送速率控制下一时段的发送速率。 由于本申请提出了基 于随机丟包的补偿策略, 能够避免观察带宽在随机丟包场景下被明显低估, 从而使得带宽利用率明显得到提升, 进而避免带宽浪费。 It can be seen from the above technical solutions that the present application provides a congestion control device, which specifically calculates the target sending rate according to the bandwidth estimation value, random packet loss rate and congestion loss rate of the previous period; and then according to the obtained target sending rate Control the sending rate for the next period. Since this application proposes a compensation strategy based on random packet loss, it is possible to prevent the observation bandwidth from being significantly underestimated in a random packet loss scenario, thereby significantly improving bandwidth utilization and avoiding bandwidth waste.
另外, 本申请还提供如下的具体实施方式。 In addition, this application also provides the following specific implementations.
在上一实施例的基础上, 增设了带宽计算模块 30 和丟包率计算模块 40 中的任意一个或者两个, 具体如图 5所示。 On the basis of the previous embodiment, any one or two of the bandwidth calculation module 30 and the packet loss rate calculation module 40 are added, as shown in FIG. 5 for details.
带宽计算模块被配置为根据数据发送速度和数据被确认接收的速度计算 带宽估计值。 以往返时延 RTT作为带宽估计的时间粒度, 在一个往返时延内, 彳艮设发 送的数据量为 S, 所有 ACK确认了的数据量为 A, 则取数据接收速度 ackrate 为: The bandwidth calculation module is configured to calculate the bandwidth estimation value according to the data transmission speed and the speed at which the data is confirmed to be received. Taking the round-trip delay RTT as the time granularity of bandwidth estimation, within a round-trip delay, the amount of data sent is set to S, and the amount of data confirmed by all ACKs is set to A, then the data receiving speed ackrate is taken as:
ackrate= A/t_RTT ; 这里数据接收速度实际为数据被对方确认接收的速 数据发送速度 sendrate为: ackrate= A/t_RTT; Here the data receiving speed is actually the speed at which the data is confirmed to be received by the other party. The data sending speed sendrate is:
sendrate: S/t_RTT; sendrate: S/t_RTT;
其中, t_RTT指的是该往返时延 RTT的时长。 Among them, t_RTT refers to the duration of the round-trip delay RTT.
理论上 ack rate反映了网络瓶颈带宽。 为了避免单个往返时延内数据波动 对接收速度的影响,可以以发送速度作为带宽估计的上限,即带宽估计值 bwest 为: Theoretically, the ack rate reflects the network bottleneck bandwidth. In order to avoid the impact of data fluctuations on the receiving speed within a single round-trip delay, the sending speed can be used as the upper limit of the bandwidth estimation, that is, the bandwidth estimation value bw est is:
bwest=mm (sendrate, ackrate) 。 bw est =mm (sendrate, ackrate).
丟包率计算模块被配置为基于 Spike 算法分别计算随机丟包率和拥塞丟 包率。 The packet loss rate calculation module is configured to calculate the random packet loss rate and the congested packet loss rate separately based on the Spike algorithm.
在发生丟包的情况下,本申请基于 Spike算法对随机丟包和拥塞丟包进行 区分, 在区分的基础上对随机丟包率和拥塞丟包率分别进行计算, 从而得到 相应的随机丟包率和拥塞丟包率。 In the case of packet loss, this application distinguishes random packet loss and congestion packet loss based on the Spike algorithm, and calculates the random packet loss rate and congestion packet loss rate on the basis of the distinction, so as to obtain the corresponding random packet loss Rate and congestion packet loss rate.
本申请还提供了一种计算机程序, 用于执行如图 1~3任一项所述的拥塞 控制方法。 This application also provides a computer program for executing the congestion control method described in any one of FIGS. 1 to 3.
图 6是根据一示例性实施例示出的一种电子设备的框图。 例如, 电子设 备 600可以是移动电话, 计算机, 数字广播终端, 消息收发设备, 游戏控制 台, 平板设备, 医疗设备, 健身设备, 个人数字助理等移动设备。 Fig. 6 is a block diagram showing an electronic device according to an exemplary embodiment. For example, the electronic device 600 may be a mobile phone, a computer, a digital broadcasting terminal, a messaging device, a game console, a tablet device, a medical device, a fitness device, a personal digital assistant, and other mobile devices.
参照图 6, 电子设备 600可以包括以下一个或多个组件: 处理组件 602, 存储器 604, 电源组件 606, 多媒体组件 609, 音频组件 610, 输入 /输出 ( I/ O ) 的接口 612, 传感器组件 614, 以及通信组件 616。 6, the electronic device 600 may include one or more of the following components: a processing component 602, a memory 604, a power supply component 606, a multimedia component 609, an audio component 610, an input/output (I/O) interface 612, and a sensor component 614 , And communication component 616.
处理组件 602通常控制电子设备 600的整体操作, 诸如与显示, 电话呼 叫, 数据通信, 相机操作和记录操作相关联的操作。 处理组件 602 可以包括 一个或多个处理器 620 来执行指令, 以完成上述的方法的全部或部分步骤。 此外, 处理组件 602可以包括一个或多个模块, 便于处理组件 602和其他组 件之间的交互。 例如, 处理组件 602可以包括多媒体模块, 以方便多媒体组 件 609和处理组件 602之间的交互。 The processing component 602 generally controls the overall operations of the electronic device 600, such as operations associated with display, telephone calls, data communications, camera operations, and recording operations. The processing component 602 may include One or more processors 620 execute instructions to complete all or part of the steps of the foregoing method. In addition, the processing component 602 may include one or more modules to facilitate the interaction between the processing component 602 and other components. For example, the processing component 602 may include a multimedia module to facilitate the interaction between the multimedia component 609 and the processing component 602.
存储器 604被配置为存储各种类型的数据以支持在设备 600的操作。 这 些数据的示例包括用于在电子设备 600上操作的任何应用程序或方法的指令, 联系人数据, 电话簿数据, 消息, 图片, 视频等。 存储器 604可以由任何类 型的易失性或非易失性存储设备或者它们的组合实现, 如 SRAM(静态随机 存取存储器), EEPROM(电可擦除可编程只读存储器), EPROM(可擦除 可编程只读存储器), PROM(可编程只读存储器), ROM(只读存储器), 磁存储器, 快闪存储器, 磁盘或光盘。 The memory 604 is configured to store various types of data to support operations in the device 600. Examples of these data include instructions for any application or method operating on the electronic device 600, contact data, phone book data, messages, pictures, videos, and the like. The memory 604 can be implemented by any type of volatile or non-volatile storage device or their combination, such as SRAM (static random access memory), EEPROM (electrically erasable programmable read-only memory), EPROM (erasable Except for programmable read-only memory), PROM (programmable read-only memory), ROM (read only memory), magnetic memory, flash memory, magnetic disk or optical disk.
电源组件 606为电子设备 600的各种组件提供电力。 电源组件 606可以 包括电源管理系统, 一个或多个电源, 及其他与为电子设备 600生成、 管理 和分配电力相关联的组件。 The power supply component 606 provides power to various components of the electronic device 600. The power supply component 606 may include a power management system, one or more power supplies, and other components associated with the generation, management, and distribution of power for the electronic device 600.
多媒体组件 609 包括在所述电子设备 600和用户之间的提供一个输出接 口的屏幕。 在一些实施例中, 屏幕可以包括 LCD(液晶显示器)和 TP(触摸 面板)。 如果屏幕包括触摸面板, 屏幕可以被实现为触摸屏, 以接收来自用户 的输入信号。 触摸面板包括一个或多个触摸传感器以感测触摸、 滑动和触摸 面板上的手势。 所述触摸传感器可以不仅感测触摸或滑动动作的边界, 而且 还检测与所述触摸或滑动操作相关的持续时间和压力。 在一些实施例中, 多 媒体组件 609包括一个前置摄像头和 /或后置摄像头。 当设备 600处于操作模 式, 如拍摄模式或视频模式时, 前置摄像头和 /或后置摄像头可以接收外部的 多媒体数据。 每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统 或具有焦距和光学变焦能力。 The multimedia component 609 includes a screen that provides an output interface between the electronic device 600 and the user. In some embodiments, the screen may include an LCD (liquid crystal display) and a TP (touch panel). If the screen includes a touch panel, the screen can be implemented as a touch screen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touch, swipe, and gestures on the touch panel. The touch sensor may not only sense the boundary of a touch or slide action, but also detect the duration and pressure related to the touch or slide operation. In some embodiments, the multimedia component 609 includes a front camera and/or a rear camera. When the device 600 is in an operating mode, such as a shooting mode or a video mode, the front camera and/or the rear camera can receive external multimedia data. Each front camera and rear camera can be a fixed optical lens system or have focal length and optical zoom capabilities.
音频组件 610被配置为输出和 /或输入音频信号。 例如, 音频组件 610包 括一个 MIC(麦克风), 当电子设备 600处于操作模式, 如呼叫模式、 记录模 式和语音识别模式时, 麦克风被配置为接收外部音频信号。 所接收的音频信 号可以被进一步存储在存储器 604或经由通信组件 616发送。 在一些实施例 中, 音频组件 610还包括一个扬声器, 用于输出音频信号。 The audio component 610 is configured to output and/or input audio signals. For example, the audio component 610 includes a MIC (microphone). When the electronic device 600 is in an operation mode, such as a call mode, a recording mode, and a voice recognition mode, the microphone is configured to receive an external audio signal. Audio message received The number can be further stored in the memory 604 or sent via the communication component 616. In some embodiments, the audio component 610 further includes a speaker for outputting audio signals.
1/ 0接口 612为处理组件 602和外围接口模块之间提供接口,上述外围接 口模块可以是键盘, 点击轮, 按钮等。 这些按钮可包括但不限于: 主页按钮、 音量按钮、 启动按钮和锁定按钮。 The 1/0 interface 612 provides an interface between the processing component 602 and a peripheral interface module. The above-mentioned peripheral interface module may be a keyboard, a click wheel, a button, and the like. These buttons may include but are not limited to: home button, volume button, start button, and lock button.
传感器组件 614 包括一个或多个传感器, 用于为电子设备 600提供各个 方面的状态评估。 例如, 传感器组件 614可以检测到设备 600的打开 /关闭状 态, 组件的相对定位, 例如所述组件为电子设备 600 的显示器和小键盘, 传 感器组件 614还可以检测电子设备 600或电子设备 600—个组件的位置改变, 用户与电子设备 600接触的存在或不存在, 电子设备 600方位或加速 /减速和 电子设备 600的温度变化。 传感器组件 614可以包括接近传感器, 被配置用 来在没有任何的物理接触时检测附近物体的存在。 传感器组件 614还可以包 括光传感器, 如 CMOS或 CCD图像传感器, 用于在成像应用中使用。 在一些 实施例中, 该传感器组件 614还可以包括加速度传感器, 陀螺仪传感器, 磁 传感器, 压力传感器或温度传感器。 The sensor component 614 includes one or more sensors for providing the electronic device 600 with various state evaluations. For example, the sensor component 614 can detect the on/off state of the device 600 and the relative positioning of the components. For example, the component is the display and the keypad of the electronic device 600, and the sensor component 614 can also detect the electronic device 600 or the electronic device 600. The position of the component changes, the presence or absence of contact between the user and the electronic device 600, the orientation or acceleration/deceleration of the electronic device 600, and the temperature change of the electronic device 600. The sensor assembly 614 may include a proximity sensor, configured to detect the presence of nearby objects when there is no physical contact. The sensor component 614 may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor component 614 may also include an acceleration sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.
通信组件 616被配置为便于电子设备 600和其他设备之间有线或无线方 式的通信。 电子设备 600可以接入基于通信标准的无线网络, 如 WiFi, 运营 商网络 (如 2G、 3G、 4G或 5G), 或它们的组合。 在一个示例性实施例中, 通信组件 616 经由广播信道接收来自外部广播管理系统的广播信号或广播相 关信息。 在一个示例性实施例中, 所述通信组件 616还包括 NFC(近场通信) 模块, 以促进短程通信。 例如, 在 NFC模块可基于 RFID(射频识别)技术, IrDA(红外数据协会)技术, UWB(超宽带)技术, BT(蓝牙)技术和其 他技术来实现。 The communication component 616 is configured to facilitate wired or wireless communication between the electronic device 600 and other devices. The electronic device 600 can access a wireless network based on a communication standard, such as WiFi, an operator network (such as 2G, 3G, 4G, or 5G), or a combination thereof. In an exemplary embodiment, the communication component 616 receives a broadcast signal or broadcast related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 616 further includes an NFC (Near Field Communication) module to facilitate short-range communication. For example, the NFC module can be implemented based on RFID (Radio Frequency Identification) technology, IrDA (Infrared Data Association) technology, UWB (Ultra Wide Band) technology, BT (Bluetooth) technology and other technologies.
在示例性实施例中, 电子设备 600可以被一个或多个 ASIC(应用专用集 成电路)、 DSP(数字信号处理器)、 DSPD(数字信号处理设备)、 PLD(可编 程逻辑器件)、 FPGA(现场可编程门阵列)、 控制器、 微控制器、 微处理器或 其他电子元件实现, 用于执行如图 1~图 3任一所示的拥塞控制方法。 在示例性实施例中, 还提供了一种包括指令的非临时性计算机可读存储 介质, 例如包括指令的存储器 604, 上述指令可由电子设备 600的处理器 620 执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是 ROM、 RAM(随机存取存储器)、 CD-ROM、 磁带、 软盘和光数据存储设备等。 In an exemplary embodiment, the electronic device 600 may be implemented by one or more ASIC (application specific integrated circuit), DSP (digital signal processor), DSPD (digital signal processing device), PLD (programmable logic device), FPGA ( Field Programmable Gate Array), a controller, a microcontroller, a microprocessor or other electronic components are used to implement the congestion control method shown in any one of Figures 1 to 3. In an exemplary embodiment, there is also provided a non-transitory computer-readable storage medium including instructions, such as the memory 604 including instructions, and the foregoing instructions may be executed by the processor 620 of the electronic device 600 to complete the foregoing method. For example, the non-transitory computer-readable storage medium may be ROM, RAM (random access memory), CD-ROM, magnetic tape, floppy disk, optical data storage device, etc.
图 7 是根据一示例性实施例示出的另一种电子设备的框图。 例如, 电子 设备 700可以被提供为一服务器。 Fig. 7 is a block diagram showing another electronic device according to an exemplary embodiment. For example, the electronic device 700 may be provided as a server.
参照图 7 , 电子设备 700包括处理组件 722, 其进一步包括一个或多个处 理器, 以及由存储器 732 所代表的存储器资源, 用于存储可由处理组件 722 的执行的指令, 例如应用程序。 存储器 732 中存储的应用程序可以包括一个 或一个以上的每一个对应于一组指令的模块。 此外, 处理组件 722被配置为 执行指令, 以执行如图 1~图 3任一所示的拥塞控制方法。 7, the electronic device 700 includes a processing component 722, which further includes one or more processors, and a memory resource represented by a memory 732, for storing instructions that can be executed by the processing component 722, such as an application program. The application program stored in the memory 732 may include one or more modules each corresponding to a set of instructions. In addition, the processing component 722 is configured to execute instructions to execute the congestion control method shown in any one of FIGS. 1 to 3.
电子设备 700还可以包括一个电源组件 726被配置为执行电子设备 700 的电源管理, 一个有线或无线网络接口 750被配置为将电子设备 700连接到 网络, 和一个 I/O (输入输出)接口 758。 电子设备 700可以操作基于存储在 存储器 732的操作系统, 例如 Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM或类似。 The electronic device 700 may also include a power component 726 configured to perform power management of the electronic device 700, a wired or wireless network interface 750 configured to connect the electronic device 700 to a network, and an I/O (input output) interface 758 . The electronic device 700 can operate based on an operating system stored in the memory 732, such as Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM or the like.

Claims

权 利 要 求 Rights request
1、 一种拥塞控制方法, 其特征在于, 包括步骤: 1. A congestion control method, characterized in that it includes the steps:
根据上一时段的带宽估计值、 随机丟包率和拥塞丟包率计算目标发送速 率; Calculate the target sending rate based on the estimated bandwidth, random packet loss rate and congestion packet loss rate in the previous period;
根据所述目标发送速率控制下一时段的发送速率。 Control the sending rate in the next period according to the target sending rate.
2、 如权利要求 1所述的方法, 其特征在于, 所述根据上一时段的带宽估 计值、 随机丟包率和拥塞丟包率计算目标发送速率, 包括: 2. The method according to claim 1, wherein the calculating the target sending rate based on the estimated bandwidth value, random packet loss rate and congestion packet loss rate in the previous period comprises:
在所述拥塞丟包率为零、 所述随机丟包率大于零时, 根据所述带宽估计 值和所述随机丟包率计算真实瓶颈带宽, 并将所述真实瓶颈带宽输出为所述 目标发送速率; When the congested packet loss rate is zero and the random packet loss rate is greater than zero, calculate the real bottleneck bandwidth according to the bandwidth estimation value and the random packet loss rate, and output the real bottleneck bandwidth as the target Sending rate
在所述拥塞丟包率大于零且所述随机丟包率大于零时, 将所述带宽估计 值输出为所述目标发送速率。 When the congested packet loss rate is greater than zero and the random packet loss rate is greater than zero, output the bandwidth estimation value as the target transmission rate.
3、 如权利要求 1所述的方法, 其特征在于, 所述上一时段为当前时刻之 前的上一个时间粒度内的时长, 所述下一时间段为当前时刻之后的下一个所 述时间粒度内的时长。 3. The method according to claim 1, wherein the last time period is the time length within the previous time granularity before the current time, and the next time period is the next time granularity after the current time The duration within.
4、 如权利要求 3所述的方法, 其特征在于, 所述时间粒度为一个往返时 延; 或, 4. The method according to claim 3, wherein the time granularity is a round-trip delay; or,
所述时间粒度为多个往返时延。 The time granularity is multiple round-trip delays.
5、 如权利要求 1~4任一项所述的方法, 其特征在于, 在所述根据上一时 段的带宽估计值、 随机丟包率和拥塞丟包率计算目标发送速率步骤之前, 还 包括步骤: 5. The method according to any one of claims 1 to 4, characterized in that, before the step of calculating the target sending rate according to the bandwidth estimation value, the random packet loss rate and the congestion packet loss rate in the previous period, the method further comprises Steps:
根据数据接收速度和数据发送速度计算所述带宽估计值。 The bandwidth estimation value is calculated according to the data receiving speed and the data sending speed.
6、 如权利要求 1~4任一项所述的方法, 其特征在于, 在所述根据上一时 段的带宽估计值、 随机丟包率和拥塞丟包率计算目标发送速率步骤之前, 还 包括步骤: 6. The method according to any one of claims 1 to 4, characterized in that, before the step of calculating the target sending rate according to the bandwidth estimation value, random packet loss rate and congestion packet loss rate in the previous period, the method further comprises Steps:
基于 Spike算法分别计算所述随机丟包率和所述拥塞丟包率。 The random packet loss rate and the congested packet loss rate are respectively calculated based on the Spike algorithm.
7、 一种拥塞控制装置, 其特征在于, 包括: 7. A congestion control device, characterized in that it comprises:
速率计算模块, 被配置为根据上一时段的带宽估计值、 随机丟包率和拥 塞丟包率计算目标发送速率; The rate calculation module is configured to calculate the target sending rate according to the bandwidth estimate value, random packet loss rate and congestion packet loss rate in the previous period;
发送控制模块, 被配置为根据所述目标发送速率控制下一时段的发送速 率。 The sending control module is configured to control the sending rate in the next time period according to the target sending rate.
8、 如权利要求 7所述的装置, 其特征在于, 所述速率计算模块包括: 第一计算单元, 被配置为在所述拥塞丟包率为零、 所述随机丟包率大于 零时, 根据所述带宽估计值和所述随机丟包率计算真实瓶颈带宽, 并将所述 真实瓶颈带宽输出为所述目标发送速率; 8. The apparatus according to claim 7, wherein the rate calculation module comprises: a first calculation unit configured to, when the congested packet loss rate is zero and the random packet loss rate is greater than zero, Calculating a real bottleneck bandwidth according to the bandwidth estimation value and the random packet loss rate, and outputting the real bottleneck bandwidth as the target sending rate;
第二计算单元, 被配置为在所述拥塞丟包率大于零且所述随机丟包率大 于零时, 将所述带宽估计值输出为所述目标发送速率。 The second calculation unit is configured to output the bandwidth estimation value as the target transmission rate when the congested packet loss rate is greater than zero and the random packet loss rate is greater than zero.
9、 如权利要求 7所述的装置, 其特征在于, 所述上一时段为当前时刻之 前的上一个时间粒度内的时长, 所述下一时间段为当前时刻之后的下一个所 述时间粒度内的时长。 9. The apparatus according to claim 7, wherein the last time period is the time length within the previous time granularity before the current time, and the next time period is the next time granularity after the current time The duration within.
10、 如权利要求 9所述的装置, 其特征在于, 所述时间粒度为一个往返 时延; 或, 10. The apparatus according to claim 9, wherein the time granularity is a round-trip delay; or,
所述时间粒度为多个往返时延。 The time granularity is multiple round-trip delays.
11、 如权利要求 7~10任一项所述的装置, 其特征在于, 在所述根据上一 时段的带宽估计值、 随机丟包率和拥塞丟包率计算目标发送速率步骤之前, 还包括: 11. The apparatus according to any one of claims 7 to 10, characterized in that, before the step of calculating the target sending rate according to the bandwidth estimation value, the random packet loss rate and the congestion packet loss rate in the previous period, the method further comprises :
带宽计算模块, 被配置为在所述速率计算模块计算所述目标发送速率之 前, 根据数据接收速度和数据发送速度计算所述带宽估计值。 The bandwidth calculation module is configured to calculate the bandwidth estimation value according to the data reception speed and the data transmission speed before the rate calculation module calculates the target sending rate.
12、 如权利要求 7~10任一项所述的装置, 其特征在于, 在所述根据上一 时段的带宽估计值、 随机丟包率和拥塞丟包率计算目标发送速率步骤之前, 还包括: 12. The apparatus according to any one of claims 7 to 10, characterized in that, before the step of calculating the target sending rate according to the bandwidth estimation value, the random packet loss rate and the congestion packet loss rate in the previous period, the method further comprises :
丟包率计算模块, 被配置为在所述速率计算模块计算所述目标发送速率 之前, 基于 Spike算法分别计算所述随机丟包率和所述拥塞丟包率。 The packet loss rate calculation module is configured to calculate the random packet loss rate and the congested packet loss rate based on the Spike algorithm before the rate calculation module calculates the target sending rate.
13、 一种电子设备, 其特征在于, 包括: 13. An electronic device, characterized in that it comprises:
存储器, 用于存储计算机程序, 以及执行所述计算机程序产生的候选中 间数据以及结果数据; A memory for storing computer programs, candidate intermediate data and result data generated by executing the computer programs;
处理器, 用于根据上一时段的带宽估计值、 随机丟包率和拥塞丟包率计 算目标发送速率; The processor is used to calculate the target sending rate according to the bandwidth estimate value, random packet loss rate and congestion packet loss rate in the previous period;
根据所述目标发送速率控制下一时段的发送速率。 Control the sending rate in the next period according to the target sending rate.
14、 如权利要求 13所述的电子设备, 其特征在于, 所述根据上一时段的 带宽估计值、 随机丟包率和拥塞丟包率计算目标发送速率, 包括: 14. The electronic device according to claim 13, wherein the calculating the target sending rate according to the bandwidth estimation value, random packet loss rate and congestion packet loss rate in the previous period comprises:
在所述拥塞丟包率为零、 所述随机丟包率大于零时, 根据所述带宽估计 值和所述随机丟包率计算真实瓶颈带宽, 并将所述真实瓶颈带宽输出为所述 目标发送速率; When the congested packet loss rate is zero and the random packet loss rate is greater than zero, calculate the real bottleneck bandwidth according to the bandwidth estimation value and the random packet loss rate, and output the real bottleneck bandwidth as the target Sending rate
在所述拥塞丟包率大于零且所述随机丟包率大于零时, 将所述带宽估计 值输出为所述目标发送速率。 When the congested packet loss rate is greater than zero and the random packet loss rate is greater than zero, output the bandwidth estimation value as the target transmission rate.
15、 如权利要求 13所述的电子设备, 其特征在于, 所述上一时段为当前 时刻之前的上一个时间粒度内的时长, 所述下一时间段为当前时刻之后的下 一个所述时间粒度内的时长。 15. The electronic device according to claim 13, wherein the last time period is the time length within the previous time granularity before the current time, and the next time period is the next time after the current time. The duration within the granularity.
16、 如权利要求 14所述的电子设备, 其特征在于, 所述时间粒度为一个 往返时延; 或, 16. The electronic device according to claim 14, wherein the time granularity is a round trip delay; or,
所述时间粒度为多个往返时延。 The time granularity is multiple round-trip delays.
17、 如权利要求 13~16任一项所述的电子设备, 其特征在于, 在所述根 据上一时段的带宽估计值、 随机丟包率和拥塞丟包率计算目标发送速率步骤 之前, 还包括步骤: 17. The electronic device according to any one of claims 13 to 16, characterized in that, before the step of calculating the target transmission rate according to the bandwidth estimation value, random packet loss rate and congestion packet loss rate in the previous period, further Including steps:
根据数据接收速度和数据发送速度计算所述带宽估计值。 The bandwidth estimation value is calculated according to the data receiving speed and the data sending speed.
18、 如权利要求 13~16任一项所述的电子设备, 其特征在于, 在所述根 据上一时段的带宽估计值、 随机丟包率和拥塞丟包率计算目标发送速率步骤 之前, 还包括步骤: 18. The electronic device according to any one of claims 13 to 16, characterized in that, before the step of calculating the target transmission rate according to the bandwidth estimate value, random packet loss rate and congestion packet loss rate in the previous period, further Including steps:
基于 Spike算法分别计算所述随机丟包率和所述拥塞丟包率。 The random packet loss rate and the congested packet loss rate are respectively calculated based on the Spike algorithm.
19、 一种计算机可读存储介质, 其特征在于, 其上承载一个或多个计算 机指令程序, 所述计算机指令程序被一个或多个处理器执行时, 所述一个或 多个处理器执行权利要求 1~6任一项所述的方法。 19. A computer-readable storage medium, characterized in that one or more computer instruction programs are carried thereon, and when the computer instruction programs are executed by one or more processors, the one or more processors execute rights The method described in any one of 1 to 6 is required.
PCT/CN2020/072535 2019-01-21 2020-01-16 Congestion control method and apparatus, electronic device, and storage medium WO2020151570A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910054074.6 2019-01-21
CN201910054074.6A CN109698794B (en) 2019-01-21 2019-01-21 Congestion control method and device, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
WO2020151570A1 true WO2020151570A1 (en) 2020-07-30

Family

ID=66234276

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/072535 WO2020151570A1 (en) 2019-01-21 2020-01-16 Congestion control method and apparatus, electronic device, and storage medium

Country Status (2)

Country Link
CN (1) CN109698794B (en)
WO (1) WO2020151570A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109698794B (en) * 2019-01-21 2021-07-09 北京达佳互联信息技术有限公司 Congestion control method and device, electronic equipment and storage medium
CN110290428B (en) * 2019-06-26 2021-08-20 腾讯科技(深圳)有限公司 Congestion control method, device, terminal and storage medium
CN111669340B (en) * 2020-07-03 2021-06-22 全时云商务服务股份有限公司 Transmission bandwidth control method, device, network equipment and readable storage medium
CN111901253B (en) * 2020-07-28 2022-06-14 平安科技(深圳)有限公司 Flow control method, flow control device, flow control medium and electronic equipment for storage system
CN113992548B (en) * 2021-10-27 2023-08-08 北京达佳互联信息技术有限公司 Bandwidth speed measuring method and device
CN114039931B (en) * 2021-10-27 2024-04-02 浙江大华技术股份有限公司 Method, device, equipment and medium for controlling data transmission

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140112134A1 (en) * 2009-12-25 2014-04-24 Cisco Technology, Inc., A Corporation Of Californi Increasing Transmission Rate to a Remote Device In Response to Attributing Information Loss as Not Being a Result of Network Congestion
CN105357138A (en) * 2015-09-30 2016-02-24 四川大学 Self-adaptive reliable transmission method based on low priority
CN107171969A (en) * 2016-03-07 2017-09-15 华为技术有限公司 A kind of data transmission method, apparatus and system
CN109698794A (en) * 2019-01-21 2019-04-30 北京达佳互联信息技术有限公司 A kind of jamming control method, device, electronic equipment and storage medium

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2737107C (en) * 2010-04-13 2019-08-27 Jingyuan Wang Tcp congestion control for heterogeneous networks
CN103051555A (en) * 2013-01-05 2013-04-17 北京航空航天大学 TCP (transmission control protocol) congestion control method based on network effective bandwidth and ECN (Explicit Congestion Notification) mechanism
CN103200621A (en) * 2013-03-14 2013-07-10 南京理工大学 Self-adaptation flow control method suitable for wireless projection system real-time data transmission
JP6263443B2 (en) * 2014-05-30 2018-01-17 日本電信電話株式会社 Video quality estimation apparatus, method and program
CN106230739B (en) * 2016-10-15 2019-03-01 中国人民解放军防空兵学院 A kind of IP network congestion link packet loss region estimation method
CN108206925B (en) * 2016-12-16 2020-04-14 展讯通信(上海)有限公司 Method and device for realizing multichannel video call and multichannel terminal
CN107682886B (en) * 2017-09-01 2019-12-20 北京邮电大学 Multi-path data transmission method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140112134A1 (en) * 2009-12-25 2014-04-24 Cisco Technology, Inc., A Corporation Of Californi Increasing Transmission Rate to a Remote Device In Response to Attributing Information Loss as Not Being a Result of Network Congestion
CN105357138A (en) * 2015-09-30 2016-02-24 四川大学 Self-adaptive reliable transmission method based on low priority
CN107171969A (en) * 2016-03-07 2017-09-15 华为技术有限公司 A kind of data transmission method, apparatus and system
CN109698794A (en) * 2019-01-21 2019-04-30 北京达佳互联信息技术有限公司 A kind of jamming control method, device, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN109698794A (en) 2019-04-30
CN109698794B (en) 2021-07-09

Similar Documents

Publication Publication Date Title
WO2020151570A1 (en) Congestion control method and apparatus, electronic device, and storage medium
WO2020134559A1 (en) Data transmission method and apparatus, terminal device, and storage medium
WO2020211535A1 (en) Network delay control method and apparatus, electronic device, and storage medium
CN107396171A (en) Live network broadcast method, device and storage medium
WO2019095296A1 (en) Hybrid automatic repeat request feedback indication and feedback method, device, and base station
CN107743096B (en) Network optimization method, device, terminal and storage medium
JP6336119B2 (en) Information processing method, apparatus, program, and recording medium
CN109561356B (en) Data transmission method, data transmission device, electronic apparatus, and computer-readable storage medium
WO2018232559A1 (en) Data processing method and device, user equipment and computer readable storage medium
CN114095437B (en) Method, device, electronic equipment and storage medium for transmitting data packet
US11444992B2 (en) Method and apparatus for communication processing
WO2018201439A1 (en) Random access method and apparatus, user equipment, and computer readable storage medium
CN113965517A (en) Network transmission method, network transmission device, electronic equipment and storage medium
CN110933773B (en) Link monitoring method and device
WO2022011655A1 (en) Retransmission request method and apparatus, and retransmitted data reception method and apparatus
US11665586B2 (en) Method and apparatus for data transmission, electronic device and computer readable storage medium
WO2021073394A1 (en) Data transmission method and apparatus, electronic device and storage medium
CN115002007A (en) Network delay judging method and device, electronic equipment and storage medium
CN110290224B (en) Resource uploading and forwarding method and device, mobile terminal, gateway and storage medium
CN114363426B (en) Data transmission method and device based on UDT protocol, electronic equipment and storage medium
WO2020097883A1 (en) Method and device for message transmission
CN106790450B (en) Method for caching and processing, device and server
WO2022094965A1 (en) Delay determination method and device, and delay instruction method and device
US11689690B2 (en) Method and device for audio and video synchronization
CN115065643B (en) Network link congestion detection method, device, electronic equipment and storage medium

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: 20744633

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20744633

Country of ref document: EP

Kind code of ref document: A1