CN112181805B - Mobile application remote diagnosis and thermal repair method - Google Patents
Mobile application remote diagnosis and thermal repair method Download PDFInfo
- Publication number
- CN112181805B CN112181805B CN202010907356.9A CN202010907356A CN112181805B CN 112181805 B CN112181805 B CN 112181805B CN 202010907356 A CN202010907356 A CN 202010907356A CN 112181805 B CN112181805 B CN 112181805B
- Authority
- CN
- China
- Prior art keywords
- instruction
- diagnosis
- repair
- thermal
- information
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000004171 remote diagnosis Methods 0.000 title claims abstract description 17
- 238000003745 diagnosis Methods 0.000 claims abstract description 133
- 238000010438 heat treatment Methods 0.000 claims abstract description 4
- 230000006870 function Effects 0.000 claims description 39
- 230000002045 lasting effect Effects 0.000 claims description 14
- 230000000694 effects Effects 0.000 claims description 13
- 230000001960 triggered effect Effects 0.000 claims description 12
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 5
- 238000011835 investigation Methods 0.000 description 3
- 230000002085 persistent effect Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/366—Software debugging using diagnostics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
The invention discloses a mobile application remote diagnosis and thermal repair method, which comprises the following steps: s1: the MIS end transmits a diagnosis instruction to the mobile client; s2: the mobile client receives the diagnosis instruction, analyzes the triggering condition of the diagnosis instruction into executable codes through an interpreter, and embeds the codes into the mobile client for attachment execution; s3: after executing codes, the mobile client returns diagnostic information collected by setting to the MIS terminal; s4: the MIS terminal confirms the problem point according to the collected and returned diagnosis information and then sends a heating repair instruction to the mobile client; s5: and the mobile client receives the hot repair instruction, analyzes the code character string to be executed into executable codes through an interpreter, embeds the codes into the mobile client for attachment execution, and completes hot repair. According to the invention, remote diagnosis and thermal repair are realized by issuing the instruction of the preset triggering condition and combining with the interpreter, and the efficiency of problem diagnosis and repair is improved.
Description
Technical Field
The invention relates to a diagnosis and thermal restoration method, in particular to a mobile application remote diagnosis and thermal restoration method.
Background
The mobile application can cause problems that the mobile application is difficult to reproduce at the test end due to the complexity and the unknowing nature of the use environment of the user after the user quantity is increased, the problems usually occur on a specific user group or specific equipment, the environment with the problems is difficult to simulate in the delivery test stage, and the user only describes the problem by a simple phenomenon, so that the available information is little when the problem is detected, and the problem diagnosis is difficult and the period is long. Even if the problem is found, the problem needs to be repaired and the issue is relied on. In the prior art, although there is also an open source technology of the thermal restoration function, such as JSPatch of the iOS platform, it does not conform to the thermal restoration rule of iOS (iOS is a mobile operating system developed by apple corporation) application, and limits the use of the thermal restoration function in iOS applications. Therefore, there is a need for a diagnostic and thermal repair method that can capture the environmental and debug information needed to troubleshoot a problem when it occurs and that is compatible with iOS and Android mobile platforms applying thermal repair rules.
Disclosure of Invention
The invention aims to overcome the defects of the prior art and provides a mobile application remote diagnosis and thermal restoration method, which is characterized in that the environment and debugging information required by the problem investigation are grasped for investigating the cause of the problem by issuing instructions to target equipment; the code interpreter is used for resolving the executed code character string into executable codes, so that the rule limit of hot repair is solved, and diagnosis and hot repair are realized.
In order to solve the technical problems, the invention provides the following technical scheme:
the invention discloses a mobile application remote diagnosis and thermal repair method, which comprises the following steps: s1: the MIS terminal remotely transmits a diagnosis instruction to the mobile client through long connection, wherein the diagnosis instruction sets a triggering condition of the diagnosis instruction and diagnosis information required to be acquired by the diagnosis instruction; s2: after receiving the diagnosis instruction, the mobile client analyzes the diagnosis instruction, analyzes the triggering condition of the diagnosis instruction into executable codes through an interpreter, and embeds the codes into the mobile client for attachment execution; s3: the mobile client side returns an execution result after executing the code, and if the execution result confirms that the diagnosis instruction is triggered, the mobile client side returns the collected diagnosis information set in the step S1 to the MIS side at the same time to finish diagnosis; s4: the MIS terminal collects the returned diagnosis information according to the step S3, and after confirming the problem point, remotely sends a heating repair instruction to the mobile client through long connection; s5: after receiving the thermal repair instruction, the mobile client analyzes the thermal repair instruction, analyzes the code character string to be executed into executable codes through an interpreter, embeds the codes into the mobile client for attachment execution, and completes thermal repair.
Further, the content of the diagnostic instructions includes: the method comprises the steps of determining a client version number aimed at by a diagnosis instruction, an ID (identity) of the diagnosis instruction, bundleID of a client aimed at by a broken instruction, whether the diagnosis instruction is single-effect or lasting-effect, a class name of a code block embedded by the diagnosis instruction, a method or function of the code block embedded by the diagnosis instruction, execution time in the diagnosis instruction embedding method or function, triggering conditions of the diagnosis instruction and diagnosis information required to be acquired by the diagnosis instruction; the diagnosis information to be collected by the diagnosis instruction specifically comprises: the variable value or the return value of the method/function in program execution adopts an array format, and the elements of the array are code character strings; diagnosing debugging information, adopting an array format, wherein elements of the array are enumeration values of the debugging information, and the enumeration values of the debugging information comprise basic information of equipment and users, stack information and stream information of a user network request interface; the gateway name adopts an array format, the elements of the array are designated gateway interface names, and only the flowing water of the designated gateway request interface is collected after setting.
Further, the step S2 specifically includes: s21: according to the client BundleID and the version number aimed at by the diagnosis instruction, matching the mobile client needing diagnosis; s22: the matched mobile client judges whether the diagnosis instruction is single-time effect or lasting effect, if the diagnosis instruction is lasting effect, the diagnosis instruction is stored locally, and the diagnosis instruction is executed when the application runs each time; if the application takes effect for the first time, executing a diagnosis instruction when the application runs for the first time; s23: acquiring a triggering condition of a diagnosis instruction, wherein the triggering condition is an expression in a character string format returning a Boolean value, and the triggering condition is analyzed into an executable expression code as a diagnosis condition code through an interpreter; s24: obtaining class names of code blocks embedded by diagnostic instructions and methods or functions of the embedded code blocks, hooking the methods or functions in the class by means of AOP, embedding the diagnostic condition codes analyzed in the step S23 into the methods or functions, and executing the diagnostic condition codes in an attached mode when the methods or functions are executed; s25: when the method or the function for embedding the diagnostic instruction condition codes is executed, the diagnostic condition codes are executed according to the execution time in the method or the function for embedding the diagnostic instruction, and if the conditions of the diagnostic condition codes are met, the diagnostic instruction is triggered and diagnostic information is acquired.
Further, after the diagnostic command is triggered in step S25, the collected diagnostic information includes: acquiring a variable value in program execution, reading a variable name of the variable value, and acquiring the variable value in a runtime mode during operation; collecting the return value of a method or a function with a single step or a plurality of steps of the return value, analyzing the character string into codes through an interpreter, and acquiring the return value after execution; collecting diagnostic debug information, comprising: the basic information of the equipment and the user comprises equipment name, system version number, equipment type, UUID, application version number, memory/CPU/disk utilization rate, user information, login name, user ID and account number state; stacking information; and collecting the running water of the designated gateway request interface, acquiring the designated gateway name in the diagnosis instruction, and uploading the request parameters of the interface corresponding to the gateway name and the record of the returned content.
Further, collecting the flow of the designated gateway request interface, specifically including: after receiving the diagnosis instruction, the mobile client reads the gateway name of the designated gateway request interface, traverses the gateway name list when each network request is made, records the network request data to the local if the gateway of the network request is in the list, records at most three same gateway, and executes according to the first-in first-out principle if the gateway of the network request is more than three gateway; after triggering the diagnosis instruction, the locally stored network request data is read and uploaded.
Further, the content of the thermal repair instruction includes: the version number of the client for which the hot repair instruction is directed, the ID of the hot repair instruction, bundleID of the client for which the hot repair instruction is directed, whether the hot repair instruction is a single effect or a persistent effect, the class name of the code block in which the hot repair instruction is embedded, the method or function of the code block in which the hot repair instruction is embedded, and the code string that the hot repair instruction needs to execute.
Further, the step S5 specifically includes: s51: according to the client BundleID and the version number aimed at by the hot repair instruction, matching the mobile client needing hot repair; s52: the matched mobile client judges whether the thermal restoration instruction is single-time effect or lasting effect, if the thermal restoration instruction is lasting effect, the thermal restoration instruction is stored locally, and the diagnosis instruction is executed when the application runs each time; if the application is in single effect, executing a thermal repair instruction when the application runs for the first time; s53: acquiring a code character string required to be executed by a thermal repair instruction, and analyzing the code character string into an executable code serving as a thermal repair code through an interpreter; s54: and obtaining class names of code blocks embedded by the thermal repair instructions and methods or functions for embedding the code blocks, and using an AOP mode to Hook the methods or functions in the class, embedding the thermal repair codes analyzed in the step S23 into the methods or functions, and executing the thermal repair codes in an attached mode when the methods or functions are executed, so as to finish thermal repair.
Further, the diagnosis instruction is issued to the mobile terminal with feedback problem, and is issued to other mobile terminals through gray scale, and other mobile terminals encounter the same problem, namely, the uploading of the diagnosis log is triggered; the mobile client can receive and record a plurality of diagnosis instructions simultaneously, and when the conditions triggering the diagnosis instructions are met, the diagnosis information is acquired and uploaded respectively.
Further, the diagnostic instructions and thermal repair instructions may be revocable: when the issued diagnosis instruction or the thermal repair instruction has a problem, deleting the diagnosis instruction or the thermal repair instruction with the problem by issuing a revocation instruction; the content of the revocation instruction is the ID of the diagnosis instruction or the hot repair instruction to be revoked, and a plurality of diagnosis instructions or hot repair instructions can be revoked at the same time.
Further, the diagnostic instructions, the thermal repair instructions and the revocation instructions are in the format of JSON text.
Compared with the prior art, the invention has the following beneficial effects:
According to the mobile application remote diagnosis and thermal restoration method provided by the invention, the environment and the debugging information required by the problem investigation are grabbed and used for investigating the cause of the problem occurrence by sending the instruction to the target equipment, so that the diagnosis efficiency is improved; the code interpreter is used for resolving the executed code character string into executable codes, so that the rule limit of thermal repair is solved, the thermal repair of mobile application is realized, the method is independent of edition issuing, and the efficiency of problem diagnosis and repair is improved.
Drawings
The accompanying drawings are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate the invention and together with the embodiments of the invention, serve to explain the invention. In the drawings:
FIG. 1 is a flow chart of a remote diagnosis and thermal repair method for mobile applications in an embodiment of the invention;
FIG. 2 is a flow chart of remote diagnosis in an embodiment of the present invention;
Fig. 3 is a schematic diagram of an interface flow record of a designated gateway according to an embodiment of the present invention.
Detailed Description
The preferred embodiments of the present invention will be described below with reference to the accompanying drawings, it being understood that the preferred embodiments described herein are for illustration and explanation of the present invention only, and are not intended to limit the present invention.
Example 1
FIG. 1 is a flow chart of a remote diagnosis and thermal repair method for mobile applications in an embodiment of the invention.
Referring to fig. 1, the mobile application remote diagnosis and thermal repair method according to the embodiment of the invention includes the following steps:
S1: the MIS (ManagementInformationSystem management information system) end remotely transmits a diagnosis instruction to the mobile client through long connection, wherein the diagnosis instruction sets a triggering condition of the diagnosis instruction and diagnosis information required to be acquired by the diagnosis instruction;
S2: after receiving the diagnosis instruction, the mobile client analyzes the diagnosis instruction, analyzes the triggering condition of the diagnosis instruction into executable codes through an interpreter, and embeds the codes into the mobile client for attachment execution;
s3: the mobile client side returns an execution result after executing the code, and if the execution result confirms that the diagnosis instruction is triggered, the mobile client side returns the collected diagnosis information set in the step S1 to the MIS side at the same time to finish diagnosis;
S4: the MIS terminal collects the returned diagnosis information according to the step S3, and after confirming the problem point, remotely sends a heating repair instruction to the mobile client through long connection;
S5: after receiving the thermal repair instruction, the mobile client analyzes the thermal repair instruction, analyzes the code character string to be executed into executable codes through an interpreter, embeds the codes into the mobile client for attachment execution, and completes thermal repair.
The MIS end issues a diagnosis instruction through long connection, the format of the diagnosis instruction is JSON text, and the content of the diagnosis instruction comprises:
1.a client version number for which the current diagnostic instruction is directed;
2. an ID of the current diagnostic instruction;
3. BundleID of the client for which the current diagnostic instruction is directed;
4. Whether the current diagnostic instruction is a single effect or a persistent effect;
5. Class name of the code block in which the current diagnostic instruction is embedded;
6. A method or function of the code block in which the current diagnostic instruction is embedded;
7. Execution timing (execution before/after execution or execution instead of execution of original method or function) of current diagnostic instruction embedding method or function;
8. A condition triggered by the current diagnostic instruction;
9. The information required to be collected by the current diagnostic instructions comprises three aspects:
a) The variable values or the return values of the method/function in program execution to be acquired, the array format and the elements are code character strings;
b) Debug information to be uploaded, array format, elements being enumeration values of debug information, including basic information of equipment and users, stack information, and stream information of user network request interfaces;
c) Gateway name, array format, gateway interface name as element, and collecting only the flow of the designated gateway request interface after setting.
Referring to fig. 2, after receiving the diagnosis instruction, the mobile client performs the following steps:
Judging the client BundleID and the version number for which the diagnosis instruction aims, and executing the diagnosis instruction only when the client BundleID and the version number are matched;
Judging whether the diagnosis instruction is single-time effect or lasting effect, if the diagnosis instruction is lasting effect, storing the diagnosis instruction to the local, and executing the diagnosis instruction when the application runs each time;
Acquiring conditions triggered by the diagnosis instructions, and if the conditions are a plurality of conditions, traversing and executing; the triggering condition of the instruction is an expression returning the Boolean value, the character string format is analyzed into an executable expression code through an interpreter;
Acquiring a class and a method name which are needed to be embedded in the diagnostic instruction condition code, and using an AOP (AspectOrientedProgramming section-oriented programming) mode to Hook the method in the class (iOS can use an open source library Aspects and Android can use an open source library AspectJ), and executing the diagnostic condition code in an attached mode when the method is executed;
when the method or function for embedding the diagnostic instruction condition codes is executed, executing the diagnostic trigger condition codes according to the execution time/mode in the diagnostic instruction, and if the conditions are met, triggering the acquisition of diagnostic information.
After the condition of the diagnostic information acquisition is triggered, acquiring the content required to be acquired in the diagnostic instruction:
1. If the variable value in program execution needs to be acquired, reading the variable name of the variable value, and acquiring the variable value in runtime mode; if a method or a function with a single step or a plurality of steps of the return value needs to be acquired, analyzing the character string into codes through an interpreter and executing the acquisition of the return value;
2. Obtaining debug information to be collected, including:
a) The basic information of the equipment and the user is specifically equipment name, system version number, equipment type, UUID (UniversallyUniqueIdentifier universal unique identification code), application version number, memory/CPU/disk utilization rate, user information, login name, user ID and account number state;
b) Stacking information;
c) And acquiring the gateway name specified in the diagnosis instruction, and uploading the request parameters of the interface corresponding to the gateway name and the record of the returned content.
Referring to fig. 3, for the pipelining of network requests, the implementation flow is as follows:
After receiving the diagnosis instruction, the client reads the gateway name to be recorded, traverses the gateway list to be recorded when each network request is made, if the gateway of the network request is in the list, records the network request data to the local, and the same gateway records three, more than three, and is first in first out; and after the condition of diagnosing and collecting information is triggered, reading the locally stored gateway data request record and uploading the gateway data request record.
Target and scope of diagnostic instruction issue: in general, the problem encountered by a user is certainly not an isolated situation, the problem encountered by a certain user is also likely to be encountered by other users, so that the issued rule can be issued not only to the user with the feedback problem, but also to the other users in gray scale, and once the user encounters the same problem, the uploading of the diagnosis log is triggered; the mobile client can receive and record a plurality of diagnosis instructions simultaneously, and when the conditions for acquiring the diagnosis information are met, the mobile client triggers the debugging information to be acquired and uploads the debugging information.
Diagnostic information acquisition, uploading and displaying: after the diagnostic information is acquired, the client calls an interface to upload the information to a server, and the server receives the acquired information and displays the acquired information through an MIS terminal.
Revocation of diagnostic instructions: when a diagnosis instruction issued for a certain time is found to be problematic, the diagnosis instruction issued before can be deleted by issuing an instruction for canceling diagnosis; the instruction content of the diagnosis revocation is the ID of the diagnosis instruction to be revoked, and the diagnosis instructions can be revoked at one time in an array format.
The MIS terminal generates a heat repair instruction through long connection, the format of the heat repair instruction is JSON text, and the content of the heat repair instruction comprises:
1. A client version number for which the current thermal repair instruction is directed;
2. An ID of the current thermal repair instruction;
3. BundleID of the client for which the current thermal repair instruction is directed;
4. whether the current thermal repair instruction is a single effect or a persistent effect;
5. Class name of the code block in which the current hot repair instruction is embedded;
6. a method or function of the code block in which the current thermal repair instruction is embedded;
7. The current thermal repair instruction requires a string of code to be executed.
After receiving the thermal restoration instruction, the mobile client performs the following steps:
Judging the client BundleID and the version number aimed at by the hot repair instruction, and executing the hot repair instruction only when the client BundleID and the version number are matched;
Judging whether the thermal restoration instruction is single-time effect or lasting effect, if the thermal restoration instruction is lasting effect, storing the instruction to the local, and executing the thermal restoration instruction when the application runs each time;
Acquiring a character string of a thermal repair instruction execution code, converting the character string into an executable code through an interpreter, wherein the principle of the interpreter is to match a code keyword, such as a method with a point symbol of setter or getter (taking an iOS platform as an example), if characters are judged on the condition that the if characters are the execution method, and the [ ] is directly converted into a PerformSelector method for execution;
The class and method names needed to be embedded by the hot repair instruction codes are acquired, and the methods in the class are checked by using an AOP mode (iOS can use open source library and Android can use open source library, and the hot repair codes are attached and executed when the method is executed.
The hot repair instruction and the diagnosis instruction are the same and support the revocation operation, and the revocation mode is the same as the diagnosis instruction and is not repeated.
In summary, according to the mobile application remote diagnosis and thermal restoration method of the embodiment of the invention, by sending the instruction to the target equipment, the environment and the debugging information required by the problem investigation are grasped for investigating the cause of the problem occurrence, so that the diagnosis efficiency is improved; the code interpreter is used for resolving the executed code character string into executable codes, so that the rule limit of thermal repair is solved, the thermal repair of mobile application is realized, the method is independent of edition issuing, and the efficiency of problem diagnosis and repair is improved.
Finally, it should be noted that: the foregoing description is only a preferred embodiment of the present invention, and the present invention is not limited thereto, but it is to be understood that modifications and equivalents of some of the technical features described in the foregoing embodiments may be made by those skilled in the art, although the present invention has been described in detail with reference to the foregoing embodiments. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims (4)
1. A method for remote diagnosis and thermal restoration of mobile applications, comprising the steps of:
s1: the MIS terminal remotely transmits a diagnosis instruction to the mobile client through long connection, wherein the diagnosis instruction sets a triggering condition of the diagnosis instruction and diagnosis information required to be acquired by the diagnosis instruction;
S2: after receiving the diagnosis instruction, the mobile client analyzes the diagnosis instruction, analyzes the triggering condition of the diagnosis instruction into executable codes through an interpreter, and embeds the codes into the mobile client for attachment execution;
s3: the mobile client side returns an execution result after executing the code, and if the execution result confirms that the diagnosis instruction is triggered, the mobile client side returns the collected diagnosis information set in the step S1 to the MIS side at the same time to finish diagnosis;
S4: the MIS terminal collects the returned diagnosis information according to the step S3, and after confirming the problem point, remotely sends a heating repair instruction to the mobile client through long connection;
s5: after receiving the thermal repair instruction, the mobile client analyzes the thermal repair instruction, analyzes the code character string to be executed into executable codes through an interpreter, embeds the codes into the mobile client for attachment execution, and completes thermal repair;
The content of the diagnosis instruction comprises: the method comprises the steps of determining a client version number aimed at by a diagnosis instruction, an ID of the diagnosis instruction, bundleID of a client aimed at by the diagnosis instruction, whether the diagnosis instruction is single-effect or lasting-effect, a class name of a code block embedded by the diagnosis instruction, a method or function of the code block embedded by the diagnosis instruction, execution time in the diagnosis instruction embedding method or function, triggering conditions of the diagnosis instruction and diagnosis information required to be acquired by the diagnosis instruction; the diagnosis information to be collected by the diagnosis instruction specifically comprises: the variable value or the return value of the method/function in program execution adopts an array format, and the elements of the array are code character strings; diagnosing debugging information, adopting an array format, wherein elements of the array are enumeration values of the debugging information, and the enumeration values of the debugging information comprise basic information of equipment and users, stack information and stream information of a user network request interface; the gateway name adopts an array format, the elements of the array are designated gateway interface names, and only the flowing water of designated gateway request interfaces is collected after setting;
The step S2 specifically includes:
S21: according to the client BundleID and the version number aimed at by the diagnosis instruction, matching the mobile client needing diagnosis;
S22: the matched mobile client judges whether the diagnosis instruction is single-time effect or lasting effect, if the diagnosis instruction is lasting effect, the diagnosis instruction is stored locally, and the diagnosis instruction is executed when the application runs each time; if the application takes effect for the first time, executing a diagnosis instruction when the application runs for the first time;
s23: acquiring a triggering condition of a diagnosis instruction, wherein the triggering condition is an expression in a character string format returning a Boolean value, and the triggering condition is analyzed into an executable expression code as a diagnosis condition code through an interpreter;
S24: obtaining class names of code blocks embedded by diagnostic instructions and methods or functions of the embedded code blocks, hooking the methods or functions in the class by means of AOP, embedding the diagnostic condition codes analyzed in the step S23 into the methods or functions, and executing the diagnostic condition codes in an attached mode when the methods or functions are executed;
S25: when the method or the function for embedding the diagnostic instruction condition codes is executed, the diagnostic condition codes are executed according to the execution time in the method or the function for embedding the diagnostic instruction, and if the conditions of the diagnostic condition codes are met, the diagnostic instruction is triggered and diagnostic information is acquired.
2. The mobile application remote diagnosis and thermal repair method according to claim 1, wherein after triggering the diagnosis instruction in step S25, the collected diagnosis information includes: acquiring a variable value in program execution, reading a variable name of the variable value, and acquiring the variable value in a runtime mode during operation; collecting the return value of a method or a function with a single step or a plurality of steps of the return value, analyzing the character string into codes through an interpreter, and acquiring the return value after execution; collecting diagnostic debug information, comprising: the basic information of the equipment and the user comprises equipment name, system version number, equipment type, UUID, application version number, memory/CPU/disk utilization rate, user information, login name, user ID and account number state; stacking information; and collecting the running water of the designated gateway request interface, acquiring the designated gateway name in the diagnosis instruction, and uploading the request parameters of the interface corresponding to the gateway name and the record of the returned content.
3. The method for remote diagnosis and thermal repair of mobile application according to claim 2, wherein collecting the running water of the designated gateway request interface comprises: after receiving the diagnosis instruction, the mobile client reads the gateway name of the designated gateway request interface, traverses the gateway name list when each network request is made, records the network request data to the local if the gateway of the network request is in the list, records at most three same gateway, and executes according to the first-in first-out principle if the gateway of the network request is more than three gateway; after triggering the diagnosis instruction, the locally stored network request data is read and uploaded.
4. The mobile application remote diagnosis and thermal repair method of claim 1, wherein the contents of the thermal repair instruction comprise: the version number of the client for the hot repair instruction, the ID of the hot repair instruction, bundleID of the client for the hot repair instruction, whether the hot repair instruction is single-effect or durable, the class name of the code block embedded by the hot repair instruction, the method or function of the code block embedded by the hot repair instruction and the code character string required to be executed by the hot repair instruction;
The step S5 specifically includes:
S51: according to the client BundleID and the version number aimed at by the hot repair instruction, matching the mobile client needing hot repair;
S52: the matched mobile client judges whether the thermal restoration instruction is single-time effect or lasting effect, if the thermal restoration instruction is lasting effect, the thermal restoration instruction is stored locally, and the diagnosis instruction is executed when the application runs each time; if the application is in single effect, executing a thermal repair instruction when the application runs for the first time;
S53: acquiring a code character string required to be executed by a thermal repair instruction, and analyzing the code character string into an executable code serving as a thermal repair code through an interpreter;
S54: and obtaining class names of code blocks embedded by the thermal repair instructions and methods or functions for embedding the code blocks, and using an AOP mode to Hook the methods or functions in the class, embedding the thermal repair codes analyzed in the step S53 into the methods or functions, and executing the thermal repair codes in an attached mode when the methods or functions are executed, so as to finish thermal repair.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010907356.9A CN112181805B (en) | 2020-09-02 | 2020-09-02 | Mobile application remote diagnosis and thermal repair method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010907356.9A CN112181805B (en) | 2020-09-02 | 2020-09-02 | Mobile application remote diagnosis and thermal repair method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112181805A CN112181805A (en) | 2021-01-05 |
CN112181805B true CN112181805B (en) | 2024-05-17 |
Family
ID=73924069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010907356.9A Active CN112181805B (en) | 2020-09-02 | 2020-09-02 | Mobile application remote diagnosis and thermal repair method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112181805B (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009193177A (en) * | 2008-02-12 | 2009-08-27 | Kddi Corp | Remote failure correspondence method and system against failure occurred in terminal |
CN103699489A (en) * | 2014-01-03 | 2014-04-02 | 中国人民解放军装甲兵工程学院 | Software remote fault diagnosis and repair method based on knowledge base |
CN109684222A (en) * | 2018-12-27 | 2019-04-26 | 上海数果科技有限公司 | A kind of user terminal application software remote failure diagnosis system and method |
CN110535710A (en) * | 2019-09-09 | 2019-12-03 | 锐捷网络股份有限公司 | Remote diagnosis method and system, the network equipment and Cloud Server of the network equipment |
-
2020
- 2020-09-02 CN CN202010907356.9A patent/CN112181805B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009193177A (en) * | 2008-02-12 | 2009-08-27 | Kddi Corp | Remote failure correspondence method and system against failure occurred in terminal |
CN103699489A (en) * | 2014-01-03 | 2014-04-02 | 中国人民解放军装甲兵工程学院 | Software remote fault diagnosis and repair method based on knowledge base |
CN109684222A (en) * | 2018-12-27 | 2019-04-26 | 上海数果科技有限公司 | A kind of user terminal application software remote failure diagnosis system and method |
CN110535710A (en) * | 2019-09-09 | 2019-12-03 | 锐捷网络股份有限公司 | Remote diagnosis method and system, the network equipment and Cloud Server of the network equipment |
Non-Patent Citations (1)
Title |
---|
终端通信问题诊断方法研究及应用;李斌等;《移动通信》;20130615(第11期);第70-74页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112181805A (en) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210011840A1 (en) | Software testing method, system, apparatus, device medium, and computer program product | |
US10037255B2 (en) | Device, method and program for performing system testing | |
CN103729294B (en) | Method and device for testing performance script of application software | |
WO2018120721A1 (en) | Method and system for testing user interface, electronic device, and computer readable storage medium | |
US20120204156A1 (en) | Software application recreation | |
CN104424095A (en) | Automatic testing method and system of mobile terminal | |
CN102063316A (en) | Information-processing device, communication system, program, and information-processing method | |
CN107003931B (en) | Decoupling test validation from test execution | |
CN112905437B (en) | Method, device and storage medium for testing cases | |
WO2017017691A1 (en) | Testing computing devices | |
WO2021047184A1 (en) | System failure analysis and processing method and apparatus, storage medium, and electronic device | |
CN112181805B (en) | Mobile application remote diagnosis and thermal repair method | |
JP4672532B2 (en) | Operator simulation system and operator simulation method | |
JP2009193207A (en) | Information collection procedure management system | |
CN114661569B (en) | Dynamic buried point acquisition method for user behavior data | |
CN110554966B (en) | Driving debugging method, behavior analysis method and driving debugging system | |
JP2001243089A (en) | Device and method for verifying software | |
US20160275002A1 (en) | Image capture in application lifecycle management for documentation and support | |
WO2017105473A1 (en) | Test execution comparisons | |
CN117435507B (en) | Self-adaptive universal backoff test method and system | |
JP6353759B2 (en) | Test execution device, test execution method, and computer program | |
CN117376187B (en) | Communication protocol detection method and detection system | |
CN111400175B (en) | Recording and playback system, method and equipment for web operation event | |
CN112052175A (en) | Method and device for automatically testing application program and electronic equipment | |
CN117591422A (en) | Software processing method, electronic device and storage medium |
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 |