Service mesh message acceleration processing method, apparatus, system, and dpu

By performing business processing and directly forwarding application layer messages within the protocol stack, the latency issue caused by the interaction overhead of the Sidecar proxy module is resolved, thereby improving the efficiency of service mesh message forwarding.

CN119484460BActive Publication Date: 2026-03-27YUSUR TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-20
Publication Date
2026-03-27

AI Technical Summary

Technical Problem

In the existing service mesh message forwarding method, the interaction overhead and business processing between the Sidecar proxy module and the protocol stack lead to increased application layer message latency, affecting forwarding efficiency.

Method used

Business processing is performed in the protocol stack of the data processor (DPU). By pre-marking application layer message types as accelerated processing, the business configuration information of the Sidecar proxy module is used for processing, and the messages are directly forwarded to the protocol stack buffer, reducing the interaction and data copying of the Sidecar proxy module.

Benefits of technology

This reduces the interaction overhead between the protocol stack and the Sidecar proxy module, improving the efficiency of service mesh message forwarding and overall system performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119484460B_ABST
    Figure CN119484460B_ABST
Patent Text Reader

Abstract

The application provides a service mesh message acceleration processing method, device and system and a DPU. The method comprises the following steps: if it is determined that an application layer message type to which a target application layer message received in a protocol stack of a data processor DPU currently belongs has been marked as acceleration processing, performing service processing on the target application layer message in the protocol stack based on service configuration information corresponding to the application layer message type to which the target application layer message belongs; and sending the target application layer message to a target application layer message buffer corresponding to a sending end buffer and pre-set in the protocol stack, so as to forward the target application layer message in the target application layer message buffer based on a network communication protocol. The application can sink the service of a service mesh Sidecar agent module to the protocol stack, effectively reduce the interaction overhead between the protocol stack and the service mesh Sidecar agent module, and improve the forwarding efficiency of service mesh messages.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of data processing, and in particular to a service mesh message acceleration processing method, device, system and DPU. BACKGROUND

[0002] A service mesh is an intermediate layer used to manage inter-service communication and traffic control. It provides a flexible, scalable and transparent way to handle inter-service communication and security issues. The service mesh is usually deployed at the edge of the service as a proxy for the service to communicate and control between services. The service mesh can implement functions such as load balancing, circuit breaking, monitoring, identity verification, etc. to improve the reliability, performance and observability of the service. In the service mesh, the Sidecar proxy module acts as a proxy for the service to help manage communication and function extension between services, which can be referred to as Sidecar.

[0003] Currently, in the existing service mesh message forwarding mode, the application layer message from the initiator to the target device needs to be processed by the Sidecar proxy module, and the application layer message forwarding process needs to pass through the protocol stack and the Sidecar proxy module twice. The interaction overhead between the sidecar proxy module and the protocol stack and the business processing of the sidecar proxy module itself will increase the application layer message delay between the client and the server, and the sidecar proxy module may also need to obtain data multiple times in the receive buffer (rxbuf) to obtain the complete application layer message, which will affect the efficiency of service mesh message forwarding. SUMMARY

[0004] In view of this, the embodiments of the present application provide a service mesh message acceleration processing method, device, system and DPU to eliminate or improve one or more defects in the prior art.

[0005] One aspect of the present application provides a service mesh message acceleration processing method, comprising:

[0006] If it is determined that the application layer message type to which the target application layer message currently received in the protocol stack of a data processor DPU belongs has been marked as acceleration processing, then based on the business configuration information corresponding to the application layer message type to which the target application layer message belongs, which is sent in advance by a service mesh Sidecar proxy module, the target application layer message is processed in the protocol stack;

[0007] The target application layer message is sent to a target application layer message buffer preset in the protocol stack and corresponding to a sending end buffer, so as to forward the target application layer message in the target application layer message buffer based on a network communication protocol.

[0008] In some embodiments of the present application, before the service processing of the target application layer message based on the service configuration information corresponding to the application layer message type to which the target application layer message belongs and sent by the service mesh Sidecar agent module, the method further comprises:

[0009] Based on the network communication protocol, receiving data to be forwarded to a target device in the protocol stack of the DPU, and sending each data to an application layer message buffer corresponding to the receiving end buffer and arranged in the protocol stack, so that the application layer message buffer parses each data and forms a corresponding application layer message, taking the application layer message as a current target application layer message and parsing the target application layer message to obtain the unique identifier of the application layer message type to which the target application layer message belongs.

[0010] In the pre-stored unique identifiers corresponding to each application layer message type marked for acceleration processing, it is determined whether the unique identifier of the application layer message type to which the target application layer message belongs is included. If yes, it is determined that the application layer message type to which the target application layer message belongs has been marked for acceleration processing.

[0011] In some embodiments of the present application, the service mesh message acceleration processing method further comprises:

[0012] If the unique identifier of the application layer message type to which the target application layer message belongs is not found in the pre-stored unique identifiers corresponding to each application layer message type marked for acceleration processing, the target application layer message is sent to the receiving end buffer, so that the service mesh Sidecar agent module obtains the target application layer message from the receiving end buffer via a downstream interface, and the service mesh Sidecar agent module processes the target application layer message and sends the target application layer message to the sending end buffer.

[0013] Extracting the target application layer message from the sending end buffer;

[0014] Sending the target application layer message to a target application layer message buffer corresponding to the sending end buffer and pre-set in the protocol stack, so as to forward the target application layer message in the target application layer message buffer based on the network communication protocol.

[0015] In some embodiments of the present application, the service mesh Sidecar agent module also generates an acceleration processing mark and service configuration information corresponding to the unique identification of the application layer message type to which the target application layer message belongs when or after processing the target application layer message, and then sends the acceleration processing mark and service configuration information corresponding to the unique identification of the application layer message type to the protocol stack;

[0016] Correspondingly, before processing the target application layer message in the protocol stack based on the service configuration information corresponding to the application layer message type to which the target application layer message belongs sent by the service mesh Sidecar agent module in advance, it also includes:

[0017] Receiving the acceleration processing mark and service configuration information corresponding to the unique identification of the application layer message type sent by the service mesh Sidecar agent module;

[0018] Based on the acceleration processing mark corresponding to the unique identification of the application layer message type, the correspondence between the unique identification of the application layer message type and the acceleration processing mark and the service configuration information is stored in the protocol stack.

[0019] In some embodiments of the present application, processing the target application layer message in the protocol stack based on the service configuration information corresponding to the application layer message type to which the target application layer message belongs sent by the service mesh Sidecar agent module in advance includes:

[0020] From the service configuration information corresponding to the application layer message type to which the target application layer message belongs sent by the service mesh Sidecar agent module in advance, extract the network speed limit rule data corresponding to the application layer message type to which the target application layer message belongs, and based on the network speed limit rule data, allocate corresponding network transmission speed limit constraint data for the target application layer message in the protocol stack;

[0021] Correspondingly, the forwarding of the target application layer message in the target application layer message buffer based on the network communication protocol includes:

[0022] Forwarding the target application layer message in the target application layer message buffer based on the network communication protocol and the network transmission speed limit constraint data corresponding to the target application layer message.

[0023] In some embodiments of the present application, the service processing in the protocol stack on the target application layer message based on the service configuration information corresponding to the application layer message type to which the target application layer message sent by the service mesh Sidecar agent module belongs comprises:

[0024] extracting a target sending end buffer specified by the application layer message type to which the target application layer message belongs from the service configuration information corresponding to the application layer message type to which the target application layer message sent by the service mesh Sidecar agent module belongs;

[0025] determining an application layer message buffer uniquely corresponding to the target sending end buffer among respective application layer message buffers uniquely corresponding to respective sending end buffers in the protocol stack, and taking the application layer message buffer as a current target application layer message buffer.

[0026] Another aspect of the present application provides a service mesh message acceleration processing apparatus, comprising:

[0027] a service processing unit configured to perform service processing in the protocol stack on a target application layer message received by the data processor DPU if it is determined that the application layer message type to which the target application layer message belongs has been marked for acceleration processing, based on service configuration information corresponding to the application layer message type to which the target application layer message sent by the service mesh Sidecar agent module belongs;

[0028] an application layer message forwarding unit configured to send the target application layer message to a target application layer message buffer corresponding to a sending end buffer and preset in the protocol stack, so as to forward the target application layer message in the target application layer message buffer based on a network communication protocol.

[0029] A third aspect of the present application provides a service mesh message acceleration processing system, comprising: a service processing module and an application layer message buffer which are communicatively connected in a protocol stack, respectively;

[0030] The service processing module is configured to execute the service mesh message acceleration processing method.

[0031] In some embodiments of the present application, in the service mesh message acceleration processing system, the application layer message buffer has a plurality of application layer message buffers, and the plurality of application layer message buffers comprise: an application layer message buffer communicatively connected between a receiving end buffer corresponding to a service mesh Sidecar agent module, and an application layer message buffer communicatively connected between a sending end buffer corresponding to the service mesh Sidecar agent module;

[0032] The service processing module is in communication connection with the sending end buffer and the application layer message buffer respectively.

[0033] A fourth aspect of the present application provides a DPU, comprising: a protocol stack, and the protocol stack is provided with the service mesh message acceleration processing system.

[0034] The service mesh message acceleration processing method provided by the present application can sink the service of the service mesh Sidecar agent module to the protocol stack, can effectively reduce the interaction overhead between the protocol stack and the service mesh Sidecar agent module, can also reduce the movement and copying of application layer message data in different software layers, and thus can improve the efficiency of service mesh message forwarding and the overall performance of the related system while ensuring the effectiveness of the application layer service.

[0035] Additional advantages, objects, and features of the application will be set forth in part by the description that follows, and will become apparent to those skilled in the art upon examination of the following detailed description and drawings in which:

[0036] Those skilled in the art will understand that the objects and advantages of the present application are not limited to the above specifically described, and the above and other objects that can be achieved by the present application will be more clearly understood according to the following detailed description. BRIEF DESCRIPTION OF DRAWINGS

[0037] The accompanying drawings, which are included to provide a further understanding of the present application, constitute a part of the specification and are included to illustrate the principles of the present application. The components in the drawings are not drawn to scale, but are only intended to show the principles of the present application. In order to show and describe some parts of the present application, the corresponding parts in the drawings can be enlarged, i.e. can become larger than other components in the exemplary device actually manufactured according to the present application. In the drawings:

[0038] Figure 1 Service mesh traffic path schematic diagram.

[0039] Figure 2 A first flowchart of a service mesh message acceleration processing method in an embodiment of the present application.

[0040] Figure 3 A second flowchart of a service mesh message acceleration processing method in an embodiment of the present application.

[0041] Figure 4 A third flowchart of a service mesh message acceleration processing method in an embodiment of the present application.

[0042] Figure 5 A structure diagram of a service mesh message acceleration processing device in an embodiment of the present application.

[0043] Figure 6 A structure diagram of a service mesh message acceleration processing system in an embodiment of the present application.

[0044] Figure 7 A relationship diagram of an application layer message buffer (msgbuf) corresponding to a process and a txbuf in an application example of the present application.

[0045] Figure 8 A diagram of a Sidecar agent module delivering a service to a process in an application example of the present application.

[0046] Figure 9 A diagram of an example flowchart of a service mesh message acceleration processing method in an application example of the present application. DETAILED DESCRIPTION

[0047] To make the objects, technical solutions and advantages of the present application clearer, further detailed description will be given to the present application in conjunction with the embodiments and drawings. Herein, the illustrative embodiments of the present application and the description thereof are used to explain the present application, but not as a limitation to the present application.

[0048] It should be noted that, in order to avoid the present application being obscured by unnecessary details, only the structures and / or processing steps closely related to the solutions according to the present application are shown in the drawings, and other details not closely related to the present application are omitted.

[0049] It should be emphasized that the term “comprises / comprising” is used herein to indicate the presence of a feature, element, step or component, but not to exclude the presence or addition of one or more other features, elements, steps or components.

[0050] It should be noted that, if not specifically stated, the term “connected” is used herein not only to indicate direct connection, but also to indicate indirect connection with an intermediate object.

[0051] Hereinafter, embodiments of the present application will be described with reference to the accompanying drawings. In the drawings, the same reference numerals represent the same or similar components, or the same or similar steps.

[0052] Firstly, the Sidecar proxy module in the service mesh (also written as service mesh Sidecar proxy module or Sidecar proxy module) can implement the following functions:

[0053] 1) Traffic management: The Sidecar proxy module can act as the entrance and exit of the service, responsible for managing the traffic forwarding and routing between services. It can implement load balancing, circuit breaking, traffic limiting, etc. to improve the reliability and performance of the service.

[0054] 2) Security and authentication: The Sidecar proxy module can be responsible for handling security and authentication issues between services. It can perform identity verification, authorization, encryption, etc. to ensure the security and reliability of communication between services.

[0055] 3) Observability: The Sidecar proxy module can collect and forward the metrics, logs and tracking information of the service to facilitate monitoring, analysis and alarm. It can help the service mesh to provide observability and debugging capabilities to better manage and maintain the microservice architecture system.

[0056] In order to realize the application layer message forwarding based on the service mesh, first of all, the service mesh traffic path architecture as shown in Figure 1 The TCP connection from the client device (client) to the server (server) is actually divided into two TCP connections by the Sidecar proxy module:

[0057] 1) The connection from the client device (client) to the Sidecar proxy module of the downstream interface (downstream socket);

[0058] 2) The connection from the Sidecar proxy module to the server (server) of the upstream interface (upstream socket); the proxy of the Sidecar proxy module is required.

[0059] Based on the above path, the client-to-server application layer message needs to pass through the protocol stack and the Sidecar proxy module twice due to the need for business processing of the Sidecar proxy module. The interaction overhead between the Sidecar proxy module and the protocol stack, and the business processing of the Sidecar proxy module itself all increase the application layer message delay between the client and the server. At the same time, due to the flow mode characteristics of TCP, there may be incomplete application layer messages in the receive buffer (rxbuf). This results in the possibility of multiple times of taking data from the receive buffer (rxbuf) to obtain a complete application layer message, thereby increasing the processing delay of the Sidecar proxy module.

[0060] Therefore, in order to solve the problems of high delay and low efficiency of service mesh message forwarding existing in the existing service mesh message forwarding method, the embodiments of the present application respectively provide a service mesh message acceleration processing method, a service mesh message acceleration processing device for executing the service mesh message acceleration processing method, a service mesh message acceleration processing system and a DPU (data processor), which can sink the business of the service mesh Sidecar proxy module to the protocol stack, and can effectively reduce the interaction overhead between the protocol stack and the service mesh Sidecar proxy module and improve the forwarding efficiency of the service mesh message.

[0061] The embodiments are specifically described as follows.

[0062] Therefore, the embodiments of the present application provide a service mesh message acceleration processing method which can be implemented by a service mesh message acceleration processing device, the service mesh message acceleration processing method is executed in the protocol stack of a data processor DPU, the service mesh message acceleration processing device is arranged in the protocol stack, and the service mesh message acceleration processing method specifically includes the following contents. Figure 2

[0063] Step 100: If it is determined that the application layer message type to which the target application layer message currently received in the protocol stack of the data processor DPU belongs has been marked as acceleration processing, the target application layer message is processed in the protocol stack based on the business configuration information corresponding to the application layer message type to which the target application layer message belongs and previously sent by the service mesh Sidecar proxy module.

[0064] In one or more embodiments of the present application, the service mesh message acceleration processing device can be a business processing module arranged in the protocol stack, which can be written as a process module.

[0065] ​Before step 100, the protocol stack first receives a target application layer message from an application layer message sending end (such as an application APP in a client device) based on a network communication protocol (such as a TCP / IP protocol) and stores the target application layer message into an application layer message buffer (msgbuf) in the protocol stack corresponding to a receiving end buffer (rxbuf) uniquely, so that a service mesh message acceleration processing device (such as a process module) can extract the target application layer message from the application layer message buffer (msgbuf) corresponding to the receiving end buffer (rxbuf) uniquely, and then parse the target application layer message to obtain the application layer message type to which the target application layer message belongs.

[0066] On this basis, in step 100, if the service mesh message acceleration processing device (such as a process module) determines that the application layer message type to which the target application layer message currently received in the protocol stack of the data processor DPU belongs has been marked for acceleration processing, for example, the current label of the application layer message type to which the target application layer message belongs read from the pre-stored target application layer message is an acceleration processing label, the service configuration information corresponding to the application layer message type to which the target application layer message belongs pre-stored locally in the service mesh message acceleration processing device (such as a process module) is called. The service configuration information is pre-stored or updated by the service mesh Sidecar agent module sent to the service mesh message acceleration processing device (such as a process module). Then, the service mesh message acceleration processing device (such as a process module) performs service processing on the target application layer message in the protocol stack according to the service configuration information.

[0067] Step 200: Send the target application layer message to a target application layer message buffer pre-set in the protocol stack and corresponding to a sending end buffer, to forward the target application layer message in the target application layer message buffer based on a network communication protocol.

[0068] In one or more embodiments of the present application, the target application layer message buffer refers to an application layer message buffer (msgbuf) corresponding to a sending end buffer (txbuf) finally selected for caching the target application layer message for forwarding. That is, in the service mesh message acceleration processing method provided in the embodiments of the present application, a plurality of application layer message buffers (msgbuf) are provided in the protocol stack, which can be divided into application layer message buffers (msgbuf) corresponding to receiving end buffers (rxbuf) and application layer message buffers (msgbuf) corresponding to sending end buffers.

[0069] As can be known from the above description, the service mesh message acceleration processing method provided by the embodiments of the present application can sink the service mesh Sidecar agent module service to the protocol stack, effectively reduce the interaction overhead between the protocol stack and the service mesh Sidecar agent module, and also reduce the movement and copying of application layer message data at different software layers, thereby improving the efficiency of service mesh message forwarding and the overall performance of the related system while ensuring the effectiveness of the application layer service.

[0070] In order to further improve the effectiveness and reliability of determining that the application layer message type to which the target application layer message currently received in the protocol stack of the data processing unit DPU belongs has been marked for acceleration processing, in a service mesh message acceleration processing method provided by an embodiment of the present application, referring to Figure 3 , the service mesh message acceleration processing method further specifically comprises the following content before step 100:

[0071] Step 010: Based on the network communication protocol, receiving data to be forwarded to a target device in the protocol stack of the DPU, and sending each data to an application layer message buffer corresponding to the receiving end buffer and arranged in the protocol stack, so that the application layer message buffer parses each data and forms a corresponding application layer message, takes the application layer message as a current target application layer message, and parses the target application layer message to obtain a unique identifier of an application layer message type to which the target application layer message belongs.

[0072] It should be noted that the network communication protocol can adopt the TCP / IP protocol, and the data in the buffer of the TCP / IP protocol is in a stream mode, multiple application layer messages are connected end to end, and the integrity of the application layer messages cannot be guaranteed. If the application layer message received based on the network communication protocol is directly sent to the process module, the process module cannot split each application layer message, nor can it process incomplete application layer messages. Therefore, in order to further reduce the latency of service mesh message processing and improve the efficiency of service mesh message forwarding, in the embodiments of the present application, the protocol stack parses each data in the application layer message buffer (msgbuf) corresponding to the receiving end buffer and forms a corresponding application layer message, that is, after the application layer message buffer (msgbuf) parses the TCP stream received by the network transmission module based on the network communication protocol and forms a complete application layer message, the process module is sent for parsing the unique identifier of the application layer message type to which it belongs.

[0073] Step 020: In the pre-stored unique identifier of each application layer message type that has been marked for acceleration processing, it is checked whether the unique identifier of the application layer message type to which the target application layer message belongs is included, and if so, step 030 is performed.

[0074] Step 030: Determine that the application layer message type to which the target application layer message belongs has been marked for acceleration processing.

[0075] In an example of the present application, the unique identifier of the application layer message type can specifically be a corresponding user ID, which can be written as UserID.

[0076] To further improve the execution effectiveness and reliability of the service mesh message acceleration processing process, in a service mesh message acceleration processing method provided in an embodiment of the present application, referring to Figure 3 , the step 100 in the service mesh message acceleration processing method further specifically contains the following content before the step 100:

[0077] If the unique identifier of the application layer message type to which the target application layer message belongs is not found in the pre-stored unique identifiers of each application layer message type that has been marked for acceleration processing, step 040 is performed.

[0078] Step 040: Send the target application layer message to the receiving end buffer, so that the service mesh Sidecar agent module obtains the target application layer message from the receiving end buffer via a downstream interface, and performs service processing on the target application layer message and sends the target application layer message to the sending end buffer by the service mesh Sidecar agent module.

[0079] Step 050: Extract the target application layer message from the sending end buffer.

[0080] In the existing service mesh message forwarding method, the network transmission module based on the TCP / IP protocol in the protocol stack is directly connected to the receiving end buffer, and the data in the receiving end buffer is in a stream mode, multiple application layer messages are connected in a loop, and the integrity of the application layer messages cannot be guaranteed, so the service mesh Sidecar agent module needs to obtain each data multiple times in the receiving end buffer and form the corresponding application layer message by itself. In the above step 040 designed in the embodiment of the present application, the data is not directly sent to the receiving end buffer by the network transmission module based on the TCP / IP protocol, but is first sent to the application layer message buffer (msgbuf) in the protocol stack corresponding to the receiving end buffer, so that the application layer message buffer parses each data and forms the corresponding application layer message. In this way, even if an application layer message of a certain type sent by an application program of a certain client device is received for the first time, the interaction times between the service mesh Sidecar agent module and the receiving end buffer can be greatly reduced, so as to further improve the execution efficiency of the service mesh message acceleration processing process.

[0081] Step 060: sending the target application layer message to a target application layer message buffer preset in the protocol stack and corresponding to the sending end buffer, to forward the target application layer message in the target application layer message buffer based on a network communication protocol.

[0082] In order to further improve the execution effectiveness and reliability of the service mesh message acceleration processing process, in the service mesh message acceleration processing method provided in the embodiment of the present application, the service mesh Sidecar agent module also generates an acceleration processing mark corresponding to the unique identifier of the application layer message type to which the target application layer message belongs and service configuration information when or after processing the target application layer message, and then sends the acceleration processing mark corresponding to the unique identifier of the application layer message type and the service configuration information to the protocol stack. Correspondingly, referring to Figure 3 , the service mesh message acceleration processing method further comprises the following contents after step 040 and before step 100:

[0083] Step 070: receiving the acceleration processing mark corresponding to the unique identifier of the application layer message type and the service configuration information sent by the service mesh Sidecar agent module.

[0084] Step 080: based on the acceleration processing mark corresponding to the unique identifier of the application layer message type, storing the correspondence between the unique identifier of the application layer message type and the acceleration processing mark and the service configuration information in the protocol stack.

[0085] In order to further improve the effectiveness and reliability of processing the target application layer message in the protocol stack, in the service mesh message acceleration processing method provided in the embodiment of the present application, the service configuration information contains network speed limiting rule data corresponding to the application layer message type to which the target application layer message belongs. Correspondingly, referring to Figure 4 , step 100 of the service mesh message acceleration processing method comprises the following contents:

[0086] Step 110: extracting network speed limiting rule data corresponding to the application layer message type to which the target application layer message belongs from the service configuration information corresponding to the application layer message type to which the target application layer message belongs sent by the service mesh Sidecar agent module in advance, and allocating corresponding network transmission speed limiting constraint data for the target application layer message in the protocol stack based on the network speed limiting rule data.

[0087] Correspondingly, step 200 of the service mesh message acceleration processing method comprises the following contents:

[0088] Step 210: forwarding the target application layer message in the target application layer message buffer based on the network communication protocol and the network transmission limit constraint data corresponding to the target application layer message.

[0089] In order to further improve the effectiveness and reliability of the service processing of the target application layer message in the protocol stack, in the service mesh message acceleration processing method provided in the embodiment of the application, the target sending end buffer specified by the application layer message type to which the target application layer message belongs, and the corresponding target sending end buffer specified by the application layer message type to which the target application layer message belongs, see Figure 4 , the step 100 in the service mesh message acceleration processing method can further include the following contents:

[0090] Step 120: extracting the target sending end buffer specified by the application layer message type to which the target application layer message belongs from the service configuration information corresponding to the application layer message type to which the target application layer message belongs and previously sent by the service mesh Sidecar agent module.

[0091] Step 130: determining the application layer message buffer uniquely corresponding to the target sending end buffer in each application layer message buffer uniquely corresponding to each sending end buffer in the protocol stack, and taking the application layer message buffer as the current target application layer message buffer.

[0092] The application also provides a service mesh message acceleration processing device (which can also be referred to as a service processing module) for executing all or part of the service mesh message acceleration processing method, see Figure 5 , the service mesh message acceleration processing device specifically includes the following contents:

[0093] The service processing unit 10 is configured to, if it is determined that the application layer message type to which the target application layer message currently received in the protocol stack of the data processing unit DPU belongs has been marked for acceleration processing, perform service processing on the target application layer message in the protocol stack based on the service configuration information corresponding to the application layer message type to which the target application layer message belongs and previously sent by the service mesh Sidecar agent module.

[0094] The application layer message forwarding unit 20 is configured to send the target application layer message to the target application layer message buffer corresponding to the sending end buffer and preset in the protocol stack, and forward the target application layer message in the target application layer message buffer based on the network communication protocol.

[0095] The service mesh message acceleration processing device provided in the embodiments of the present application can be specifically used for executing the processing procedure of the service mesh message acceleration processing method in the above embodiments, and details are not described herein again. Please refer to the detailed description of the service mesh message acceleration processing method.

[0096] The part of the service mesh message acceleration processing device performing the service mesh message acceleration processing can be completed in the protocol stack of the DPU.

[0097] As can be seen from the above description, the service mesh message acceleration processing device provided in the embodiments of the present application can sink the service mesh Sidecar proxy module service to the protocol stack, effectively reduce the interaction overhead between the protocol stack and the service mesh Sidecar proxy module, and reduce the movement and copying of application layer message data in different software layers, thereby improving the efficiency of service mesh message forwarding and the overall performance of the related system while ensuring the effectiveness of the application layer service.

[0098] Based on the service mesh message acceleration processing method and / or the service mesh message acceleration processing device described above, the present application further provides an embodiment of the service mesh message acceleration processing system, which is described below with reference to Figure 6 , and the service mesh message acceleration processing system specifically includes the following content.

[0099] The service processing module and the application layer message buffer are respectively arranged in the protocol stack.

[0100] The service processing module is used to execute the service mesh message acceleration processing method in the above embodiments. The service processing module provided in the embodiments of the present application can be specifically used for executing the processing procedure of the service mesh message acceleration processing method in the above embodiments, and details are not described herein again. Please refer to the detailed description of the service mesh message acceleration processing method.

[0101] In order to further improve the effectiveness and reliability of the service mesh message acceleration processing, in an embodiment of the service mesh message acceleration processing system, the application layer message buffer has a plurality of application layer message buffers, and the plurality of application layer message buffers include application layer message buffers in communication connection between the receiving end buffers corresponding to the service mesh Sidecar proxy module and application layer message buffers in communication connection between the sending end buffers corresponding to the service mesh Sidecar proxy module.

[0102] The service processing module is in communication connection with the sending end buffer and the application layer message buffer.

[0103] Based on the above-mentioned embodiments of the service mesh message acceleration processing system, the application further provides an embodiment of a data processor DPU, wherein a protocol stack is arranged in the DPU, and the protocol stack is provided with the service mesh message acceleration processing system according to the above-mentioned embodiments. In order to further improve the overall performance of the service mesh message acceleration processing, in an embodiment of the data processor DPU provided by the application, the DPU is further provided with the service mesh Sidecar proxy module.

[0104] Based on this, in order to facilitate the understanding of the above-mentioned embodiments of the application, the application further provides a specific application example of a service mesh message acceleration processing method, as shown in Figure 7 An application layer message buffer (msgbuf) and a service processing module (process) are added under a receiving end buffer (rxbuf), wherein the service processing module can at least include a rate limit (ratelimit) service unit and a routing (router) service unit, the rate limit (ratelimit) service unit is used to execute the step 110, and the routing (router) service unit is used to execute the steps 120 and 130. The data in the buf (buffer) of the TCP is in a flow mode, a plurality of application layer messages are connected in a head-to-tail manner, and the integrity of the application layer messages cannot be guaranteed. The application layer messages are directly sent to the service processing module, the service processing module cannot split each message, and cannot process incomplete messages. The TCP flow is parsed in the application layer message buffer, and the completed application layer messages are sent to the service processing module. The service processing module processes the complete application layer messages according to the user-configured services. For example, the UserID (user ID) in the message is parsed, different users are given different rate limits, or different upstream (upstream) sending is selected.

[0105] Referring to Figure 8 The service processing module provides a configuration channel, and the Sidecar proxy module can deliver services to the service processing module.

[0106] Referring to Figure 9 Taking a first application layer message and a second application layer message as examples, wherein the unique identifier of the first application layer message is UserID1, and the unique identifier of the second application layer message is UserID2. According to the service configuration, the first application layer message of the same type is sent to the Sidecar proxy module through a normal path, and the Sidecar proxy module processes the service configuration and delivers the service configuration to the service processing module (process). The subsequent service processing module (process) directly performs service processing and forwards the application layer message to the application layer message buffer (msgbuf) in the sending end buffer (txbuf). The application layer message can be directly forwarded without passing through the Sidecar proxy module.

[0107] The application layer message buffer (msgbuf) has two sources in the sending direction, and the sequence relationship cannot be guaranteed, and the out-of-order problem may occur, but the application layer message buffer (msgbuf) can guarantee the integrity of the application layer message, and only affects the message level out-of-order, and does not occur the out-of-order problem of the original TCP flow in the buffer, so it will not affect the processing of the client device (client) and the server (server).

[0108] Based on this, the above application examples of the application can not need to enter the application proxy for forwarding after the first request, thereby reducing the message delay. That is, the above application examples of the application actually propose a method for sinking the Sidecar proxy module service in the service mesh to the protocol stack. The design can realize the scheme of uploading the first packet to the Sidecar proxy module and directly forwarding the subsequent packets without the Sidecar proxy module. In the way of taking the slow path for the first application layer message request and taking the fast path for the subsequent request, the interaction overhead of the protocol stack and the Sidecar proxy module can be reduced, and the movement and copying of data in different software layers are also reduced, thereby improving the overall system performance while ensuring the effectiveness of the application layer service.

[0109] Those skilled in the art should understand that the exemplary components, systems and methods described in connection with the embodiments disclosed herein can be implemented in hardware, software or a combination thereof. Whether the implementation is in hardware or software depends on the specific application and design constraints imposed on the overall system. Skilled persons can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the application. When implemented in hardware, it can be, for example, an electronic circuit, an application specific integrated circuit (ASIC), appropriate firmware, a plug-in, a functional card, etc. When implemented in software, the elements of the application are program or code segments used to perform the required tasks. The program or code segments can be stored in a machine-readable medium or transmitted through a data signal carried in a carrier wave on a transmission medium or communication link.

[0110] It should be clear that the present application is not limited to the specific configurations and processes described above and shown in the drawings. For the sake of brevity, detailed descriptions of well-known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present application is not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications and additions, or change the order between steps, after understanding the spirit of the present application.

[0111] In this application, features described and / or illustrated with respect to one implementation can be used in the same manner or in an analogous manner in one or more other implementations, and / or in combination with or in place of features of other implementations.

[0112] The above only is the preferred embodiment of the present application, and is not used to limit the present application, and the present application can have various changes and changes for those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims

1. A method for accelerating service mesh message processing, characterized in that, include: Receive the acceleration processing tag and business configuration information corresponding to the unique identifier of the application layer message type sent by the service mesh Sidecar proxy module; Based on the acceleration processing tag corresponding to the unique identifier of the application layer message type, the correspondence between the unique identifier of the application layer message type and the acceleration processing tag and the service configuration information is stored in the protocol stack of the data processor DPU. Based on the network communication protocol, data to be forwarded to the target device is received in the protocol stack, and each data is sent to the application layer message buffer set in the protocol stack and corresponding to the receiving end buffer so that the application layer message buffer parses each data and forms a corresponding application layer message. The application layer message is used as the current target application layer message and the target application layer message is parsed to obtain the unique identifier of the application layer message type to which the target application layer message belongs. In the pre-stored unique identifiers corresponding to each application layer message type that has been marked for accelerated processing, check whether the unique identifier of the application layer message type to which the target application layer message belongs is included. If so, it is determined that the application layer message type to which the target application layer message belongs has been marked for accelerated processing. If it is determined that the application layer message type of the target application layer message currently received in the protocol stack has been marked as accelerated processing, then based on the service configuration information corresponding to the application layer message type of the target application layer message that was sent in advance by the service mesh Sidecar proxy module, the target application layer message is processed in the protocol stack. The target application layer message is sent to the target application layer message buffer, which is preset in the protocol stack and corresponds to the sending buffer, so as to forward the target application layer message in the target application layer message buffer based on the network communication protocol.

2. The service mesh message acceleration processing method according to claim 1, characterized in that, Also includes: If the unique identifier of the application layer message type to which the target application layer message belongs is not found in the unique identifiers corresponding to each application layer message type that has been marked for accelerated processing in the pre-stored database, the target application layer message is sent to the receiving buffer so that the service mesh Sidecar proxy module can obtain the target application layer message from the receiving buffer through the downstream interface, and the service mesh Sidecar proxy module can perform business processing on the target application layer message and send the target application layer message to the sending buffer. Extract the target application layer message from the sending buffer; The target application layer message is sent to the target application layer message buffer, which is preset in the protocol stack and corresponds to the sending end buffer, so as to forward the target application layer message in the target application layer message buffer based on the network communication protocol.

3. The service mesh message acceleration processing method according to claim 2, characterized in that, When or after the service mesh Sidecar proxy module performs business processing on the target application layer message, the service mesh Sidecar proxy module also generates an acceleration processing tag and business configuration information containing a unique identifier of the application layer message type to which the target application layer message belongs, and then sends the acceleration processing tag and business configuration information corresponding to the unique identifier of the application layer message type to the protocol stack.

4. The service mesh message acceleration processing method according to claim 1, characterized in that, The step of performing business processing on the target application layer message in the protocol stack based on the service configuration information corresponding to the application layer message type to which the target application layer message belongs, which is pre-sent by the service mesh Sidecar proxy module, includes: Based on the service configuration information corresponding to the application layer message type to which the target application layer message belongs, which is pre-sent by the service mesh Sidecar proxy module, the network rate limiting rule data corresponding to the application layer message type to which the target application layer message belongs is extracted, and based on the network rate limiting rule data, the corresponding network transmission rate limiting constraint data is allocated for the target application layer message in the protocol stack. Correspondingly, the forwarding of the target application layer message in the target application layer message buffer based on the network communication protocol includes: The target application layer message in the target application layer message buffer is forwarded based on the network communication protocol and the network transmission rate limit constraint data corresponding to the target application layer message.

5. The service mesh message acceleration processing method according to claim 1 or 4, characterized in that, The step of performing business processing on the target application layer message in the protocol stack based on the service configuration information corresponding to the application layer message type to which the target application layer message belongs, which is pre-sent by the service mesh Sidecar proxy module, includes: Extract the target sender buffer specified by the application layer message type to which the target application layer message belongs from the service configuration information corresponding to the application layer message type to which the target application layer message belongs, based on the service configuration information corresponding to the application layer message type to which the target application layer message belongs, which is sent in advance by the service mesh Sidecar proxy module; In the protocol stack, among the application layer message buffers that are uniquely corresponding to each sender buffer, the application layer message buffer that is uniquely corresponding to the target sender buffer is determined, and this application layer message buffer is used as the current target application layer message buffer.

6. A service mesh message acceleration processing device, characterized in that, The service mesh message acceleration processing device is used to perform the following: Receive the acceleration processing tag and business configuration information corresponding to the unique identifier of the application layer message type sent by the service mesh Sidecar proxy module; Based on the acceleration processing tag corresponding to the unique identifier of the application layer message type, the correspondence between the unique identifier of the application layer message type and the acceleration processing tag and the service configuration information is stored in the protocol stack of the data processor DPU. Based on the network communication protocol, data to be forwarded to the target device is received in the protocol stack, and each data is sent to the application layer message buffer set in the protocol stack and corresponding to the receiving end buffer so that the application layer message buffer parses each data and forms a corresponding application layer message. The application layer message is used as the current target application layer message and the target application layer message is parsed to obtain the unique identifier of the application layer message type to which the target application layer message belongs. In the pre-stored unique identifiers corresponding to each application layer message type that has been marked for accelerated processing, check whether the unique identifier of the application layer message type to which the target application layer message belongs is included. If so, it is determined that the application layer message type to which the target application layer message belongs has been marked for accelerated processing. The service mesh message acceleration processing device further includes: The service processing unit is used to perform service processing on the target application layer message in the protocol stack if it is determined that the application layer message type of the target application layer message currently received in the protocol stack of the data processor DPU has been marked as accelerated processing. This is based on the service configuration information corresponding to the application layer message type of the target application layer message that was sent in advance by the service mesh Sidecar proxy module. An application layer message forwarding unit is used to send the target application layer message to a target application layer message buffer that is preset in the protocol stack and corresponds to the sending end buffer, so as to forward the target application layer message in the target application layer message buffer based on the network communication protocol.

7. A service mesh message acceleration processing system, characterized in that, include: The business processing module and the application layer message buffer, which are respectively set up in the protocol stack for mutual communication connections, are respectively located in the protocol stack. The business processing module is used to execute the service mesh message acceleration processing method according to any one of claims 1 to 5.

8. The service mesh message acceleration processing system according to claim 7, characterized in that, There are multiple application layer message buffers, including: an application layer message buffer that is connected to the receiving buffer corresponding to the service mesh Sidecar proxy module, and an application layer message buffer that is connected to the sending buffer corresponding to the service mesh Sidecar proxy module. The business processing module communicates with the application layer message buffer corresponding to the sending buffer.

9. A data processor (DPU), characterized in that, include: The protocol stack includes a service mesh message acceleration processing system as described in claim 7 or 8.

Citation Information

Patent Citations

  • Service grid data plane acceleration method and device and readable storage medium

    CN118158165A

  • Data processing method, device and system based on DPU and medium

    CN118474220A