CN108268356A - Reversed WEB pitching piles analysis method and WEB server based on bytecode overriding - Google Patents

Reversed WEB pitching piles analysis method and WEB server based on bytecode overriding Download PDF

Info

Publication number
CN108268356A
CN108268356A CN201611270498.9A CN201611270498A CN108268356A CN 108268356 A CN108268356 A CN 108268356A CN 201611270498 A CN201611270498 A CN 201611270498A CN 108268356 A CN108268356 A CN 108268356A
Authority
CN
China
Prior art keywords
returned
data
data flow
program
run mode
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
Application number
CN201611270498.9A
Other languages
Chinese (zh)
Inventor
叶晓龙
唐涛
蒋健
乔柏林
陈旭
洪森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Group Zhejiang Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Group Zhejiang Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile Group Zhejiang Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201611270498.9A priority Critical patent/CN108268356A/en
Publication of CN108268356A publication Critical patent/CN108268356A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The present invention relates to a kind of reversed WEB pitching piles analysis methods based on bytecode overriding and WEB server, wherein this method to include:HTML request message is obtained, the HTML request message is that user terminal is sent;HTML request message and returning response information are parsed, the response message includes returned data stream, and the returned data stream includes obtaining the information acquisition program of program run mode;The data of application and user behavior are obtained, and are forwarded;The data of the application and user behavior are that the user terminal execution information acquisition program for obtaining program run mode obtains.The present invention, which is not need to rely on, carries out business source code the operations such as code implantation recompility, can be achieved with the detection analysis to business, has very strong versatility, scalability is strong.

Description

Reversed WEB pitching piles analysis method and WEB server based on bytecode overriding
Technical field
The present invention relates to field of computer technology, and in particular to the reversed WEB pitching piles analysis method based on bytecode overriding And WEB server.
Background technology
This part is introduced to reader may be with the relevant background technology of various aspects of the invention, it is believed that can be carried to reader For useful background information, so as to which reader be contributed to more fully understand various aspects of the invention.It is, therefore, to be understood that our department Point explanation be for the above purpose, and not form admission of prior art.
With the fast development of Internet technology, the application program based on WEB has been increasingly becoming industry mainstream framework Standard and be used widely.It is continued to develop however as the continuous evolution of business and user, program feature is promoted, functional test The work of verification, interactive perception optimization etc. is particularly important.All there are serious deficiency in existing technical solution, no Simply fail to operate flow it is cumbersome can not promotion and implementation, and also there is limitation on acquisition of information, practical system can not be met Analysis demand.The defects of introducing various analytical plans separately below
The mode of JavaScript probes based on source code.Program pitching pile technology refers to the code implant piece in source program Section, and obtain the relevant information for changing program in run mode by running program.Such as program perform calling link, performance disappears Consumption, attribute verification etc..It is mainly based upon the pitching pile technology of source code in the probe deployment technology of application extensively at present, code is straight It connects and is inserted into source code program, recompilate the acquisition for carrying out run mode data.Therefore, such technical solution can pass through Different JavaScript codes realizes the collection of different information, but it realizes the source code that needs to rely on, and needs root Overlapping development is constantly carried out according to the variation showed on foreground.Pitching pile technology based on source code depends on the recompility of source code, and The software program that many closings or business are faced in actual production is difficult to obtain source code.It can only support to move JSP State generates the mode of the page, can not complete the probe deployment of static page.Different application server is carrying out WEB page rendering When the mode taken it is different, when probe deployment, needs to consider different application servers, different compilers, it is difficult to realize dynamic State extends, and a certain probe deployment can unsuccessfully directly result in entire WEB server and break down.
Mode based on installation client.Sampling instrument is installed in client, trigger event is disposed based on HTML controls, it will The control of user behavior such as button, Text Entry etc. are disposed a little louder, when user trigger monitoring point trigger event and When being fitted on control (including control location, using new line, the web page IP address) of application, local daily record can be generated, is transmitted to data point Analyse server.Client log data can be generated analytical statement, the time-consuming system including certain business procedure by data analytics server The click volume of meter, certain page.In addition to this, data analytics server can also provide the client auxiliary information report other than monitoring point Table, such as client application service condition statistics, operating system.Therefore, although such scheme can obtain all multi-user's rows For analysis data, but its implement need client implementation tool installation.Need deploying client more passive, it is difficult to keep away Exempting from client system information caused by system refitting etc. can not obtain, and the various influence factors such as client network, host are more, Large-scale installation sampling tool seems unrealistic.
Analysis mode based on procotol.This kind of tool lays particular emphasis on the angle from user, perceives the property of WEB systems Energy.So-called " performance " refers to such as the influence face that response takes, failure occurs, and domain and generation can occur with quick positioning question Time, a performance monitoring end to end is more focused in entire application delivery chain, conventional method is based on monitoring network association Traffic conditions are discussed, the bypass flows such as sniffer, agency, the network equipment are disposed in endpoints such as interchanger, WEB servers, it will be related Information is recorded in data analytics server, then goes each the time-consuming of node, handling capacity etc. in analysis user's access process.It is this kind of Tool need not install plug-in unit, modification code etc. in application system, influence minimum, but in user experience level office to existing system It is limited to take performance indicator.The Limited information that can be obtained, can only be confined to this kind of index of time loss, and need to carry out The analysis filtering of a large amount of the Internet protocol data can not obtain to deeper point of nested inside call chain and behavioural habits Analysis.
Invention content
Technical problems to be solved be how to provide a kind of reversed WEB pitching piles analysis method override based on bytecode and WEB server.
For the defects in the prior art, the present invention provides a kind of reversed WEB pitching piles analysis side based on bytecode overriding Method and WEB server can effectively promote the convenience of deployment operation.
In a first aspect, the present invention provides a kind of reversed WEB pitching piles analysis method based on bytecode overriding, including:
HTML request message is obtained, the HTML request message is that user terminal is sent;
HTML request message and returning response information are parsed,
The response message includes returned data stream, and the returned data stream includes obtaining the information of program run mode Capture program;
The data of application and user behavior are obtained, and are forwarded;
The data of the application and user behavior are that user terminal performs the information collection journey for obtaining program run mode What sequence obtained.
Optionally, the information acquisition program for obtaining program run mode is to be inserted into data flow to be returned in the following manner Generate returned data stream:
Parse the data flow to be returned;
Judge whether the data flow to be returned meets the information acquisition program for obtaining program run mode and be inserted into item Part;
If it is satisfied, then the information acquisition program for obtaining program run mode is inserted into the data flow to be returned Returned data stream is obtained, exports returned data stream.
Optionally, it is further included before the parsing data flow to be returned:
Judge whether the data flow to be returned is static requests file.
Optionally, it is further included before the parsing data flow to be returned:
Judge whether the data flow to be returned is byte or character stream.
Optionally, it is described to judge whether the data flow to be returned meets the information collection for obtaining program run mode Program is inserted into condition and is included:
Judge the insertion condition for whether meeting pre-set regular data in the data flow to be returned and be inserted into position It puts.
Optionally, it is further included before the output returned data stream:
Compliance is carried out to returned data stream according to corresponding protocol specification to check.
On the other hand, the present invention also provides it is a kind of based on bytecode overriding WEB server, including:
Receive message unit, for obtaining the HTML request message of user terminal transmission;
Packet parsing unit, for parsing the HTML request message and returning response information,
It further includes,
Information acquisition program pitching pile unit obtains program fortune for pitching pile in the returned data stream into the response message The information acquisition program of row state;
Data capture unit for obtaining the data of application and user behavior, and forwards;
The data of the application and user behavior are that user terminal performs the information collection journey for obtaining program run mode What sequence obtained.
Optionally, described information capture program pitching pile unit includes:
Resolution unit:For parsing the data flow to be returned;
Information acquisition program is inserted into unit, for judging whether the data flow to be returned meets the acquisition program fortune The information acquisition program of row state is inserted into condition, then the letter for obtaining program run mode is inserted into the data flow to be returned Breath capture program obtains returned data stream, exports returned data stream.
Optionally, data flow judging unit is further included, for judging:
Judge whether the data flow to be returned is static requests file;
Judge whether the data flow to be returned is byte or character stream;
Judge the insertion condition for whether meeting pre-set regular data in the data flow to be returned and be inserted into position It puts.
As shown from the above technical solution, it is provided by the invention based on bytecode overriding reversed WEB pitching piles analysis method and WEB server, it is only necessary to carry out reversed pitching pile at WEB service end, byte is carried out to the core method for stream processing of middleware container Code overriding, it is a variety of to can be applied to tomcat, jetty, WEBlogic, resion, WEBspere, jboss, TongWEB etc. The JavaScript probes Run Script of various versions on application server is inserted into, and perfect can support JSP dynamic generations The page and static page pitching pile analysis.The present invention, which is not need to rely on, carries out business source code code implantation recompility etc. Operation, can be achieved with the detection analysis to business, have very strong versatility, and scalability is strong.
Description of the drawings
In order to illustrate more clearly about the embodiment of the present invention or technical scheme of the prior art, to embodiment or will show below There is attached drawing needed in technology description to make a simply introduction, it should be apparent that, the accompanying drawings in the following description is this hair Some bright embodiments, for those of ordinary skill in the art, without creative efforts, can be with root Other attached drawings are obtained according to these attached drawings.
Fig. 1 is that a kind of reversed WEB pitching piles analysis method flow based on bytecode overriding is shown in one embodiment of the invention It is intended to;
Fig. 2 is a kind of reversed WEB pitching piles analysis method flow based on bytecode overriding in another embodiment of the present invention Schematic diagram;
Fig. 3 is the information acquisition program insertion flow diagram that program run mode is obtained in embodiment illustrated in fig. 1;
Fig. 4 is the information acquisition program insertion flow diagram that program run mode is obtained in embodiment illustrated in fig. 2;
Fig. 5 is a kind of WEB server structure diagram based on bytecode overriding in one embodiment of the invention;
Fig. 6 is a kind of WEB server structure diagram based on bytecode overriding in another embodiment of the present invention.
Specific embodiment
Purpose, technical scheme and advantage to make the embodiment of the present invention are clearer, below in conjunction with the embodiment of the present invention In attached drawing, the technical solution in the embodiment of the present invention is clearly and completely described, it is clear that described embodiment is Part of the embodiment of the present invention, instead of all the embodiments.Based on the embodiments of the present invention, those of ordinary skill in the art All other embodiments obtained without creative efforts shall fall within the protection scope of the present invention.
In B/S framework, client and serve end program pass through the hypertext transfer protocol on ICP/IP protocol layer (HTTP) come into row information transmission and issued transaction.Typical client-side program be typically web browser (such as IE, Chrome, FireFox etc.), request is initiated by the order of a series of HTTP, include in request the path of the resource that needs access with Request header fileinfo and parameter.WEB server (such as weblogic, Tomcat, IIS, PWS) receives external visitor by port The access request that family end browser is sent out is distributed to corresponding application server by dissection process and is handled, and returns to mark The status information of command execution results.If request run succeeded, in the information of return comprising all requests resource or By return information by browser directed others address or resource.WEB server is stored with tree structure and can connect simultaneously WEB resources (such as static text file, hypertext markup language document, multimedia file, the client generation asked by outside access Code, dynamic script etc.).
JavaScript is the object-based script of literal translation formula, can be drawn by the JavaScript that browser embeds It holds up directly explanation to operate without by compiling, so commonly used to which html web page is given to increase dynamic function.The master of the present invention Syllabus is the reversed pitching pile handled for web program realization based on bytecode, passes through the run mode code to bottom container program Stream process overrides the message content in response traffic, so as to fulfill automatic, expansible JavaScript probe deployment sides Method.
As shown in Figure 1, the present invention provides a kind of reversed WEB pitching piles analysis method based on bytecode overriding, including:It obtains HTML request message, HTML request message are that user terminal is sent;Parse HTML request message and returning response information, response Information includes returned data stream, and returned data stream includes obtaining the information acquisition program of program run mode;Obtain application and The data of user behavior, and forward;Using and user behavior data be user terminal perform obtain program run mode information What capture program obtained.The reversed WEB pitching piles analysis method provided by the invention based on bytecode overriding is unfolded below detailed Explanation.
As shown in Fig. 2, in the present invention, user terminal (mobile terminal, PAD or PC) by browser (such as IE, Chrome, FireFox, edge etc.) send HTML request message access WEB server.In the present invention, WEB server receives After obtaining HTML request message, dissection process is carried out, and according to the content of HTML request message request to the HTML request message Returning response information.Response message includes returned data stream, and the information that returned data stream includes obtaining program run mode is adopted Collect program;User terminal obtains corresponding information, and the corresponding Decode engine (JavaScript engine) passed through by browser The information acquisition program (JavaScript code) for obtaining program run mode is parsed, user terminal, which performs, obtains program run mode Information acquisition program, and in the process of implementation collect application and user behavior data such as client release, movement track, page Face load time, the content that reports an error etc.).The data of the application being collected into and user behavior are sent to by user terminal by browser WEB server.WEB server obtains the application of user terminal transmission and the data of user behavior, and is forwarded to data analysis clothes Business device.Data analytics server obtains user's end to the further analysis of the data of application and user behavior that WEB server forwards The indices at end consume so as to fulfill the off-line analysis to WEB application and customer action, such as page load performance, interface When, error message, application version, action trail etc..
As shown in figure 3, in the present invention, the information acquisition program for obtaining program run mode is to be inserted into treat in the following manner Returned data stream generation returned data stream:Parse data flow to be returned;Judge whether data flow to be returned meets acquisition The information acquisition program of program run mode is inserted into condition;Program fortune is obtained if it is satisfied, then being inserted into data flow to be returned The information acquisition program of row state obtains returned data stream, exports returned data stream.
As shown in figure 4, it is further included before parsing data flow to be returned:Judge whether data flow to be returned is static ask Seek file.WEB server judges Page Name, action type, the movement content on foreground etc. by parsing data flow to be returned. Do not make any processing if data flow to be returned is for static requests file, directly export returned data stream.It is on the contrary then after It is continuous to judge whether current data flow to be returned is byte stream or character stream.If one of them then continue to execute it is subsequent Processing.If neither byte stream nor do not make any processing if character stream, directly exports returned data stream.
As shown in figure 4, in the present invention, judge whether data flow to be returned meets and obtain the information of program run mode and adopt Collection program is inserted into condition and is included:Judge whether to meet in data flow to be returned pre-set regular data insertion condition and Insertion position.Specifically, matching search, the current number to be returned of retrieval are done according to the regular data in pre-set rule base It is subsequent if there is then carrying out according to the condition and position for whether having the information acquisition program that can be inserted into acquisition program run mode in stream The information acquisition program insertion process of program run mode is obtained, does not otherwise make any processing, directly exports returned data stream.Such as Judge the processing time consuming analysis to certain business, stream process judge in the message Head and Body of request data stream whether containing pair The type of service coding answered, corresponding if having</BODY>It is inserted into just to add accordingly afterwards and takes code;It is on the contrary then do not handle straight Connect output.
As shown in figure 4, it in the present invention, is further included before output returned data stream:To returned data stream according to corresponding Protocol specification carries out compliance and is checked.After being inserted into code, data flow can be closed according to corresponding protocol specification again Rule property is checked, for example the fields such as ContentLength in message (referring to the content-length other than header) are adjusted again It is whole, to ensure the availability of data flow.
As shown in Fig. 2, in the present invention, the application received and the data of user behavior are first cached in WEB server Processing, then will be applied by way of breakpoint transmission and the data transmission of user behavior is to data analytics server.Data analysis Server obtains the indices of user terminal to the further analysis of the data of application and user behavior that WEB server forwards.
The present invention is override message content in the response traffic of WEB requests, is inserted by the processing to program run mode code stream Enter corresponding JavaScript intelligent probes.A kind of high reliability is realized at WEB service end, the JavaScript of high scalability is visited Needle disposes solution.It need not be rewritten for each foreground WEB into line code.And the dynamic page of JSP can not only be handled Slotting code can also support it is the static html pages and the page of other dynamic generations, breach the insurmountable bottle of original technical solution Neck.And it can be filtered for the different pages, realize that single-page disposes unsuccessful fault masking, while support a variety of answer With server, the application deployment range of JavaScript probes is effectively increased.
Further to embody the superiority of reversed WEB pitching piles analysis method provided by the invention override based on bytecode, The present invention also provides a kind of application above method WEB server, as shown in figure 5, the WEB server includes:Receive message unit, For obtaining the HTML request message of user terminal transmission;Packet parsing unit, for parsing HTML request message and returning to sound Answering information, (WEB server judges Page Name, action type, the movement content on foreground by parsing data flow to be returned Deng.), it further includes, information acquisition program pitching pile unit, program fortune is obtained for pitching pile in the returned data stream into response message The information acquisition program of row state;Data capture unit for obtaining the data of application and user behavior, and forwards;Using and use The data of family behavior are that the information acquisition program of user terminal execution acquisition program run mode obtains.The present invention is provided below Based on bytecode overriding WEB server be unfolded detailed description.
In the present invention, information acquisition program pitching pile unit includes:Resolution unit:For parsing data flow to be returned; Information acquisition program is inserted into unit, for judging whether data flow to be returned meets the information collection journey of acquisition program run mode Sequence is inserted into condition, then the information acquisition program that acquisition program run mode is inserted into data flow to be returned obtains returned data Stream exports returned data stream.
Such as Fig. 5, shown in Fig. 6, information acquisition program is inserted into unit and includes regular configuration center, container class load-on module, class Parsing module and method overriding module.Regular configuration center (RCC):Morphology point is carried out by the frame structure held to mainstream WEB Analysis, semantic analysis etc. extract the stream process class and method of core in all kinds of containers, formation rule configuration center.Rule simultaneously Configuration center contains the acquisition code segment of the required JavaScript of business diagnosis demand.Container class load-on module (CL): According to the configuration datas such as knowledge base rule base, the category code of load vessel.Before container class completes loading, pass through Java Agent The specific jar file of parameter instruction starts the Agent of Instrumentation, realizes the intercept process to method, and adjust It is parsed with corresponding class parsing module, is prepared for subsequent overriding and adaptation.
Class parsing module (CP):Certain class formation information is actually also retained after category code loading after compiling, such as: For describing the section of modifier, class name, parent title, interface name, class annotation;The section of field information in class is described, including word The modifier of section, title, type and annotation;The section of description method and building method, including method name, return value, parameter Type and method are explained.Pass through the class of container core stream process and the rule-based knowledge base of method extracted in program analysis module Dissection process is carried out, determines the method for stream processing of core.By taking 9.1 versions of jetty application servers as an example, the side of stream process Write (byte [], int off, int len) of the method in org.eclipse.jetty.server.HttpOutput classes and Two methods of print (String s).Method overriding module (MO):Complete to the bytecode of core method for stream processing in container into Row overriding, is inserted into required bytecode, and rebuild corresponding operational approach.Such as in above-mentioned core method for stream processing In write, after overriding resume module, method its calling logic reconfigured always increases the side called and be inserted into script Method, i.e. insertScript () method.
And it is realized in pitching pile code insertScript () and carries out being inserted into corresponding JavaScript code according to rule Method.The rule is existed in the form of configuration, for example can realize and special key words are carried out with matching judgment, while automatic seeking The insertion point of data flow is looked for, is implanted into corresponding JavaScript, and detects the compliance of overall data stream.
As shown in fig. 6, further including data flow judging unit, it is used for:Judge whether data flow to be returned is static requests File;Judge whether data flow to be returned is byte or character stream;Judge whether to meet in data flow to be returned and set in advance The insertion condition for the regular data put and insertion position.Specifically, such as judge whether data flow to be returned is static requests File;Do not make any processing if data flow to be returned is for static requests file, directly export returned data stream;It is on the contrary Then continue to judge whether current data flow to be returned is byte stream or character stream;If after one of them is then continued to execute Continuous processing;If neither byte stream nor do not make any processing if character stream, directly exports returned data stream.Currently treat Whether have in the data flow of return can be inserted into obtain program run mode information acquisition program condition and position, if there is then into The subsequent information acquisition program insertion process for obtaining program run mode of row, does not otherwise make any processing, and directly output returns to number According to stream.Such as judging processing time consuming analysis to certain business, stream process is judged in the message Head and BodV of request data stream Whether encoded containing corresponding type of service, corresponding if having</BODY>It is inserted into just to add accordingly afterwards and takes code;It is on the contrary Direct output is not handled then.
As shown in fig. 6, in the present invention, data capture unit includes data buffer module and transmission agency module, data Buffer module (DB):Come from the application of client browser JavaScript acquisitions and the number of user behavior for caching According to.Transmission agency module (TA) is by obtaining data buffer module in JVM, then will apply and use by way of breakpoint transmission The data transmission of family behavior is to data analytics server.
In conclusion reversed WEB pitching piles analysis method and WEB server provided by the invention based on bytecode overriding, It only needs to carry out reversed pitching pile at WEB service end, bytecode overriding is carried out to the core method for stream processing of middleware container, it can Applied in tomcat, jetty, weblogic, resion, webspere, jboss, TongWeb etc. various application servers The JavaScript probes Run Scripts of various versions be inserted into, and can the perfect page and static state for supporting JSP dynamic generations The pitching pile analysis of the page.Scheme compared to existing technology of the invention is not need to rely on and code implantation weight is carried out to business source code The operations such as newly compiled can be achieved with the detection analysis to business, have very strong versatility, and scalability is strong.
It should be understood by those skilled in the art that, embodiments herein can be provided as method, system or computer program Product.Therefore, the reality in terms of complete hardware embodiment, complete software embodiment or combination software and hardware can be used in the application Apply the form of example.Moreover, the computer for wherein including computer usable program code in one or more can be used in the application The computer program production that usable storage medium is implemented on (including but not limited to magnetic disk storage, CD-ROM, optical memory etc.) The form of product.
The application is with reference to the flow according to the method for the embodiment of the present application, equipment (system) and computer program product Figure and/or block diagram describe.It should be understood that it can be realized by computer program instructions every first-class in flowchart and/or the block diagram The combination of flow and/or box in journey and/or box and flowchart and/or the block diagram.These computer programs can be provided The processor of all-purpose computer, special purpose computer, Embedded Processor or other programmable data processing devices is instructed to produce A raw machine so that the instruction performed by computer or the processor of other programmable data processing devices is generated for real The device of function specified in present one flow of flow chart or one box of multiple flows and/or block diagram or multiple boxes.
These computer program instructions, which may also be stored in, can guide computer or other programmable data processing devices with spy Determine in the computer-readable memory that mode works so that the instruction generation being stored in the computer-readable memory includes referring to Enable the manufacture of device, the command device realize in one flow of flow chart or multiple flows and/or one box of block diagram or The function of being specified in multiple boxes.
These computer program instructions can be also loaded into computer or other programmable data processing devices so that counted Series of operation steps are performed on calculation machine or other programmable devices to generate computer implemented processing, so as in computer or The instruction offer performed on other programmable devices is used to implement in one flow of flow chart or multiple flows and/or block diagram one The step of function of being specified in a box or multiple boxes.
It should be noted that herein, relational terms such as first and second and the like are used merely to a reality Body or operation are distinguished with another entity or operation, are deposited without necessarily requiring or implying between these entities or operation In any this practical relationship or sequence.Moreover, term " comprising ", "comprising" or its any other variant are intended to Non-exclusive inclusion, so that process, method, article or equipment including a series of elements not only will including those Element, but also including other elements that are not explicitly listed or further include as this process, method, article or equipment Intrinsic element.In the absence of more restrictions, the element limited by sentence " including one ... ", it is not excluded that Also there are other identical elements in the process, method, article or apparatus that includes the element.Term " on ", " under " etc. The orientation or position relationship of instruction are based on orientation shown in the drawings or position relationship, are for only for ease of the description present invention and letter Change description rather than instruction or imply signified device or element must have specific orientation, with specific azimuth configuration and Operation, therefore be not considered as limiting the invention.Unless otherwise clearly defined and limited, term " installation ", " connected ", " connection " should be interpreted broadly, for example, it may be being fixedly connected or being detachably connected or be integrally connected;Can be Mechanical connection or electrical connection;It can be directly connected, can also be indirectly connected by intermediary, can be two Connection inside element.For the ordinary skill in the art, above-mentioned term can be understood at this as the case may be Concrete meaning in invention.
In the specification of the present invention, numerous specific details are set forth.Although it is understood that the embodiment of the present invention can To put into practice without these specific details.In some instances, well known method, structure and skill is not been shown in detail Art, so as not to obscure the understanding of this description.Similarly, it should be understood that disclose in order to simplify the present invention and helps to understand respectively One or more of a inventive aspect, above in the description of exemplary embodiment of the present invention, each spy of the invention Sign is grouped together into sometimes in single embodiment, figure or descriptions thereof.It however, should not be by the method solution of the disclosure It releases and is intended in reflection is following:I.e. the claimed invention requirement is than the feature that is expressly recited in each claim more More features.More precisely, as the following claims reflect, inventive aspect is less than single reality disclosed above Apply all features of example.Therefore, it then follows thus claims of specific embodiment are expressly incorporated in the specific embodiment, Wherein each claim is in itself as separate embodiments of the invention.It should be noted that in the absence of conflict, this The feature in embodiment and embodiment in application can be combined with each other.The invention is not limited in any single aspect, Any single embodiment is not limited to, is also not limited to the arbitrary combination and/or displacement of these aspects and/or embodiment.And And can be used alone the present invention each aspect and/or embodiment or with other one or more aspects and/or its implementation Example is used in combination.
Finally it should be noted that:The above embodiments are only used to illustrate the technical solution of the present invention., rather than its limitations;To the greatest extent Pipe is described in detail the present invention with reference to foregoing embodiments, it will be understood by those of ordinary skill in the art that:Its according to Can so modify to the technical solution recorded in foregoing embodiments either to which part or all technical features into Row equivalent replacement;And these modifications or replacement, various embodiments of the present invention technology that it does not separate the essence of the corresponding technical solution The range of scheme should all cover in the claim of the present invention and the range of specification.

Claims (9)

1. a kind of reversed WEB pitching piles analysis method based on bytecode overriding, which is characterized in that including:
HTML request message is obtained, the HTML request message is that user terminal is sent;
HTML request message and returning response information are parsed,
The response message includes returned data stream, and the returned data stream includes obtaining the information collection of program run mode Program;
The data of application and user behavior are obtained, and are forwarded;
The data of the application and user behavior are that the user terminal execution information acquisition program for obtaining program run mode obtains It arrives.
2. reversed WEB pitching piles analysis method according to claim 1, which is characterized in that the acquisition program run mode Information acquisition program is to be inserted into data flow generation returned data stream to be returned in the following manner:
Parse the data flow to be returned;
Judge whether the data flow to be returned meets the information acquisition program for obtaining program run mode and be inserted into condition;
It is obtained if it is satisfied, then being inserted into the information acquisition program for obtaining program run mode in the data flow to be returned Returned data stream exports returned data stream.
3. reversed WEB pitching piles analysis method according to claim 2, which is characterized in that the parsing is described to be returned It is further included before data flow:
Judge whether the data flow to be returned is static requests file.
4. reversed WEB pitching piles analysis method according to claim 2, which is characterized in that the parsing is described to be returned It is further included before data flow:
Judge whether the data flow to be returned is byte or character stream.
5. reversed WEB pitching piles analysis method according to claim 2, which is characterized in that the judgement is described to be returned Whether data flow, which meets the information acquisition program insertion condition for obtaining program run mode, includes:
Judge the insertion condition and the insertion position that whether meet pre-set regular data in the data flow to be returned.
6. reversed WEB pitching piles analysis method according to claim 2, which is characterized in that the output returned data stream it Before further include:
Compliance is carried out to returned data stream according to corresponding protocol specification to check.
7. a kind of WEB server based on bytecode overriding, which is characterized in that including:
Receive message unit, for obtaining the HTML request message of user terminal transmission;
Packet parsing unit, for parsing the HTML request message and returning response information,
It further includes,
Information acquisition program pitching pile unit obtains program run mode for pitching pile in the returned data stream into the response message Information acquisition program;
Data capture unit for obtaining the data of application and user behavior, and forwards;
The data of the application and user behavior are that the user terminal execution information acquisition program for obtaining program run mode obtains It arrives.
8. WEB server according to claim 7, which is characterized in that described information capture program pitching pile unit includes:
Resolution unit:For parsing the data flow to be returned;
Information acquisition program is inserted into unit, for judging whether the data flow to be returned meets the acquisition program run mode Information acquisition program be inserted into condition, then be inserted into the data flow to be returned it is described obtain program run mode information adopt Collection program obtains returned data stream, exports returned data stream.
9. WEB server according to claim 7, which is characterized in that data flow judging unit is further included, for judging:
Judge whether the data flow to be returned is static requests file;
Judge whether the data flow to be returned is byte or character stream;
Judge the insertion condition and the insertion position that whether meet pre-set regular data in the data flow to be returned.
CN201611270498.9A 2016-12-30 2016-12-30 Reversed WEB pitching piles analysis method and WEB server based on bytecode overriding Pending CN108268356A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611270498.9A CN108268356A (en) 2016-12-30 2016-12-30 Reversed WEB pitching piles analysis method and WEB server based on bytecode overriding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611270498.9A CN108268356A (en) 2016-12-30 2016-12-30 Reversed WEB pitching piles analysis method and WEB server based on bytecode overriding

Publications (1)

Publication Number Publication Date
CN108268356A true CN108268356A (en) 2018-07-10

Family

ID=62770476

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611270498.9A Pending CN108268356A (en) 2016-12-30 2016-12-30 Reversed WEB pitching piles analysis method and WEB server based on bytecode overriding

Country Status (1)

Country Link
CN (1) CN108268356A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106100895A (en) * 2016-07-11 2016-11-09 东软集团股份有限公司 Application performance achievement data acquisition method and system
CN109254907A (en) * 2018-08-03 2019-01-22 挖财网络技术有限公司 A kind of interface testing report-generating method and system based on Java
CN111158996A (en) * 2019-12-17 2020-05-15 京东数字科技控股有限公司 Information processing method and device and computer readable storage medium
CN111913878A (en) * 2020-07-13 2020-11-10 苏州洞察云信息技术有限公司 Program analysis result-based bytecode instrumentation method, device and storage medium
CN112965914A (en) * 2021-03-30 2021-06-15 携程旅游网络技术(上海)有限公司 Application page testing method, system, device and medium
CN112965873A (en) * 2021-03-04 2021-06-15 中国邮政储蓄银行股份有限公司 Page processing method and device, storage medium and processor

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060143290A1 (en) * 2004-12-28 2006-06-29 Jan Dostert Session monitoring using shared memory
CN104683180A (en) * 2015-02-12 2015-06-03 北京蓝海讯通科技有限公司 Performance monitoring method and system as well as application server
CN104715195A (en) * 2015-03-12 2015-06-17 广东电网有限责任公司信息中心 Malicious code detecting system and method based on dynamic instrumentation
CN105183642A (en) * 2015-08-18 2015-12-23 中国人民解放军信息工程大学 Instrumentation based program behavior acquisition and structural analysis method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060143290A1 (en) * 2004-12-28 2006-06-29 Jan Dostert Session monitoring using shared memory
CN104683180A (en) * 2015-02-12 2015-06-03 北京蓝海讯通科技有限公司 Performance monitoring method and system as well as application server
CN104715195A (en) * 2015-03-12 2015-06-17 广东电网有限责任公司信息中心 Malicious code detecting system and method based on dynamic instrumentation
CN105183642A (en) * 2015-08-18 2015-12-23 中国人民解放军信息工程大学 Instrumentation based program behavior acquisition and structural analysis method

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106100895A (en) * 2016-07-11 2016-11-09 东软集团股份有限公司 Application performance achievement data acquisition method and system
CN109254907A (en) * 2018-08-03 2019-01-22 挖财网络技术有限公司 A kind of interface testing report-generating method and system based on Java
CN109254907B (en) * 2018-08-03 2021-06-15 挖财网络技术有限公司 Java-based interface test report generation method and system
CN111158996A (en) * 2019-12-17 2020-05-15 京东数字科技控股有限公司 Information processing method and device and computer readable storage medium
CN111913878A (en) * 2020-07-13 2020-11-10 苏州洞察云信息技术有限公司 Program analysis result-based bytecode instrumentation method, device and storage medium
CN111913878B (en) * 2020-07-13 2023-09-15 苏州洞察云信息技术有限公司 Byte code instrumentation method, device and storage medium based on program analysis result
CN112965873A (en) * 2021-03-04 2021-06-15 中国邮政储蓄银行股份有限公司 Page processing method and device, storage medium and processor
CN112965914A (en) * 2021-03-30 2021-06-15 携程旅游网络技术(上海)有限公司 Application page testing method, system, device and medium

Similar Documents

Publication Publication Date Title
CN108268356A (en) Reversed WEB pitching piles analysis method and WEB server based on bytecode overriding
US8543869B2 (en) Method and system for reconstructing error response messages under web application environment
CN105243159B (en) A kind of distributed network crawler system based on visualization script editing machine
US9992166B2 (en) Hierarchical rule development and binding for web application server firewall
CN101222349B (en) Method and system for collecting web user action and performance data
CN105786998B (en) Database middleware system and the method for handling data using it
CN107370806B (en) HTTP status code monitoring method, device, storage medium and electronic equipment
CN110083790A (en) Page editing method, page output method, device, computer equipment and medium
US10887201B2 (en) Method for automatically monitoring end-to-end end user performance and apparatus for performing the method
EP2244418A1 (en) Database security monitoring method, device and system
CN108804707A (en) A kind of page processing method, device and relevant device
CN104899016B (en) Allocating stack Relation acquisition method and device
CN107632920A (en) A kind of power transmission and transforming equipment monitoring device deep monitored method
CN108595468A (en) A kind of acquisition methods of web data, device, server, terminal and system
CN107704360A (en) Processing method, equipment, server and the storage medium of monitoring data
CN103729294A (en) Method and device for testing performance script of application software
CN110286917A (en) File packing method, device, equipment and storage medium
CN109117341A (en) A kind of monitoring method of virtual machine, device, equipment and medium
CN106649071A (en) Reporting method and device for internal process journals
CN105637488A (en) Tracing source code for end user monitoring
CN106559498A (en) Air control data collection platform and its collection method
WO2001052078A1 (en) Dead hyper link detection method and system
CN105074670B (en) Daily record output control equipment, method and computer readable recording medium storing program for performing
CN110532455A (en) A kind of Web page picture acquisition methods and system based on Chrome browser
CN114491560A (en) Vulnerability detection method and device, storage medium and electronic equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20180710

RJ01 Rejection of invention patent application after publication