Congestion control method, device, equipment and medium

By obtaining authorization tokens and allocating target traffic before sending data flow, the problem of network congestion control delay is solved, and more efficient network resource utilization and transmission performance is achieved.

CN119182722APending Publication Date: 2024-12-24VISIONVERA INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411213559.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-30
Publication Date
2024-12-24

AI Technical Summary

Technical Problem

In the prior art, there is a delay in network congestion control, which leads to untimely congestion control and affects network performance.

Method used

Before sending the data stream, obtain the authorization token, including the target transmission path, authorization bandwidth value and load balancing policy, and allocate the target traffic of the target transmission path according to the load balancing policy to ensure that the data stream does not exceed the allocated bandwidth during transmission.

Benefits of technology

By obtaining authorization tokens in advance and allocating target traffic, congestion is avoided, and the utilization rate and transmission performance of network resources are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119182722A_ABST
    Figure CN119182722A_ABST
Patent Text Reader

Abstract

Provided in an embodiment of the present invention are a congestion control method, apparatus, device and medium, the method being applied to a sending end, the method comprising: before sending a data stream, acquiring an authorization token of the data stream, the authorization token comprising a target transmission path, an authorized bandwidth value and a load balancing strategy; when the current traffic value of the data stream is smaller than the authorized bandwidth value, distributing target traffic of a target transmission path according to a load balancing strategy; and transmitting the data stream through the target transmission path according to the corresponding target traffic. According to the invention, the authorization token of the data stream can be obtained firstly, and the data stream can be transmitted only when the current flow value of the data stream is smaller than the authorization bandwidth value through the authorization token, so that the data stream is ensured not to exceed the allocated bandwidth in the transmission process, and congestion is avoided; the target traffic of the target transmission path can be allocated according to the load balancing strategy, reasonable and effective utilization of network resources is ensured, and the utilization rate and transmission performance of the network resources are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer technology, and in particular to a congestion control method, device, equipment and medium. Background Art

[0002] ECN (Explicit Congestion Notification) is a mechanism used for network communication, which aims to reduce packet loss rate and delay during network congestion. In the prior art, in order to solve the problem of network congestion, after the receiving end receives a message marked with congestion, it will send a message to notify the sending end that congestion has occurred. After the sending end receives the ECN mark in the message, it will reduce the data flow sending rate. However, there is a high delay from the occurrence of congestion to the speed reduction of the sending end, which will lead to the problem of untimely congestion control. Summary of the invention

[0003] In view of the above problems, embodiments of the present invention are proposed to provide a congestion control method, apparatus, device and medium that overcome the above problems or at least partially solve the above problems.

[0004] In order to solve the above problem, an embodiment of the present invention discloses a congestion control method, which is applied to a sending end. The method includes:

[0005] Before sending the data stream, obtaining the authorization token of the data stream, the authorization token including the target transmission path, the authorized bandwidth value, and the load balancing strategy;

[0006] When the current flow value of the data flow is less than the authorized bandwidth value, allocating the target flow of the target transmission path according to the load balancing strategy;

[0007] The data stream is transmitted through the target transmission path according to the corresponding target flow rate.

[0008] Optionally, the authorized bandwidth value of the data flow is determined in the following manner:

[0009] Determining a predicted bandwidth value of the data stream;

[0010] Obtaining the service priority and historical maximum bandwidth of the data flow;

[0011] The authorized bandwidth value of the data flow is determined according to the predicted bandwidth value, the service priority, and the historical maximum bandwidth value.

[0012] Optionally, determining the authorized bandwidth value of the data flow according to the predicted bandwidth value, the service priority, and the historical maximum bandwidth value includes:

[0013] Bi=α*Ti+β*Mi+δ*Pi

[0014] Among them, Bi refers to the predicted basic bandwidth threshold, Ti refers to the predicted bandwidth value, Mi refers to the historical bandwidth maximum value, Pi refers to the service priority, α is the first weight coefficient, β is the second weight coefficient, and δ is the third weight coefficient.

[0015] Optionally, the determining the predicted bandwidth value of the data stream includes:

[0016] The preset time period and the pattern of the data flow are input into the trained traffic prediction model to obtain the predicted traffic value of the data flow.

[0017] Optionally, obtaining the service priority of the data flow includes:

[0018] Obtaining an initial priority of the data stream;

[0019] The target service priority of the data flow is determined according to the current traffic value of the data flow, the predicted bandwidth value and the initial service priority.

[0020] Optionally, the target transmission path is determined by the following method, including:

[0021] Determine a current queue length and a current load of at least one transmission path corresponding to the data flow;

[0022] The target transmission path of the data flow is determined according to a current queue length and a current load of the at least one transmission path.

[0023] Optionally, allocating the target traffic of the target transmission path according to the load balancing strategy includes:

[0024] Obtaining a used bandwidth value, a weight coefficient, a maximum bandwidth value, and a maximum flow value of the target transmission path;

[0025] Determine a remaining bandwidth value of the target transmission path according to the maximum bandwidth value and the used bandwidth value;

[0026] The target flow allocated to the target transmission path is determined according to the flow value of the data flow, and the remaining bandwidth value, the weight coefficient, and the maximum flow value of the target transmission path.

[0027] Optionally, determining the target flow allocated to the target transmission path according to the flow value of the data flow, and the remaining bandwidth value, the weight coefficient, and the maximum flow value of the target transmission path includes:

[0028]

[0029] Among them, Fi refers to the target flow allocated to the target transmission path, Wi refers to the weight coefficient of the target transmission path, Wj refers to the total weight coefficient, T refers to the flow value of the data flow, Ri refers to the remaining bandwidth value of the target transmission path, and Mi refers to the maximum flow value of the target transmission path.

[0030] The present invention also discloses a congestion control device, which is applied to a sending end, and the device comprises:

[0031] An authorization token acquisition module is used to acquire the authorization token of the data stream before sending the data stream, wherein the authorization token includes a target transmission path, an authorized bandwidth value, and a load balancing strategy;

[0032] An allocating module, configured to allocate the target flow of the target transmission path according to the load balancing strategy when the current flow value of the data flow is less than the authorized bandwidth value;

[0033] The transmission module is used to transmit the data stream according to the corresponding target flow through the target transmission path.

[0034] Optionally, the authorized bandwidth value of the data flow is determined by the following modules:

[0035] A first determination module, configured to determine a predicted bandwidth value of the data stream;

[0036] An acquisition module, used to acquire the service priority and historical maximum bandwidth of the data flow;

[0037] The second determination module is used to determine the authorized bandwidth value of the data flow according to the predicted bandwidth value, the service priority, and the historical maximum bandwidth value.

[0038] Optionally, determining the authorized bandwidth value of the data flow according to the predicted bandwidth value, the service priority, and the historical maximum bandwidth value includes:

[0039] Bi=α*Ti+β*Mi+δ*Pi

[0040] Among them, Bi refers to the predicted basic bandwidth threshold, Ti refers to the predicted bandwidth value, Mi refers to the historical bandwidth maximum value, Pi refers to the service priority, α is the first weight coefficient, β is the second weight coefficient, and δ is the third weight coefficient.

[0041] Optionally, the first determining module includes:

[0042] The first determination submodule is used to input the preset time period and the mode of the data flow into the trained traffic prediction model to obtain the predicted traffic value of the data flow.

[0043] Optionally, the acquisition module includes:

[0044] A first acquisition submodule, used to acquire the initial priority of the data stream;

[0045] The second determination submodule is used to determine the target service priority of the data flow according to the current traffic value of the data flow, the predicted bandwidth value and the initial service priority.

[0046] Optionally, the target transmission path is determined by the following modules:

[0047] A third determination module, configured to determine a current queue length and a current load of at least one transmission path corresponding to the data flow;

[0048] The fourth determination module is used to determine the target transmission path of the data flow according to the current queue length and current load of the at least one transmission path.

[0049] Optionally, the allocation module includes:

[0050] A second acquisition submodule is used to acquire a used bandwidth value, a weight coefficient, a maximum bandwidth value, and a maximum flow value of the target transmission path;

[0051] A third determination submodule, configured to determine a remaining bandwidth value of the target transmission path according to the maximum bandwidth value and the used bandwidth value;

[0052] The fourth determination submodule is used to determine the target flow allocated to the target transmission path according to the flow value of the data flow, and the remaining bandwidth value, weight coefficient, and maximum flow value of the target transmission path.

[0053] Optionally, determining the target flow allocated to the target transmission path according to the flow value of the data flow, and the remaining bandwidth value, the weight coefficient, and the maximum flow value of the target transmission path includes:

[0054]

[0055] Among them, Fi refers to the target flow allocated to the target transmission path, Wi refers to the weight coefficient of the target transmission path, Wj refers to the total weight coefficient, T refers to the flow value of the data flow, Ri refers to the remaining bandwidth value of the target transmission path, and Mi refers to the maximum flow value of the target transmission path.

[0056] The present invention also discloses an electronic device, comprising: a processor, a memory, and a computer program stored in the memory and capable of running on the processor, wherein the computer program implements the steps of the above-mentioned congestion control method when executed by the processor.

[0057] The present invention also discloses a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the congestion control method described above are implemented.

[0058] The embodiments of the present invention include the following advantages:

[0059] The present invention discloses a congestion control method, which includes obtaining an authorization token of a data stream before sending the data stream, the authorization token including a target transmission path, an authorized bandwidth value, and a load balancing strategy; when the current flow value of the data stream is less than the authorized bandwidth value, the target flow of the target transmission path is allocated according to the load balancing strategy; and the data stream is transmitted according to the corresponding target flow through the target transmission path. The present invention can first obtain the authorization token of the data stream, and through the authorization token, ensure that the data stream can be transmitted only when the current flow value is less than the authorized bandwidth value, ensure that the data stream will not exceed the allocated bandwidth during the transmission process, and avoid the occurrence of congestion; the present invention can allocate the target flow of the target transmission path according to the load balancing strategy, ensure the reasonable and effective use of network resources, and improve the utilization rate and transmission performance of network resources. BRIEF DESCRIPTION OF THE DRAWINGS

[0060] Figure 1 is a flow chart of the steps of a congestion control method provided by an embodiment of the present invention;

[0061] Figure 2 is a flowchart of another congestion control method provided by an embodiment of the present invention;

[0062] Figure 3 It is a structural block diagram of a congestion control device provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0063] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, the present invention is further described in detail below with reference to the accompanying drawings and specific embodiments.

[0064] Traditional Ethernet is not lossless. Due to its statistical multiplexing and best-effort characteristics, traffic will compete for bandwidth resources when passing through public links, causing conflicts and collisions during transmission. The most direct consequence is that instantaneous congestion on the switch port causes data packet loss.

[0065] The traditional protection method is to measure and match the instantaneous bandwidth available along the way, and continuously push data into the channel until congestion occurs, then reduce the sending rate. However, this "passive" regulation method requires constantly adjusting the sending rate based on the bandwidth estimate of the available channel. Once the congestion signal is delayed or the sending rate is not adjusted in time, it may cause the queue to fluctuate violently, affecting throughput and latency. When multiple data streams are running in parallel, this method is difficult to guarantee a high bandwidth utilization rate of 90%, resulting in a significant loss of transmission resources.

[0066] One of the core concepts of the embodiment of the present invention is to disclose a congestion control method, which obtains the authorization token of the data stream before sending the data stream, and the authorization token includes the target transmission path, the authorized bandwidth value, and the load balancing strategy; when the current flow value of the data stream is less than the authorized bandwidth value, the target flow of the target transmission path is allocated according to the load balancing strategy; the data stream is transmitted according to the corresponding target flow through the target transmission path. The present invention can first obtain the authorization token of the data stream, and through the authorization token, it is ensured that the data stream can only be transmitted when the current flow value is less than the authorized bandwidth value, ensuring that the data stream will not exceed the allocated bandwidth during the transmission process, avoiding the occurrence of congestion; the present invention can allocate the target flow of the target transmission path according to the load balancing strategy, ensuring the reasonable and effective use of network resources, and improving the utilization rate of network resources and transmission performance.

[0067] Reference Figure 1 , shows a flow chart of the steps of a congestion control method provided by an embodiment of the present invention, which is applied to a sending end. The method may specifically include the following steps:

[0068] Step 101, before sending the data stream, obtain the authorization token of the data stream, the authorization token includes the target transmission path, the authorized bandwidth value, and the load balancing strategy.

[0069] In an embodiment of the present invention, before a data flow occurs, the sending end can obtain an authorization token for the data flow. The authorization token may include a target transmission path, an authorized bandwidth value, and a load balancing strategy for the data flow. The target transmission path refers to the optimal transmission path corresponding to the data flow, the authorized bandwidth value refers to the maximum bandwidth value allowed for the data flow to be transmitted, and the load balancing strategy refers to a strategy for how to allocate data flows between different paths or resources to achieve optimal network performance.

[0070] Step 102: when the current flow value of the data flow is less than the authorized bandwidth value, the target flow of the target transmission path is allocated according to the load balancing strategy.

[0071] In an embodiment of the present invention, the sending end can detect whether the current flow of the data flow is less than the authorized bandwidth value. If the current flow of the data flow is greater than the authorized bandwidth value, the data flow is not allowed to be transmitted. If the data flow is less than the authorized bandwidth value, the data flow is allowed to be transmitted. At this time, the target flow of the target transmission path can be allocated according to the load balancing strategy.

[0072] Step 103: Transmit the data stream according to the corresponding target flow rate through the target transmission path.

[0073] In an embodiment of the present invention, after allocating the target traffic of the target transmission path, the sending end can transmit the data stream through the target transmission path according to the corresponding target traffic. For example, if the current traffic of the data stream is 40Mbps, the target transmission path is the first transmission path and the second transmission path, the traffic allocated to the first transmission path is 15Mbps, and the traffic allocated to the second transmission path is 25Mbps. At this time, a data stream of 15Mbps can be transmitted through the first transmission path, and a data stream of 25Mbps can be transmitted through the second transmission path.

[0074] The present invention discloses a congestion control method. The present invention obtains the authorization token of the data stream before sending the data stream, and the authorization token includes the target transmission path, the authorized bandwidth value, and the load balancing strategy; when the current flow value of the data stream is less than the authorized bandwidth value, the target flow of the target transmission path is allocated according to the load balancing strategy; and the data stream is transmitted according to the corresponding target flow through the target transmission path. The present invention can obtain the authorization token of the data stream in advance, and ensure that the data stream can be transmitted only when the current flow value of the data stream is less than the authorized bandwidth value through the authorization token, ensuring that the data stream will not exceed the allocated bandwidth during the transmission process, and avoiding the occurrence of congestion; the present invention can allocate the target flow of the target transmission path according to the load balancing strategy, ensuring the reasonable and effective use of network resources, and improving the utilization rate and transmission performance of network resources.

[0075] Reference Figure 2 , shows a flowchart of another congestion control method provided by an embodiment of the present invention, which is applied to a sending end. The method may specifically include the following steps:

[0076] Step 201, before sending the data stream, obtain the authorization token of the data stream, the authorization token includes the target transmission path, the authorized bandwidth value, and the load balancing strategy.

[0077] In an embodiment of the present invention, before a data flow occurs, the sending end can obtain an authorization token for the data flow. The authorization token may include a target transmission path, an authorized bandwidth value, and a load balancing strategy for the data flow. The target transmission path refers to the optimal transmission path corresponding to the data flow, the authorized bandwidth value refers to the maximum bandwidth value allowed for the data flow to be transmitted, and the load balancing strategy refers to a strategy for how to allocate data flows between different paths or resources to achieve optimal network performance.

[0078] In one embodiment of the present invention, the authorized bandwidth value of a data stream is determined by: determining the predicted bandwidth value of the data stream; obtaining the service priority and historical bandwidth maximum value of the data stream; and determining the authorized bandwidth value of the data stream based on the predicted bandwidth value, service priority and historical bandwidth maximum value.

[0079] In the embodiment of the present invention, the predicted bandwidth value refers to the bandwidth value predicted based on the traffic value of the historical data flow, and the service priority refers to the importance of the data flow relative to other data flows. Different services may have different service quality requirements. For example, a video stream may have a higher priority than an email because a delay or interruption of the video stream will significantly affect the user experience.

[0080] The historical maximum bandwidth refers to the maximum bandwidth actually used by the data flow during the historical period.

[0081] After obtaining the predicted bandwidth value, service priority, and historical maximum bandwidth value, the sender can determine the authorized bandwidth value of the data flow according to the predicted bandwidth value, service priority, and historical maximum bandwidth value.

[0082] In an embodiment of the present invention, determining the authorized bandwidth value of a data flow according to the predicted bandwidth value, the service priority, and the historical maximum bandwidth value includes:

[0083] Bi=α*Ti+β*Mi+δ*Pi Formula (1)

[0084] Among them, Bi refers to the predicted basic bandwidth threshold, Ti refers to the predicted bandwidth value, Mi refers to the historical maximum bandwidth, Pi refers to the service priority, α is the first weight coefficient, β is the second weight coefficient, and δ is the third weight coefficient.

[0085] In the embodiment of the present invention, the authorized bandwidth value Bi can be calculated by formula (1), wherein α, β, and δ can be set according to user needs and are not limited here.

[0086] In one embodiment of the present invention, determining a predicted bandwidth value of a data stream includes: inputting a preset time period and a data stream pattern into a trained traffic prediction model to obtain a predicted traffic value of the data stream.

[0087] In an embodiment of the present invention, a trained traffic prediction model is obtained by pre-training based on data volume and traffic data of historical time periods, wherein different time periods and different data flow patterns in the trained traffic prediction model correspond to predicted traffic values ​​of the data flow, that is, after inputting different time periods and different data flow patterns into the trained traffic prediction model, the predicted traffic values ​​of the corresponding data flow can be output.

[0088] In one embodiment of the present invention, obtaining the service priority of a data stream includes: obtaining an initial priority of the data stream; and determining a target service priority of the data stream according to a current traffic value, a predicted bandwidth value, and an initial service priority of the data stream.

[0089] In the embodiment of the present invention, the initial priority of the data flow can be obtained first, and then the target service priority of the data flow can be determined according to the current traffic value, the predicted bandwidth value and the initial service priority of the data flow, as shown in formula (2):

[0090] Pi′=Pi-γ*(T-Ti)+μ*Pi Formula (2)

[0091] In formula (2), Pi′ refers to the target service priority, Pi refers to the initial priority, T refers to the predicted bandwidth value, Ti refers to the current traffic value, γ refers to the first adjustment coefficient, and μ refers to the second adjustment coefficient. The present invention can dynamically adjust the priority of the data flow to ensure the optimal utilization of network resources.

[0092] In one embodiment of the present invention, the target transmission path is determined by: determining the current queue length and current load of at least one transmission path corresponding to the data flow; and determining the target transmission path of the data flow based on the current queue length and current load of at least one transmission path.

[0093] In the embodiment of the present invention, a data stream may have multiple transmission paths. For example, the transmission paths corresponding to the data are path A, path B, and path C. The current queue lengths and current loads in path A, path B, and path C may be determined. Then, the evaluation value of path A is calculated according to the current queue length and current load of path A, the evaluation value of path B is calculated according to the current queue length and current load of path B, and the evaluation value of path C is calculated according to the current queue length and current load of path C. Then, the target transmission path is calculated by formula (3):

[0094] Path=argmin(∑ n∈P Qn) Formula (3)

[0095] Among them, P is the set of all paths, and Qn refers to the evaluation value of the nth path.

[0096] Step 202: When the current flow value of the data flow is less than the authorized bandwidth value, the used bandwidth value, weight coefficient, maximum bandwidth value, and maximum flow value of the target transmission path are obtained.

[0097] In the embodiment of the present invention, the used bandwidth value refers to the amount of bandwidth currently being used by the target transmission path. This value can be obtained in real time through a network monitoring tool, and it reflects the current load situation on the path. In an example, the target transmission paths are P1, P2, and P3, where the used bandwidth value of P1 is 50Mbps, the maximum bandwidth value is 100Mbps, the weight w1=1, and the maximum flow value is 60Mbps

[0098] P2 used bandwidth value: 70Mbps, maximum bandwidth value: 80Mbps, weight w2=1, maximum flow value: 15Mbps

[0099] P3 used bandwidth value: 80Mbps, maximum bandwidth value: 120Mbps, weight w3=2, maximum flow value: 50Mbps

[0100] Step 203: Determine the remaining bandwidth value of the target transmission path according to the maximum bandwidth value and the used bandwidth value.

[0101] In the embodiment of the present invention, the remaining bandwidth value of the target transmission path can be determined according to the maximum bandwidth value and the used bandwidth value, as shown in formula (4):

[0102] Ri=B i max -Ui Formula (4)

[0103] Among them, Ri refers to the remaining bandwidth value, B i max Refers to the maximum bandwidth value, Ui refers to the used bandwidth value, and the remaining bandwidth values ​​of P1, P2, and P3 can be calculated respectively. The remaining bandwidth of P1: R1 = 100-50 = 50Mbps, the remaining bandwidth of P2: R2 = 80-70 = 10Mbps, and the remaining bandwidth of P3: R3 = 120

[0104] -80=40Mbps.

[0105] Step 204 , determining the target flow allocated to the target transmission path according to the flow value of the data flow, the remaining bandwidth value of the target transmission path, the weight coefficient, and the maximum flow value.

[0106] In the embodiment of the present invention, the flow value of the data flow is taken as 60Mbps for example. The target flow allocated to P1, P2 and P3 can be determined according to the remaining bandwidth values, weight coefficients and maximum flow values ​​of P1, P2 and P3.

[0107] In an embodiment of the present invention, according to the flow value of the data flow, and the remaining bandwidth value, weight coefficient, and maximum flow value of the target transmission path, the target flow allocated to the target transmission path is determined, including:

[0108]

[0109] Among them, Fi refers to the target flow allocated to the target transmission path i, Wi refers to the weight coefficient of the target transmission path, Wj refers to the total weight coefficient, T refers to the flow value of the data flow, Ri refers to the remaining bandwidth value of the target transmission path, and Mi refers to the maximum flow value of the target transmission path.

[0110] In the embodiment of the present invention, the target flow rates allocated to P1, P2 and P3 can be calculated respectively by formula (5), specifically:

[0111]

[0112] Furthermore, there is still 60-15-10-30=5 Mbps left unallocated. Since the remaining bandwidth of P2 is 0 at this time, reallocation is not allowed. At this time, it needs to be allocated again between P1 and P3 according to the weight.

[0113]

[0114] Therefore, 16.67 Mbps of traffic in the data stream can be allocated to P1 for transmission, 10 Mbps of traffic can be allocated to P2 for transmission, and 33.33 Mbps of traffic can be allocated to P3 for transmission.

[0115] Step 205: Transmit the data stream according to the corresponding target flow rate through the target transmission path.

[0116] The present invention discloses a congestion control method. The present invention obtains the authorization token of the data stream before sending the data stream, and the authorization token includes the target transmission path, the authorized bandwidth value, and the load balancing strategy; when the current flow value of the data stream is less than the authorized bandwidth value, the target flow of the target transmission path is allocated according to the load balancing strategy; and the data stream is transmitted according to the corresponding target flow through the target transmission path. The present invention can obtain the authorization token of the data stream in advance, and ensure that the data stream can be transmitted only when the current flow value of the data stream is less than the authorized bandwidth value through the authorization token, ensuring that the data stream will not exceed the allocated bandwidth during the transmission process, and avoiding the occurrence of congestion; the present invention can allocate the target flow of the target transmission path according to the load balancing strategy, ensuring the reasonable and effective use of network resources, and improving the utilization rate and transmission performance of network resources.

[0117] It should be noted that, for the sake of simplicity, the method embodiments are described as a series of action combinations, but those skilled in the art should be aware that the embodiments of the present invention are not limited by the order of the actions described, because according to the embodiments of the present invention, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily required by the embodiments of the present invention.

[0118] Reference Figure 3 , shows a structural block diagram of a congestion control device provided by an embodiment of the present invention, which is applied to a sending end and may include the following modules:

[0119] The authorization token acquisition module 301 is used to acquire the authorization token of the data stream before sending the data stream. The authorization token includes the target transmission path, the authorized bandwidth value, and the load balancing strategy;

[0120] An allocation module 302 is used to allocate the target flow of the target transmission path according to the load balancing strategy when the current flow value of the data flow is less than the authorized bandwidth value;

[0121] The transmission module 303 is used to transmit the data stream according to the corresponding target flow through the target transmission path.

[0122] The present invention discloses a congestion control device. The present invention obtains the authorization token of the data stream before sending the data stream. The authorization token includes the target transmission path, the authorized bandwidth value, and the load balancing strategy. When the current flow value of the data stream is less than the authorized bandwidth value, the target flow of the target transmission path is allocated according to the load balancing strategy. The data stream is transmitted according to the corresponding target flow through the target transmission path. The present invention can obtain the authorization token of the data stream in advance, and through the authorization token, it is ensured that the data stream can be transmitted only when the current flow value is less than the authorized bandwidth value, ensuring that the data stream will not exceed the allocated bandwidth during the transmission process, avoiding the occurrence of congestion; the present invention can allocate the target flow of the target transmission path according to the load balancing strategy, ensuring the reasonable and effective use of network resources, and improving the utilization rate of network resources and transmission performance.

[0123] In one embodiment of the present invention, the authorized bandwidth value of the data flow is determined by the following modules:

[0124] A first determination module, used to determine a predicted bandwidth value of a data stream;

[0125] An acquisition module is used to obtain the service priority and historical maximum bandwidth of data flows;

[0126] The second determination module is used to determine the authorized bandwidth value of the data flow according to the predicted bandwidth value, the service priority, and the historical maximum bandwidth value.

[0127] In an embodiment of the present invention, determining the authorized bandwidth value of a data flow according to the predicted bandwidth value, the service priority, and the historical maximum bandwidth value includes:

[0128] Bi=α*Ti+β*Mi+δ*Pi

[0129] Among them, Bi refers to the predicted basic bandwidth threshold, Ti refers to the predicted bandwidth value, Mi refers to the historical maximum bandwidth, Pi refers to the service priority, α is the first weight coefficient, β is the second weight coefficient, and δ is the third weight coefficient.

[0130] In one embodiment of the present invention, the first determining module includes:

[0131] The first determination submodule is used to input the preset time period and the data flow pattern into the trained traffic prediction model to obtain the predicted traffic value of the data flow.

[0132] In one embodiment of the present invention, the acquisition module includes:

[0133] A first acquisition submodule is used to acquire an initial priority of a data stream;

[0134] The second determination submodule is used to determine the target service priority of the data flow according to the current flow value, the predicted bandwidth value and the initial service priority of the data flow.

[0135] In one embodiment of the present invention, the target transmission path is determined by the following modules:

[0136] A third determination module, configured to determine a current queue length and a current load of at least one transmission path corresponding to the data flow;

[0137] The fourth determination module is used to determine the target transmission path of the data flow according to the current queue length and current load of at least one transmission path.

[0138] In one embodiment of the present invention, the allocation module includes:

[0139] The second acquisition submodule is used to acquire the used bandwidth value, weight coefficient, maximum bandwidth value, and maximum flow value of the target transmission path;

[0140] A third determination submodule is used to determine a remaining bandwidth value of a target transmission path according to the maximum bandwidth value and the used bandwidth value;

[0141] The fourth determination submodule is used to determine the target flow allocated to the target transmission path according to the flow value of the data flow, and the remaining bandwidth value, the weight coefficient, and the maximum flow value of the target transmission path.

[0142] In an embodiment of the present invention, according to the flow value of the data flow, and the remaining bandwidth value, weight coefficient, and maximum flow value of the target transmission path, the target flow allocated to the target transmission path is determined, including:

[0143]

[0144] Among them, Fi refers to the target flow allocated to the target transmission path, Wi refers to the weight coefficient of the target transmission path, Wj refers to the total weight coefficient, T refers to the flow value of the data flow, Ri refers to the remaining bandwidth value of the target transmission path, and Mi refers to the maximum flow value of the target transmission path.

[0145] The present invention discloses a congestion control device. The present invention obtains the authorization token of the data stream before sending the data stream. The authorization token includes the target transmission path, the authorized bandwidth value, and the load balancing strategy. When the current flow value of the data stream is less than the authorized bandwidth value, the target flow of the target transmission path is allocated according to the load balancing strategy. The data stream is transmitted according to the corresponding target flow through the target transmission path. The present invention can obtain the authorization token of the data stream in advance, and through the authorization token, it is ensured that the data stream can be transmitted only when the current flow value is less than the authorized bandwidth value, ensuring that the data stream will not exceed the allocated bandwidth during the transmission process, avoiding the occurrence of congestion; the present invention can allocate the target flow of the target transmission path according to the load balancing strategy, ensuring the reasonable and effective use of network resources, and improving the utilization rate of network resources and transmission performance.

[0146] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0147] An embodiment of the present invention further provides an electronic device, including:

[0148] It includes a processor, a memory, and a computer program stored in the memory and capable of running on the processor. When the computer program is executed by the processor, the various processes of the above-mentioned congestion control method embodiment are implemented, and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.

[0149] An embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the various processes of the above-mentioned congestion control method embodiment are implemented, and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.

[0150] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.

[0151] It will be appreciated by those skilled in the art that the embodiments of the present invention may be provided as methods, devices, or computer program products. Therefore, the embodiments of the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the embodiments of the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.

[0152] The embodiments of the present invention are described with reference to the flowcharts and / or block diagrams of the methods, terminal devices (systems), and computer program products according to the embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of the processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing terminal device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing terminal device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0153] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing terminal device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0154] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal device so that a series of operating steps are executed on the computer or other programmable terminal device to produce a computer-implemented process, thereby providing instructions for executing on the computer or other programmable terminal device to implement the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0155] Although the preferred embodiments of the present invention have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the embodiments of the present invention.

[0156] Finally, it should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or terminal device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or terminal device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or terminal device including the elements.

[0157] The congestion control method, device, equipment and storage medium provided by the present invention are introduced in detail above. Specific examples are used in this article to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea. At the same time, for those skilled in the art, according to the idea of ​​the present invention, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as limiting the present invention.

Claims

1. A congestion control method, characterized in that: Applied to the sending end, the method includes: Before sending a data stream, obtaining an authorization token for the data stream, wherein the authorization token includes a target transmission path, an authorized bandwidth value, and a load balancing strategy; When the current flow value of the data flow is less than the authorized bandwidth value, allocating the target flow of the target transmission path according to the load balancing strategy; The data stream is transmitted through the target transmission path according to the corresponding target flow rate.

2. The method according to claim 1, characterized in that The authorized bandwidth value of the data flow is determined in the following manner: Determining a predicted bandwidth value of the data stream; Obtaining the service priority and historical maximum bandwidth of the data flow; The authorized bandwidth value of the data flow is determined according to the predicted bandwidth value, the service priority, and the historical maximum bandwidth value.

3. The method according to claim 2, characterized in that The step of determining the authorized bandwidth value of the data flow according to the predicted bandwidth value, the service priority, and the historical maximum bandwidth value includes: Bi=α*Ti+β*Mi+δ*Pi Among them, Bi refers to the predicted basic bandwidth threshold, Ti refers to the predicted bandwidth value, Mi refers to the historical bandwidth maximum value, Pi refers to the service priority, α is the first weight coefficient, β is the second weight coefficient, and δ is the third weight coefficient.

4. The method according to claim 2, characterized in that: The determining the predicted bandwidth value of the data stream comprises: The preset time period and the pattern of the data flow are input into the trained traffic prediction model to obtain the predicted traffic value of the data flow.

5. The method according to claim 3, characterized in that: The obtaining the service priority of the data flow includes: Obtaining an initial priority of the data stream; The target service priority of the data flow is determined according to the current traffic value of the data flow, the predicted bandwidth value and the initial service priority.

6. The method according to claim 1, characterized in that The target transmission path is determined by: Determine a current queue length and a current load of at least one transmission path corresponding to the data flow; The target transmission path of the data flow is determined according to a current queue length and a current load of the at least one transmission path.

7. The method according to claim 1, characterized in that The allocating the target traffic of the target transmission path according to the load balancing strategy includes: Obtaining a used bandwidth value, a weight coefficient, a maximum bandwidth value, and a maximum flow value of the target transmission path; Determine a remaining bandwidth value of the target transmission path according to the maximum bandwidth value and the used bandwidth value; The target flow allocated to the target transmission path is determined according to the flow value of the data flow, and the remaining bandwidth value, the weight coefficient, and the maximum flow value of the target transmission path.

8. The method according to claim 7, characterized in that Determining the target flow allocated to the target transmission path according to the flow value of the data flow, and the remaining bandwidth value, the weight coefficient, and the maximum flow value of the target transmission path includes: Among them, Fi refers to the target flow allocated to the target transmission path, Wi refers to the weight coefficient of the target transmission path, Wj refers to the total weight coefficient, T refers to the flow value of the data flow, Ri refers to the remaining bandwidth value of the target transmission path, and Mi refers to the maximum flow value of the target transmission path.

9. A congestion control device, characterized in that: Applied to a transmitting end, the device comprises: An authorization token acquisition module is used to acquire the authorization token of the data stream before sending the data stream, wherein the authorization token includes a target transmission path, an authorized bandwidth value, and a load balancing strategy; An allocating module, configured to allocate the target flow of the target transmission path according to the load balancing strategy when the current flow value of the data flow is less than the authorized bandwidth value; The transmission module is used to transmit the data stream according to the corresponding target flow through the target transmission path.

10. An electronic device, characterized in that: include: A processor, a memory, and a computer program stored in the memory and capable of running on the processor, wherein when the computer program is executed by the processor, the steps of the congestion control method according to any one of claims 1 to 8 are implemented.

11. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the congestion control method according to any one of claims 1 to 8 are implemented.