IT service tracking method and device, storage medium and electronic device
By receiving embedded logs in service nodes and generating a full-link topology diagram, and leveraging the advantages of call chains and business chains, the problem of quickly locating faults in complex service architectures is solved, and efficient abnormal problem identification and troubleshooting are achieved.
Patent Information
- Application Number
- CN202111451886.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-01
- Publication Date
- 2025-09-23
- Estimated Expiration
- 2041-12-01
AI Technical Summary
In complex service architectures, existing technologies make it difficult to quickly discover problems and determine the scope of fault impact, especially in multi-system and long-process scenarios, where call chains and business logs make it difficult to efficiently identify abnormal problems.
By receiving the tracking logs of the service nodes, a full-link topology diagram is generated based on the different calling methods of the call chain and business chain. The call chain or business chain is used to initiate a request to the next service node. The full-link topology diagram is generated in combination with the tracking logs. The advantages of the call chain and business chain are used to quickly locate abnormal problems.
It achieves efficient locking of abnormal problems in multi-system and long-process scenarios, improves troubleshooting efficiency, and can quickly locate the scope of fault impact.
Smart Images

Figure CN116208475B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technology, and in particular to an IT service tracking method and device, a storage medium, and an electronic device. Background Art
[0002] As service architectures become increasingly complex, a single request often involves multiple systems. Therefore, tools are needed to help understand system behavior, analyze problems, and quickly locate and resolve failures.
[0003] In complex service architectures, using call chain monitoring technology presents at least the following challenges: Problems cannot be quickly identified, and it is difficult to determine the scope of the fault. To address this, a full-link monitoring tool has been developed that combines call chain monitoring with business logs to quickly locate errors. However, using fragmented logs to pinpoint the specific step in the call chain where the error occurred still fails to effectively isolate the anomaly.
[0004] It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of the present disclosure, and therefore may include information that does not constitute prior art known to ordinary technicians in the field. Summary of the Invention
[0005] The purpose of the present disclosure is to provide a service tracking method and device based on a hybrid chain, a storage medium and an electronic device, which can at least to some extent overcome the problem of being difficult to adapt to multiple systems and long processes due to the limitations of related technologies.
[0006] Other features and advantages of the present disclosure will become apparent from the following detailed description, or may be learned in part by practice of the present disclosure.
[0007] According to one aspect of the present disclosure, an IT service tracking method is provided, including: receiving a tracking log output by a service node, wherein when the service node receives a service request, if the service call is a synchronous call, it uses a call chain to initiate a service request to the next service node; if the service call is an asynchronous call, it uses a business chain to initiate a service request to the next service node; based on the tracking log, a call chain topology is generated according to the call chain data, and a topology between different call chains is generated according to the business chain data to obtain a full-link topology diagram of the business scenario.
[0008] According to another aspect of the present disclosure, an IT service tracking method is provided, including: receiving a service request; when a service node determines that the service call corresponding to the service request is a synchronous call, using a call chain to initiate a service request to the next service node; when the service node determines that the service call corresponding to the service request is an asynchronous call, using a business chain to initiate a service request to the next service node; outputting a tracking log so as to obtain a full-link topology diagram of the business scenario based on the tracking log.
[0009] In one embodiment of the present disclosure, the process of the service node determining the service call corresponding to the service request includes: detecting the calling method of the current calling function; and obtaining transfer information corresponding to the service calling method.
[0010] In one embodiment of the present disclosure, the service node is configured with a tracking point capable of collecting data, and the collected data is output to a tracking point log, which can generate a log message in a preset format for sending to a monitoring system.
[0011] In one embodiment of the present disclosure, the tracking log processes data information through binary annotations and saves the converted fields in a key-value structure.
[0012] In one embodiment of the present disclosure, different call chains are connected in series to form a service chain. The service chains are connected in series using a triplet, which includes an access address, a serial number, and a service call initiator identifier.
[0013] According to another aspect of the present disclosure, a service tracking device is provided, which includes a collection module for: receiving a tracking log output by a service node, wherein when the service node receives a service request, if the service call is a synchronous call, it uses a call chain to initiate a service request to the next service node; if the service call is an asynchronous call, it uses a business chain to initiate a service request to the next service node; and a tracking module for: generating a call chain topology according to the call chain data based on the tracking log, generating a topology between different call chains according to the business chain data, and obtaining a full-link topology diagram of the business scenario.
[0014] According to another aspect of the present disclosure, a service tracking device is provided, including: an execution module, used to: receive a service request; when a service node determines that the service call corresponding to the service request is a synchronous call, use a call chain to initiate a service request to the next service node; when the service node determines that the service call corresponding to the service request is an asynchronous call, use a business chain to initiate a service request to the next service node; a sending module, used to: output a tracking log so as to obtain a full-link topology diagram of the business scenario based on the tracking log.
[0015] According to another aspect of the present disclosure, an electronic device is provided, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to perform the above-mentioned service tracking method by executing the executable instructions.
[0016] According to another aspect of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the above-mentioned service tracking method is implemented.
[0017] The service tracking method provided by the embodiments of the present disclosure, by hybridly applying different links in multi-system, long-process scenarios, can leverage the advantages of connecting different links in series within a single system and across multiple systems, solving the problems of difficulty in identifying problems and inefficiently locking them in full-link tracking methods such as call chains or those combined with business logs. It has the advantages of better connection within a system and between multiple systems, enabling efficient locking of abnormal problems.
[0018] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] The accompanying drawings are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the specification, are used to explain the principles of the present disclosure. Obviously, the drawings described below are only some embodiments of the present disclosure, and those skilled in the art can derive other drawings based on these drawings without inventive effort.
[0020] Figure 1 A schematic diagram illustrating a service tracking method in an embodiment of the present disclosure;
[0021] Figure 2 Another schematic diagram showing the service tracking method in an embodiment of the present disclosure;
[0022] Figure 3 Another schematic diagram showing the service tracking method in an embodiment of the present disclosure;
[0023] Figure 4 A schematic diagram showing the application of the service tracking method in a business scenario according to an embodiment of the present disclosure;
[0024] Figure 5 A schematic diagram showing a service tracking device according to an embodiment of the present disclosure is shown;
[0025] Figure 6 Another schematic diagram showing a service tracking device according to an embodiment of the present disclosure;
[0026] Figure 7Another schematic diagram showing a service tracking device according to an embodiment of the present disclosure;
[0027] Figure 8 A structural block diagram of a computer device for service tracking in an embodiment of the present disclosure is shown. DETAILED DESCRIPTION
[0028] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be embodied in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete and will fully convey the concepts of the example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0029] In addition, the accompanying drawings are merely schematic illustrations of the present disclosure and are not necessarily drawn to scale. Identical reference numerals in the figures denote identical or similar parts, and thus repetitive descriptions thereof will be omitted. Some of the block diagrams shown in the accompanying drawings are functional entities that do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.
[0030] The solution provided by this application, in the application scenario tracking process, according to different calling methods, the service node initiates a request to the next node using different links, and finally generates a full link topology map based on the data of different links. For ease of understanding, the following first explains several terms involved in this application.
[0031] Link tracing related terms
[0032] Link tracing is a concept in distributed systems. Link tracing components use technical means such as code intrusion or non-intrusion to represent, track, transmit, collect, store, and display data in microservice applications. This allows them to restore a distributed request to a call chain and centrally display the call status of a distributed request, such as the time spent on each service node, the specific machine the request reaches, and the request status of each service node. For example, code tracking is performed at the entry and exit of each request call to record the relationship between the calls. This call relationship can be used to sort out the complete chain restoration of a request, identify the specific machine the request reaches, and display the chain topology and application dependencies.
[0033] Full-link tracing emerged as microservice architectures grew in scale and complexity. Almost every front-end request forms a complex distributed service call chain, which can lead to numerous problems, such as difficulty quickly identifying issues and clarifying dependencies. Therefore, full-link tracing displays various metrics from both a global and local perspective, centrally displaying performance information across all call chains across applications. This facilitates overall and local performance measurement and pinpoints the source of faults, significantly reducing troubleshooting time in production.
[0034] In a broad sense, a call chain represents the execution of a transaction or process in a (distributed) system. A call chain is a directed acyclic graph (DAG) consisting of multiple spans, each representing a named and timed, continuous execution segment in the call chain. A trace describes a complete call chain in a distributed system, and each trace has a unique trace ID.
[0035] In a complex business process, a business chain consists of multiple user requests. These requests are interconnected. After connecting the call chains, different call chains are aggregated based on business logic to form a business chain. To establish connections between multiple requests, business chains can be connected through business operations. If the call chain is a simple tree structure, the business chain is a forest structure.
[0036] This example implementation first provides a service tracking method that can be applied to problem monitoring in microservice systems, such as business scenarios with multiple systems and relatively long processes; at the same time, it can efficiently track problems that occur in the system.
[0037] refer to Figure 1 As shown in , from the perspective of the service node, the IT service tracking method may include the following steps:
[0038] S101: receiving a service request;
[0039] When the service node determines that the service call corresponding to the service request is a synchronous call, it initiates a service request to the next service node using a call chain;
[0040] When the service node determines that the service call corresponding to the service request is an asynchronous call, the service node initiates a service request to the next service node using a service chain;
[0041] S102. Output the tracking log to obtain a full-link topology diagram of the business scenario based on the tracking log.
[0042] In the service tracking method provided in this example embodiment, after receiving a request, a service node sends a service request to the next service node according to preset rules. If the current call is synchronous, the service request is initiated using a call chain; if the current call is asynchronous, the service request is initiated using a service chain. By hybridizing different chains, the advantages of each chain are leveraged, improving tracking efficiency.
[0043] Below, each step of the service tracking method in this example implementation will be described in more detail with reference to the accompanying drawings and embodiments.
[0044] See also Figure 3 As shown, in this example implementation, the above S101 may specifically include:
[0045] S11, detecting the calling mode of the currently called function;
[0046] S12. Acquire transfer information corresponding to the service calling method;
[0047] S13, sending the transfer information to the next service node;
[0048] When the service node determines that the service call corresponding to the service request is a synchronous call, it initiates a service request to the next service node using a call chain;
[0049] When the service node determines that the service call corresponding to the service request is an asynchronous call, the service node initiates a service request to the next service node using a service chain;
[0050] In this exemplary embodiment, the output tracking log specifically includes:
[0051] S14: Configure tracking points for data collection;
[0052] S15: Output the collected data to the tracking log;
[0053] S16: In the tracking log module, a log message is generated according to the reporting instruction and sent to the monitoring system.
[0054] After the client initiates a service request, it is passed to the server through the gateway. The server can be configured with multiple service nodes. The service nodes are configured with tracking points that can collect data, and the collected data is output to the tracking point log.
[0055] Tracking can be set up on either the client or server. Tracking refers to the technology and implementation process for capturing, processing, and transmitting specific user or event behaviors. Tracking can be set up on either the client or server, and can be implemented using code intrusion. The data collected by tracking is reported to the link data through interfaces and stored in tracking logs.
[0056] After a service node receives a service request, it collects data in real time and records it in a tracking log. It also generates a log message and sends it to the monitoring system, which can be queried during link tracing. The tracking log can include trace ID, span ID, protocol type, caller IP, port, request name, call result, and exception information.
[0057] Tracking logs provide detailed information about how users track applications at different levels and can be used to track the control flow during execution. Collecting data on individual user behaviors based on tracking logs requires comprehensive process coverage. User behaviors are contextually linked, and analyzing the complete user behavior chain is essential. This often requires linking behaviors together through key information during behavior log collection.
[0058] Among them, the tracking log uses the binary annotation array to output information. Binary annotation is a form of business annotation list. It can convert the required values into fields in the form of key-value pairs and save the converted fields in the key-value structure.
[0059] The current calling method can be obtained by detecting the calling method of the function. Different calling modes of the function will obtain different transmission information for transmission. The function can contain a calling method, or a calling method can be configured in the code. The preset rules include two modes. If the current calling method is a synchronous call, it is sent to the next service node by obtaining the tracking address (hereinafter referred to as TraceID), Span ID, ParentID, etc. The other mode is: if the current calling method is an asynchronous call, a service request is initiated to the next service node by obtaining information such as a triple.
[0060] In computer science, synchronization and asynchrony refer to how functions / tasks are called: Synchronous means that when a process initiates a function (task) call, it waits until the function (task) completes while the process remains active. Asynchronous means that when a process initiates a function (task) call, it does not wait for the function to return but continues execution. When the function returns, it notifies the process of the task completion through status, notifications, events, etc.
[0061] We've previously introduced the characteristics of call chains and business chains. In a distributed system, call chains enable excellent cascading and clear processes. Therefore, in this example, synchronous calls are used within the call chain for short processes, enabling fast and accurate information flow. When complex cross-system calls are involved, asynchronous calls are used to transfer information within the business chain. This clarifies the flow of information and avoids the congestion caused by synchronous calls between different systems, which can be difficult to clearly organize when using call chains. This approach leverages the advantages of different call chains and different calling methods to achieve better tracking and more quickly identify the location of problems.
[0062] When a request arrives, a global TraceID is generated. The TraceID can be used to connect the entire call chain, and one TraceID represents a request. When the system completes a business call, the call information (time, interface, level, result) between services is logged in the log, and then all the logged data is connected into a tree-like chain to generate a call chain. Based on the connection in the link, the call relationship between each node can be seen. The connection of the call chain can be connected using Span ID and Trace ID. Different distributed systems have different Trace IDs, so different systems can have their own call chains. Different Span IDs in different nodes in the same system can realize the flow of information within the call chain.
[0063] Different call chains are connected together to form a service chain. Service chains can be connected using a triple, for example, bc.url, bc.id, and bc.type. bc.url represents the access address, bc.id represents the service serial number, and bc.type is the identifier of the service call initiator.
[0064] Log messages can be formatted in a unified manner and stored in a reasonable manner. When information anomalies occur during the monitoring process, information can be obtained through search engines, etc.
[0065] refer to Figure 1 As shown in , from the perspective of the monitoring system, the IT service tracking method can include the following steps:
[0066] S201. Receive a tracking log output by a service node. When the service node receives a service request, if the service call is synchronous, it initiates a service request to the next service node using a call chain. If the service call is asynchronous, it initiates a service request to the next service node using a business chain.
[0067] S202. Generate a call chain topology based on the call chain data based on the embedded point log, generate a topology between different call chains based on the business chain data, and obtain a full-link topology diagram of the business scenario.
[0068] When obtaining the full-link topology diagram of the entire business scenario, the service call in the call chain network communication will carry fields such as X-B3-TraceId, X-B3-SpanId, X-B3-ParentSpanId, X-B3-Sampled, and X-B3-Flags in the header when initiating the request. The reported tracking log will parse these fields into fields such as traceId, Id, parentId, sampledFlag, and debugFlag. Therefore, we can restore the serial service call relationship of the call chain based on fields such as traceId, Id, and parenId. The topological relationship between different call chains can then be obtained through the BC triples (bc.url, bc.id, and bc.type) parsed from the tracking log.
[0069] The link topology can be calculated using a data model. Complete link topology calculation requires the aggregation of a large amount of, or all, data. Topology calculation primarily involves analyzing and aggregating data to determine the relationships between interfaces and nodes. This aggregation allows the calculation of direct call relationships between interfaces and nodes. The full link topology allows visualization of inter-application call relationships and dependencies.
[0070] Based on the call relationships of the call chains and the topological relationships between different call chains, a topological diagram of the entire link is drawn. The drawing of the topological diagram can be achieved by embedding code or using existing topological diagram drawing tools.
[0071] Based on the above content, in this example implementation, the method may further include: step S203 , outputting the error information for display in the visualization section.
[0072] You can connect to visual sections, identify error nodes, mark them in the Trace Tree, and then display the marked error information. Furthermore, using business fields and other tools, you can pinpoint anomalies and their causes.
[0073] See also Figure 4 As shown, the above example is implemented in a telecommunications business scenario, and the specific implementation method can be described as follows:
[0074] The implementation method includes the group management system (referred to as group CRM), the information service hub system (referred to as hub), the provincial management system (referred to as provincial CRM), the provincial service activation system (referred to as provincial service activation), and the provincial activation system (referred to as provincial activation). The calling method has been set in advance between each system and within the system, and based on this, the link form when setting the calling between each system and within the system.
[0075] Specifically, business chain calls can be used between the group CRM and the hub, between the provincial CRM and the provincial service development, and between the provincial service development and the provincial activation; and call chains can be used within the hub, within the provincial CRM, within the provincial service development, and between the hub and the provincial CRM.
[0076] The specific process flow can be:
[0077] When the group CRM system initiates a request to the hub system, the system selects the business chain strategy according to the preset rules, generates the corresponding message according to the determined business chain protocol and sends it to the service node of hub 1, and at the same time sends the log message to the monitoring system for serial monitoring.
[0078] After receiving a message from the group CRM system, Hub 1's service node selects a call chain strategy, generates a corresponding message based on the protocol, and sends it to Hub 2. Hub 2 then uses the call chain strategy to generate a corresponding message and sends it to the provincial CRM. The provincial CRM internally uses the call chain to invoke the service. The provincial CRM then selects a call chain strategy, generates a corresponding message based on the specified business chain protocol, and sends it to the provincial service development system. It also sends log messages to the monitoring system for cascade monitoring.
[0079] The provincial service activation system uses a call chain to call the service, and then initiates an activation service request to the provincial activation system through the business chain, and at the same time sends the log message to the monitoring system for serial monitoring.
[0080] The monitoring system collects embedded point logs, generates a call chain topology based on the call chain data, and then generates the topology between different call chains based on the business chain data, ultimately obtaining a full-link topology diagram for the telecommunications business scenario.
[0081] Specifically, in this example, when the service node receives a service request, if the current request is not associated with any span, the service node generates a span, including a span ID and a trace ID. When the service node sends a request downstream, it needs to generate a span and set the parent node of the generated new span to the span generated in the previous step, that is, the parent span ID. A complete trace consists of multiple spans with the same trace ID. By stringing together the span ID and the parent span ID, a tree-like calling relationship can be represented, namely the trace tree.
[0082] Therefore, when a system error occurs, all TraceIDs can be collected, and the Trace Tree can be restored through the corresponding Span ID and parentSpan ID. Then, the node where the error occurred can be identified, marked in the Trace Tree, and finally the marked error information can be displayed.
[0083] Specifically, in the above solution, the services in the business chain are connected in series using the BC triplet (bc.url, bc.id, bc.type).
[0084] For service calls in business chain network communications, the client and server (C / S) need to be connected in series through three information items: bc.url (the address for system or service access), bc.id (business serial number, such as order number, etc.), and bc.type (c represents client-initiated / s represents server-initiated).
[0085] When it is necessary to obtain the full-link topology diagram of the entire business scenario, because the service call in the call chain network communication will carry fields such as X-B3-TraceId, X-B3-SpanId, X-B3-ParentSpanId, X-B3-Sampled, and X-B3-Flags in the head header when initiating the request. The reported tracking log will parse it into fields such as traceId, Id, parentId, sampledFlag, and debugFlag. Therefore, we can restore the serial service call relationship of the call chain based on fields such as traceId, Id, and parenId. The topological relationship between different call chains is then obtained through the BC triples (bc.url, bc.id, and bc.type) parsed from the tracking log.
[0086] In addition, in the logs of each system link involved in the order acceptance and activation process, business information is output through the binaryAnnotations array (key-value structure), including bz.orderNo (business order number), bz.servNo (business number), bz.acceptTime (customer order generation time), bz.custOrderStatus (customer order status), etc. Through these business fields, the current status, abnormal points, and abnormal causes of a single order can be accurately located.
[0087] For further information, see Figure 5 As shown, the embodiment of this example further provides a service tracking device 5, including: an execution module 51 and a tracking point log module 52.
[0088] The execution module 51 is configured to: receive a service request; when the service node determines that the service call corresponding to the service request is a synchronous call, initiate the service request to the next service node using a call chain; when the service node determines that the service call corresponding to the service request is an asynchronous call, initiate the service request to the next service node using a business chain;
[0089] The tracking point log module 52 is used to output tracking point logs so as to obtain a full-link topology diagram of the business scenario based on the tracking point logs. The tracking point log module can be used to configure tracking points that can collect data, output the collected data to the tracking point log, and form log messages according to reporting instructions, and send the log messages to the monitoring system.
[0090] The specific details of each module in the above-mentioned service tracking device 5 have been described in detail in the corresponding tracking method, so they will not be repeated here.
[0091] For further information, see Figure 6 As shown, the embodiment of this example further provides a service tracking device 6 , including: a collection module 61 and a tracking module 62 .
[0092] The collection module 61 is used to: receive the tracking log output by the service node, wherein when the service node receives a service request, if the service call is a synchronous call, it uses the call chain to initiate a service request to the next service node; if the service call is an asynchronous call, it uses the business chain to initiate a service request to the next service node; it can search the information of the tracking log and collect the required information.
[0093] Tracking module 62 is configured to generate a call chain topology based on the call chain data in the tracking log, generate a topology between different call chains based on the business chain data, and obtain a full-link topology diagram for the business scenario. Tracking module 62 can be a computer device with processing capabilities, a module within the computer device, or other forms.
[0094] The specific details of each module in the above-mentioned service tracking device 6 have been described in detail in the corresponding tracking method, so they will not be repeated here.
[0095] See also Figure 7 As shown, the tracking module 6 further includes a storage module 63, which can support the storage of log messages.
[0096] It should be noted that although several modules or units of the device for action execution are mentioned in the detailed description above, this division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more modules or units described above can be concretized in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided into multiple modules or units to be concretized.
[0097] In an exemplary embodiment of the present disclosure, an electronic device capable of implementing the above method is also provided.
[0098] Those skilled in the art will appreciate that various aspects of the present invention may be implemented as systems, methods, or program products. Therefore, various aspects of the present invention may be implemented in the following forms: a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software implementations, which may be collectively referred to herein as "circuits," "modules," or "systems."
[0099] Refer to the following Figure 8 The electronic device according to this embodiment of the present invention will be described. Figure 3 The electronic device 800 shown is merely an example and should not limit the functions and scope of use of the embodiments of the present invention.
[0100] like Figure 8 As shown, electronic device 800 is implemented as a general-purpose computing device. Components of electronic device 800 may include, but are not limited to, the aforementioned at least one processing unit 810, the aforementioned at least one storage unit 820, and a bus 830 connecting various system components (including storage unit 820 and processing unit 810).
[0101] The storage unit stores program codes that can be executed by the processing unit 810, so that the processing unit 810 performs the steps according to various exemplary embodiments of the present invention described in the "Exemplary Method" section above. For example, the processing unit 810 may perform the following steps: Figure 1 As shown in the figure, S1: obtains the flow trajectory based on the log points of each service node; S2: initiates the request to the next node through different links based on the different calling methods of the service node; S3: generates the topology based on the data of different links to obtain the full-link topology diagram of the application scenario.
[0102] The storage unit 820 may include a readable medium in the form of a volatile storage unit, such as a random access memory unit (RAM) 8201 and / or a cache memory unit 8202 , and may further include a read-only memory unit (ROM) 8203 .
[0103] The storage unit 820 may also include a program / utility 8204 having a set (at least one) of program modules 8205, such program modules 8205 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.
[0104] Bus 830 may represent one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.
[0105] The electronic device 800 can also communicate with one or more external devices 700 (e.g., a keyboard, a pointing device, a Bluetooth device, etc.), one or more devices that enable a user to interact with the electronic device 600, and / or any device that enables the electronic device 800 to communicate with one or more other computing devices (e.g., a router, a modem, etc.). Such communication can occur via an input / output (I / O) interface 850. Furthermore, the electronic device 800 can also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network such as the Internet) via a network adapter 860. As shown, the network adapter 860 communicates with other modules of the electronic device 800 via a bus 830. It should be understood that, although not shown in the figure, other hardware and / or software modules can be used in conjunction with the electronic device, including but not limited to microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0106] Through the description of the above embodiments, it is easy for those skilled in the art to understand that the example embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.
[0107] In exemplary embodiments of the present disclosure, a computer-readable storage medium is also provided, on which is stored a program product capable of implementing the aforementioned methods of this specification. In some possible implementations, various aspects of the present invention may also be implemented in the form of a program product comprising program code. When the program product is executed on a terminal device, the program code is configured to cause the terminal device to execute the steps according to various exemplary embodiments of the present invention described in the "Exemplary Methods" section of this specification.
[0108] A program product for implementing the above-described method according to an embodiment of the present invention is described. The program product may be a portable compact disc read-only memory (CD-ROM) and include program code, and may be run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited thereto. In this document, a readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
[0109] The program product may be implemented in any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or component, or any combination thereof. More specific examples (a non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable 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 thereof.
[0110] A computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries readable program code. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium that can transmit, propagate, or transfer a program for use by or in conjunction with an instruction execution system, apparatus, or device.
[0111] The program code embodied on the readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
[0112] The program code for performing the operations of the present invention may be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, C++, and the like, as well as conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a stand-alone software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving a remote computing device, the remote computing device may be connected to the user computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0113] It should be noted that although several modules or units of the device for action execution are mentioned in the detailed description above, this division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more modules or units described above can be concretized in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided into multiple modules or units to be concretized.
[0114] Furthermore, although the steps of the method of the present disclosure are described in a particular order in the accompanying drawings, this does not require or imply that the steps must be performed in this particular order, or that all steps shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps.
[0115] Through the description of the above embodiments, it is easy for those skilled in the art to understand that the example embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a mobile terminal, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.
[0116] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art not disclosed herein. The description and examples are to be considered as exemplary only, with the true scope and spirit of the present disclosure being indicated by the appended claims.
Claims
1. An IT service tracking method, characterized in that: include: Receive the tracking log output by the service node. When the service node receives a service request, if the service call is a synchronous call, it obtains the tracking address TraceID, SpanID, and ParentID and uses the call chain to initiate a service request to the next service node. If the service call is an asynchronous call, it obtains triple information and uses the business chain to initiate a service request to the next service node. Different call chains are connected together to form a business chain. The business chain is connected in series using triples, and the triples include the access address, serial number, and service call initiator identifier. Parse the tracking address TraceID, SpanID and ParentID based on the tracking log to generate a call chain topology according to the call chain data; By parsing the triples from the tracking logs, the topology between different call chains is generated according to the business chain data to obtain a full-link topology diagram of the business scenario.
2. An IT service tracking method, characterized in that: include: Receive service requests; When the service node determines that the service call corresponding to the service request is a synchronous call, it obtains the tracking address TraceID, SpanID and ParentID and initiates a service request to the next service node using the call chain; When the service node determines that the service call corresponding to the service request is an asynchronous call, it obtains triplet information, initiates a service request to the next service node using a service chain, and connects different call chains together to form a service chain. The service chain is connected in series using a triplet, which includes an access address, a serial number, and an identifier of the service call initiator. Output the tracking log to obtain a full-link topology diagram of the business scenario based on the tracking log, wherein the tracking address TraceID, SpanID and ParentID are parsed based on the tracking log to generate a call chain topology according to the call chain data; By parsing the triples from the tracking logs, the topology between different call chains is generated according to the business chain data to obtain a full-link topology diagram of the business scenario.
3. The service tracking method according to claim 2, characterized in that: The process of the service node determining the service call corresponding to the service request includes: Detect the calling method of the current calling function; Get the delivery information corresponding to the service call method.
4. The service tracking method according to claim 2, characterized in that: The service node is configured with a tracking point that can collect data. The collected data is output to the tracking point log, and a log message in a preset format can be generated for sending to the monitoring system.
5. The service tracking method according to claim 4, characterized in that: The tracking log processes data information through binaryAnnotations and saves the converted fields in a key-value structure.
6. A service tracking device, characterized in that: include: A collection module is used to: receive the tracking log output by the service node, wherein when the service node receives a service request, if the service call is a synchronous call, the service node obtains the tracking address TraceID, SpanID and ParentID, and uses the call chain to initiate a service request to the next service node; if the service call is an asynchronous call, the service node obtains triple information, uses the business chain to initiate a service request to the next service node, and connects different call chains together to form a business chain. The business chain is connected in series using triples, and the triples include the access address, serial number and service call initiator identifier; The tracking module is used to: parse the tracking address TraceID, SpanID and ParentID based on the tracking log to generate a call chain topology based on the call chain data; parse the triples from the tracking log to generate the topology between different call chains based on the business chain data, and obtain a full-link topology diagram of the business scenario.
7. A service tracking device, characterized in that: include: The execution module is used to: receive a service request; When the service node determines that the service call corresponding to the service request is a synchronous call, it obtains the tracking address TraceID, SpanID and ParentID and initiates a service request to the next service node using the call chain; When the service node determines that the service call corresponding to the service request is an asynchronous call, it obtains triplet information, initiates a service request to the next service node using a service chain, and connects different call chains together to form a service chain. The service chain is connected in series using a triplet, which includes an access address, a serial number, and an identifier of the service call initiator. A tracking log module is used to: output tracking logs so as to obtain a full-link topology diagram of the business scenario based on the tracking logs, wherein the tracking address TraceID, SpanID and ParentID are parsed based on the tracking logs to generate a call chain topology based on the call chain data; By parsing the triples from the tracking logs, the topology between different call chains is generated according to the business chain data to obtain a full-link topology diagram of the business scenario.
8. An electronic device, characterized in that: include: processor; as well as a memory for storing executable instructions of the processor; The processor is configured to execute the service tracking method according to any one of claims 1 to 5 by executing the executable instructions.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the service tracking method according to any one of claims 1 to 5 is implemented.
Citation Information
Patent Citations
Link tracking method and device, medium and computing equipment
CN113094166A