CN110471787A - Problem catching method, system, device, electronic equipment and storage medium on line - Google Patents
Problem catching method, system, device, electronic equipment and storage medium on line Download PDFInfo
- Publication number
- CN110471787A CN110471787A CN201910777921.1A CN201910777921A CN110471787A CN 110471787 A CN110471787 A CN 110471787A CN 201910777921 A CN201910777921 A CN 201910777921A CN 110471787 A CN110471787 A CN 110471787A
- Authority
- CN
- China
- Prior art keywords
- capture
- target
- preset
- input information
- user
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 115
- 238000003860 storage Methods 0.000 title claims abstract description 32
- 230000008569 process Effects 0.000 claims abstract description 62
- 230000002452 interceptive effect Effects 0.000 claims description 21
- 238000005516 engineering process Methods 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 7
- 238000012550 audit Methods 0.000 claims description 5
- 238000002347 injection Methods 0.000 claims description 4
- 239000007924 injection Substances 0.000 claims description 4
- 238000004519 manufacturing process Methods 0.000 abstract description 6
- 238000003745 diagnosis Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 12
- 230000006872 improvement Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 230000000712 assembly Effects 0.000 description 4
- 238000000429 assembly Methods 0.000 description 4
- 230000002708 enhancing effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 239000000243 solution Substances 0.000 description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 208000033748 Device issues Diseases 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012800 visualization 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/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0712—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a virtual computing platform, e.g. logically partitioned systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0727—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
Abstract
This specification embodiment provides problem catching method, system, device, electronic equipment and storage medium on a kind of line.The described method includes: receiving the input information of user, and according to the input information searching target process;Preset bytecode is injected in the corresponding target JAVA virtual machine of the target process;Capture request is received, and is requested according to the capture, the preset byte Code acquisition target data is executed;Return to the target data of the capture.This method can realize problem diagnosis on line in the non-stop-machine situation of system, rapidly and efficiently orientation problem, ensure that production run is stablized.
Description
Technical field
This specification embodiment is related to field of computer technology, in particular to problem catching method, system, dress on a kind of line
It sets, electronic equipment and storage medium.
Background technique
With the fast development of cloud computing technology, the application of distributed type assemblies is received more and more attention, in a distributed manner
For storage system, distributed memory system uses expansible system structure, shares storage load using multiple servers, no
But the reliability, availability and storage efficiency of system are improved, and is easy to extend.For distributed memory system distributed
For cluster, the stability and reliability of cluster are most important.
Distributed type assemblies hundreds and thousands of a nodes easily, once a certain link breaks down or performance bottleneck, traditional O&M
Mode generally requires that system-down is checked log on more machines repeatedly, is often required to across multiple the investigation of simple problem
Platform and team diagnose more difficult, to need cost very big between research and development and test ditch for being difficult to the problem of reappearing on line
Logical cost, it is very low that problem checks efficiency.
Summary of the invention
The purpose of this specification embodiment is to provide problem catching method, system, device, electronic equipment on a kind of line and deposits
Storage media, to realize problem diagnosis on line in the non-stop-machine situation of system, rapidly and efficiently orientation problem, ensures that production run is steady
It is fixed.
To solve the above problems, this specification embodiment provides problem catching method, system, device, electronics on a kind of line
What equipment and storage medium were realized in.
Problem catching method on a kind of line, which comprises receive the input information of user, and believed according to the input
Breath searches target process;Preset bytecode is injected in the corresponding target JAVA virtual machine of the target process;Receive capture
Request, and requested according to the capture, execute the preset byte Code acquisition target data;Return to the number of targets of the capture
According to.
Problem capture systems on a kind of line, the system comprises interactive devices and acquisition equipment;The interactive device is used for
Input information, the capture request of user are received, and the input information of the user, capture request are issued to the capture and filled
It sets, and receives the data that the acquisition equipment returns;The acquisition equipment is used for the input information searching target according to user
Process;Preset bytecode is injected in the corresponding target JAVA virtual machine of the target process;It is requested according to capture, executes institute
State preset byte Code acquisition target data;The target data of the capture is returned to interactive device.
Problem acquisition equipment on a kind of line, described device includes: searching module, for receiving the input information of user, and
According to the input information searching target process;Injection module, in the corresponding target JAVA virtual machine of the target process
The middle preset bytecode of injection;Execution module is requested for receiving capture request, and according to the capture, is executed described default
Byte Code acquisition target data;Return module, for returning to the target data of the capture.
A kind of electronic equipment, comprising: network communication unit, for receiving input information, the capture request of user;Processing
Device, for the input information searching target process according to user;It is infused in the corresponding target JAVA virtual machine of the target process
Enter preset bytecode;It is requested according to capture, executes the preset byte Code acquisition target data;Return to the mesh of the capture
Mark data.
A kind of computer readable storage medium is stored thereon with computer program instructions, the computer program instructions quilt
It is realized when execution: receiving the input information of user, and according to the input information searching target process;In the target process pair
Preset bytecode is injected in the target JAVA virtual machine answered;Capture request is received, and is requested according to the capture, described in execution
Preset byte Code acquisition target data;Return to the target data of the capture.
The technical solution provided by above this specification embodiment is as it can be seen that problem is caught on the line that this specification embodiment provides
Method is obtained, can receive the input information of user, and according to the input information searching target process;In the target process pair
Preset bytecode is injected in the target JAVA virtual machine answered;Capture request is received, and is requested according to the capture, described in execution
Preset byte Code acquisition target data;Return to the target data of the capture.The method that this specification embodiment provides can be with
Online capture ability in real time is provided, is not interrupting current JAVA virtual machine, i.e., problem of implementation is caught in the non-stop-machine situation of system
It obtains, solves the pain spot of offline case study mode inefficiency, the node to go wrong is enabled directly to carry out on-line debugging, side
Just using team, rapidly and efficiently orientation problem, Upgrade Problem check efficiency, ensure that production run is stablized.
Detailed description of the invention
In order to illustrate more clearly of this specification embodiment or technical solution in the prior art, below will to embodiment or
Attached drawing needed to be used in the description of the prior art is briefly described, it should be apparent that, the accompanying drawings in the following description is only
The some embodiments recorded in this specification, for those of ordinary skill in the art, before not making the creative labor
It puts, is also possible to obtain other drawings based on these drawings.
Fig. 1 is problem capture systems schematic diagram on a kind of line of this specification embodiment;
Fig. 2 is the flow chart of problem catching method on a kind of line of this specification embodiment;
Fig. 3 is the functional module map flow chart of problem acquisition equipment on a kind of line of this specification embodiment;
Fig. 4 is the configuration diagram of this specification embodiment a kind of electronic equipment.
Specific embodiment
Below in conjunction with the attached drawing in this specification embodiment, the technical solution in this specification embodiment is carried out clear
Chu is fully described by, it is clear that described embodiment is only this specification a part of the embodiment, rather than whole implementation
Example.The embodiment of base in this manual, those of ordinary skill in the art are obtained without making creative work
Every other embodiment, all should belong to this specification protection range.
Referring to Fig. 1, this specification embodiment provides problem capture systems 100 on a kind of line.Problem captures on the line
System 100 includes interactive device 110 and acquisition equipment 120.
In the hundreds and thousands of a nodes of distributed type assemblies, once a certain link breaks down or performance bottleneck, user can be with
The IP address of server is determined according to the node of failure or performance bottleneck, and in certain processes in the server
Method and class captured, and the reason of going wrong, is determined according to the execution of these methods.
The front end of problem capture systems 100 on the line is arranged in the interactive device 110, for being received by the interface UI
The input information of user, capture request, and the input information of the user, capture request are issued to acquisition equipment 120, and
The capture result that acquisition equipment 120 returns is fed back into user.Wherein, the input information may include destination server IP
Location, target process keyword;The capture request includes the class name and method name that user to be captured.
The interactive device 110 can be a server;Alternatively, can also be the server set for including multiple servers
Group.The interactive device 110 may include receiving unit and issuance unit.Institute's receiving unit is used to receive the input letter of user
Breath, capture request, the input information may include destination server IP address, target process keyword, the capture request
It may include the class name and method name that user to be captured;The issuing unit is used to ask the input information of the user, capture
It asks and is issued to acquisition equipment 120, and the capture result that acquisition equipment 120 returns is fed back into user.
The acquisition equipment 120 is used for the input information searching target process according to user, and in the target process pair
Preset bytecode is injected in the target JAVA virtual machine answered, is requested further according to capture, the preset byte Code acquisition is executed
Target data, and the target data of the capture is returned to interactive device 110.
In the present embodiment, the bytecode is commonly referred to as having already passed through compiling, but unrelated with specific machine code, needs
The intermediate code of machine code could be become after wanting Command Interpreter to translate, bytecode can allow people to read usually unlike source code, and
It is the sequence of the compositions such as numeric constant, reference, instruction after coding, bytecode is realized mainly for realizing specific software operation
Mode be by compiler and virtual machine, source code is compiled into bytecode by compiler, and virtual machine on particular platform will
Bytecode translates to the instruction that can directly execute.Wherein, the typical case of bytecode is Java language, and Java bytecode is usual
It is the .classes file obtained after Java code compiles, can be correctly executed by Java Virtual Machine.It is wherein described preset
Bytecode can be used for being requested according to capture, capture target data.
In the present embodiment, Java Virtual Machine is a kind of for calculating the specification of equipment, it is one and fabricates out
Computer, be by actual computer analogue simulation various computer functions realize.Java Virtual Machine usually wraps
It is virtual to include a set of byte code instruction collection, one group of register, a stack, a garbage reclamation heap and a storage method domain, Java
Machine shields information relevant to specific operating system platform, makes java applet that need to only generate the word run on a java virtual machine
Save code, so that it may run in kinds of platform, bytecode actually or is construed to by Java Virtual Machine when executing bytecode
Machine instruction on platform specific executes.
The acquisition equipment 120 can be a server;Alternatively, can also be the server set for including multiple servers
Group.The acquisition equipment 120 may include start unit and capturing unit.The start unit is used for the pass inputted according to user
Key word searches target process, and injects preset bytecode in the corresponding target JAVA virtual machine of the target process;It is described
Capturing unit is used to be requested according to capture, executes the preset byte Code acquisition target data, and return to the mesh of the capture
Data are marked to interactive device 110.Wherein, the target data may include method name, class name, execute time-consuming, input ginseng it is defeated, different
The information such as normal storehouse, return value.
In some embodiments, the target Java Virtual Machine can be determined according to the target process, obtaining target
In Software Development Kit (JDK) lib catalogue tools.jar after process, such as by calling Java language
The attach method of VirtualMachine class, the Java Virtual Machine where when crawl target process is run, obtains target Java
Virtual machine object;It is based on byte code enhancement technology again, preset bytecode is injected in the target Java Virtual Machine, executes institute
Preset bytecode is stated, capture target data can be requested according to the capture.
Above-mentioned byte code enhancement technology refers to modifying to it after Java bytecode generates, enhancing its function,
This mode, which is equivalent to, modifies to the binary file of application program, and the application scenarios that Java bytecode enhances technology are main
It is to reduce redundant code, the realization details of bottom is shielded to developer.Byte code enhancement technology usually can there are two types of realize
Mechanism: one is a subclasses by creation primitive class;Another kind is the mode of very violence, directly goes to modify originally
Class bytecode.
Realize that byte code enhancement technology can be realized by following two steps.
Step 1: getting original bytecode in memory, then pass through some other API (such as ASM, Javaasist)
It modifies its byte array, obtains a new byte array;
Step 2: this new byte array being write into the region PermGen, that is, loads it or replaces original Class
Bytecode, bytecode enhancing can also be transferred in process with completion.
In some embodiments, the capturing unit can be refused when executing the preset byte Code acquisition target data
Capture request duplicate absolutely just continues to next capture after waiting the capture being carrying out request to return to capture result
Request.
In some embodiments, the capturing unit is when executing the preset byte Code acquisition target data, can be with
Judge whether the duration for executing the preset byte Code acquisition target data is more than preset threshold, if it is, returning
Capture time-out terminates capture operation.
In some embodiments, problem capture systems 100 further include gateway apparatus 130 on the line.The gateway apparatus
The capture ability of acquisition equipment 120 for the communication in problem capture systems 100 on unified agent line, is packaged into API and connect by 130
Confession other systems are called.The gateway apparatus 130 may include communication unit, message converting unit and con current control unit,
The communication unit such as receives the defeated of the user that interactive device 110 issues for docking interactive device 110 and acquisition equipment 120
Enter information, capture request, receive acquisition equipment 120 and return to the target data of the capture, it is simple for, the communication unit
The capture ability of acquisition equipment 120 can be packaged into api interface to call to interaction end;The message converting unit will be for that will hand over
The input information of the received user of mutual device 110, capture are requested and the capture result of the return of acquisition equipment 120 is read out, group
Dress, cutting etc., finally convert the data into structural data (such as JSON format) and are returned by REST interface.The con current control
Unit is used to, since server connection resource is limited, need in gateway apparatus 130 when more people occur while being captured online
Middle offer con current control function, to prevent locking system overload.Wherein, the con current control function, which refers to work as, has multiple threads operating
When, if only one CPU of system, it will not carry out more than one thread simultaneously, it can only divide CPU runing time
At several periods, then each thread will be distributed to the period and executed, it is other in the thread code operation of a period
Thread, which is in, hangs up shape.
In some embodiments, problem capture systems 100 further include audit device 140 on the line.The audit device
140 for auditing for the sensitive operation of user's operation especially production environment, to the daily access situation of user, carries out not
With the statistics of dimension.The audit device 140 may include auditable unit, storage unit and display unit 43, the record
Member is for recording the access information of user, comprising: who, when, done what operation etc., as the ID of user, capture request,
Capture request time, returns the result capture duration;Data of the storage unit for unified storage recording unit records,
The storage and cleaning of data are realized by table subregion;The display unit is used to show that security audit is believed using visualization tool
Breath, such as access inventory, amount of access trend, access details.
In some embodiments, problem capture systems 100 further include playback reproducer 150 on the line.The playback reproducer
150, for storing the target data that the acquisition equipment 120 captures, when receiving playback request, deposit described in return
The target data of storage.Specifically, the playback reproducer 150 can deposit the target data that the acquisition equipment 120 captures
Storage, and the target data that a unique ID tag this time captures is generated, want back further according to the playback request of user, such as input
The corresponding ID of the target data put, the playback reproducer 150 can play back the target data of storage.Pass through playback reproducer
150 can make user when needing to capture identical information, without issuing capture request again through interactive device 110, directly
Target data can be obtained by playback reproducer by inputting the ID.
Fig. 2 is the flow chart of problem catching method on a kind of line of this specification embodiment.Problem catching method on the line
It can be applied to acquisition equipment, can specifically include following steps.
S210: the input information of user is received, and according to the input information searching target process.
In the hundreds and thousands of a nodes of distributed type assemblies, once a certain link breaks down or performance bottleneck, user can be with
The IP address of server is determined according to the node of failure or performance bottleneck, and in certain processes in the server
Method and class captured, and the reason of going wrong, is determined according to the execution of these methods.
In some embodiments, acquisition equipment can receive the input information for the user that interactive device issues, wherein described
Interactive device can receive the input information of user by the interface UI.The input information may include destination server IP
Location, target process keyword, for upper cloud application, the input information can also include container IP address.
In some embodiments, the destination server IP address or container IP address that can be inputted according to user determine target
Server or target container, and target process is searched according to target process keyword.
In some embodiments, it is determined that, can be according to target process keyword after destination server or target container
Target process is searched, using the process comprising the keyword as target process.
S220: preset bytecode is injected in the corresponding target JAVA virtual machine of the target process.
The bytecode is commonly referred to as having already passed through compiling, but unrelated with specific machine code, after needing Command Interpreter to translate
The intermediate code of machine code could be become, bytecode can allow people to read usually unlike source code, but the numerical value after encoding
The sequence of the compositions such as constant, reference, instruction, for bytecode mainly for realizing specific software operation, the mode of realization is to pass through volume
Device and virtual machine are translated, source code is compiled into bytecode by compiler, and the virtual machine on particular platform translates to bytecode can
With the instruction directly executed.Wherein, the typical case of bytecode is Java language, and Java bytecode is usually Java code compiling
The .classes file obtained afterwards can correctly be executed by Java Virtual Machine.Wherein the preset bytecode can be used for
It is requested according to capture, captures target data.
The Java Virtual Machine is a kind of for calculating the specification of equipment, and it is logical that it, which is one and fabricates the computer come out,
On actual computer various computer functions of analogue simulation are crossed to realize.Java Virtual Machine generally includes a set of bytecode
Instruction set, one group of register, a stack, a garbage reclamation heap and a storage method domain, Java Virtual Machine shield and have
The relevant information of body operating system platform, makes java applet that need to only generate the bytecode run on a java virtual machine, so that it may
It is run in kinds of platform, bytecode actually or is construed on platform specific by Java Virtual Machine when executing bytecode
Machine instruction execute.
In some embodiments, the target Java Virtual Machine can be determined according to the target process, obtaining target
In Software Development Kit (JDK) lib catalogue tools.jar after process, such as by calling Java language
The attach method of VirtualMachine class, the Java Virtual Machine where when crawl target process is run, obtains target Java
Virtual machine object;It is based on byte code enhancement technology again, preset bytecode is injected in the target Java Virtual Machine, executes institute
Preset bytecode is stated, capture target data can be requested according to the capture.
Above-mentioned byte code enhancement technology refers to modifying to it after Java bytecode generates, enhancing its function,
This mode, which is equivalent to, modifies to the binary file of application program, and the application scenarios that Java bytecode enhances technology are main
It is to reduce redundant code, the realization details of bottom is shielded to developer.Byte code enhancement technology usually can there are two types of realize
Mechanism: one is a subclasses by creation primitive class;Another kind is the mode of very violence, directly goes to modify originally
Class bytecode.
Realize that byte code enhancement technology can be realized by following two steps.
Step 1: getting original bytecode in memory, then pass through some other API (such as ASM, Javaasist)
It modifies its byte array, obtains a new byte array;
Step 2: this new byte array being write into the region PermGen, that is, loads it or replaces original Class
Bytecode, bytecode enhancing can also be transferred in process with completion.
S230: capture request is received, and is requested according to the capture, the preset byte Code acquisition number of targets is executed
According to.
In some embodiments, the acquisition equipment can receive capture request, wherein the capture request may include
The class name and method name that user to be captured.For example, acquisition equipment can receive the capture request that interactive device issues, wherein institute
The capture solicited message that user issues can be received by the interface UI by stating interactive device.
In some embodiments, the preset bytecode is executed, it can be according to the class name and method name in capture request
It is captured, obtains target data.For example, the class name in the capture request will be included in the class and method that execute on line
It is captured with the class and method of method name.Wherein, the target data may include method name, class name, execute time-consuming, input
Join the information such as defeated, exception stack, return value.User can analyze the target data, so that it is determined that problem goes out on line
Existing concrete reason.
In some embodiments, when executing the preset bytecode, duplicate capture request can be rejected, etc.
After capture request wait be carrying out returns the result, next capture request is continued to execute.For example, if including in capture request
Identical class name and method name can then determine that capture request repeats, and server can reject capture request, corresponding
Unduplicated capture request just continues to execute next capture and asks after the capture being carrying out request can be waited to return the result
It asks.
In some embodiments, when executing the preset bytecode, judge the execution preset bytecode
Whether the duration for capturing target data is more than preset threshold, if it is, returning to capture time-out, terminates capture operation.Specifically,
A capture duration can be set, if the duration for executing the preset byte Code acquisition target data is more than the duration,
Capture time-out is returned, terminates capture operation, connection resource is avoided to exhaust.
S240: the target data of the capture is returned.
After capturing the target data, the target data can be back to interactive device, in order to which user is logical
It crosses interactive device and obtains target data.
Problem catching method on the line that this specification embodiment provides, can receive the input information of user, and according to institute
State input information searching target process;Preset bytecode is injected in the corresponding target JAVA virtual machine of the target process;
Capture request is received, and is requested according to the capture, the preset byte Code acquisition target data is executed;Return to the capture
Target data.The method that this specification embodiment provides can provide real-time online capture ability, current not interrupting
Problem of implementation captures in the non-stop-machine situation of JAVA virtual machine, i.e. system, solves the pain of offline case study mode inefficiency
Point enables the node to go wrong directly to carry out on-line debugging, facilitates using team's rapidly and efficiently orientation problem, Upgrade Problem
Efficiency is checked, ensures that production run is stablized.
This specification embodiment additionally provides a kind of computer readable storage medium, is stored thereon with computer program and refers to
It enables, the computer program instructions are performed realization: receiving the input information of user, and according to the input information searching mesh
Mark process;Preset bytecode is injected in the corresponding target JAVA virtual machine of the target process;Receive capture request, and root
It is requested according to the capture, executes the preset byte Code acquisition target data;Return to the target data of the capture.
In the present embodiment, above-mentioned storage medium includes but is not limited to random access memory (Random Access
Memory, RAM), read-only memory (Read-Only Memory, ROM), caching (Cache), hard disk (Hard Disk
Drive, HDD) or storage card (Memory Card).The memory can be used for storing the computer program and/or mould
Block, the memory can mainly include storing program area and storage data area, wherein storing program area can storage program area,
Application program needed at least one function (such as sound-playing function, text conversion function etc.) etc.;Storage data area can deposit
Storage uses created data (such as audio data, text message data etc.) etc. according to user terminal.In addition, memory can
It can also include nonvolatile memory to include high-speed random access memory.In the present embodiment, this is computer-readable
The function and effect of the program instruction specific implementation of storage medium storage, can compare explanation, herein not with other embodiment
It repeats again.
Referring to Fig. 3, on software view, this specification embodiment additionally provides problem acquisition equipment on a kind of line, should
Device can specifically include construction module below.
Searching module 310, for receiving the input information of user, and according to the input information searching target process;
Injection module 320, for injecting preset bytecode in the corresponding target JAVA virtual machine of the target process;
Execution module 330 requests for receiving capture request, and according to the capture, executes the preset bytecode
Capture target data;
Return module 340, for returning to the target data of the capture.
In some embodiments, described device further includes judgment module, for sentencing when executing the preset bytecode
Whether the duration for executing the preset byte Code acquisition target data of breaking is more than preset threshold, is caught if it is, returning
Time-out is obtained, capture operation is terminated.
The embodiment of the present application also provides a kind of electronic equipment, as shown in figure 4, may include following equipment.
Network communication unit 410, for receiving input information, the capture request of user;
Processor 420, for the input information searching target process according to user;In the corresponding target of the target process
Preset bytecode is injected in JAVA virtual machine;It is requested according to capture, executes the preset byte Code acquisition target data;It returns
Return the target data of the capture
The network communication unit is transmitted for information, order or status information can be transmitted to from one end channel
The other end, information transmission mode may include wire transmission and wireless transmission, and wire transmission mode can by telephone wire or specially
Network information transfer is carried out with cable, wireless transmission method can carry out network information transfer by radio station, wireless network etc..
The processor can be central processing unit (Central Processing Unit, CPU), can also be it
His general processor, digital signal processor (Digital Signal Processor, DSP), specific integrated circuit
(APPlication Specific Integrated Circuit, ASIC), ready-made programmable gate array (Field-
Programmable Gate Array, FPGA) either other programmable logic device, discrete gate or transistor logic,
Discrete hardware components etc..General processor can be microprocessor or the processor is also possible to any conventional processor
Deng.
The electronic equipment that this specification embodiment provides can receive the input information of user, and be believed according to the input
Breath searches target process;Preset bytecode is injected in the corresponding target JAVA virtual machine of the target process;Receive capture
Request, and requested according to the capture, execute the preset byte Code acquisition target data;Return to the number of targets of the capture
According to.The method that this specification embodiment provides can provide real-time online capture ability, not interrupt current JAVA virtual machine,
Problem of implementation captures i.e. in the non-stop-machine situation of system, solves the pain spot of offline case study mode inefficiency, makes to obtain and ask
The node of topic can directly carry out on-line debugging, facilitate using team's rapidly and efficiently orientation problem, and Upgrade Problem checks efficiency, protects
Hinder production run to stablize.
It should be noted that all the embodiments in this specification are described in a progressive manner, each embodiment it
Between the same or similar part may refer to each other, the highlights of each of the examples are it is different from other embodiments it
Place.For Installation practice and apparatus embodiments, since it is substantially similar to the method embodiment, so description
Fairly simple, the relevent part can refer to the partial explaination of embodiments of method.
Those skilled in the art may not need creative work and expect this specification after reading this specification file
It some or all of enumerates embodiment and carries out any combination, these combinations are also in the range of this disclosure and protection.
In the 1990s, the improvement of a technology can be distinguished clearly be on hardware improvement (for example,
Improvement to circuit structures such as diode, transistor, switches) or software on improvement (improvement for method flow).So
And with the development of technology, the improvement of current many method flows can be considered as directly improving for hardware circuit.
Designer nearly all obtains corresponding hardware circuit by the way that improved method flow to be programmed into hardware circuit.Cause
This, it cannot be said that the improvement of a method flow cannot be realized with hardware entities module.For example, programmable logic device
(Programmable Logic Device, PLD) (such as field programmable gate array (Field Programmable Gate
Array, FPGA)) it is exactly such a integrated circuit, logic function determines device programming by user.By designer
Voluntarily programming comes a digital display circuit " integrated " on a piece of PLD, designs and makes without asking chip maker
Dedicated IC chip.Moreover, nowadays, substitution manually makes IC chip, this programming is also used instead mostly " is patrolled
Volume compiler (logic compiler) " software realizes that software compiler used is similar when it writes with program development,
And the source code before compiling also write by handy specific programming language, this is referred to as hardware description language
(Hardware Description Language, HDL), and HDL is also not only a kind of, but there are many kind, such as ABEL
(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description
Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL
(Java Hardware DescriptionLanguage)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware
Description Language) etc., VHDL (Very-High-Speed Integrated is most generally used at present
Circuit Hardware DescriptionLanguage) and Verilog2.Those skilled in the art also will be apparent to the skilled artisan that and only need
Method flow slightly programming in logic and is programmed into integrated circuit with above-mentioned several hardware description languages, so that it may be easy to
The hardware circuit of the accomplished logical method process.
System, device, module or the unit that above-described embodiment illustrates can specifically realize by computer chip or entity,
Or it is realized by the product with certain function.It is a kind of typically to realize that equipment is computer.Specifically, computer for example may be used
Think personal computer, laptop computer, cellular phone, camera phone, smart phone, personal digital assistant, media play
It is any in device, navigation equipment, electronic mail equipment, game console, tablet computer, wearable device or these equipment
The combination of equipment.
As seen through the above description of the embodiments, those skilled in the art can be understood that this specification
It can realize by means of software and necessary general hardware platform.Based on this understanding, the technical solution of this specification
Substantially the part that contributes to existing technology can be embodied in the form of software products in other words, the computer software
Product can store in storage medium, such as ROM/RAM, magnetic disk, CD, including some instructions are used so that a computer
Equipment (can be personal computer, server or the network equipment etc.) executes each embodiment of this specification or embodiment
Certain parts described in method.
All the embodiments in this specification are described in a progressive manner, same and similar portion between each embodiment
Dividing may refer to each other, and each embodiment focuses on the differences from other embodiments.Especially for system reality
For applying example, since it is substantially similar to the method embodiment, so being described relatively simple, related place is referring to embodiment of the method
Part explanation.
This specification can be used in numerous general or special purpose computing system environments or configuration.Such as: personal computer,
Server computer, handheld device or portable device, laptop device, multicomputer system, microprocessor-based system,
Set top box, programmable consumer-elcetronics devices, network PC, minicomputer, mainframe computer including any of the above system are set
Standby distributed computing environment etc..
This specification can describe in the general context of computer-executable instructions executed by a computer, such as journey
Sequence module.Generally, program module include routines performing specific tasks or implementing specific abstract data types, programs, objects,
Component, data structure etc..This specification can also be practiced in a distributed computing environment, in these distributed computing environment
In, by executing task by the connected remote processing devices of communication network.In a distributed computing environment, program module
It can be located in the local and remote computer storage media including storage equipment.
Although depicting this specification by embodiment, it will be appreciated by the skilled addressee that there are many become for this specification
Shape and the spirit changed without departing from this specification, it is desirable to which the attached claims include these deformations and change without departing from this
The spirit of specification.
Claims (11)
1. problem catching method on a kind of line, which is characterized in that the described method includes:
The input information of user is received, and according to the input information searching target process;
Preset bytecode is injected in the corresponding target JAVA virtual machine of the target process;
Capture request is received, and the preset byte Code acquisition target data is executed according to capture request;
Return to the target data of the capture.
2. the method as described in claim 1, which is characterized in that described in the corresponding target JAVA virtual machine of the target process
Injecting preset bytecode includes:
The target JAVA virtual machine is determined according to the target process;
Based on byte code enhancement technology, preset bytecode is injected in the target JAVA virtual machine.
3. the method as described in claim 1, which is characterized in that when executing the preset bytecode, rejection is repeated
Capture request.
4. the method as described in claim 1, which is characterized in that when executing the preset bytecode, judge the execution
Whether the duration of the preset byte Code acquisition target data is more than preset threshold, if it is, returning to capture time-out, is terminated
Capture operation.
5. problem capture systems on a kind of line, which is characterized in that the system comprises interactive devices and acquisition equipment;
The interactive device is used to receive the input information of user, capture request, and the input information of the user, capture are asked
It asks and is issued to the acquisition equipment, and receive the data that the acquisition equipment returns;
The acquisition equipment is used for the input information searching target process according to user;In the corresponding target of the target process
Preset bytecode is injected in JAVA virtual machine;It is requested according to capture, executes the preset byte Code acquisition target data;It returns
The target data of the capture is returned to interactive device.
6. system as claimed in claim 5, which is characterized in that the system also includes:
Playback reproducer, the target data for capturing the acquisition equipment stores, and when receiving playback request, returns
The target data of the storage.
7. system as claimed in claim 5, which is characterized in that the system also includes:
Audit device, for recording the incoming event of user, the incoming event includes the ID of user, capture request, captures and ask
Seeking time, at least one of returns the result capture duration.
8. problem acquisition equipment on a kind of line, which is characterized in that described device includes:
Searching module, for receiving the input information of user, and according to the input information searching target process;
Injection module, for injecting preset bytecode in the corresponding target JAVA virtual machine of the target process;
Execution module requests for receiving capture request, and according to the capture, executes the preset byte Code acquisition target
Data;
Return module, for returning to the target data of the capture.
9. device according to claim 8, which is characterized in that described device further include:
Judgment module, for when executing the preset bytecode, judging the execution preset byte Code acquisition mesh
Whether the duration for marking data is more than preset threshold, if it is, returning to capture time-out, terminates capture operation.
10. a kind of electronic equipment characterized by comprising
Network communication unit, for receiving input information, the capture request of user;
Processor, for the input information searching target process according to user;It is empty in the corresponding target JAVA of the target process
Preset bytecode is injected in quasi- machine;It is requested according to capture, executes the preset byte Code acquisition target data;Described in return
The target data of capture.
11. a kind of computer readable storage medium, is stored thereon with computer program instructions, the computer program instructions are held
Row Shi Shixian: the input information of user is received, and according to the input information searching target process;It is corresponding in the target process
Target JAVA virtual machine in inject preset bytecode;Capture request is received, and is requested according to the capture, is executed described pre-
If byte Code acquisition target data;Return to the target data of the capture.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910777921.1A CN110471787A (en) | 2019-08-22 | 2019-08-22 | Problem catching method, system, device, electronic equipment and storage medium on line |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910777921.1A CN110471787A (en) | 2019-08-22 | 2019-08-22 | Problem catching method, system, device, electronic equipment and storage medium on line |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110471787A true CN110471787A (en) | 2019-11-19 |
Family
ID=68513476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910777921.1A Pending CN110471787A (en) | 2019-08-22 | 2019-08-22 | Problem catching method, system, device, electronic equipment and storage medium on line |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110471787A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111625225A (en) * | 2020-05-28 | 2020-09-04 | 北京达佳互联信息技术有限公司 | Program specified data output method and device |
CN112860517A (en) * | 2021-02-10 | 2021-05-28 | 中国工商银行股份有限公司 | Performance diagnosis method, device and equipment based on distributed application |
CN113067886A (en) * | 2021-03-30 | 2021-07-02 | 深圳红途创程科技有限公司 | Database three-layer correlation auditing method and device, computer equipment and storage medium |
CN115629992A (en) * | 2022-12-16 | 2023-01-20 | 云筑信息科技(成都)有限公司 | Method for debugging application system constructed by using Spring technology stack |
CN116701470A (en) * | 2023-08-07 | 2023-09-05 | 舟谱数据技术南京有限公司 | Method and device for reproducing customer problems under medium rack, electronic equipment and medium |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120246517A1 (en) * | 2011-03-24 | 2012-09-27 | Ibm Corporation | Providing first field data capture in a virtual input/output server (vios) cluster environment with cluster-aware vioses |
CN104346148A (en) * | 2013-07-30 | 2015-02-11 | 阿里巴巴集团控股有限公司 | Method, device and system for acquiring program performance consumption information |
CN110083436A (en) * | 2019-05-14 | 2019-08-02 | 上海理想信息产业(集团)有限公司 | A kind of business datum real-time monitoring system and method based on Java bytecode enhancing technology |
-
2019
- 2019-08-22 CN CN201910777921.1A patent/CN110471787A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120246517A1 (en) * | 2011-03-24 | 2012-09-27 | Ibm Corporation | Providing first field data capture in a virtual input/output server (vios) cluster environment with cluster-aware vioses |
CN104346148A (en) * | 2013-07-30 | 2015-02-11 | 阿里巴巴集团控股有限公司 | Method, device and system for acquiring program performance consumption information |
CN110083436A (en) * | 2019-05-14 | 2019-08-02 | 上海理想信息产业(集团)有限公司 | A kind of business datum real-time monitoring system and method based on Java bytecode enhancing technology |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111625225A (en) * | 2020-05-28 | 2020-09-04 | 北京达佳互联信息技术有限公司 | Program specified data output method and device |
CN112860517A (en) * | 2021-02-10 | 2021-05-28 | 中国工商银行股份有限公司 | Performance diagnosis method, device and equipment based on distributed application |
CN113067886A (en) * | 2021-03-30 | 2021-07-02 | 深圳红途创程科技有限公司 | Database three-layer correlation auditing method and device, computer equipment and storage medium |
CN115629992A (en) * | 2022-12-16 | 2023-01-20 | 云筑信息科技(成都)有限公司 | Method for debugging application system constructed by using Spring technology stack |
CN116701470A (en) * | 2023-08-07 | 2023-09-05 | 舟谱数据技术南京有限公司 | Method and device for reproducing customer problems under medium rack, electronic equipment and medium |
CN116701470B (en) * | 2023-08-07 | 2023-10-13 | 舟谱数据技术南京有限公司 | Method and device for reproducing customer problems under medium rack, electronic equipment and medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110471787A (en) | Problem catching method, system, device, electronic equipment and storage medium on line | |
US7975262B2 (en) | Error tracing with context history | |
CN109062780B (en) | Development method of automatic test case and terminal equipment | |
CN109034993A (en) | Account checking method, equipment, system and computer readable storage medium | |
US9442822B2 (en) | Providing a visual representation of a sub-set of a visual program | |
CN108459962A (en) | Code specification detection method, device, terminal device and storage medium | |
CN110162512B (en) | Log retrieval method, device and storage medium | |
CN103678135A (en) | System and method for achieving cross-process and cross-thread debugging in large-data environment | |
CN108460068B (en) | Method, device, storage medium and terminal for importing and exporting report | |
CN107066519A (en) | A kind of task detection method and device | |
CN107203465A (en) | System interface method of testing and device | |
CN104572448A (en) | Method and device for realizing use condition of thread stack | |
CN113722020A (en) | Interface calling method, device and computer readable storage medium | |
CN110888926A (en) | Method and device for structuring medical text | |
CN102982217B (en) | The treating method and apparatus of silk-screen | |
CN110381026A (en) | A kind of the business service encapsulation and access system, method and apparatus of rich client | |
US20180359317A1 (en) | System and method for non-intrusive context correlation across cloud services | |
CN111159040A (en) | Test data generation method, device, equipment and storage medium | |
CN106201859A (en) | A kind of regression testing method and system | |
CN110489248A (en) | System-down method, service calling method, device and storage medium | |
CN112559525B (en) | Data checking system, method, device and server | |
CN110442819A (en) | Data processing method, device, storage medium and terminal | |
KR100717242B1 (en) | Error management system providing debugging information and method using the same | |
Chen et al. | Service encapsulation for middleware management interfaces | |
CN104778087B (en) | A kind of information processing method and information processing unit |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191119 |
|
RJ01 | Rejection of invention patent application after publication |