Network congestion control method and device, equipment, storage medium and product
By detecting bandwidth growth information and performing network congestion detection in live video applications, dynamically adjusting the data transmission rate, the problem of poor network congestion control in the prior art is solved, and more efficient network congestion control is achieved.
Patent Information
- Application Number
- CN202411460926.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-18
- Publication Date
- 2025-02-14
AI Technical Summary
The existing network congestion control algorithms cannot adapt to video code rate fluctuations in live video applications, resulting in poor network congestion control effects.
By detecting bandwidth growth information in the initial state of congestion control, switching to the full load evaluation state and bandwidth evaluation state, network congestion detection is performed, and bandwidth evaluation sub-state is determined based on the detection results, thereby dynamically adjusting the data transmission rate.
It effectively improves the network congestion control effect, adapts to the fluctuations in video code rate in live video applications, and improves the utilization efficiency of network links and the ability to resist packet loss and network jitter.
Smart Images

Figure CN119450160A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of data transmission technology, and in particular, to a network congestion control method, device, equipment, storage medium and product. Background Art
[0002] In live video applications, network congestion control algorithms play a role in real-time evaluation of user network bandwidth and setting the timing and amount of data transmission. If network congestion is not handled in a timely manner, the server may send too much data to the user, causing network link blockage, resulting in increased delays in user video viewing. It may also send too little data to the user, resulting in failure to fully utilize the network bandwidth, resulting in low quality of video received by the user, which is likely to cause a bad user experience.
[0003] The currently commonly used congestion control algorithms are generally designed for reliable file transmission. They generally use the maximum round-trip delay among multiple recently detected round-trip delays as the data sending rate. In the case of video bit rate fluctuations in live video applications, the data sending rate cannot adapt to the fluctuations in the video bit rate, and the network congestion control effect is poor. Summary of the invention
[0004] The embodiments of the present application provide a network congestion control method, apparatus, device, storage medium and product to solve the technical problem in the related art that when the video bit rate fluctuates in the live video application, the data transmission rate cannot adapt to the fluctuation of the video bit rate, and the network congestion control effect is poor, and the network congestion control effect can be effectively improved.
[0005] In a first aspect, an embodiment of the present application provides a network congestion control method, including:
[0006] In the case of performing data transmission at a first transmission rate in an initial state of congestion control, determining detection bandwidth growth information;
[0007] When the detected bandwidth growth information satisfies a preset bandwidth growth condition, the congestion control initial state is switched to a full load evaluation state, so as to perform data transmission at a second transmission rate in the full load evaluation state;
[0008] In the process of data transmission at the second transmission rate, determining the amount of unconfirmed data on the link, and if the amount of unconfirmed data on the link meets a preset unconfirmed data amount condition, switching the full load assessment state to a bandwidth assessment state, for performing network congestion detection in the bandwidth assessment state, and determining a bandwidth assessment sub-state based on the network congestion detection result, wherein the bandwidth assessment sub-state includes a non-congestion state, a congestion avoidance state, and a congestion attenuation state;
[0009] The data transmission rate is determined according to the current bandwidth evaluation sub-state, and data transmission is performed according to the data transmission rate, wherein, in the non-congestion state, the data transmission rate is a preset transmission rate in the non-congestion state, in the congestion avoidance state, the data transmission rate is increased according to a preset growth strategy, and in the congestion attenuation state, the data transmission rate is attenuated according to a preset attenuation strategy.
[0010] In a second aspect, an embodiment of the present application provides a network congestion control device, including a first transmission module, a second transmission module, a state determination module and a third transmission module, wherein:
[0011] The first transmission module is configured to determine the detection bandwidth growth information when data transmission is performed at a first transmission rate in an initial state of congestion control;
[0012] The second transmission module is configured to switch the congestion control initial state to a full load evaluation state when the detection bandwidth growth information satisfies a preset bandwidth growth condition, so as to perform data transmission at a second transmission rate in the full load evaluation state;
[0013] The state determination module is configured to determine the amount of unconfirmed data on the link during data transmission at the second transmission rate, and switch the full load assessment state to the bandwidth assessment state when the amount of unconfirmed data on the link meets a preset unconfirmed data amount condition, so as to perform network congestion detection in the bandwidth assessment state, and determine a bandwidth assessment sub-state based on the network congestion detection result, wherein the bandwidth assessment sub-state includes a non-congestion state, a congestion avoidance state, and a congestion attenuation state;
[0014] The third transmission module is configured to determine the data transmission rate according to the current bandwidth evaluation sub-state, and transmit data according to the data transmission rate, wherein, in the non-congestion state, the data transmission rate is a preset transmission rate in the non-congestion state, in the congestion avoidance state, the data transmission rate is increased according to a preset growth strategy, and in the congestion attenuation state, the data transmission rate is attenuated according to a preset attenuation strategy.
[0015] In a third aspect, an embodiment of the present application provides a network congestion control device, including: a memory and one or more processors;
[0016] The memory is used to store one or more programs;
[0017] When the one or more programs are executed by the one or more processors, the one or more processors implement the network congestion control method as described in the first aspect.
[0018] In a fourth aspect, an embodiment of the present application provides a non-volatile storage medium storing computer executable instructions, wherein the computer executable instructions are used to execute the network congestion control method as described in the first aspect when executed by a computer processor.
[0019] In a fifth aspect, an embodiment of the present application provides a computer program product, which includes a computer program stored in a computer-readable storage medium. At least one processor of a device reads and executes the computer program from the computer-readable storage medium, so that the device performs the network congestion control method as described in the first aspect.
[0020] In the embodiment of the present application, data is transmitted at a first transmission rate in an initial state of congestion control, and when the detected bandwidth growth information satisfies a preset bandwidth growth condition, the initial state of congestion control is switched to a full load assessment state to transmit data at a second transmission rate; when the amount of unconfirmed data on the link satisfies a preset unconfirmed data amount condition during data transmission at the second transmission rate, the full load assessment state is switched to a bandwidth assessment state to perform network congestion detection in the bandwidth assessment state, and a bandwidth assessment sub-state is determined in a non-congestion state, a congestion avoidance state, and a congestion attenuation state based on the network congestion detection result; the data transmission rate can be determined according to the current bandwidth assessment sub-state, and data is transmitted according to the data transmission rate. Transmission, wherein, in the non-congestion state of the bandwidth evaluation sub-state, the data sending rate is the preset sending rate in the non-congestion state, in the congestion avoidance state of the bandwidth evaluation sub-state, the data sending rate is increased according to the preset growth strategy, and in the congestion attenuation state of the bandwidth evaluation sub-state, the data sending rate is attenuated according to the preset attenuation strategy. By switching between different bandwidth evaluation sub-states under different network congestion states, the data sending rate is continuously increased in the non-congestion state until it reaches the preset sending rate. After congestion is detected, the sending rate is backed off in time to alleviate network congestion. This can effectively adapt to the video bit rate fluctuation in the live video application, and can dynamically determine the data sending rate to adapt to the fluctuation of the video bit rate, thereby effectively improving the network congestion control effect. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] Figure 1 is a flow chart of a network congestion control method provided by an embodiment of the present application;
[0022] Figure 2 is a flow chart of another network congestion control method provided by an embodiment of the present application;
[0023] Figure 3 This is a schematic diagram of state transition in a network congestion control process provided by an embodiment of the present application;
[0024] Figure 4It is a structural schematic diagram of a network congestion control device provided in an embodiment of the present application;
[0025] Figure 5 It is a structural diagram of a network congestion control device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0026] In order to make the purpose, technical scheme and advantages of the present application clearer, the specific embodiments of the present application are further described in detail below in conjunction with the accompanying drawings. It is understood that the specific embodiments described herein are only used to explain the present application, rather than to limit the present application. It should also be noted that, for the convenience of description, only the part related to the present application but not all the contents are shown in the accompanying drawings. Before discussing the exemplary embodiments in more detail, it should be mentioned that some exemplary embodiments are described as processes or methods depicted as flow charts. Although the flow chart describes each operation (or step) as a sequential process, many of the operations therein can be implemented in parallel, concurrently or simultaneously. In addition, the order of each operation can be rearranged. The above process can be terminated when its operation is completed, but it can also have additional steps not included in the accompanying drawings. The above process can correspond to a method, a function, a procedure, a subroutine, a subprogram, etc.
[0027] The network congestion control method provided in the present application can be applied to network congestion control during live video broadcasting (for example, multi-person video rooms, live shows, group conversations, and other scenarios), wherein the live video broadcasting can be fixed-gear live video broadcasting, and aims to continuously increase the data transmission rate in the non-congested state until the preset transmission rate is reached by switching between different bandwidth evaluation sub-states such as the non-congested state, the congestion avoidance state, and the congestion attenuation state under different network congestion states, and timely back off the transmission rate after congestion is detected to alleviate network congestion, which can effectively adapt to video bit rate fluctuations in live video broadcasting applications, and can effectively improve the ability of live video broadcasting applications to resist packet loss and network jitter, thereby improving the network congestion control effect.
[0028] Existing congestion control algorithms are generally designed for reliable file transmission, such as BBR (Bottleneck Bandwidth and Round-trip time, a congestion control algorithm based on bottleneck bandwidth and link round-trip delay), CUBIC and other congestion control algorithms, which generally use the maximum round-trip delay of multiple round-trip delays detected recently as the data transmission rate. In the case of video bit rate fluctuations in live video applications, the data transmission rate cannot adapt to the fluctuations in the video bit rate. In addition, the BBR algorithm can tolerate a packet loss rate of up to 20%, while the CUBIC algorithm's performance decreases significantly when the packet loss rate reaches 5%. The congestion windows of these congestion control algorithms are also prone to live video streams competing with background traffic for network bandwidth, resulting in reduced competitiveness of live video streams, and poor network congestion control effects for live video broadcasts. Based on this, a network congestion control method of an embodiment of the present application is provided to solve the technical problem of poor existing network congestion control effects.
[0029] Figure 1 A flowchart of a network congestion control method provided in an embodiment of the present application is given. The network congestion control method provided in an embodiment of the present application can be executed by a network congestion control device, which can be implemented in hardware and / or software and integrated in a network congestion control device (such as a server).
[0030] The following description is made by taking the network congestion control device executing the network congestion control method as an example. Figure 1 , the network congestion control method comprises:
[0031] S110: When data transmission is performed at a first transmission rate in an initial state of congestion control, detection bandwidth growth information is determined.
[0032] This solution configures a congestion control initial state, a full load evaluation state, and a bandwidth evaluation state in the network congestion control process. In different states, the data transmission rate for data transmission is determined based on different transmission rate determination strategies.
[0033] Exemplarily, when data transmission to the user end begins (for example, sending live video stream data to the user end (for example, the audience end)), the network congestion control process is in the initial state of congestion control. In the initial state of congestion control, data transmission will be performed at a first transmission rate. The first transmission rate can be set to a preset initial rate (for example, 10Mbps) to send data at a higher initial rate. Data transmission at the first transmission rate in the initial state of congestion control can be used to quickly detect the network bandwidth of the data transmission link that sends data to the user end, so as to facilitate the subsequent faster determination of the data transmission rate suitable for the network bandwidth.
[0034] In one embodiment, in the process of transmitting data at the first transmission rate in the initial state of congestion control, the network bandwidth is continuously detected to determine the detection bandwidth of the data transmission link and to determine the detection bandwidth growth information. The detection bandwidth growth information may be the growth rate of the detection bandwidth within a set time length or within a set number of detections (e.g., a set number of round trip delays RTT (Round Trip Time, the time it takes for a network packet to be sent to its confirmation packet and returned to the sender)).
[0035] In one embodiment, after determining the detection bandwidth growth information, it can be determined whether the detection bandwidth growth information meets the preset bandwidth growth condition. If the detection bandwidth growth information does not meet the preset bandwidth growth condition, the initial state of congestion control is maintained, and data transmission continues at the first sending rate until the detection bandwidth growth information meets the preset bandwidth growth condition, and jumps to step S120.
[0036] S120: When the detected bandwidth growth information satisfies a preset bandwidth growth condition, the initial state of congestion control is switched to a full load assessment state, so as to perform data transmission at a second sending rate in the full load assessment state.
[0037] Optionally, the detection bandwidth growth information may be compared with a preset growth threshold. When the detection bandwidth growth information is less than the preset growth threshold, the detection bandwidth growth information is considered to meet the preset bandwidth growth condition. Or, when the detection bandwidth growth information for consecutive times (for example, the detection bandwidth growth information determined by a round-trip delay is one detection bandwidth growth information) is less than the preset growth threshold, the detection bandwidth growth information is considered to meet the preset bandwidth growth condition.
[0038] In a possible embodiment, the detection bandwidth growth information provided by the present solution satisfies the preset bandwidth growth condition, which may be that the detection bandwidth growth information of the consecutive set number of round-trip delays is lower than the preset growth range. Exemplarily, after each detection (each round-trip delay RTT) to obtain the detection bandwidth, the current detection bandwidth is subtracted from the detection bandwidth obtained by the previous detection to obtain the corresponding detection bandwidth growth information. When it is detected that the detection bandwidth growth information of the consecutive set number of round-trip delays (the consecutive set number may be 2-5, for example, the consecutive set number is set to 3) is lower than the preset growth range (the preset growth range may be 5%-50%, for example, the preset growth range is set to 25%), it is determined that the detection bandwidth growth information meets the preset bandwidth growth condition, otherwise it is considered that the detection bandwidth growth information does not meet the preset bandwidth growth condition. This solution determines that the detection bandwidth growth information meets the preset bandwidth growth condition when the detection bandwidth growth information of the consecutive set number of round-trip delays is lower than the preset growth range, accurately judges the timing of switching from the initial state of congestion control to the full load assessment state, and accurately performs network congestion control.
[0039] Exemplarily, when it is determined that the detection bandwidth growth information satisfies the preset bandwidth growth condition, the initial state of congestion control in the network congestion control process is switched to the full load evaluation state, and in the full load evaluation state, data transmission is performed at the second transmission rate. Optionally, the second transmission rate can be set to be less than the detection bandwidth. In one embodiment, the second transmission rate can be determined based on the detection bandwidth obtained by real-time detection of the data transmission link, for example, a detection bandwidth of a set multiple (less than 1) is used as the second transmission rate.
[0040] It needs to be explained that in order to quickly detect the network bandwidth, this scheme may adopt a more aggressive sending strategy (the first sending rate is set to a larger value) in the initial state of congestion control, which may lead to the injection of excessive data into the network, resulting in link accumulation and increased network delay. When the detected bandwidth growth information meets the preset bandwidth growth conditions, this scheme switches the initial state of congestion control to the full load assessment state, and transmits data at the second sending rate, thereby reducing link accumulation and reducing network delay.
[0041] S130: During data transmission at the second sending rate, determine the amount of unconfirmed data on the link, and when the amount of unconfirmed data on the link meets a preset unconfirmed data amount condition, switch the full load assessment state to the bandwidth assessment state, for performing network congestion detection in the bandwidth assessment state, and determine a bandwidth assessment sub-state based on the network congestion detection result, wherein the bandwidth assessment sub-states include a non-congestion state, a congestion avoidance state, and a congestion attenuation state.
[0042] Exemplarily, during data transmission at the second sending rate under the full load assessment state, the amount of unconfirmed data in the data transmission link (for example, the amount of data that has been sent but the ACK information has not been received (the amount of data can be expressed by the number of bytes)) is determined in real time, and it is determined whether the current amount of unconfirmed data in the link meets the preset unconfirmed data amount condition.
[0043] In one embodiment, when the current link unconfirmed data volume does not meet the preset unconfirmed data volume condition, the full load evaluation state is maintained, and data transmission continues at the second transmission rate. When the link unconfirmed data volume meets the preset unconfirmed data volume condition, the full load evaluation state of the network congestion control is switched to the bandwidth evaluation state.
[0044] In a possible embodiment, the link unconfirmed data volume provided by this scheme satisfies the preset unconfirmed data volume condition, which may be that the link unconfirmed data volume is less than the product of the link bandwidth and the round-trip delay. Exemplarily, in the process of transmitting data at the second sending rate in the full load evaluation state, the link unconfirmed data volume, link bandwidth and round-trip delay are determined in real time, the product of the link bandwidth and the round-trip delay is calculated, and the link unconfirmed data volume is compared with the product of the link bandwidth and the round-trip delay. When the link unconfirmed data volume is less than the product of the link bandwidth and the round-trip delay, it is determined that the link unconfirmed data volume meets the preset unconfirmed data volume condition, and when the link unconfirmed data volume is greater than or equal to the product of the link bandwidth and the round-trip delay, it is determined that the link unconfirmed data volume does not meet the preset unconfirmed data volume condition. This scheme determines whether the preset unconfirmed data volume condition is met based on the comparison result of the link unconfirmed data volume and the product of the link bandwidth and the round-trip delay, accurately determines the timing of switching from the full load evaluation state to the bandwidth evaluation state, and quickly and accurately performs network congestion control.
[0045] In one embodiment, after switching to the bandwidth assessment state, network congestion detection can be continuously performed on the data transmission link, and the network congestion detection result determines the bandwidth assessment sub-state. The bandwidth assessment state is configured with three bandwidth assessment sub-states: non-congestion state, congestion avoidance state, and congestion attenuation state. The three bandwidth assessment sub-states can be switched between the non-congestion state, congestion avoidance state, and congestion attenuation state according to the network congestion detection result detected in real time. Different data transmission rate adjustment strategies are configured for different bandwidth assessment sub-states.
[0046] Optionally, when switching from the full load assessment state to the bandwidth assessment state, the congestion avoidance state can be used as the current bandwidth assessment sub-state first, and then when the network congestion detection result meets the transition condition of the bandwidth assessment sub-state, it can be switched to the corresponding bandwidth assessment sub-state, and then switch between different bandwidth assessment sub-states according to the network congestion detection result.
[0047] S140: Determine the data sending rate according to the current bandwidth evaluation sub-state, and transmit data according to the data sending rate, wherein, in a non-congestion state, the data sending rate is a preset sending rate in a non-congestion state, in a congestion avoidance state, the data sending rate is increased according to a preset growth strategy, and in a congestion attenuation state, the data sending rate is attenuated according to a preset attenuation strategy.
[0048] Exemplarily, in each round trip delay RTT, the data transmission rate is determined according to the current bandwidth evaluation sub-state, and data is transmitted according to the determined data transmission rate. Among them, the non-congestion state can be understood as the state when no network congestion is detected, the congestion avoidance state can be understood as the state of continuously increasing the data transmission rate until congestion is detected, and the congestion attenuation state can be understood as the state after network congestion is detected.
[0049] For example, when the bandwidth evaluation sub-state is a non-congestion state, the preset sending rate in the non-congestion state can be determined as the data sending rate; when the bandwidth evaluation sub-state is a congestion avoidance state, the current data sending rate is increased according to the preset growth strategy, and data is transmitted according to the increased data sending rate; when the bandwidth evaluation sub-state is a congestion attenuation state, the data sending rate is attenuated according to the preset attenuation strategy, and data is transmitted according to the attenuated data sending rate. In the congestion avoidance state, the data sending rate increases according to the preset growth strategy within each round-trip delay RTT, and in the congestion attenuation state, the data sending rate attenuates according to the preset attenuation strategy within each round-trip delay RTT.
[0050] In one embodiment, increasing the data transmission rate according to a preset growth strategy may be to increase the data transmission rate according to a set growth ratio (for example, taking the current data transmission rate*(1+the set growth ratio) as the increased data transmission rate), and the set growth ratio may be 5%-50%, for example, setting the set growth ratio to 10%. Attenuating the data transmission rate according to a preset attenuation strategy may be to attenuate the data transmission rate according to a set attenuation ratio (for example, taking the current data transmission rate*(1-the set attenuation ratio) as the attenuated data transmission rate), and the set attenuation ratio may be 5%-50%, for example, setting the set attenuation ratio to 25%.
[0051] In the above, by transmitting data at a first transmission rate in the initial state of congestion control, when the detected bandwidth growth information satisfies the preset bandwidth growth condition, the initial state of congestion control is switched to the full load assessment state to transmit data at a second transmission rate, and when the amount of unconfirmed data on the link satisfies the preset unconfirmed data amount condition during data transmission at the second transmission rate, the full load assessment state is switched to the bandwidth assessment state to perform network congestion detection in the bandwidth assessment state, and a bandwidth assessment sub-state is determined in the non-congestion state, the congestion avoidance state and the congestion attenuation state based on the network congestion detection result, the data transmission rate can be determined according to the current bandwidth assessment sub-state, and data transmission is performed at the data transmission rate. Among them, in the non-congestion state of the bandwidth evaluation sub-state, the data sending rate is the preset sending rate in the non-congestion state, in the congestion avoidance state of the bandwidth evaluation sub-state, the data sending rate is increased according to the preset growth strategy, and in the congestion attenuation state of the bandwidth evaluation sub-state, the data sending rate is attenuated according to the preset attenuation strategy. By converting different bandwidth evaluation sub-states under different network congestion states, the data sending rate is continuously increased in the non-congestion state until it reaches the preset sending rate. After congestion is detected, the sending rate is backed off in time to alleviate network congestion. It can effectively adapt to the video bit rate fluctuation in the live video application, and can dynamically determine the data sending rate to adapt to the fluctuation of the video bit rate, effectively improving the network congestion control effect.
[0052] Based on the above embodiments, Figure 2 A flowchart of another network congestion control method provided in an embodiment of the present application is given, and the network congestion control method is a specific embodiment of the above network congestion control method. Figure 2 , the network congestion control method comprises:
[0053] S210: Perform data transmission at a preset initial rate in the initial state of congestion control.
[0054] S220: Determine a first detection bandwidth during data transmission at a preset initial rate, and perform data transmission at a first set multiple of the first detection bandwidth.
[0055] S230: Determine detection bandwidth growth information when data transmission is performed according to the first detection bandwidth of the first set multiple.
[0056] Exemplarily, when data transmission to the user end begins, the network congestion control process is in the initial state of congestion control, and after entering the initial state of congestion control, data transmission is performed at a preset initial rate (eg, 10 Mbps) within the first round-trip time RTT.
[0057] In one embodiment, during data transmission at a preset initial rate, bandwidth detection is performed on the data transmission link in real time to obtain a first detection bandwidth, and a first set multiple (the first set multiple can be 1-3 times, for example, the first set multiple is set to 2 times) of the first detection bandwidth is used as the data transmission rate.
[0058] Subsequently, in the initial state of congestion control, the bandwidth of the data transmission link is continuously detected to obtain the first detection bandwidth, and the first detection bandwidth of the first set multiple is used as the data transmission rate for data transmission. This solution first performs data transmission at a preset initial rate, determines the first detection bandwidth in the process of performing data transmission at the preset initial rate, and performs data transmission at the first set multiple of the first detection bandwidth, so as to quickly detect the network bandwidth of the data transmission link for sending data to the user end, thereby facilitating the subsequent faster determination of the data transmission rate suitable for the network bandwidth.
[0059] S240: When the detection bandwidth growth information meets the preset bandwidth growth condition, the initial state of congestion control is switched to the full load assessment state, so as to determine the second detection bandwidth in the full load assessment state, and perform data transmission according to the second detection bandwidth of the second set multiple.
[0060] Exemplarily, before data is transmitted at the second transmission rate, the second detection bandwidth is determined. Correspondingly, data transmission at the second transmission rate may be data transmission at the second detection bandwidth of the second set multiple. For example, after switching from the initial state of congestion control to the full load assessment state, the currently most recently determined detection bandwidth is determined as the second detection bandwidth, and the product of the second set multiple (the second set multiple is less than 1, for example, the second set multiple is set to 1 / 2.885) and the second detection bandwidth is calculated, and the product of the second set multiple and the second detection bandwidth is determined as the second transmission rate, and data transmission is performed at the second transmission rate. This solution uses the second detection bandwidth of the second set multiple as the second transmission rate for data transmission, which can smoothly drain the previously accumulated data (for example, drain the data accumulated on the link by the previous detection bandwidth) and avoid network congestion.
[0061] S250: During data transmission at the second sending rate, determine the amount of unconfirmed data on the link. When the amount of unconfirmed data on the link meets a preset unconfirmed data amount condition, switch the full load assessment state to the bandwidth assessment state, for performing network congestion detection in the bandwidth assessment state, and determine a bandwidth assessment sub-state based on the network congestion detection result. The bandwidth assessment sub-states include a non-congestion state, a congestion avoidance state, and a congestion attenuation state.
[0062] In a possible embodiment, the network congestion control method provided by the present solution determines the bandwidth evaluation sub-state based on the network congestion detection result, which may be: when the current bandwidth evaluation sub-state is the congestion avoidance state and the network congestion detection result is network congestion, the bandwidth evaluation sub-state is switched from the congestion avoidance state to the congestion attenuation state; when the current bandwidth evaluation sub-state is the congestion avoidance state and the network detection bandwidth reaches a preset sending rate, the bandwidth evaluation sub-state is switched from the congestion avoidance state to the non-congestion state; when the current bandwidth evaluation sub-state is the non-congestion state and the network congestion detection result is network congestion, the bandwidth evaluation sub-state is switched from the non-congestion state to the congestion attenuation state; when the current bandwidth evaluation sub-state is the congestion attenuation state and the network congestion detection result is no network congestion, the bandwidth evaluation sub-state is switched from the congestion attenuation state to the congestion avoidance state.
[0063] Exemplarily, when the current bandwidth assessment sub-state is the congestion avoidance state, it is determined whether the network congestion detection result is network congestion. When the network congestion detection result is network congestion, the bandwidth assessment sub-state is switched from the congestion avoidance state to the congestion attenuation state to attenuate the data transmission rate and respond to network fluctuations in a timely manner. When the network detection bandwidth reaches the preset transmission rate, the bandwidth assessment sub-state is switched from the congestion avoidance state to the non-congestion state, and data transmission can be performed at the preset transmission rate to fully utilize bandwidth resources.
[0064] When the current bandwidth evaluation sub-state is a non-congested state, determine whether the network congestion detection result is network congestion. When the network congestion detection result is no network congestion, keep the bandwidth evaluation sub-state as a non-congested state, and when the network congestion detection result is network congestion, switch the bandwidth evaluation sub-state from a non-congested state to a congestion attenuation state to attenuate the data transmission rate and respond to network fluctuations in a timely manner.
[0065] When the current bandwidth assessment sub-state is the congestion attenuation state, when the network congestion detection result is network congestion, the bandwidth assessment sub-state is maintained in the congestion attenuation state to attenuate the data transmission rate, and when the network congestion detection result is no network congestion, the bandwidth assessment sub-state is switched from the congestion attenuation state to the congestion avoidance state to increase the data transmission rate, and the data transmission rate is continuously increased in the network non-congested state until the preset transmission rate is reached.
[0066] This solution accurately switches the bandwidth assessment sub-state between the non-congested state, congestion avoidance state and congestion attenuation state according to the network congestion detection results, continuously increases the sending rate in the non-congested network state until the preset sending rate is reached, and promptly backs off to alleviate network congestion after congestion is detected. While improving the utilization efficiency of network links, it makes adaptive adjustments in time according to network fluctuations to improve the quality of network congestion control. The network congestion control solution provided by this solution does not have the congestion window limitation of the BBR algorithm. It can maintain stable data transmission in the face of network jitter and background traffic competition, thereby improving the quality of network congestion control in video live broadcast scenarios.
[0067] In a possible embodiment, the network congestion control method provided by the present solution performs network congestion detection, including:
[0068] S251: Determine the network packet loss rate, round-trip delay, and estimated transmission time of a single key frame.
[0069] S252: Determine that the network congestion detection result is network congestion when one of the following conditions is met: the network packet loss rate is greater than a preset packet loss rate threshold, the round-trip delay is greater than a preset delay threshold, and the estimated transmission time of a single key frame is greater than a preset time threshold.
[0070] Exemplarily, in the bandwidth evaluation state, the network packet loss rate, round-trip delay and estimated transmission time of a single key frame corresponding to the transmission link are determined in real time, where the estimated transmission time of a single key frame can be an empirical value set according to the live video scene. If the time required to transmit a single key frame (I frame) under the current network conditions exceeds the estimated transmission time of a single key frame, the link may be congested and the data sending rate needs to be reduced.
[0071] In one embodiment, it is determined whether the network packet loss rate is greater than a preset packet loss rate threshold (e.g., the maximum packet loss rate that can be tolerated in live video), whether the round-trip delay is greater than a preset delay threshold (e.g., the maximum delay that can be tolerated in live video), and whether the estimated transmission time of a single key frame is greater than a preset time threshold (e.g., the transmission time of a single key frame that can be tolerated in live video). When one of the conditions that the network packet loss rate is greater than the preset packet loss rate threshold, the round-trip delay is greater than the preset delay threshold, and the estimated transmission time of a single key frame is greater than the preset time threshold is met, the network congestion detection result can be determined to be network congestion. When the above conditions are not met at the same time (i.e., the network packet loss rate is less than or equal to the preset packet loss rate threshold, the round-trip delay is less than or equal to the preset delay threshold, and the estimated transmission time of a single key frame is less than or equal to the preset time threshold), the network congestion detection result can be determined to be no network congestion. Among them, when the estimated transmission time of a single key frame is pre-set, there is a negative correlation between the tolerable round-trip delay and the packet loss rate. The lower the round-trip delay, the higher the packet loss rate that triggers congestion judgment, which can ensure the effect of resisting high packet loss rate under low round-trip delay and improve the smoothness of users watching live video. This solution detects network congestion through network packet loss rate, round-trip delay and estimated transmission time of a single key frame, accurately detects network congestion, improves the conversion accuracy of bandwidth assessment sub-states, and ensures the effect of network congestion control.
[0072] In a possible embodiment, the network congestion control method provided by the present solution determines the estimated transmission time of a single key frame, including:
[0073] Determine the expected number of rounds to transmit multiple video packets that make up a single key frame under the current network packet loss rate;
[0074] Determine the product of the round-trip delay and the expected number of rounds, and use the product as the estimated transmission time of a single key frame.
[0075] Exemplarily, the current network packet loss rate and round-trip delay are determined, and the expected number of rounds for transmitting multiple video packets constituting a single key frame (where a single key frame is transmitted through multiple video packets) under the current network packet loss rate is determined. The expected number of rounds can be understood as the expected number of times the corresponding multiple video packets are successfully sent to the user end (including the number of times data is retransmitted due to packet loss). In one embodiment, the product of the round-trip delay and the expected number of rounds can be determined, and the product of the round-trip delay and the expected number of rounds can be used as the estimated time consumption for the transmission of a single key frame. In one possible embodiment, the expected number of rounds provided by this solution can be determined by the following formula:
[0076]
[0077] Among them, q is the network packet loss rate, a is the preset coefficient, n is the number of video packets that make up a single key frame, and Hn is the harmonic series, This scheme determines the estimated transmission time of a single key frame based on the product of the round-trip delay and the expected number of rounds of transmitting multiple video packets that constitute a single key frame, improves the accuracy of network congestion detection, improves the conversion accuracy of bandwidth assessment sub-states, and ensures the effect of network congestion control.
[0078] S260: Determine the data sending rate according to the current bandwidth evaluation sub-state, and transmit data according to the data sending rate, wherein, in a non-congestion state, the data sending rate is a preset sending rate in a non-congestion state, in a congestion avoidance state, the data sending rate is increased according to a preset growth strategy, and in a congestion attenuation state, the data sending rate is attenuated according to a preset attenuation strategy.
[0079] like Figure 3 As shown in a state transition diagram of a network congestion control process provided, in S310, data transmission to the user end begins, at which time the network congestion control process is in the initial state of congestion control (STARTUP state), and after entering the initial state of congestion control, data transmission is performed at a preset initial rate (e.g., 10Mbps) within the first round-trip delay RTT. In the process of performing data transmission at the preset initial rate, bandwidth detection is performed on the data transmission link in real time to obtain a first detection bandwidth, and the first detection bandwidth of the first set multiple is used as the data transmission rate for data transmission. At the same time, the bandwidth growth information is detected in real time. In step S320, it is determined whether the detection bandwidth growth information meets the preset bandwidth growth condition. When the detection bandwidth growth information does not meet the preset bandwidth growth condition, the initial state of congestion control is maintained.
[0080] When the detection bandwidth growth information meets the preset bandwidth growth condition, enter step S330, switch from the congestion control initial state to the full load assessment state (DRAIN state), determine the second detection bandwidth in the full load assessment state, and perform data transmission according to the second detection bandwidth of the second set multiple. In the process of performing data transmission according to the second detection bandwidth of the second set multiple, determine the link unconfirmed data amount, and determine in step S340 whether the link unconfirmed data amount meets the preset unconfirmed data amount condition. When the link unconfirmed data amount does not meet the preset unconfirmed data amount condition, maintain the full load assessment state.
[0081] When the amount of unconfirmed data on the link meets the preset unconfirmed data amount condition, enter step S350 and switch from the full load assessment state to the bandwidth assessment state (PROBE_BW state), perform network congestion detection in real time in the bandwidth assessment state, and convert the three bandwidth assessment sub-states of no congestion state (NO CONGESTION state), congestion avoidance state (CONGESTION AVOIDANCE state) and congestion reduction state (CONGESTION REDUCTION state) according to the real-time network congestion detection result, and determine the data sending rate for data transmission based on the bandwidth assessment sub-state.
[0082] Among them, when initially entering the bandwidth assessment state, the bandwidth assessment sub-state entered is the congestion avoidance state (corresponding to sub-state A1). In the congestion avoidance state, the data transmission rate is increased according to the preset growth strategy. During the data transmission in the congestion avoidance state, the network congestion detection result is continuously obtained. When the network congestion detection result is no network congestion, it remains in the congestion avoidance state. When the network congestion detection result is network congestion, the bandwidth assessment sub-state is switched from the congestion avoidance state to the congestion attenuation state (corresponding to sub-state A2). When the network detection bandwidth reaches the preset transmission rate, the bandwidth assessment sub-state is switched from the congestion avoidance state to the non-congestion state (corresponding to sub-state A3).
[0083] When the current bandwidth evaluation sub-state is a non-congestion state, data is transmitted at a preset sending rate, and network congestion detection results are continuously obtained during data transmission in the non-congestion state. When the network congestion detection result is no network congestion, the non-congestion state is maintained. When the network congestion detection result is network congestion, the bandwidth evaluation sub-state is switched from the non-congestion state to the congestion attenuation state (i.e., from sub-state A3 to sub-state A2).
[0084] When the current bandwidth assessment sub-state is the congestion attenuation state, the data transmission rate is attenuated according to the preset attenuation strategy. During data transmission in the congestion attenuation state, the network congestion detection result is continuously obtained. When the network congestion detection result is network congestion, the state is maintained in the congestion attenuation state. When the network congestion detection result is no network congestion, the bandwidth assessment sub-state is switched from the congestion attenuation state to the congestion avoidance state (i.e., from sub-state A2 to sub-state A1).
[0085] In the above, by transmitting data at a first transmission rate in the initial state of congestion control, when the detected bandwidth growth information satisfies the preset bandwidth growth condition, the initial state of congestion control is switched to the full load assessment state to transmit data at a second transmission rate, and when the amount of unconfirmed data on the link satisfies the preset unconfirmed data amount condition during data transmission at the second transmission rate, the full load assessment state is switched to the bandwidth assessment state to perform network congestion detection in the bandwidth assessment state, and a bandwidth assessment sub-state is determined in the non-congestion state, the congestion avoidance state and the congestion attenuation state based on the network congestion detection result, the data transmission rate can be determined according to the current bandwidth assessment sub-state, and data transmission is performed at the data transmission rate. , wherein, in the non-congested state of the bandwidth evaluation sub-state, the data transmission rate is the preset transmission rate in the non-congested state, in the congestion avoidance state of the bandwidth evaluation sub-state, the data transmission rate is increased according to the preset growth strategy, and in the congestion attenuation state of the bandwidth evaluation sub-state, the data transmission rate is attenuated according to the preset attenuation strategy. By switching between different bandwidth evaluation sub-states under different network congestion states, the data transmission rate is continuously increased in the non-congested state until the preset transmission rate is reached, and the transmission rate is backed off in time after congestion is detected to alleviate network congestion, which can effectively adapt to the video bit rate fluctuation in the video live broadcast application, and can dynamically determine the data transmission rate to adapt to the fluctuation of the video bit rate, effectively improving the network congestion control effect. At the same time, by accurately switching the bandwidth evaluation sub-state between the non-congested state, the congestion avoidance state and the congestion attenuation state according to the network congestion detection result, the transmission rate is continuously increased in the non-congested network state until the preset transmission rate is reached, and the network congestion is alleviated in time after congestion is detected. While improving the utilization efficiency of the network link, adaptive adjustments are made in time according to network fluctuations to improve the quality of network congestion control.
[0086] Figure 4 Schematic diagram of a network congestion control device provided by an embodiment of the present application. Figure 4 The network congestion control device includes a first transmission module 41, a second transmission module 42, a state determination module 43 and a third transmission module 44.
[0087] Among them, the first transmission module 41 is configured to determine the detection bandwidth growth information when data is transmitted at the first transmission rate in the initial state of congestion control; the second transmission module 42 is configured to switch the initial state of congestion control to the full load assessment state when the detection bandwidth growth information meets the preset bandwidth growth condition, and is used to transmit data at the second transmission rate in the full load assessment state; the state determination module 43 is configured to determine the amount of unconfirmed data on the link during data transmission at the second transmission rate, and switch the full load assessment state to the full load assessment state when the amount of unconfirmed data on the link meets the preset unconfirmed data amount condition. The state is switched to the bandwidth assessment state, which is used to perform network congestion detection in the bandwidth assessment state, and determine the bandwidth assessment sub-state based on the network congestion detection result, and the bandwidth assessment sub-state includes a non-congestion state, a congestion avoidance state and a congestion attenuation state; the third transmission module 44 is configured to determine the data transmission rate according to the current bandwidth assessment sub-state, and transmit data according to the data transmission rate, wherein, in the non-congestion state, the data transmission rate is the preset transmission rate in the non-congestion state, in the congestion avoidance state, the data transmission rate is increased according to the preset growth strategy, and in the congestion attenuation state, the data transmission rate is attenuated according to the preset attenuation strategy.
[0088] In the above, by transmitting data at a first transmission rate in the initial state of congestion control, when the detected bandwidth growth information satisfies the preset bandwidth growth condition, the initial state of congestion control is switched to the full load assessment state to transmit data at a second transmission rate, and when the amount of unconfirmed data on the link satisfies the preset unconfirmed data amount condition during data transmission at the second transmission rate, the full load assessment state is switched to the bandwidth assessment state to perform network congestion detection in the bandwidth assessment state, and a bandwidth assessment sub-state is determined in the non-congestion state, the congestion avoidance state and the congestion attenuation state based on the network congestion detection result, the data transmission rate can be determined according to the current bandwidth assessment sub-state, and data transmission is performed at the data transmission rate. Among them, in the non-congestion state of the bandwidth evaluation sub-state, the data sending rate is the preset sending rate in the non-congestion state, in the congestion avoidance state of the bandwidth evaluation sub-state, the data sending rate is increased according to the preset growth strategy, and in the congestion attenuation state of the bandwidth evaluation sub-state, the data sending rate is attenuated according to the preset attenuation strategy. By converting different bandwidth evaluation sub-states under different network congestion states, the data sending rate is continuously increased in the non-congestion state until it reaches the preset sending rate. After congestion is detected, the sending rate is backed off in time to alleviate network congestion. It can effectively adapt to the video bit rate fluctuation in the live video application, and can dynamically determine the data sending rate to adapt to the fluctuation of the video bit rate, effectively improving the network congestion control effect.
[0089] In a possible embodiment, the first transmission module 41 performs data transmission at a first transmission rate and is configured as follows:
[0090] Perform data transmission at a preset initial rate;
[0091] A first detection bandwidth is determined during data transmission at a preset initial rate, and data transmission is performed at a first set multiple of the first detection bandwidth.
[0092] In a possible embodiment, the detection bandwidth growth information satisfies the preset bandwidth growth condition, and the configuration is as follows:
[0093] The detection bandwidth growth information of the round-trip delay for a set number of consecutive times is lower than the preset growth rate.
[0094] In a possible embodiment, the network congestion control device further includes a bandwidth detection module, and the bandwidth detection module is configured to: determine a second detection bandwidth;
[0095] The second transmission module 42 performs data transmission at a second transmission rate and is configured as follows:
[0096] Data transmission is performed according to a second detection bandwidth having a second set multiple.
[0097] In a possible embodiment, the amount of unconfirmed data on the link meets a preset unconfirmed data amount condition, which is configured as follows: the amount of unconfirmed data on the link is less than the product of the link bandwidth and the round-trip delay.
[0098] In a possible embodiment, the state determination module 43 determines the bandwidth evaluation sub-state based on the network congestion detection result, and is configured as follows:
[0099] When the current bandwidth assessment sub-state is the congestion avoidance state and the network congestion detection result is network congestion, the bandwidth assessment sub-state is switched from the congestion avoidance state to the congestion attenuation state;
[0100] When the current bandwidth assessment sub-state is the congestion avoidance state and the network detection bandwidth reaches the preset sending rate, the bandwidth assessment sub-state is switched from the congestion avoidance state to the non-congestion state;
[0101] When the current bandwidth evaluation sub-state is a non-congestion state and the network congestion detection result is a network congestion, the bandwidth evaluation sub-state is switched from the non-congestion state to the congestion attenuation state;
[0102] When the current bandwidth evaluation sub-state is the congestion reduction state and the network congestion detection result is that there is no network congestion, the bandwidth evaluation sub-state is switched from the congestion reduction state to the congestion avoidance state.
[0103] In a possible embodiment, the state determination module 43 performs network congestion detection and is configured as follows:
[0104] Determine network packet loss rate, round-trip delay, and estimated transmission time of a single key frame;
[0105] When one of the following conditions is met: the network packet loss rate is greater than a preset packet loss rate threshold, the round-trip delay is greater than a preset delay threshold, and the estimated transmission time of a single key frame is greater than a preset time threshold, the network congestion detection result is determined to be network congestion.
[0106] In a possible embodiment, the state determination module 43 determines the estimated time consumption for transmitting a single key frame, and is configured as follows:
[0107] Determine the expected number of rounds to transmit multiple video packets that make up a single key frame under the current network packet loss rate;
[0108] Determine the product of the round-trip delay and the expected number of rounds, and use the product as the estimated transmission time of a single key frame.
[0109] In one possible embodiment, the expected number of rounds is determined by the following formula:
[0110]
[0111] Among them, q is the network packet loss rate, a is the preset coefficient, n is the number of video packets that make up a single key frame, and H n is the harmonic series,
[0112] It is worth noting that in the embodiment of the above-mentioned network congestion control device, the various units and modules included are only divided according to functional logic, but are not limited to the above-mentioned division, as long as the corresponding functions can be achieved; in addition, the specific names of the functional units are only for the convenience of distinguishing each other, and are not used to limit the protection scope of the embodiments of the present application.
[0113] The embodiment of the present application also provides a network congestion control device, which can integrate the network congestion control apparatus provided in the embodiment of the present application. Figure 5 Schematic diagram of a network congestion control device provided by an embodiment of the present application. Figure 5 The network congestion control device includes: an input device 53, an output device 54, a memory 52 and one or more processors 51; the memory 52 is used to store one or more programs; when one or more programs are executed by one or more processors 51, the one or more processors 51 implement the network congestion control method provided in the above embodiment. The network congestion control device, equipment and computer provided above can be used to execute the network congestion control method provided in any of the above embodiments, and have corresponding functions and beneficial effects.
[0114] The embodiments of the present application also provide a non-volatile storage medium storing computer executable instructions, which are used to execute the network congestion control method provided in the above embodiments when executed by a computer processor. Of course, the non-volatile storage medium storing computer executable instructions provided in the embodiments of the present application, whose computer executable instructions are not limited to the network congestion control method provided above, can also execute the related operations in the network congestion control method provided in any embodiment of the present application. The network congestion control apparatus, device and storage medium provided in the above embodiments can execute the network congestion control method provided in any embodiment of the present application. For technical details not described in detail in the above embodiments, please refer to the network congestion control method provided in any embodiment of the present application.
[0115] On the basis of the above embodiments, the embodiments of the present application also provide a computer program product. The technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product. The computer program product is stored in a storage medium and includes a number of instructions for enabling a computer device, a mobile terminal or a processor therein to execute all or part of the steps of the network congestion control method provided in each embodiment of the present application.
Claims
1. A network congestion control method, characterized in that: include: In the case of performing data transmission at a first transmission rate in an initial state of congestion control, determining detection bandwidth growth information; When the detected bandwidth growth information satisfies a preset bandwidth growth condition, the congestion control initial state is switched to a full load evaluation state, so as to perform data transmission at a second transmission rate in the full load evaluation state; In the process of data transmission at the second transmission rate, determining the amount of unconfirmed data on the link, and if the amount of unconfirmed data on the link meets a preset unconfirmed data amount condition, switching the full load assessment state to a bandwidth assessment state, for performing network congestion detection in the bandwidth assessment state, and determining a bandwidth assessment sub-state based on the network congestion detection result, wherein the bandwidth assessment sub-state includes a non-congestion state, a congestion avoidance state, and a congestion attenuation state; The data transmission rate is determined according to the current bandwidth evaluation sub-state, and data transmission is performed according to the data transmission rate, wherein, in the non-congestion state, the data transmission rate is a preset transmission rate in the non-congestion state, in the congestion avoidance state, the data transmission rate is increased according to a preset growth strategy, and in the congestion attenuation state, the data transmission rate is attenuated according to a preset attenuation strategy.
2. The network congestion control method according to claim 1, characterized in that: The performing data transmission at the first transmission rate includes: Perform data transmission at a preset initial rate; A first detection bandwidth is determined during data transmission at a preset initial rate, and data transmission is performed at a first set multiple of the first detection bandwidth.
3. The network congestion control method according to claim 1, characterized in that: The detection bandwidth growth information satisfies a preset bandwidth growth condition, including: The detection bandwidth growth information of a set number of consecutive round-trip delays is lower than a preset growth range.
4. The network congestion control method according to claim 1, characterized in that: Before performing data transmission at the second transmission rate, the method further includes: determining a second detection bandwidth; The performing data transmission at the second transmission rate includes: Data transmission is performed according to the second detection bandwidth of the second set multiple.
5. The network congestion control method according to claim 1, characterized in that: The amount of unconfirmed data on the link meets a preset unconfirmed data amount condition, including: The amount of unconfirmed data on the link is less than the product of the link bandwidth and the round-trip delay.
6. The network congestion control method according to claim 1, characterized in that: The determining of the bandwidth evaluation sub-state based on the network congestion detection result includes: When the current bandwidth evaluation sub-state is a congestion avoidance state and the network congestion detection result is network congestion, switching the bandwidth evaluation sub-state from the congestion avoidance state to the congestion attenuation state; When the current bandwidth assessment sub-state is a congestion avoidance state and the network detection bandwidth reaches a preset sending rate, switching the bandwidth assessment sub-state from the congestion avoidance state to a non-congestion state; When the current bandwidth evaluation sub-state is a non-congestion state and the network congestion detection result is network congestion, switching the bandwidth evaluation sub-state from the non-congestion state to a congestion attenuation state; When the current bandwidth evaluation sub-state is the congestion reduction state and the network congestion detection result is that there is no network congestion, the bandwidth evaluation sub-state is switched from the congestion reduction state to the congestion avoidance state.
7. The network congestion control method according to claim 1, characterized in that: The network congestion detection comprises: Determine network packet loss rate, round-trip delay, and estimated transmission time of a single key frame; When one of the following conditions is met: the network packet loss rate is greater than a preset packet loss rate threshold, the round-trip delay is greater than a preset delay threshold, and the estimated transmission time of a single key frame is greater than a preset time threshold, the network congestion detection result is determined to be network congestion.
8. The network congestion control method according to claim 7, characterized in that: Determine the estimated time required to transmit a single key frame, including: Determine the expected number of rounds to transmit multiple video packets that make up a single key frame under the current network packet loss rate; The product of the round-trip delay and the expected number of rounds is determined, and the product is used as the estimated transmission time of a single key frame.
9. The network congestion control method according to claim 8, characterized in that: The expected number of rounds is determined by the following formula: Among them, q is the network packet loss rate, a is the preset coefficient, n is the number of video packets that make up a single key frame, and H n is the harmonic series, 10. A network congestion control device, characterized in that: It includes a first transmission module, a second transmission module, a state determination module and a third transmission module, wherein: The first transmission module is configured to determine the detection bandwidth growth information when data transmission is performed at a first transmission rate in an initial state of congestion control; The second transmission module is configured to switch the congestion control initial state to a full load evaluation state when the detection bandwidth growth information satisfies a preset bandwidth growth condition, so as to perform data transmission at a second transmission rate in the full load evaluation state; The state determination module is configured to determine the amount of unconfirmed data on the link during data transmission at the second transmission rate, and switch the full load assessment state to the bandwidth assessment state when the amount of unconfirmed data on the link meets a preset unconfirmed data amount condition, so as to perform network congestion detection in the bandwidth assessment state, and determine a bandwidth assessment sub-state based on the network congestion detection result, wherein the bandwidth assessment sub-state includes a non-congestion state, a congestion avoidance state, and a congestion attenuation state; The third transmission module is configured to determine the data transmission rate according to the current bandwidth evaluation sub-state, and transmit data according to the data transmission rate, wherein, in the non-congestion state, the data transmission rate is a preset transmission rate in the non-congestion state, in the congestion avoidance state, the data transmission rate is increased according to a preset growth strategy, and in the congestion attenuation state, the data transmission rate is attenuated according to a preset attenuation strategy.
11. A network congestion control device, characterized in that: include: memory and one or more processors; The memory is used to store one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement the network congestion control method as described in any one of claims 1 to 9.
12. A non-volatile storage medium storing computer executable instructions, characterized in that: The computer executable instructions are used to execute the network congestion control method according to any one of claims 1 to 9 when executed by a computer processor.
13. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the network congestion control method according to any one of claims 1 to 9 is implemented.