Network congestion control method and device and network congestion control system

By marking the data packets in length and increasing the priority of short-duration streaming packets when network congestion, the problem of short-time service response time increases caused by long-term service occupation of network bandwidth is solved, and better user experience and response efficiency are achieved.

CN119520406APending Publication Date: 2025-02-25中国邮政储蓄银行股份有限公司
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411917806.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-24
Publication Date
2025-02-25

AI Technical Summary

Technical Problem

In the prior art, long-term services occupy network bandwidth for a long time, resulting in an increase in response time for other short-term service requests, resulting in a problem of response timeout.

Method used

By obtaining the packets to be transmitted, marking them according to the packet length, and prioritizing short-duration streaming packets when the network is congested, ensuring that they can be processed in time.

Benefits of technology

In the event of network congestion, short-duration streaming packets can be sent first, improving the user experience and reducing the risk of response timeouts.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119520406A_ABST
    Figure CN119520406A_ABST
Patent Text Reader

Abstract

The invention provides a network congestion control method, a network congestion control device and a network congestion control system. The method comprises the following steps: acquiring a plurality of data packets to be transmitted; all the data packets are marked according to the length of the data packets, marks comprise a first mark and a second mark, the length of the data packet of the first mark is larger than or equal to a data packet length threshold value, and the length of the data packet of the second mark is smaller than the data packet length threshold value; under the condition of network congestion, improving the priority of the data packet of the second mark, so that the priority of the data packet of the second mark is higher than that of the data packet of the first mark; and transmitting all the data packets to the target terminal according to the priorities of the data packets. According to the scheme, the problem that in the prior art, due to the fact that long-time service occupies long network bandwidth time, the response time of other short-time service requests is increased, and response is overtime is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of network congestion improvement, and in particular to a network congestion control method, device, computer program product and network congestion control system. Background Art

[0002] Most traditional network traffic controls allocate a fair share of bandwidth to each flow, regardless of its duration. As a result, large flows with long duration (e.g., P2P flows) are allocated the same bandwidth as short duration flow users (request data from web pages) that are more sensitive to response time. As a result, long duration flows will occupy bandwidth for a long time and deteriorate the response time of short duration flows, and traditional network control methods are powerless to do anything about this. For example, a sales department downloads reports and performs business operations in an application system. Because the downloaded reports are large, they will continue to occupy network bandwidth, resulting in increased response time for other business requests, which may cause problems such as response timeouts. Summary of the invention

[0003] The main purpose of the present application is to provide a network congestion control method, device, computer program product and network congestion control system, so as to at least solve the problem in the prior art that long-term services occupy network bandwidth for a long time, resulting in an increase in the response time of other short-term service requests and causing response timeouts.

[0004] In order to achieve the above-mentioned purpose, according to one aspect of the present application, a method for controlling network congestion is provided, comprising: obtaining multiple data packets to be transmitted; marking all of the data packets according to the length of the data packets, wherein the mark comprises a first mark and a second mark, the length of the data packet with the first mark is greater than or equal to a data packet length threshold, and the length of the data packet with the second mark is less than the data packet length threshold; in the case of network congestion, increasing the priority of the data packet with the second mark so that the priority of the data packet with the second mark is higher than the priority of the data packet with the first mark; and transmitting all of the data packets to a target terminal according to the priority of the data packet.

[0005] Optionally, before raising the priority of the data packet with the second mark, the method further includes: obtaining the length of the queue to be forwarded, wherein the length of the queue to be forwarded is the length of the queue of the data packets to be transmitted; and determining network congestion when the length of the queue to be forwarded is greater than or equal to a preset queue length threshold.

[0006] Optionally, after marking all the data packets according to the length of the data packets, the method further includes: in case of network congestion, obtaining a discard probability, wherein the discard probability is the probability of discarding the data packets; and discarding at least some of the data packets with the first mark according to the discard probability.

[0007] Optionally, obtaining the discard probability includes: calculating the discard probability according to a probability calculation formula, wherein the probability calculation formula is:

[0008]

[0009] pi represents the drop probability, Q i Indicates the length of the queue to be forwarded, Q min Indicates the minimum preset queue length threshold, Q max Indicates the maximum preset queue length threshold.

[0010] Optionally, after marking all the data packets according to the length of the data packets, the method further includes: obtaining utilization of the network link, wherein the utilization is the percentage of actually used bandwidth to the maximum bandwidth of the link; obtaining traffic share, wherein the traffic share is the ratio of the data packets marked by the first mark to all the data packets; and adjusting the data packet length threshold according to the utilization and the traffic share.

[0011] Optionally, there are multiple network links, and the data packet length threshold is adjusted according to the utilization rate and the traffic proportion, including: extracting the network link with the highest utilization rate to obtain the bottleneck link; when the traffic proportion in the bottleneck link is greater than a preset proportion threshold, reducing the data packet length threshold.

[0012] Optionally, before increasing the priority of the data packet with the second mark, the method further includes: obtaining network-related information, wherein the network-related information includes one or more of the length of the queue to be forwarded, the packet loss rate of the network link, the utilization rate of the network link, the network delay time, the network jitter time, the data packet retransmission rate, the traffic size and the bandwidth usage ratio; constructing a congestion identification model, wherein the congestion identification model is trained using multiple groups of training data, each group of the multiple groups of training data includes historical network-related information obtained within a historical time period, and historical identification results corresponding to the historical network-related information, wherein the historical identification results are used to characterize whether the network is congested within the historical time period; inputting the network-related information into the congestion identification model to obtain an identification result corresponding to the network-related information.

[0013] According to another aspect of the present application, a network congestion control device is provided, including: a first acquisition unit, used to acquire multiple data packets to be transmitted; a marking unit, used to mark all of the data packets according to the length of the data packets, wherein the mark includes a first mark and a second mark, the length of the data packet with the first mark is greater than or equal to a data packet length threshold, and the length of the data packet with the second mark is less than the data packet length threshold; a first processing unit, used to increase the priority of the data packet with the second mark in the case of network congestion, so that the priority of the data packet with the second mark is higher than the priority of the data packet with the first mark; a transmission unit, used to transmit all of the data packets to a target terminal according to the priority of the data packet.

[0014] According to another aspect of the present application, a computer program product is provided, comprising a computer program, wherein when the computer program is executed by a processor, the steps of any one of the network congestion control methods are implemented.

[0015] According to another aspect of the present application, a network congestion control system is provided, comprising: one or more processors, a memory, and one or more programs, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, and the one or more programs include methods for executing any one of the network congestion control methods.

[0016] By applying the technical solution of the present application, short continuous flow data packets are identified by sampling and marking data packets, and their priority is increased when the network is congested. In this way, short continuous flow data packets can be sent first when the network is congested, and short-term small traffic requests can be processed in a timely manner, thereby improving the user experience. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] The drawings constituting part of the present application are used to provide a further understanding of the present application. The exemplary embodiments and descriptions of the present application are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0018] Figure 1 A hardware structure block diagram of a mobile terminal for executing a method for controlling network congestion provided in an embodiment of the present application is shown;

[0019] Figure 2 A schematic diagram of a flow chart of a method for controlling network congestion provided according to an embodiment of the present application is shown;

[0020] Figure 3 A schematic diagram showing bandwidth and response time of existing solutions;

[0021] Figure 4 A schematic diagram showing the bandwidth and response time of the solution of the present application;

[0022] Figure 5 A schematic diagram of the structure of an adaptive bandwidth control system is shown;

[0023] Figure 6 A schematic diagram of the flow of the packet sampling algorithm is shown;

[0024] Figure 7 A structural block diagram of a network congestion control device provided according to an embodiment of the present application is shown.

[0025] The above drawings include the following reference numerals:

[0026] 102, processor; 104, memory; 106, transmission device; 108, input and output devices. DETAILED DESCRIPTION

[0027] It should be noted that, in the absence of conflict, the embodiments and features in the embodiments of the present application can be combined with each other. The present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.

[0028] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present application.

[0029] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequential order. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present application described here. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0030] As introduced in the background technology, in the prior art, long-term services occupy the network bandwidth for a long time, resulting in an increase in the response time of other short-term service requests, causing response timeouts. To solve the above problems, the embodiments of the present application provide a network congestion control method, device, computer program product and network congestion control system.

[0031] The technical solutions in the embodiments of the present invention will be described clearly and completely below in conjunction with the accompanying drawings in the embodiments of the present invention.

[0032] The method embodiments provided in the embodiments of the present application can be executed in a mobile terminal, a computer terminal or a similar computing device. Taking running on a mobile terminal as an example, Figure 1 FIG. 1 is a hardware structure block diagram of a mobile terminal of a method for controlling network congestion according to an embodiment of the present invention. Figure 1 As shown, the mobile terminal may include one or more ( Figure 1 Only one is shown in the figure) a processor 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data, wherein the mobile terminal may also include a transmission device 106 and an input / output device 108 for communication functions. It can be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the mobile terminal. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations are shown.

[0033] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the display method of device information in the embodiment of the present invention. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, the above method is implemented. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories can be connected to the mobile terminal via a network. Examples of the above-mentioned network include but are not limited to the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof. The transmission device 106 is used to receive or send data via a network. The above-mentioned specific examples of the network may include a wireless network provided by a communication provider of the mobile terminal. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 may be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0034] In this embodiment, a method for controlling network congestion running on a mobile terminal, a computer terminal or a similar computing device is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0035] Figure 2 FIG. 1 is a flow chart of a method for controlling network congestion according to an embodiment of the present application. Figure 2 As shown, the method comprises the following steps:

[0036] Step S201, obtaining a plurality of data packets to be transmitted;

[0037] Specifically, a network device (such as a router or switch) collects all packets waiting to be transmitted. Packets can come from multiple sources and may have different lengths and destinations. Suppose in an enterprise network, a router collects 100 packets to be transmitted at a certain point in time. These packets may include emails, instant messages, file transfers, online conference video streams, etc.

[0038] Step S202, marking all the above-mentioned data packets according to the length of the above-mentioned data packets, wherein the marking includes a first mark and a second mark, the length of the above-mentioned data packets marked by the first mark is greater than or equal to the data packet length threshold, and the length of the above-mentioned data packets marked by the second mark is less than the above-mentioned data packet length threshold;

[0039] Specifically, the length of each data packet is checked and marked according to the comparison result with the preset data packet length threshold. The data packets are divided into two categories: first marking and second marking. If the length of the data packet is greater than or equal to the preset data packet length threshold, it is marked as the first marking; conversely, if the length of the data packet is less than the preset threshold, it is marked as the second marking.

[0040] For example, the preset packet length threshold is 1000 bytes. The router checks the length of each packet and marks the file transfer packets with a length of 1001 bytes to 5000 bytes as the first mark; and marks the email and instant message packets with a length less than 1000 bytes as the second mark. This marking mechanism allows shorter packets to be processed preferentially during congestion to reduce latency.

[0041] Step S203, in the case of network congestion, raising the priority of the data packet with the second mark so that the priority of the data packet with the second mark is higher than the priority of the data packet with the first mark;

[0042] Specifically, when the network detects congestion (for example, because the forwarding queue length increases, the packet loss rate rises, or the link utilization approaches 100%), the algorithm adjusts the processing priority of the data packets. The priority of the second marked data packets (usually smaller and potentially more time-sensitive data packets) will be increased, which means that in congestion situations, these data packets will be processed and transmitted first.

[0043] Step S204: transmitting all the above data packets to the target terminal according to the priorities of the above data packets.

[0044] Specifically, after completing the marking and priority adjustment of the data packets, the network device will transmit the data packets according to the new priority order. The data packets will be sent in order according to their priority, and the data packets with higher priority (i.e. the data packets with the second mark) will be placed at the front of the queue, so as to reach their target terminal earlier.

[0045] Through this embodiment, by sampling and marking the data packets, short continuous flow data packets are identified, and the priority of the short continuous flow data packets is increased when the network is congested. In this way, short continuous flow data packets can be sent first when the network is congested, and short-term small traffic requests can be processed in time, thereby improving the user experience.

[0046] Specifically, the above solution of the present application takes the flow duration into consideration and assigns higher priority to flows with shorter durations. This method achieves high performance in flows with short durations while not degrading the performance of flows with long durations.

[0047] Specifically, the above-mentioned solution of the present application does not require preset uplink and downlink traffic rates, which can not only fully take care of the network requests of short-duration flows, but also has no impact on the network transmission tasks of long-duration flows.

[0048] Specifically, the existing network transmission control allocates bandwidth evenly to all requests, which increases the response time of short-lasting flows and easily causes network timeouts and other problems. For users who are more concerned about time sensitivity, such as credit card bill inquiries, mortgage balance inquiries, online shopping, etc., when the network transmission control allocates bandwidth evenly, requests for short-lasting flows may be allocated bandwidth that is not commensurate with their needs. This will cause the response time of short-lasting flows to increase significantly, and users may feel that the network response is slow, resulting in a poor user experience.

[0049] Specifically, the above scheme of the present application can sample and mark data packets. By sampling and marking data packets, short continuous flow data packets can be identified and their priority can be increased when the network is congested, thereby achieving a better user experience.

[0050] Specifically, the time flow of the existing scheme is as follows Figure 3As shown, the effect of using the present application to temporarily adjust the short-duration flow is as follows Figure 4 As shown in the figure, after the priority of the short duration stream is increased, the response time of the short duration stream is shortened. Since the main performance criterion (file transfer time) is determined by the average throughput of the stream duration, and the long duration stream is much longer than the short duration stream, it does not have a significant impact on the performance of the long duration stream.

[0051] Specifically, the adaptive bandwidth control system of the present application (i.e., the network congestion control system described below in this solution) is as follows: Figure 5 As shown, there are three types of network devices: edge nodes, internal nodes, and control servers (ie, control nodes).

[0052] For edge nodes, the use of packet sampling algorithms can effectively identify long-duration flows and significantly reduce the number of flows that need to be monitored. We use packet sampling algorithms at edge nodes to monitor the flow of long-duration flows and mark data packets whose flow transmission rate is greater than the allowed rate AR0, so that internal nodes can selectively discard marked data packets when network congestion occurs. The specific process of the packet sampling algorithm is as follows: Figure 6 As shown, when a data packet arrives at an edge node, it is determined whether the current data packet already has a monitoring flow entry. If so, the current packet is monitored for labeling. If not, it is determined whether the current data packet is a sampling packet (N=1000). If so, the monitoring flow entry is added. If not, the packet is forwarded.

[0053] Specifically, at each edge node, we maintain a table of flow monitoring entries, and when a packet arrives at an edge node, we check if there is already an entry in the table for the flow to which the packet belongs. If so, we perform traffic supervision and marking on the current flow. Otherwise, we sample every N packets from the packets arriving at the node, where N is set to 1000. If the packet is sampled, we add the entry of the flow (the flow to which the packet belongs) to the table. By doing this, we can reduce the number of flows to be monitored, since we only need to manage the sampled flows. In addition, the longer the duration of a flow, the greater the number of packets, and the greater the probability of being sampled. Therefore, according to the law of large numbers, it is sufficient for us to supervise only the sampled flows, since our goal is to supervise flows of larger scale.

[0054] Specifically, the adapted packet sampling and marking algorithm of this solution, in order to shorten the response time of short-duration flows, samples and marks data packets, identifies short-duration flow data packets, and increases the priority of short-duration flow data packets when the network is congested, thereby achieving a better user experience.

[0055] During the specific implementation process, before increasing the priority of the above-mentioned data packet with the above-mentioned second mark, the above-mentioned method also includes the following steps: obtaining the length of the queue to be forwarded, wherein the above-mentioned queue to be forwarded is the length of the queue of the above-mentioned data packets to be transmitted; when the above-mentioned queue to be forwarded is greater than or equal to the preset queue length threshold, determining network congestion.

[0056] In this solution, by continuously monitoring the queue length, network devices can detect network congestion in real time and respond quickly. The preset queue length threshold is based on statistical analysis during normal network operation, ensuring accurate identification when actual congestion occurs.

[0057] Specifically, network devices (such as routers and switches) determine the network status by detecting the length of the queues for storing data packets to be transmitted. The length of the queue to be forwarded refers to the number of data packets waiting to be forwarded to the network. When the length of this queue grows to or exceeds a preset queue length threshold, the network device will consider that the network is experiencing congestion and needs to take corresponding congestion control measures.

[0058] Specifically, the "queue length to be forwarded" here refers to the length of the queue inside the network device for storing data packets waiting to be forwarded to the next hop (i.e., the next node in the network). At any given point in time, there can be multiple data packets waiting to be transmitted in this queue. The queue length reflects the burden of the network device currently processing data packets. For example, if there are many data packets waiting to be forwarded in the queue, this may mean that the network device receives data packets faster than it actually forwards them.

[0059] Specifically, the network device will preset a queue length threshold, which is set based on the device's processing capabilities and normal network operating conditions. When it detects that the "queue length to be forwarded" exceeds this preset threshold, the network device will determine that the network is currently in a congested state. This is because in normal network operation, the device should be able to quickly process and forward data packets to keep the queue length at a low level. Once the queue length increases abnormally and exceeds the preset threshold, it usually means that the speed at which data packets are generated or arrive in the network exceeds the processing and forwarding speed of the network, resulting in a backlog of data packets in the queue, which constitutes a sign of network congestion.

[0060] Assume that inside a data center, there is a router responsible for managing network traffic. It has a queue for forwarding to store packets waiting to be transmitted. Under normal circumstances, the queue length is kept at a low level, such as an average of 50 packets. In order to detect network congestion, the router sets a queue length threshold, such as 150 packets.

[0061] Monitor queue length: The router continuously monitors the length of its queue to be forwarded. At some point in time, the queue length suddenly increases to 160 packets, exceeding the preset threshold of 150 packets.

[0062] Network congestion judgment: When the router detects that the queue length exceeds the threshold, it immediately determines that the network is in a congested state. This means that the current network traffic exceeds the network's processing capacity, causing data packets to accumulate in the queue.

[0063] Response measures: After detecting network congestion, the router will take appropriate measures to alleviate the congestion. For example, it may increase the priority of packets marked as short-duration flows (such as web page requests), reduce the priority of packets of long-duration flows (such as large file transfers), or start to drop some packets according to certain policies to prevent the queue from growing further.

[0064] Effect evaluation: By taking these measures, the router can quickly reduce the length of the queue to be forwarded and restore the normal operation of the network. This helps ensure that the response time of key services will not increase significantly, while avoiding potential packet loss and delay.

[0065] Continuous monitoring and adjustment: After congestion is relieved, the router will continue to monitor the queue length. Once the threshold is reached or exceeded again, the network status will be re-evaluated and measures will be taken to form a continuous monitoring and response mechanism to ensure stable and optimized network performance.

[0066] In some embodiments, after marking all of the above-mentioned data packets according to the length of the above-mentioned data packets, the above-mentioned method also includes the following steps: in case of network congestion, obtaining a discard probability, wherein the above-mentioned discard probability is the probability of discarding the above-mentioned data packets; based on the above-mentioned discard probability, discarding at least part of the above-mentioned data packets with the first mark.

[0067] In this scheme, in network congestion control, by calculating the drop probability and selectively dropping the first marked data packets according to the probability, the drop probability can be dynamically adjusted according to the severity of congestion. When the congestion situation intensifies, the drop probability will also increase accordingly, giving priority to protecting those time-sensitive short-duration flows, and reducing the network load by sacrificing some data packets of long-duration flows to avoid critical services being affected. By selectively dropping data packets, network devices can prevent network overload and avoid excessive packet loss, thereby reducing network delays and improving network stability and efficiency.

[0068] Specifically, the above embodiment can discard data packets according to the policy, calculate the linear packet loss policy according to the network situation, and identify the data packets to be discarded in advance according to the policy to avoid further congestion of the network and prevent network overload.

[0069] Specifically, internal nodes perform selective packet discarding according to the current network congestion. When the network is in good condition, no packet discarding is performed. When the network is slightly congested, marked packets are selectively discarded with a certain probability. When the network is severely congested, all marked packets are discarded. We judge the network congestion according to the forwarding queue length of the current node, and use a linear increasing function (with less computational effort) to calculate the probability of discarding marked packets when the network is slightly congested.

[0070] Specifically, the node selective packet discarding strategy of this scheme can calculate the probability of a marked packet being discarded according to the network congestion demarcation threshold, and calculate whether the currently transmitted packet should be discarded based on this probability. When the network approaches the congestion critical point, further congestion can be avoided by discarding packets, which helps prevent network overload.

[0071] When a network device (such as a router) detects network congestion (e.g., through queue length detection in step S201), it calculates the probability of discarding certain data packets. This probability is a numerical value that indicates the probability that a certain data packet will be discarded by the system under congestion conditions. The calculation of the discard probability is usually based on the severity of congestion, the type of data packet (e.g., size, duration, priority), and the policy of the network device.

[0072] The drop probability is a value between 0 and 1, where 0 means the packet will definitely not be dropped, and 1 means the packet will definitely be dropped. The middle value indicates the probability that the packet may be dropped, and the higher the value, the greater the possibility of being dropped.

[0073] In the case of congestion, the network device checks the drop probability of each first-marked packet, and if the probability is greater than a randomly generated value (usually between 0 and 1), the packet will be dropped. In this way, the network device can selectively drop packets with large flows or long durations instead of dropping all packets indiscriminately, which helps maintain the transmission quality of critical short-duration flows while alleviating network congestion.

[0074] For example, in an enterprise network environment, suppose a network device (router) detects that the length of its "queue to be forwarded" has increased abnormally and exceeded the preset queue length threshold, indicating that the network is experiencing congestion. At this time, the router needs to take measures to alleviate the congestion and give priority to ensuring the smooth transmission of short-duration flows (such as web page data and instant messages).

[0075] In actual operation, assume that the preset queue length threshold is 150 packets, the current queue length is 250 packets, and the maximum queue length is 300 packets. According to the above formula, the router calculates the drop probability as 0.67 (i.e. ((250-150) / (300-150))). This means that the router will have a 67% chance of dropping a selectively marked packet to relieve congestion.

[0076] Based on the calculated drop probability, the router will randomly check each first-tagged packet and decide whether to drop the packet based on the drop probability. For example, if the drop probability is 0.67, then for each first-tagged packet, the router will generate a random number (between 0 and 1). If this random number is less than or equal to 0.67, the packet will be dropped, otherwise the packet will continue to queue for transmission. Assume that there are 30 first-tagged packets in the current queue (these packets may be large file transfers, video conferencing data, etc.). The router will decide whether to keep or remove each packet based on the calculated drop probability of 0.67. For example, for the first first-tagged packet that is checked, the router generates a random number of 0.4, which is less than 0.67, so the packet is dropped; for the second packet, the random number is 0.75, which is greater than 0.67, so the packet is not dropped and continues to queue for transmission. In this way, the router can selectively reduce the number of first-tagged packets, free up more bandwidth resources for short-duration flows, and ensure the normal operation of critical services.

[0077] In the specific implementation process, obtaining the discard probability can be achieved by the following steps: according to the probability calculation formula, the above discard probability is calculated, wherein the above probability calculation formula is:

[0078]

[0079] pi represents the above discard probability, Q i represents the length of the queue to be forwarded, Q min Indicates the minimum preset queue length threshold, Q max Indicates the maximum preset queue length threshold.

[0080] In this solution, a probability calculation formula can be used to quantify the probability of discarding certain data packets marked as the first mark in the case of network congestion, and then the data packet discarding strategy can be intelligently adjusted when the network is congested.

[0081] Specifically, Q i is the current queue length to be forwarded at node i, p i is the drop probability of the marked data packet currently arriving at node i.

[0082] In some embodiments, after marking all of the above-mentioned data packets according to the length of the above-mentioned data packets, the above-mentioned method also includes the following steps: obtaining the utilization rate of the network link, wherein the above-mentioned utilization rate is the percentage of the actually used bandwidth to the maximum bandwidth of the link; obtaining the traffic proportion, wherein the above-mentioned traffic proportion is the ratio of the above-mentioned data packets marked with the first mark to all the above-mentioned data packets; and adjusting the above-mentioned data packet length threshold according to the above-mentioned utilization rate and the above-mentioned traffic proportion.

[0083] In this solution, by dynamically adjusting the packet length threshold, it can better adapt to the real-time status of the network link, ensure that network bandwidth resources are reasonably allocated, and avoid long-duration or large-volume packets from excessively occupying resources and affecting the transmission of critical short-duration flows. It can give priority to protecting packets of short-duration flows, reduce delays and packet loss rates, and thus improve the overall network performance and user experience. By adjusting the packet length threshold, network congestion can be more accurately identified and handled, preventing excessive packet loss and network performance degradation.

[0084] Specifically, network link utilization refers to the percentage of the actual bandwidth used by a network link to its maximum bandwidth within a certain period of time. For example, if the maximum bandwidth of a link is 100Mbps and the actual bandwidth used is 80Mbps, then the link utilization is 80% (i.e. 80 / 100). Link utilization is an important network performance indicator that reflects the busyness of the link and the efficiency of resource use.

[0085] Specifically, the traffic proportion in this context refers to the proportion of packets marked with the first mark (e.g., packets with long duration or large flow) among all packets passing through the network link. This proportion is obtained through statistical analysis. For example, if there are 1000 total packets passing through the link in a certain period of time, of which 200 are marked with the first mark, then the traffic proportion is 20%.

[0086] Specifically, the network device will adjust the packet length threshold according to the real-time status of link utilization and traffic share. The packet length threshold is a reference value used to determine which packets need to be marked (such as the first mark) to apply to special traffic control strategies. For example, if the link utilization is very high (for example, more than 90%), and the traffic share of long-duration or large-flow packets is also large (for example, more than 30%), this may mean that network resources are being occupied by a large number of packets, resulting in a decrease in the service quality of short-duration flows. In this case, the network device may adjust the packet length threshold to more effectively identify and mark large-flow packets, thereby taking measures (such as priority adjustment or packet discard) to alleviate resource constraints and ensure the stability of network services and the rapid response of short-duration flows.

[0087] Specifically, in existing network transmission control schemes, most traffic control methods require preset thresholds and cannot be adjusted adaptively according to network conditions. Improper threshold settings lead to low network transmission efficiency. If the control method requires default thresholds, and these thresholds cannot be adjusted adaptively according to actual network conditions, the network may have excessive traffic in some cases, resulting in insufficient bandwidth. This may lead to the following problems:

[0088] A) Resource waste: At certain moments, the network may have more available bandwidth, but due to fixed threshold limits, these bandwidths cannot meet higher demands, resulting in resource waste.

[0089] B) Network congestion: If the threshold is set too high, it will easily lead to network congestion, which may cause packet loss, increased latency, and network instability, thus affecting the user experience.

[0090] C) Unfair allocation: For different types of traffic, if the same fixed threshold is used, it may lead to unfair bandwidth allocation. Some important applications may be treated unfairly, while other applications may occupy too much bandwidth.

[0091] Specifically, the above-mentioned embodiment can realize adaptive transmission rate control, adjust the network transmission rate of the bottleneck link according to the utilization rate of the network link and the link traffic situation, and adjust the data packet sampling marking situation and the data packet discard strategy accordingly, thereby improving the network transmission efficiency while fully taking into account the network requests of short-duration flows.

[0092] In the specific implementation process, there are multiple network links. According to the utilization rate and the traffic proportion, the packet length threshold is adjusted, which can be achieved through the following steps: extracting the network link with the highest utilization rate to obtain the bottleneck link; when the traffic proportion in the bottleneck link is greater than the preset proportion threshold, reducing the packet length threshold.

[0093] In this solution, by identifying bottleneck links and dynamically adjusting the packet length threshold according to the traffic proportion, it is possible to avoid overburdening key links, allocate bandwidth reasonably, and ensure that all types of traffic receive appropriate service quality. By identifying and controlling large traffic packets earlier, network congestion can be prevented, delays and packet loss can be reduced, and the overall stability and efficiency of the network can be improved. Short-duration flows can be processed first to ensure rapid response of key services (such as web page loading and instant messaging) and improve user satisfaction.

[0094] Specifically, in a network, different links may carry different amounts and types of data traffic. The utilization of a link reflects the use of its bandwidth resources, and high utilization suggests that the link may be approaching or reaching its capacity limit. The bottleneck link refers to the link in the network that currently has the highest utilization and is closest to its maximum bandwidth capacity. In a multi-link network, by monitoring and analyzing the utilization of all links, it is possible to identify which link is becoming a bottleneck for network performance. Once the bottleneck link is identified, network managers or intelligent network devices can focus resources and attention to optimize the flow control of the link to avoid further congestion and performance degradation.

[0095] Specifically, traffic proportion refers to the proportion of data packets marked as the first mark (such as data packets with large flow or long duration) in all transmitted data packets in the bottleneck link. The preset proportion threshold is a key indicator pre-set by the network administrator or system to determine whether the proportion of first-marked data packets is too high. If the traffic proportion in the bottleneck link exceeds this preset threshold, this indicates that long-duration or large-flow data packets are over-consuming network resources and may have a negative impact on short-duration traffic. In this case, the network device or management system will reduce the data packet length threshold, which will cause more data packets to be identified as large-flow or long-duration data packets and marked as the first mark.

[0096] Specifically, the purpose of reducing the packet length threshold is to more strictly control the transmission of large traffic packets. By lowering the threshold, the system can identify and mark more large traffic packets, so that traffic control measures such as priority adjustment, delay or packet drop can be taken when necessary. This helps prevent network congestion, ensure that critical and time-sensitive short-duration flows are given priority, and improve overall network performance and user experience.

[0097] For example, there are multiple links in an enterprise's internal network connecting servers and employee workstations in different departments. The bandwidth and utilization of these links vary, and network equipment needs to ensure that even when network traffic peaks, all key businesses (such as financial transactions, real-time communications) can obtain sufficient bandwidth resources without being affected by large file transfers or long-duration streams.

[0098] First, the network equipment starts to monitor the utilization of all links in real time. At a certain point in time, suppose the equipment identifies that a link connecting the finance department server and the data center is currently utilized at 95%, while the utilization of other links is below 70%. This indicates that the link connecting the finance department is becoming a bottleneck in the network because it is close to or has reached its maximum bandwidth capacity, which may cause packet delays and packet loss, affecting the transmission efficiency of short-duration flows.

[0099] Next, the network device checks the traffic proportion of packets marked with the first tag (such as large file transfers or long duration flows) in the bottleneck link. Assume that the preset traffic proportion threshold is 30%, and the network device finds that the traffic proportion of packets marked with the first tag in the finance department link is 40%. This exceeds the preset threshold, which means that large file transfers or long duration flows are over-occupying network resources and may affect the performance of other short duration flows.

[0100] To solve this problem, the network device will reduce the packet length threshold, for example, from the original 10MB to 5MB. This will cause more packets to be identified as large traffic packets and marked as the first mark, so that when the network device takes traffic control measures, these packets will be given priority, such as being delayed or discarded, to protect the normal transmission of short-duration flows.

[0101] Assuming that this threshold is initially set to 10MB, it means that all packets larger than 10MB will be marked as the first mark and may be affected by flow control. The network device monitors the traffic of all links in real time, including the size and type of packets, to calculate the traffic proportion of the first marked packets. This threshold is set based on the overall traffic and business needs of the network to ensure that critical services are not affected by long duration or large file transfers. Once it is detected that the traffic proportion of the first marked packets in the bottleneck link exceeds the preset threshold, the network device automatically reduces the packet length threshold, for example, from 10MB to 5MB.

[0102] Specifically, in the control node, the allowed rate AR0 can generally be set as the minimum guaranteed bandwidth of the system upload and download services, but this cannot fully utilize network resources according to the actual load of the system. In addition, inappropriate setting of AR0 will greatly reduce the actual effect of this algorithm. To this end, we propose a method for adaptively updating the allowed rate AR0 to meet the above requirements.

[0103] In our adaptive bandwidth control method, the control node monitors the link utilization p k (i, j) and the proportion of marked traffic in each link r k (i,j), which is easy to measure, where p k (i,j) represents the utilization rate of the jth link of node i in the kth measurement interval, r k (i,j) represents the proportion of labeled packets on the jth link of node i in the kth measurement interval. The bottleneck link is defined as j. k = argmax j∈S(k) p k(i,j), that is, the link with the highest link utilization, where k is the kth measurement interval. For the adaptive update of the allowed rate AR0, we focus on monitoring the traffic conditions of the bottleneck link, update the allowed rate AR0 based on the traffic conditions of the bottleneck link, and then synchronize the updated allowed rate AR0 to each edge node through the control node so that the proportion of labeled traffic will not be too high or too low. This is because an excessively high marked traffic ratio means that data packets of short-time flows that should be automatically given priority may also be marked on the edge node, which is caused by the allowed rate being too low. Conversely, if the labeled traffic ratio is too low, it means that even if all labeled packets are discarded, the network congestion cannot be alleviated. Therefore, both labeled and unlabeled packets may be lost. The specific update logic of the allowed rate AR0 is as follows:

[0104]

[0105] AR0 k+1 represents the allowed rate of the k+1th measurement interval, β and γ represent the allowed rate AR0 of the kth measurement interval, respectively. k The scaling factor (default β = 0.9, γ = 1.1), ρ th Indicates the link utilization threshold (default ρ th =0.9), r th1 and r th2 The upper and lower bounds of the proportion of labeled packets (default r th1 =0.4, r th2 =0.8), with a measurement interval of 5 minutes. We only use the network bottleneck link utilization greater than ρth and the marked traffic ratio r k (i,j k ) is too high or too low, because frequent data updates will inevitably affect the performance of the network itself.

[0106] Specifically, the adaptive transmission rate update algorithm of this scheme monitors the link utilization and link traffic of network nodes, finds out the bottleneck link and regulates the transmission rate of the bottleneck link. By adaptively updating the transmission rate of the bottleneck link and enhancing the priority of short-duration flows, it ensures that the network can still provide stable performance under high load conditions and provides a better user experience for users requesting short-duration flows.

[0107] Specifically, the adaptive network transmission rate update of the present solution does not need to preset the upper and lower limits of the network transmission rate as in the existing network transmission control device. By monitoring the network link utilization and link traffic, the transmission rate of the bottleneck link is adaptively adjusted. Combined with the packet marking and packet loss strategy of the present invention, the network transmission efficiency is improved.

[0108] In some embodiments, before increasing the priority of the data packet with the second mark, the method further includes the following steps: obtaining network-related information, wherein the network-related information includes one or more of the length of the queue to be forwarded, the packet loss rate of the network link, the utilization rate of the network link, the network delay time, the network jitter time, the data packet retransmission rate, the traffic size and the bandwidth usage ratio; constructing a congestion identification model, wherein the congestion identification model is trained using multiple sets of training data, and each set of training data in the multiple sets of training data includes historical network-related information obtained within a historical time period and historical identification results corresponding to the historical network-related information, wherein the historical identification results are used to characterize whether the network is congested within the historical time period; inputting the network-related information into the congestion identification model to obtain an identification result corresponding to the network-related information.

[0109] In this solution, the model can make intelligent predictions based on historical data and real-time network information, identify the trend of network congestion in advance, and buy time for taking preventive measures. Through the evaluation of the model, network managers can understand specifically which indicators have the greatest impact on network congestion, so as to adjust the network configuration more targetedly to avoid resource waste and invalid operations. Early identification and handling of network congestion can significantly reduce data packet delay and packet loss rate, ensure rapid response and high-quality transmission of key services, and improve user satisfaction.

[0110] Specifically, during the network monitoring process, network administrators or intelligent network devices will collect a variety of key indicators in real time, which together reflect the operating status and performance of the network. For example, the length of the queue to be forwarded can reveal the processing pressure and congestion level of the network equipment; the packet loss rate and retransmission rate are directly related to the reliability of network transmission; and the network delay time, jitter time and link utilization rate affect the transmission speed of data packets and the overall efficiency of the network. The flow size and bandwidth usage ratio help understand the allocation and use of network resources. By comprehensively analyzing these indicators, we can get a comprehensive understanding of the current status of the network and provide basic data for the next step of congestion identification and flow control.

[0111] The length of the queue to be forwarded refers to the number of packets in the output queue of a network device (such as a router or switch) waiting to be forwarded to the next network node. The queue length is an important indicator for judging the processing capacity of a network device. When the queue length increases, it may indicate that the forwarding capacity of the network device cannot keep up with the arrival speed of the data packets, which usually leads to increased packet delay and even packet loss in severe cases.

[0112] The packet loss rate of a network link refers to the proportion of data packets that fail to reach the destination due to various reasons (such as network congestion, equipment failure, signal interference) during transmission on a network link. A high packet loss rate often means poor reliability of network transmission, which may affect the integrity of data transmission and user experience.

[0113] The utilization of a network link refers to the ratio of the amount of data actually transmitted by a network link in a certain period of time to the maximum transmission capacity of the link (i.e., link bandwidth). A high utilization may indicate that the link is approaching or has reached its capacity limit, and further increasing traffic may cause congestion and performance degradation.

[0114] Network latency, also known as "round-trip time" or "ping time", refers to the time it takes for a data packet to travel from the sender to the receiver and back to the sender. Long network latency may be caused by factors such as network congestion, long link distance, slow device processing, etc., affecting the experience of real-time applications such as video calls and online games.

[0115] Network jitter time, jitter refers to the degree of variation in network delay time, that is, the fluctuation of delay time when data packets are transmitted in the network. High jitter means unstable delay time, which is not good for applications that require stable delay (such as VoIP, real-time data flow).

[0116] Packet retransmission rate,The packet retransmission rate is the ratio of the number of packets that need to be resent due to packet loss to the total number of packets. Network protocols (such as TCP) usually automatically retransmit packets after detecting packet loss. A high retransmission rate not only consumes additional bandwidth resources, but may also further aggravate network congestion.

[0117] Traffic size, which usually refers to the amount of data that passes through a network link within a certain period of time, usually in bytes or packets. Monitoring traffic size helps understand the network load and traffic trends, thereby predicting potential congestion problems.

[0118] Bandwidth usage ratio, which refers to the ratio of the bandwidth actually used by a network link in a certain period of time to the total bandwidth of the link. This is similar to link utilization, but focuses more specifically on the allocation and use of bandwidth resources. A high bandwidth usage ratio may indicate that link resources are tight and measures need to be taken to optimize traffic control.

[0119] The congestion identification model is a model trained by a machine learning algorithm that can predict whether the network is experiencing congestion based on current network information. The training data set includes records of historical network-related information and identification results of whether the network is congested at the time. This information can be extracted from the logs of network devices, covering various network indicators and states. The historical identification results are marked based on experience or expert knowledge, indicating whether the network is considered congested at a specific historical point in time. Through training, the model learns the association between various network indicators and congestion status, and can identify the precursors of network congestion and predict possible congestion events in the future.

[0120] Once the congestion identification model is established, the network equipment can input the collected network-related information into the model in real time to obtain the congestion identification results of the current network status. This process is automated, and the model will evaluate the health of the network based on the input network indicators and determine whether it is in a congested state. The identification result can be "congested" or "non-congested", as well as a quantitative value of the congestion probability, which provides a basis for network managers to take actions, such as adjusting traffic control strategies, optimizing resource allocation, or notifying users in advance of possible network instability.

[0121] Specifically, deep learning models are applied to predict network traffic trends and congestion. Through historical data training, the model can predict future changes in network traffic and adjust bandwidth allocation and discard strategies in advance to more efficiently deal with network congestion and reduce performance degradation caused by burst traffic.

[0122] A deep learning model is an artificial intelligence technology that can automatically learn complex patterns and relationships from large amounts of data. In this network resource management solution, by building and training a deep learning model, the trend of future network traffic and possible congestion can be accurately predicted. In order to train this deep learning model, the system needs to collect a large amount of historical network data, including but not limited to traffic data at different time points in the past, network congestion, bandwidth usage, etc. These data are used as input to the model to identify the patterns of traffic changes over time and which factors are most likely to cause network congestion. Once the model is fully trained, it can predict future network traffic fluctuation trends, including traffic peaks and possible congestion points based on the current network status and real-time traffic data. This prediction capability enables the system to take corresponding measures before congestion actually occurs, rather than responding passively after congestion occurs. Based on the prediction results, the system can adjust the allocation of network resources in advance, such as reserving sufficient resources for the upcoming traffic peak by presetting the bandwidth allocation strategy. At the same time, the packet discarding strategy can also be adjusted to mark and control the discard probability of large traffic packets that may cause congestion in advance, thereby reducing the impact of burst traffic on network performance. In this way, the network can not only more effectively control burst traffic and prevent overload and congestion, but also maintain high transmission efficiency during peak traffic periods. This not only improves the stability of the network, but also optimizes the user experience under various network conditions, especially for applications that are sensitive to latency, such as online games and video conferencing. A significant advantage of deep learning models is their adaptive learning ability. As the system collects more data, the model can continuously optimize its predictive performance, which enables network resource management strategies to adapt to the ever-changing network environment and traffic patterns, achieving smarter and more accurate traffic prediction and congestion control.

[0123] Apply deep learning models to predict network traffic trends and congestion. Collect historical network data. This stage involves collecting a large amount of historical network data, including but not limited to link utilization, forwarding queue length, packet type, traffic size, duration, timestamp, etc. Preprocess the collected data, such as removing outliers, filling missing values, and normalizing data, to ensure data quality and model training accuracy.

[0124] Extract features that are helpful for prediction from the raw data, such as time periodicity features (such as time of day, day of the week), traffic pattern features (such as packet size distribution, duration distribution), etc. Feature selection, through correlation analysis, feature importance evaluation and other methods, select the feature subset that has the greatest impact on the prediction target (traffic trend and congestion situation) to simplify the model and improve prediction efficiency.

[0125] Based on the nature of the problem, choose the appropriate type of deep learning model. For time series forecasting, such as network traffic trend forecasting, models such as recurrent neural networks (RNN), long short-term memory networks (LSTM), or gated recurrent units (GRU) are usually used. Define the specific architecture of the model, including the number of layers, number of neurons, activation functions, loss functions, etc., to build a deep learning model that can learn complex patterns from time series data.

[0126] The data set is divided into a training set, a validation set, and a test set. The training set is used for model training, the validation set is used to adjust model parameters (such as learning rate, regularization parameter), and the test set is used to evaluate the final prediction performance of the model. Using the training set data and the defined loss function, the model parameters are adjusted through the back propagation algorithm so that the model can learn the prediction rules of network traffic trends and congestion conditions.

[0127] Run the model on the validation set and adjust hyperparameters such as learning rate, batch size, number of model layers, etc. to optimize the model's predictive performance. Evaluate the model's final predictive performance on the test set using metrics such as mean squared error (MSE), mean absolute error (MAE), R 2 The prediction accuracy of the model is measured by using indicators such as scores.

[0128] After the model is trained and verified, it is deployed in the network resource management system and the current network status data and traffic data are input in real time. The model predicts future network traffic trends and possible congestion based on the input real-time data. Based on the prediction results, the system can adjust the bandwidth allocation strategy, data packet discard strategy, etc. in advance to prevent or alleviate network congestion and improve network performance.

[0129] Network environments and traffic patterns may change over time, so the model needs to be retrained periodically with newly collected data to keep its predictive capabilities current and accurate.

[0130] In summary, the basic idea of ​​the above scheme of the present application is to mark data packets with long duration and large flow (such as file upload and download, etc.) according to the traffic situation, and discard the labeled messages first during network congestion, so as to temporarily assign higher priority to non-labeled messages with shorter duration (such as Web page request messages), so that we can obtain better performance when processing short-duration flows. At the same time, according to the network link utilization and link traffic situation, the allowed transmission rate of the bottleneck link and the corresponding packet loss algorithm parameters are adaptively adjusted to improve network transmission efficiency and prevent network overload.

[0131] The embodiment of the present application also provides a control device for network congestion. It should be noted that the control device for network congestion in the embodiment of the present application can be used to execute the control method for network congestion provided in the embodiment of the present application. The device is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware for a predetermined function. Although the device described in the following embodiments is preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0132] The following introduces the network congestion control device provided in an embodiment of the present application.

[0133] Figure 7 is a structural block diagram of a network congestion control device according to an embodiment of the present application. Figure 7 As shown, the device comprises:

[0134] A first acquisition unit 10, configured to acquire a plurality of data packets to be transmitted;

[0135] The marking unit 20 is used to mark all the above-mentioned data packets according to the length of the above-mentioned data packets, wherein the marking includes a first mark and a second mark, the length of the above-mentioned data packet of the above-mentioned first mark is greater than or equal to the data packet length threshold, and the length of the above-mentioned data packet of the above-mentioned second mark is less than the above-mentioned data packet length threshold;

[0136] The first processing unit 30 is used to increase the priority of the data packet with the second mark in the case of network congestion, so that the priority of the data packet with the second mark is higher than the priority of the data packet with the first mark;

[0137] The transmission unit 40 is used to transmit all the above data packets to the target terminal according to the priorities of the above data packets.

[0138] Through this embodiment, by sampling and marking the data packets, short continuous flow data packets are identified, and the priority of the short continuous flow data packets is increased when the network is congested. In this way, short continuous flow data packets can be sent first when the network is congested, and short-term small traffic requests can be processed in time, thereby improving the user experience.

[0139] During the specific implementation process, the above-mentioned device also includes a second acquisition unit and a determination unit. The second acquisition unit is used to obtain the length of the queue to be forwarded before increasing the priority of the above-mentioned data packet with the above-mentioned second mark, wherein the above-mentioned queue to be forwarded length is the length of the queue of the above-mentioned data packets to be transmitted; the determination unit is used to determine network congestion when the above-mentioned queue to be forwarded length is greater than or equal to a preset queue length threshold.

[0140] In this solution, by continuously monitoring the queue length, network devices can detect network congestion in real time and respond quickly. The preset queue length threshold is based on statistical analysis during normal network operation, ensuring accurate identification when actual congestion occurs.

[0141] In some embodiments, the above-mentioned device also includes a third acquisition unit and a discarding unit. The third acquisition unit is used to obtain a discarding probability in case of network congestion after marking all of the above-mentioned data packets according to the length of the above-mentioned data packets, wherein the above-mentioned discarding probability is the probability of discarding the above-mentioned data packets; the discarding unit is used to discard at least part of the above-mentioned data packets with the first mark according to the above-mentioned discarding probability.

[0142] In this scheme, in network congestion control, by calculating the drop probability and selectively dropping the first marked data packets according to the probability, the drop probability can be dynamically adjusted according to the severity of congestion. When the congestion situation intensifies, the drop probability will also increase accordingly, giving priority to protecting those time-sensitive short-duration flows, and reducing the network load by sacrificing some data packets of long-duration flows to avoid critical services being affected. By selectively dropping data packets, network devices can prevent network overload and avoid excessive packet loss, thereby reducing network delays and improving network stability and efficiency.

[0143] In a specific implementation process, the third acquisition unit includes a calculation module, which is used to calculate the above-mentioned discard probability according to a probability calculation formula, wherein the above-mentioned probability calculation formula is:

[0144]

[0145] pi represents the above discard probability, Q i represents the length of the queue to be forwarded, Q min Indicates the minimum preset queue length threshold, Q max Indicates the maximum preset queue length threshold.

[0146] In this solution, a probability calculation formula can be used to quantify the probability of discarding certain data packets marked as the first mark in the case of network congestion, and then the data packet discarding strategy can be intelligently adjusted when the network is congested.

[0147] In some embodiments, the above-mentioned device also includes a fourth acquisition unit, a fifth acquisition unit and an adjustment unit, the fourth acquisition unit is used to obtain the utilization of the network link after marking all the above-mentioned data packets according to the length of the above-mentioned data packets, wherein the above-mentioned utilization is the percentage of the actually used bandwidth to the maximum bandwidth of the link; the fifth acquisition unit is used to obtain the traffic proportion, wherein the above-mentioned traffic proportion is the ratio of the above-mentioned data packets marked by the first mark to all the above-mentioned data packets; the adjustment unit is used to adjust the above-mentioned data packet length threshold according to the above-mentioned utilization and the above-mentioned traffic proportion.

[0148] In this solution, by dynamically adjusting the packet length threshold, it can better adapt to the real-time status of the network link, ensure that network bandwidth resources are reasonably allocated, and avoid long-duration or large-volume packets from excessively occupying resources and affecting the transmission of critical short-duration flows. It can give priority to protecting packets of short-duration flows, reduce delays and packet loss rates, and thus improve the overall network performance and user experience. By adjusting the packet length threshold, network congestion can be more accurately identified and handled, preventing excessive packet loss and network performance degradation.

[0149] During the specific implementation process, there are multiple network links, and the adjustment unit includes an extraction module and a processing module. The extraction module is used to extract the network link with the highest utilization rate to obtain the bottleneck link; the processing module is used to reduce the data packet length threshold when the proportion of the above traffic in the above bottleneck link is greater than the preset proportion threshold.

[0150] In this solution, by identifying bottleneck links and dynamically adjusting the packet length threshold according to the traffic proportion, it is possible to avoid overburdening key links, allocate bandwidth reasonably, and ensure that all types of traffic receive appropriate service quality. By identifying and controlling large traffic packets earlier, network congestion can be prevented, delays and packet loss can be reduced, and the overall stability and efficiency of the network can be improved. Short-duration flows can be processed first to ensure rapid response of key services (such as web page loading and instant messaging) and improve user satisfaction.

[0151] In some embodiments, the above-mentioned device also includes a sixth acquisition unit, a construction unit and a second processing unit, the sixth acquisition unit is used to obtain network-related information before increasing the priority of the above-mentioned data packet with the above-mentioned second mark, wherein the above-mentioned network-related information includes one or more of the length of the queue to be forwarded, the packet loss rate of the network link, the utilization rate of the network link, the network delay time, the network jitter time, the data packet retransmission rate, the traffic size and the bandwidth usage ratio; the construction unit is used to construct a congestion identification model, wherein the above-mentioned congestion identification model is trained using multiple groups of training data, each group of the above-mentioned multiple groups of training data includes historical network-related information obtained in a historical time period, and historical identification results corresponding to the above-mentioned historical network-related information, wherein the above-mentioned historical identification results are used to characterize whether the network is congested in the historical time period; the second processing unit is used to input the above-mentioned network-related information into the above-mentioned congestion identification model to obtain an identification result corresponding to the above-mentioned network-related information.

[0152] In this solution, the model can make intelligent predictions based on historical data and real-time network information, identify the trend of network congestion in advance, and buy time for taking preventive measures. Through the evaluation of the model, network managers can understand specifically which indicators have the greatest impact on network congestion, so as to adjust the network configuration more targetedly to avoid resource waste and invalid operations. Early identification and handling of network congestion can significantly reduce data packet delay and packet loss rate, ensure rapid response and high-quality transmission of key services, and improve user satisfaction.

[0153] The network congestion control device includes a processor and a memory. The first acquisition unit, marking unit, first processing unit and transmission unit are stored in the memory as program units, and the processor executes the program units stored in the memory to implement corresponding functions. The modules are all located in the same processor; or, the modules are located in different processors in any combination.

[0154] The processor includes a kernel, which retrieves the corresponding program unit from the memory. One or more kernels can be set, and the kernel parameters can be adjusted to solve the problem in the prior art that long-term services occupy the network bandwidth for a long time, resulting in an increase in the response time of other short-term service requests and causing response timeouts.

[0155] The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM, and the memory includes at least one memory chip.

[0156] An embodiment of the present invention provides a computer-readable storage medium, wherein the computer-readable storage medium includes a stored program, wherein when the program is executed, the device where the computer-readable storage medium is located is controlled to execute the network congestion control method.

[0157] An embodiment of the present invention provides a processor, and the processor is used to run a program, wherein the network congestion control method is executed when the program is running.

[0158] The embodiment of the present invention provides a device, the device includes a processor, a memory and a program stored in the memory and can be run on the processor, and when the processor executes the program, at least the steps of the control method of network congestion are implemented. The device in this article can be a server, a PC, a PAD, a mobile phone, etc.

[0159] A computer program product includes a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the network congestion control method in each embodiment of the present application are implemented.

[0160] The present application also provides a network congestion control system, comprising one or more processors, a memory, and one or more programs, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, and the one or more programs include methods for executing any of the above-mentioned network congestion control methods.

[0161] Obviously, those skilled in the art should understand that the above modules or steps of the present invention can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order than here, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present invention is not limited to any specific combination of hardware and software.

[0162] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.

[0163] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes 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 device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing 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.

[0164] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising 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.

[0165] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing 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.

[0166] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0167] The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.

[0168] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.

[0169] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or 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, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.

[0170] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims

1. A method for controlling network congestion, characterized in that: include: Obtain multiple data packets to be transmitted; Marking all the data packets according to the length of the data packets, wherein the marking includes a first mark and a second mark, the length of the data packet marked by the first mark is greater than or equal to a data packet length threshold, and the length of the data packet marked by the second mark is less than the data packet length threshold; In case of network congestion, raising the priority of the data packet with the second mark so that the priority of the data packet with the second mark is higher than the priority of the data packet with the first mark; According to the priorities of the data packets, all the data packets are transmitted to the target terminal.

2. The method according to claim 1, characterized in that: Before increasing the priority of the data packet with the second mark, the method further includes: Obtaining the length of a queue to be forwarded, wherein the length of the queue to be forwarded is the length of a queue of the data packets to be transmitted; When the length of the queue to be forwarded is greater than or equal to a preset queue length threshold, network congestion is determined.

3. The method according to claim 2, characterized in that After marking all the data packets according to the length of the data packets, the method further comprises: In the case of network congestion, obtaining a discard probability, wherein the discard probability is a probability of discarding the data packet; At least part of the data packets with the first mark are discarded according to the discard probability.

4. The method according to claim 3, characterized in that Get the drop probability, including: The discard probability is calculated according to a probability calculation formula, wherein the probability calculation formula is: pi represents the drop probability, Q i Indicates the length of the queue to be forwarded, Q min Indicates the minimum preset queue length threshold, Q max Indicates the maximum preset queue length threshold.

5. The method according to claim 1, characterized in that After marking all the data packets according to the length of the data packets, the method further comprises: Obtaining the utilization rate of the network link, wherein the utilization rate is the percentage of the actually used bandwidth to the maximum bandwidth of the link; Obtaining a traffic proportion, wherein the traffic proportion is a ratio of the data packets marked by the first mark to all the data packets; The data packet length threshold is adjusted according to the utilization rate and the traffic proportion.

6. The method according to claim 5, characterized in that There are multiple network links, and adjusting the data packet length threshold according to the utilization rate and the traffic proportion includes: Extracting the network link with the highest utilization rate to obtain a bottleneck link; When the traffic proportion in the bottleneck link is greater than a preset proportion threshold, the data packet length threshold is reduced.

7. The method according to any one of claims 1 to 6, characterized in that: Before increasing the priority of the data packet with the second mark, the method further includes: Acquire network related information, wherein the network related information includes one or more of the length of the queue to be forwarded, the packet loss rate of the network link, the utilization rate of the network link, the network delay time, the network jitter time, the data packet retransmission rate, the traffic size and the bandwidth usage ratio; Constructing a congestion identification model, wherein the congestion identification model is obtained by training using multiple sets of training data, each set of training data in the multiple sets of training data includes historical network related information obtained in a historical time period and historical identification results corresponding to the historical network related information, wherein the historical identification results are used to characterize whether the network is congested in the historical time period; The network related information is input into the congestion identification model to obtain an identification result corresponding to the network related information.

8. A network congestion control device, characterized in that: include: A first acquisition unit, used to acquire a plurality of data packets to be transmitted; a marking unit, configured to mark all the data packets according to the length of the data packets, wherein the marking includes a first marking and a second marking, the length of the data packet marked by the first marking is greater than or equal to a data packet length threshold, and the length of the data packet marked by the second marking is less than the data packet length threshold; a first processing unit, configured to, in the case of network congestion, increase the priority of the data packet with the second mark so that the priority of the data packet with the second mark is higher than the priority of the data packet with the first mark; The transmission unit is used to transmit all the data packets to the target terminal according to the priorities of the data packets.

9. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method for controlling network congestion described in any one of claims 1 to 7 are implemented.

10. A network congestion control system, characterized in that: include: One or more processors, a memory, and one or more programs, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, and the one or more programs include a method for executing the network congestion control method described in any one of claims 1 to 7.