CN116756044B - RPC remote debugging method, device and application based on data link tracking - Google Patents

RPC remote debugging method, device and application based on data link tracking Download PDF

Info

Publication number
CN116756044B
CN116756044B CN202311007892.3A CN202311007892A CN116756044B CN 116756044 B CN116756044 B CN 116756044B CN 202311007892 A CN202311007892 A CN 202311007892A CN 116756044 B CN116756044 B CN 116756044B
Authority
CN
China
Prior art keywords
rpc
node
debugging
link
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311007892.3A
Other languages
Chinese (zh)
Other versions
CN116756044A (en
Inventor
王忠泉
请求不公布姓名
刘剑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Roledith Technology Co ltd
Original Assignee
Hangzhou Roledith Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Roledith Technology Co ltd filed Critical Hangzhou Roledith Technology Co ltd
Priority to CN202311007892.3A priority Critical patent/CN116756044B/en
Publication of CN116756044A publication Critical patent/CN116756044A/en
Application granted granted Critical
Publication of CN116756044B publication Critical patent/CN116756044B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The application provides an RPC remote debugging method, device and application based on data link tracking, which comprises the following steps: the data generated by each node execution in each RPC link is saved to the database in the form of data blocks using RPC calls integrating the Dubbo service. And analyzing the execution state of the RPC link through data in the database to obtain an execution state of the RPC link state diagram display node. After detecting the problem RPC node, a corresponding debug node is constructed to replace it. And testing the debugging node through the data of the problem RPC node and acquiring a test result. And sending a debugging signal to an interface service of the debugging node, remotely debugging the debugging node by connecting the debugging signal with a debugging person through a socket, and clearing the debugging node and marking and dyeing the data after the debugging signal is finished. The scheme can directly carry out remote debugging on the problem node without presetting an environment.

Description

RPC remote debugging method, device and application based on data link tracking
Technical Field
The application relates to the field of computer communication, in particular to an RPC remote debugging method, device and application based on data link tracking.
Background
The RPC (Remote Procedure CallProtocol, remote call protocol) is a computer communication protocol that allows a program running on one computer to call another program in an address space without the need for additional programming of the remote call.
Dubbo is a micro-service development framework, provides RPC communication and micro-service management, has built-in full-link tracking capability, and achieves analysis and visual display of full-link tracking data by exporting the tracking data to a Zipkin, skywalking system.
At present, when an RPC interface is tested, a whole set of test simulation environment is often required to be built locally according to the cluster environment, the network, the interface configuration file, the simulation data and the like where the interface is located, and then the test is performed in a handwriting code mode, so that the usability of the tested interface is obtained, a great deal of time is required when the interface is tested, the maintenance is inconvenient, and the test can only be performed by building the test environment locally.
Disclosure of Invention
The embodiment of the application provides an RPC remote debugging method, an RPC remote debugging device and an RPC remote debugging application based on data link tracking, which can replace a problem RPC interface by constructing a debugging interface, and can carry out remote debugging by connecting a developer with the remote debugging interface without carrying out debugging in a local preset environment, thereby reducing the debugging time.
In a first aspect, an embodiment of the present application provides an RPC remote debugging method based on data link tracking, where the method includes:
calling the RPC integrating the Dubbo service, storing data generated in the execution process of each RPC node in each RPC link into a database in the form of data blocks, and analyzing the execution state of each RPC link in the database to obtain an RPC link state diagram, wherein the RPC link diagram is used for showing the execution state of each RPC node;
acquiring a problem RPC node with a problem through an RPC link state chart, and constructing a corresponding debugging node according to basic information of the problem RPC node to replace the problem RPC node;
testing the corresponding debugging node through a data block obtained by the problem RPC node in the execution process to obtain a test result;
and sending a debugging signal to an interface service of the debugging node, connecting the debugging node with a debugging person after receiving the debugging signal, configuring remote debugging to carry out remote debugging according to a test result, clearing the debugging node after the debugging of the debugging person is finished, marking all data generated by the debugging node, and dyeing each data block in the same RPC link.
In a second aspect, an embodiment of the present application provides an RPC remote debugging device based on data link tracking, including:
and an analysis module: calling the RPC integrating the Dubbo service, storing data generated in the execution process of each RPC node in each RPC link into a database in the form of data blocks, and analyzing the execution state of each RPC link in the database to obtain an RPC link state diagram, wherein the RPC link diagram is used for showing the execution state of each RPC node;
and (3) a replacement module: acquiring a problem RPC node with a problem through an RPC link state chart, and constructing a corresponding debugging node according to basic information of the problem RPC node to replace the problem RPC node;
and a testing module: testing the corresponding debugging node through a data block obtained by the problem RPC node in the execution process to obtain a test result;
and a debugging module: and sending a debugging signal to an interface service of the debugging node, connecting the debugging node with a debugging person after receiving the debugging signal, configuring remote debugging to carry out remote debugging according to a test result, clearing the debugging node after the debugging of the debugging person is finished, marking data generated by the debugging node, and dyeing each data block in the same RPC link.
In a third aspect, an embodiment of the present application provides an electronic device, including a memory having a computer program stored therein, and a processor configured to run the computer program to perform a remote debugging method of RPC based on data link tracking.
In a fourth aspect, embodiments of the present application provide a readable storage medium having a computer program stored therein, the computer program comprising program code for controlling a process to perform a process, the process comprising an RPC remote debugging method based on data link tracking.
The main contributions and innovation points of the application are as follows:
the embodiment of the application rapidly locates the position of each RPC node in the RPC link and the connection relation with other RPC nodes by setting up a traceID and a span ID for each RPC node; the RPC problem interface is replaced by constructing the same debugging interface, the follow-up link node information exists in the debugging interface, the follow-up test is ensured to be consistent with the RPC node direction executed in abnormal conditions, and the debugging interface is constructed without additionally presetting an environment to simulate a formal environment, so that the workload of a developer is reduced; the scheme does not depend on a third-party graphical interface, automatically realizes the least dependence and flexible adaptation of the data transmission of the filter, provides a plurality of test modes and can be selected according to the needs; the scheme can be 4, the test data aiming at the RPC interface can be directly obtained by directly searching the data block through the traceId and the span Id, a developer is not required to manually process the test data to recover the test scene, and the test workload is reduced; according to the scheme, the remote debugging tool is connected with the debugging interface for remote debugging, and the data blocks under the whole RPC link are dyed according to debugging data so as to facilitate subsequent testing and data retrieval.
The details of one or more embodiments of the application are set forth in the accompanying drawings and the description below to provide a more thorough understanding of the other features, objects, and advantages of the application.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this specification, illustrate embodiments of the application and together with the description serve to explain the application and do not constitute a limitation on the application. In the drawings:
FIG. 1 is a flow chart of an RPC remote debugging method based on data link tracking according to an embodiment of the application;
FIG. 2 is a schematic diagram of an RPC link trace test according to an embodiment of the application;
FIG. 3 is a flow chart of remote debugging according to an embodiment of the present application;
FIG. 4 is a block diagram of an RPC remote debugging device based on data link tracking according to an embodiment of the application;
fig. 5 is a schematic diagram of a hardware structure of an electronic device according to an embodiment of the application.
Detailed Description
Reference will now be made in detail to exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, the same numbers in different drawings refer to the same or similar elements, unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all implementations consistent with one or more embodiments of the present specification. Rather, they are merely examples of apparatus and methods consistent with aspects of one or more embodiments of the present description as detailed in the accompanying claims.
It should be noted that: in other embodiments, the steps of the corresponding method are not necessarily performed in the order shown and described in this specification. In some other embodiments, the method may include more or fewer steps than described in this specification. Furthermore, individual steps described in this specification, in other embodiments, may be described as being split into multiple steps; while various steps described in this specification may be combined into a single step in other embodiments.
Example 1
The embodiment of the application provides an RPC remote debugging method based on data link tracking, and specifically referring to FIG. 1, the method comprises the following steps:
calling the RPC integrating the Dubbo service, storing data generated in the execution process of each RPC node in each RPC link into a database in the form of data blocks, and analyzing the execution state of each RPC link in the database to obtain an RPC link state diagram, wherein the RPC link diagram is used for showing the execution state of each RPC node;
acquiring a problem RPC node with a problem through an RPC link state chart, and constructing a corresponding debugging node according to basic information of the problem RPC node to replace the problem RPC node;
testing the corresponding debugging node through a data block obtained by the problem RPC node in the execution process to obtain a test result;
and sending a debugging signal to an interface service of the debugging node, connecting the debugging node with a debugging person after receiving the debugging signal, configuring remote debugging to carry out remote debugging according to a test result, clearing the debugging node [ Li 1] after the debugging of the debugging person is finished, marking data generated by the debugging node, and dyeing each data block in the same RPC link.
In this scheme, the first RPC node in each RPC link generates a unique traceID to mark the entire RPC link, each RPC node has a unique span id and parentID, spanID to mark the own RPC node, and the tracentid is used to mark the last RPC node.
Specifically, the scheme can conveniently and quickly locate the accurate position of the RPC node and the link relation thereof in the subsequent testing or debugging process by constructing a single ID for each RPC link and each RPC node.
Specifically, traceID, spanID and pantid are maintained and generated after the RPC node receives the RPC request, and the spanID and pantid are generated independently by a corresponding pre-interceptor of the RPC node, where the pre-interceptor is a function of the RPC that allows the developer to pre-process, modify, or verify the RPC request before sending it to the target server.
Specifically, the scheme can quickly locate the position of each RPC node and the connection relation of the RPC node in the whole link through the traceID and the span ID of each RPC node, thereby reducing service invasion.
Further, after the current RPC node processes the request, a timestamp is generated and responds to the last RPC node through the pantID, so that a whole RPC link is associated to complete the response of the whole request.
In the step of storing the data generated in the execution process of each RPC node in each RPC link into a database in the form of a data block, the data generated in the execution process of each RPC node comprises the data generated in the operation process of each RPC node and the data generated in the interaction process of each RPC node and upper and lower nodes, the data generated in the execution process of each RPC node is integrated into the data block, the data block is provided with the span ID of the corresponding RPC node, all the data blocks are firstly transmitted to a buffer module, and then the buffer module groups the data blocks according to the span ID and persists the data blocks into the database.
Specifically, the scheme can verify the data integrity by calculating the MD5 of each data packet, and sequentially codes and puts the data packets into the buffer module by dividing the data packets into a certain number of data slices according to the set size.
Specifically, all link information under each RPC link is found out according to the unique traceID of each RPC link, and a tree link is formed by combining links according to the span ID and the pantID of each RPC node, wherein each RPC node in each tree link is provided with an execution data packet so as to be persisted into a database according to the span ID, and the database contains the repuceID of each RPC link, spanID, parenID, RPC node redundant information of each RPC node, the file position of the RPC node data packet and the like.
The redundant information of the RPC node is the parenID of the node transmitted along with the whole RPC link, the consistency of the request in the whole RPC link can be ensured through the parenID transmitted along with the whole RPC link, and the file position of the data packet of the RPC node is the storage position of each data packet in a database, so that the subsequent searching is convenient.
In the step of analyzing the execution state of each RPC link in a database to obtain an RPC link state diagram, the scheme obtains the RPC link state diagram by judging whether the whole RPC link can be executed, whether the execution time of the RPC link is overtime, whether the execution abnormality of a called RPC node can cause the abnormal state of a calling RPC node, whether other RPC nodes can be normally executed when the abnormal RPC node is recovered to be normal, and the like, and the RPC link state diagram can more intuitively display the robustness of the RPC node.
In the step of "constructing a corresponding debug node according to the basic information of the problem RPC node to replace the problem RPC node", the debug node has the subsequent RPC link node information.
Specifically, the debugging node is provided with subsequent RPC link node information in addition to the configuration information of the corresponding problem node, the subsequent RPC link node information changes original automatic allocation into a directional node request when the backward link is executed, so that the subsequent test is consistent with the direction of the RPC node executed when the backward link is abnormal, the debugging node carries out test marking on test data during the test, and the test marking participates in the transmission of the subsequent link node.
Specifically, each RPC link is split into a plurality of RPC nodes according to the span ID in sequence, each RPC node carries a corresponding data packet, the nodes with abnormal nodes and links with incomplete links are marked, and the marked links or nodes are screened to obtain the problem node.
Specifically, as shown in fig. 2, the process of performing the RPC link tracking test is that after the problem node is obtained through the RPC link state diagram, the specific problem existing in the problem node is not known, so that the specific problem is obtained by inserting a debug node identical to the problem node and performing the test by a professional tester.
In the step of testing the corresponding debugging node through the data block obtained by the problem RPC node in the execution process to obtain a test result, a terminal telnet command enters a dubbo console to test according to the traceID in each data block and the corresponding RPC node information to obtain the test result, wherein the test result is the problem reason of each problem RPC node.
Specifically, the RPC link chart is combined according to the test condition to obtain the test result.
Specifically, the scheme can select a proper test method according to the requirement, and can also automatically realize the least dependence and flexible adaptation of the data transmission of the filter.
Specifically, the scheme does not need to simulate a formal environment to test the RPC node in addition to a prefabricated environment, a developer can directly and remotely call the call interface to test and debug, test data aiming at the RPC node can be directly obtained by directly searching data blocks through the traceId and the span Id, the developer is not required to manually process the test data to recover a test scene, and the test workload is reduced.
In the step of dyeing each data block in the same RPC link after marking data generated by a debugging node, the data generated by the debugging node comprises a test result and a debugging result, the test result and the debugging result are marked with dyeing marks, and the test result in the debugging node and the data block to which the debugging result flows are marked with the same dyeing marks in the data circulation process to finish dyeing.
Specifically, the debugging method adopted by the scheme is breakpoint debugging, and the breakpoint debugging is to set a breakpoint in the debugging process, so that the program can be stopped when the breakpoint is debugged or an error part is debugged, and modification and analysis can be better carried out.
Specifically, as shown in fig. 3, a flowchart of remote debugging in the scheme is that a complete tree-shaped RPC link may include a plurality of dyeing links, each dyeing link represents an independent test node call, and the dyeing mark may be used for test data retrieval and data flow visualization subsequently.
Example two
Based on the same conception, referring to fig. 4, the application also provides an RPC remote debugging device based on data link tracking, comprising:
and an analysis module: calling the RPC integrating the Dubbo service, storing data generated in the execution process of each RPC node in each RPC link into a database in the form of data blocks, and analyzing the execution state of each RPC link in the database to obtain an RPC link state diagram, wherein the RPC link diagram is used for showing the execution state of each RPC node;
and (3) a replacement module: acquiring a problem RPC node with a problem through an RPC link state chart, and constructing a corresponding debugging node according to basic information of the problem RPC node to replace the problem RPC node;
and a testing module: testing the corresponding debugging node through a data block obtained by the problem RPC node in the execution process to obtain a test result;
and a debugging module: and sending a debugging signal to an interface service of the debugging node, connecting the debugging node with a debugging person after receiving the debugging signal, configuring remote debugging to carry out remote debugging according to a test result, clearing the debugging node after the debugging of the debugging person is finished, marking data generated by the debugging node, and dyeing each data block in the same RPC link.
Example III
This embodiment also provides an electronic device, referring to fig. 5, comprising a memory 404 and a processor 402, the memory 404 having stored therein a computer program, the processor 402 being arranged to run the computer program to perform the steps of any of the method embodiments described above.
In particular, the processor 402 may include a Central Processing Unit (CPU), or an Application Specific Integrated Circuit (ASIC), or may be configured as one or more integrated circuits that implement embodiments of the present application.
The memory 404 may include, among other things, mass storage 404 for data or instructions. By way of example, and not limitation, memory 404 may comprise a Hard Disk Drive (HDD), floppy disk drive, solid State Drive (SSD), flash memory, optical disk, magneto-optical disk, tape, or Universal Serial Bus (USB) drive, or a combination of two or more of these. Memory 404 may include removable or non-removable (or fixed) media, where appropriate. Memory 404 may be internal or external to the data processing apparatus, where appropriate. In a particular embodiment, the memory 404 is a Non-Volatile (Non-Volatile) memory. In particular embodiments, memory 404 includes Read-only memory (ROM) and Random Access Memory (RAM). Where appropriate, the ROM may be a mask-programmed ROM, a Programmable ROM (PROM), an Erasable PROM (EPROM), an Electrically Erasable PROM (EEPROM), an electrically rewritable ROM (EAROM) or FLASH memory (FLASH) or a combination of two or more of these. The RAM may be Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM) where appropriate, and the DRAM may be fast page mode dynamic random access memory 404 (FPMDRAM), extended Data Output Dynamic Random Access Memory (EDODRAM), synchronous Dynamic Random Access Memory (SDRAM), or the like.
Memory 404 may be used to store or cache various data files that need to be processed and/or used for communication, as well as possible computer program instructions for execution by processor 402.
Processor 402 implements any of the data link trace based RPC remote debugging methods of the above embodiments by reading and executing computer program instructions stored in memory 404.
Optionally, the electronic apparatus may further include a transmission device 406 and an input/output device 408, where the transmission device 406 is connected to the processor 402 and the input/output device 408 is connected to the processor 402.
The transmission device 406 may be used to receive or transmit data via a network. Specific examples of the network described above may include a wired or wireless network provided by a communication provider of the electronic device. In one example, the transmission device includes a network adapter (Network Interface Controller, simply referred to as NIC) that can connect to other network devices through the base station to communicate with the internet. In one example, the transmission device 406 may be a Radio Frequency (RF) module, which is configured to communicate with the internet wirelessly.
The input-output device 408 is used to input or output information. In this embodiment, the input information may be data, test results, etc. generated by the RPC node executing, and the output information may be remote debugging results, etc.
Alternatively, in the present embodiment, the above-mentioned processor 402 may be configured to execute the following steps by a computer program:
s101, calling an RPC integrating the Dubbo service, storing data generated in the execution process of each RPC node in each RPC link into a database in the form of a data block, and analyzing the execution state of each RPC link in the database to obtain an RPC link state diagram, wherein the RPC link diagram is used for showing the execution state of each RPC node;
s102, acquiring a problem RPC node with a problem through an RPC link state diagram, and constructing a corresponding debugging node according to basic information of the problem RPC node to replace the problem RPC node;
s103, testing the corresponding debugging node through a data block obtained by the problem RPC node in the execution process to obtain a test result;
and S104, sending a debugging signal to an interface service of the debugging node, connecting the debugging node with a debugging person after receiving the debugging signal, configuring remote debugging to carry out remote debugging according to a test result, clearing the debugging node after the debugging of the debugging person is finished, marking all data generated by the debugging node, and dyeing each data block in the same RPC link.
It should be noted that, specific examples in this embodiment may refer to examples described in the foregoing embodiments and alternative implementations, and this embodiment is not repeated herein.
In general, the various embodiments may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. Some aspects of the application may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device, although the application is not limited thereto. While various aspects of the application may be illustrated and described as block diagrams, flow charts, or using some other pictorial representation, it is well understood that these blocks, apparatus, systems, techniques or methods described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.
Embodiments of the application may be implemented by computer software executable by a data processor of a mobile device, such as in a processor entity, or by hardware, or by a combination of software and hardware. Computer software or programs (also referred to as program products) including software routines, applets, and/or macros can be stored in any apparatus-readable data storage medium and they include program instructions for performing particular tasks. The computer program product may include one or more computer-executable components configured to perform embodiments when the program is run. The one or more computer-executable components may be at least one software code or a portion thereof. In this regard, it should also be noted that any block of the logic flow as in fig. 5 may represent a program step, or interconnected logic circuits, blocks and functions, or a combination of program steps and logic circuits, blocks and functions. The software may be stored on a physical medium such as a memory chip or memory block implemented within a processor, a magnetic medium such as a hard disk or floppy disk, and an optical medium such as, for example, a DVD and its data variants, a CD, etc. The physical medium is a non-transitory medium.
It should be understood by those skilled in the art that the technical features of the above embodiments may be combined in any manner, and for brevity, all of the possible combinations of the technical features of the above embodiments are not described, however, they should be considered as being within the scope of the description provided herein, as long as there is no contradiction between the combinations of the technical features.
The foregoing examples illustrate only a few embodiments of the application, which are described in greater detail and are not to be construed as limiting the scope of the application. It should be noted that it will be apparent to those skilled in the art that several variations and modifications can be made without departing from the spirit of the application, which are all within the scope of the application. Accordingly, the scope of the application should be assessed as that of the appended claims.

Claims (9)

1. The RPC remote debugging method based on data link tracking is characterized by comprising the following steps:
calling an RPC integrating the Dubbo service, storing data generated in the execution process of each RPC node in each RPC link into a database in the form of a data block, wherein the data generated in the execution process of each RPC node comprises data generated in the operation process of each RPC node and data generated in the interaction process of each RPC node and upper and lower nodes, integrating the data generated in the execution process of each RPC node into the data block, and analyzing the execution state of each RPC link in the database to obtain an RPC link state diagram, wherein the RPC link diagram is used for displaying the execution state of each RPC node;
acquiring a problem RPC node with a problem through an RPC link state diagram, judging whether the whole RPC link can be executed, judging whether the execution time of the RPC link is overtime, judging whether the execution abnormality of a called RPC node can cause the abnormal state of a calling RPC node, judging whether other RPC nodes can be normally executed when the abnormal RPC node is recovered to be normal, and obtaining the RPC link state diagram, wherein the basic information of the problem RPC node is configuration information by constructing a corresponding debugging node according to the basic information of the problem RPC node to replace the problem RPC node;
testing the corresponding debugging nodes through the data blocks obtained by the problem RPC nodes in the execution process to obtain a test result, and entering a dubbo control console through a terminal telnet command to test according to the traceID in each data block and the corresponding RPC node information to obtain the test result, wherein the test result is the problem cause of each problem RPC node;
and sending a debugging signal to an interface service of the debugging node, connecting the debugging node with a debugging person after receiving the debugging signal, configuring remote debugging to carry out remote debugging according to a test result, clearing the debugging node after the debugging of the debugging person is finished, marking all data generated by the debugging node, and dyeing each data block in the same RPC link.
2. The remote debugging method of RPC based on data link tracking according to claim 1, wherein in the step of storing the data generated during the execution of each RPC node in each RPC link in the form of a data block in the database, the data block has a span id of the corresponding RPC node, all the data blocks are transmitted to the buffer module, and the buffer module chains the data blocks according to the span id and persists the data blocks in the database.
3. The remote debugging method of RPC based on data link tracking according to claim 1, wherein in the step of analyzing the execution status of each RPC link in the database to obtain an RPC link status graph, the RPC link status graph is used to show the robustness of the RPC node.
4. The RPC remote debugging method based on data link tracking according to claim 1, wherein in the step of replacing the problem RPC node by constructing a corresponding debugging node based on the basic information of the problem RPC node, the debugging node has the subsequent RPC link node information.
5. The remote debugging method of RPC based on data link tracking according to claim 1, wherein each RPC link is split into a plurality of RPC nodes according to the span id in sequence, each RPC node carries its corresponding data packet, marks the nodes with abnormal nodes and links with incomplete links, and obtains the problem node by screening the marked links or nodes.
6. The RPC remote debugging method based on data link tracking according to claim 1, wherein in the step of "marking data generated by a debugging node and then dyeing each data block in the same RPC link", the data generated by the debugging node includes a test result and a debugging result, the test result and the debugging result are marked with the same dyeing mark, and the test result in the debugging node and the data block to which the debugging result is streamed are marked with the same dyeing mark in the data stream process to complete dyeing.
7. An RPC remote debugging device based on data link tracking, comprising:
and an analysis module: calling an RPC integrating the Dubbo service, storing data generated in the execution process of each RPC node in each RPC link into a database in the form of a data block, wherein the data generated in the execution process of each RPC node comprises data generated in the operation process of each RPC node and data generated in the interaction process of each RPC node and upper and lower nodes, integrating the data generated in the execution process of each RPC node into the data block, and analyzing the execution state of each RPC link in the database to obtain an RPC link state diagram, wherein the RPC link diagram is used for displaying the execution state of each RPC node;
and (3) a replacement module: acquiring a problem RPC node with a problem through an RPC link state diagram, judging whether the whole RPC link can be executed, judging whether the execution time of the RPC link is overtime, judging whether the execution abnormality of a called RPC node can cause the abnormal state of a calling RPC node, judging whether other RPC nodes can be normally executed when the abnormal RPC node is recovered to be normal, and obtaining the RPC link state diagram, wherein the basic information of the problem RPC node is configuration information by constructing a corresponding debugging node according to the basic information of the problem RPC node to replace the problem RPC node;
and a testing module: testing the corresponding debugging nodes through the data blocks obtained by the problem RPC nodes in the execution process to obtain a test result, and entering a dubbo control console through a terminal telnet command to test according to the traceID in each data block and the corresponding RPC node information to obtain the test result, wherein the test result is the problem cause of each problem RPC node;
and a debugging module: and sending a debugging signal to an interface service of the debugging node, connecting the debugging node with a debugging person after receiving the debugging signal, configuring remote debugging to carry out remote debugging according to a test result, clearing the debugging node after the debugging of the debugging person is finished, marking data generated by the debugging node, and dyeing each data block in the same RPC link.
8. An electronic device comprising a memory and a processor, wherein the memory has stored therein a computer program, the processor being arranged to run the computer program to perform a data link tracking based RPC remote debugging method as claimed in any one of claims 1-6.
9. A readable storage medium, characterized in that the readable storage medium has stored therein a computer program comprising program code for controlling a process to execute a process comprising an RPC remote debugging method based on data link tracking according to any one of claims 1-6.
CN202311007892.3A 2023-08-11 2023-08-11 RPC remote debugging method, device and application based on data link tracking Active CN116756044B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311007892.3A CN116756044B (en) 2023-08-11 2023-08-11 RPC remote debugging method, device and application based on data link tracking

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311007892.3A CN116756044B (en) 2023-08-11 2023-08-11 RPC remote debugging method, device and application based on data link tracking

Publications (2)

Publication Number Publication Date
CN116756044A CN116756044A (en) 2023-09-15
CN116756044B true CN116756044B (en) 2023-11-21

Family

ID=87948082

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311007892.3A Active CN116756044B (en) 2023-08-11 2023-08-11 RPC remote debugging method, device and application based on data link tracking

Country Status (1)

Country Link
CN (1) CN116756044B (en)

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111506511A (en) * 2020-04-21 2020-08-07 腾讯科技(深圳)有限公司 Test case generation method and device, electronic equipment and medium
CN112328419A (en) * 2020-11-27 2021-02-05 北京字节跳动网络技术有限公司 Test case generation method and device for remote procedure call interface, storage medium and electronic equipment
CN112612675A (en) * 2020-12-25 2021-04-06 山东经伟晟睿数据技术有限公司 Distributed big data log link tracking method and system under micro-service architecture
CN112948207A (en) * 2021-02-23 2021-06-11 中国工商银行股份有限公司 Information transfer method, information transfer device, electronic apparatus, and medium
WO2021189899A1 (en) * 2020-09-24 2021-09-30 平安科技(深圳)有限公司 Link state tracking method and apparatus, and electronic device and computer storage medium
CN113965502A (en) * 2021-10-20 2022-01-21 上海汇付数据服务有限公司 Full link performance test method and system
CN114185708A (en) * 2021-12-15 2022-03-15 中国农业银行股份有限公司 Data analysis method and device based on distributed link tracking and electronic equipment
CN114244730A (en) * 2021-09-10 2022-03-25 徐州智通激光智造技术研究院有限公司 Network testing method and control method of testing equipment
CN115242684A (en) * 2022-07-21 2022-10-25 中国平安财产保险股份有限公司 Full link voltage measuring method, device, computer equipment and storage medium
CN115314542A (en) * 2021-04-21 2022-11-08 深圳联友科技有限公司 Link tracking method and system based on Socket communication protocol
CN115480987A (en) * 2022-09-19 2022-12-16 上海浦东发展银行股份有限公司 Link data display method and device and computer equipment
CN115705190A (en) * 2021-08-03 2023-02-17 腾讯科技(深圳)有限公司 Method and device for determining dependence degree
CN115840687A (en) * 2022-11-28 2023-03-24 天翼电子商务有限公司 Visual log link tracking method and system based on service level
CN115982234A (en) * 2022-12-22 2023-04-18 深圳数研锦瀚智慧科技有限公司 Method for tracking distributed architecture link based on micro-service
KR20230064354A (en) * 2021-11-03 2023-05-10 펜타시큐리티시스템 주식회사 Blockchain-based authentication audit data sharing and integrity verification system, device and method thereof
CN116204438A (en) * 2023-03-09 2023-06-02 恒生电子股份有限公司 Test case generation method, automatic test method and related device
CN116467189A (en) * 2023-03-31 2023-07-21 青岛民航凯亚系统集成有限公司 Method and system for interface call completion performance pressure measurement and full link data monitoring

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10223241B2 (en) * 2017-03-02 2019-03-05 International Business Machines Corporation Resuming a remote debugging session using a backup node
US11748234B2 (en) * 2021-05-17 2023-09-05 Snap Inc. Automated testing platform for testing multiple devices

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111506511A (en) * 2020-04-21 2020-08-07 腾讯科技(深圳)有限公司 Test case generation method and device, electronic equipment and medium
WO2021189899A1 (en) * 2020-09-24 2021-09-30 平安科技(深圳)有限公司 Link state tracking method and apparatus, and electronic device and computer storage medium
CN112328419A (en) * 2020-11-27 2021-02-05 北京字节跳动网络技术有限公司 Test case generation method and device for remote procedure call interface, storage medium and electronic equipment
CN112612675A (en) * 2020-12-25 2021-04-06 山东经伟晟睿数据技术有限公司 Distributed big data log link tracking method and system under micro-service architecture
CN112948207A (en) * 2021-02-23 2021-06-11 中国工商银行股份有限公司 Information transfer method, information transfer device, electronic apparatus, and medium
CN115314542A (en) * 2021-04-21 2022-11-08 深圳联友科技有限公司 Link tracking method and system based on Socket communication protocol
CN115705190A (en) * 2021-08-03 2023-02-17 腾讯科技(深圳)有限公司 Method and device for determining dependence degree
CN114244730A (en) * 2021-09-10 2022-03-25 徐州智通激光智造技术研究院有限公司 Network testing method and control method of testing equipment
CN113965502A (en) * 2021-10-20 2022-01-21 上海汇付数据服务有限公司 Full link performance test method and system
KR20230064354A (en) * 2021-11-03 2023-05-10 펜타시큐리티시스템 주식회사 Blockchain-based authentication audit data sharing and integrity verification system, device and method thereof
CN114185708A (en) * 2021-12-15 2022-03-15 中国农业银行股份有限公司 Data analysis method and device based on distributed link tracking and electronic equipment
CN115242684A (en) * 2022-07-21 2022-10-25 中国平安财产保险股份有限公司 Full link voltage measuring method, device, computer equipment and storage medium
CN115480987A (en) * 2022-09-19 2022-12-16 上海浦东发展银行股份有限公司 Link data display method and device and computer equipment
CN115840687A (en) * 2022-11-28 2023-03-24 天翼电子商务有限公司 Visual log link tracking method and system based on service level
CN115982234A (en) * 2022-12-22 2023-04-18 深圳数研锦瀚智慧科技有限公司 Method for tracking distributed architecture link based on micro-service
CN116204438A (en) * 2023-03-09 2023-06-02 恒生电子股份有限公司 Test case generation method, automatic test method and related device
CN116467189A (en) * 2023-03-31 2023-07-21 青岛民航凯亚系统集成有限公司 Method and system for interface call completion performance pressure measurement and full link data monitoring

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
DTN-RPC: Remote procedure calls for disruption-tolerant networking;Artur Sterz等;《2017 IFIP Networking Conference (IFIP Networking) and Workshops》;1-9 *
Enabling multi-hop remote method invocation in device-to-device networks;Minh Le等;《Human-centric Computing and information Sciences》;第9卷;1-22 *
分布式跟踪告警诊断系统的设计与实现;鲁伟林;《中国优秀硕士学位论文全文数据库 信息科技辑》;第2019年卷(第1期);I140-2563 *
基于微服务架构的接口自动化测试服务与测试报告的设计与实现;于敞;《中国优秀硕士学位论文全文数据库 信息科技辑》;第2019年卷(第9期);I138-231 *

Also Published As

Publication number Publication date
CN116756044A (en) 2023-09-15

Similar Documents

Publication Publication Date Title
CN108829593B (en) Code coverage rate calculation and analysis method, device, equipment and storage medium
CN111459794A (en) Communication network testing method, device, computer equipment and storage medium
CN110659202A (en) Client automatic testing method and device
CN111399862A (en) Batch installation method and device of Windows missing driver and computer equipment
CN111209188A (en) Testing method and device for distributed storage system
CN117033251B (en) Regression testing method and device for multi-version system of mobile electronic equipment
CN108650134B (en) Network fault positioning method and device and electronic equipment
CN110708717A (en) Method and device for compatibility test, terminal equipment and storage medium
CN116756044B (en) RPC remote debugging method, device and application based on data link tracking
CN113126993A (en) Automatic testing method and system applied to vehicle detection software
CN115014828A (en) Automated device testing method and related device
CN115391110A (en) Test method of storage device, terminal device and computer readable storage medium
CN115686535A (en) Inspection method and device for Kubernets cluster and application
CN104678292A (en) Test method and device for CPLD (Complex Programmable Logic Device)
CN115878443A (en) Interface test script generation method and device, storage medium and electronic device
CN111984527A (en) Software performance testing method, device, equipment and medium
CN111124727A (en) Log processing method, device, equipment and storage medium
CN107102938B (en) Test script updating method and device
CN111090586B (en) Method and device for reporting code coverage rate data file and computer equipment
CN117192343B (en) Chip testing method based on auxiliary system, electronic equipment and medium
CN113489708B (en) Detection method and device, electronic equipment and computer readable storage medium
CN115357458B (en) Method and device for testing TISDM display information
CN116680170A (en) Test method and computing device
CN115682343A (en) Parameter configuration method and device of air conditioner
CN113656318A (en) Software version testing method and device and computer equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant