CN112181805A - Mobile application remote diagnosis and thermal restoration method - Google Patents
Mobile application remote diagnosis and thermal restoration method Download PDFInfo
- Publication number
- CN112181805A CN112181805A CN202010907356.9A CN202010907356A CN112181805A CN 112181805 A CN112181805 A CN 112181805A CN 202010907356 A CN202010907356 A CN 202010907356A CN 112181805 A CN112181805 A CN 112181805A
- Authority
- CN
- China
- Prior art keywords
- instruction
- diagnosis
- code
- hot repair
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000004171 remote diagnosis Methods 0.000 title claims abstract description 20
- 238000003745 diagnosis Methods 0.000 claims abstract description 152
- 238000010438 heat treatment Methods 0.000 claims abstract description 4
- 230000006870 function Effects 0.000 claims description 39
- 230000001960 triggered effect Effects 0.000 claims description 16
- 238000005067 remediation Methods 0.000 claims description 9
- 230000002045 lasting effect Effects 0.000 claims description 8
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 2
- 238000013024 troubleshooting Methods 0.000 description 5
- 238000007726 management method 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
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Images
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 restoration method, which comprises the following steps: s1: the MIS end issues a diagnosis instruction to the mobile client; s2: the mobile client receives the diagnosis instruction, analyzes the trigger condition of the diagnosis instruction into an executable code through an interpreter, and embeds the code into the mobile client for attaching execution; s3: the mobile client returns the set and collected diagnostic information to the MIS end after executing the code; s4: the MIS end sends a heating repair instruction to the mobile client after confirming the problem point according to the collected and returned diagnosis information; s5: and the mobile client receives the hot repair instruction, analyzes the code character string to be executed into an executable code through the interpreter, and embeds the code into the mobile client for attached execution to complete hot repair. The invention realizes remote diagnosis and thermal repair by issuing the instruction of the preset trigger condition and combining the interpreter, thereby improving the efficiency of problem diagnosis and repair.
Description
Technical Field
The invention relates to a diagnosis and thermal repair method, in particular to a mobile application remote diagnosis and thermal repair method.
Background
As the number of users increases, problems that are difficult to reproduce at the testing end often occur in a specific user group or a specific device due to complexity and agnostic nature of the user using environment, it is difficult to simulate the environment where the problems occur in the delivery testing stage, and the user describes the problems only through simple phenomenon description, so that little information is available in troubleshooting the problems, and the problem diagnosis is difficult and long in period. Even if the problem is happened to be found, the problem needs to be repaired depending on the issue. In the prior art, although there is an open source technology of a hot repair function, such as JSPatch of an iOS platform, it does not conform to a hot repair rule of an iOS (iOS is a mobile operating system developed by apple inc.) application, and the use of the hot repair function in the iOS application is limited. Therefore, a diagnosis and hot repair method which can capture environment and debugging information required by troubleshooting problems and conforms to the iOS and Android mobile platform application hot repair rules when the problems occur is needed.
Disclosure of Invention
The technical problem to be solved by the invention is to overcome the defects of the prior art, and provide a mobile application remote diagnosis and thermal restoration method, wherein the method comprises the steps of sending an instruction to target equipment, and capturing environment and debugging information required by problem troubleshooting for investigating the reasons of the problems; the code interpreter analyzes the executed code character string into executable code, so that the rule limitation of the 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 restoration method, which comprises the following steps: s1: the MIS end remotely issues a diagnosis instruction to the mobile client through long connection, and the diagnosis instruction sets a trigger 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 trigger condition of the diagnosis instruction into an executable code through an interpreter, and embeds the code into the mobile client for attaching execution; s3: the mobile client returns an execution result after executing the code, and if the execution result identifies that the diagnosis instruction is triggered, the mobile client simultaneously returns the acquired diagnosis information set in the step S1 to the MIS end to complete diagnosis; s4: the MIS terminal remotely issues a heating repair instruction to the mobile client terminal through long connection after confirming the problem point according to the returned diagnosis information acquired in the step S3; s5: after receiving the hot repair instruction, the mobile client analyzes the hot repair instruction, analyzes the code character string to be executed into an executable code through an interpreter, and embeds the code into the mobile client for attaching execution to complete hot repair.
Further, the content of the diagnosis instruction comprises: the method comprises the steps that the client version number of a diagnosis instruction, the ID of the diagnosis instruction, the BundleID of a client to which the diagnosis instruction is directed, whether the diagnosis instruction is effective once or durably, the class name of a code block embedded by the diagnosis instruction, the method or function of the code block embedded by the diagnosis instruction, the execution time in the method or function embedded by the diagnosis instruction, the trigger condition of the diagnosis instruction and the diagnosis information required to be collected by the diagnosis instruction are determined; the diagnostic information to be acquired by the diagnostic instruction specifically includes: the variable value or the return value of the method/function in the program execution adopts an array format, and the elements of the array are code character strings; diagnosing debugging information, wherein an array format is adopted, elements of an array are enumerated values of the debugging information, and the enumerated values of the debugging information comprise basic information of equipment and users, stack information and flow information of user network request interfaces; the gateway name adopts an array format, the elements of the array are the appointed gateway interface names, and only the running water of the appointed gateway request interface is collected after the gateway name is set.
Further, the step S2 specifically includes: s21: matching the mobile client to be diagnosed according to the client BundleID and the version number aimed at by the diagnosis instruction; s22: the matched mobile client judges whether the diagnosis instruction is effective once or in a lasting way, if the diagnosis instruction is effective in a lasting way, the diagnosis instruction is stored to the local, and the diagnosis instruction is executed when the application runs each time; if the application is effective for a single time, executing a diagnosis instruction when the application operates for the first time; s23: acquiring a trigger condition of a diagnosis instruction, wherein the trigger condition is a section of string-format expression returning Boolean values, and the trigger condition is analyzed into executable expression codes through an interpreter to serve as diagnosis condition codes; s24: acquiring a class name of a code block embedded by the diagnosis instruction and a method or a function embedded in the code block, and Hook-holding the method or the function in the class by means of AOP, embedding the diagnosis condition code analyzed in the step S23 into the method or the function, and executing the diagnosis condition code when the method or the function is executed; s25: when the method or the function for embedding the diagnostic instruction condition codes is executed, the diagnostic instruction condition codes are executed according to the execution time in the method or the function for embedding the diagnostic instruction, and if the condition of the diagnostic instruction condition codes is met, the diagnostic instruction is triggered and the diagnostic information is collected.
Further, after the diagnostic instruction is triggered in step S25, the acquired 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 running; collecting the return value of the method or function with a single step or a plurality of steps of the return value, analyzing the character string into a code through an interpreter, and acquiring the return value after execution; collecting diagnostic debugging information, comprising: the basic information of the equipment and the user specifically comprises an equipment name, a system version number, an equipment type, a UUID, an application version number, the utilization rate of a memory/CPU/disk, user information, a login name, a user ID and an account state; stack information; collecting the flow of the appointed gateway request interface, obtaining the appointed gateway name in the diagnosis instruction, and uploading the request parameter of the interface corresponding to the gateway name and the record of the returned content.
Further, collecting the flow of the specified gateway request interface specifically includes: after receiving the diagnosis instruction, the mobile client reads the gateway name of the specified gateway request interface, traverses the gateway name list during each network request, records the network request data to the local if the gateway of the network request is in the list, records at most three network request data in the same gateway, and executes the network request data according to the first-in first-out principle if the number of the network request data exceeds three; and after the diagnosis instruction is triggered, the locally stored network request data is read and uploaded.
Further, the content of the hot repair instruction includes: the method comprises the steps of determining the version number of a client targeted by a hot repair instruction, the ID of the hot repair instruction, the BundleID of the client targeted by the hot repair instruction, whether the hot repair instruction is effective once or durably, the class name of a code block embedded by the hot repair instruction, the method or function of the code block embedded by the hot repair instruction and a code string to be executed by the hot repair instruction.
Further, the step S5 specifically includes: s51: matching the mobile client needing thermal repair according to the client BundleID and the version number aimed at by the thermal repair instruction; s52: the matched mobile client judges whether the hot repair instruction is effective once or durably, if the hot repair instruction is effective durably, the hot repair instruction is stored locally, and the diagnosis instruction is executed when the application runs each time; if the application is effective for a single time, executing a hot repair instruction when the application operates for the first time; s53: acquiring a code character string required to be executed by the hot repair instruction, and analyzing the code character string into an executable code serving as a hot repair code through an interpreter; s54: acquiring the class name of the code block embedded by the hot repair instruction and the method or function embedded in the code block, and Hook-holding the method or function in the class by means of AOP, embedding the hot repair code parsed in step S23 into the method or function, and executing the hot repair code when the method or function is executed, thereby completing the hot repair.
Furthermore, the diagnosis instruction is issued to the mobile terminal which feeds back the problem and is issued to other mobile terminals through the gray scale, and the other mobile terminals trigger the uploading of the diagnosis log when meeting the same problem; the mobile client can receive and record a plurality of diagnosis instructions simultaneously, and when the conditions for triggering the diagnosis instructions are met, the diagnosis information is respectively collected and uploaded.
Further, the diagnostic instructions and thermal repair instructions may revoke: when the issued diagnosis instruction or thermal repair instruction has problems, the problematic diagnosis instruction or thermal repair instruction is deleted by issuing a cancel instruction; the contents of the revocation instruction are the IDs of the diagnosis instructions or the hot repair instructions required to be revoked, and a plurality of diagnosis instructions or hot repair instructions can be revoked simultaneously.
Further, the format of the diagnosis instruction, the hot repair instruction and the cancel instruction is 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, the instruction is issued to the target equipment, the environment and debugging information required by problem troubleshooting are grabbed and used for investigating the reason of the problem, and the diagnosis efficiency is improved; the code interpreter analyzes the executed code character string into the executable code, so that the rule limitation of hot repair is solved, the hot repair of the mobile application is realized without depending on version, and the efficiency of problem diagnosis and repair is improved.
Drawings
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the principles of the invention and not to limit the invention. In the drawings:
FIG. 1 is a flow chart of a method for remote diagnosis and hot repair of a mobile application according to an embodiment of the present invention;
FIG. 2 is a flow chart of remote diagnostics in an embodiment of the present invention;
fig. 3 is a schematic diagram of interface flow records of a designated gateway in the embodiment of the present invention.
Detailed Description
The preferred embodiments of the present invention will be described in conjunction with the accompanying drawings, and it will be understood that they are described herein for the purpose of illustration and explanation and not limitation.
Example 1
Fig. 1 is a flowchart of a method for remote diagnosis and thermal remediation for a mobile application according to an embodiment of the present invention.
Referring to fig. 1, a mobile application remote diagnosis and thermal remediation method according to an embodiment of the present invention includes the following steps:
s1: an MIS (management information system) end remotely issues a diagnosis instruction to a mobile client through a long connection, wherein the diagnosis instruction sets a trigger 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 trigger condition of the diagnosis instruction into an executable code through an interpreter, and embeds the code into the mobile client for attaching execution;
s3: the mobile client returns an execution result after executing the code, and if the execution result identifies that the diagnosis instruction is triggered, the mobile client simultaneously returns the acquired diagnosis information set in the step S1 to the MIS end to complete diagnosis;
s4: the MIS terminal remotely issues a heating repair instruction to the mobile client terminal through long connection after confirming the problem point according to the returned diagnosis information acquired in the step S3;
s5: after receiving the hot repair instruction, the mobile client analyzes the hot repair instruction, analyzes the code character string to be executed into an executable code through an interpreter, and embeds the code into the mobile client for attaching execution to complete hot repair.
The MIS end issues a diagnosis instruction through long connection, the format of the diagnosis instruction is JSON text, and the contents of the diagnosis instruction comprise:
1. a client version number to which the current diagnostic instruction is directed;
2. the ID of the current diagnostic instruction;
3. the BundleID of the client to which the current diagnosis instruction is directed;
4. whether the current diagnostic instruction is in single-pass or persistent effect;
5. the 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. the execution time of the current diagnosis instruction embedded method or function (the execution before/after or the replacement execution of the original method or function);
8. a condition triggered by a current diagnostic instruction;
9. the information required to be collected by the current diagnosis instruction comprises three contents:
a) the variable value or the return value of the method/function in the program execution which needs to be collected, the array format, and the element are code character strings;
b) debugging information to be uploaded is in an array format, and elements are enumerated values of the debugging information and include basic information of equipment and users, stack information and flow information of user network request interfaces;
c) the gateway name, array format, element are gateway interface name, only collect the assembly line of the appointed gateway request interface after setting up.
Referring to fig. 2, after the mobile client receives the diagnosis instruction, the mobile client executes the following steps:
judging the client side BundleID and the version number which are aimed at by the diagnosis instruction, and executing the diagnosis instruction only under the condition that the client side BundleID and the version number are matched;
judging whether the diagnosis instruction is effective once or in a lasting way, if the diagnosis instruction is effective in a lasting way, storing the diagnosis instruction to the local, and executing the diagnosis instruction when the application runs each time;
acquiring conditions triggered by the diagnosis instruction, and traversing and executing if the conditions are multiple; the triggering condition of the instruction is an expression of returning Boolean value, a character string format, and the expression code is analyzed into executable expression code through an interpreter;
acquiring a class and a method name which are required to be embedded by diagnosis instruction condition codes, and Hook-holding a method in the class by using an AOP (aspect oriented programming) mode (the iOS can use open source library Aspects, and the Android can use open source library Aspects), wherein the diagnosis condition codes are attached and executed when the method is executed;
when the method or the function for embedding the diagnostic instruction condition codes is executed, the condition codes triggered by diagnosis are executed according to the execution time/mode in the diagnostic instruction, and if the condition is met, the acquisition of diagnostic information is triggered.
After the condition of the diagnosis information acquisition is triggered, acquiring the contents required to be acquired in the diagnosis instruction:
1. if the variable value in the program execution needs to be acquired, reading the variable name of the variable value, and acquiring the variable value in a runtime mode; if a method or a function of a single step or a plurality of steps with a return value needs to be collected, analyzing the character string into a code through an interpreter and executing to obtain the return value;
2. acquiring debugging information required to be acquired, comprising the following steps:
a) the device and user basic information includes device name, system version number, device type, UUID (universal unique identifier), application version number, memory/CPU/disk usage rate, user information, login name, user ID, and account status;
b) stack information;
c) and acquiring a gateway name specified in the diagnosis instruction, and uploading request parameters of an interface corresponding to the gateway name and a record of returned content.
Referring to fig. 3, for the pipelining of network requests, the implementation flow is as follows:
after receiving a diagnosis instruction, a client reads a gateway name required to be recorded, a gateway list required to be recorded is traversed each time of network request, if the gateway required by the network request is in the list, network request data is recorded to the local, and the same gateway records at most three gateways, more than three gateways and first in first out; and when the condition for diagnosing the acquired information is triggered, reading a locally stored gateway data request record and uploading.
Target and range of diagnostic command issue: generally speaking, the problems encountered by the users are definitely not isolated, and the problems encountered by a certain user and other users may also encounter, so the issued rules can be issued to the users who feed back the problems, and can also be issued to other users in a gray scale manner, and once the users encounter the same problems, the uploading of the diagnosis logs 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 respectively triggers the debugging information to be acquired and uploads the debugging information.
Acquiring, uploading and displaying diagnostic information: after the diagnostic information is collected, the diagnostic information is uploaded to a server through a client calling interface, and the server receives the collected information and then displays the information through an MIS (management information system) end.
Revocation of diagnostic instructions: when a problem is found in a diagnosis instruction issued at a certain time, the diagnosis instruction issued before can be deleted by issuing an instruction for canceling diagnosis; the content of the command for canceling the diagnosis is the ID of the diagnosis command to be canceled, and the array format can cancel a plurality of diagnosis commands at one time.
The MIS end issues a hot repair instruction through long connection, the format of the hot repair instruction is JSON text, and the content of the hot repair instruction comprises the following steps:
1. a client version number to which the current hot repair instruction is directed;
2. the ID of the current hot fix instruction;
3. the BundleID of the client to which the current hot repair instruction is directed;
4. whether the current hot repair instruction is effective once or durably;
5. the class name of the code block in which the current hot repair instruction is embedded;
6. a method or function of a code block in which the current hot fix instruction is embedded;
7. the current hot fix instruction requires a string of code to execute.
After the mobile client receives the hot repair instruction, the execution steps are as follows:
judging the client side BundleID and the version number which are aimed at by the hot repair instruction, and executing the hot repair instruction only under the condition that the client side BundleID and the version number are matched;
judging whether the hot repair instruction is effective once or in a lasting way, if the hot repair instruction is effective in a lasting way, storing the hot repair instruction to the local, and executing the hot repair instruction when the application runs each time;
acquiring a character string of a hot repair instruction execution code, converting the character string into an executable code through an interpreter, wherein the interpreter is based on the principle of matching code keywords, for example (taking an iOS platform as an example), a point symbol is a setter or getter method, if characters are conditional judgment, and [ ] is an execution method, and the character string can be directly converted into a PerformMSelector method for execution;
acquiring the embedded class and method name required by the hot repair instruction code, and Hook holding the method in the class in an AOP mode (the iOS can use open source library Aspects, and the Android can use open source library AspectJ), and when the method is executed, attaching and executing the hot repair code.
The hot repair instruction and the diagnosis instruction are the same and also support the cancel operation, and the cancel mode is the same as the diagnosis instruction and is not described again.
In summary, according to the mobile application remote diagnosis and thermal restoration method provided by the embodiment of the invention, the environment and debugging information required by problem troubleshooting are captured for investigating the cause of the problem by issuing the instruction to the target device, so that the diagnosis efficiency is improved; the code interpreter analyzes the executed code character string into the executable code, so that the rule limitation of hot repair is solved, the hot repair of the mobile application is realized without depending on version, and the efficiency of problem diagnosis and repair is improved.
Finally, it should be noted that: although the present invention has been described in detail with reference to the foregoing embodiments, it will be apparent to those skilled in the art that changes may be made in the embodiments and/or equivalents thereof without departing from the spirit and scope of the invention. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims (10)
1. A mobile application remote diagnosis and thermal restoration method is characterized by comprising the following steps:
s1: the MIS end remotely issues a diagnosis instruction to the mobile client through long connection, and the diagnosis instruction sets a trigger 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 trigger condition of the diagnosis instruction into an executable code through an interpreter, and embeds the code into the mobile client for attaching execution;
s3: the mobile client returns an execution result after executing the code, and if the execution result identifies that the diagnosis instruction is triggered, the mobile client simultaneously returns the acquired diagnosis information set in the step S1 to the MIS end to complete diagnosis;
s4: the MIS terminal remotely issues a heating repair instruction to the mobile client terminal through long connection after confirming the problem point according to the returned diagnosis information acquired in the step S3;
s5: after receiving the hot repair instruction, the mobile client analyzes the hot repair instruction, analyzes the code character string to be executed into an executable code through an interpreter, and embeds the code into the mobile client for attaching execution to complete hot repair.
2. The mobile application remote diagnosis and thermal remediation method of claim 1 wherein the contents of the diagnostic instructions include: the method comprises the steps that the client version number of a diagnosis instruction, the ID of the diagnosis instruction, the BundleID of a client to which the diagnosis instruction is directed, whether the diagnosis instruction is effective once or durably, the class name of a code block embedded by the diagnosis instruction, the method or function of the code block embedded by the diagnosis instruction, the execution time in the method or function embedded by the diagnosis instruction, the trigger condition of the diagnosis instruction and the diagnosis information required to be collected by the diagnosis instruction are determined; the diagnostic information to be acquired by the diagnostic instruction specifically includes: the variable value or the return value of the method/function in the program execution adopts an array format, and the elements of the array are code character strings; diagnosing debugging information, wherein an array format is adopted, elements of an array are enumerated values of the debugging information, and the enumerated values of the debugging information comprise basic information of equipment and users, stack information and flow information of user network request interfaces; the gateway name adopts an array format, the elements of the array are the appointed gateway interface names, and only the running water of the appointed gateway request interface is collected after the gateway name is set.
3. The method for remote diagnosis and thermal restoration of a mobile application according to claim 2, wherein the step S2 specifically comprises:
s21: matching the mobile client to be diagnosed according to the client BundleID and the version number aimed at by the diagnosis instruction;
s22: the matched mobile client judges whether the diagnosis instruction is effective once or in a lasting way, if the diagnosis instruction is effective in a lasting way, the diagnosis instruction is stored to the local, and the diagnosis instruction is executed when the application runs each time; if the application is effective for a single time, executing a diagnosis instruction when the application operates for the first time;
s23: acquiring a trigger condition of a diagnosis instruction, wherein the trigger condition is a section of string-format expression returning Boolean values, and the trigger condition is analyzed into executable expression codes through an interpreter to serve as diagnosis condition codes;
s24: acquiring a class name of a code block embedded by the diagnosis instruction and a method or a function embedded in the code block, and Hook-holding the method or the function in the class by means of AOP, embedding the diagnosis condition code analyzed in the step S23 into the method or the function, and executing the diagnosis condition code when the method or the function is executed;
s25: when the method or the function for embedding the diagnostic instruction condition codes is executed, the diagnostic instruction condition codes are executed according to the execution time in the method or the function for embedding the diagnostic instruction, and if the condition of the diagnostic instruction condition codes is met, the diagnostic instruction is triggered and the diagnostic information is collected.
4. The method for remote diagnosis and thermal restoration for mobile applications according to claim 3, wherein 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 running; collecting the return value of the method or function with a single step or a plurality of steps of the return value, analyzing the character string into a code through an interpreter, and acquiring the return value after execution; collecting diagnostic debugging information, comprising: the basic information of the equipment and the user specifically comprises an equipment name, a system version number, an equipment type, a UUID, an application version number, the utilization rate of a memory/CPU/disk, user information, a login name, a user ID and an account state; stack information; collecting the flow of the appointed gateway request interface, obtaining the appointed gateway name in the diagnosis instruction, and uploading the request parameter of the interface corresponding to the gateway name and the record of the returned content.
5. The method of claim 4, wherein collecting the flow of the specified gateway request interface comprises: after receiving the diagnosis instruction, the mobile client reads the gateway name of the specified gateway request interface, traverses the gateway name list during each network request, records the network request data to the local if the gateway of the network request is in the list, records at most three network request data in the same gateway, and executes the network request data according to the first-in first-out principle if the number of the network request data exceeds three; and after the diagnosis instruction is triggered, the locally stored network request data is read and uploaded.
6. The mobile application remote diagnosis and thermal remediation method of claim 1 wherein the content of the thermal remediation instructions comprises: the method comprises the steps of determining the version number of a client targeted by a hot repair instruction, the ID of the hot repair instruction, the BundleID of the client targeted by the hot repair instruction, whether the hot repair instruction is effective once or durably, the class name of a code block embedded by the hot repair instruction, the method or function of the code block embedded by the hot repair instruction and a code string to be executed by the hot repair instruction.
7. The method for remote diagnosis and thermal restoration for mobile applications according to claim 6, wherein the step S5 specifically comprises:
s51: matching the mobile client needing thermal repair according to the client BundleID and the version number aimed at by the thermal repair instruction;
s52: the matched mobile client judges whether the hot repair instruction is effective once or durably, if the hot repair instruction is effective durably, the hot repair instruction is stored locally, and the diagnosis instruction is executed when the application runs each time; if the application is effective for a single time, executing a hot repair instruction when the application operates for the first time;
s53: acquiring a code character string required to be executed by the hot repair instruction, and analyzing the code character string into an executable code serving as a hot repair code through an interpreter;
s54: acquiring the class name of the code block embedded by the hot repair instruction and the method or function embedded in the code block, and Hook-holding the method or function in the class by means of AOP, embedding the hot repair code parsed in step S23 into the method or function, and executing the hot repair code when the method or function is executed, thereby completing the hot repair.
8. The method for remote diagnosis and thermal restoration of mobile applications according to claim 1, wherein the diagnosis instruction is issued to the mobile terminal with feedback problem and is issued to other mobile terminals through gray scale, and the other mobile terminals trigger the uploading of diagnosis logs when encountering the same problem; the mobile client can receive and record a plurality of diagnosis instructions simultaneously, and when the conditions for triggering the diagnosis instructions are met, the diagnosis information is respectively collected and uploaded.
9. The mobile application remote diagnostic and thermal remediation method of claim 1 wherein the diagnostic instructions and thermal remediation instructions are revocable: when the issued diagnosis instruction or thermal repair instruction has problems, the problematic diagnosis instruction or thermal repair instruction is deleted by issuing a cancel instruction; the contents of the revocation instruction are the IDs of the diagnosis instructions or the hot repair instructions required to be revoked, and a plurality of diagnosis instructions or hot repair instructions can be revoked simultaneously.
10. The mobile application remote diagnosis and thermal remediation method of claim 9 wherein the diagnosis instructions, thermal remediation instructions, and undo instructions are in JSON text format.
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 true CN112181805A (en) | 2021-01-05 |
CN112181805B 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 |
---|
李斌等: "终端通信问题诊断方法研究及应用", 《移动通信》, no. 11, 15 June 2013 (2013-06-15), pages 70 - 74 * |
Also Published As
Publication number | Publication date |
---|---|
CN112181805B (en) | 2024-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110928774B (en) | Automatic test system based on node type | |
CN107870933B (en) | Method, device and system for counting android application page browsing behaviors | |
US7644312B2 (en) | Virtual machine monitoring for application operation diagnostics | |
US7165194B2 (en) | Technical support for software products | |
CN103729294B (en) | Method and device for testing performance script of application software | |
US20070213966A1 (en) | Traffic generator program | |
US20130198333A1 (en) | Method and device for recording and reproducing web operation | |
CN105824754A (en) | Method for abnormally capturing and uploading Python of client program | |
CN103678124B (en) | Video surveillance platform auto-test method and device based on continuous integrated environment | |
CN111052087B (en) | Control system, information processing apparatus, and recording medium | |
CN107153539B (en) | File interface system | |
CN113672502A (en) | Program multi-system testing method and corresponding device, equipment and medium | |
CN112181805A (en) | Mobile application remote diagnosis and thermal restoration method | |
JP4672532B2 (en) | Operator simulation system and operator simulation method | |
JP2016071398A (en) | Test execution device, test execution method, and computer program | |
CN114661569B (en) | Dynamic buried point acquisition method for user behavior data | |
JP2005122698A (en) | Method for remote failure diagnosis and system thereof | |
JP2014078126A (en) | Remote log collection system for equipment and remote log collection method for equipment | |
JP4612598B2 (en) | Server operation support system, server operation support method, and program | |
CN109542414B (en) | Mass production software autonomous compiling system | |
JP6353759B2 (en) | Test execution device, test execution method, and computer program | |
CN112463083A (en) | Remote collection method and system for information of substrate control manager | |
CN111694671A (en) | Big data component management method, device, server, electronic equipment and system | |
JP7475086B1 (en) | Editing method, editing device, and program | |
TWI851477B (en) | Device and method for managing external field based on low code |
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 |