Data processing systems, methods, apparatus, and storage media
By designing the architecture of the SDN controller, fast forwarding network elements, and slow forwarding network elements, the abnormal issues of the SDN controller in load balancing and NAT scenarios are resolved, enabling fast forwarding of data packets and processing of complex business logic, thereby improving system performance and scalability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA TELECOM CLOUD TECH CO LTD
- Filing Date
- 2024-12-06
- Publication Date
- 2026-06-16
AI Technical Summary
The lack of session management in SDN controllers during packet processing leads to anomalies in scenarios such as load balancing and NAT. Existing technologies cannot effectively handle the rapid forwarding of data packets and complex business logic.
The architecture adopts a software-defined network controller, fast forwarding network element, and slow forwarding network element. When the fast forwarding network element cannot find the target flow table in its local flow table, it sends the packet to the slow forwarding network element. The slow forwarding network element generates the target flow table according to the service instance and distributes it, which simplifies the function of the SDN controller and realizes fast forwarding and slow forwarding.
It improved data forwarding efficiency, reduced reporting traffic and latency, enhanced system scalability and flexibility, and reduced network jitter.
Smart Images

Figure CN119854212B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of network communication technology, and in particular to a data processing system, method, device and storage medium. Background Technology
[0002] In the field of network communication technology, SDN technology enables forwarding network elements to perform fast forwarding. This is a stateless network element, which can be called the fast forwarding plane. When the fast forwarding plane cannot find the flow table, it sends the packet to the SDN controller. At this time, the SDN controller determines how to process the packet based on the business logic and then proceeds with the processing.
[0003] However, since the SDN controller does not perform session management, it processes packets from scratch, which can lead to anomalies in some business scenarios, such as load balancing and NAT. Summary of the Invention
[0004] This application provides a data processing system, method, device, and storage medium.
[0005] In a first aspect, embodiments of this application provide a data processing system, the data processing system comprising: a software-defined network controller, a slow-transfer network element, and a fast-transfer network element, wherein the software-defined network controller is communicatively connected to the slow-transfer network element and the fast-transfer network element respectively;
[0006] The software-defined network controller is used to send user-created service instances to the slow-transfer network element, and to send network element control information to the slow-transfer network element and the fast-transfer network element;
[0007] The fast-forwarding network element is used to send the data packet to the slow-forwarding network element when it receives a data packet and cannot find the target flow table corresponding to the data packet in the network element control information of the fast-forwarding network element. This allows the slow-forwarding network element to generate the target flow table corresponding to the data packet according to the business logic in the service instance and send the target flow table to the fast-forwarding network element.
[0008] Optionally, the fast-forwarding network element includes a plurality of first virtual machines, and the traffic for processing the data packets is evenly distributed among the plurality of first virtual machines.
[0009] Optionally, the slow-transfer network element includes several second virtual machines, and the flow table session information is synchronized among the several second virtual machines.
[0010] Optionally, the fast-forwarding network element is also used to process forward and backhaul packets of data streams from different service instances corresponding to the same user through the same processor core in the fast-forwarding network element, wherein the transmission directions of the data streams between the forward and backhaul packets are opposite.
[0011] Optionally, the fast forwarding network element is further configured to process the data packet according to the target flow table when it receives a data packet and queries the target flow table.
[0012] Optionally, the first virtual machine and the second virtual machine are equipped with a port mapping mechanism and a stream tagging mechanism;
[0013] The first virtual machine and the second virtual machine schedule the forward and return packets of the data streams of different service instances corresponding to the same user to the same fast-forwarding network element and the slow-forwarding network element through the port mapping mechanism and the flow tagging mechanism.
[0014] Optionally, the data stream processing system includes a message analysis server;
[0015] The packet analysis server is used to receive the data packets processed by the slow-switching network element through configurable tuples, perform packet analysis on the data packets to obtain packet flow stickiness characteristics, and report the packet flow stickiness characteristics to the software-defined network controller, so that the software-defined network controller can distribute the packet flow stickiness characteristics to the slow-switching network element.
[0016] Secondly, embodiments of this application provide a data processing method applied to a fast-transfer network element in the data processing system, the method comprising:
[0017] When a data packet is received, and the target flow table corresponding to the data packet cannot be found in the network element control information of the fast-transfer network element, the data packet is sent to the slow-transfer network element so that the slow-transfer network element generates the target flow table corresponding to the data packet according to the business logic in the service instance and sends the target flow table to the fast-transfer network element.
[0018] The service instance refers to the software-defined network controller (SDN) issuing control information to the slow-transfer network element, and the network element control information is issued by the SDN to both the slow-transfer and fast-transfer network elements. The SDN is communicatively connected to both the slow-transfer and fast-transfer network elements.
[0019] Thirdly, embodiments of this application also provide an electronic device, including: a processor; and a memory for storing processor-executable instructions, wherein the processor is configured to execute the instructions to implement any of the data processing methods described above.
[0020] Fourthly, embodiments of this application also provide a storage medium that, when the instructions in the storage medium are executed by the processor of an electronic device, enables the electronic device to perform any of the data processing methods described above.
[0021] In this embodiment, the data processing system includes: a software-defined network controller, a slow-transfer network element, and a fast-transfer network element. The software-defined network controller is communicatively connected to the slow-transfer network element and the fast-transfer network element, respectively. The software-defined network controller is used to send user-created service instances to the slow-transfer network element and to send network element control information to the slow-transfer network element and the fast-transfer network element. When the fast-transfer network element receives a data packet and cannot find the target flow table corresponding to the data packet in the network element control information of the fast-transfer network element, it sends the data packet to the slow-transfer network element, so that the slow-transfer network element generates the target flow table corresponding to the data packet according to the service logic in the service instance and sends the target flow table to the fast-transfer network element. In this embodiment, the SDN controller only distributes configurations and no longer processes data reporting requests from forwarding network elements. Fast and slow forwarding of data is achieved by configuring virtual machines to form fast and slow forwarding network elements. If the fast forwarding network element cannot find the flow table, it sends the packet to the slow forwarding network element. The slow forwarding network element implements complex business logic and then distributes flow table rules to the fast forwarding network element. Subsequent data packets do not require processing by the slow forwarding network element. In other words, this embodiment achieves fast and slow forwarding of data by configuring virtual machines to form fast and slow forwarding network elements. The SDN controller is only responsible for distributing configurations and no longer processes data reporting requests from forwarding network elements, thus simplifying the controller's function. After receiving a data packet, if the fast forwarding network element cannot find the corresponding target flow table in its local flow table, it sends the packet to the slow forwarding network element. The slow forwarding network element generates the target flow table according to the business logic in the business instance and distributes it to the fast forwarding network element. Subsequent data packets do not need to be processed by the slow forwarding network element, thereby improving the efficiency of data forwarding and the overall performance of the system. This architecture not only reduces reported traffic, lowers latency and jitter, but also improves the system's scalability and flexibility.
[0022] The above description is only an overview of the technical solution of this application. In order to better understand the technical means of this application and to implement it in accordance with the contents of the specification, and to make the above and other objects, features and advantages of this application more obvious and understandable, the following are specific embodiments of this application. Attached Figure Description
[0023] Various other advantages and benefits will become apparent to those skilled in the art upon reading the following detailed description of preferred embodiments. The accompanying drawings are for illustrative purposes only and are not intended to limit the scope of this application. Furthermore, the same reference numerals denote the same parts throughout the drawings. In the drawings:
[0024] Figure 1 This is a schematic diagram of a data processing system provided in an embodiment of this application;
[0025] Figure 2 This is a flowchart of the steps of a data processing method provided in an embodiment of this application;
[0026] Figure 3 This is a structural diagram of an electronic device provided in an embodiment of this application;
[0027] Figure 4 This is a schematic diagram of an exemplary data processing system provided in an embodiment of this application. Detailed Implementation
[0028] Exemplary embodiments of the present application will now be described in more detail with reference to the accompanying drawings. While exemplary embodiments of the present application are shown in the drawings, it should be understood that the present application may be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this application will be thorough and complete, and will fully convey the scope of the present application to those skilled in the art.
[0029] Figure 1 This is a schematic diagram of a data processing system provided in an embodiment of this application. The data processing system includes: a software-defined network controller, a fast-switching network element, and a slow-switching network element. The software-defined network controller is communicatively connected to the slow-switching network element and the fast-switching network element, respectively.
[0030] The software-defined network controller is used to send user-created service instances to the slow-transfer network element, and to send network element control information to the slow-transfer network element and the fast-transfer network element;
[0031] The fast-forwarding network element is used to send the data packet to the slow-forwarding network element when it receives a data packet and cannot find the target flow table corresponding to the data packet in the network element control information of the fast-forwarding network element. This allows the slow-forwarding network element to generate the target flow table corresponding to the data packet according to the business logic in the service instance and send the target flow table to the fast-forwarding network element.
[0032] It should be noted that the software-defined network controller is responsible for distributing user-created service instances and network element control information to the slow-transfer and fast-transfer network elements, respectively. Upon receiving a data packet, if the fast-transfer network element cannot find the corresponding target flow table in its local network element control information, it will send the packet to the slow-transfer network element. The slow-transfer network element generates a target flow table based on the business logic in the service instance and distributes it to the fast-transfer network element so that subsequent data packets can be processed quickly.
[0033] Among them, the software-defined network controller is the SDN controller. SDN (Software Defined Network) is a technology that enables flexible forwarding of network traffic by centrally managing programmable switches through a software controller.
[0034] Therefore, in this embodiment, the SDN controller sends the service instance created by the user to the slow-transfer network element and sends the network element control information to the fast-transfer network element and the slow-transfer network element. That is, the SDN controller only sends the configuration and no longer processes the data reporting requests of the forwarding network element.
[0035] Specifically, the SDN controller is responsible for distributing user-created service instances (such as virtual networks, security policies, QoS policies, etc.) to slow-transfer network elements. Slow-transfer network elements typically handle complex business logic and state management, and therefore require these service instances to perform the corresponding operations.
[0036] The SDN controller is also responsible for distributing network element control information (such as flow table rules, routing policies, policy configurations, etc.) to fast-transfer and slow-transfer network elements. This control information guides the network elements on how to handle network traffic.
[0037] The SDN controller is only responsible for configuration distribution and no longer handles data reporting requests from forwarding network elements. This means that fast-forwarding and slow-forwarding network elements no longer report data to the SDN controller after processing traffic. This design simplifies the controller's function, allowing it to focus on configuration management without having to handle complex real-time data reporting.
[0038] It's important to note that a Fast Path Network Element (FNA) needs to receive packets before it can process them. The primary task of a FNA is to quickly process network traffic, performing a pipelined "parsing-querying-execution" operation. The FNA first needs to receive packets from the network interface. These packets may originate from different users' network devices or terminals, including data packets and frames. The packet reception process typically involves processing by a Network Interface Card (NIC) or a Smart NIC.
[0039] After receiving a message, the fast-forwarding network element needs to parse it. The purpose of parsing is to extract key information from the message, such as the source IP address, destination IP address, protocol type, and port number. This information will be used for subsequent flow table lookups and forwarding decisions.
[0040] After parsing the packet, the fast-forwarding network element queries the flow table issued by the slow-forwarding device after service processing to determine how to handle the packet. The flow table contains predefined formats, and these rules guide the fast-forwarding network element on how to forward packets. If a corresponding flow table rule is found, the fast-forwarding network element will forward the packet according to the rule.
[0041] Therefore, in this embodiment, if the fast-path network element cannot find the flow table, it will report the packet to the slow-path network element for further processing. The slow-path network element typically handles complex business logic and state management, and can process packets that the fast-path network element cannot process.
[0042] Furthermore, the fast-forwarding network element includes several first virtual machines, and the traffic for processing the data packets is evenly distributed among the several first virtual machines.
[0043] It should be noted that, Figure 1 In the fast-forward network element, there are several first virtual machines, which together form a cluster, and each virtual machine has equal status.
[0044] The primary function of this system is to handle network traffic access and forwarding, executing a "parsing-querying-execution" pipeline. If a flow table is found, the traffic is forwarded according to the flow table; otherwise, the traffic is reported to the slow forwarding network element. The fast forwarding network element is unaware of the service status, has simple logic, and can be offloaded using intelligent devices such as smart network cards, DPUs, and IPUs.
[0045] Furthermore, the slow-transfer network element includes several second virtual machines, and the flow table session information is synchronized among the several second virtual machines.
[0046] It should be noted that, Figure 1 In the slow-transfer network element, there are several second virtual machines. These virtual machines will synchronize messages with each other. For example, if the LB application assigns a port IP to one of them, then this virtual machine will be shared with the other two. It should be noted that this application does not limit the specific number of virtual machines and can be configured according to the actual scenario.
[0047] In addition, in this embodiment, multiple groups of slow-transfer network elements can be set up to address issues such as performance bottlenecks and service port limitations of slow-transfer devices. Multiple slow-transfer devices in each group are synchronized, and devices in different groups have equal status.
[0048] Furthermore, the fast-forwarding network element is also used to process forward and backhaul packets of data streams from different service instances corresponding to the same user through the same processor core in the fast-forwarding network element, wherein the transmission directions of the data streams between the forward and backhaul packets are opposite.
[0049] It should be noted that data stream is a logical concept. In the TCP / IP field, it generally refers to the same five-tuple (source / destination IP, source / destination port, and protocol). For example, when a computer accesses a webpage, it is a stream. This five-tuple generally does not change before the access ends.
[0050] It should be noted that, in the embodiments of this application, the fast forwarding network element uses a self-learning intelligent redirection mechanism to map the processing of forward and return packets of the same flow to the same CPU core of the network element, thereby realizing the CPU affinity characteristic of data packet processing and ensuring the maximization of the forwarding performance of the network element.
[0051] Data packets can be divided into forward packets and return packets. The data flow between forward packets and return packets is in the opposite direction. Forward packets refer to packets from the sender to the receiver, while return packets refer to packets from the receiver to the sender.
[0052] Since a virtual machine includes a CPU core, this application aims to maximize the performance of network elements in processing data packets in a data stream. It ensures that the data streams of different service instances corresponding to the same user are processed by the same CPU core in a virtual machine, so that incoming and outgoing data packets can use the same cache and share transmission data.
[0053] Furthermore, the fast forwarding network element is also used to process the data packet according to the target flow table when it receives a data packet and queries the target flow table.
[0054] Furthermore, the first virtual machine and the second virtual machine are equipped with port mapping and flow tagging mechanisms;
[0055] The first virtual machine and the second virtual machine schedule the forward and return packets of the data streams of different service instances corresponding to the same user to the same fast-forwarding network element and the slow-forwarding network element through the port mapping mechanism and the flow tagging mechanism.
[0056] It should be noted that, in the embodiments of this application, the overlay networks of the first and second virtual machines in the fast and slow network elements use port mapping mechanisms, flow tagging and other mechanisms to ensure that the forward and return packets of the same flow are scheduled to the same fast and slow network elements to the greatest extent possible when passing through ECMP scheduling, thereby reducing reporting and reducing network packet latency and jitter.
[0057] In an overlay network, mechanisms such as port mapping and flow tagging ensure that forward and return packets of the same flow are scheduled to the same fast path network element and slow path network element to the greatest extent possible when undergoing Equal-Cost Multi-Path (ECMP) scheduling. This mechanism helps reduce reporting traffic, lower network packet latency, and reduce jitter.
[0058] Overlay networks are virtual networks built on top of existing network infrastructure. They encapsulate the traffic of the virtual network on top of the underlying physical network through tunneling technologies (such as VXLAN and GRE), achieving isolation and flexibility for the virtual network.
[0059] Port mapping is a mechanism that maps ports of a virtual network to ports of the underlying physical network. Through port mapping, overlay networks can ensure that traffic from the virtual network is correctly forwarded in the underlying physical network.
[0060] Flow tagging is a mechanism for adding identifiers to packets to identify specific flows. Flow tagging can be based on information such as source IP address, destination IP address, protocol type, and port number. Through flow tagging, overlay networks can identify forward and return packets of the same flow during ECMP scheduling.
[0061] ECMP scheduling is a mechanism for balancing traffic across multiple equicost paths. ECMP scheduling is typically based on a hash algorithm, which calculates a hash value based on key information in the packet (such as source IP address, destination IP address, protocol type, port number, etc.) and distributes traffic to different paths.
[0062] Therefore, in this embodiment of the application, during ECMP scheduling, the Overlay network calculates the hash value based on the flow tagging information and schedules the forward and return packets of the same flow to the same network element. The specific steps are as follows:
[0063] The overlay network receives a message; the overlay network adds flow tagging information to the message; the overlay network calculates a hash value based on the flow tagging information and schedules forward and return messages of the same flow to the same network element; the fast-switching network element and the slow-switching network element receive the scheduled message and perform corresponding processing.
[0064] In summary, in this embodiment, by ensuring that forward and return packets of the same flow are scheduled to the same network element, the Overlay network can reduce reporting traffic. After the fast-forwarding network element finds a matching rule in its local flow table, it can directly forward the packet without reporting it to the slow-forwarding network element again. By reducing reporting traffic, the Overlay network can reduce network packet latency. The fast-forwarding network element's ability to directly forward packets after finding a matching rule in its local flow table reduces additional processing time. By ensuring that forward and return packets of the same flow are scheduled to the same network element, the Overlay network can reduce network packet jitter. Processing forward and return packets of the same flow on the same network element reduces changes in network paths, thereby reducing jitter.
[0065] Furthermore, the data stream processing system includes a message analysis server;
[0066] The packet analysis server is used to receive the data packets processed by the slow-switching network element through configurable tuples, perform packet analysis on the data packets to obtain packet flow stickiness characteristics, and report the packet flow stickiness characteristics to the software-defined network controller, so that the software-defined network controller can distribute the packet flow stickiness characteristics to the slow-switching network element.
[0067] It should be noted that, in this embodiment of the application, the SDN controller is responsible for distributing the service characteristics of flow stickiness to the slow-moving network element, and supports users to configure flow stickiness characteristics from the console;
[0068] The slow-speed network element implements service scheduling based on configurable multi-groups, and when processing data packets, it splits the packets to the packet analysis service system for packet analysis.
[0069] The message analysis service system learns flow stickiness characteristics based on message detection and big data, and reports the learned characteristics to the SDN controller;
[0070] The SDN controller distributes the learned flow viscosity characteristics rules to slow-moving network elements, which are then applied to service scheduling.
[0071] In addition, in this embodiment of the application, the fast forwarding network element senses the connection status and sends connection control messages (SYNC, ACK, RST, FIN, etc.), and the slow forwarding network element receives the sent messages and completes session management (aging, etc.); the fast forwarding network element intelligently (based on load, network congestion, etc.) reports the last active time of the flow, and the slow forwarding network element updates the session keep-alive time or ages the flow table.
[0072] The slow-transfer network element cluster uses multicast or chain packet passing technology to achieve session synchronization. For a stream that has already established a connection, regardless of whether a fast-transfer or slow-transfer occurs and a restart or switch occurs (i.e. the same stream is transferred to another network element with the same function), the processing result of the stream will remain consistent with the previous one, and no abnormal processing such as rescheduling will occur.
[0073] Reference Figure 4 Data packet 1 is reported slowly, triggering service scheduling. Subsequent data packet 2 is forwarded only on the fast path. When one of the fast network elements corresponding to the fast path fails or other reasons trigger ECMP to reschedule traffic to another fast network element, the newly scheduled fast network element reports slow (…). Figure 4 The data stream corresponding to data packet 3 in the middle is used to slowly query the session and send the flow table (which will not trigger service rescheduling) to the newly scheduled fast network element. The fast network element can then directly query the flow table entry and forward it.
[0074] In this embodiment, fast and slow data forwarding are achieved by configuring virtual machines to form fast and slow forwarding network elements. The SDN controller is only responsible for configuration distribution and no longer processes data reporting requests from forwarding network elements, thus simplifying the controller's function. After receiving a data packet, if the fast forwarding network element cannot find the corresponding target flow table in its local flow table, it sends the packet to the slow forwarding network element. The slow forwarding network element generates a target flow table based on the business logic in the service instance and sends it to the fast forwarding network element. Subsequent data packets do not need to be processed by the slow forwarding network element, thereby improving the efficiency of data forwarding and the overall performance of the system. This architecture design not only reduces reported traffic, lowers latency and jitter, but also improves the scalability and flexibility of the system.
[0075] In addition, this application embodiment is based on SDN and NFV technologies, and realizes fast and slow forwarding of data forwarding through virtual machines. It also implements configurable flow stickiness (optional tuple) based service processing logic, ensuring that dependent services are scheduled to be processed on the same backend server. Furthermore, through intelligent packet redirection technology, it ensures the affinity characteristic of the forward and return packets of the business logic being processed on the same CPU of the same fast-forwarding network element.
[0076] Figure 2 This is a flowchart of the steps of a data processing method provided in an embodiment of this application, as follows: Figure 2 As shown, the method applied to the fast-forwarding network element in the data processing system includes:
[0077] Step 101: When a data packet is received, if the target flow table corresponding to the data packet cannot be found in the network element control information of the fast-forwarding network element, the data packet is sent to the slow-forwarding network element so that the slow-forwarding network element generates the target flow table corresponding to the data packet according to the business logic in the service instance and sends the target flow table to the fast-forwarding network element.
[0078] The service instance refers to the software-defined network controller (SDN) issuing control information to the slow-transfer network element, and the network element control information is issued by the SDN to both the slow-transfer and fast-transfer network elements. The SDN is communicatively connected to both the slow-transfer and fast-transfer network elements.
[0079] It should be noted that in this embodiment, the element is a fast-switching network element applied to a data processing system, as described above, and will not be repeated here.
[0080] In this embodiment, fast and slow data forwarding are achieved by configuring virtual machines to form fast and slow forwarding network elements. The SDN controller is only responsible for configuration distribution and no longer processes data reporting requests from forwarding network elements, thus simplifying the controller's function. After receiving a data packet, if the fast forwarding network element cannot find the corresponding target flow table in its local flow table, it sends the packet to the slow forwarding network element. The slow forwarding network element generates a target flow table based on the business logic in the service instance and sends it to the fast forwarding network element. Subsequent data packets do not need to be processed by the slow forwarding network element, thereby improving the efficiency of data forwarding and the overall performance of the system. This architecture design not only reduces reported traffic, lowers latency and jitter, but also improves the scalability and flexibility of the system.
[0081] Figure 3 This is a structural diagram of an electronic device M00 provided in an embodiment of this application. In the diagram, the electronic device M00 includes a processor M01 and a memory M02. The electronic device includes: a processor; and a memory for storing executable instructions of the processor. The processor is configured to execute the instructions to implement any of the data processing methods described above and achieve the same technical effect. To avoid repetition, it will not be described again here.
[0082] In embodiments of this application, the memory M02 can be used to store software programs and various data. The memory M02 may primarily include a first storage area for storing programs or instructions and a second storage area for storing data. The first storage area may store the operating system, applications or instructions required for at least one function (such as sound playback, image playback, etc.). Furthermore, the memory M02 may include volatile memory or non-volatile memory, or the memory x09 may include both volatile and non-volatile memory. The non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM), static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct memory bus RAM (DRRAM). The memory M02 in the embodiments of this application includes, but is not limited to, these and any other suitable types of memory.
[0083] The processor M01 may include one or more processing units; optionally, the processor M01 integrates an application processor and a modem processor, wherein the application processor mainly handles operations involving the operating system, user interface, and applications, and the modem processor mainly handles wireless communication signals, such as a baseband processor. It is understood that the aforementioned modem processor may also not be integrated into the processor M01.
[0084] This application also provides a readable storage medium storing a program or instructions. When the program or instructions are executed by a processor, they implement the various processes of the above-described data processing method embodiments and achieve the same technical effects. To avoid repetition, they will not be described again here.
[0085] The processor is the processor in the electronic device described in the above embodiments. The readable storage medium includes computer-readable storage media, such as computer read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk.
[0086] This application embodiment also provides a chip, which includes a processor and a communication interface. The communication interface is coupled to the processor. The processor is used to run programs or instructions to implement the various processes of the above data processing method embodiments and can achieve the same technical effect. To avoid repetition, it will not be described again here.
[0087] It should be understood that the chip involved in the embodiments of this application may also be referred to as a system-on-a-chip, system chip, chip system, or system-on-a-chip, etc.
[0088] This application also provides a storage medium that, when the instructions in the storage medium are executed by the processor of an electronic device, enables the electronic device to perform any of the data processing methods described above.
[0089] This application provides a computer program product, which is stored in a storage medium and executed by at least one processor to implement the various processes of the data processing method embodiments described above, and can achieve the same technical effect. To avoid repetition, it will not be described again here.
[0090] This application also provides a vehicle that includes the data processing device described above.
[0091] It should be noted that, in this document, 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 that element. Furthermore, it should be noted that the scope of the methods and apparatuses in the embodiments of this application is not limited to performing functions in the order shown or discussed, but may also include performing functions substantially simultaneously or in the reverse order, depending on the functions involved. For example, the described methods may be performed in a different order than described, and various steps may be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.
[0092] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the related technology, can be embodied in the form of a computer software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0093] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.
Claims
1. A data processing system, characterized in that, The data processing system includes: a software-defined network controller, a fast-switching network element, and a slow-switching network element, wherein the software-defined network controller is communicatively connected to the slow-switching network element and the fast-switching network element, respectively; The software-defined network controller is used to send user-created service instances to the slow-switching network element, and to send network element control information configured based on the service instances to the slow-switching network element and the fast-switching network element; The fast-forwarding network element is used to send the data packet to the slow-forwarding network element when it receives a data packet and cannot find the target flow table corresponding to the data packet in the network element control information of the fast-forwarding network element. This allows the slow-forwarding network element to generate the target flow table corresponding to the data packet according to the business logic in the service instance and send the target flow table to the fast-forwarding network element.
2. The system according to claim 1, characterized in that, The fast-forwarding network element includes several first virtual machines, and the traffic for processing the data packets is evenly distributed among the several first virtual machines.
3. The system according to claim 2, characterized in that, The slow-transfer network element includes several second virtual machines, and the flow table session information is synchronized among the several second virtual machines.
4. The system according to claim 1, characterized in that, The fast-forwarding network element is also used to process forward and backhaul packets of data streams from different service instances corresponding to the same user through the same processor core in the fast-forwarding network element, wherein the transmission directions of the data streams between the forward and backhaul packets are opposite.
5. The system according to claim 1, characterized in that, The fast forwarding network element is also used to process the data packet according to the target flow table when it receives a data packet and queries the target flow table.
6. The system according to claim 3, characterized in that, The first virtual machine and the second virtual machine are equipped with port mapping and stream tagging mechanisms; The first virtual machine and the second virtual machine schedule the forward and return packets of the data streams of different service instances corresponding to the same user to the same fast-forwarding network element and the slow-forwarding network element through the port mapping mechanism and the flow tagging mechanism.
7. The system according to claim 1, characterized in that, The data processing system includes a message analysis server; The packet analysis server is used to receive the data packets processed by the slow-switching network element through configurable tuples, perform packet analysis on the data packets to obtain packet flow stickiness characteristics, and report the packet flow stickiness characteristics to the software-defined network controller, so that the software-defined network controller can distribute the packet flow stickiness characteristics to the slow-switching network element.
8. A data processing method, characterized in that, The method, applied to a fast-switching network element in a data processing system, includes: When a data packet is received, and the target flow table corresponding to the data packet cannot be found in the network element control information of the fast-transfer network element, the data packet is sent to the slow-transfer network element so that the slow-transfer network element generates the target flow table corresponding to the data packet according to the business logic in the service instance and sends the target flow table to the fast-transfer network element. The service instance is that the software-defined network controller sends the network element control information to the slow-switching network element, and the software-defined network controller sends the network element control information to the slow-switching network element and the fast-switching network element. The software-defined network controller is communicatively connected to the slow-switching network element and the fast-switching network element respectively.
9. An electronic device, characterized in that, include: processor; Memory used to store the processor's executable instructions; The processor is configured to execute the instructions to implement the data processing method as described in claim 8.
10. A readable storage medium for storing a program, characterized in that, When the program is executed by the processor, it implements the data processing method as described in claim 8.