Flow table processing method, device, computer readable storage medium and computer program product

CN123035153APending Publication Date: 2026-11-03CHINA MOBILE (SUZHOU) SOFTWARE TECH CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611171901.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-08-04
Publication Date
2026-11-03

AI Technical Summary

Technical Problem

In existing technologies, static thresholds and fixed aging times lead to misjudgments and resource waste in elephant flow identification, especially during sudden traffic surges or network fluctuations. They cannot adapt dynamically, resulting in low hardware resource utilization and increased complexity and overhead at the software level.

Method used

By acquiring the instantaneous rate of the data stream and the current network congestion information, the target rate threshold is dynamically selected. The large flow is determined by combining the rate fluctuation rate and duration. Based on the load information of the virtual switch, the aging time of the flow table entries is dynamically adjusted to achieve accurate identification and resource optimization.

Benefits of technology

It improves the accuracy and resource utilization of smart network interface card (NIC) hardware offloading, reduces misjudgments and resource waste, and enhances network processing performance and stability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN123035153A_ABST
    Figure CN123035153A_ABST
Patent Text Reader

Abstract

The application provides a flow table processing method, device, computer readable storage medium and computer program product; the method comprises: acquiring the instantaneous rate of a data flow transmitted in a current network; selecting a target rate threshold from a first rate threshold and a second rate threshold based on congestion information of the current network; if the instantaneous rate is greater than or equal to the target rate threshold, determining the rate fluctuation rate of the data flow; if the data flow is determined to be a target elephant flow based on the rate fluctuation rate and the duration of the data flow, issuing the forwarding rule of the target elephant flow to a hardware flow table of an intelligent network card; acquiring the current use state information of the hardware flow table and the current load information of a virtual switch, and determining the target aging time of the flow table entry in the hardware flow table based on the current use state information and the current load information; updating the idle aging time of the flow table entry in the hardware flow table to the target aging time.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to network communication technology, and more particularly to a flow table processing method, device, computer-readable storage medium, and computer program product. Background Technology

[0002] In data center networks, to address the CPU overhead bottleneck when virtual switches (vSwitch) handle high-performance network traffic, existing technologies typically distribute forwarding rules for specific data flows to smart network interface card (NIC) hardware to accelerate forwarding. However, existing elephant flow identification mechanisms largely rely on static rate thresholds or traffic statistics within fixed time windows. These static classification methods lack the ability to dynamically adapt to real-time network conditions and are prone to misclassifying short-lived high-throughput mouse flows as elephant flows during sudden traffic spikes or network fluctuations. This results in a large amount of medium-sized traffic being ineffectively offloaded to hardware, consuming valuable hardware flow table resources and increasing the complexity of flow management at the software level. Furthermore, entries offloaded to the hardware flow table usually have a fixed idle aging time, which cannot be adaptively adjusted. This leads to the inability to promptly reclaim idle entries for allocation to high-value flows when hardware resources are scarce, while premature aging frequently triggers software re-checks and repeated offloading when resources are abundant, increasing unnecessary overhead. Therefore, how to accurately identify elephant flows and dynamically and adaptively manage the aging time of flow tables in order to improve the accuracy of hardware offloading and resource utilization of smart network interface cards has become an urgent problem to be solved. Summary of the Invention

[0003] This application provides a flow table processing method, device, computer-readable storage medium, and computer program product, which solves the problems of misjudgment and resource waste caused by static thresholds and fixed aging time in related technologies.

[0004] The technical solution of this application embodiment is implemented as follows: This application provides a flow table processing method, the method comprising: Get the instantaneous rate of the data stream currently being transmitted on the network; Based on the current network congestion information, a target rate threshold is selected from a first rate threshold and a second rate threshold; wherein, the first rate threshold is determined based on the historical statistical average rate of rat flows in the data center; and the second rate threshold is greater than the first rate threshold. If the instantaneous rate is greater than or equal to the target rate threshold, the rate fluctuation rate of the data stream is determined; If the data stream is determined to be a target elephant stream based on the rate fluctuation rate and the duration of the data stream, the forwarding rules of the target elephant stream are sent to the hardware flow table of the smart network card. Obtain the current usage status information of the hardware flow table and the current load information of the virtual switch, and determine the target aging time of the flow table entries in the hardware flow table based on the current usage status information and the current load information. Update the idle aging time of the flow table entries in the hardware flow table to the target aging time.

[0005] In the above scheme, selecting the target rate threshold from the first rate threshold and the second rate threshold based on the current network congestion information includes: Obtain the bandwidth utilization rate of the current network; wherein the congestion information includes the bandwidth utilization rate; If the bandwidth utilization is less than or equal to the bandwidth threshold, the first rate threshold is selected as the target rate threshold. If the bandwidth utilization rate is greater than the bandwidth threshold, the second rate threshold is selected as the target rate threshold.

[0006] In the above scheme, determining the rate fluctuation of the data stream includes: Within each acquisition cycle, the instantaneous rate of the data stream in the current acquisition cycle and the average rate in historical acquisition cycles are obtained; The rate fluctuation rate is determined based on the instantaneous rate and the average rate.

[0007] In the above scheme, determining whether the data stream is the target elephant stream based on the rate volatility and the duration of the data stream includes: If the rate volatility is less than or equal to the volatility threshold, the data stream is determined to be a candidate elephant stream; If the duration is greater than or equal to the time threshold, the candidate elephant stream is determined to be the target elephant stream.

[0008] In the above scheme, determining the target aging time of the flow table entry in the hardware flow table based on the current usage status information and the current load information includes: The initial aging time is determined based on the current usage rate; wherein, the current usage status information includes the current usage rate; Based on the initial aging time, the target aging time is determined based on the current load utilization and the initial aging time; wherein, the current load information includes the current load utilization.

[0009] In the above scheme, determining the initial aging time based on the current usage rate includes: If the current usage rate is greater than or equal to the first usage rate threshold, the first time is determined as the initial aging time. If the current utilization rate is less than or equal to the second utilization rate threshold, the second time is determined as the initial aging time; wherein the first utilization rate threshold is greater than the second utilization rate threshold; and the first time is less than the second time; If the current usage rate is greater than the second usage rate threshold and less than the first usage rate threshold, the aging time is determined to remain unchanged.

[0010] In the above scheme, determining the target aging time based on the current load utilization and the initial aging time includes: If the current load utilization rate is greater than or equal to the load threshold, the initial aging time is set to the third time, and the third time is determined to be the target aging time; If the current load utilization is less than the load threshold, the initial aging time is determined as the target aging time.

[0011] This application provides a flow table processing device, the device comprising: The acquisition unit is used to acquire the instantaneous rate of the data stream currently being transmitted in the network; The selection unit is configured to select a target rate threshold from a first rate threshold and a second rate threshold based on the congestion information of the current network; wherein the first rate threshold is determined based on the historical statistical average rate of rat flows in the data center; and the second rate threshold is greater than the first rate threshold. A processing unit is configured to determine the rate fluctuation rate of the data stream if the instantaneous rate is greater than or equal to the target rate threshold. The processing unit is further configured to, if the data stream is determined to be a target elephant stream based on the rate fluctuation rate and the duration of the data stream, send the forwarding rules of the target elephant stream to the hardware flow table of the smart network card; The determining unit is used to obtain the current usage status information of the hardware flow table and the current load information of the virtual switch, and to determine the target aging time of the flow table entries in the hardware flow table based on the current usage status information and the current load information. An update unit is used to update the idle aging time of the flow table entries in the hardware flow table to the target aging time.

[0012] This application provides a flow table processing device, the device comprising: Memory is used to store executable instructions or computer programs. The processor, when executing computer-executable instructions or computer programs stored in the memory, implements the method provided in the embodiments of this application.

[0013] This application provides a computer-readable storage medium storing a computer program or computer-executable instructions for implementing the method provided in this application when executed by a processor.

[0014] This application provides a computer program product, including a computer program or computer executable instructions, which, when executed by a processor, implement the method provided in this application.

[0015] The embodiments of this application have the following beneficial effects: By acquiring the instantaneous rate of the data stream and dynamically selecting the target rate threshold in combination with the current network congestion information, the misjudgment problem caused by static threshold classification is effectively solved; furthermore, the dual criteria of the data stream's rate fluctuation rate and duration are introduced to achieve accurate identification of the truly stable high-throughput data stream; at the same time, the target aging time of the flow table entries in the hardware flow table is dynamically adjusted based on the current load information of the virtual switch and the current usage status information of the hardware flow table, ensuring that hardware resources prioritize serving the high-value data stream, while reducing the burden on the software side, thereby significantly improving the accuracy of hardware offloading of the smart network card and the resource utilization rate, thus solving the problems of misjudgment and resource waste caused by static thresholds and fixed aging times in related technologies. Attached Figure Description

[0016] Figure 1 This is a first flowchart of the flow table processing method provided in the embodiments of this application; Figure 2 This is a system architecture diagram of the flow table processing method provided in the embodiments of this application; Figure 3 This is a second flowchart illustrating the flow table processing method provided in the embodiments of this application; Figure 4 This is a schematic diagram illustrating the determination of the target elephant flow in the flow table processing method provided in this application embodiment; Figure 5 This is a schematic diagram illustrating the determination of the target aging time in the flow table processing method provided in this application embodiment; Figure 6 This is a schematic diagram of the flow table processing device provided in the embodiments of this application; Figure 7 This is a schematic diagram of the flow table processing device provided in the embodiments of this application.

[0017] It should be noted that the terms "first" and "second" mentioned above are only used to distinguish between different options and do not represent the degree of superiority or inferiority of the options or their priority in the implementation process. Detailed Implementation

[0018] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limitations on this application. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0019] It's important to note that with the explosive growth of data center network traffic and the widespread application of virtualization technology, the performance bottleneck of traditional software switches has become increasingly prominent. This is especially true when handling high-concurrency, low-latency network traffic, where CPU resource consumption is enormous, making it difficult to meet the stringent network performance requirements of modern data centers. Smart NIC hardware offloading technology has emerged to address this issue. By offloading key functions such as network packet forwarding, flow table matching, and action execution—originally handled by the CPU—directly to the NIC hardware, it leverages the high parallel processing capabilities and dedicated circuit design of dedicated hardware to achieve hardware acceleration of network functions. This technical architecture separates the software-defined network control plane from the hardware-accelerated data plane. The software layer is responsible for the calculation and distribution of flow table rules, while the hardware layer handles high-speed packet processing and forwarding, significantly reducing CPU load, improving network processing performance, and achieving near-line-speed packet forwarding capabilities. In the implementation of the open-source virtual switch (Open vSwitch), flow table rules are offloaded to smart NICs that support hardware offloading via a flow table offloading interface. The NIC hardware directly processes matching packets according to pre-configured flow table rules, avoiding redundant calculations and memory access overhead at the software level, providing an efficient and scalable network virtualization solution for large-scale data center networks. The method of related technology one includes: offloading elephant traffic from network traffic to a smart card, using the smart card to perform forwarding of elephant traffic; monitoring the connection duration of software sessions through the forwarding thread of the hardware firewall; when the software session connection duration reaches a preset duration threshold, deleting the hardware flow table of the smart card, allowing elephant traffic to be detected and forwarded through the software side of the hardware firewall. By offloading elephant traffic to the smart card for forwarding, the problem of single-core traffic overload is completely solved. Combined with the session connection duration, elephant traffic is periodically reported to the software side for traffic detection, preserving basic traffic detection. While offloading elephant traffic to the smart card, traffic protection capabilities are retained, ensuring the performance of elephant traffic forwarding while improving network security. The method of related technology two includes: after the server receives the connection establishment message sent by the client, it runs a scheduling algorithm and selects a server to establish a connection. Among them, on the network devices of the access layer (Leaf), Layer 4 load balancing traffic offloading is run. After successful connection establishment, the data flow is classified into mouse traffic and elephant traffic, and the classified mouse traffic and elephant traffic are selected according to the corresponding flow table and routed for forwarding.

[0020] However, related technologies one and two have the following drawbacks: 1. Deleting hardware flow tables when a preset session duration threshold is reached to force elephant flows back to software firewall detection leads to frequent switching of forwarding paths, increasing network fluctuations. Simultaneously, periodic flow table deletion and reconstruction consume hardware resources, increase flow table update latency, and reduce session creation rate, especially in large-scale flow table scenarios. Furthermore, the misjudgment problem in the elephant flow identification stage remains unresolved; for example, mouse flows may be misjudged as elephant flows, and excessive mis-unloading increases system overhead. 2. The static threshold classification mechanism, which distinguishes mouse flows from elephant flows based on whether the number of packets or bytes exceeds a fixed threshold within a preset time period, lacks dynamic adaptability and cannot cope with real-time changes in sudden traffic surges or rate fluctuations. This easily leads to misjudgments, such as short-term high-throughput flows being misclassified as elephant flows, while long-term low-bandwidth flows are misclassified as mouse flows. Relying on manual threshold adjustment to adapt to different scenarios lacks an automated feedback mechanism, making it difficult to maintain efficient load balancing in dynamic network environments.

[0021] Based on this, embodiments of this application provide a flow table processing method, referring to... Figure 1 As shown, when applied to flow table processing devices, it can specifically include the following steps: Step 101: Obtain the instantaneous rate of the data stream being transmitted in the current network.

[0022] In this embodiment, the instantaneous rate is the real-time transmission rate of the data stream in the current network. The instantaneous rate reflects the immediate state of the traffic and is used to determine whether there are sudden or abnormal behaviors. (Refer to...) Figure 2 As shown, the flow table processing device deploys a virtual switch (software) and a smart network interface card (NIC) (hardware). The virtual switch runs on the operating system of the flow table processing device and is responsible for packet reception, table lookup, and forwarding. In an architecture supporting hardware offloading, it acts as the control plane, responsible for the calculation, dynamic identification, and distribution management of flow table rules. The smart NIC is a programmable network interface card that, as the data plane, can perform key functions such as forwarding network packets, flow table matching, and action execution at the hardware level, thereby offloading network tasks originally handled by the CPU to dedicated hardware.

[0023] In this embodiment, the data flow first reaches the smart network interface card (NIC). Since the smart NIC does not have a matching entry, it is sent to the virtual switch via the Data Plane Development Kit (dpdk) interface, referring to... Figure 2As shown, the virtual switch is equipped with an elephant flow dynamic identification module. This module interacts with the smart network card through the DPDK interface to collect network data flow in real time. Specifically, within a preset time window, it counts the number of data packets entering the current network and calculates the instantaneous rate of the data flow based on the number of data packets and the time interval within that time period.

[0024] Step 102: Based on the current network congestion information, select the target rate threshold from the first rate threshold and the second rate threshold.

[0025] The first rate threshold is determined based on the historical statistical average rate of rat flows in the data center; the second rate threshold is greater than the first rate threshold.

[0026] In this embodiment, current network congestion information is typically obtained by monitoring the bandwidth utilization of smart network interface cards (NICs). For example, if the current network congestion information indicates that the current network bandwidth utilization exceeds 80%, it is determined to be a network congestion state. The first rate threshold is derived based on the historical average rate of mouse flows during long-term operation of the data center. For example, the first rate threshold is obtained by taking a weighted average of the instantaneous rates of all mouse flows over the past 7 days. The second rate threshold is set to a value higher than the first rate threshold to raise the identification threshold during network congestion and avoid misidentifying medium-rate data flows as elephant flows. The elephant flow dynamic identification module can determine whether to select the first rate threshold or the second rate threshold as the target rate threshold based on the current network congestion information. In one feasible implementation, if the first rate threshold = 100 megabits per second (Mbps), then the second rate threshold = 300 Mbps.

[0027] It should be noted that "mouse flow" refers to a type of traffic that accounts for a relatively high proportion of network traffic but has a low individual flow rate and short duration. Mouse flows are typically characterized by burstiness, high quantity, and low bandwidth.

[0028] Step 103: If the instantaneous rate is greater than or equal to the target rate threshold, determine the rate fluctuation of the data stream.

[0029] In this embodiment, the data stream rate volatility is used to measure the stability of the data stream rate; the instantaneous rate and a target rate threshold can be compared, and the data stream rate volatility is determined only when the instantaneous rate is greater than or equal to the target rate threshold. Step 104: If the data stream is determined to be the target elephant stream based on the rate fluctuation rate and the duration of the data stream, the forwarding rules of the target elephant stream are sent to the hardware flow table of the smart network card.

[0030] In this embodiment, the duration of a data stream refers to the total duration of the data stream from its first appearance to the current moment, used to measure the lifespan of the data stream, and can be recorded and calculated using microsecond-level timestamps; the hardware flow table refers to the flow table stored in the smart network card, which can achieve line-speed forwarding; it can first determine whether the data stream is a candidate elephant stream based on the rate fluctuation rate, and if the data stream is determined to be a candidate elephant stream, it can determine whether the candidate elephant stream is the target elephant stream based on the duration of the candidate elephant stream; if the candidate elephant stream is determined to be the target elephant stream, then the slow path lookup module set in the virtual switch (refer to...) Figure 2 The interface (rte_flow) of the data plane development kit is called to encapsulate the forwarding rules of the target elephant flow (including matching rules (such as the five-tuple of source Internet Protocol (IP) address, destination IP address, and port) and forwarding actions (such as forwarding to a specified port)) into flow table entries and send them to the hardware flow table of the smart NIC (i.e., hardware flow table unloading). After receiving the forwarding rules of the target elephant flow, the smart NIC stores them in dedicated hardware memory. Subsequent packets matching the five-tuple of the target elephant flow will be processed directly by the hardware without being sent to the software layer. For example, after a Transmission Control Protocol (TCP) data flow from 192.168.1.100:8080 to 192.168.2.200:80 is identified as the target elephant flow, its forwarding rules are written into the hardware flow table of the smart NIC. Afterward, all data packets of the same five-tuple will be forwarded by the hardware at line speed, significantly reducing the current load information of the virtual switch.

[0031] It's important to note that "elephant flow" refers to a type of network traffic that, while representing a small percentage of total network traffic, is characterized by high individual flow rates, long durations, and large data volumes. Elephant flows are typically generated by large-scale data transmission, video streaming, and large file downloads. They are characterized by high throughput and long-term stability, and are a major source of network performance bottlenecks. They are well-suited for hardware offloading via smart network interface cards (NICs) to improve forwarding efficiency. A flow table is a data structure in a virtual switch used to store data flow matching rules and forwarding actions. Each flow table entry contains matching fields (such as source IP address, destination IP address, and port) and corresponding forwarding behavior (such as forwarding, dropping, or mirroring).

[0032] Step 105: Obtain the current usage status information of the hardware flow table and the current load information of the virtual switch, and determine the target aging time of the flow table entries in the hardware flow table based on the current usage status information and the current load information.

[0033] In the embodiments of this application, reference is made to Figure 2As shown, the virtual switch is also equipped with an adaptive aging module. The adaptive aging module can obtain the current load information of the virtual switch and the current usage status information of the hardware flow table. Based on the current load information and the current usage status information, a priority strategy is used to determine the target aging time of the flow table entries in the hardware flow table.

[0034] Step 106: Update the idle aging time of the flow table entries in the hardware flow table to the target aging time.

[0035] Among them, the idle aging time of a flow table entry in the hardware flow table refers to the time threshold at which a flow table entry is automatically deleted after no data packet hit.

[0036] In this embodiment, a configuration command can be sent to the smart network interface card (NIC) via the data plane development kit interface to update the idle aging time of flow table entries in the hardware flow table. Specifically, when it is decided to adjust the idle aging time of flow table entries in the hardware flow table from the default target aging time to the target aging time, an update command is sent to the smart NIC, causing the flow table entries in the hardware flow table to automatically expire after the target aging time if no data packets are hit. It should be noted that this adjustment is dynamic and continuous, periodically reassessing the current load information of the virtual switch and the current usage status information of the hardware flow table, and adjusting the target aging time of the flow table entries in the hardware flow table accordingly, forming a closed-loop feedback mechanism.

[0037] In one feasible implementation, during peak network load periods, the aging time of flow table entries in the hardware flow table is shortened to ensure rapid turnover of hardware resources; during off-peak network load periods, the aging time of flow table entries in the hardware flow table is extended to reduce unnecessary flow table update overhead. In this way, through the adaptive aging mechanism, the optimal allocation of hardware resources is achieved, which not only ensures the continuous acceleration of important data flows, but also avoids resource waste.

[0038] The flow table processing method provided in this application effectively solves the misjudgment problem caused by static threshold classification by dynamically selecting the target rate threshold by obtaining the instantaneous rate of the data flow and combining it with the current network congestion information. Furthermore, it introduces dual criteria of the data flow's rate volatility and duration to achieve accurate identification of truly stable, high-throughput data flows. Simultaneously, it dynamically adjusts the target aging time of flow table entries in the hardware flow table based on the current load information of the virtual switch and the current usage status information of the hardware flow table, ensuring that hardware resources prioritize serving high-value data flows while reducing the burden on the software side. This significantly improves the accuracy and resource utilization of hardware offloading of smart network cards, thereby solving the problems of misjudgment and resource waste caused by static thresholds and fixed aging times in related technologies.

[0039] Based on the foregoing embodiments, this application provides yet another flow table processing method, referring to... Figure 3 and Figure 4 As shown, when applied to flow table processing devices, it can specifically include the following steps: Step 201: Obtain the instantaneous rate of the data stream being transmitted in the current network.

[0040] Step 202: Obtain the current network bandwidth utilization.

[0041] The congestion information includes bandwidth utilization.

[0042] In this embodiment, bandwidth utilization refers to the ratio between the actual bandwidth used by the network and the maximum available bandwidth, usually expressed as a percentage. Bandwidth utilization reflects the degree of network resource occupancy and can be used to determine whether the network is congested. For example, when the data traffic processed by a smart network interface card (NIC) reaches more than 80% of the NIC's hardware design capacity, the network is considered to be in a high-load or congested state.

[0043] In this embodiment of the application, the elephant flow dynamic identification module in the virtual switch periodically (e.g., every 10 milliseconds (ms)) queries the hardware statistics information of the smart network card, extracts the sum of the instantaneous rates of all flows in the current time period, and compares it with the maximum throughput capacity of the network card to obtain the bandwidth utilization rate.

[0044] It should be noted that after step 202, either step 203 or step 204 can be executed; Step 203: If the bandwidth utilization is less than or equal to the bandwidth threshold, select the first rate threshold as the target rate threshold.

[0045] The first rate threshold is determined based on the historical statistical average rate of rat flows in the data center.

[0046] In this embodiment, the bandwidth threshold is a preset critical value used to distinguish whether the network congestion state is under normal load or congestion. The bandwidth threshold is typically set to 80% of the network card's maximum speed. The first rate threshold (R1) is a base rate threshold applicable to non-congestion scenarios within a congested network environment. The value of the first rate threshold can be configured based on the typical rate of most traffic in a data center, for example, set to 10Mbps to filter out low-speed, regular traffic.

[0047] In this embodiment, bandwidth utilization can be compared with a bandwidth threshold. If bandwidth utilization is less than or equal to the bandwidth threshold, it indicates that the current network congestion is within a normal range (i.e., the current network is in a non-congested state), and there is sufficient remaining capacity to support hardware offloading of more flows. In this case, a first rate threshold is selected as the target rate threshold. This means that only flows with instantaneous rates exceeding the first rate threshold will be further evaluated to determine if they are "elephant flows," thereby avoiding the misidentification of a large amount of ordinary traffic as elephant flows and loading them into the hardware flow table, preventing hardware resources from being excessively occupied by low-value flows. Simultaneously, it effectively avoids unnecessary hardware offloading mechanisms for medium-sized traffic under low-load conditions, thereby optimizing hardware resource allocation and maintaining the stability and efficiency of the system.

[0048] Step 204: If the bandwidth utilization rate is greater than the bandwidth threshold, select the second rate threshold as the target rate threshold.

[0049] The second rate threshold is greater than the first rate threshold.

[0050] In this embodiment, the second rate threshold (R2) is a dynamically adjusted threshold higher than the first rate threshold, used for congestion scenarios in the current network. The bandwidth utilization rate can be compared with the bandwidth threshold. When the bandwidth utilization rate is greater than the bandwidth threshold, it indicates that the current network is under high load (i.e., the current network is congested). At this time, the second rate threshold can be selected as the target rate threshold, i.e., switching from the first rate threshold to the second rate threshold. Afterward, only flows with instantaneous rates higher than the second rate threshold can be identified as elephant flows and offloaded.

[0051] It should be noted that by dynamically selecting the first or second rate threshold based on the bandwidth utilization of the current network congestion information, real-time response to the current network congestion information can be achieved, thereby enabling precise adjustment of the elephant flow identification standard, optimizing hardware resource utilization efficiency, and improving overall network performance.

[0052] It should be noted that, referring to Figure 4 As shown, the number of packets in the data stream can also be obtained within the current acquisition period. If the number of packets in the data stream is less than the packet number threshold (N), or the instantaneous rate of the data stream is less than the first rate threshold or the second rate threshold, it indicates that the unloading benefit of the data stream is not high, so there is no need to unload it. The data stream is directly filtered out without any processing.

[0053] It should be noted that step 205 can be executed after steps 203 and 204; Step 205: If the instantaneous rate is greater than or equal to the target rate threshold, in each acquisition cycle, obtain the instantaneous rate of the data stream in the current acquisition cycle and the average rate in the historical acquisition cycles.

[0054] In this embodiment, the acquisition period refers to the time interval for sampling and statistical analysis of the data stream, typically set to the millisecond level (e.g., 10ms) to ensure rapid response to traffic changes. The acquisition period can be dynamically adjusted according to network load; for example, it can be shortened to improve detection sensitivity when the network is congested. The average rate (R_avg) is the stable transmission rate of the data stream over multiple acquisition periods. The average rate serves as a benchmark value to assess the degree of deviation from the instantaneous rate.

[0055] In this embodiment, the smart network interface card (NIC) reads packet count and timestamp information from the hardware counter via the DPDK interface to calculate the instantaneous rate (R(T)) of the current acquisition cycle. Simultaneously, it maintains a rate data queue for historical acquisition cycles, storing the rate values ​​of the most recent N acquisition cycles, and calculates the average rate (R_avg) using a weighted average or simple arithmetic average.

[0056] Step 206: Determine the rate fluctuation rate based on the instantaneous rate and the average rate.

[0057] In this embodiment, the role of rate volatility is to quantify the stability of the data stream and distinguish between sustained high-throughput elephant flows and short-term bursts of temporary traffic. The absolute value of the difference between the instantaneous rate and the average rate can be determined first, and then the absolute value of this difference can be divided by the average rate to obtain the rate volatility, specifically expressed by the formula: Rate Volatility = |R(T) - R_avg| / R_avg × 100%.

[0058] Step 207: If the rate volatility is less than or equal to the volatility threshold, the data stream is determined to be a candidate elephant stream.

[0059] In this embodiment, the fluctuation threshold (B) is a preset critical value used to determine whether the data stream rate is stable. It is typically set based on the network environment and service requirements, such as 30%. The rate fluctuation rate can be compared with the fluctuation threshold. If the rate fluctuation rate is less than the preset threshold, it indicates that the data stream rate changes little and has stable transmission characteristics, thus it can be initially identified as a candidate elephant stream. It should be noted that by introducing rate fluctuation rate as a key indicator for preliminary screening of data streams, sudden or drastically fluctuating data streams can be effectively excluded, thereby avoiding misidentifying mouse streams as elephant streams, improving the accuracy of elephant stream identification, and reducing the risk of hardware offloading errors.

[0060] In one feasible implementation, during network traffic monitoring, if a data stream has an instantaneous rate of 5 gigabits per second (Gbps) within a 10ms window, while the historical average rate is 4Gbps, then the rate fluctuation rate of the data stream is 25%. If the fluctuation threshold is set to 30%, i.e., 25% is less than 30%, then the data stream can be identified as a candidate data stream.

[0061] It should be noted that, referring to Figure 4 As shown, if the rate fluctuation rate is greater than the preset rate fluctuation rate threshold, it indicates that the data stream has large fluctuations. The data stream is determined to be a burst stream and should be avoided from being offloaded to the hardware flow table to prevent the waste of hardware resources or performance fluctuations caused by the unstable flow of the data stream. Therefore, the data stream can also be directly filtered out.

[0062] Step 208: If the duration is greater than or equal to the time threshold, determine the candidate elephant flow as the target elephant flow.

[0063] In this embodiment, a long duration usually means that the data stream has high data throughput and importance; the time threshold is used to determine whether the data stream has reached the preset threshold of the long stream standard, such as T=30 seconds; it should be noted that the setting of the time threshold needs to take into account factors such as network load, service type and hardware resources. Too short a time threshold may cause a large amount of medium traffic to be misjudged as large traffic, resulting in a waste of hardware resources; too long a time threshold may delay the identification and offloading of high-value traffic, affecting system performance.

[0064] In this embodiment, the activity status of candidate elephant flows can be continuously monitored to determine the duration of the candidate elephant flow and compare it with a preset time threshold. If the duration is greater than or equal to the time threshold, the candidate elephant flow is confirmed as a target elephant flow, i.e., high-value traffic that truly needs to be prioritized for offloading to the smart network interface card (NIC) hardware. In one feasible implementation, if a candidate elephant flow is first detected at 10:00:00 and remains active until 10:00:40, then the duration of the candidate elephant flow is 40 seconds, which is greater than the time threshold (30 seconds), and the candidate elephant flow can be directly determined as a target elephant flow.

[0065] It should be noted that the data stream is first identified as a candidate data stream by the rate fluctuation rate, and the stability of the candidate elephant stream is further verified by the duration. This can effectively distinguish between short-term high-throughput streams and long-term stable streams, thereby ensuring that only the truly high-value traffic is identified as the target elephant stream, which can improve the accuracy of hardware offloading and resource utilization.

[0066] Step 209: Send the forwarding rules of the target elephant flow to the hardware flow table of the smart network card.

[0067] It should be noted that after the forwarding rules for the target elephant flow are sent to the hardware flow table of the smart network interface card, the aging time of the flow table can also be determined. This can include the following steps, which can be referred to... Figure 5 As shown.

[0068] Step 210: Obtain the current usage status information of the hardware flow table and the current load information of the virtual switch.

[0069] Step 211: Determine the initial aging time based on the current usage rate.

[0070] The current usage status information includes the current usage rate.

[0071] In this embodiment, the current utilization rate refers to the resource occupancy ratio of the hardware flow table at the current moment, reflecting the ratio between the allocated entries and the total capacity of the hardware flow table. The initial aging time refers to the baseline aging time value determined based on the current utilization rate of the hardware flow table; the current utilization rate can be calculated by real-time monitoring of the available and used space of the hardware flow table, and is usually expressed as a percentage. The adaptive aging module reads the hardware flow table usage data through the hardware counter or dedicated interface provided by the smart network card, thereby determining the current utilization rate of the hardware flow table, and then determines the initial aging time based on the current utilization rate of the hardware flow table.

[0072] In one feasible implementation, when the total capacity of the hardware flow table is 100,000 entries and 80,000 entries are currently in use, the current utilization rate is 80%.

[0073] It should be noted that step 211 can be achieved in the following way: Step 211A1: If the current usage rate is greater than or equal to the first usage rate threshold, determine the first time as the initial aging time.

[0074] In this embodiment, the first utilization threshold (U1) is a preset high-load critical point used to determine whether the hardware flow table is under resource pressure. The first utilization threshold is typically set based on the performance of the smart network interface card (NIC), such as 85% or 90%. The first time (A1) is a shorter aging time used when the hardware flow table utilization is too high, to accelerate the cleanup of idle flow table entries, thereby freeing up hardware resources for more important flows. It should be noted that choosing an appropriate threshold can balance resource utilization and system stability. The current usage of the hardware flow table can be continuously monitored. If the current utilization is greater than or equal to the first utilization threshold, it indicates that the hardware flow table resources are strained and close to full load, posing a resource bottleneck risk.

[0075] In this embodiment, the current usage of the hardware flow table can be continuously monitored. If the current usage rate of the hardware flow table is greater than or equal to a first usage rate threshold, it indicates that the hardware flow table resources are strained and close to full load, posing a resource bottleneck risk. At this time, the aging time of idle flows is automatically shortened to the first time, and the initial aging time of the idle flow for the flow table entry is set to the first time. This means that flow table entries that might have been maintained for a longer period of time will be deleted more quickly, thereby freeing up hardware flow table resources to be allocated to more valuable flows (i.e., newly entered traffic that is more likely to become "elephant flows"). In this way, by shortening the aging time of idle flows when the current usage rate of the hardware flow table is high, idle flow table entry resources can be quickly released, and the offloading needs of important flows can be prioritized, thereby improving the overall network forwarding efficiency and hardware resource utilization.

[0076] Step 211A2: If the current usage rate is less than or equal to the second usage rate threshold, determine the second time as the initial aging time.

[0077] Among them, the first utilization rate threshold is greater than the second utilization rate threshold; the first time is less than the second time.

[0078] In this embodiment, the second utilization threshold (U2) is a preset low-load threshold used to determine whether the hardware flow table is in a resource-sufficient state. The second utilization threshold is usually set low to ensure that hardware capabilities can be fully utilized when resources are abundant. The second time (A2) is a longer aging time used when the current utilization of the hardware flow table is low, which is used to extend the life cycle of flow table entries and reduce unnecessary resource cleanup operations on the software side.

[0079] In this embodiment, the current usage of the hardware flow table can be continuously monitored. If the current usage rate of the hardware flow table is less than or equal to a second usage rate threshold, it indicates that there are a large number of idle resources available for the hardware flow table. The aging time can be extended to the second threshold, and the initial aging time of the flow table entry can be set to the second threshold. This means that even if some flow table entries have no matching packets for a long time, these entries will not be immediately deleted, thereby reducing the overhead of periodic checks and cleanups of these flow table entries by the software side. Thus, by extending the aging time of the hardware flow table when its current usage rate is low, the frequent cleanup operations of idle flow table entries by the software side can be reduced, thereby reducing CPU resource consumption and improving system stability and processing performance.

[0080] Step 211A3: If the current usage rate is greater than the second usage rate threshold and less than the first usage rate threshold, determine that the aging time remains unchanged.

[0081] In this embodiment, the current usage of the hardware flow table can be continuously monitored. If the current usage rate of the hardware flow table is within the range between the second usage rate threshold and the first usage rate threshold, it indicates that the hardware flow table is under normal load, with neither resource shortage nor resource waste. At this time, the original initial aging time configuration (i.e., the current aging time) is maintained without adjustment. This avoids unnecessary parameter adjustments, thereby maintaining the stability of system operation and ensuring the continuity and reliability of network forwarding services.

[0082] Step 212: Based on the initial aging time, determine the target aging time according to the current load utilization and the initial aging time.

[0083] The current load information includes the current load utilization rate.

[0084] In this embodiment, the target aging time is the final aging time actually sent to the hardware flow table after further adjustment based on the initial aging time and the current CPU load utilization rate on the software side. The current load utilization rate refers to the real-time load of the virtual switch's CPU, reflecting the proportion of computing resources occupied by the CPU in processing network traffic and other tasks. The current load utilization rate is collected through the performance monitoring interface provided by the DPDK interface and is usually expressed as a percentage.

[0085] In this embodiment, there is a negative correlation between the current load utilization and the target aging time. Specifically, if the current load utilization is high, the time should be extended based on the initial aging time to reduce the software-side table lookup and reconstruction operations triggered by premature table aging, thereby reducing CPU consumption. If the current load utilization is normal, the determined initial aging time is used as the target aging time.

[0086] In this embodiment, the current utilization rate of the hardware flow table is first monitored, and the initial aging time is determined based on the current utilization rate. Then, the current load utilization rate of the virtual switch is monitored, and the initial aging time is dynamically adjusted based on the current load utilization rate to obtain the target aging time. In this way, a collaborative optimization mechanism between hardware flow table resources and software-side CPU load can be realized, thereby prioritizing the hardware acceleration capability of high-value traffic and improving the overall network processing efficiency and system stability.

[0087] It should be noted that step 212 can be achieved in the following way: Step 212B1: If the current load utilization rate is greater than or equal to the load threshold, set the initial aging time to the third time and determine the third time as the target aging time.

[0088] In this embodiment, the third time (A3) is a short aging time dynamically set according to the load situation, used to accelerate the eviction process of idle flow table entries. The purpose of setting the third time is to quickly release hardware flow table resources under high load, prioritizing the allocation of limited flow table entry space to more important and continuously active large flows. This avoids the problem of new important flows being unable to be unloaded due to the exhaustion of hardware flow table resources, while also reducing the processing pressure on the software side under high load. The specific value of the third time can be adjusted according to system configuration and performance requirements.

[0089] In this embodiment, the current load usage of the virtual switch can be continuously monitored. If the current load usage is greater than or equal to the load threshold (C1), it indicates that the switch is under high pressure and the life cycle of the flow table entries needs to be extended to reduce the frequent flow table entry creation and deletion operations, thereby reducing the CPU processing burden. Therefore, the initial aging time is extended to the third time, and the third time is determined as the target aging time.

[0090] Step 212B2: If the current load utilization is less than the load threshold, determine the initial aging time as the target aging time.

[0091] In this embodiment, the current load usage of the virtual switch can be continuously monitored. If the current load usage is less than the load threshold, it indicates that the current resources are sufficient and there is no need to release resources by shortening the aging time. In this case, the initial aging time is kept unchanged, that is, the initial aging time is determined as the target aging time. In this way, hardware flow table resources can be released quickly under high load to prioritize the offloading of important flows; under low load, a longer target aging time is maintained to reduce the waste of hardware flow table resources, thereby achieving optimal allocation of hardware resources and significantly improving the overall performance and stability of the smart network card.

[0092] Step 213: Update the idle aging time of the flow table entries in the hardware flow table to the target aging time.

[0093] It should be noted that the monitoring can be carried out in a loop, that is, steps 210-213 can be executed repeatedly to form a continuous adaptive adjustment loop.

[0094] It should be noted that the descriptions of the same steps and contents as in other embodiments in this embodiment can be found in the descriptions in other embodiments, and will not be repeated here.

[0095] The flow table processing method provided in this application effectively solves the misjudgment problem caused by static threshold classification by dynamically selecting the target rate threshold by obtaining the instantaneous rate of the data flow and combining it with the current network congestion information. Furthermore, it introduces dual criteria of the data flow's rate volatility and duration to achieve accurate identification of truly stable, high-throughput data flows. Simultaneously, it dynamically adjusts the target aging time of flow table entries in the hardware flow table based on the current load information of the virtual switch and the current usage status information of the hardware flow table, ensuring that hardware resources prioritize serving high-value data flows while reducing the burden on the software side. This significantly improves the accuracy and resource utilization of hardware offloading of smart network cards, thereby solving the problems of misjudgment and resource waste caused by static thresholds and fixed aging times in related technologies.

[0096] Based on the foregoing embodiments, this application provides a flow table processing device, which can be applied to... Figure 1 and Figure 3 In the corresponding implementation method for flow table processing, refer to Figure 6 As shown, the flow table processing device 3 may include: an acquisition unit 31, a selection unit 32, a processing unit 33, a determination unit 34, and an update unit 35, wherein: Acquisition unit 31 is used to acquire the instantaneous rate of the data stream being transmitted in the current network; Selection unit 32 is used to select a target rate threshold from a first rate threshold and a second rate threshold based on the current network congestion information; wherein the first rate threshold is determined based on the historical statistical average rate of rat flow in the data center; and the second rate threshold is greater than the first rate threshold. Processing unit 33 is used to determine the rate fluctuation rate of the data stream if the instantaneous rate is greater than or equal to the target rate threshold. The processing unit 33 is also used to send the forwarding rules of the target elephant stream to the hardware flow table of the smart network card if the data stream is determined to be the target elephant stream based on the rate fluctuation rate and the duration of the data stream. The determining unit 34 is used to obtain the current usage status information of the hardware flow table and the current load information of the virtual switch, and to determine the target aging time of the flow table entries in the hardware flow table based on the current usage status information and the current load information. Update unit 35 is used to update the idle aging time of the flow table entry in the hardware flow table to the target aging time.

[0097] In other embodiments of this application, the selection unit 32 is also configured to perform the following steps: Obtain the current network bandwidth utilization; congestion information includes bandwidth utilization. If the bandwidth utilization is less than or equal to the bandwidth threshold, select the first rate threshold as the target rate threshold. If the bandwidth utilization rate is greater than the bandwidth threshold, select the second rate threshold as the target rate threshold.

[0098] In other embodiments of this application, the processing unit 33 is further configured to perform the following steps: Within each acquisition cycle, acquire the instantaneous rate of the data stream in the current acquisition cycle and the average rate in historical acquisition cycles; The rate fluctuation rate is determined based on the instantaneous rate and the average rate.

[0099] In other embodiments of this application, the processing unit 33 is further configured to perform the following steps: If the rate volatility is less than or equal to the volatility threshold, the data stream is identified as a candidate elephant stream. If the duration is greater than or equal to the time threshold, the candidate elephant flow is determined as the target elephant flow.

[0100] In other embodiments of this application, the determining unit 34 is further configured to perform the following steps: The initial aging time is determined based on the current usage rate; where the current usage status information includes the current usage rate; Based on the initial aging time, the target aging time is determined based on the current load utilization and the initial aging time; where the current load information includes the current load utilization.

[0101] In other embodiments of this application, the determining unit 34 is further configured to perform the following steps: If the current usage rate is greater than or equal to the first usage rate threshold, the first time is determined as the initial aging time. If the current utilization rate is less than or equal to the second utilization rate threshold, the second time is determined as the initial aging time; wherein, the first utilization rate threshold is greater than the second utilization rate threshold; and the first time is less than the second time; If the current usage rate is greater than the second usage rate threshold but less than the first usage rate threshold, the aging time is determined to remain unchanged.

[0102] In other embodiments of this application, the determining unit 34 is further configured to perform the following steps: If the current load utilization is greater than or equal to the load threshold, set the initial aging time to the third time and determine the third time as the target aging time; If the current load utilization is less than the load threshold, the initial aging time is determined as the target aging time.

[0103] It should be noted that a detailed explanation of the steps performed by each unit can be found in [reference needed]. Figure 1 and Figure 3 The corresponding implementation provides a flow table processing method, which will not be described in detail here.

[0104] The flow table processing device provided in this application embodiment effectively solves the misjudgment problem caused by static threshold classification by dynamically selecting the target rate threshold by acquiring the instantaneous rate of the data flow and combining it with the current network congestion information. Furthermore, it introduces dual criteria of the data flow rate fluctuation rate and the duration of the data flow to achieve accurate identification of the truly stable high-throughput data flow. At the same time, it dynamically adjusts the target aging time of the flow table entries in the hardware flow table based on the current load information of the virtual switch and the current usage status information of the hardware flow table, ensuring that hardware resources prioritize serving the high-value data flow, while reducing the burden on the software side. This significantly improves the accuracy of hardware offloading of the smart network card and the resource utilization rate, thereby solving the problems of misjudgment and resource waste caused by static thresholds and fixed aging times in related technologies.

[0105] Based on the foregoing embodiments, embodiments of this application provide a flow table processing device, which can be applied to... Figure 1 and Figure 3 In the corresponding implementation method for flow table processing, refer to Figure 7 As shown, the flow table processing device 4 may include: a processor 41, a memory 42, and a communication bus 43, wherein: Communication bus 43 is used to realize the communication connection between processor 41 and memory 42; Processor 41 is used to execute the flow table processing program in memory 42 to perform the following steps: Get the instantaneous rate of the data stream currently being transmitted on the network; Based on the current network congestion information, a target rate threshold is selected from a first rate threshold and a second rate threshold; wherein, the first rate threshold is determined based on the historical statistical average rate of rat flow in the data center; and the second rate threshold is greater than the first rate threshold. If the instantaneous rate is greater than or equal to the target rate threshold, determine the rate fluctuation of the data stream; If the data stream is determined to be the target elephant stream based on the rate fluctuation rate and the duration of the data stream, the forwarding rules of the target elephant stream are sent to the hardware flow table of the smart network card. Obtain the current usage status information of the hardware flow table and the current load information of the virtual switch, and determine the target aging time of the flow table entries in the hardware flow table based on the current usage status information and the current load information. Update the idle aging time of the flow table entries in the hardware flow table to the target aging time.

[0106] In other embodiments of this application, processor 41 is configured to execute a flow table processing program in memory 42 based on congestion information of the current network, and select a target rate threshold from a first rate threshold and a second rate threshold to implement the following steps: Obtain the current network bandwidth utilization; congestion information includes bandwidth utilization. If the bandwidth utilization is less than or equal to the bandwidth threshold, select the first rate threshold as the target rate threshold. If the bandwidth utilization rate is greater than the bandwidth threshold, select the second rate threshold as the target rate threshold.

[0107] In other embodiments of this application, processor 41 is used to execute a flow table processing program in memory 42 to determine the rate fluctuation of the data flow in order to perform the following steps: Within each acquisition cycle, acquire the instantaneous rate of the data stream in the current acquisition cycle and the average rate in historical acquisition cycles; The rate fluctuation rate is determined based on the instantaneous rate and the average rate.

[0108] In other embodiments of this application, processor 41 is configured to execute a flow table processing program in memory 42 to determine whether a data flow is a target elephant flow based on rate volatility and the duration of the data flow, in order to perform the following steps: If the rate volatility is less than or equal to the volatility threshold, the data stream is identified as a candidate elephant stream. If the duration is greater than or equal to the time threshold, the candidate elephant flow is determined as the target elephant flow.

[0109] In other embodiments of this application, the processor 41 is configured to execute the flow table processing program in the memory 42 to determine the target aging time of the flow table entries in the hardware flow table based on the current usage state information and the current load information, in order to implement the following steps: The initial aging time is determined based on the current usage rate; where the current usage status information includes the current usage rate; Based on the initial aging time, the target aging time is determined based on the current load utilization and the initial aging time; where the current load information includes the current load utilization.

[0110] In other embodiments of this application, processor 41 is configured to execute the flow table processing program in memory 42 to determine the initial aging time based on the current utilization rate, in order to perform the following steps: If the current usage rate is greater than or equal to the first usage rate threshold, the first time is determined as the initial aging time. If the current utilization rate is less than or equal to the second utilization rate threshold, the second time is determined as the initial aging time; wherein, the first utilization rate threshold is greater than the second utilization rate threshold; and the first time is less than the second time; If the current usage rate is greater than the second usage rate threshold but less than the first usage rate threshold, the aging time is determined to remain unchanged.

[0111] In other embodiments of this application, processor 41 is used to execute the flow table processing program in memory 42 to determine the target aging time based on the current load utilization and the initial aging time, in order to implement the following steps: If the current load utilization is greater than or equal to the load threshold, set the initial aging time to the third time and determine the third time as the target aging time; If the current load utilization is less than the load threshold, the initial aging time is determined as the target aging time.

[0112] It should be noted that a detailed description of the steps performed by the processor can be found in [reference needed]. Figure 1 and Figure 3 The corresponding implementation provides a flow table processing method, which will not be described in detail here.

[0113] The flow table processing device provided in this application embodiment effectively solves the misjudgment problem caused by static threshold classification by dynamically selecting the target rate threshold by acquiring the instantaneous rate of the data flow and combining it with the current network congestion information. Furthermore, it introduces dual criteria of the data flow's rate volatility and duration to achieve accurate identification of truly stable, high-throughput data flows. Simultaneously, it dynamically adjusts the target aging time of flow table entries in the hardware flow table based on the current load information of the virtual switch and the current usage status information of the hardware flow table, ensuring that hardware resources prioritize serving high-value data flows while reducing the burden on the software side. This significantly improves the accuracy and resource utilization of the smart network card's hardware offloading, thus solving the problems of misjudgment and resource waste caused by static thresholds and fixed aging times in related technologies.

[0114] Based on the foregoing embodiments, this application provides a computer program product, including a computer program, which, when executed by a processor, implements... Figure 1 and Figure 3 The corresponding implementation provides the steps of the flow table processing method.

[0115] Based on the foregoing embodiments, this application provides a computer-readable storage medium storing one or more programs that can be executed by one or more processors to achieve... Figure 1 and Figure 3 The corresponding implementation provides the steps of the flow table processing method.

[0116] The above description is merely an embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, and improvements made within the spirit and scope of this application are included within the scope of protection of this application.

Claims

1. A flow table processing method, characterized in that, The method includes: Get the instantaneous rate of the data stream currently being transmitted on the network; Based on the current network congestion information, a target rate threshold is selected from a first rate threshold and a second rate threshold; wherein, the first rate threshold is determined based on the historical statistical average rate of rat flows in the data center; and the second rate threshold is greater than the first rate threshold. If the instantaneous rate is greater than or equal to the target rate threshold, the rate fluctuation rate of the data stream is determined; If the data stream is determined to be a target elephant stream based on the rate fluctuation rate and the duration of the data stream, the forwarding rules of the target elephant stream are sent to the hardware flow table of the smart network card. Obtain the current usage status information of the hardware flow table and the current load information of the virtual switch, and determine the target aging time of the flow table entries in the hardware flow table based on the current usage status information and the current load information. Update the idle aging time of the flow table entries in the hardware flow table to the target aging time.

2. The method according to claim 1, characterized in that, The step of selecting a target rate threshold from a first rate threshold and a second rate threshold based on the current network congestion information includes: Obtain the bandwidth utilization rate of the current network; wherein the congestion information includes the bandwidth utilization rate; If the bandwidth utilization is less than or equal to the bandwidth threshold, the first rate threshold is selected as the target rate threshold. If the bandwidth utilization rate is greater than the bandwidth threshold, the second rate threshold is selected as the target rate threshold.

3. The method according to claim 1, characterized in that, Determining the rate fluctuation of the data stream includes: Within each acquisition cycle, the instantaneous rate of the data stream in the current acquisition cycle and the average rate in historical acquisition cycles are obtained; The rate fluctuation rate is determined based on the instantaneous rate and the average rate.

4. The method according to claim 1, characterized in that, Determining whether the data stream is a target elephant stream based on the rate volatility and the duration of the data stream includes: If the rate volatility is less than or equal to the volatility threshold, the data stream is determined to be a candidate elephant stream; If the duration is greater than or equal to the time threshold, the candidate elephant stream is determined to be the target elephant stream.

5. The method according to claim 1, characterized in that, The step of determining the target aging time of the flow table entries in the hardware flow table based on the current usage status information and the current load information includes: The initial aging time is determined based on the current usage rate; wherein, the current usage status information includes the current usage rate; Based on the initial aging time, the target aging time is determined based on the current load utilization and the initial aging time; wherein, the current load information includes the current load utilization.

6. The method according to claim 5, characterized in that, The determination of the initial aging time based on the current usage rate includes: If the current usage rate is greater than or equal to the first usage rate threshold, the first time is determined as the initial aging time. If the current utilization rate is less than or equal to the second utilization rate threshold, the second time is determined as the initial aging time; wherein the first utilization rate threshold is greater than the second utilization rate threshold; and the first time is less than the second time; If the current usage rate is greater than the second usage rate threshold and less than the first usage rate threshold, the aging time is determined to remain unchanged.

7. The method according to claim 5, characterized in that, Determining the target aging time based on the current load utilization and the initial aging time includes: If the current load utilization rate is greater than or equal to the load threshold, the initial aging time is set to the third time, and the third time is determined to be the target aging time; If the current load utilization is less than the load threshold, the initial aging time is determined as the target aging time.

8. A flow meter processing device, characterized in that, The device includes: Memory is used to store executable instructions or computer programs. A processor, when executing computer-executable instructions or computer programs stored in the memory, implements the method according to any one of claims 1 to 7.

9. A computer program product, comprising a computer program, characterized in that, The computer program, when executed by a processor, implements the method according to any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores one or more programs that can be executed by one or more processors to implement the method of any one of claims 1 to 7.