A production work order problem troubleshooting method, device, equipment and storage medium

By combining Skywalking and the Elasticsearch search engine, call chain node data is collected and cached, and online link context is deserialized and restored. This solves the problem of developers reconstructing online incident scenes locally and enables efficient and low-cost troubleshooting of work orders.

CN116775583BActive Publication Date: 2026-04-07SHANGHAI WEIMOB ENTERPRISE DEV CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-06-26
Publication Date
2026-04-07

AI Technical Summary

Technical Problem

In existing technologies, when developers handle work order issues, it is difficult to recreate the online incident scene locally, especially under complex business logic where context variables are difficult to restore, resulting in low troubleshooting efficiency and high costs.

Method used

Skywalking is used to collect call chain node data, which is stored in the Elasticsearch search engine and cached locally based on the identifier of the target request. The online link context is restored by matching method names and deserialization operations to troubleshoot problems.

Benefits of technology

Even when developers are unfamiliar with the code logic, they can recreate the online incident scene locally, making it easier to troubleshoot online issues and achieve low-cost, non-intrusive, and efficient problem localization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116775583B_ABST
    Figure CN116775583B_ABST
Patent Text Reader

Abstract

The application discloses a production work order problem troubleshooting method and device, equipment and a storage medium, and relates to the technical field of computers, which comprises the following steps: collecting link node data of a call chain node by using Skywalking, and storing the link node data into an ES search engine; obtaining information of the link node data in the ES search engine based on a target identifier of the link node data corresponding to a target request, and caching the information to a local to obtain local cache information; determining a method name corresponding to a method for obtaining external node data, matching the method name with the local cache information to determine target link node data corresponding to the method name; performing a deserialization operation on the target link node data to obtain deserialized information, and performing problem troubleshooting locally based on the deserialized information. Thus, the application can restore online accidents locally, and facilitate the troubleshooting of online problems.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of computer technology, and in particular to a method, apparatus, equipment, and storage medium for troubleshooting production work orders. Background Technology

[0002] Currently, internet companies are constantly releasing new products at rapid pace. Product quality relies on both the company's R&D, testing, and deployment processes, as well as user feedback on the product's user experience. When developers receive support tickets from users, the typical development solutions are as follows: first, determine based on experience whether it's a product, technical, or business issue; second, for product issues, delegate to the relevant product design team to improve the process; third, for technical or business issues, reconstruct the incident based on online monitoring data. If logs, call chains, or metric monitoring provide clear anomalies, locating the problem becomes exceptionally easy for developers. However, if after investigating all clues, the problem might be hidden within hundreds or thousands of lines of calculation and judgment logic (this often happens in projects where there are multiple data sources and reliance on downstream systems, making manual reverse engineering difficult and time-consuming when the final result doesn't match expectations), then the best approach for developers is usually to debug the code to find the problem. Currently, when dealing with support ticket issues, most developers rely on testers to reproduce the problem in the test environment and then debug and reconstruct the incident based on the test data. However, if there is too much related data, testing often struggles to reproduce the issue, and developers typically have to manually analyze the code through call chains to find the problem – this is the most common approach. While some companies allow developers to directly connect to the production environment, which simplifies the process, it's not entirely feasible. First, does a direct connection mean bypassing permission checks and gaining direct access to the production data? Second, data is updated in real-time; the desired outcome is to reconstruct the incident, not recreate it, and sometimes, due to data changes, it's even impossible to create an incident. While it's possible to copy a set of production data as a read-only database, the problem of not being able to reconstruct the incident after data updates persists. Summary of the Invention

[0003] In view of this, the purpose of this invention is to provide a method, apparatus, equipment, and storage medium for troubleshooting production work orders, which can locally recreate the accident scene, facilitate troubleshooting online problems, and is non-intrusive and low-cost. The specific solution is as follows:

[0004] Firstly, this application discloses a method for troubleshooting production work orders, including:

[0005] Skywalking is used to collect link node data of the calling chain nodes, and the link node data is stored in the ES search engine;

[0006] Based on the target identifier of the link node data corresponding to the target request, the information of the link node data in the ES search engine is obtained and cached locally to obtain local cache information;

[0007] Determine the method name corresponding to the method used to obtain external node data, and match the method name with the local cache information to determine the target link node data corresponding to the method name;

[0008] The target link node data is deserialized to obtain deserialized information. The context of the target link in the program is then restored based on the deserialized information, and troubleshooting is performed locally based on the context.

[0009] Optionally, before collecting the link node data of the calling chain node using Skywalking and storing the link node data in the ES search engine, the method further includes:

[0010] Determine whether to enable Dubbo mock functionality based on a distributed configuration center;

[0011] If so, the step of using Skywalking to collect the link node data of the calling chain node and storing the link node data in the ES search engine is triggered.

[0012] Optionally, the step of obtaining the information of the link node data in the ES search engine based on the target identifier of the link node data corresponding to the target request and caching it locally to obtain local cache information includes:

[0013] Using the interface provided by Skywalking, the information of the link node data in the ES search engine is obtained based on the target identifier of the link node data corresponding to the target request, and cached locally to obtain local cache information.

[0014] Optionally, before determining the method name corresponding to the method used to obtain external node data, the method further includes:

[0015] Based on Dubbo mock, the type of each interface to be debugged is determined according to the target request, the corresponding judgment result is obtained, and the target request is forwarded to the corresponding interface to be debugged according to the judgment result.

[0016] Optionally, forwarding the target request to the corresponding interface to be debugged based on the judgment result includes:

[0017] If the type of the interface to be debugged is HTTP, then the target request is directly forwarded to the HTTP interface;

[0018] If the type of the interface to be debugged is Dubbo, then the string-format input parameter data of the Dubbo interface is converted into Java object-format input parameter data, and then the target request is forwarded to the Dubbo interface.

[0019] Optionally, the step of deserializing the target link node data to obtain deserialized information includes:

[0020] If the target link node data is obtained based on Dubbo calls, then the target link node data is deserialized using the Dubbo extension point Inovker to convert the strings corresponding to the input and output parameters of the target link node data into Java objects, thereby obtaining the deserialized information.

[0021] If the target link node data is obtained from the database, then the MyBatis ResultSetHandler interceptor is used to deserialize the target link node data to convert the strings corresponding to the input and output parameters of the target link node data into Java objects, thereby obtaining the deserialized information.

[0022] Optionally, the step of restoring the context of the target link in the program based on the deserialized information and performing troubleshooting locally based on the context includes:

[0023] Using debug technology, the context of the target link in the program is restored based on the deserialized information, and the problem is investigated locally based on the context.

[0024] Secondly, this application discloses a production work order problem investigation device, comprising:

[0025] The node data storage module is used to collect the link node data of the calling chain node using Skywalking, and store the link node data in the ES search engine;

[0026] The local caching module is used to obtain information about the link node data in the ES search engine based on the target identifier of the link node data corresponding to the target request and cache it locally to obtain local cache information;

[0027] The matching module is used to determine the method name corresponding to the method used to obtain external node data, and to match the method name with the local cache information to determine the target link node data corresponding to the method name;

[0028] The problem-solving module is used to deserialize the target link node data to obtain deserialized information, restore the context of the target link in the program based on the deserialized information, and perform problem-solving locally based on the context.

[0029] Thirdly, this application discloses an electronic device, including:

[0030] Memory, used to store computer programs;

[0031] A processor is used to execute the computer program to implement the steps of the production work order problem investigation method disclosed above.

[0032] Fourthly, this application discloses a computer-readable storage medium for storing a computer program; wherein, when the computer program is executed by a processor, it implements the steps of the aforementioned production work order problem investigation method.

[0033] As described above, when troubleshooting, this application first uses Skywalking to collect link node data of the calling chain nodes and stores the link node data in the Elasticsearch search engine; based on the target identifier of the link node data corresponding to the target request, it obtains the information of the link node data in the Elasticsearch search engine and caches it locally to obtain local cache information; it determines the method name corresponding to the method used to obtain external node data, matches the method name with the local cache information to determine the target link node data corresponding to the method name; finally, it performs a deserialization operation on the target link node data to obtain deserialized information, and restores the context of the target link in the program based on the deserialized information, and performs troubleshooting locally based on the context. Therefore, this application can restore the context of the online link locally, helping developers restore the incident scene even when they are unfamiliar with the code logic, facilitating the troubleshooting of online problems, and achieving non-intrusive, low-cost use. It solves the problem that context variables are difficult to restore the incident scene for complex business logic during online work order troubleshooting. Attached Figure Description

[0034] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.

[0035] Figure 1 This application discloses a flowchart of a method for troubleshooting production work orders.

[0036] Figure 2 This is a schematic diagram illustrating the usage of an online work order screening tool disclosed in this application;

[0037] Figure 3 This is a schematic diagram of a data source used for data collection disclosed in this application;

[0038] Figure 4 This is a schematic diagram illustrating the principle of a production work order problem investigation method disclosed in this application;

[0039] Figure 5 This application discloses a flowchart of a specific method for troubleshooting production work orders.

[0040] Figure 6 A schematic diagram of a production work order problem investigation device provided in this application;

[0041] Figure 7 This application provides a structural diagram of an electronic device. Detailed Implementation

[0042] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0043] Currently, when dealing with work order issues, most developers rely on testers to reproduce the problem in the test environment and then debug and reconstruct the incident based on test data. However, if there is too much related data, testing often struggles to reproduce the issue, and developers typically have to manually analyze the code through call chains to find the problem—this is the most common approach. While some companies allow developers to directly connect to the production environment, which simplifies the process, it's not entirely feasible. First, does directly connecting to the production environment mean bypassing permission checks and gaining direct access to the online data? Second, data is updated in real-time; the desired outcome is to reconstruct the incident scene, not recreate it, and sometimes, due to data changes, it's even impossible to create an incident. While a copy of the production data can be used as a read-only database, the problem of not being able to reconstruct the incident scene after data updates persists. To address these issues, this application discloses a production work order problem investigation method that can reconstruct online incidents locally, facilitating the investigation of online problems.

[0044] See Figure 1 As shown in the figure, an embodiment of the present invention discloses a method for troubleshooting production work orders, including:

[0045] Step S11: Use Skywalking to collect the link node data of the calling chain node, and store the link node data in the ES search engine.

[0046] In this embodiment, before using Skywalking to collect the link node data of the calling link node, as follows: Figure 2As shown, Apollo (configuration center) is configured, and then the distributed configuration center determines whether to enable the Dubbo mock function. If so, the step of using Skywalking to collect the link node data of the call chain nodes and storing the link node data in the Elasticsearch search engine is triggered. Dubbo mock is an online ticketing tool that provides developers with a new way to debug online code. Developers only need to integrate it into their local projects in a non-intrusive way and configure the enable switch and Skywalking API (Application Programming Interface) call address in the configuration center as agreed. It should be noted that to reconstruct an online incident, it is first necessary to obtain all the data information of the call chain at the time of the incident. This is done by first using an APM component to collect data from each node of the call chain, specifically using Skywalking. Skywalking is an open-source APM (Application Performance Management) component that supports Spring Boot, Spring Cloud, and Dubbo integration. Skywalking is used to collect call chain node data, and the node data is stored in Elasticsearch. AMP was originally mentioned in a Google paper as Google Dapper. With the rise of microservice architecture, a single request often involves multiple services, making service performance monitoring and troubleshooting more complex. Therefore, tools are needed to help understand system behavior and analyze performance issues, enabling rapid location and resolution of problems when failures occur. This is where APM (Actions Per Minute Management) systems come in. Skywalking is a domestically developed open-source framework focused on link and performance monitoring, offering non-intrusive event tracking and a robust UI. Dubbo is a high-performance service framework open-sourced by Alibaba, enabling applications to implement service input and output through high-performance RPC and seamlessly integrating with the Spring framework. Spring Boot, a new framework provided by the Pivotal team, is designed to simplify the initial setup and development process of new Spring applications. It uses specific configuration methods, eliminating the need for developers to define boilerplate configurations. In this way, Spring Boot aims to become a leader in the rapidly growing field of rapid application development. Spring Cloud is an ordered collection of frameworks.It cleverly simplifies the development of distributed system infrastructure by leveraging the ease of development offered by Spring Boot. Features such as service discovery and registration, configuration centers, message buses, load balancing, circuit breakers, and data monitoring can all be started and deployed with a single click using the Spring Boot development style. Spring Cloud doesn't reinvent the wheel; it simply combines mature, proven service frameworks from various companies, re-encapsulating them in a Spring Boot style to shield developers from complex configurations and implementation details. Ultimately, it provides developers with a simple, easy-to-understand, easy-to-deploy, and easy-to-maintain distributed system development toolkit. Figure 3 As shown, Skywalking collects data returned by multiple data sources along a complete request chain from the call chain nodes.

[0047] Step S12: Based on the target identifier of the link node data corresponding to the target request, obtain the information of the link node data in the ES search engine and cache it locally to obtain local cache information.

[0048] In this embodiment, to reconstruct a request chain, the API provided by Skywalking is used to cache the data corresponding to the call chain locally. The Skywalking interface is then used to retrieve the information of the link node data in the Elasticsearch search engine based on the target identifier of the link node data corresponding to the target request, and then cached locally. The purpose of caching is to avoid retrieving data from the online Elasticsearch every time. Retrieving link data from the online system itself is a waste of online resources, so storing the call chain data locally in advance reduces interaction with online resources. Figure 4 As shown, obtain tk (ticket, a unique identifier of a request link generated by SkyWalking), and use ticket(tk) to query the link and the request node information on the link, and obtain request information such as request input and output parameters, request time, request type, initiator host, etc.

[0049] Step S13: Determine the method name corresponding to the method used to obtain external node data, and match the method name with the local cache information to determine the target link node data corresponding to the method name.

[0050] In this embodiment, before determining the method name corresponding to the method used to obtain external node data, the method further includes: determining the type of each interface to be debugged based on the target request using Dubbo mock, obtaining the corresponding determination result, and forwarding the target request to the corresponding interface to be debugged according to the determination result. Since HTTP requests can be directly forwarded to locally exposed HTTP interfaces, but services exposed by Dubbo interfaces cannot be directly called through forwarding requests, a JDK reflection method is used to first obtain the fully qualified class name and method name, and then convert the interface input parameters from string form to object form before the Dubbo interface can be called. Therefore, if the type of the interface to be debugged is an HTTP class, the target request is directly forwarded to the HTTP interface; if the type of the interface to be debugged is a Dubbo class, the string input parameter data of the Dubbo interface is converted into Java object input parameter data, and then the target request is forwarded to the Dubbo interface. Subsequently, during the data flow process when an interface is executed, if data needs to be obtained from the outside, a method will inevitably be executed. After obtaining the type and name of this method through the code, the node names are matched with the node information of the call chain node list collected from Skywalking. The node information of the current node in the previous call chain is then filtered out. In this way, the target link node data corresponding to the method name is determined, which determines the input and output parameters of the method when it is executed in the online call chain.

[0051] Step S14: Deserialize the target link node data to obtain deserialized information, restore the context of the target link in the program based on the deserialized information, and troubleshoot the problem locally based on the context.

[0052] In this embodiment, if the target link node data is obtained based on a Dubbo call, the Dubbo extension point Inovker is used to deserialize the target link node data, converting the strings corresponding to the input and output parameters of the target link node data into Java objects to obtain the deserialized information. If the target link node data is obtained using a database, the MyBatis ResultSetHandler interceptor is used to deserialize the target link node data, converting the strings corresponding to the input and output parameters of the target link node data into Java objects to obtain the deserialized information. It should be noted that data sources include, but are not limited to, Dubbo interfaces or MyBatis database calls. During a single request, many nodes retrieve data. For example, if a product details interface needs to be called, product data needs to be retrieved from downstream via Dubbo. Some merchant data may be cached in Redis, in which case it is retrieved from Redis. The project may also maintain product configuration information, in which case it retrieves database data from MySQL. Other projects may use Elasticsearch, etc. If the framework lacks readily available extension points, you can implement AOP (Aspect-Oriented Programming) yourself to replace the data that should have been obtained from external data sources with node data collected by Skywalking. Using debugging techniques, you can reconstruct the target link's context within the program based on the deserialized information and troubleshoot locally using that context. This allows you to restore the data from the call chain locally for debugging, making it as simple as debugging data in a test environment. In the software industry, AOP is a technique that achieves unified maintenance of program functionality through pre-compilation and runtime dynamic proxies. AOP is a continuation of OOP, a hot topic in software development, an important component of the Spring framework, and a derivative paradigm of functional programming. AOP can isolate different parts of business logic, thereby reducing coupling between them, improving program reusability, and increasing development efficiency.

[0053] As described above, when troubleshooting, this application first uses Skywalking to collect link node data of the calling chain nodes and stores the link node data in the Elasticsearch search engine; based on the target identifier of the link node data corresponding to the target request, it obtains the information of the link node data in the Elasticsearch search engine and caches it locally to obtain local cache information; it determines the method name corresponding to the method used to obtain external node data, matches the method name with the local cache information to determine the target link node data corresponding to the method name; finally, it performs a deserialization operation on the target link node data to obtain deserialized information, and restores the context of the target link in the program based on the deserialized information, and performs troubleshooting locally based on the context. Therefore, this application can restore the context of the online link locally, helping developers restore the incident scene even when they are unfamiliar with the code logic, facilitating the troubleshooting of online problems, and achieving non-intrusive, low-cost use. It solves the problem that context variables are difficult to restore the incident scene for complex business logic during online work order troubleshooting.

[0054] See Figure 5 As shown, this embodiment of the invention discloses a specific method for troubleshooting production work orders, including:

[0055] If developers want to debug online call chains, after integration and project startup, they can use the API provided by Skywalking to cache the corresponding call chain data locally. Then, using an interface testing tool such as Postman, they can input the debugging address, send a request for local debugging, and include the traceId as an input parameter. Dubbo mock can automatically route the request to the corresponding interface, supporting both HTTP and Dubbo interfaces. Dubbo mock will determine whether the interface type to be debugged is an HTTP or Dubbo remote call based on the request parameters, and then forward the request to the HTTP or Dubbo interface itself. Since HTTP requests can be directly forwarded to locally exposed HTTP interfaces, but Dubbo interface services cannot be directly called through request forwarding, JDK reflection is used to first obtain the fully qualified class name and method name, and then convert the interface input parameters from string form to object form before the Dubbo interface can be called. Since HTTP requests can be directly forwarded to locally exposed HTTP interfaces, but Dubbo interfaces cannot be directly invoked through forwarded requests, the fully qualified class name and method name must be obtained first through JDK reflection. Then, the interface parameters must be converted from string to object form before the Dubbo interface can be invoked.

[0056] Next, external data is acquired through data acquisition nodes. Since an interface is executed, during data flow, if external data is needed, a method will inevitably be executed. After obtaining the method type and name through the code, the node names are matched against the node information in the call chain node list collected from Skywalking. This filters out the node information of the current node in a previous call chain. The input and output parameter strings are obtained from the call chain node information. After data filtering and matching, the corresponding method name and the class information of the input and output parameter objects are also obtained. Reflection is then used to complete the deserialization process of converting the string into an object. In this way, when passing through each external data acquisition node in the chain, the online data is mocked locally to restore the request context, allowing developers to debug code locally. This provides a more intuitive way to troubleshoot online work orders.

[0057] As can be seen from the above, this application can restore the context of the online link locally, helping developers to restore the incident scene when they are not familiar with the code logic, which facilitates the investigation of online problems. It is also non-intrusive and low-cost to use, solving the problem that it is difficult to restore the incident scene for complex business logic and context variables in the process of online work order investigation.

[0058] See Figure 6 As shown, an embodiment of the present invention discloses a production work order problem investigation device, comprising:

[0059] Node data storage module 11 is used to collect link node data of calling chain nodes using Skywalking, and store the link node data in the ES search engine;

[0060] Local caching module 12 is used to obtain information of the link node data in the ES search engine based on the target identifier of the link node data corresponding to the target request and cache it locally to obtain local cache information;

[0061] Matching module 13 is used to determine the method name corresponding to the method used to obtain external node data, and match the method name with the local cache information to determine the target link node data corresponding to the method name;

[0062] The problem investigation module 14 is used to deserialize the target link node data to obtain deserialized information, restore the context of the target link in the program based on the deserialized information, and perform problem investigation locally based on the context.

[0063] As described above, when troubleshooting, this application first uses Skywalking to collect link node data of the calling chain nodes and stores the link node data in the Elasticsearch search engine; based on the target identifier of the link node data corresponding to the target request, it obtains the information of the link node data in the Elasticsearch search engine and caches it locally to obtain local cache information; it determines the method name corresponding to the method used to obtain external node data, matches the method name with the local cache information to determine the target link node data corresponding to the method name; finally, it performs a deserialization operation on the target link node data to obtain deserialized information, and restores the context of the target link in the program based on the deserialized information, and performs troubleshooting locally based on the context. Therefore, this application can restore the context of the online link locally, helping developers restore the incident scene even when they are unfamiliar with the code logic, facilitating the troubleshooting of online problems, and achieving non-intrusive, low-cost use. It solves the problem that context variables are difficult to restore the incident scene for complex business logic during online work order troubleshooting.

[0064] In some specific embodiments, the node data storage module 11 may further include:

[0065] The function enable judgment unit is used to determine whether to enable the Dubbo mock function based on the distributed configuration center.

[0066] A triggering unit is configured to, if so, trigger the step of using Skywalking to collect the link node data of the calling chain node and storing the link node data in the ES search engine.

[0067] In some specific embodiments, the local cache module 12 may include:

[0068] The data information acquisition unit is used to obtain the information of the link node data in the ES search engine based on the target identifier of the link node data corresponding to the target request using the interface provided by Skywalking, and cache it locally to obtain local cache information.

[0069] In some specific embodiments, the matching module 13 may further include:

[0070] The request forwarding unit is used to determine the type of each interface to be debugged based on the target request using Dubbo mock, obtain the corresponding judgment result, and forward the target request to the corresponding interface to be debugged based on the judgment result.

[0071] In some specific embodiments, the request forwarding unit may further include:

[0072] The first request forwarding subunit is used to directly forward the target request to the HTTP interface if the type of the interface to be debugged is HTTP.

[0073] The second request forwarding subunit is used to convert the string-format input parameter data of the Dubbo interface into Java object-format input parameter data if the type of the interface to be debugged is Dubbo, and then forward the target request to the Dubbo interface.

[0074] In some specific embodiments, the problem-solving module 14 may include:

[0075] The deserialization unit is used to perform deserialization operations on the target link node data using the Dubbo extension point Inovker if the target link node data is obtained based on a Dubbo call, so as to convert the strings corresponding to the input and output parameters of the target link node data into Java objects and obtain the deserialized information; if the target link node data is obtained using a database, the MyBatis ResultSetHandler interceptor is used to perform deserialization operations on the target link node data, so as to convert the strings corresponding to the input and output parameters of the target link node data into Java objects and obtain the deserialized information.

[0076] The problem-solving unit is used to use debug technology to restore the context of the target link in the program based on the deserialized information, and to perform problem-solving locally based on the context.

[0077] Furthermore, embodiments of this application also disclose an electronic device, Figure 7 This is a structural diagram of an electronic device 20 according to an exemplary embodiment. The content of the diagram should not be construed as limiting the scope of this application.

[0078] Figure 7 This is a schematic diagram of the structure of an electronic device 20 provided in an embodiment of this application. Specifically, the electronic device 20 may include: at least one processor 21, at least one memory 22, a power supply 23, a communication interface 24, an input / output interface 25, and a communication bus 26. The memory 22 stores a computer program, which is loaded and executed by the processor 21 to implement the relevant steps in the production work order problem investigation method disclosed in any of the foregoing embodiments. Alternatively, the electronic device 20 in this embodiment may specifically be a computer.

[0079] In this embodiment, the power supply 23 is used to provide operating voltage for each hardware device on the electronic device 20; the communication interface 24 can create a data transmission channel between the electronic device 20 and external devices, and the communication protocol it follows can be any communication protocol applicable to the technical solution of this application, and is not specifically limited here; the input / output interface 25 is used to acquire external input data or output data to the outside world, and its specific interface type can be selected according to specific application needs, and is not specifically limited here.

[0080] In addition, the memory 22, as a carrier for resource storage, can be a read-only memory, random access memory, disk or optical disk, etc. The resources stored thereon can include operating system 221, computer program 222, etc., and the storage method can be temporary storage or permanent storage.

[0081] The operating system 221 is used to manage and control the various hardware devices on the electronic device 20 and the computer program 222, which may be Windows Server, Netware, Unix, Linux, etc. In addition to including a computer program capable of performing the production work order problem-solving method executed by the electronic device 20 as disclosed in any of the foregoing embodiments, the computer program 222 may further include computer programs capable of performing other specific tasks.

[0082] Furthermore, this application also discloses a computer-readable storage medium for storing a computer program; wherein, when the computer program is executed by a processor, it implements the aforementioned production work order problem-solving method. The specific steps of this method can be found in the corresponding content disclosed in the foregoing embodiments, and will not be repeated here.

[0083] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple; relevant parts can be referred to in the method section.

[0084] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0085] The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein can be implemented directly by hardware, a software module executed by a processor, or a combination of both. The software module can be located in random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art.

[0086] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0087] The technical solutions provided in this application have been described in detail above. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only for the purpose of helping to understand the methods and core ideas of this application. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this application. Therefore, the content of this specification should not be construed as a limitation of this application.

Claims

1. A method for troubleshooting production work orders, characterized in that, include: Skywalking is used to collect link node data of the calling chain nodes, and the link node data is stored in the ES search engine; Based on the target identifier of the link node data corresponding to the target request, the information of the link node data in the ES search engine is obtained and cached locally to obtain local cache information; Determine the method name corresponding to the method used to obtain external node data, and match the method name with the local cache information to determine the target link node data corresponding to the method name; The target link node data is deserialized to obtain deserialized information. The context of the target link in the program is then restored based on the deserialized information, and the problem is investigated locally based on the context. The step of deserializing the target link node data to obtain deserialized information includes: If the target link node data is obtained based on Dubbo calls, then the target link node data is deserialized using the Dubbo extension point Inovker to convert the strings corresponding to the input and output parameters of the target link node data into Java objects, thereby obtaining the deserialized information. If the target link node data is obtained using a database, then the MyBatis ResultSetHandler interceptor is used to deserialize the target link node data to convert the strings corresponding to the input and output parameters of the target link node data into Java objects, thereby obtaining the deserialized information. The process of restoring the target link's context within the program based on the deserialized information, and then performing local troubleshooting based on that context, includes: Using debug technology, the context of the target link in the program is restored based on the deserialized information, and the problem is investigated locally based on the context.

2. The production work order problem investigation method according to claim 1, characterized in that, Before using Skywalking to collect and call chain node data and storing the chain node data in the ES search engine, the process also includes: Determine whether to enable Dubbo mock functionality based on a distributed configuration center; If so, the step of using Skywalking to collect the link node data of the calling chain node and storing the link node data in the ES search engine is triggered.

3. The production work order problem investigation method according to claim 1, characterized in that, The method of obtaining information about the link node data in the ES search engine based on the target identifier of the link node data corresponding to the target request and caching it locally to obtain local cache information includes: Using the interface provided by Skywalking, the information of the link node data in the ES search engine is obtained based on the target identifier of the link node data corresponding to the target request, and cached locally to obtain local cache information.

4. The production work order problem investigation method according to claim 1, characterized in that, Before determining the method name corresponding to the method used to obtain external node data, the method further includes: Based on Dubbo mock, the type of each interface to be debugged is determined according to the target request, the corresponding judgment result is obtained, and the target request is forwarded to the corresponding interface to be debugged according to the judgment result.

5. The production work order problem investigation method according to claim 4, characterized in that, The step of forwarding the target request to the corresponding interface to be debugged based on the judgment result includes: If the type of the interface to be debugged is HTTP, then the target request is directly forwarded to the HTTP interface; If the type of the interface to be debugged is Dubbo, then the string-format input parameter data of the Dubbo interface is converted into Java object-format input parameter data, and then the target request is forwarded to the Dubbo interface.

6. A production work order problem investigation device, characterized in that, include: The node data storage module is used to collect the link node data of the calling chain node using Skywalking, and store the link node data in the ES search engine; The local caching module is used to obtain information about the link node data in the ES search engine based on the target identifier of the link node data corresponding to the target request and cache it locally to obtain local cache information; The matching module is used to determine the method name corresponding to the method used to obtain external node data, and to match the method name with the local cache information to determine the target link node data corresponding to the method name; The problem-solving module is used to deserialize the target link node data to obtain deserialized information, restore the context of the target link in the program based on the deserialized information, and perform problem-solving locally based on the context. The problem-solving module is used to perform deserialization on the target link node data using the Dubbo extension point Inovker if the target link node data is obtained based on Dubbo calls, so as to convert the strings corresponding to the input and output parameters of the target link node data into Java objects and obtain the deserialized information. If the target link node data is obtained using a database, then the MyBatis ResultSetHandler interceptor is used to deserialize the target link node data to convert the strings corresponding to the input and output parameters of the target link node data into Java objects, thereby obtaining the deserialized information. The problem-solving module is used to use debug technology to restore the context of the target link in the program based on the deserialized information, and to perform problem-solving locally based on the context.

7. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor is configured to execute the computer program to implement the steps of the production work order problem investigation method as described in any one of claims 1 to 5.

8. A computer-readable storage medium, characterized in that, Used to store computer programs; wherein, when the computer programs are executed by a processor, they implement the steps of the production work order problem investigation method as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Breakpoint continuation method and device for arrangement service, storage medium and electronic equipment

    CN110673936A

  • Problem positioning method and device

    CN112433991A