Flow table management method and related device thereof

With the assistance of the cloud management platform, network devices perform multiple hashing operations and index management, solving the problem of low loading rate of flow tables in traditional cloud service systems, and achieving efficient learning and updating of flow tables.

WO2025162268A1PCT designated stage Publication Date: 2025-08-07HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/074726
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-02-28
Filing Date
2025-01-24
Publication Date
2025-08-07

AI Technical Summary

Technical Problem

In traditional cloud service systems, network equipment has a high probability of conflict in a single hash operation, resulting in low loading rate of flow tables and cannot update flow tables in time.

Method used

Configure the main business logic of the tenant through the cloud management platform, enable network devices to perform multiple hash operations, and index management between the hash flow table, linear flow table and flow table overflow table, reducing the probability of hash collision and improving the flow table loading rate.

Benefits of technology

It realizes efficient learning and update of the flow table, reduces the probability of hash collision and improves the loading rate of the flow table.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025074726_07082025_PF_FP_ABST
    Figure CN2025074726_07082025_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed in the present application are a cloud management platform-based flow table management method and a cloud management platform, so as to improve the loading rate of flow tables. The method of the present application comprises: a tenant can input into a configuration interface provided by a cloud management platform a primary service logic set by the tenant for a network device thereof; then, the cloud management platform can configure the primary service logic in the network device of the tenant, and after receiving a first packet, the network device can execute the primary service logic on the first packet, that is, the network device can extract a first flow feature from the first packet; the network device may then perform a first hash operation on the first flow feature to obtain a first index, and perform a second hash operation on the first flow feature to obtain a second index; and subsequently, the network device may acquire a third index on the basis of the first index and the second index, and on the basis of the third index, detect whether a flow table of the network device contains the first flow feature, and if the flow table does not contain the first flow feature, the network device writes the first flow feature into the flow table.
Need to check novelty before this filing date? Find Prior Art

Description

A flow table management method and related equipment

[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office on January 30, 2024, with application number 202410135540.4 and application name “A data processing method based on network equipment and network equipment”, and claims priority to the Chinese patent application filed with the State Intellectual Property Office on February 28, 2024, with application number 202410223772.5 and application name “A flow table management method and related equipment”, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The embodiments of the present application relate to the field of cloud technology, and in particular to a flow table management method and related devices. Background Art

[0003] In traditional cloud service systems, a cloud management platform generates flow entries for packets and then distributes them to network devices, allowing them to process the packets based on these flow entries. However, in some special scenarios, the cloud management platform lacks prior knowledge of the packets and, therefore, is unable to generate the corresponding flow entries. Therefore, network devices must learn the flow characteristics of the packets themselves and generate the corresponding flow entries to achieve flow table learning.

[0004] In related technologies, after receiving a message, a network device can extract the message's flow features. The network device then performs a hash operation on the message's flow features to obtain a corresponding index. Based on this index, the network device then finds the corresponding flow entry in the flow table and extracts the flow features contained in the flow entry. If the flow features contained in the flow entry differ from the message's flow features, the network device replaces the flow features contained in the flow entry with the message's flow features, thereby completing flow table learning.

[0005] In the above process, since the network device performs a single hash on the flow characteristics of the message, the collision probability of the single hash is often high, resulting in a low loading rate of the flow table. Summary of the Invention

[0006] The embodiments of the present application provide a flow table management method and related devices, which can reduce the probability of hash conflicts to a certain extent, thereby improving the loading rate of the flow table.

[0007] A first aspect of an embodiment of the present application provides a flow table management method based on a cloud management platform. The cloud management platform used to implement this method can manage the infrastructure that provides cloud services, including network devices that serve tenants. The method includes:

[0008] When a tenant needs to configure the flow table management function for the tenant's network device, the cloud management platform can provide the tenant with a configuration interface, and the tenant can input the main business logic set by the tenant for its network device into the configuration interface. Therefore, the cloud management platform can receive the main business logic set by the tenant for its network device through the configuration interface.

[0009] After obtaining the main business logic set by the tenant for its network device, the cloud management platform can configure the main business logic in the tenant's network device. Then, when the tenant's network device receives a first message, the network device can execute the main business logic for the first message. In other words, the network device can extract the first flow feature of the first message it received and detect whether the network device's flow table contains the first flow feature. If it is detected that the network device's flow table contains the first flow feature, the network device can update the (hit) flag of the first flow feature in the flow table. If it is detected that the network device's flow table does not contain the first flow feature, the network device can write the first flow feature into the flow table to achieve flow table learning.

[0010] For example, after receiving a first message, the network device may extract a first flow feature of the first message from the first message. The network device may then perform a first hash operation and a second hash operation on the first flow feature to obtain hash operation results. Based on the hash operation results, the network device may detect whether the network device's flow table contains the first flow feature. If the network device determines that the flow table does not contain the first flow feature, the network device writes the first flow feature into the flow table. If the network device determines that the flow table contains the first flow feature, the network device updates the identifier of the first flow feature in the flow table to indicate that the first flow feature has been matched. For example, the network device may perform a first hash operation on the first flow feature to obtain a first index. The network device may then perform a second hash operation on the first flow feature to obtain a second index. Subsequently, the network device may obtain a third index based on the first and second indexes, and based on the third index, detect whether the network device's flow table contains the first flow feature. If the network device determines that the flow table does not contain the first flow feature, the network device writes the first flow feature into the flow table. If the network device determines that the flow table contains the first flow feature, the network device updates the identifier of the first flow feature in the flow table to indicate that the first flow feature has been matched.

[0011] It can be seen from the above method that: since the tenant configures the main business logic in the tenant's network device through the cloud management platform, the network device has a new flow table learning function, so the network device can perform multiple hash operations (the aforementioned first hash operation and the second hash operation, etc.) on the flow characteristics (the aforementioned first flow characteristics) of the message it receives (the aforementioned first message). In this way, the index of the flow characteristics of the message obtained based on multiple hash operations can be greatly different from the indexes of other flow characteristics, which can reduce the probability of conflict to a certain extent, thereby improving the loading rate of the flow table.

[0012] In one possible implementation, the flow table includes a hash flow table, a linear flow table, and a flow table overflow table, and the main business logic is used to instruct the network device to perform the following operations: perform a first hash operation on the first flow feature of the first message to obtain a first index, and determine the first group corresponding to the first index in the hash flow table, where the first group includes multiple slots; perform a second hash operation on the first flow feature to obtain a second index, and determine the first slot corresponding to the second index among the multiple slots of the first group; if the first slot does not contain a valid index, generate a third index corresponding to the first flow feature, write the third index to the first slot, and write the first flow feature into the linear flow table; or, if the first slot contains a valid index, and in the linear flow table, the flow feature corresponding to the index contained in the first slot is not the first flow feature, generate a third index corresponding to the first flow feature, write the third index into the flow table overflow table, and write the first flow feature into the linear flow table. In the aforementioned implementation, after receiving the first message, the network device may first extract the first flow feature of the first message. Then, the network device may perform a first hash operation on the first flow feature to obtain the first index. Because the first index is the index of a packet in the hash flow table, the network device can determine the first packet corresponding to the first index in the hash flow table, where the first packet contains multiple slots. The network device can then perform a second hash operation on the first flow feature to obtain a second index. Because the second index is the index of a slot in the first packet, the network device can determine the first slot corresponding to the second index among the multiple slots in the first packet. The network device can then detect whether the first slot contains a valid index. If the first slot does not contain a valid index, the network device generates a third index corresponding to the first flow feature, writes the third index to the first slot, and writes the first flow feature to the linear flow table. The network device can then determine that the network device's flow table has successfully learned the first flow feature. If the first slot contains a valid index, and the flow feature corresponding to the index in the first slot is not the first flow feature in the linear flow table, the network device generates a third index corresponding to the first flow feature, writes the third index to the flow table overflow table, and writes the first flow feature to the linear flow table. The network device can then determine that the network device's flow table has successfully learned the first flow feature. As can be seen, the network device is equipped with a hash flow table, a linear flow table, and a flow table overflow table. The hash flow table and flow table overflow table are used to store flow feature indexes, while the linear flow table is used to store flow features. After multiple hash operations, even if the network device discovers that the indexes of different flow features are the same, that is, multiple hash operations still result in a conflict, the network device can apply for a new index for the conflicting flow feature and store it in the flow table overflow table to resolve the conflict. It can also enable the linear flow table to learn the conflicting flow features. Therefore, the network device still has the ability to learn flow tables even when hash conflicts occur.

[0013] In one possible implementation, a flow table includes a hash flow table, a linear flow table, and a flow table overflow table, and a main service logic is used to instruct a network device to perform the following operations: performing a first hash operation on a first flow feature of a first message to obtain a first index, and determining a first group corresponding to the first index in the hash flow table, where the first group includes multiple slots, each slot including a hash value; performing a second hash operation on the first flow feature to obtain a calculated hash value; assuming that the hash value included in a slot in the first group is the same as the calculated hash value, then the slot is considered the first slot, and then whether the first slot contains a valid index can be detected. If the first slot does not contain a valid index, a third index corresponding to the first flow feature is generated, the third index is written to the first slot, and the first flow feature is written into the linear flow table; or, if the first slot contains a valid index and the flow feature corresponding to the index included in the first slot in the linear flow table is not the first flow feature, a third index corresponding to the first flow feature is generated, the third index is written to the flow table overflow table, and the first flow feature is written into the linear flow table.

[0014] In one possible implementation, the main business logic is further used to instruct the network device to perform the following operations: if the first slot contains a valid index, and in the linear flow table, the flow feature corresponding to the index contained in the first slot is the first flow feature, then the index contained in the first slot is used as the third index, and the identifier of the first flow feature is set to the first value, the first value being used to indicate that the flow feature has been hit; or, traverse the flow table overflow table, if in the linear flow table, the flow feature corresponding to the index contained in the flow table overflow table is the first flow feature, then the index contained in the flow table overflow table is used as the third index, and the identifier of the first flow feature is set to the first value. In the aforementioned implementation, after obtaining the first flow feature of the first message, the network device may first traverse the flow table overflow table. Since the flow table overflow table contains the index of a certain part of the flow features in the linear flow table, the network device may find this part of the flow features in the linear flow table based on this part of the index. If a flow feature in this part of the flow features is the first flow feature of the first message, the network device sets the identifier of the first flow feature in the linear flow table to the first value to indicate that the first flow feature has been hit. At this point, the network device can determine that the flow table of the network device has previously completed learning for the first flow feature. If this part of the flow features does not contain the first flow feature, the network device performs a first hash operation and a second hash operation on the first flow feature to determine the first slot of the first group from the hash flow table. If the first slot contains a valid index, and in the linear flow table, the flow feature corresponding to the index contained in the first slot is the first flow feature, then the index contained in the first slot is also the third index corresponding to the first flow feature, and the network device can set the identifier of the first flow feature to the first value to indicate that the first flow feature has been hit. At this point, the network device can determine that the flow table of the network device has previously completed learning for the first flow feature. It can be seen that based on the indexes of the flow features stored in the hash flow table and the flow table overflow table, the network device can accurately and quickly determine whether the linear flow table has previously learned the flow features of the received message based on the contents of these flow table records.

[0015] In one possible implementation, the method further includes: the cloud management platform receives the timing business logic set for the network device sent by the tenant through the configuration interface; the cloud management platform configures the timing business logic in the network device, and the timing business logic is used to enable the network device to perform the following operations: traverse the linear flow table at the target time to determine the second flow feature and the fourth index corresponding to the second flow feature from the linear flow table, the identifier of the second flow feature is the second numerical value, the second numerical value is used to indicate that the flow feature is not hit, and the target time is any one of the preset multiple time points; if the flow table overflow table contains the fourth index, the fourth index is deleted from the flow table overflow table; if the flow table overflow table does not contain the fourth index, the first hash operation is performed on the second flow feature to obtain the fifth Index, determine the second group corresponding to the fifth index in the hash flow table, perform a second hash operation on the second flow feature to obtain a sixth index, determine the second slot corresponding to the sixth index in the second group, and delete the fourth index from the second slot (in another implementation, if the flow table overflow table does not contain the fourth index, perform a first hash operation on the second flow feature to obtain the fifth index, determine the second group corresponding to the fifth index in the hash flow table, each slot of the second group contains a hash value; perform a second hash operation on the second flow feature to obtain a calculated hash value, assuming that the hash value contained in a slot in the first group is the same as the calculated hash value, then regard the slot as the second slot, and delete the fourth index from the second slot). In the aforementioned implementation, the tenant can also configure timed service logic in the tenant's network device through the cloud management platform. Since the timed service logic includes multiple moments defined by the tenant, at any of these multiple moments, that is, at the target moment, the network device can traverse the linear flow table to select the second flow feature identified by the second numerical value and the fourth index corresponding to the second flow feature from the linear flow table. Since the second flow feature is identified by the second numerical value, it indicates that the second flow feature has not been hit before. After determining the second flow feature and the fourth index corresponding to the second flow feature, the network device can detect whether the flow table overflow table contains the fourth index. If the flow table overflow table contains the fourth index, the network device deletes the fourth index from the flow table overflow table and deletes the second flow feature from the linear flow table. In this way, the network device successfully removes the relevant information of the second flow feature from the flow table, completing the flow table update. If the flow table overflow table does not contain the fourth index, the network device performs a first hash operation on the second flow feature to obtain a fifth index. Since the fifth index is the index of a group in the hash flow table, the network device can determine the second group corresponding to the fifth index in the hash flow table.Then, the network device can perform a second hash operation on the second flow feature to obtain the sixth index. Since the sixth index is the index of a slot in the second group, the network device can determine the second slot corresponding to the sixth index in the second group. Since the fourth index is located in the second slot, the network device can delete the fourth index from the second slot and delete the second flow feature from the linear flow table. In this way, the network device successfully removes the relevant information of the second flow feature from the flow table and completes the flow table update. It can be seen that since the tenant configures the timing business logic in the tenant's network device through the cloud management platform, the network device has a new flow table update function, so the network device can select flow features that have not been hit before from the linear flow table, and remove the indexes of these flow features from the hash flow table and the flow table overflow table, and remove these flow features from the linear flow table to complete the flow table update, thereby reclaiming the flow table space and improving the availability of the flow table.

[0016] In a possible implementation, the network device includes a run-to-completion (RTC) module, where the RTC module is used to execute a main service logic and a timing service logic.

[0017] In a possible implementation, the network device includes a pipeline module and an RTC module. The pipeline module is used to execute the main service logic, and the RTC module is used to execute the timing service logic.

[0018] The second aspect of an embodiment of the present application provides a cloud management platform, which is used to manage the infrastructure that provides cloud services. The infrastructure includes network devices that serve tenants. The cloud management platform includes: a receiving module, which is used to receive the main business logic set for the network device sent by the tenant through a configuration interface; a configuration module, which is used to configure the main business logic in the network device, and the main business logic is used to enable the network device to perform the following operations: if it is determined that the flow table of the network device does not contain the first flow feature of the first message received by the network device, the first flow feature is written into the flow table.

[0019] In one possible implementation, the main business logic is used to cause the network device to perform the following operations: perform a first hash operation and a second hash operation on the first flow feature of the received first message, respectively, to obtain a hash operation result; if it is determined based on the hash operation result that the flow table does not contain the first flow feature, the first flow feature is written into the flow table; if it is determined based on the hash operation result that the flow table does not contain the first flow feature, the identifier of the first flow feature is updated in the flow table; the first hash operation and the second hash operation are different hash operations.

[0020] In one possible implementation, the flow table includes a hash flow table, a linear flow table, and a flow table overflow table, and the main business logic is used to instruct the network device to perform the following operations: perform a first hash operation on the first flow feature of the first message to obtain a first index, and determine a first group corresponding to the first index in the hash flow table, where the first group includes multiple slots; perform a second hash operation on the first flow feature to obtain a second index, and determine a first slot corresponding to the second index among the multiple slots of the first group; if the first slot does not contain a valid index, generate a third index corresponding to the first flow feature, write the third index into the first slot, and write the first flow feature into the linear flow table; or, if the first slot contains a valid index, and in the linear flow table, the flow feature corresponding to the index contained in the first slot is not the first flow feature, generate a third index corresponding to the first flow feature, write the third index into the flow table overflow table, and write the first flow feature into the linear flow table.

[0021] In one possible implementation, the main business logic is also used to instruct the network device to perform the following operations: if the first slot contains a valid index, and in the linear flow table, the flow feature corresponding to the index contained in the first slot is the first flow feature, then the index contained in the first slot is used as the third index, and the identifier of the first flow feature is set to the first numerical value, and the first numerical value is used to indicate that the flow feature has been hit; or, traverse the flow table overflow table, if in the linear flow table, the flow feature corresponding to the index contained in the flow table overflow table is the first flow feature, then the index contained in the flow table overflow table is used as the third index, and the identifier of the first flow feature is set to the first numerical value.

[0022] In one possible implementation, the receiving module is also used to receive the timing business logic set for the network device sent by the tenant through the configuration interface; the configuration module is also used to configure the timing business logic in the network device, and the timing business logic is used to enable the network device to perform the following operations: traverse the linear flow table at the target time to determine the second flow feature and the fourth index corresponding to the second flow feature from the linear flow table, the identifier of the second flow feature is a second numerical value, the second numerical value is used to indicate that the flow feature is not hit, and the target time is any one of the preset multiple times; if the flow table overflow table contains the fourth index, the fourth index is deleted from the flow table overflow table; if the flow table overflow table does not contain the fourth index, a first hash operation is performed on the second flow feature to obtain a fifth index, a second group corresponding to the fifth index is determined in the hash flow table, a second hash operation is performed on the second flow feature to obtain a sixth index, a second slot corresponding to the sixth index is determined in the second group, and the fourth index is deleted from the second slot.

[0023] In a possible implementation, the network device includes an RTC module, and the RTC module is used to execute main service logic and timing service logic.

[0024] In a possible implementation, the network device includes a pipeline module and an RTC module. The pipeline module is used to execute the main service logic, and the RTC module is used to execute the timing service logic.

[0025] A third aspect of an embodiment of the present application provides a flow table management method based on a network device, the method including: the network device executes the main business logic, the main business logic including: performing a first hash operation and a second hash operation on the first flow feature of the received first message, respectively, to obtain a hash operation result; if it is determined based on the hash operation result that the flow table does not contain the first flow feature, the first flow feature is written into the flow table; if it is determined based on the hash operation result that the flow table does not contain the first flow feature, the identifier of the first flow feature is updated in the flow table, and the first hash operation and the second hash operation are different hash operations.

[0026] In one possible implementation, the flow table includes a hash flow table, a linear flow table, and a flow table overflow table, and the main business logic is used to instruct the network device to perform the following operations: perform a first hash operation on the first flow feature of the first message to obtain a first index, and determine a first group corresponding to the first index in the hash flow table, where the first group includes multiple slots; perform a second hash operation on the first flow feature to obtain a second index, and determine a first slot corresponding to the second index among the multiple slots of the first group; if the first slot does not contain a valid index, generate a third index corresponding to the first flow feature, write the third index into the first slot, and write the first flow feature into the linear flow table; or, if the first slot contains a valid index, and in the linear flow table, the flow feature corresponding to the index contained in the first slot is not the first flow feature, generate a third index corresponding to the first flow feature, write the third index into the flow table overflow table, and write the first flow feature into the linear flow table.

[0027] In one possible implementation, the main business logic is also used to instruct the network device to perform the following operations: if the first slot contains a valid index, and in the linear flow table, the flow feature corresponding to the index contained in the first slot is the first flow feature, then the index contained in the first slot is used as the third index, and the identifier of the first flow feature is set to the first numerical value, and the first numerical value is used to indicate that the flow feature has been hit; or, traverse the flow table overflow table, if in the linear flow table, the flow feature corresponding to the index contained in the flow table overflow table is the first flow feature, then the index contained in the flow table overflow table is used as the third index, and the identifier of the first flow feature is set to the first numerical value.

[0028] In one possible implementation, the method also includes: the network device executes timing business logic, the timing business logic includes: traversing the linear flow table at the target time to determine the second flow feature and the fourth index corresponding to the second flow feature from the linear flow table, the identifier of the second flow feature is a second numerical value, the second numerical value is used to indicate that the flow feature is not hit, and the target time is any one of the preset multiple times; if the flow table overflow table contains the fourth index, the fourth index is deleted from the flow table overflow table; if the flow table overflow table does not contain the fourth index, the first hash operation is performed on the second flow feature to obtain the fifth index, the second group corresponding to the fifth index is determined in the hash flow table, the second hash operation is performed on the second flow feature to obtain the sixth index, the second slot corresponding to the sixth index is determined in the second group, and the fourth index is deleted from the second slot.

[0029] In a possible implementation, the network device includes an RTC module, and the RTC module is used to execute main service logic and timing service logic.

[0030] In a possible implementation, the network device includes a pipeline module and an RTC module. The pipeline module is used to execute the main service logic, and the RTC module is used to execute the timing service logic.

[0031] The fourth aspect of an embodiment of the present application provides a network device, which includes: a first execution module for executing a main business logic, the main business logic including: performing a first hash operation and a second hash operation on the first flow feature of the received first message, respectively, to obtain a hash operation result; if it is determined based on the hash operation result that the flow table does not contain the first flow feature, the first flow feature is written into the flow table; if it is determined based on the hash operation result that the flow table does not contain the first flow feature, the identifier of the first flow feature is updated in the flow table; the first hash operation and the second hash operation are different hash operations.

[0032] In one possible implementation, the flow table includes a hash flow table, a linear flow table, and a flow table overflow table, and the main business logic is used to instruct the network device to perform the following operations: perform a first hash operation on the first flow feature of the first message to obtain a first index, and determine a first group corresponding to the first index in the hash flow table, where the first group includes multiple slots; perform a second hash operation on the first flow feature to obtain a second index, and determine a first slot corresponding to the second index among the multiple slots of the first group; if the first slot does not contain a valid index, generate a third index corresponding to the first flow feature, write the third index into the first slot, and write the first flow feature into the linear flow table; or, if the first slot contains a valid index, and in the linear flow table, the flow feature corresponding to the index contained in the first slot is not the first flow feature, generate a third index corresponding to the first flow feature, write the third index into the flow table overflow table, and write the first flow feature into the linear flow table.

[0033] In one possible implementation, the main business logic is also used to instruct the network device to perform the following operations: if the first slot contains a valid index, and in the linear flow table, the flow feature corresponding to the index contained in the first slot is the first flow feature, then the index contained in the first slot is used as the third index, and the identifier of the first flow feature is set to the first numerical value, and the first numerical value is used to indicate that the flow feature has been hit; or, traverse the flow table overflow table, if in the linear flow table, the flow feature corresponding to the index contained in the flow table overflow table is the first flow feature, then the index contained in the flow table overflow table is used as the third index, and the identifier of the first flow feature is set to the first numerical value.

[0034] In one possible implementation, the network device also includes: a second execution module, used to execute timing business logic, the timing business logic includes: traversing the linear flow table at the target time to determine the second flow feature and the fourth index corresponding to the second flow feature from the linear flow table, the identifier of the second flow feature is a second numerical value, the second numerical value is used to indicate that the flow feature is not hit, and the target time is any one of the preset multiple times; if the flow table overflow table contains the fourth index, the fourth index is deleted from the flow table overflow table; if the flow table overflow table does not contain the fourth index, a first hash operation is performed on the second flow feature to obtain a fifth index, a second group corresponding to the fifth index is determined in the hash flow table, a second hash operation is performed on the second flow feature to obtain a sixth index, a second slot corresponding to the sixth index is determined in the second group, and the fourth index is deleted from the second slot.

[0035] In a possible implementation, the network device includes an RTC module, and the RTC module includes a first execution module and a second execution module.

[0036] In a possible implementation, the network device includes a pipeline module and an RTC module, the pipeline module includes a first execution module, and the RTC module includes a second execution module.

[0037] A fifth aspect of an embodiment of the present application provides a computing device cluster, which includes at least one computing device, each computing device including a processor and a memory: the memory is used to store instructions; the processor is used to enable the computing device cluster to execute the method described in the first aspect, any possible implementation method of the first aspect, the third aspect, or any possible implementation method of the third aspect according to the instructions.

[0038] A sixth aspect of an embodiment of the present application provides a computer storage medium, which stores one or more instructions. When the instructions are executed by one or more computers, the one or more computers implement the method described in the first aspect, any possible implementation method of the first aspect, the third aspect, or any possible implementation method of the third aspect.

[0039] A seventh aspect of the embodiments of the present application provides a computer program product, which stores instructions. When the instructions are executed by a computer, the computer implements the method described in the first aspect, any possible implementation method of the first aspect, the third aspect, or any possible implementation method of the third aspect.

[0040] In an embodiment of the present application, when a tenant needs to configure a flow table management function for its network device, the tenant can input the main business logic set by the tenant for its network device into the configuration interface provided by the cloud management platform. After obtaining the main business logic set by the tenant for its network device, the cloud management platform can configure the main business logic in the tenant's network device. After the network device receives a first message, the network device can execute the main business logic on the first message, that is, the network device can extract the first flow feature of the first message from the first message. Next, the network device can perform a first hash operation on the first flow feature to obtain a first index. Then, the network device can perform a second hash operation on the first flow feature to obtain a second index. Subsequently, the network device can obtain a third index based on the first index and the second index, and detect whether the flow table of the network device contains the first flow feature based on the third index. If it is determined based on the third index that the flow table does not contain the first flow feature, the network device writes the first flow feature into the flow table. If it is determined based on the third index that the flow table contains the first flow feature, the network device updates the identifier of the first flow feature in the flow table to indicate that the first flow feature has been hit. In the above process, since the tenant configures the main business logic in the tenant's network device through the cloud management platform, the network device has a new flow table learning function, so the network device can perform multiple hash operations (the aforementioned first hash operation and the second hash operation, etc.) on the flow characteristics (the aforementioned first flow characteristics) of the message it receives (the aforementioned first message). In this way, the index of the flow characteristics of the message obtained based on multiple hash operations can be greatly different from the indexes of other flow characteristics, which can reduce the probability of conflict to a certain extent, thereby improving the loading rate of the flow table. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] FIG1 is a schematic diagram of the structure of a cloud service system provided in an embodiment of the present application;

[0042] FIG2 is a schematic diagram of the structure of a network device provided in an embodiment of the present application;

[0043] FIG3 is another schematic diagram of the structure of a network device provided in an embodiment of the present application;

[0044] FIG4 is another schematic diagram of the structure of a network device provided in an embodiment of the present application;

[0045] FIG5 is a flow chart of a flow table management method based on a cloud management platform according to an embodiment of the present application;

[0046] FIG6 is a schematic diagram of a tenant interface provided in an embodiment of the present application;

[0047] FIG7 is another schematic diagram of a tenant interface provided in an embodiment of the present application;

[0048] FIG8 is a schematic diagram of the main business logic provided by an embodiment of the present application;

[0049] FIG9 is a schematic diagram of timing service logic provided in an embodiment of the present application;

[0050] FIG10 is a schematic diagram of the structure of a cloud management platform provided in an embodiment of the present application;

[0051] FIG11 is a schematic structural diagram of a network device provided in an embodiment of the present application;

[0052] FIG12 is a schematic diagram of the structure of a computing device provided in an embodiment of the present application;

[0053] FIG13 is a schematic diagram of the structure of a computing device cluster provided in an embodiment of the present application;

[0054] FIG14 is a schematic diagram of computer devices in a computer cluster provided by an embodiment of the present application being connected via a network. DETAILED DESCRIPTION

[0055] The embodiments of the present application provide a flow table management method and related devices, which can reduce the probability of hash conflicts to a certain extent, thereby improving the loading rate of the flow table.

[0056] 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 terms used in this way can be interchangeable under appropriate circumstances, and this is merely a way of distinguishing the objects of the same attributes when describing them in the embodiments of the present application. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, so that the process, method, system, product or equipment comprising a series of units need not be limited to those units, but may include other units that are not clearly listed or inherent to these processes, methods, products or equipment.

[0057] In traditional cloud service systems, a cloud management platform generates flow entries for packets and then distributes them to network devices, allowing them to process the packets based on these flow entries. However, in some special scenarios, the cloud management platform lacks prior knowledge of the packets and, therefore, is unable to generate the corresponding flow entries. Therefore, network devices must learn the flow characteristics of the packets themselves and generate the corresponding flow entries to achieve flow table learning.

[0058] In the related art, after receiving a message, the network device can extract the flow features of the message. Then, the network device can perform a hash operation on the flow features of the message to obtain a corresponding index (that is, a hash value). Then, the network device can find the corresponding flow table entry from the flow table based on the index and extract the flow features contained in the flow table entry. If the flow features contained in the flow table entry are the same as the flow features of the message (the flow features contained in the flow table entry are hit), the network device does not need to perform any operations on the flow table. If the flow features contained in the flow table entry are different from the flow features of the message (the flow features contained in the flow table entry are not hit), the network device can replace the flow features contained in the flow table entry with the flow features of the message. In this way, the network device successfully writes the flow features of the message into the flow table, so that the flow table entry of the flow table contains the flow features of the message, thereby completing the flow table learning.

[0059] In the above process, since the network device performs a single hash on the flow characteristics of the message, the probability of a single hash collision is often high. That is, for different flow characteristics of different messages, the index values ​​obtained after the hash operation may be the same. This will cause the network device to frequently perform flow table learning, resulting in a low flow table loading rate.

[0060] Furthermore, in the above process, while the network device completes flow table learning, it can also complete flow table updates. In other words, the network device can adjust the contents of the flow table independently. In other words, when the flow characteristics contained in a flow table entry are not matched, the network device can replace the flow characteristics contained in the flow table, thereby completing the flow table update. As can be seen from this, flow table updates require the network device to receive a message or be triggered by the control plane, which will result in the network device being unable to update the flow table in a timely manner.

[0061] In order to solve the above problems, the embodiment of the present application provides a flow table management method, which can be implemented through a cloud service system or through the tenant's own network system. The following first introduces the cloud service system. Figure 1 is a structural diagram of the cloud service system provided by the embodiment of the present application. As shown in Figure 1, the cloud service system includes an infrastructure that can provide cloud services and a cloud management platform that manages these infrastructures. The following introduces the cloud management platform and infrastructure separately:

[0062] The cloud management platform can coordinate the management of the infrastructure in the entire cloud service system (for example, among the multiple network devices included in the infrastructure, select several network devices from the multiple network devices according to the instructions of the tenants, so that these several network devices provide network services to the tenants, etc.), and can also be open to tenants outside the cloud service system and respond to their requests. For example, the cloud management platform can provide various interfaces such as login interfaces and configuration interfaces for access by tenants' clients (for example, the terminal devices used by the tenants or the browsers on the terminal devices, etc.). Among them, the cloud management platform can authenticate the tenant's client through the login interface, and after successful authentication, the tenant's client can be allowed to log in to the cloud management platform. For example, the cloud management platform can also allow the tenant's client to send the main business logic set by the tenant for its network device to the cloud management platform through the configuration interface. Then, the cloud management platform can configure the main business logic in the tenant's network device. Then, when the tenant's network device executes the main business logic, it can determine whether its own flow table contains the flow feature of the received message. If the flow table contains the flow feature, the network device does not perform any operation on the flow table and adjusts the value of the identifier of the flow feature to indicate that the flow feature is hit. If the flow table contains the flow feature, the network device writes the flow feature of the message into the flow table so that the flow table learns the flow feature of the message, which is equivalent to completing the flow table learning. For example, the cloud management platform can also allow the tenant's client to send the scheduled business logic set by the tenant for its network device to the cloud management platform through the configuration interface. Then, the cloud management platform can configure the scheduled business logic in the tenant's network device. Then, when the tenant's network device executes the scheduled business logic, it can traverse its own flow table at certain specific times to find flow features that have not been hit in the flow table before (for example, determine whether the flow feature has been hit before by the identifier of the flow feature) and delete the relevant information of these unhit flow features from the flow table. In this way, the tenant's network device completes the flow table update.

[0063] The infrastructure includes the tenant's network equipment. As shown in Figure 2 (Figure 2 is a structural diagram of the network equipment provided by an embodiment of the present application), for the tenant's network equipment, the flow table possessed by the network equipment includes a hash flow table, a linear flow table, and a flow table overflow table. Among them, the hash flow table is used to record the correspondence between the index of each group and each group (that is, each table item of the hash flow table may include the index of a group and the corresponding group), and each group includes multiple slots, and each slot can be used to store the index of a flow feature. The linear flow table is used to record the correspondence between the index of each flow feature and each flow feature (that is, each table item of the linear flow table may include the index of a flow feature and the corresponding flow feature), and the flow table overflow table is used to record the index of the flow feature that the hash flow table fails to store (that is, each table item of the flow table overflow table may include the index of a flow feature).

[0064] Based on this, when a tenant's network device receives a message, it can first traverse the flow table overflow table. Since the flow table overflow table records the indexes of certain flow features, the network device can find these flow features in the linear flow table based on these indexes and determine whether these flow features contain the flow features of the message. If they do, the identifier of the flow feature is adjusted to indicate that the flow feature is hit. If not, a certain hash operation is performed on the flow feature of the message to obtain the index of a certain group, and then the group is found in the hash flow table based on this index. Next, another hash operation can be performed on the flow feature of the message to obtain the index of a certain slot in the group, and then the slot in the group is found based on this index. Subsequently, the network device can detect whether the slot contains an index of a flow feature. If the slot does not contain any valid index, the network device applies for a new index as the index of the flow feature of the message, writes the index into the slot, and writes the flow feature of the message into the linear flow table (that is, generates a new table entry). If the slot contains a valid index, the network device can find the corresponding flow feature based on the index. If the flow feature is the same as the flow feature of the message, the identifier of the flow feature is adjusted to indicate that the flow feature is hit. If they are not the same, the network device applies for a new index as the index of the flow feature of the message, writes the index into the flow table overflow table, and writes the flow feature of the message into the linear flow table. In this way, these flow tables successfully learn the flow features of the message, that is, the flow table learning is completed.

[0065] In addition, the network device can also traverse (for example, periodically scan) the linear flow table at a specific time, select the flow features that have not been hit before through the identification of the flow features, and delete the indexes of these flow features from the flow table overflow table or hash flow table to achieve flow table updates. This will not be expanded here.

[0066] Furthermore, the tenant's network device can be a physical network device (these physical network devices can be physical servers, physical routers, physical gateways, etc. that provide network services to the tenant), or a virtual network device. The virtual network device can be a virtual instance (cloud instance) in the infrastructure. The virtual instance can be presented in a variety of ways. For example, the virtual instance can be a virtual machine (VM) created by the cloud management platform on the physical network device through virtualization technology. For example, the virtual instance can also be a container (docker) created by the cloud management platform on the physical network device through virtualization technology. For example, the virtual instance can also be a micro virtual machine (microVM) created by the cloud management platform on the physical network device through virtualization technology, and so on.

[0067] Furthermore, for the tenant's network equipment, one or more network devices of the tenant can be deployed in one or more sites. The site can be presented in various forms. For example, the site can be a region in the infrastructure, or an availability zone in the infrastructure, or a data center (DC) in the infrastructure, or a room in the infrastructure, etc.

[0068] Furthermore, for the tenant's network device, its internal structure can be presented in a variety of ways. For example, as shown in Figure 3 (Figure 3 is another structural diagram of the network device provided in an embodiment of the present application), the tenant's network device may include a run-to-complete (RTC) module to implement the aforementioned main business logic and timing business logic respectively according to a certain timing sequence through the RTC module (for example, the RTC module can execute the main business logic and timing business logic in sequence by locking and unlocking, that is, the RTC module locks and executes the main business logic once and then unlocks, and then locks again and executes the timing business logic once and then unlocks, etc.). For example, as shown in Figure 4 (Figure 4 is provided in an embodiment of the present application ), the tenant's network device may include a pipeline module and an RTC module, so as to gradually complete each main business logic through the pipeline module, and complete each timing business logic in real time through the RTC module. It should be noted that the timing between the pipeline module executing the main business logic and the RTC module executing the timing business logic does not affect each other, and the two can be executed alternately (for example, in Figure 4, when the pipeline module executes the main business logic for a certain message, the main business logic for the message includes multiple stages. When the pipeline module executes each stage of the main business logic for the message, the RTC module can also execute each timing business logic at the same time), or it can be executed in other ways.

[0069] The above is an introduction to the cloud service system. The following section describes the tenant's network system. The tenant's network system typically includes their own network devices. The tenant can configure the aforementioned main business logic and scheduled business logic on these network devices. Once the network devices are powered on, they execute the main business logic and scheduled business logic. The specific process can be found in the section about network devices executing the main business logic and scheduled business logic in the cloud service system. This section will not be further elaborated on here.

[0070] Based on the above-mentioned cloud service system and the tenant's network system, it can be known that after receiving a certain message, the network device can perform at least two hash operations on the flow characteristics of the message to cooperate with a series of indexes to determine whether the flow characteristics of the message are included in the flow table of the network device, and then determine whether to perform flow table learning and flow table updates. Since the network device can perform multiple hash operations on the flow characteristics of a message, the probability of conflicts after hashing the flow characteristics of different messages can be reduced to a certain extent, thereby improving the loading rate of the flow table. In order to further understand the process, the following takes the cloud service system as an example to further introduce the process. Figure 5 is a flow chart of the flow table management method based on the cloud management platform provided in an embodiment of the present application. As shown in Figure 5, the method can be implemented through the cloud service system shown in Figure 1. The cloud service system includes an infrastructure for providing cloud services and a cloud management platform for managing the infrastructure. These infrastructures include network devices selected by the cloud management platform for tenants. The method includes:

[0071] 501. The cloud management platform receives the main business logic set for the network device sent by the tenant through the configuration interface.

[0072] In this embodiment, when the tenant needs to configure the flow table management function for the tenant's network device, the cloud management platform can provide a configuration interface to the tenant's client (for example, the main business thread code input field of the network device in the tenant interface, etc.), and the tenant can input the main business logic (also called the main business thread code) set by the tenant for its network device into the configuration interface through its client, so the cloud management platform can receive the main business logic set by the tenant for its network device through the configuration interface. The main business logic may include the following content: when the tenant's network device receives a message, if the flow table of the tenant's network device does not contain the flow characteristics of the message (for example, the five-tuple of the message, etc.), the tenant's network device can write the flow characteristics of the message into the flow table of the tenant's network device; if the flow table of the tenant's network device contains the flow characteristics of the message, the tenant's network device can update the identifier of the flow characteristics of the message in the flow table of the tenant's network device.

[0073] For example, as shown in FIG6 (FIG6 is a schematic diagram of a tenant interface provided by an embodiment of the present application), when a tenant needs to configure a flow table management function for its network device, it can log in to the cloud management platform. Therefore, the cloud management platform can provide a tenant interface for the tenant, and the tenant interface includes a flow table definition code input field and a main business thread code input field. Then, the tenant can enter the following flow table definition code in the flow table definition code input field:

[0074] It should be noted that the key of a flow table can be understood as the flow characteristics of a message, that is, the five-tuple of the message, including the network address of the source end that produces the message, the network address of the destination end that receives the message, the port from which the source end sends the message, the port on which the destination end receives the message, and the communication protocol between the two ends. The value of a flow table can also be understood as the statistical information required by the network device based on the flow characteristics of the message, including the arrival time of each message with the same flow characteristic, the total length and total number of all messages with the same flow characteristic, etc.

[0075] Tenants can also enter the following main business thread code in the Main business thread code input field:

[0076] Specifically, when a tenant needs to configure the flow table management function for the tenant's network device, the tenant can also perform the following operations:

[0077] The tenant can input the scheduled service logic (also called the scheduled service thread code) set by the tenant for its network device into the configuration interface (e.g., the scheduled service thread code input field of the network device in the tenant interface, etc.) through its client, so that the cloud management platform can receive the scheduled service logic set by the tenant for its network device through the configuration interface. The scheduled service logic may include the following: the tenant's network device can traverse (scan) its flow table at multiple preset time points to determine the flow characteristics of the packets that have not been hit before from the flow table, and remove the relevant information of these flow characteristics from the flow table.

[0078] Still using the above example, as shown in Figure 7 (Figure 7 is another schematic diagram of the tenant interface provided in an embodiment of the present application, and Figure 7 is drawn based on Figure 6), the tenant interface includes a flow table timed service thread code input field. Then, the tenant can enter the following timed service thread code in the timed service thread code input field:

[0079] Based on the code of the aforementioned timed service thread, it can be seen that the code includes multiple moments defined by the tenant. Among them, the aforementioned sleep duration can be understood as the difference between two adjacent moments. The size of this difference can be defined by the tenant and can be either fixed or variable, and can be set by the tenant according to their needs. Then, this code can cause the network device to periodically execute the timed service thread against the network device's flow table at these multiple moments (two adjacent moments constitute a cycle).

[0080] 502. The cloud management platform configures the main business logic in the network device. The main business logic is used to enable the network device to perform the following operations: if it is determined that the flow table of the network device does not contain the first flow feature of the first message received by the network device, the first flow feature is written into the flow table; if it is determined that the flow table of the network device contains the first flow feature, the identifier of the first flow feature is updated.

[0081] After obtaining the main business logic set by the tenant for its network device, the cloud management platform can configure the main business logic in the tenant's network device. Then, when the tenant's network device receives a first message, the network device can execute the main business logic for the first message. In other words, the network device can extract the first flow feature of the first message it received and detect whether the network device's flow table contains the first flow feature. If it is detected that the network device's flow table contains the first flow feature, the network device can update the (hit) flag of the first flow feature in the flow table. If it is detected that the network device's flow table does not contain the first flow feature, the network device can write the first flow feature into the flow table to achieve flow table learning.

[0082] Specifically, the network device may detect whether the flow table of the network device includes the first flow feature in the following manner:

[0083] After receiving the first message, the network device can extract the first flow feature of the first message from the first message. Then, the network device can perform a first hash operation on the first flow feature to obtain a first index. Then, the network device can perform a second hash operation on the first flow feature to obtain a second index, wherein the first hash operation and the second hash operation are different hash operations. Subsequently, the network device can obtain a third index based on the first index and the second index, and detect whether the flow table of the network device contains the first flow feature based on the third index. If it is determined based on the third index that the flow table does not contain the first flow feature, the network device writes the first flow feature into the flow table. If it is determined based on the third index that the flow table contains the first flow feature, the network device updates the identifier of the first flow feature in the flow table.

[0084] More specifically, the network device may further detect whether the flow table of the network device includes the first flow feature in the following manner:

[0085] In the tenant's network device, the flow table of the network device may include a hash flow table, a linear flow table, and a flow table overflow table. When the network device receives the first message, the network device may execute the main business logic for the first message, as shown in Figure 8 (Figure 8 is a schematic diagram of the main business logic provided by an embodiment of the present application). The process of the main business logic includes:

[0086] (1.1) The network device may first extract the first flow feature of the first message and lock it (locking will allow the network device to execute the main business logic and temporarily not process other business logic), and traverse the flow table overflow table. Since the flow table overflow table contains the index of a part of the flow features in the linear flow table, the network device can find this part of the flow features in the linear flow table based on this part of the index.

[0087] (1.2) If a certain flow feature in this part of the flow features is the first flow feature of the first message (it can be understood that the index of the flow feature contained in the flow table overflow table is the third index corresponding to the first flow feature), the network device sets the identifier of the first flow feature to the first value in the linear flow table to indicate that the first flow feature has been hit, and performs subsequent processing on the first message (for example, the network device counts the associated data of the first message and forwards the first message, etc.). At this point, the network device can determine that the flow table of the network device has completed the learning of the first flow feature before, so the network device can be unlocked so that the network device can execute other business logic (for example, executing timed business logic for the hash flow table, linear flow table and flow table overflow table of the network device, etc., which will not be expanded here).

[0088] (1.3) If the partial flow features do not include the first flow features, the network device executes step (4).

[0089] (1.4) The network device performs a first hash operation on the first flow feature to obtain a first index. Since the first index is an index of a packet in the hash flow table, the network device can determine the first packet corresponding to the first index in the hash flow table, where the first packet includes multiple slots.

[0090] (1.5) After receiving the first packet, the network device may perform a second hash operation on the first flow signature to obtain a second index. Since the second index is the index of a slot in the first packet, the network device may determine the first slot corresponding to the second index among the multiple slots in the first packet. The network device may then detect whether the first slot contains a valid index.

[0091] (1.6) If the first slot does not contain a valid index, the network device generates a third index corresponding to the first flow feature, writes the third index into the first slot, writes the first flow feature into the linear flow table, and performs subsequent processing on the first packet. At this point, the network device can determine that the network device's flow table has successfully learned the first flow feature, and the network device can unlock it to execute other service logic.

[0092] (1.7) If the first slot contains a valid index, and the flow signature corresponding to the index in the first slot in the linear flow table is not the first flow signature, the network device generates a third index corresponding to the first flow signature, writes the third index to the flow table overflow table, writes the first flow signature to the linear flow table, and may also perform subsequent processing on the first packet. At this point, the network device can determine that the network device's flow table has successfully learned the first flow signature, and therefore the network device can unlock the flow table to enable the network device to execute other service logic.

[0093] (1.8) If the first slot contains a valid index, and in the linear flow table, the flow feature corresponding to the index contained in the first slot is the first flow feature, then the index contained in the first slot is the third index corresponding to the first flow feature. The network device may set the identifier of the first flow feature to the first value to indicate that the first flow feature has been matched, and perform subsequent processing on the first packet. At this point, the network device can determine that the network device's flow table has previously completed learning for the first flow feature, and therefore the network device can unlock it so that the network device can execute other service logic.

[0094] More specifically, after obtaining the timing service logic set by the tenant for its network device, the cloud management platform can configure the timing service logic in the tenant's network device. Then, the network device can execute the timing service logic in the following manner, as shown in Figure 9 (Figure 9 is a schematic diagram of the timing service logic provided in an embodiment of the present application). The timing service logic process includes:

[0095] (2.1) Since the timed service logic includes multiple moments defined by the tenant, and since the process of executing the timed service logic by the network device at each moment is similar, the following description will be based on any one of the multiple moments, and this moment will be referred to as the target moment. At the target moment, the network device can traverse the linear flow table to select (hit) the second flow feature identified by the second numerical value and the fourth index corresponding to the second flow feature from the linear flow table. Since the second flow feature is identified by the second numerical value, it indicates that the second flow feature has not been hit before (in the period between the previous moment and the target moment).

[0096] (2.2) After determining the second flow feature and the fourth index corresponding to the second flow feature, the network device may lock and detect whether the flow table overflow table includes the fourth index.

[0097] (2.3) If the flow table overflow table contains the fourth index, the network device deletes the fourth index from the flow table overflow table and deletes the second flow feature from the linear flow table. In this way, the network device successfully removes the relevant information of the second flow feature from the flow table, completing the flow table update. The network device is then unlocked, allowing the network device to execute other service logic.

[0098] (2.4) If the flow table overflow table does not contain the fourth index, the network device performs a first hash operation on the second flow feature to obtain the fifth index. Since the fifth index is the index of a group in the hash flow table, the network device can determine the second group corresponding to the fifth index in the hash flow table. Next, the network device can perform a second hash operation on the second flow feature to obtain the sixth index. Since the sixth index is the index of a slot in the second group, the network device can determine the second slot corresponding to the sixth index in the second group. Since the fourth index is in the second slot, the network device can delete the fourth index from the second slot and delete the second flow feature from the linear flow table. In this way, the network device successfully removes the relevant information of the second flow feature from the flow table and completes the flow table update. Therefore, the network device can be unlocked so that the network device can execute other business logic.

[0099] It should be understood that in this embodiment, only the network device implements the main business logic and the timing business logic through the RTC module for schematic introduction. In actual applications, the network device can also implement the main business logic through the pipeline module and implement the timing business logic through the RTC module. Please refer to the above introduction to the difference between these two methods, which will not be repeated here.

[0100] It should also be understood that, in this embodiment, the first index, the second index, the third index, and other indexes are obtained by performing further operations based on the index values ​​calculated by the hash operation.

[0101] It should also be understood that in this embodiment, only the network device finds the first slot corresponding to the second index from the first group through the second index for schematic introduction. In actual applications, each slot of the first group may also store an additional hash value. After the network device obtains the calculated hash value through the second hash operation, it can also compare the additional hash value contained in each slot in the first group with the calculated hash value. If the additional hash value contained in a slot is the same as the calculated hash value, the network device can regard the slot as the first slot and detect whether the first slot contains a valid index to perform subsequent operations. No further details will be given here.

[0102] It should also be understood that in this embodiment, only the network device finding the second slot corresponding to the sixth index from the second group through the sixth index is used for schematic introduction. In actual applications, each slot of the second group may also store an additional hash value. After the network device obtains the calculated hash value through the second hash operation, it may also compare the additional hash value contained in each slot in the second group with the calculated hash value. If the additional hash value contained in a slot is the same as the calculated hash value, the network device may regard the slot as the second slot and perform subsequent operations on the second slot. No further details will be given here.

[0103] It should also be understood that in this embodiment, in the linear flow table of the network device, each flow table entry not only contains the index of a flow feature, but also contains the flow feature, the (hit) identifier of the flow feature, and the associated data of the flow feature, etc. Then, once the network device obtains the index of the flow feature, it can find the flow feature, the identifier of the flow feature, and the associated data of the flow feature from the linear flow table to perform corresponding processing on the identifier of the flow feature and the associated data of the flow feature.

[0104] It should also be understood that in this embodiment, when the network device executes the main business logic, step (1.1) is only schematically introduced as a prerequisite for executing step (1.4). In actual applications, step (1.1) and step (1.4) may not have a specific execution sequence. The two can be executed in parallel or asynchronously, and there is no limitation here.

[0105] In an embodiment of the present application, when a tenant needs to configure a flow table management function for its network device, the tenant can input the main business logic set by the tenant for its network device into the configuration interface provided by the cloud management platform. After obtaining the main business logic set by the tenant for its network device, the cloud management platform can configure the main business logic in the tenant's network device. After the network device receives a first message, the network device can execute the main business logic on the first message, that is, the network device can extract the first flow feature of the first message from the first message. Next, the network device can perform a first hash operation on the first flow feature to obtain a first index. Then, the network device can perform a second hash operation on the first flow feature to obtain a second index. Subsequently, the network device can obtain a third index based on the first index and the second index, and detect whether the flow table of the network device contains the first flow feature based on the third index. If it is determined based on the third index that the flow table does not contain the first flow feature, the network device writes the first flow feature into the flow table. If it is determined based on the third index that the flow table contains the first flow feature, the network device updates the identifier of the first flow feature in the flow table to indicate that the first flow feature has been hit. In the above process, since the tenant configures the main business logic in the tenant's network device through the cloud management platform, the network device has a new flow table learning function, so the network device can perform multiple hash operations (the aforementioned first hash operation and the second hash operation, etc.) on the flow characteristics (the aforementioned first flow characteristics) of the message it receives (the aforementioned first message). In this way, the index of the flow characteristics of the message obtained based on multiple hash operations can be greatly different from the indexes of other flow characteristics, which can reduce the probability of conflict to a certain extent, thereby improving the loading rate of the flow table.

[0106] Furthermore, in an embodiment of the present application, a flow table overflow table is provided in the network device. Even if the indexes of different flow features are the same, that is, multiple hash operations still result in conflicts, the network device can apply for new indexes for the conflicting flow features and store them in the flow table overflow table to resolve the conflict. This also allows the linear flow table to learn the conflicting flow features. This shows that the network device still has the ability to learn flow tables even when hash conflicts occur.

[0107] Furthermore, in an embodiment of the present application, the cloud management platform can provide a configuration interface to tenants, allowing tenants to customize the main business logic and timing business logic for their network devices, thereby meeting the tenants' configuration requirements for network devices and improving the tenant experience.

[0108] Furthermore, in an embodiment of the present application, since the tenant configures the timed business logic in the tenant's network device through the cloud management platform, the network device has a new flow table update function. Therefore, the network device can select flow features that have not been hit before from the linear flow table, and remove the indexes of these flow features from the hash flow table and the flow table overflow table, and remove these flow features from the linear flow table to complete the flow table update, thereby reclaiming the flow table space and improving the availability of the flow table.

[0109] The above is a detailed description of the flow table management method provided in the embodiment of the present application. The cloud management platform and network equipment provided in the embodiment of the present application will be introduced below. Figure 10 is a structural diagram of the cloud management platform provided in the embodiment of the present application. As shown in Figure 10, the cloud management platform is used to manage the infrastructure that provides cloud services. The infrastructure includes network equipment that serves tenants. The cloud management platform includes:

[0110] The receiving module 1001 is used to receive the main business logic set for the network device sent by the tenant through the configuration interface; for example, the receiving module 1001 is used to implement step 501 in the embodiment shown in Figure 5.

[0111] Configuration module 1002 is configured to configure the main service logic in the network device. The main service logic is configured to instruct the network device to perform the following operations: if it is determined that the flow table of the network device does not contain the first flow characteristic of the first packet received by the network device, write the first flow characteristic into the flow table. For example, configuration module 1002 is configured to implement step 502 in the embodiment shown in FIG. 5 .

[0112] In one possible implementation, the main business logic is used to cause the network device to perform the following operations: perform a first hash operation and a second hash operation on the first flow feature of the received first message, respectively, to obtain a hash operation result; if it is determined based on the hash operation result that the flow table does not contain the first flow feature, the first flow feature is written into the flow table; if it is determined based on the hash operation result that the flow table does not contain the first flow feature, the identifier of the first flow feature is updated in the flow table; the first hash operation and the second hash operation are different hash operations.

[0113] In one possible implementation, the flow table includes a hash flow table, a linear flow table, and a flow table overflow table, and the main business logic is used to instruct the network device to perform the following operations: perform a first hash operation on the first flow feature of the first message to obtain a first index, and determine a first group corresponding to the first index in the hash flow table, where the first group includes multiple slots; perform a second hash operation on the first flow feature to obtain a second index, and determine a first slot corresponding to the second index among the multiple slots of the first group; if the first slot does not contain a valid index, generate a third index corresponding to the first flow feature, write the third index into the first slot, and write the first flow feature into the linear flow table; or, if the first slot contains a valid index, and in the linear flow table, the flow feature corresponding to the index contained in the first slot is not the first flow feature, generate a third index corresponding to the first flow feature, write the third index into the flow table overflow table, and write the first flow feature into the linear flow table.

[0114] In one possible implementation, the main business logic is also used to instruct the network device to perform the following operations: if the first slot contains a valid index, and in the linear flow table, the flow feature corresponding to the index contained in the first slot is the first flow feature, then the index contained in the first slot is used as the third index, and the identifier of the first flow feature is set to the first numerical value, and the first numerical value is used to indicate that the flow feature has been hit; or, traverse the flow table overflow table, if in the linear flow table, the flow feature corresponding to the index contained in the flow table overflow table is the first flow feature, then the index contained in the flow table overflow table is used as the third index, and the identifier of the first flow feature is set to the first numerical value.

[0115] In one possible implementation, the receiving module 1001 is also used to receive the timing business logic set for the network device sent by the tenant through the configuration interface; the configuration module 1002 is also used to configure the timing business logic in the network device, and the timing business logic is used to enable the network device to perform the following operations: traverse the linear flow table at the target time to determine the second flow feature and the fourth index corresponding to the second flow feature from the linear flow table, the identifier of the second flow feature is the second numerical value, the second numerical value is used to indicate that the flow feature is not hit, and the target time is any one of the preset multiple times; if the flow table overflow table contains the fourth index, the fourth index is deleted from the flow table overflow table; if the flow table overflow table does not contain the fourth index, a first hash operation is performed on the second flow feature to obtain a fifth index, a second group corresponding to the fifth index is determined in the hash flow table, a second hash operation is performed on the second flow feature to obtain a sixth index, a second slot corresponding to the sixth index is determined in the second group, and the fourth index is deleted from the second slot.

[0116] In a possible implementation, the network device includes an RTC module, and the RTC module is used to execute main service logic and timing service logic.

[0117] In a possible implementation, the network device includes a pipeline module and an RTC module. The pipeline module is used to execute the main service logic, and the RTC module is used to execute the timing service logic.

[0118] FIG11 is a schematic diagram of the structure of a network device provided in an embodiment of the present application. As shown in FIG11 , the network device includes:

[0119] The first execution module 1101 is used to execute the main business logic, which includes: performing a first hash operation and a second hash operation on the first flow feature of the received first message to obtain a hash operation result; if it is determined based on the hash operation result that the flow table does not contain the first flow feature, the first flow feature is written into the flow table; if it is determined based on the hash operation result that the flow table does not contain the first flow feature, the identifier of the first flow feature is updated in the flow table; the first hash operation and the second hash operation are different hash operations.

[0120] In one possible implementation, the flow table includes a hash flow table, a linear flow table, and a flow table overflow table, and the main business logic is used to instruct the network device to perform the following operations: perform a first hash operation on the first flow feature of the first message to obtain a first index, and determine a first group corresponding to the first index in the hash flow table, where the first group includes multiple slots; perform a second hash operation on the first flow feature to obtain a second index, and determine a first slot corresponding to the second index among the multiple slots of the first group; if the first slot does not contain a valid index, generate a third index corresponding to the first flow feature, write the third index into the first slot, and write the first flow feature into the linear flow table; or, if the first slot contains a valid index, and in the linear flow table, the flow feature corresponding to the index contained in the first slot is not the first flow feature, generate a third index corresponding to the first flow feature, write the third index into the flow table overflow table, and write the first flow feature into the linear flow table.

[0121] In one possible implementation, the main business logic is also used to instruct the network device to perform the following operations: if the first slot contains a valid index, and in the linear flow table, the flow feature corresponding to the index contained in the first slot is the first flow feature, then the index contained in the first slot is used as the third index, and the identifier of the first flow feature is set to the first numerical value, and the first numerical value is used to indicate that the flow feature has been hit; or, traverse the flow table overflow table, if in the linear flow table, the flow feature corresponding to the index contained in the flow table overflow table is the first flow feature, then the index contained in the flow table overflow table is used as the third index, and the identifier of the first flow feature is set to the first numerical value.

[0122] In one possible implementation, the network device also includes: a second execution module 1102, which is used to execute timing business logic, and the timing business logic includes: traversing the linear flow table at the target time to determine the second flow feature and the fourth index corresponding to the second flow feature from the linear flow table, the identifier of the second flow feature is a second numerical value, the second numerical value is used to indicate that the flow feature is not hit, and the target time is any one of the preset multiple times; if the flow table overflow table contains the fourth index, the fourth index is deleted from the flow table overflow table; if the flow table overflow table does not contain the fourth index, a first hash operation is performed on the second flow feature to obtain a fifth index, and a second group corresponding to the fifth index is determined in the hash flow table, and a second hash operation is performed on the second flow feature to obtain a sixth index, and a second slot corresponding to the sixth index is determined in the second group, and the fourth index is deleted from the second slot.

[0123] In a possible implementation, the network device includes an RTC module, and the RTC module includes a first execution module 1101 and a second execution module 1102 .

[0124] In a possible implementation, the network device includes a pipeline module and an RTC module. The pipeline module includes a first execution module 1101 , and the RTC module includes a second execution module 1102 .

[0125] It should be noted that the information interaction, implementation process, etc. between the modules / units of the above-mentioned device are based on the same concept as the method embodiment of the present application, and the technical effects they bring are the same as those of the method embodiment of the present application. For specific contents, please refer to the description in the method embodiment shown above in the embodiment of the present application, and no further details will be given here.

[0126] Please refer to Figure 12, which is a schematic diagram of the structure of a computing device provided in an embodiment of the present application. As shown in Figure 12, the computing device 1200 (which can be used to present the aforementioned cloud management platform) includes: a processor 1201, a memory 1202, a communication interface 1203, and a bus 1204. The processor 1201, the memory 1202, and the communication interface 1203 are coupled via a bus (not labeled in the figure). The memory 1202 stores instructions. When the execution instructions in the memory 1202 are executed, the computing device 1200 executes the method executed by the cloud management platform in the above method embodiment.

[0127] The computing device 1200 may be one or more integrated circuits configured to implement the above method, such as one or more application specific integrated circuits (ASICs), one or more digital signal processors (DSPs), one or more field programmable gate arrays (FPGAs), or a combination of at least two of these integrated circuit forms. For example, when a unit in the device can be implemented in the form of a processing element scheduler, the processing element may be a general-purpose processor, such as a central processing unit (CPU) or other processor that can call a program. For example, these units may be integrated together and implemented in the form of a system-on-a-chip (SOC).

[0128] The processor 1201 may be a central processing unit (CPU), other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA), other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. The general-purpose processor may be a microprocessor or any conventional processor.

[0129] Memory 1202 may be volatile memory or nonvolatile memory, or may include both volatile and nonvolatile memory. Nonvolatile memory may be read-only memory (ROM), programmable ROM (PROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory may be random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link DRAM (SLDRAM), and direct rambus RAM (DR RAM).

[0130] Memory 1202 stores executable program code, and processor 1201 executes the executable program code to implement the functions of the aforementioned receiving module, configuration module, and other modules, thereby implementing the aforementioned flow table management method based on the cloud management platform. In other words, memory 1202 stores instructions for executing the aforementioned flow table management method based on the cloud management platform.

[0131] The communication interface 1203 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 1200 and other devices or a communication network.

[0132] In addition to the data bus, bus 1204 may also include a power bus, a control bus, and a status signal bus. The bus may be a Peripheral Component Interconnect Express (PCIe) bus, an Extended Industry Standard Architecture (EISA) bus, a unified bus (Ubus or UB), a Compute Express Link (CXL), or a Cache Coherent Interconnect for Accelerators (CCIX). Buses can be categorized as address buses, data buses, and control buses.

[0133] Please refer to Figure 13 , which is a schematic diagram of a computing device cluster provided in an embodiment of the present application. As shown in Figure 13 , the computing device cluster 1300 includes at least one computing device 1200 .

[0134] As shown in Figure 13, the computing device cluster 1300 includes at least one computing device 1200. The memory 1202 in one or more computing devices 1200 in the computing device cluster 1300 may store the same instructions for executing the above-mentioned flow table management method based on the cloud management platform.

[0135] In some possible implementations, the memory 1202 of one or more computing devices 1200 in the computing device cluster 1300 may also store partial instructions for executing the aforementioned cloud management platform-based flow table management method. In other words, the combination of one or more computing devices 1200 can jointly execute the aforementioned cloud management platform-based flow table management method.

[0136] It should be noted that the memory 1202 in different computing devices 1200 in the computing device cluster 1300 may store different instructions, each for executing a portion of the functions of the aforementioned cloud management platform. In other words, the instructions stored in the memory 1202 in different computing devices 1200 may implement the functions of one or more modules such as the receiving module and the configuration module.

[0137] In some possible implementations, one or more computing devices 1200 in the computing device cluster 1300 may be connected via a network, which may be a wide area network or a local area network.

[0138] Please refer to Figure 14, which is a schematic diagram of computer devices in a computer cluster provided by an embodiment of the present application being connected via a network. As shown in Figure 14, two computing devices 1200A and 1200B are connected via a network. Specifically, each computing device is connected to the network via a communication interface.

[0139] In a possible implementation, the memory of the computing device 1200A stores instructions for executing functions of a receiving module and the like. Meanwhile, the memory of the computing device 1200B stores instructions for executing functions of a configuration module and the like.

[0140] It should be understood that the functions of the computing device 1200A shown in Figure 14 may also be completed by multiple computing devices. Similarly, the functions of the computing device 1200B may also be completed by multiple computing devices.

[0141] An embodiment of the present application also relates to a computer storage medium, in which a program for signal processing is stored. When the computer storage medium is run on a computer, the computer executes the steps executed by the cloud management platform in the embodiment shown in Figure 5.

[0142] An embodiment of the present application also relates to a computer program product, which stores instructions that, when executed by a computer, enable the computer to execute the steps performed by the cloud management platform in the embodiment shown in FIG5 .

[0143] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0144] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.

[0145] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.

[0146] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.

[0147] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

Claims

1. A flow table management method based on a cloud management platform, characterized in that: The cloud management platform is used to manage the infrastructure for providing cloud services, wherein the infrastructure includes network devices serving tenants. The method includes: The cloud management platform receives the main business logic set for the network device sent by the tenant through the configuration interface; The cloud management platform configures the main business logic in the network device, and the main business logic is used to enable the network device to perform the following operations: if it is determined that the flow table of the network device does not contain the first flow feature of the first message received by the network device, write the first flow feature into the flow table.

2. The method according to claim 1, characterized in that The main service logic is used to enable the network device to perform the following operations: Perform a first hash operation and a second hash operation on the first flow feature of the received first message to obtain a hash operation result. If it is determined based on the hash operation result that the flow table does not contain the first flow feature, write the first flow feature into the flow table. The first hash operation and the second hash operation are different hash operations.

3. The method according to claim 2, characterized in that The flow table includes a hash flow table, a linear flow table, and a flow table overflow table. The main service logic is used to enable the network device to perform the following operations: Performing a first hash operation on a first flow feature of the first message to obtain a first index, and determining a first group corresponding to the first index in the hash flow table, where the first group includes multiple slots; Performing a second hash operation on the first flow feature to obtain a second index, and determining a first slot corresponding to the second index among the multiple slots of the first group; If the first slot does not contain a valid index, generating a third index corresponding to the first flow feature, writing the third index into the first slot, and writing the first flow feature into the linear flow table; or, If the first slot contains a valid index, and in the linear flow table, the flow feature corresponding to the index contained in the first slot is not the first flow feature, then a third index corresponding to the first flow feature is generated, the third index is written into the flow table overflow table, and the first flow feature is written into the linear flow table.

4. The method according to claim 3, characterized in that The main service logic is further configured to instruct the network device to perform the following operations: If the first slot contains a valid index, and in the linear flow table, the flow feature corresponding to the index contained in the first slot is the first flow feature, then the index contained in the first slot is used as the third index, and the identifier of the first flow feature is set to a first value, where the first value is used to indicate that the flow feature has been hit; or, Traverse the flow table overflow table. If, in the linear flow table, the flow feature corresponding to the index contained in the flow table overflow table is the first flow feature, then use the index contained in the flow table overflow table as the third index, and set the identifier of the first flow feature to the first value.

5. The method according to any one of claims 1 to 4, characterized in that The method further comprises: The cloud management platform receives the timing service logic set for the network device sent by the tenant through the configuration interface; The cloud management platform configures the timing service logic in the network device, and the timing service logic is used to enable the network device to perform the following operations: traversing the linear flow table at a target time to determine a second flow feature and a fourth index corresponding to the second flow feature from the linear flow table, where the identifier of the second flow feature is a second numerical value, and the second numerical value is used to indicate that the flow feature is not hit, and the target time is any one of a plurality of preset times; If the flow table overflow table includes the fourth index, deleting the fourth index from the flow table overflow table; If the flow table overflow table does not contain the fourth index, a first hash operation is performed on the second flow feature to obtain a fifth index, a second group corresponding to the fifth index is determined in the hash flow table, a second hash operation is performed on the second flow feature to obtain a sixth index, a second slot corresponding to the sixth index is determined in the second group, and the fourth index is deleted from the second slot.

6. The method according to any one of claims 1 to 5, characterized in that The network device includes a run-to-completion RTC module, which is used to execute the main service logic and the timing service logic.

7. The method according to any one of claims 1 to 5, characterized in that The network device includes a pipeline module and an RTC module. The pipeline module is used to execute the main service logic, and the RTC module is used to execute the timing service logic.

8. A cloud management platform, characterized in that: The cloud management platform is used to manage the infrastructure that provides cloud services, which includes network devices that serve tenants. The cloud management platform includes: A receiving module, configured to receive the main business logic set for the network device sent by the tenant through the configuration interface; A configuration module is used to configure the main business logic in the network device, and the main business logic is used to enable the network device to perform the following operations: if it is determined that the flow table of the network device does not contain the first flow feature of the first message received by the network device, the first flow feature is written into the flow table.

9. The cloud management platform according to claim 8, characterized in that: The main service logic is used to enable the network device to perform the following operations: Perform a first hash operation and a second hash operation on the first flow feature of the received first message to obtain a hash operation result. If it is determined based on the hash operation result that the flow table does not contain the first flow feature, write the first flow feature into the flow table. The first hash operation and the second hash operation are different hash operations.

10. The cloud management platform according to claim 9, characterized in that: The flow table includes a hash flow table, a linear flow table, and a flow table overflow table. The main service logic is used to enable the network device to perform the following operations: Performing a first hash operation on a first flow feature of the first message to obtain a first index, and determining a first group corresponding to the first index in the hash flow table, where the first group includes multiple slots; Performing a second hash operation on the first flow feature to obtain a second index, and determining a first slot corresponding to the second index among multiple slots of the first group; If the first slot does not contain a valid index, generating a third index corresponding to the first flow feature, writing the third index into the first slot, and writing the first flow feature into the linear flow table; or, If the first slot contains a valid index, and in the linear flow table, the flow feature corresponding to the index contained in the first slot is not the first flow feature, then a third index corresponding to the first flow feature is generated, the third index is written into the flow table overflow table, and the first flow feature is written into the linear flow table.

11. The cloud management platform according to claim 10, characterized in that: The main service logic is further configured to instruct the network device to perform the following operations: If the first slot contains a valid index, and in the linear flow table, the flow feature corresponding to the index contained in the first slot is the first flow feature, then the index contained in the first slot is used as the third index, and the identifier of the first flow feature is set to a first value, where the first value is used to indicate that the flow feature has been hit; or, Traverse the flow table overflow table. If, in the linear flow table, the flow feature corresponding to the index contained in the flow table overflow table is the first flow feature, then use the index contained in the flow table overflow table as the third index, and set the identifier of the first flow feature to the first value.

12. The cloud management platform according to any one of claims 8 to 11, characterized in that: The receiving module is further configured to receive the timing service logic set for the network device sent by the tenant through the configuration interface; The configuration module is further configured to configure the timing service logic in the network device, where the timing service logic is configured to enable the network device to perform the following operations: traversing the linear flow table at a target time to determine a second flow feature and a fourth index corresponding to the second flow feature from the linear flow table, where the identifier of the second flow feature is a second numerical value, and the second numerical value is used to indicate that the flow feature is not hit, and the target time is any one of a plurality of preset times; If the flow table overflow table includes the fourth index, deleting the fourth index from the flow table overflow table; If the flow table overflow table does not contain the fourth index, a first hash operation is performed on the second flow feature to obtain a fifth index, a second group corresponding to the fifth index is determined in the hash flow table, a second hash operation is performed on the second flow feature to obtain a sixth index, a second slot corresponding to the sixth index is determined in the second group, and the fourth index is deleted from the second slot.

13. The cloud management platform according to any one of claims 8 to 12, characterized in that: The network device includes an RTC module, and the RTC module is used to execute the main service logic and the timing service logic.

14. The cloud management platform according to any one of claims 8 to 12, characterized in that: The network device includes a pipeline module and an RTC module. The pipeline module is used to execute the main service logic, and the RTC module is used to execute the timing service logic.

15. A computing device cluster, characterized in that: The computing device cluster includes at least one computing device, each computing device including a processor and a memory: The memory is used to store instructions; The processor is configured to cause the computing device cluster to execute the method according to any one of claims 1 to 7 according to the instructions.

16. A computer storage medium, characterized in that The computer storage medium stores one or more instructions, which, when executed by one or more computers, enable the one or more computers to implement the method of any one of claims 1 to 7.

17. A computer program product, characterized in that The computer program product stores instructions, which, when executed by a computer, enable the computer to implement the method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Video code stream processing method and device, network equipment and readable storage medium

    CN109963176A

  • Message statistics method and network equipment

    CN110113230A

  • Efficient network flow table design method realized based on FPGA (Field Programmable Gate Array)

    CN116319551A

  • Communication method, communication system, resource pool management system, switch device and control device

    US20160373345A1

  • Data processing method and related apparatus

    WO2023273788A1