Data processing method, system and device based on DPU service grid and medium

By using preset DPU tracking packets to generate and parse tracking header information in the DPU service mesh, the problem of resource-consuming tracking header information generation in distributed systems is solved, and efficient performance improvement and flexible tracking management are achieved.

CN119697261AActive Publication Date: 2025-03-25YUSUR TECH CO LTD

Patent Information

Application Number
CN202411583692.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-07
Publication Date
2025-03-25
Estimated Expiration
2044-11-07

AI Technical Summary

Technical Problem

In distributed systems, especially microservice systems, the prior art requires integrating and setting functional modules to generate tracking header information in each application, resulting in large resource consumption, especially in high-load scenarios that affect the processing of service requests.

Method used

By calling preset DPU tracking packets in the DPU service mesh to generate trace header information, and parsing and passing this information in the DPU service mesh, avoiding setting up a functional module that generates trace header information in each container group.

Benefits of technology

Reduce resource usage, improve the performance of business applications, and realize flexible tracking management and dynamic selection of tracking protocols.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119697261A_ABST
    Figure CN119697261A_ABST
Patent Text Reader

Abstract

The embodiment of the invention relates to a data processing method, system and device based on a DPU service grid and a medium, and the method comprises the steps: responding to the initiation of a first business request for a second container group, calling a preset DPU tracking data packet in a host to generate first tracking header information corresponding to the first business request, and a first service request carrying the first tracking header information is sent to the DPU service grid, the DPU service grid generates second tracking header information of the second container group according to the analyzed first tracking header information, and a second service request carrying the second tracking header information is sent to the DPU service grid corresponding to the second container group according to the first service request. In the technical scheme, the addition of the tracking header information is uniformly realized based on the DPU tracking data packet preset in the specific directory of the host, the occupation of related resources is reduced, the performance of service application is improved, and in addition, a tracking protocol can be dynamically selected, and flexible tracking management is realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of communication technology, and in particular to a data processing method, system, device and medium based on a DPU service grid. Background Art

[0002] In distributed systems, especially microservice systems, an external request often requires multiple internal applications to call each other to complete. In this series of calls, some may be serial and some may be parallel. Therefore, in order to understand the entire call process, it is necessary to track the link of each request, restore a distributed request to a call link, and centrally display the traffic flow corresponding to a distributed request, such as the time consumed on each application, the request status of each service node, etc.

[0003] In the related technology, in order to connect different tracing spans to fully view the traffic flow, the application itself implements the transmission of tracing header information between incoming and outgoing requests, where the tracing header information may include x-request-id, x-b3-traceid, x-b3-spanid, etc. Therefore, the relevant functional modules for generating tracing header information are integrated in each application. For example, in the cloud-native network architecture, Envoy Sidecar needs to be integrated in each application.

[0004] However, the above method requires integrating relevant functional modules for generating tracking header information in each application, which consumes a lot of resources. Especially in high-load scenarios, it may lead to large resource consumption and affect the processing of related business requests. Summary of the invention

[0005] In order to solve the above technical problems or at least partially solve the above technical problems, the present disclosure provides a data processing method, system, device and medium based on a DPU service grid.

[0006] An embodiment of the present disclosure provides a data processing method based on a DPU service grid, the method is applied in a first container group of a host corresponding to the DPU service grid, and the method includes the following steps: in response to initiating a first service request for a second container group, calling a DPU tracing data packet preset in the host to generate first tracing header information corresponding to the first service request; sending a first service request carrying the first tracing header information to the DPU service grid, wherein the DPU service grid parses the first tracing header information to determine a tracing protocol type, determines a target parsing plug-in matching the tracing protocol type, parses the first tracing header information according to the target parsing plug-in, generates second tracing header information of the second container group according to the parsed first tracing header information, and sends a second service request carrying the second tracing header information to the DPU service grid corresponding to the second container group according to the first service request.

[0007] An embodiment of the present disclosure provides a data processing method based on a DPU service grid, which is applied to the DPU service grid, and includes the following steps: obtaining a first service request sent by a first container group, and obtaining first tracing header information corresponding to the first service request, wherein the first tracing header information is generated by the first container group calling a preset DPU tracing data packet in a host; parsing the first tracing header information through a first preset plug-in to determine a tracing protocol type, and determining a target parsing plug-in that matches the tracing protocol type; parsing the first tracing header information according to the target parsing plug-in, and generating second tracing header information of the second container group according to the parsed first tracing header information; and sending a second service request carrying the second tracing header information to the DPU service grid corresponding to the second container group according to the first service request.

[0008] The disclosed embodiment also provides a first container group, including: a calling module, used to respond to initiating a first service request for a second container group, call a DPU tracing data packet preset in the host to generate first tracing header information corresponding to the first service request; a first sending module, used to send the first service request carrying the first tracing header information to the DPU service grid, wherein the DPU service grid parses the first tracing header information to determine the tracing protocol type, determines a target parsing plug-in that matches the tracing protocol type, parses the first tracing header information according to the target parsing plug-in, generates second tracing header information of the second container group according to the parsed first tracing header information, and sends a second service request carrying the second tracing header information to the DPU service grid corresponding to the second container group according to the first service request.

[0009] The disclosed embodiment also provides a DPU service grid, including: an acquisition module, used to acquire a first service request sent by a first container group, and acquire first tracing header information corresponding to the first service request, wherein the first tracing header information is generated by the first container group calling a preset DPU tracing data packet in a host; a determination module, used to parse the first tracing header information through a first preset plug-in to determine the tracing protocol type, and determine a target parsing plug-in that matches the tracing protocol type; a generation module, used to parse the first tracing header information according to the target parsing plug-in, and generate second tracing header information of the second container group according to the parsed first tracing header information; a second sending module, used to send a second service request carrying the second tracing header information to the DPU service grid corresponding to the second container group according to the first service request.

[0010] The disclosed embodiment also provides a data processing system based on a DPU service grid, including: a DPU service grid and a first container group, wherein the first container group is located in a host corresponding to the DPU service grid, wherein the first container group is used to execute the above-mentioned data processing method based on the DPU service grid concentrated on the first container group side; the DPU service grid is used to execute the above-mentioned data processing method based on the DPU service grid concentrated on the DPU service grid side.

[0011] An embodiment of the present disclosure also provides a computer-readable storage medium, which stores a computer program, and the computer program is used to execute the data processing method based on the DPU service grid as provided in the embodiment of the present disclosure.

[0012] Compared with the prior art, the technical solution provided by the embodiments of the present disclosure has the following advantages:

[0013] The data processing scheme based on the DPU service grid provided by the embodiment of the present disclosure, in response to initiating a first service request for the second container group, calls the DPU tracing data packet preset in the host to generate the first tracing header information corresponding to the first service request, and sends the first service request carrying the first tracing header information to the DPU service grid, wherein the DPU service grid parses the first tracing header information to determine the tracing protocol type, and after determining the target parsing plug-in matching the tracing protocol type, parses the first tracing header information according to the target parsing plug-in, generates the second tracing header information of the second container group according to the parsed first tracing header information, and sends the second service request carrying the second tracing header information to the DPU service grid corresponding to the second container group according to the first service request. In this technical scheme, there is no need to set a functional module for generating tracing header information for each container group, and the addition of tracing header information is uniformly implemented based on the DPU tracing data packet preset in the host-specific directory, which reduces the occupation of related resources, improves the performance of business applications, and can also dynamically select the tracing protocol to achieve flexible tracing management. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the accompanying drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and the originals and elements are not necessarily drawn to scale.

[0015] Figure 1 A structural diagram of a data processing system based on a DPU service grid provided in an embodiment of the present disclosure;

[0016] Figure 2 A flowchart of a data processing method based on a DPU service grid provided in an embodiment of the present disclosure;

[0017] Figure 3 A schematic diagram of a data processing interaction scenario based on a DPU service grid provided in an embodiment of the present disclosure;

[0018] Figure 4 A flowchart of another data processing method based on a DPU service grid provided in an embodiment of the present disclosure;

[0019] Figure 5 A schematic structural diagram of a first container group provided in an embodiment of the present disclosure;

[0020] Figure 6 A structural diagram of a DPU service grid provided in an embodiment of the present disclosure. DETAILED DESCRIPTION

[0021] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments described herein, which are instead provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.

[0022] It should be understood that the various steps described in the method embodiments of the present disclosure may be performed in different orders and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present disclosure is not limited in this respect.

[0023] The term "including" and its variations used herein are open inclusions, i.e., "including but not limited to". The term "based on" means "based at least in part on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". The relevant definitions of other terms will be given in the following description.

[0024] It should be noted that the concepts such as "first" and "second" mentioned in the present disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.

[0025] It should be noted that the modifications of "one" and "plurality" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, it should be understood as "one or more".

[0026] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only used for illustrative purposes and are not used to limit the scope of these messages or information.

[0027] The data processing method based on the DPU service grid of the embodiment of the present disclosure is mainly used in the cloud native architecture, wherein the data processing unit (Data Processing Unit, DPU) as the unloading engine of the central processing unit (Central Processing Unit, CPU), takes over the relevant functions of link tracking. Among them, the cloud native architecture can be understood as an IT structure supported by containers and Kubernetes (k8s), wherein the cloud native architecture contains multiple microservices, each microservice instance contains a container group Pod, and the container group is the smallest deployment unit of Kubernetes, which is the encapsulation of the container and provides some shared resources and contexts. Among them, Istio is used to implement the network function of the cloud native architecture. Istio hijacks the traffic through Scidar on the data plane, and designs the proxy Envoy based on the cloud native architecture. All traffic passes through the Envoy proxy. In the related technology, Envoy can play the role of Sidecar, wherein the relevant service functions are separated from the application itself as a separate process, and placed together with the main application in a host (Host), but they will be deployed in their own processes or containers. This method is called the sidecar mode.

[0028] The problems raised in the above background technology still exist in the cloud native architecture. For example, in the cloud native architecture based on DPU service grid, the data tracking function can be separated from the application itself and data tracking can be implemented through Sidecar. Therefore, Envoy Sidecar will automatically add tracking header information to requests entering and leaving the service, and Envoy will generate a Trace Span for each request based on the metadata of the relevant data packets of the request and response and send it to the tracking backend. When a request enters the service, Envoy Sidecar will check whether the request header contains tracking information (such as x-request-id, x-b3-traceid, x-b3-spanid, etc.). If the tracking information exists, the Envoy proxy will use this information to continue to track the request link. If the tracking information does not exist, the Envoy proxy will generate new tracking information and add it to the request header. Therefore, the Envoy proxy here can also be called Envoy Sidecar, because each request needs to collect and process tracking data, so this may affect the response time and overall performance of the service, especially in high concurrency scenarios, the impact is greater. Among them, each microservice instance requires an Envoy Sidecar, that is, an Envoy Sidecar needs to be set up in each service node, which means that each instance needs to consume additional computing and memory resources to process tracking data.

[0029] Therefore, in order to solve this technical problem, in the technical solution disclosed in the present invention, the Envoy Sidecar is unloaded to the DPU service grid. There is no need to set up a functional module for generating tracing header information for each container group. The tracing header information of the service nodes in the host is added uniformly based on the preset DPU tracing data packet, thereby reducing resource occupancy.

[0030] The following is based on the cloud native architecture to explain the data processing method based on the DPU service grid proposed in the embodiment of the present disclosure to solve the above technical problems.

[0031] In one embodiment of the present disclosure, a data processing system based on a DPU service grid is proposed, wherein Figure 1 As shown, the system may include a DPU service grid and a host, wherein the DPU service grid includes an Envoy agent, namely DPUEnvoy, and the host includes at least one container group, each container group provides resources for running corresponding applications, etc.

[0032] The following first focuses on the first container group in the group set to describe the data processing method based on the DPU service grid in an embodiment of the present disclosure.

[0033] Figure 2 The present invention provides a flow chart of a data processing method based on a DPU service grid, which can be executed by a first container group, wherein the device can be implemented by software and / or hardware. Figure 2 As shown, the method includes:

[0034] Step 201 : In response to initiating a first service request for a second container group, a DPU tracing data packet preset in a host is called to generate first tracing header information corresponding to the first service request.

[0035] In one embodiment of the present disclosure, a first container group may initiate a first service request to a second container group, wherein the second container group and the first container group may be located on the same host or on different hosts. Figure 3 In the application scenario interaction diagram shown, the first container group may be PodA, and the second container group may be PodB or PodC.

[0036] It should be noted that the DPU tracking data packet is pre-set in the host, and the preset DPU tracking data packet is pre-set by the host through a preset tracking controller under a preset directory, wherein the preset directory can be set according to scene requirements, and the preset tracking controller can also be set according to the scene.

[0037] For example, deploy the DPU Tracing Daemense (DS for short) in the K8S cluster in advance, create a Kubernetes DaemonSet (preset tracing controller) to deploy the DPU Tracing Pod on each node, and the DPU Tracing Pod deploys the DPU Tracing SDK to a specific directory (preset directory) on the host. The HostPath volume is usually used to install the DPU Tracing SDK to the host file system. DaemonSet ensures that there is a Pod running on each node. By mounting the HostPath volume in the Pod, the DPU Tracing SDK can be deployed to a specific directory on the host so that other Pods can access the DPU Tracing SDK. That is, the DPU tracing data packet in this embodiment can be Figure 3 The DPUTracing SDK in the host, etc., the container group in each host shares a preset DPU tracing data packet, and the preset DPU tracing data packet is used to perform related tracing functions. In this embodiment, the preset DPU tracing data packet in the host is called to generate the first tracing header information corresponding to the first service request, wherein the first tracing header information includes but is not limited to TraceID, etc. Therefore, in this embodiment, the container group of the same host can share the DPU tracing data packet to generate tracing header information, etc.

[0038] Step 202: Send a first service request carrying first tracing header information to the DPU service grid, wherein the DPU service grid parses the first tracing header information to determine the tracing protocol type, determines a target parsing plug-in that matches the tracing protocol type, parses the first tracing header information according to the target parsing plug-in, generates second tracing header information of the second container group according to the parsed first tracing header information, and sends a second service request carrying the second tracing header information to the DPU service grid corresponding to the second container group according to the first service request.

[0039] In one embodiment of the present disclosure, the first container group sends a first service request carrying first tracing header information to the DPU service grid, which implements the DPU Tracing SDK to transparently transmit the first tracing header information in the request of the next link. By carrying the first tracing header information in the first service request, the tracing context can be passed to the next service, thereby realizing cross-service link tracing.

[0040] That is, in this implementation, the problem that the trace function of Envoy Sidecar in the traditional technical solution causes additional resource and performance overhead, competes with applications for resources such as CPU, network and memory, and affects the performance of business request response is solved, and the problem that business applications need complex logic to implement the binding of tracing information and internal logic is solved. Through DPU Envoy, the trace function is offloaded to the DPU hardware for resource isolation, and a unified DPU Tracing Framework is provided to assist applications in transparent transmission of trace header information, meeting the need for transparent transmission.

[0041] In this embodiment, the DPU service grid parses the first tracing header information to determine the tracing protocol type, determines the target parsing plug-in that matches the tracing protocol type, parses the first tracing header information according to the target parsing plug-in, generates the second tracing header information of the second container group according to the parsed first tracing header information, and sends the second service request carrying the second tracing header information to the DPU service grid corresponding to the second container group according to the first service request. Among them, the specific execution subject in the DPU service grid here can be Envoy proxy, etc. The relevant execution steps of the DPU service grid are described in the data processing method based on the DPU service grid described later on the DPU service grid side, and will not be repeated here.

[0042] In one embodiment of the present disclosure, when the first container group obtains a third service request from other clients to the first container group, it can also respond to the third service request and generate a service data packet corresponding to the third service request. In this embodiment, the DPU tracing data packet is also called to write a tracing link identifier of the service response data packet in the log module of the first container group. The tracing link identifier includes TraceID, etc., wherein the log module can be Figure 3 The logger library in .

[0043] Furthermore, in response to obtaining the log collection request of the first container group, a log file is generated according to the tracking link identifier and the business response data packet, and the log file is stored in a preset log collector in the host, wherein the preset log collector sends the log file to the preset distributed operation and maintenance platform so that the distributed operation and maintenance platform stores the log file in the preset log search engine. Since the log file contains the business response data and the corresponding tracking link identifier, it is convenient to perform complete logical link tracking.

[0044] In one embodiment of the present disclosure, two volumes, a data table call volume and a log collection volume, may be pre-mounted in the first container group, wherein the DPU tracing data packet is called to write the tracing link identifier of the business response data packet in the log module of the first container group by pre-mounting the data table call volume of the first container group. A log file is generated according to the tracing link identifier and the business response data packet by pre-mounting the log collection volume of the first container group.

[0045] Continue with Figure 3 Taking the scenario shown as an example, in one embodiment of the present disclosure, two volumes can be pre-mounted in each container group, one log collection volume for log collection, and one data table call volume for calling the DPU Tracing SDK. The collection directory is configured in the preset log collector Fluent Bit, that is, two volumes are mounted for the business application APP A corresponding to PodA: one is used for log collection (consistent with the collection address of the preset log collector Fluent Bit, so that logs can be collected from the directory where the DPUTracing SDK writes logs), where Fluent Bit is a lightweight log collector. By configuring its collection path and format, logs can be collected from a specific directory and forwarded to a preset log search engine Elasticsearch or other backend storage; one is used for calling the DPU Tracing SDK (needs to be consistent with the HostPath address where the DPUTracing SDK is installed, that is, the calling path of the DPU Tracing SDK should be consistent with the deployment path). By mounting the volume, the tracking link identifier of the downloaded log and the DPU Tracing SDK can be shared with the business PodA, so that the business application can call the DPU Tracing SDK and generate a log file with TraceID, and the log file is Fluent Bit. Bit collection.

[0046] That is, in this embodiment, the DPU Tracing SDK can be called and the TraceID can be recorded. When PodA receives the request and executes the business logic, the business application calls the DPU Tracing SDK library of the corresponding language. The SDK adds the TraceID field in the logger library (log module) according to the TraceID information. When the business application prints the log, the log file with the TraceID is written to the volume collected by Fluent Bit. The DPU Tracing SDK provides functions for generating and processing TraceID. By adding the TraceID to the log file, the tracing information of the request can be recorded for subsequent analysis and debugging. Among them, Fluent Bit sends the log file to the collection log search engine Elasticsearch, which is a log search engine in the preset distributed operation and maintenance platform. The log search engine stores the log file, which contains the business response data packet and the tracking link identifier, that is, Fluent Bit sends the log file with the link tracking information to Elasticsearch. Elasticsearch stores the log file and builds an index for fast query. Among them, Elasticsearch is a powerful search and analysis engine. By storing and indexing log files, fast query and analysis can be achieved.

[0047] For example, continue to refer to Figure 3 Kibana can be set up in the preset distributed operation and maintenance platform. Kibana is an open source data visualization platform, which is often used with Elasticsearch to help users explore, analyze and visualize data stored in Elasticsearch. Kibana provides a user-friendly web interface that enables users to easily create charts, dashboards and reports, as well as perform advanced searches and data analysis. In this embodiment, Kibana can be connected to Elasticsearch to create an index pattern to match the log files collected by Fluent Bit. In Kibana, all log files on a link are queried through TraceID to facilitate problem diagnosis. Kibana provides powerful search and visualization capabilities, and log data can be easily queried and analyzed through TraceID to understand the complete path and status of the request.

[0048] That is, in this embodiment, whenever the first container group responds to a service request, the DPU tracking data packet is called, a tracking link identifier of the service response data packet is generated, and the tracking link identifier and the corresponding service response data packet are further bound in the log file. This process does not require the participation of the Envoy Sidecar corresponding to the DPU service grid, which solves the problem that the Envoy Sidecar processes the tracking information when each request enters and exits the service, increasing the request processing delay, and reduces the resource consumption of the DPU service grid. The DPU service grid can provide more efficient processing capabilities and reduce delays. The hardware acceleration capability of the DPU service grid can further improve performance.

[0049] In addition, in an embodiment of the present disclosure, the tracing link identifier TraceID is injected into the log file, and the query platform such as Kibana on the preset distributed operation and maintenance platform can be used to easily query and associate the log files between different services, quickly locate related response problems, and the DPU Tracing SDK can go deep into the business application to provide more fine-grained tracing information. Business applications can inject detailed tracing link identifiers and other business logic tracing information into log files through the DPU Tracing SDK to provide more comprehensive monitoring data. And the DPU Tracing SDK is deployed through Kubernetes's DaemonSet, which can easily deploy and manage tracing components in the cluster to achieve seamless integration with existing business applications. Among them, the DPU Tracing SDK provides a simple interface, developers can easily integrate tracing functions, and reduce the complexity of manually managing tracing header information. Through Kubernetes' declarative configuration management, the deployment and operation and maintenance of the tracing system are simplified, and the consistency and maintainability of the system are improved.

[0050] In this embodiment, the DPU tracing data packet, i.e., the DPU Tracing SDK, is used to solve the problem that the traditional solution Envoy proxy can only automatically process tracing information when the request enters and leaves the service, and the business application needs to manually pass the tracing header information. The DPU Tracing SDK automatically handles the transmission of tracing header information, reducing the complexity of business applications. Combined with the log framework, the business response data and the tracing link identifier are bound, and business personnel no longer need to repeat the work to implement such complex code logic. In the embodiments of the present disclosure, comprehensive tracing of the entire request link is achieved through the DPU service grid and the DPU tracing data packet, which can fully record the entire process from request entry to response completion.

[0051] In summary, the data processing method based on the DPU service grid of the embodiment of the present disclosure, in response to initiating a first service request for the second container group, calls the DPU tracing data packet preset in the host to generate the first tracing header information corresponding to the first service request, and sends the first service request carrying the first tracing header information to the DPU service grid, wherein the DPU service grid parses the first tracing header information to determine the tracing protocol type, determines the target parsing plug-in matching the tracing protocol type, parses the first tracing header information according to the target parsing plug-in, generates the second tracing header information of the second container group according to the parsed first tracing header information, and sends the second service request carrying the second tracing header information to the DPU service grid corresponding to the second container group according to the first service request. In this technical solution, there is no need to set a functional module for generating tracing header information for each container group, and the addition of tracing header information is uniformly implemented based on the DPU tracing data packet preset in the host-specific directory, which reduces the occupation of related resources, improves the performance of business applications, and can also dynamically select the tracing protocol to achieve flexible tracing management.

[0052] The following focuses on the DPU service grid side to illustrate the data processing method based on the DPU service grid in an embodiment of the present disclosure, wherein the subject that executes the data processing method based on the DPU service grid on the DPU service grid side may be a DPU Envoy in the DPU service grid, etc.

[0053] Figure 4 is a flow chart of a data processing method based on a DPU service grid according to another embodiment of the present disclosure, as shown in Figure 4 As shown, the method includes:

[0054] Step 401: obtain a first service request sent by a first container group, and obtain first tracing header information corresponding to the first service request, wherein the first tracing header information is generated by the first container group calling a preset DPU tracing data packet in a host.

[0055] In an embodiment of the present disclosure, when a first service request sent by a first container group is obtained, first tracing header information corresponding to the first service request is obtained, and the first tracing header information is generated by the first container group calling a preset DPU tracing data packet in the host.

[0056] Step 402: parse the first tracing header information through the first preset plug-in to determine the tracing protocol type, and determine a target parsing plug-in that matches the tracing protocol type.

[0057] In the embodiment of the present disclosure, the first preset plug-in parses the first tracking header information to determine the tracking protocol type, and determines the target parsing plug-in that matches the tracking protocol type. That is, in this embodiment, the tracking protocol type is parsed by the first preset plug-in, and an appropriate target parsing plug-in is flexibly selected based on the tracking protocol type, thereby achieving flexible tracking management.

[0058] For example, continue to refer to Figure 3 The first preset plug-in can be a Trace Extension plug-in. The Trace Extension plug-in of DPU Envoy determines the Trace protocol type based on the first tracing header information added by the DPU Tracing SDK. According to the Trace protocol type, the actual tracing implementation plug-in-target parsing plug-in is dynamically selected. For example, in the first business request package with trace header sent by the first container group, when the B3 header information is identified, the Zipkin plug-in is called to parse the first tracing header information Trace Header. The Trace Extension plug-in allows DPU Envoy to select the appropriate tracing protocol and plug-in based on the first tracing header information, thereby realizing flexible tracing management.

[0059] Step 403: parse the first tracing header information according to the target parsing plug-in, and generate second tracing header information of the second container group according to the parsed first tracing header information.

[0060] In this implementation, after the target resolution plug-in is determined, the first tracing header information is parsed according to the target resolution plug-in, and the second tracing header information of the second container group is generated according to the parsed first tracing header information. Thus, in this embodiment, the DPU grid can dynamically select a target resolution plug-in that matches the tracing protocol based on the first preset plug-in, and can construct the second tracing header information for the next link request-second container group.

[0061] Step 404: Send a second service request carrying second tracking header information to the DPU service grid corresponding to the second container group according to the first service request.

[0062] In this embodiment, a second service request carrying second tracking header information is sent to a DPU service grid corresponding to the second container group according to the first service request.

[0063] In one embodiment of the present disclosure, in order to implement cross-service link tracking, etc., after obtaining the business response data packet sent by the first container group, the second preset plug-in can also be called to generate a tracking unit data packet corresponding to the business response data packet, wherein the second preset plug-in can be any plug-in that can implement the construction of tracking unit data, and the tracking unit data packet can be a Span data packet, etc., wherein Span is used to track the path of the business request in the distributed system, and the tracking data packet may include Span Name, Span ID, Parent ID, tracking context information, etc., wherein the second preset plug-in can construct a tracking unit data packet according to the metadata information of the business response data packet, wherein the metadata in the business response data packet may include the source IP address, the target IP address, the port number, the protocol type, etc., the Span Name can be understood as the name of the tracking unit, for example, the Span Name can be serviceA, etc., the Span ID is to assign a unique ID to the newly created Span, the ParentID is the ID of the corresponding parent Span when the Span is a child Span, etc., and the tracking context information may include the tracking link identifier TraceID, etc.

[0064] Furthermore, after constructing the tracking unit data packet, the tracking unit data packet is sent to a preset distributed operation and maintenance platform, wherein the distributed operation and maintenance platform stores the tracking unit data packet in a preset tracking backend database. Thus, a preset tracking backend database can be constructed in the distributed operation and maintenance platform, and thus, the dependency relationship between each tracking unit data packet can be queried based on the preset tracking backend database.

[0065] Among them, after the inbound direction of the DPU service grid corresponding to the second container group receives the second business request carrying the second tracking header information, the first preset plug-in is also used to construct the tracking header information, and its second preset plug-in also reports the generated tracking unit data packet to the preset tracking backend database.

[0066] For example, refer to Figure 3, PodA's business response data packet arrives at DPU Envoy, and DPU Envoy's app Span constructor (the second preset plug-in) sets Span Name, Span ID, ParentID and other information according to the metadata of the business response data packet, and constructs a Span report to the preset tracing backend database Tracing Backends. Through the Tracing UI, you can query the various spans of the same link of Tracing Backends and the service dependencies. When the second container group is Pod C, you can send the second business request carrying the second tracing header information to the DPU Envoy corresponding to Pod C. After the inbound direction of the DPU envoy on the server side receives the message with the Trace Header, it also uses TraceExtension to construct the tracing header information, and its app Span constructor can also report the constructed related spans to TracingBackends.

[0067] That is, in this implementation, DPU Envoy constructs Span and reports it. When the business response data packet arrives at DPU Envoy, the app Span constructor of DPU Envoy sets the Span Name, Span ID, Parent ID and other information according to the metadata of the business response data packet. Construct a Span and report it to Tracing Backends. Use the Tracing UI to query the various spans of the same link and the dependencies of the services. Thus, DPU Envoy can capture and process requests in and out of the service, and generate a tracing span based on the request and response information. By reporting the Span information to the distributed tracing system, the complete call link can be viewed in the Tracing UI. The DPU Envoy on the server side (the second container group in this embodiment) constructs the relevant tracing header information and reports it. After receiving the message with the second tracing header information, the server-side DPU Envoy uses Trace Extension to construct the tracing header information. The App Span constructor of DPU Envoy reports the Span information of the application on the server side to Tracing Backends. By processing the relevant tracking header information in the DPU Envoy on the server side, the links of the relevant requests can be tracked and the relevant Span can be reported to the tracking system to fully record the request path and dependencies. As a result, the app Span constructor can obtain the real business application response information based on the metadata of the business response data packet to generate Span identification information (such as Span Name, Span ID, etc.), overcoming the limitation of setting DPU Envoy in each container group and one-to-one relationship between DPU Envoy and Span identification information in related technologies.

[0068] In summary, the data processing method based on the DPU service grid of the embodiment of the present disclosure obtains the first service request sent by the first container group, obtains the first tracking header information corresponding to the first service request, wherein the first tracking header information is generated by the first container group calling the preset DPU tracking data packet in the host, and the first tracking header information is parsed by the first preset plug-in to determine the tracking protocol type, and the target parsing plug-in matching the tracking protocol type is determined, and then the first tracking header information is parsed according to the target parsing plug-in, and the second tracking header information of the second container group is generated according to the parsed first tracking header information, and the second service request carrying the second tracking header information is sent to the DPU service grid corresponding to the second container group according to the first service request. In this technical solution, there is no need to set a functional module for generating tracking header information for each container group, and the addition of tracking header information is uniformly implemented based on the DPU tracking data packet preset in the specific directory of the host, which reduces the occupation of related resources and improves the performance of business applications. In addition, the tracking protocol can also be dynamically selected to achieve flexible tracking management.

[0069] In order to implement the above embodiment, the embodiment of the present disclosure further provides a first container group.

[0070] Figure 5 This is a schematic diagram of the structure of a first container group provided in an embodiment of the present disclosure. Figure 5 As shown, the first container group includes: a calling module 510, a first sending module 520, wherein:

[0071] The calling module 510 is used to call a preset DPU tracing data packet in the host to generate first tracing header information corresponding to the first service request in response to initiating a first service request for the second container group;

[0072] The first sending module 520 is used to send a first service request carrying first tracing header information to the DPU service grid, wherein the DPU service grid parses the first tracing header information to determine the tracing protocol type, determines a target parsing plug-in that matches the tracing protocol type, parses the first tracing header information according to the target parsing plug-in, generates second tracing header information of the second container group according to the parsed first tracing header information, and sends a second service request carrying the second tracing header information to the DPU service grid corresponding to the second container group according to the first service request.

[0073] The first container group provided in the embodiment of the present disclosure can execute the data processing method based on the DPU service grid concentrated on the first container group side provided in any embodiment of the present disclosure, and has the corresponding functional modules and beneficial effects of the execution method.

[0074] In order to implement the above embodiments, the embodiments of the present disclosure also provide a DPU service grid.

[0075] Figure 6 FIG. 1 is a structural diagram of a DPU service grid according to an embodiment of the present disclosure. Figure 6 As shown, the DPU service grid includes: an acquisition module 610, a determination module 620, a generation module 630 and a second sending module 640, wherein:

[0076] An acquisition module 610 is configured to acquire a first service request sent by a first container group, and acquire first tracing header information corresponding to the first service request, wherein the first tracing header information is generated by the first container group calling a preset DPU tracing data packet in a host;

[0077] A determination module 620, configured to parse the first tracing header information through a first preset plug-in to determine a tracing protocol type, and determine a target parsing plug-in that matches the tracing protocol type;

[0078] A generating module 630, configured to parse the first tracing header information according to the target parsing plug-in, and generate second tracing header information of the second container group according to the parsed first tracing header information;

[0079] The second sending module 640 is configured to send a second service request carrying second tracking header information to the DPU service grid corresponding to the second container group according to the first service request.

[0080] The DPU service grid provided by the embodiments of the present disclosure can execute the data processing method based on the DPU service grid that is concentrated on the DPU service grid provided by any embodiment of the present disclosure, and has the corresponding functional modules and beneficial effects of the execution method.

[0081] In order to implement the above embodiments, the present disclosure also proposes a computer program product, including a computer program / instruction, which, when executed by a processor, implements the data processing method based on the DPU service grid in the above embodiments.

[0082] In order to implement the above embodiments, the present disclosure also proposes a computer-readable storage medium, which stores a computer program, and the computer program is used to execute the above-mentioned data processing method based on the DPU service grid.

[0083] It should be noted that the computer-readable medium disclosed above may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, 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), an 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 above. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that may be used by or in combination with an instruction execution system, device or device. In the present disclosure, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, in which a computer-readable program code is carried. This propagated data signal may take a variety of forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination of the above. The computer readable signal medium may also be any computer readable medium other than a computer 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. The program code contained on the computer readable medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.

[0084] The computer-readable medium may be included in the electronic device, or may exist independently without being installed in the electronic device.

[0085] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some implementations as replacements, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0086] The units involved in the embodiments described in the present disclosure may be implemented by software or hardware, wherein the name of a unit does not, in some cases, limit the unit itself.

[0087] The functions described above herein may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and the like.

[0088] In the context of the present disclosure, a computer-readable storage medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A computer-readable storage medium may be a machine-readable signal medium or a machine-readable storage medium. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or equipment, or any suitable combination of the foregoing. A more specific example of a computer-readable storage medium may include an electrical connection based on one or more lines, 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), an 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.

[0089] The above description is only a preferred embodiment of the present disclosure and an explanation of the technical principles used. Those skilled in the art should understand that the scope of disclosure involved in the present disclosure is not limited to the technical solutions formed by a specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above disclosed concept. For example, the above features are replaced with the technical features with similar functions disclosed in the present disclosure (but not limited to) by each other to form a technical solution.

[0090] In addition, although each operation is described in a specific order, this should not be understood as requiring these operations to be performed in the specific order shown or in a sequential order. Under certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although some specific implementation details are included in the above discussion, these should not be interpreted as limiting the scope of the present disclosure. Some features described in the context of a separate embodiment can also be implemented in a single embodiment in combination. On the contrary, the various features described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable sub-combination mode.

[0091] Although the subject matter has been described in language specific to structural features and / or methodological logical actions, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. On the contrary, the specific features and actions described above are merely example forms of implementing the claims.

Claims

1. A data processing method based on a DPU service grid, characterized in that: The method is applied in a first container group of a host corresponding to the DPU service grid, and the method comprises the following steps: In response to initiating a first service request for the second container group, calling a DPU tracing data packet preset in the host to generate first tracing header information corresponding to the first service request; A first service request carrying the first tracing header information is sent to the DPU service grid, wherein the DPU service grid parses the first tracing header information to determine the tracing protocol type, determines a target resolution plug-in that matches the tracing protocol type, parses the first tracing header information according to the target resolution plug-in, generates second tracing header information of the second container group according to the parsed first tracing header information, and sends a second service request carrying the second tracing header information to the DPU service grid corresponding to the second container group according to the first service request.

2. The method according to claim 1, characterized in that Also includes: In response to obtaining a third service request from another client to the first container group, generating a service response data packet corresponding to the third service request, and calling the DPU tracking data packet to write a tracking link identifier of the service response data packet in a log module of the first container group; In response to obtaining the log collection request of the first container group, a log file is generated according to the tracking link identifier and the business response data packet, and the log file is stored in a preset log collector in the host, wherein the preset log collector sends the log file to a preset distributed operation and maintenance platform so that the distributed operation and maintenance platform stores the log file in a preset log search engine.

3. The method according to claim 2, characterized in that The preset DPU tracking data packet is preset by the host under a preset directory through a preset tracking controller.

4. The method according to claim 2, characterized in that The calling of the DPU tracking data packet to write the tracking link identifier of the business response data packet in the log module of the first container group includes: The DPU tracking data packet is called by calling a volume pre-mounted on the data table of the first container group to write a tracking link identifier of the business response data packet in a log module of the first container group.

5. The method according to claim 2, characterized in that The generating a log file according to the tracking link identifier and the service response data packet includes: The log file is generated according to the tracking link identifier and the business response data packet by using the log collection volume pre-mounted on the first container group.

6. A data processing method based on a DPU service grid, characterized in that: The method is applied to the DPU service grid, and the method comprises the following steps: Obtain a first service request sent by a first container group, and obtain first tracing header information corresponding to the first service request, wherein the first tracing header information is generated by the first container group calling a DPU tracing data packet preset in a host; Parsing the first tracing header information through a first preset plug-in to determine a tracing protocol type, and determining a target parsing plug-in that matches the tracing protocol type; parsing the first tracing header information according to the target parsing plug-in, and generating second tracing header information of the second container group according to the parsed first tracing header information; A second service request carrying the second tracking header information is sent to the DPU service grid corresponding to the second container group according to the first service request.

7. The method according to claim 6, characterized in that Also includes: Acquire a service response data packet sent by the first container group, and call a second preset plug-in to generate a tracking unit data packet corresponding to the service response data packet; The tracking unit data packet is sent to a preset distributed operation and maintenance platform, wherein the distributed operation and maintenance platform stores the tracking unit data packet in a preset tracking backend database.

8. A first container group, characterized in that: include: A calling module, configured to, in response to initiating a first service request for a second container group, call a preset DPU tracing data packet in the host to generate first tracing header information corresponding to the first service request; A first sending module is used to send a first service request carrying the first tracing header information to the DPU service grid, wherein the DPU service grid parses the first tracing header information to determine a tracing protocol type, determines a target resolution plug-in that matches the tracing protocol type, parses the first tracing header information according to the target resolution plug-in, generates second tracing header information of the second container group according to the parsed first tracing header information, and sends a second service request carrying the second tracing header information to the DPU service grid corresponding to the second container group according to the first service request.

9. A DPU service grid, characterized in that: include: an acquisition module, configured to acquire a first service request sent by a first container group, and acquire first tracing header information corresponding to the first service request, wherein the first tracing header information is generated by the first container group calling a DPU tracing data packet preset in a host; A determination module, configured to parse the first tracing header information through a first preset plug-in to determine a tracing protocol type, and determine a target parsing plug-in that matches the tracing protocol type; a generating module, configured to parse the first tracing header information according to the target parsing plug-in, and generate second tracing header information of the second container group according to the parsed first tracing header information; The second sending module is used to send a second service request carrying the second tracking header information to the DPU service grid corresponding to the second container group according to the first service request.

10. A data processing system based on a DPU service grid, characterized in that: include: A DPU service grid and a first container group, wherein the first container group is located in a host corresponding to the DPU service grid, wherein, The first container group is used to execute the data processing method based on the DPU service grid according to any one of claims 1 to 5; The DPU service grid is used to execute the data processing method based on the DPU service grid as described in claim 6 or 7.

11. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and the computer program is used to execute the data processing method based on the DPU service grid as described in any one of claims 1-7 above.

Citation Information

Patent Citations

  • Request link tracking method and service request processing method

    CA3141329A1

  • Microservice scene optimization method, system and equipment based on cloud native, and medium

    CN112866333A

  • Data tracking method and electronic equipment

    CN115562901A

  • Service mesh management

    US11457080B1

  • Distributed tracing techniques for acquiring business insights

    US20220398603A1

Cited By

  • Communication configuration method and device based on DPU centralized service grid, and medium

    CN120223742A