Data processing methods, apparatus, devices, and readable storage media based on DPU
By offloading the SDN data control plane components to the DPU, the problem of cloud server CPU resources being occupied by non-core business tasks is solved, achieving more efficient CPU resource utilization and reducing costs.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- YUSUR TECH CO LTD
- Filing Date
- 2023-08-11
- Publication Date
- 2026-05-26
AI Technical Summary
In software-defined cloud-native container virtualization networks, SDN control plane components are deployed on cloud server nodes, resulting in non-core business tasks consuming a large amount of CPU resources, reducing the efficiency of cloud server CPU resource utilization and increasing usage costs.
By offloading SDN data control plane components to the DPU, network control plane tasks can be handled by the DPU, reducing the resource consumption of cloud servers.
It improves the utilization efficiency of cloud server CPU resources, reduces unnecessary CPU resource consumption, and lowers usage costs.
Smart Images

Figure CN116886496B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of network data processing, and in particular to a data processing method, apparatus, device, and readable storage medium based on a DPU. Background Technology
[0002] Software-defined networking (SDN) is a network architecture that separates the network control plane from the data forwarding plane, enabling more flexible and programmable network control. At the core of SDN is a centralized controller responsible for managing and coordinating the behavior of network devices, such as switches and routers. By providing unified control and configuration for network devices, SDN simplifies network management and facilitates the use of network resources to support application needs.
[0003] Software-defined cloud-native container virtualization networking (SDN) abstracts the cloud-native virtualization network within a container virtualization cluster into an SDN control plane and a data forwarding plane, separating control and forwarding. Specifically, when changes occur in the container virtualization network, the SDN control plane can detect these changes by monitoring the container network cluster. Based on these events, it automatically generates network topology and can then generate forwarding rules such as flow tables or routing tables. These rules are distributed to the SDN control plane components on each cloud server node, and then further distributed to the SDN data forwarding plane components deployed on the same cloud server node, guiding the SDN data forwarding plane to forward traffic.
[0004] In current software-defined cloud-native container virtualization networks, SDN data forwarding plane components are typically deployed only on the DPU, while the SDN control plane components remain deployed on cloud server nodes or container clusters within those servers. Operations on the SDN control plane components, such as data plane flow table synchronization, process health checks, and lifecycle management, involve handling non-core tasks like operating system kernel interrupts, protocol stack processing, I / O, hardware and software interrupts, and multi-process context handling. These non-core tasks consume significant amounts of CPU resources on the cloud server side. For both cloud computing providers and tenants, this greatly increases unnecessary CPU resource consumption on cloud servers, thereby reducing CPU resource utilization efficiency and increasing usage costs. Summary of the Invention
[0005] To address the aforementioned technical issues, this disclosure provides a data processing method, apparatus, device, and readable storage medium based on a DPU, thereby reducing unnecessary CPU resource consumption in cloud servers and improving the utilization efficiency of cloud server CPU resources.
[0006] In a first aspect, embodiments of this disclosure provide a data processing method based on a DPU, including:
[0007] When a preset event is detected in the container cluster, a configuration table corresponding to the container cluster is generated through the control plane. The configuration table includes forwarding rules and interface configuration information. The control plane is used to monitor events in the container cluster.
[0008] The configuration table is sent to the control plane agent deployed on the DPU via the control plane.
[0009] The control plane proxy adds interface configurations to the forwarding plane deployed on the DPU according to the interface configuration information in the configuration table, so that the forwarding plane generates target network interfaces corresponding to the network interfaces in the container cluster.
[0010] The forwarding rules in the configuration table are associated with the target network interface through the control plane proxy to form a forwarding flow table, and the forwarding flow table is sent to the forwarding plane on the DPU.
[0011] According to the forwarding flow table, the data to be forwarded is forwarded to the target port through the forwarding plane on the DPU.
[0012] In some embodiments, the preset event includes at least one of the following:
[0013] The scheduling event, creation event, modification event, and deletion event of the service in the container cluster.
[0014] In some embodiments, when a preset event is detected in the container cluster, a configuration table corresponding to the container cluster is generated through the control plane. The configuration table includes forwarding rules and interface configuration information, including:
[0015] When a preset event is detected in the container cluster, the container network and network policies of the container cluster are abstracted into a network topology through the control plane;
[0016] The configuration table is generated based on the network topology.
[0017] In some embodiments, forwarding the data to be forwarded to the target port via the forwarding plane on the DPU according to the forwarding flow table includes:
[0018] The data to be forwarded in the container cluster is obtained through the target network interface generated on the forwarding plane of the DPU.
[0019] The target port of the data to be forwarded is determined according to the forwarding flow table.
[0020] Forward the data to be forwarded to the target port.
[0021] In some embodiments, forwarding the data to be forwarded to the target port via the forwarding plane on the DPU according to the forwarding flow table includes:
[0022] When data to be forwarded from outside the container cluster enters the container cluster, the data to be forwarded is sent to the forwarding plane on the DPU.
[0023] The target port of the data to be forwarded is determined according to the forwarding flow table.
[0024] The data to be forwarded is forwarded to the target port through the target network interface generated on the forwarding plane of the DPU.
[0025] Secondly, embodiments of this disclosure provide a data processing apparatus based on a DPU, comprising:
[0026] The first generation module is used to generate a configuration table corresponding to the container cluster in response to a preset event occurring in the container cluster, through the control plane. The configuration table includes forwarding rules and interface configuration information. The control plane is used to monitor events in the container cluster.
[0027] A sending module is used to send the configuration table to a control plane agent deployed on the DPU via the control plane.
[0028] The configuration module is used to add interface configurations to the forwarding plane deployed on the DPU through the control plane proxy according to the interface configuration information in the configuration table, so as to generate target network interfaces on the forwarding plane that correspond to the network interfaces in the container cluster.
[0029] The second generation module is used to associate the forwarding rules in the configuration table with the target network interface through the control plane proxy to form a forwarding flow table, and to send the forwarding flow table to the forwarding plane on the DPU;
[0030] The forwarding module is used to forward the data to be forwarded to the target port through the forwarding plane on the DPU according to the forwarding flow table.
[0031] In some embodiments, when the first generation module detects a preset event occurring in the container cluster, it generates a configuration table corresponding to the container cluster through the control plane. The configuration table includes forwarding rules and interface configuration information. Specifically, this is used for:
[0032] When a preset event is detected in the container cluster, the container network and network policies of the container cluster are abstracted into a network topology through the control plane;
[0033] The configuration table is generated based on the network topology.
[0034] In some embodiments, when the forwarding module forwards the data to be forwarded to the target port through the forwarding plane on the DPU according to the forwarding flow table, it is specifically used for:
[0035] The data to be forwarded in the container cluster is obtained through the target network interface generated on the forwarding plane of the DPU.
[0036] The target port of the data to be forwarded is determined according to the forwarding flow table.
[0037] Forward the data to be forwarded to the target port.
[0038] Thirdly, embodiments of this disclosure provide an electronic device, including:
[0039] Memory;
[0040] Processor; and
[0041] Computer programs;
[0042] The computer program is stored in the memory and configured to be executed by the processor to implement the method as described in the first aspect.
[0043] Fourthly, embodiments of this disclosure provide a computer-readable storage medium having a computer program stored thereon, the computer program being executed by a processor to implement the method described in the first aspect.
[0044] Fifthly, embodiments of this disclosure also provide a computer program product, which includes a computer program or instructions that, when executed by a processor, implement the DPU-based data processing method described above.
[0045] The data processing method, apparatus, device, and readable storage medium based on DPU provided in this disclosure offload the resource consumption of the server by the SDN data control plane component, i.e., the control plane agent deployed on the cloud server node, to the DPU. The DPU is used to focus on network control plane task processing, so that the CPU resources on the cloud server node can be more focused on the core business logic processing on the cloud server. This can reduce unnecessary cloud server CPU resource consumption and improve the utilization efficiency of cloud server CPU resources. Attached Figure Description
[0046] The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure.
[0047] To more clearly illustrate the technical solutions in the embodiments of this disclosure or the prior art, the accompanying drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0048] Figure 1 A flowchart of a DPU-based data processing method provided in this embodiment of the disclosure;
[0049] Figure 2 A schematic diagram illustrating an application scenario provided by an embodiment of this disclosure;
[0050] Figure 3 A flowchart of a DPU-based data processing method provided in another embodiment of this disclosure;
[0051] Figure 4 A flowchart of a DPU-based data processing method provided in another embodiment of this disclosure;
[0052] Figure 5 A schematic diagram illustrating an application scenario provided by another embodiment of this disclosure;
[0053] Figure 6 A schematic diagram of the structure of a DPU-based data processing device provided in an embodiment of this disclosure;
[0054] Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. Detailed Implementation
[0055] To better understand the above-mentioned objectives, features, and advantages of this disclosure, the solutions disclosed herein will be further described below. It should be noted that, unless otherwise specified, the embodiments and features described herein can be combined with each other.
[0056] Numerous specific details are set forth in the following description in order to provide a full understanding of this disclosure, but this disclosure may also be implemented in other ways different from those described herein; obviously, the embodiments in the specification are only some, and not all, of the embodiments of this disclosure.
[0057] This disclosure provides a data processing method based on a DPU, which will be described below with reference to specific embodiments.
[0058] Figure 1 A flowchart illustrating a DPU-based data processing method provided in this embodiment of the disclosure. This method can be applied to... Figure 2The application scenario shown includes a DPU-based data processing system, specifically comprising a container network cluster control plane 21, a control plane 22, a cloud server node 23, and a data processing unit or dedicated data processor (DPU) 24. The container cluster on the cloud server node 23 includes PODs (Programmable Containers) for providing various services (e.g., ...). Figure 2 The DPU24 contains a POD (Programmable Array of Devices) for providing service A, a POD for providing service B, and a control plane agent; the DPU24 runs an operating system DPU SoC (System on Chip), whose kernel protocol stack includes a forwarding plane. The DPU24 also includes a communication interface NIC.
[0059] It is understood that the DPU-based data processing method provided in this disclosure can also be applied in other scenarios.
[0060] A Data Processing Unit (DPU) is a new generation of computing chips that is data-centric, I / O-intensive, and uses a software-defined technology approach to support infrastructure resource layer virtualization. It can improve computing system efficiency, reduce the total cost of ownership of the overall system, improve data processing performance, and reduce the performance loss of other computing chips.
[0061] The Central Processing Unit (CPU) is the core component of a computer responsible for executing instructions and controlling its operation. It processes large amounts of data and instructions, translating them into a form that the computer can understand and execute. The main characteristics of the CPU are its high versatility and flexibility.
[0062] The following is combined with Figure 2 The application scenarios shown are for Figure 1 The DPU-based data processing method is described below, and the specific steps of this method are as follows:
[0063] S101. When a preset event is detected in the container cluster, a configuration table corresponding to the container cluster is generated through the control plane. The configuration table includes forwarding rules and interface configuration information. The control plane is used to monitor events in the container cluster.
[0064] like Figure 2As shown, the container cluster includes multiple containerized services, such as a POD for providing service A and a POD for providing service B. In some cases, when these services are adjusted or updated, corresponding preset events occur in the container cluster. A control plane agent (e.g., OpenFlow Synchronizer) 241 is installed and deployed on DPU 24 to receive and synchronize flow tables issued from the SDN controller.
[0065] In some embodiments, the preset event includes at least one of the following: a scheduling event for a service in the container cluster, a creation event for a service in the container cluster, a modification event for a service in the container cluster, and a deletion event for a service in the container cluster. Optionally, the preset event can be any one or any combination of the scheduling event for a service in the container cluster, the creation event for a service in the container cluster, the modification event for a service in the container cluster, and the deletion event for a service in the container cluster. The preset event may also include other events, which are not limited in this embodiment.
[0066] Containerized applications within a container cluster are managed and orchestrated by the container network cluster control plane. Therefore, relevant information about the container cluster can be obtained through the container network cluster control plane. The control plane perceives changes in the cluster network through the container network cluster control plane, thereby sensing events or changes in events occurring within the container cluster.
[0067] When a preset event is detected in the container cluster, the control plane generates a configuration table corresponding to the container cluster based on the latest information in the current container network cluster control plane (e.g., container network, network policies). The flow table is a collection of policy entries for a specific flow, responsible for packet lookup and forwarding. The configuration table represents the rules for data forwarding in the current container cluster.
[0068] S102. The configuration table is sent to the control plane agent deployed on the DPU via the control plane.
[0069] After the control plane generates the configuration table corresponding to the container cluster, it distributes the configuration table to the control plane agent deployed on the DPU.
[0070] In some embodiments, the container network cluster control plane manages multiple cloud server nodes in the container cluster. Each cloud server node corresponds to a DPU (Data Processing Unit). Accordingly, the control plane sends the generated configuration table to the control plane agent on each DPU. This disclosure uses a single cloud server node as an example for illustration.
[0071] S103. The control plane agent adds interface configuration to the forwarding plane deployed on the DPU according to the interface configuration information in the configuration table, so that the forwarding plane generates a target network interface corresponding to the network interface in the container cluster.
[0072] Deploying OVS as the forwarding plane on the DPU SoC, OVS (Open vSwitch) is a high-quality virtual switch supporting multi-layer data forwarding. Primarily deployed on servers, it offers excellent programmability and scalability, providing network isolation and data forwarding capabilities typically found in traditional switches. It runs on each virtualized physical machine. OVS provides the OpenFlow protocol, managing switch behavior through flow tables. The OpenFlow protocol can be used in SDN networks to separate the network forwarding plane from the control plane.
[0073] In this embodiment, after receiving the configuration table issued by the control plane, the control plane agent on the DPU adds interface configurations to the forwarding plane on the DPU according to the information in the configuration table. This enables the forwarding plane to generate target network interfaces corresponding to the network interfaces in the services (PODs) of the container cluster. For example, when the POD in the container cluster uses the SRIOV VF port as the network interface, the forwarding plane will eventually generate VF representative ports that correspond one-to-one with the SRIOV VF ports.
[0074] Optionally, the target network interface can be a Pair interface, which can be a local network port.
[0075] S104. The forwarding rules in the configuration table are associated with the target network interface through the control plane proxy to form a forwarding flow table, and the forwarding flow table is sent to the forwarding plane on the DPU.
[0076] The control plane agent on the DPU associates the forwarding rules in the configuration table issued by the control plane with the target network interfaces added in the forwarding plane, and associates the information of the target network interfaces with the forwarding rules to obtain the forwarding flow table. This allows data to be sent to its target port according to the forwarding flow table, and the forwarding flow table is issued to the forwarding plane on the DPU.
[0077] S105. According to the forwarding flow table, the data to be forwarded is forwarded to the target port through the forwarding plane on the DPU.
[0078] When there is data to be forwarded that needs to be processed, the forwarding plane on the DPU obtains the data and performs forwarding operations directly on the data according to the received forwarding flow table, so that the data to be forwarded is sent to the target port.
[0079] Optionally, the target port can be a physical port or a virtual port, and this embodiment of the disclosure does not limit it.
[0080] This embodiment of the disclosure generates a configuration table corresponding to the container cluster via the control plane when a preset event is detected in the container cluster. The configuration table includes forwarding rules and interface configuration information. The control plane is used to monitor events in the container cluster. The control plane sends the configuration table to a control plane agent deployed on the DPU. The control plane agent adds interface configurations to the forwarding plane deployed on the DPU according to the interface configuration information in the configuration table, so that a target network interface corresponding to the network interface in the container cluster is generated on the forwarding plane. The control plane agent associates the forwarding rules in the configuration table with the target network interface to form a forwarding flow table, and sends the forwarding flow table to the forwarding plane on the DPU. According to the forwarding flow table, the forwarding plane on the DPU forwards the data to be forwarded to the target port. By offloading the resource consumption of the SDN data control plane component, i.e., the control plane agent, deployed on the cloud server node to the DPU, the DPU can focus on network control plane task processing, thereby allowing the CPU resources on the cloud server node to focus more on the core business logic processing on the cloud server, reducing unnecessary cloud server CPU resource consumption, and thus improving the utilization efficiency of cloud server CPU resources.
[0081] Figure 3 A flowchart of a DPU-based data processing method provided in another embodiment of this disclosure is shown below. Figure 3 As shown, the method includes the following steps:
[0082] S301. When a preset event is detected in the container cluster, the container network and network policy of the container cluster are abstracted into a network topology through the control plane.
[0083] Specifically, when a preset event is detected in the container cluster, the control plane (ovs-controller module) abstracts the latest container network and network policies (network policy, etc.) into an overlay network topology.
[0084] S302. Generate a configuration table based on the network topology.
[0085] In this embodiment of the disclosure, the network topology can reflect the network structure and network policies among the containerized services in the container cluster. A configuration table generated based on the network topology can be used to represent the current data forwarding rules of the container cluster.
[0086] S303. The configuration table is sent to the control plane agent deployed on the DPU via the control plane.
[0087] Specifically, the implementation process and principle of S303 and S102 are the same, and will not be repeated here.
[0088] S304. The control plane agent adds interface configuration to the forwarding plane deployed on the DPU according to the interface configuration information in the configuration table, so that the forwarding plane generates a target network interface corresponding to the network interface in the container cluster.
[0089] Specifically, the implementation process and principle of S304 and S103 are the same, and will not be repeated here.
[0090] S305. The forwarding rules in the configuration table are associated with the target network interface through the control plane proxy to form a forwarding flow table, and the forwarding flow table is sent to the forwarding plane on the DPU.
[0091] Specifically, the implementation process and principle of S303 and S104 are the same, and will not be repeated here.
[0092] S306. According to the forwarding flow table, the data to be forwarded is forwarded to the target port through the forwarding plane on the DPU.
[0093] In some embodiments, when it is necessary to forward data to be forwarded in the container cluster to the outside, S306 may include, but is not limited to, the following steps A, B, and C:
[0094] Step A: Obtain the data to be forwarded in the container cluster through the target network interface generated on the forwarding plane of the DPU;
[0095] Step B: Determine the target port of the data to be forwarded based on the forwarding flow table;
[0096] Step C: Forward the data to be forwarded to the target port.
[0097] In some embodiments, when it is necessary to forward external data to the container cluster, S306 may include, but is not limited to, the following steps a, b, and c:
[0098] Step a: When data to be forwarded from outside the container cluster enters the container cluster, the data to be forwarded is sent to the forwarding plane on the DPU;
[0099] Step b: Determine the target port of the data to be forwarded based on the forwarding flow table;
[0100] Step c: Forward the data to be forwarded to the target port through the target network interface generated on the forwarding plane of the DPU.
[0101] Compared to existing technologies, the embodiments of this disclosure offload the resource consumption of the SDN data control plane component, i.e. the control plane agent, deployed on the cloud server node to the DPU, and use the DPU to focus on network control plane task processing. This allows the CPU resources on the cloud server node to be more focused on the core business logic processing on the cloud server, thereby reducing unnecessary cloud server CPU resource consumption and improving the utilization efficiency of cloud server CPU resources.
[0102] Figure 4 A flowchart illustrating a DPU-based data processing method according to another embodiment of this disclosure. This method can be applied to... Figure 5 The application scenario shown includes a Master node 51, a cloud server node 52, and a DPU 53. The Master node 51 manages the cloud server cluster; this embodiment only uses a single cloud server node 52 within the cloud server cluster as an example. The container cluster on the cloud server node 52 includes PODs (Portable Containers) used to provide various services (e.g., ...). Figure 5 (POD used to provide service A, POD used to provide service B).
[0103] Install and deploy a container virtualization cluster on Master node 51 and cloud server node 52, using Kubernetes 511 as a cloud-native container virtualization network orchestration tool. Kubernetes is an open-source container orchestration engine from Google used to manage and orchestrate containerized applications on multiple hosts in a cloud platform, supporting automated deployment, large-scale scalability, and application containerization management.
[0104] Deploying OVS as the SDN forwarding plane on the DPU SoC, OVS (Open vSwitch) is a high-quality virtual switch supporting multi-layer data forwarding. Primarily deployed on servers, it offers excellent programmability and scalability, providing network isolation and data forwarding capabilities traditionally offered by switches. It runs on each virtualized physical machine. OVS provides the OpenFlow protocol, managing switch behavior through flow tables. The OpenFlow protocol can be used in SDN networks to separate the network forwarding plane from the control plane.
[0105] Install and deploy ovs-controller512 on Master node 51 as the SDN controller for the OVS forwarding plane.
[0106] Install and deploy OpenFlow Synchronizer 531 on DPU 53 to receive and synchronize flow tables from the SDN controller.
[0107] The following is combined with Figure 5 The application scenarios shown are for Figure 4 The DPU-based data processing method is described below, and the specific steps of this method are as follows:
[0108] S401 and ovs-controller detect event changes in the Kubernetes container cluster.
[0109] Specifically, event changes in a Kubernetes container cluster include the scheduling, creation, modification, and deletion of services (PODs).
[0110] S402 and ovs-controller abstract the latest Kubernetes container network and network policies into an overlay network topology and automatically generate a configuration table. The configuration table includes forwarding rules and interface configuration information.
[0111] Optionally, network policies can be network policies, QoS, load balancing policies, etc., without limitation. Optionally, configuration tables include configuration tables for various network elements and services in the Kubernetes container network, without limitation. For example, configuration tables include forwarding rules and interface configuration information.
[0112] S403 and ovs-controller send the configuration table to the OpenFlow Synchronizer on the DPU.
[0113] In some embodiments, ovs-controller distributes the configuration table to the OpenFlowSynchronizer on each DPU.
[0114] S404 and OpenFlow Synchronizer add interface configurations to OVS deployed on DPU SoC based on the interface configuration information in the configuration table, so that OVS generates target network interfaces corresponding to the network interfaces in the Kubernetes container cluster.
[0115] After obtaining the configuration table from ovs-controller, the OpenFlow Synchronizer adds interface configurations to OVS deployed on DPUSoc, enabling OVS to generate target network interfaces corresponding to the network interfaces in the services / PODs deployed in the Kubernetes container cluster on this cloud server node (e.g., in...). Figure 5In the POD, the SRIOV VF port is used as the Kubernetes network interface, and the OpenFlow Synchronizer module adds a one-to-one corresponding VFrepresentor port on the OVS bridge.
[0116] S405 and OpenFlow Synchronizer associate the forwarding rules in the configuration table with the target network interface generated on OVS to form an OpenFlow flow table. OpenFlow Synchronizer then sends the OpenFlow flow table to the DPU SoC.
[0117] The OpenFlow Synchronizer sends the OpenFlow flow tables to the OVS database (OVSDB) on the DPU SoC.
[0118] The forwarding plane on S406 and DPU processes the data to be forwarded according to the OpenFlow flow table.
[0119] Specifically, when there is data to be forwarded in the Kubernetes container cluster, the data is directly transmitted from the VF interface in the service (POD) to the target network interface (such as the VFrepresentor port mentioned above) on the SDN forwarding plane OVS on the DPU SoC. The SDN forwarding plane OVS on the DPU SoC forwards the data according to the OpenFlow flow table, forwarding the data to the corresponding network element in or outside the Kubernetes container cluster, thereby achieving the effect of not using any CPU resources on the cloud server nodes during the data forwarding process.
[0120] Alternatively, when data to be forwarded enters the Kubernetes container cluster from outside the container cluster (e.g., accessing services in the container cluster network via nodeport), after the data arrives at the SDN forwarding plane OVS on the DPU SoC, the SDN forwarding plane OVS on the DPU SoC forwards the data according to the OpenFlow flow table. The data is then sent directly to the service (POD) network VF interface on the cloud server node through the target network interface on the OVS (e.g., the VF representative port mentioned above), thereby achieving the effect of not using any CPU resources on the cloud server node during the data forwarding process.
[0121] This embodiment of the disclosure offloads the resource consumption of the SDN data control plane component, i.e. the control plane agent, deployed on the cloud server node to the DPU, and uses the DPU to focus on network control plane task processing. This allows the CPU resources on the cloud server node to be more focused on the core business logic processing on the cloud server, thereby reducing unnecessary cloud server CPU resource consumption and improving cloud server CPU resource utilization efficiency.
[0122] Figure 6 This is a schematic diagram of the structure of a DPU-based data processing apparatus provided in an embodiment of this disclosure. The DPU-based data processing apparatus can be a DPU-based data processing system as described in the above embodiments, or it can be a component or assembly within that DPU-based data processing system. The DPU-based data processing apparatus provided in this disclosure can execute the processing flow provided in the embodiments of the DPU-based data processing method, such as... Figure 6 As shown, the DPU-based data processing device 60 includes: a first generation module 61, a sending module 62, a configuration module 63, a second generation module 64, and a forwarding module 65. The first generation module 61 generates a configuration table corresponding to the container cluster via a control plane in response to a preset event occurring in the container cluster. The configuration table includes forwarding rules and interface configuration information. The control plane is used to monitor events in the container cluster. The sending module 62 sends the configuration table to a control plane agent deployed on the DPU via the control plane. The configuration module 63 adds interface configurations to the forwarding plane deployed on the DPU via the control plane agent according to the interface configuration information in the configuration table, so that a target network interface corresponding to the network interface in the container cluster is generated on the forwarding plane. The second generation module 64 associates the forwarding rules in the configuration table with the target network interface via the control plane agent to form a forwarding flow table, and sends the forwarding flow table to the forwarding plane on the DPU. The forwarding module 65 forwards the data to be forwarded to the target port via the forwarding plane on the DPU according to the forwarding flow table.
[0123] Optionally, the preset events include at least one of the following: a service scheduling event in the container cluster, a service creation event in the container cluster, a service modification event in the container cluster, and a service deletion event in the container cluster.
[0124] Optionally, the first generation module 61 is specifically used to abstract the container network and network policy of the container cluster into a network topology through the control plane when a preset event is detected in the container cluster; and generate the configuration table according to the network topology.
[0125] Optionally, the forwarding module 65 is specifically used to obtain the data to be forwarded in the container cluster through the target network interface generated on the forwarding plane of the DPU; determine the target port of the data to be forwarded according to the forwarding flow table; and forward the data to be forwarded to the target port.
[0126] Optionally, the forwarding module 65 is specifically used to send the data to be forwarded to the forwarding plane on the DPU when the data to be forwarded from outside the container cluster enters the container cluster; determine the target port of the data to be forwarded according to the forwarding flow table; and forward the data to be forwarded to the target port through the target network interface generated on the forwarding plane on the DPU.
[0127] Figure 6 The DPU-based data processing device shown in the embodiment can be used to execute the technical solutions of the above method embodiments. Its implementation principle and technical effect are similar, and will not be described again here.
[0128] Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. The electronic device may be a device running a DPU-based data processing system as described in the above embodiments. The electronic device provided in this disclosure can execute the processing flow provided in the DPU-based data processing method embodiments, such as… Figure 7 As shown, the electronic device 70 includes: a memory 71, a processor 72, a computer program, and a communication interface 73; wherein the computer program is stored in the memory 71 and is configured to be executed by the processor 72 as described above using the DPU-based data processing method.
[0129] In addition, this disclosure also provides a computer-readable storage medium having a computer program stored thereon, the computer program being executed by a processor to implement the DPU-based data processing method described in the above embodiments.
[0130] Furthermore, this disclosure also provides a computer program product, which includes a computer program or instructions that, when executed by a processor, implement the DPU-based data processing method described above.
[0131] It should be noted that the computer-readable medium described in this disclosure can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this disclosure, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in connection with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.
[0132] In some implementations, clients and servers can communicate using any currently known or future-developed network protocol, such as HTTP (Hypertext Transfer Protocol), and can interconnect with digital data communication (e.g., communication networks) of any form or medium. Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), the Internet (e.g., the Internet of Things), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future-developed networks.
[0133] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.
[0134] The aforementioned computer-readable medium carries one or more programs that, when executed by the electronic device, cause the electronic device to:
[0135] When a preset event is detected in the container cluster, a configuration table corresponding to the container cluster is generated through the control plane. The configuration table includes forwarding rules and interface configuration information. The control plane is used to monitor events in the container cluster.
[0136] The configuration table is sent to the control plane agent deployed on the DPU via the control plane.
[0137] The control plane proxy adds interface configurations to the forwarding plane deployed on the DPU according to the interface configuration information in the configuration table, so that the forwarding plane generates target network interfaces corresponding to the network interfaces in the container cluster.
[0138] The control plane proxy associates the forwarding rules in the configuration table with the target network interface to form a forwarding flow table, and then sends the data configuration table to the forwarding plane on the DPU.
[0139] According to the forwarding flow table, the data to be forwarded is forwarded to the target port through the forwarding plane on the DPU.
[0140] In addition, the electronic device can also perform other steps in the DPU-based data processing method described above.
[0141] Computer program code for performing the operations of this disclosure can be written in one or more programming languages or a combination thereof, including but not limited to object-oriented programming languages such as Java, Smalltalk, and C++, as well as conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0142] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0143] The units described in the embodiments of this disclosure can be implemented in software or hardware. The names of the units are not, in some cases, intended to limit the specific unit.
[0144] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: Field Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application Standard Products (ASSPs), System-on-Chip (SoCs), Complex Programmable Logic Devices (CPLDs), and so on.
[0145] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0146] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0147] The above description is merely a specific embodiment of this disclosure, enabling those skilled in the art to understand or implement it. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this disclosure. Therefore, this disclosure is not to be limited to the embodiments described herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A data processing method based on DPU, characterized in that, The method includes: When a preset event is detected in the container cluster, a configuration table corresponding to the container cluster is generated through the control plane. The configuration table includes forwarding rules and interface configuration information. The control plane is used to monitor events in the container cluster. The configuration table is sent to the control plane agent deployed on the DPU via the control plane. The control plane proxy adds interface configurations to the forwarding plane deployed on the DPU according to the interface configuration information in the configuration table, so that the forwarding plane generates target network interfaces corresponding to the network interfaces in the container cluster. The forwarding rules in the configuration table are associated with the target network interface through the control plane proxy to form a forwarding flow table, and the forwarding flow table is sent to the forwarding plane on the DPU. According to the forwarding flow table, the data to be forwarded is forwarded to the target port through the forwarding plane on the DPU.
2. The method according to claim 1, characterized in that, The preset event includes at least one of the following: The scheduling event, creation event, modification event, and deletion event of the service in the container cluster.
3. The method according to claim 1, characterized in that, When a preset event is detected in the container cluster, a configuration table corresponding to the container cluster is generated through the control plane, including: When a preset event is detected in the container cluster, the container network and network policies of the container cluster are abstracted into a network topology through the control plane; The configuration table is generated based on the network topology.
4. The method according to claim 1, characterized in that, The step of forwarding the data to be forwarded to the target port through the forwarding plane on the DPU according to the forwarding flow table includes: The data to be forwarded in the container cluster is obtained through the target network interface generated on the forwarding plane of the DPU. The target port of the data to be forwarded is determined according to the forwarding flow table. Forward the data to be forwarded to the target port.
5. The method according to claim 1, characterized in that, The step of forwarding the data to be forwarded to the target port through the forwarding plane on the DPU according to the forwarding flow table includes: When data to be forwarded from outside the container cluster enters the container cluster, the data to be forwarded is sent to the forwarding plane on the DPU. The target port of the data to be forwarded is determined according to the forwarding flow table. The data to be forwarded is forwarded to the target port through the target network interface generated on the forwarding plane of the DPU.
6. A data processing device based on a DPU, characterized in that, include: The first generation module is used to generate a configuration table corresponding to the container cluster through the control plane when a preset event is detected in the container cluster. The configuration table includes forwarding rules and interface configuration information. The control plane is used to monitor events in the container cluster. A sending module is used to send the configuration table to a control plane agent deployed on the DPU via the control plane. The configuration module is used to add interface configurations to the forwarding plane deployed on the DPU through the control plane proxy according to the interface configuration information in the configuration table, so as to generate target network interfaces on the forwarding plane that correspond to the network interfaces in the container cluster. The second generation module is used to associate the forwarding rules in the configuration table with the target network interface through the control plane proxy to form a forwarding flow table, and to send the forwarding flow table to the forwarding plane on the DPU; The forwarding module is used to forward the data to be forwarded to the target port through the forwarding plane on the DPU according to the forwarding flow table.
7. The apparatus according to claim 6, characterized in that, When the first generation module detects a preset event occurring in the container cluster, it generates the configuration table corresponding to the container cluster through the control plane. Specifically, this is used for: When a preset event is detected in the container cluster, the container network and network policies of the container cluster are abstracted into a network topology through the control plane; The configuration table is generated based on the network topology.
8. The apparatus according to claim 6, characterized in that, When the forwarding module forwards the data to be forwarded to the target port through the forwarding plane on the DPU according to the forwarding flow table, it is specifically used for: The data to be forwarded in the container cluster is obtained through the target network interface generated on the forwarding plane of the DPU. The target port of the data to be forwarded is determined according to the forwarding flow table. Forward the data to be forwarded to the target port.
9. An electronic device, characterized in that, include: Memory; processor; as well as Computer programs; The computer program is stored in the memory and configured to be executed by the processor to implement the method as described in any one of claims 1-5.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1-5.