Business processing method and related equipment
By processing service requests on the programmable acceleration device of local network elements, the service logic processing involved in CPU is reduced, and the problem of serious CPU resource consumption when UPF is processing N4 packets is solved, and data forwarding performance is improved.
Patent Information
- Application Number
- CN202411898169.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-20
- Publication Date
- 2025-04-15
- Estimated Expiration
- 2044-12-20
AI Technical Summary
In the prior art, when the user-plane function network element (UPF) processes N4 packets, it causes serious resource consumption of the central processor (CPU) and poor data forwarding performance.
By receiving service requests sent by external network elements on a programmable acceleration device bound to local network elements, performing PFCP analysis, selecting target network elements, and sending service metadata through PCIe in the form of data streams, reducing the business logic processing involved in CPU.
It effectively saves CPU computing resources, solves the problem of insufficient network card connection resources, and improves data forwarding performance.
Smart Images

Figure CN119342087B_ABST
Abstract
Description
Background Art
[0002] At present, the User Plane Function (UPF) is mostly deployed on the edge side to route and forward user data packets, and communicate with the Session Management Function (SMF) deployed on the center side. It usually uses the Packet Forwarding Control Protocol (PFCP) to transmit control plane information and the GPRS Tunneling Protocol -User Plane (GTP-U) to transmit user plane information.
[0003] However, the above method requires a large amount of computing power resources of the central processing unit (CPU) to process N4 messages, which seriously consumes the host CPU resources. At the same time, when the CPU processes the message, it needs to move the transmitted data from the network card to the host memory and switch between the user state and kernel state of the operating system multiple times, affecting the data forwarding performance.
[0004] It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of the present disclosure, and therefore may include information that does not constitute the prior art known to ordinary technicians in the field. Summary of the invention
[0005] The present disclosure provides a service processing method and related equipment, which at least to a certain extent overcome the problems of serious CPU resource consumption and poor data forwarding performance in the related art.
[0006] Other features and advantages of the present disclosure will become apparent from the following detailed description, or may be learned in part by the practice of the present disclosure.
[0007] In a first aspect, an embodiment of the present disclosure provides a service processing method, which is applied to a first programmable acceleration device bound to a local network element, and the method includes:
[0008] Receive a service request sent by a second programmable acceleration device bound to an external network element;
[0009] Performing packet forwarding control protocol PFCP parsing on the message in the service request to obtain the first service metadata and target network element information corresponding to the service request;
[0010] According to the target network element information, a target network element is selected from a plurality of local network elements bound to the first programmable acceleration device, and the first service metadata is sent to the target network element.
[0011] In a possible embodiment, receiving a service request sent by a second programmable acceleration device bound to an external network element includes:
[0012] Based on the data packet mixing mode of the user datagram protocol, a service request sent by a second programmable acceleration device bound to an external network element is received.
[0013] In a possible embodiment, performing packet forwarding control protocol PFCP parsing on a message in the service request to obtain first service metadata and target network element information corresponding to the service request includes:
[0014] Splitting and reassembling the message in the service request to obtain a first packet forwarding control protocol PFCP data segment;
[0015] According to the first PFCP data segment, the target network element information corresponding to the first service metadata and the service request is obtained.
[0016] In a possible embodiment, the message in the service request is split and reassembled to obtain a first packet forwarding control protocol PFCP data segment, including:
[0017] Get the packet switched network PSN number;
[0018] According to the PSN number, the message is split and reassembled to obtain the first PFCP data segment.
[0019] In a possible embodiment, obtaining the first service metadata and target network element information corresponding to the service request according to the first PFCP data segment includes:
[0020] Stripping the PFCP header from the first PFCP data segment and parsing to obtain a first data body;
[0021] The first data body is deserialized to obtain formatted first service metadata and target network element information corresponding to the service request.
[0022] In a possible embodiment, selecting a target network element from multiple local network elements bound to the first programmable acceleration device according to the target network element information, and sending the first service metadata to the target network element includes:
[0023] Selecting a target network element from a plurality of local network elements bound to the first programmable acceleration device according to the target network element information;
[0024] The first service metadata is sent to the target network element through the peripheral component interconnect express channel PCIe in a data stream manner.
[0025] In a possible embodiment, the method further includes:
[0026] Receive a heartbeat connection request sent by the node where the external network element is located;
[0027] Determine whether a transmission connection has been established with the node where the external network element is located;
[0028] If not, create a transport connection and share it;
[0029] If yes, then get the transport connection and share it.
[0030] In a possible embodiment, the method further includes:
[0031] Filter the packet header in the service request to determine whether it is the target data transmission and reception;
[0032] If not, a request error response is returned.
[0033] In a possible embodiment, the method further includes:
[0034] Determine whether the protocol header in the first PFCP data segment is PFCP format data;
[0035] If not, it is determined that the service request is a non-PFCP service request, and the first PFCP data segment is sent to the target network element so that the target network element processes the non-PFCP service request.
[0036] In a possible embodiment, the method further includes:
[0037] Receive the business object result of the target network element for the business request;
[0038] Get the network element feature code;
[0039] The second business metadata corresponding to the business object result is added with the network element feature code, and serialized to obtain a second data body;
[0040] Add a PFCP header to the second data body and encapsulate it into a second PFCP data segment;
[0041] Split the message and add the PSN number to the second PFCP data segment to form the response data;
[0042] The response data is sent to the second programmable acceleration device bound to the external network element in a data message mixed packet manner through a shared transmission connection.
[0043] In a possible embodiment, the method further includes:
[0044] When it is detected that the external network element stops sending heartbeat requests, the communication connection with the external network element is dynamically disconnected and resources are released.
[0045] In a possible embodiment, the local network element is a session management function network element SMF, and the external network element is a user plane function network element UPF;
[0046] Alternatively, the local network element is UPF and the external network element is SMF.
[0047] In a possible embodiment, the first programmable acceleration device and the second programmable acceleration device at least include: a data processing unit network interface card DPU-NIC.
[0048] In a second aspect, an embodiment of the present disclosure provides a service processing method, which is applied to a local network element, and the method includes:
[0049] Receiving first service metadata sent by a first programmable acceleration device;
[0050] According to the first business metadata, the business processing logic is executed to obtain and send the business object result.
[0051] In a possible embodiment, executing business processing logic according to the first business metadata to obtain and send a business object result includes:
[0052] Receiving, through the physical function / virtual function, a data stream corresponding to the first service metadata;
[0053] Copy the data stream to the object structure for restoration to obtain the first business metadata;
[0054] Execute the business processing logic according to the first business metadata to obtain the business processing result and data information;
[0055] The business processing result and the data information are physically encapsulated to obtain a business object result, and the business object result is sent to the first programmable acceleration device through the physical function / virtual function in a data stream manner.
[0056] In a third aspect, an embodiment of the present disclosure provides a service processing device, which is applied to a first programmable acceleration device bound to a local network element, including:
[0057] A first receiving unit, configured to receive a service request sent by a second programmable acceleration device bound to an external network element;
[0058] A parsing unit, configured to perform packet forwarding control protocol PFCP parsing on the message in the service request to obtain the first service metadata and target network element information corresponding to the service request;
[0059] The sending unit is used to select a target network element from multiple local network elements bound to the first programmable acceleration device according to the target network element information, and send the first service metadata to the target network element.
[0060] In a fourth aspect, an embodiment of the present disclosure provides a service processing device, which is applied to a local network element, including:
[0061] A second receiving unit, configured to receive first service metadata sent by a first programmable acceleration device;
[0062] The processing unit is used to execute the business processing logic according to the first business metadata to obtain a business object result.
[0063] In a fifth aspect, an embodiment of the present disclosure provides an electronic device, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to execute the method in the above-mentioned first aspect by executing the executable instructions.
[0064] In a sixth aspect, an embodiment of the present disclosure provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the method in the first aspect described above is implemented.
[0065] In a seventh aspect, according to another aspect of the present disclosure, a computer program product or a computer program is also provided, the computer program product or the computer program comprising computer instructions, the computer instructions being stored in a computer-readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs any of the above methods.
[0066] The embodiments of the present disclosure provide a service processing method and related equipment, which is applied to a first programmable acceleration device bound to a local network element, and the method includes: receiving a service request sent by a second programmable acceleration device bound to an external network element; performing packet forwarding control protocol PFCP parsing on the message in the service request to obtain the first service metadata and the target network element information corresponding to the service request; according to the target network element information, selecting a target network element from multiple local network elements bound to the first programmable acceleration device, and sending the first service metadata to the target network element, so that the target network element executes the service processing logic according to the first service metadata to obtain the service object result. In the above manner, the characteristics of the programmable acceleration device are utilized, and the programmable acceleration device is used to maintain interaction, solve the problem of insufficient network card connection resources, improve data forwarding performance, and save CPU computing power.
[0067] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0068] The accompanying drawings herein are incorporated into the specification and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the specification are used to explain the principles of the present disclosure. Obviously, the accompanying drawings described below are only some embodiments of the present disclosure, and for ordinary technicians in this field, other accompanying drawings can be obtained based on these accompanying drawings without creative work.
[0069] Figure 1 A schematic diagram of a communication network structure of a service processing process in an embodiment of the present disclosure is shown;
[0070] Figure 2 A schematic diagram of a communication network structure of another service processing process in an embodiment of the present disclosure is shown;
[0071] Figure 3 A flow chart of a business processing method in an embodiment of the present disclosure is shown;
[0072] Figure 4 A flowchart of a parsing process in an embodiment of the present disclosure is shown;
[0073] Figure 5 A flowchart of sending first service metadata in an embodiment of the present disclosure is shown;
[0074] Figure 6 A flowchart of a filtering process in an embodiment of the present disclosure is shown;
[0075] Figure 7 A flowchart of a protocol format verification process in an embodiment of the present disclosure is shown;
[0076] Figure 8 A flow chart showing a shared transmission connection process in an embodiment of the present disclosure is shown;
[0077] Fig. 9 A flowchart of a process of sending response data in an embodiment of the present disclosure is shown;
[0078] Fig.10 A flowchart showing another service processing method in an embodiment of the present disclosure is shown;
[0079] Fig.11 A flowchart of a process of obtaining a business object result in an embodiment of the present disclosure is shown;
[0080] Fig.12 A schematic diagram showing an interaction process between a programmable acceleration device and a network element master side in an embodiment of the present disclosure is shown;
[0081] Fig.13 A flowchart of another service processing method in an embodiment of the present disclosure is shown;
[0082] Fig.14 A schematic diagram showing the structure of a service processing device in an embodiment of the present disclosure is shown;
[0083] Fig.15 A schematic diagram showing the structure of another service processing device in an embodiment of the present disclosure is shown;
[0084] Fig.16 A schematic structural diagram of an electronic device in an embodiment of the present disclosure is shown. DETAILED DESCRIPTION
[0085] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in a variety of forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that the disclosure will be more comprehensive and complete and to fully convey the concepts of the example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0086] In addition, the accompanying drawings are only schematic illustrations of the present disclosure and are not necessarily drawn to scale. The same reference numerals in the figures represent the same or similar parts, and their repeated description will be omitted. Some of the block diagrams shown in the accompanying drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities can be implemented in software form, or implemented in one or more hardware modules or integrated circuits, or implemented in different networks and / or processor devices and / or microcontroller devices.
[0087] In order to avoid ambiguity, the terms in this disclosure are explained as follows:
[0088] SMF: Session management function network element in the fifth generation mobile communication technology (5G) network architecture. Responsible for managing and processing signaling related to user equipment sessions and implementing control plane functions.
[0089] UPF: User plane common function network element in 5G core network (5G Core, 5GC), responsible for processing user data flow. Associated with SMF network element, mainly involved in data transmission and routing functions.
[0090] PFCP: A protocol used in the core network of 5G and 4G / LTE (Long Term Evolution) to control and manage the communication between the user plane function UPF and the control plane function SMF. The main functions include establishing, modifying and deleting data sessions, and managing data packet forwarding rules.
[0091] GTP-U: Tunneling Protocol - User Plane, a protocol used for user data transmission in mobile communication networks. It is responsible for transmitting user data between user equipment and data networks.
[0092] Data Processing Unit (DPU): is a new type of processor specifically designed to accelerate data processing and network functions. It integrates multiple functional modules and can efficiently process network data packets, storage and computing tasks, reducing the burden on the central processing unit (CPU).
[0093] Data Processing Unit Network Interface Card (DPU-NIC): A hardware device used to process network data, which can provide high-speed network connection and data processing capabilities. This type of network card is usually designed to be programmable.
[0094] N4: The N4 interface is a key interface for the control and user plane functional architecture in the 5G core network. It communicates between the control plane function SMF and the user plane function UPF. The N4 interface is based on PFCP and is used to manage and control data forwarding and session status.
[0095] System on Chip (SOC): A semiconductor device that integrates a complete computing system on a single chip. It usually includes a central processing unit, a graphics processor, a memory controller, input and output interfaces, a digital signal processor, and other dedicated functional modules.
[0096] Packet Switched Network (PSN): is a data communication network in which data is divided into small pieces (called data packets or packets) and transmitted across the network.
[0097] Process ID (PID): A unique value used to identify each running process. Each process has a corresponding PID, which is assigned by the operating system and is unique and non-duplicate.
[0098] Address Handle (AH): describes a data structure or object in network programming, which is used to manage and represent the address information or handle of network resources.
[0099] Physical Function (PF): The actual network function or capability on a physical network interface.
[0100] Virtual Function (VF): In a virtualized environment, a virtual network interface or virtual device is divided from a physical device PF to achieve resource sharing and network function virtualization. By dividing the functions of a physical device into multiple independent virtual function units, flexible utilization and management of hardware resources can be achieved.
[0101] User Datagram Protocol (UDP): is a connectionless transport layer protocol.
[0102] In the related technology, Figure 1 A schematic diagram of a communication network structure of a business processing process in an embodiment of the present disclosure is shown. Figure 1 As shown, it includes: different nodes, node 1 and node 2, node 1 includes: multiple SMFs, namely: SMF (1) 101 to SMF (N) 102; node 2 includes: multiple UPFs, namely: UPF (1) 103 to UPF (N) 104.
[0103] When SMF and UPF communicate, the N4 service response, PCFP analysis, and business logic processing are all completed on the network element, interacting through remote procedure calls (RPC). Figure 1 In the process of communicating in the above way, the following problems exist:
[0104] (1) Since SMF and UPF maintain a long connection communication mode, as the number of applications and services increases, the number of network elements sinking to the edge side will also increase accordingly, and the number of channel connections established will also increase dramatically. For example, Figure 1 The limited network card connection resources are becoming increasingly tight due to the connections established between N4 service responses.
[0105] (2) The computing power resources of the node CPU are limited. Frequently involving the CPU in the parsing and encapsulation of the PFCP protocol and the logical processing of general business data requires a large amount of CPU computing power resources, which reduces the number of scalable network element copies that the CPU participates in.
[0106] (3) Whether it is SMF or UPF, the performance of edge nodes is very limited, and data is frequently transferred between memory and network card. Data will switch between operating system user state and kernel state many times. For example, Figure 1 The data exchange between the N4 service response and the PFCP analysis and business logic processing will seriously affect the data forwarding performance.
[0107] Based on the above problems, the embodiments of the present disclosure provide a service processing method and related equipment, which is applied to a first programmable acceleration device bound to a local network element, and the method includes: receiving a service request sent by a second programmable acceleration device bound to an external network element; performing packet forwarding control protocol PFCP parsing on the message in the service request to obtain the first service metadata and the target network element information corresponding to the service request; according to the target network element information, selecting a target network element from multiple local network elements bound to the first programmable acceleration device, and sending the first service metadata to the target network element, so that the target network element executes the service processing logic according to the first service metadata to obtain the service object result. The above method realizes the accelerated processing of the PFCP protocol in the 5G core network through the collaboration of software and hardware, saves CPU computing power, solves the problem of insufficient network card connection resources, and improves the communication speed between the local network element and the external network element, thereby improving the data forwarding performance.
[0108] The above process is explained with a schematic diagram of the communication network structure of the business processing process. Figure 2 A schematic diagram of a communication network structure of another service processing process in an embodiment of the present disclosure is shown. Figure 2 As shown, taking the programmable acceleration device as a data processing unit network interface card DPU-NIC as an example, it includes two nodes, namely node 1 and node 2.
[0109] Among them, the local network element is the session management function network element SMF, and the external network element is the user plane function network element UPF; or, the local network element is the session management function network element UPF, and the external network element is the user plane function network element SMF.
[0110] Taking the local network element as SMF as an example, the SMF is bound to the first DPU-NIC 203, the external network element is UPF, and the UPF is bound to the second DPU-NIC 204.
[0111] Node 1 includes multiple SMFs bound to a first DPU-NIC 203, namely: SMF (1) 201 to SMF (N) 202; node 2 includes multiple UPFs bound to a second DPU-NIC 204, namely: UPF (1) 205 to UPF (N) 206.
[0112] exist Figure 2 In the process, SMF communicates with UPF, and the processing of N4 request response and PFCP parsing logic is implemented by the first DPU-NIC 203 and the second DPU-NIC 204. The first DPU-NIC 203 and the second DPU-NIC 204 interact with each other through RPC.
[0113] Through the above method, the following technical effects can be achieved:
[0114] (1) On the programmable acceleration device of the node where the SMF / UPF is located, its programmable characteristics are used to establish an intercommunication connection channel. The interaction between network elements is maintained through the programmable acceleration device, solving the problem of insufficient network card connection resources.
[0115] (2) The original PFCP protocol processing logic process in the network element can be offloaded to the programmable acceleration device, thereby releasing the computing power of the general-purpose CPU. By taking advantage of the high-performance computing advantages of the programmable acceleration device, data parsing and packaging can be accelerated, where general refers to services that do not necessarily have to be processed by the network element.
[0116] (3) Remove the general part of the business data processing logic of the business network element, that is, the process of processing the business data. Split the original overall business analysis and processing logic, and offload the general part to the programmable acceleration device, reduce the number of data switching between the user state and kernel state of the operating system, improve data forwarding performance, and further save CPU computing power.
[0117] It should be noted that the local network element and the external network element in the present disclosure are not limited to a specific network element, and the programmable acceleration device is not limited to DPU-NIC. The service processing method in the present disclosure can offload the logical process that the network element needs to process to a specific programmable acceleration device, utilize the programmable characteristics of the programmable acceleration device, maintain interaction through the programmable acceleration device, solve the problem of insufficient network card connection resources, improve data forwarding performance, and save CPU computing power.
[0118] The present exemplary implementation is described in detail below with reference to the accompanying drawings and embodiments.
[0119] First, a service processing method is provided in an embodiment of the present disclosure. The method can be executed by a first programmable acceleration device bound to a local network element. In the following process, the programmable acceleration device is taken as a DPU-NIC as an example.
[0120] Figure 3 A flowchart of a business processing method in an embodiment of the present disclosure is shown. Figure 3 As shown, the method provided in the embodiment of the present disclosure includes the following steps:
[0121] S302: Receive a service request sent by a second programmable acceleration device bound to an external network element.
[0122] Among them, the local network element may be a session management function network element SMF, and the external network element may be a user plane function network element UPF; or, the local network element may be a session management function network element UPF, and the external network element may be a user plane function network element SMF.
[0123] The first programmable acceleration device and the second programmable acceleration device may be: DPU-NIC.
[0124] In a possible embodiment, the service request may be received based on a user datagram protocol datagram mixed packet method, and sent by a second programmable acceleration device bound to an external network element.
[0125] The service request may be a service request received during communication through the N4 interface.
[0126] The UDP-based data packet mixing technology disclosed in the present invention is applied in the N4 interface communication to realize the communication between the first DPU-NIC of the external network element and the second DPU-NIC of the local network element, improve the reliability and efficiency of transmission, and realize the sharing of connection channels between multiple network elements, solving the problem of insufficient network card connection resources.
[0127] S304: Perform packet forwarding control protocol PFCP parsing on the message in the service request to obtain first service metadata and target network element information corresponding to the service request.
[0128] S306: Select a target network element from a plurality of local network elements bound to the first programmable acceleration device according to the target network element information, and send the first service metadata to the target network element.
[0129] Through the above method, the PFCP protocol is parsed and encapsulated. Since the same PFCP decapsulation logic is used on the SMF and UPF sides, these logical functions are delegated to the DPU card side for unified processing, which can improve data forwarding performance, obtain the formatted first service metadata and the target network element information corresponding to the service request, select the target network element from multiple local network elements, and send it to the main side of the target network element, so that the target network element can directly process the service on the main side and obtain the service object result.
[0130] Figure 4 A flowchart of a parsing process in an embodiment of the present disclosure is shown. Figure 4 As shown, the following steps are included:
[0131] S402: Split and reassemble the message in the service request to obtain a first packet forwarding control protocol PFCP data segment.
[0132] In a possible embodiment, a packet switching network PSN number may be obtained, and the message may be split and reassembled according to the PSN number to obtain a first PFCP data segment.
[0133] S404: Obtain target network element information corresponding to the first service metadata and the service request according to the first PFCP data segment.
[0134] In a possible embodiment, the PFCP header is stripped from the first PFCP data segment, and the first data body is parsed to obtain the first data body, and the first data body is deserialized to obtain formatted first service metadata and target network element information corresponding to the service request.
[0135] Through the above method, SMF and UPF use the UDP protocol to share a hybrid data channel to transmit data. The data packet needs to carry the PSN number. After receiving the service request, the PSN number is obtained, the message is reassembled into the first PFCP data segment, and the first PFCP data segment is processed. The PFCP header is stripped and parsed to obtain the first data body (Payload). The first data body is also the service data body. The obtained payload data body is a data stream, not a data structure object that the network element can directly recognize. The first data body is deserialized to obtain the formatted first service metadata and the target network element information corresponding to the service request. The formatted first service metadata can be directly processed by the network element on the injection side.
[0136] Figure 5 A flowchart of sending first service metadata in an embodiment of the present disclosure is shown. Figure 5 As shown, the following steps are included:
[0137] S502: Select a target network element from a plurality of local network elements bound to the first programmable acceleration device according to the target network element information.
[0138] S504: Send the first service metadata to the target network element through the peripheral component interconnect express channel PCIe in a data stream manner.
[0139] In a possible embodiment, the data stream may be a byte stream, which is sent to the local network element in the form of a byte stream through a Peripheral Component Interconnect Express (PCIe).
[0140] In a possible embodiment, after receiving the service request, filtering may be performed for security processing to filter out some illegal data requests.
[0141] Figure 6 A flowchart of a filtering process in an embodiment of the present disclosure is shown. Figure 6 As shown, the following steps are included:
[0142] S602: Filter the packet header in the service request to determine whether it is the target receiving and sending data; if not, execute S604.
[0143] S604: Return a request error response.
[0144] If yes, then just perform subsequent processing on the business request.
[0145] In a possible embodiment, during the process of processing the first PFCP data segment, it is necessary to perform a format check on the first PFCP data segment.
[0146] Figure 7 A flowchart of a protocol format verification process in an embodiment of the present disclosure is shown. Figure 7 As shown, the following steps are included:
[0147] S702: Determine whether the protocol header in the first PFCP data segment is PFCP format data; if not, execute S704.
[0148] S704: Determine that the service request is a non-PFCP service request, and send the first PFCP data segment to the target network element so that the target network element processes the non-PFCP service request.
[0149] Check whether the received first PFCP data segment is PFCP format data, and directly pass non-PFCP format data to the master side of the local network element to ensure that other service logics can run normally. If it is determined to be PFCP format data, continue to process the first PFCP data segment.
[0150] In a possible embodiment, the transmission connection between the first programmable acceleration device and the second programmable acceleration device may be established in the following manner.
[0151] Figure 8 A flow chart of a shared transmission connection process in an embodiment of the present disclosure is shown. Figure 8 As shown, the following steps are included:
[0152] S802: Receive a heartbeat connection request sent by the node where the external network element is located.
[0153] S804: Determine whether a transmission connection has been established with the node where the external network element is located; if not, execute S806; if yes, execute S808.
[0154] S806: Create a transmission connection.
[0155] S808: Acquire and share a transmission connection.
[0156] Exemplarily, the heartbeat response mechanism is used to ensure whether there is still business being processed in the current transmission connection. In addition to responding to the other party's heartbeat, the local party will also send a heartbeat to the other party due to the need to maintain the business.
[0157] As long as there is a business heartbeat, the channel connection will exist consistently. When no heartbeat is received, the connection channel will be dynamically released.
[0158] The programmable acceleration devices between network elements dynamically create and release shared channels to implement a heartbeat response mechanism. The programmable acceleration device side maintains the forwarding of messages and other data to achieve sharing of connection channels and solve the problem of insufficient network card connection resources.
[0159] In a possible embodiment, it is detected that the external network element stops sending heartbeat requests, the communication connection with the external network element is dynamically disconnected, and resources are released.
[0160] In a possible embodiment, after the first service metadata is sent to the master side of the target network element, the network element processes it and feeds back the service object result to the first programmable acceleration device, which then sends it to the external network element.
[0161] Fig. 9 A flow chart of a process of sending response data in an embodiment of the present disclosure is shown. Fig. 9 As shown, the following steps are included:
[0162] S902: Receive the service object result of the target network element in response to the service request.
[0163] S904: Obtain a network element feature code.
[0164] The network element characteristic code may include: network element AH and PID number.
[0165] S906: Add the network element feature code to the second business metadata corresponding to the business object result, and serialize it to obtain a second data body.
[0166] S908: Add a PFCP header to the second data body and encapsulate it into a second PFCP data segment.
[0167] S910: Divide the message, and add the PSN number to the second PFCP data segment to form response data.
[0168] S912: Send response data to the second programmable acceleration device bound to the external network element through the shared transmission connection in a data message mixed packet manner.
[0169] pass Figure 3-Figure 9In the above method, the above processes are all processes originally processed by the network element. These processes are unloaded to the DPU. On the DPU acceleration device, an intercommunication connection channel and a heartbeat maintenance mechanism are established. Based on the UDP data packet mixing method, the DPU side maintains the forwarding of data such as messages to achieve the sharing of connection channels, solve the problem of insufficient network card connection resources, and unload the PFCP protocol processing to the intelligent network card DPU and other acceleration devices. By taking advantage of the high-performance computing advantages of the DPU, data parsing and packaging are accelerated. At the same time, the computing power of the general CPU is released, so that the CPU can participate more in the business logic. The general logic of business data between network elements is stripped off and decentralized to the DPU side for unified processing, and then the processed formatted first business metadata is sent to the corresponding network element, which can effectively reduce the multiple switches between the user state and the kernel state of the operating system, improve data forwarding performance, and further save CPU computing power.
[0170] Fig.10 A flowchart of another service processing method in an embodiment of the present disclosure is shown. Fig.10 As shown, the following steps are included:
[0171] S1002: Receive first service metadata sent by a first programmable acceleration device.
[0172] S1004: Execute the business processing logic according to the first business metadata, obtain and send the business object result.
[0173] In one possible embodiment, Fig.11 A flowchart of a process of obtaining a business object result in an embodiment of the present disclosure is shown. Fig.11 As shown, the following steps are included:
[0174] S1102: Receive a data stream corresponding to the first service metadata through a physical function / virtual function.
[0175] S1104: Copy the data stream to the object structure for restoration to obtain first business metadata.
[0176] S1106: Execute the business processing logic according to the first business metadata to obtain the business processing result and data information.
[0177] S1108: Physically encapsulate the business processing result and the data information to obtain a business object result, and send the business object result to the first programmable acceleration device in a data stream through a physical function / virtual function.
[0178] On the main side of the target network element, the data stream received through the PF / VF can quickly obtain the business object result through object memory copy, and send it to the first programmable acceleration device side through the PF / VF in the form of data stream.
[0179] In a possible embodiment, the data stream received by the main side of the target network element can quickly obtain the business object result and send it to the business module side for processing. In the overall business processing logic, the processing process of the target network element is faster and has more computing power available for call than the logical process of network element processing business in related technologies.
[0180] In a possible embodiment, in the present disclosure, the communication between two network elements and the specific processing of the business processing process are offloaded to the respective bound programmable acceleration devices by utilizing its programmable characteristics. Through the hardware of the programmable acceleration device and the programmable features of the processing logic, the business processing process between the network elements is accelerated in a software-hardware collaborative manner.
[0181] Fig.12 A schematic diagram of the interaction process between a programmable acceleration device and a network element master side in an embodiment of the present disclosure is shown, wherein the programmable acceleration device takes DPU-NIC as an example.
[0182] The DPU-NIC side includes three logical processing units: data transmission interface, PFCP protocol processing, and information metadata processing.
[0183] Among them, the data transmission interface is used for link control, message splitting and reassembly, request filtering and heartbeat maintenance.
[0184] PFCP protocol processing is used for protocol format verification, data body splitting and reorganization, and data reception and transmission.
[0185] Information metadata processing is used for data deserialization distribution, control network element selection, and data serialization upload.
[0186] The functions implemented by each logical processing unit have been explained and introduced in the foregoing content, and will not be repeated here, and only the purpose will be briefly explained.
[0187] Link control is responsible for dynamically creating and releasing shared channels.
[0188] Message splitting and reassembling is used to split and reassemble the message in the service request to obtain the first PFCP data segment, and process the second PFCP data segment to obtain response data.
[0189] Request filtering is used to check packet header data and filter non-safe data.
[0190] Heartbeat maintenance is used to ensure whether there is any business being processed on the current link.
[0191] Protocol format verification, used to verify the data format of the first PFCP data segment.
[0192] The data body is split and reassembled to parse the first PFCP data segment into a first data body, and obtain a second PFCP data segment according to the second data body.
[0193] Data reception and transmission are used for data interaction.
[0194] Data deserialization distribution is used to process the first data body to obtain the first business metadata.
[0195] The data is serialized and uploaded, and is used to process the second business metadata to obtain a second data body.
[0196] Control network element selection, used to select the target network element.
[0197] It should be noted that the data transmission interface in the logic processing unit of the present disclosure is directly written into the network card by programming using programmable characteristics. In addition, other logic processing units are implemented on the SOC of the DPU-NIC, and different logic processing units on the DPU-NIC implement data interaction through the intranet on the card.
[0198] The master side of the local network element receives the first service metadata through the PF / VF receiving end, performs data entity parsing, then performs service logic and data processing, and performs data entity transfer, and feeds back the service object results to the DPU-NIC through the PF / VF sending end.
[0199] Through the business processing method disclosed in the present invention, the business processing on the main side of the network element changes significantly, the computing power demand is significantly reduced, and the overall computing power available for the main side of the network element is increased, which solves the problem of insufficient network card connection resources, improves data forwarding performance, and saves CPU computing power.
[0200] Fig.13 A flowchart of a service processing method in an embodiment of the present disclosure is shown, which is implemented from the perspective of an external network element, a local DPU-NIC end, and a local network element main side. When the method flow of the DPU-NIC end is executed, it is divided according to the logical processing unit. The service processing process in the present disclosure is between SMF and UPF, and the external network element and the local network element can be any one of them. Take the external network element as SMF as an example, and the local network element as UPF as an example.
[0201] like Fig.13 As shown, the following steps are included:
[0202] S1302: The node where the external network element is located sends a heartbeat connection request to the node where the local network element is located.
[0203] S1304: The first DPU-NIC obtains the transmission connection and shares it.
[0204] S1306: The second DPU-NIC of the external network element sends an N4 request to the local network element.
[0205] S1308: The first DPU-NIC splits and reassembles the message in the N4 request to obtain a first PFCP data segment.
[0206] S1310: The first DPU-NIC strips the PFCP header from the first PFCP data segment and parses it to obtain a first data body.
[0207] S1312: The first DPU-NIC deserializes the first data body to obtain formatted first service metadata and target network element information corresponding to the service request.
[0208] S1314: The first DPU-NIC selects a target network element according to the target network element information, and sends the first service metadata to the target network element via PCIe in a data stream.
[0209] S1316: The target network element master side receives the data stream corresponding to the first service metadata through PF / VF and performs parsing to obtain the first service metadata.
[0210] S1318: The target network element master side executes the service processing logic according to the first service metadata to obtain a service object result.
[0211] S1320: The target network element master side sends the service object result to the first DPU-NIC via PF / VF in the form of data flow.
[0212] S1322: The first DPU-NIC adds the network element feature code to the second service metadata corresponding to the service object result, and serializes it to obtain a second data body.
[0213] S1324: The first DPU-NIC adds a PFCP header to the second data body and encapsulates it into a second PFCP data segment.
[0214] S1326: The first DPU-NIC divides the message and adds the PSN number to the second PFCP data segment to form response data.
[0215] S1328: The first DPU-NIC sends the response data to the external network element in a data message mixed packet manner through the shared transmission connection.
[0216] Based on the same inventive concept, the embodiments of the present disclosure also provide a service processing device corresponding to the above method embodiment, such as the following embodiment. Since the principle of solving the problem in the device embodiment is similar to that in the above method embodiment, the implementation of the device embodiment can refer to the implementation of the above method embodiment, and the repeated parts will not be repeated.
[0217] Fig.14 A schematic diagram of the structure of a service processing device in an embodiment of the present disclosure is shown, which is applied to a first programmable acceleration device bound to a local network element, such as Fig.14 As shown:
[0218] The service processing device 1400 includes: a first receiving unit 1401, used to receive a service request sent by a second programmable acceleration device bound to an external network element; a parsing unit 1402, used to perform packet forwarding control protocol PFCP parsing on a message in the service request to obtain first service metadata and target network element information corresponding to the service request; a sending unit 1403, used to select a target network element from multiple local network elements bound to the first programmable acceleration device according to the target network element information, and send the first service metadata to the target network element, so that the target network element executes the service processing logic according to the first service metadata to obtain a service object result.
[0219] Fig.15 A schematic diagram showing the structure of another service processing device in an embodiment of the present disclosure is shown, which is applied to a local network element, such as Fig.15 As shown:
[0220] The service processing apparatus 1500 includes: a second receiving unit 1501, configured to receive first service metadata sent by a first programmable acceleration device; and a processing unit 1502, configured to execute service processing logic according to the first service metadata to obtain a service object result.
[0221] Those skilled in the art will appreciate that various aspects of the present disclosure may be implemented as systems, methods or program products. Therefore, various aspects of the present disclosure may be specifically implemented in the following forms, namely: complete hardware implementation, complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software, which may be collectively referred to herein as "circuits", "modules" or "systems".
[0222] Refer to the following Fig.16 1600 according to this embodiment of the present disclosure is described. Fig.16 The electronic device 1600 shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.
[0223] like Fig.16 As shown, the electronic device 1600 is in the form of a general computing device. The components of the electronic device 1600 may include but are not limited to: at least one processing unit 1610, at least one storage unit 1620, and a bus 1630 connecting different system components (including the storage unit 1620 and the processing unit 1610).
[0224] The storage unit stores program codes, which can be executed by the processing unit 1610, so that the processing unit 1610 executes the steps of various exemplary embodiments of the present disclosure described in the above “Exemplary Method” section of this specification. For example, the processing unit 1610 can execute the steps of any one of the above method embodiments.
[0225] The storage unit 1620 may include a readable medium in the form of a volatile storage unit, such as a random access storage unit (RAM) 16201 and / or a cache storage unit 16202 , and may further include a read-only storage unit (ROM) 16203 .
[0226] The storage unit 1620 may also include a program / utility 16204 having a set (at least one) of program modules 16205, such program modules 16205 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.
[0227] Bus 1630 may represent one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.
[0228] The electronic device 1600 may also communicate with one or more external devices 1640 (e.g., keyboards, pointing devices, Bluetooth devices, etc.), may also communicate with one or more devices that enable a user to interact with the electronic device 1600, and / or may communicate with any device that enables the electronic device 1600 to communicate with one or more other computing devices (e.g., routers, modems, etc.). Such communication may be performed via an input / output (I / O) interface 1650. In addition, the electronic device 1600 may also communicate with one or more networks (e.g., local area networks (LANs), wide area networks (WANs), and / or public networks, such as the Internet) via a network adapter 1660. As shown, the network adapter 1660 communicates with other modules of the electronic device 1600 via a bus 1630. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device 1600, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, etc.
[0229] Through the description of the above implementation, it is easy for those skilled in the art to understand that the example implementation described here can be implemented by software, or by software combined with necessary hardware. Therefore, the technical solution according to the implementation of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes a number of instructions to enable a computing device (which can be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the implementation of the present disclosure.
[0230] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer program product or a computer program, which includes computer instructions, and the computer instructions are stored in a computer-readable storage medium. The processor of the electronic device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the electronic device executes the method in the above embodiment.
[0231] The electronic device may be a first programmable acceleration device, such as a first DPU-NIC, or may be a local network element.
[0232] In an exemplary embodiment of the present disclosure, a computer-readable storage medium is also provided, which may be a readable signal medium or a readable storage medium. A program product capable of implementing the above method of the present disclosure is stored thereon. In some possible implementations, various aspects of the present disclosure may also be implemented in the form of a program product, which includes a program code, and when the program product is run on a terminal device, the program code is used to enable the terminal device to execute the steps according to various exemplary implementations of the present disclosure described in the above “Exemplary Method” section of this specification.
[0233] More specific examples of computer-readable storage media in the present disclosure may include, but are not limited to, an electrical connection having one or more conductors, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0234] In the present disclosure, a computer readable storage medium may include a data signal propagated in baseband or as part of a carrier wave, wherein a readable program code is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. A readable signal medium may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.
[0235] Alternatively, the program code contained on the computer-readable storage medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination of the foregoing.
[0236] In specific implementation, the program code for performing the operation of the present disclosure may be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, C++, etc., and conventional procedural programming languages such as "C" language or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as an independent software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., using an Internet service provider to connect through the Internet).
[0237] It should be noted that, although several modules or units of the device for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into multiple modules or units to be embodied.
[0238] In addition, although the steps of the method in the present disclosure are described in a specific order in the drawings, this does not require or imply that the steps must be performed in this specific order, or that all the steps shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps, etc.
[0239] Through the description of the above implementation modes, it is easy for those skilled in the art to understand that the example implementation modes described here can be implemented by software, or by software combined with necessary hardware. Therefore, the technical solution according to the implementation mode of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a mobile terminal, or a network device, etc.) to execute the method according to the implementation mode of the present disclosure.
[0240] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. The present disclosure is intended to cover any variations, uses or adaptations of the present disclosure, which follow the general principles of the present disclosure and include common knowledge or customary techniques in the art that are not disclosed in the present disclosure. The description and examples are intended to be exemplary only, and the true scope and spirit of the present disclosure are indicated by the appended claims.
Claims
1. A business processing method, characterized in that: A first programmable acceleration device applied to local network element binding, the method comprising: Receive a service request sent by a second programmable acceleration device bound to an external network element; Performing packet forwarding control protocol PFCP parsing on the message in the service request to obtain the first service metadata and target network element information corresponding to the service request; Selecting a target network element from a plurality of local network elements bound to the first programmable acceleration device according to the target network element information, and sending the first service metadata to the target network element; The local network element is a session management function network element SMF, and the external network element is a user plane function network element UPF; or, the local network element is UPF, and the external network element is SMF.
2. The method according to claim 1, characterized in that The receiving a service request sent by a second programmable acceleration device bound to an external network element includes: Based on the data packet mixing mode of the user datagram protocol, a service request sent by a second programmable acceleration device bound to an external network element is received.
3. The method according to claim 1, characterized in that The performing PFCP parsing on the message in the service request to obtain the first service metadata and the target network element information corresponding to the service request includes: Splitting and reassembling the message in the service request to obtain a first packet forwarding control protocol PFCP data segment; According to the first PFCP data segment, the target network element information corresponding to the first service metadata and the service request is obtained.
4. The method according to claim 3, characterized in that: The message in the service request is split and reassembled to obtain a first packet forwarding control protocol PFCP data segment, including: Get the packet switched network PSN number; The message is split and reassembled according to the PSN number to obtain a first PFCP data segment.
5. The method according to claim 3, characterized in that: The obtaining, according to the first PFCP data segment, the first service metadata and the target network element information corresponding to the service request includes: Stripping the PFCP header from the first PFCP data segment and parsing to obtain a first data body; The first data body is deserialized to obtain formatted first service metadata and target network element information corresponding to the service request.
6. The method according to claim 1, characterized in that The selecting a target network element from a plurality of local network elements bound to the first programmable acceleration device according to the target network element information, and sending the first service metadata to the target network element includes: According to the target network element information, selecting a target network element from a plurality of local network elements bound to the first programmable acceleration device; The first service metadata is sent to the target network element through a peripheral component interconnect express (PCIe) in a data stream manner.
7. The method according to claim 1, characterized in that The method further comprises: Receiving a heartbeat connection request sent by the node where the external network element is located; Determine whether a transmission connection has been established with the node where the external network element is located; If not, then create the transmission connection and share it; If yes, then get the transport connection and share it.
8. The method according to claim 1, characterized in that The method further comprises: Filtering the packet header in the service request to determine whether it is target receiving and sending data; If not, a request error response is returned.
9. The method according to claim 3, characterized in that: The method further comprises: Determine whether the protocol header in the first PFCP data segment is PFCP format data; If not, it is determined that the service request is a non-PFCP service request, and the first PFCP data segment is sent to the target network element so that the target network element processes the non-PFCP service request.
10. The method according to claim 1, characterized in that The method further comprises: Receiving a service object result of the target network element for the service request; Get the network element feature code; Add the online element feature code to the second business metadata corresponding to the business object result, and serialize it to obtain a second data body; Adding a PFCP header to the second data body and encapsulating it into a second PFCP data segment; Splitting the message, and adding the PSN number to the second PFCP data segment to form response data; The response data is sent to the second programmable acceleration device bound to the external network element in a data message mixed packet manner through a shared transmission connection.
11. The method according to claim 1, characterized in that The method further comprises: It is detected that the external network element stops sending the heartbeat request, the communication connection with the external network element is dynamically disconnected, and resources are released.
12. The method according to claim 1, characterized in that The first programmable acceleration device and the second programmable acceleration device at least include: a data processing unit network interface card DPU-NIC.
13. A business processing method, characterized in that: Applied to a local network element, the method comprises: Receive first service metadata sent by a first programmable acceleration device; wherein, a service request sent by a second programmable acceleration device bound to an external network element is received through the first programmable acceleration device bound to a local network element, a message in the service request is parsed by PFCP to obtain the first service metadata and target network element information corresponding to the service request, a target network element is selected from a plurality of local network elements bound to the first programmable acceleration device according to the target network element information, and the first service metadata is sent to the target network element; Execute business processing logic according to the first business metadata, obtain and send business object results; The local network element is a session management function network element SMF, and the external network element is a user plane function network element UPF; or, the local network element is UPF, and the external network element is SMF.
14. The method according to claim 13, characterized in that The executing the business processing logic according to the first business metadata to obtain and send the business object result includes: Receiving, through a physical function / virtual function, a data stream corresponding to the first service metadata; Copying the data stream to an object structure for restoration to obtain first business metadata; Execute the business processing logic according to the first business metadata to obtain the business processing result and data information; The business processing result and the data information are physically encapsulated to obtain the business object result, and the business object result is sent to the first programmable acceleration device in a data stream manner through a physical function / virtual function.
15. A service processing device, characterized in that: The first programmable acceleration device applied to local network element binding includes: A first receiving unit, configured to receive a service request sent by a second programmable acceleration device bound to an external network element; A parsing unit, configured to perform packet forwarding control protocol PFCP parsing on the message in the service request to obtain the first service metadata and target network element information corresponding to the service request; A sending unit, configured to select a target network element from a plurality of local network elements bound to the first programmable acceleration device according to the target network element information, and send the first service metadata to the target network element; The local network element is a session management function network element SMF, and the external network element is a user plane function network element UPF; or, the local network element is UPF, and the external network element is SMF.
16. A service processing device, characterized in that: Applied to local network elements, including: A second receiving unit is configured to receive first service metadata sent by a first programmable acceleration device; wherein, a service request sent by a second programmable acceleration device bound to an external network element is received through the first programmable acceleration device bound to a local network element, a message in the service request is parsed by PFCP, the first service metadata and target network element information corresponding to the service request are obtained, a target network element is selected from a plurality of local network elements bound to the first programmable acceleration device according to the target network element information, and the first service metadata is sent to the target network element; A processing unit, configured to execute business processing logic according to the first business metadata to obtain a business object result; The local network element is a session management function network element SMF, and the external network element is a user plane function network element UPF; or, the local network element is UPF, and the external network element is SMF.
17. An electronic device, characterized in that: include: processor; and a memory for storing executable instructions for the processor; The processor is configured to execute the method of any one of claims 1 to 12 or 13 to 14 by executing the executable instructions.
18. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method described in any one of claims 1 to 12 or 13 to 14 is implemented.
19. A computer program product comprising: A computer program or instruction, characterized in that when the computer program or instruction is executed by a processor, the method described in any one of claims 1 to 12 or 13 to 14 is implemented.
Citation Information
Patent Citations
Signaling transmission method and system
CN117041951A
Message transmission method and device, equipment and storage medium
CN117812159A