CN110737589A - automatic point burying method, device, medium and electronic equipment - Google Patents
automatic point burying method, device, medium and electronic equipment Download PDFInfo
- Publication number
- CN110737589A CN110737589A CN201910854016.1A CN201910854016A CN110737589A CN 110737589 A CN110737589 A CN 110737589A CN 201910854016 A CN201910854016 A CN 201910854016A CN 110737589 A CN110737589 A CN 110737589A
- Authority
- CN
- China
- Prior art keywords
- point
- code
- injection
- buried
- injection point
- 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 89
- 238000002347 injection Methods 0.000 claims abstract description 104
- 239000007924 injection Substances 0.000 claims abstract description 104
- 238000012545 processing Methods 0.000 claims abstract description 20
- 238000004590 computer program Methods 0.000 claims description 8
- 230000014759 maintenance of location Effects 0.000 claims description 6
- 238000007781 pre-processing Methods 0.000 claims description 6
- 238000009933 burial Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 18
- 230000008569 process Effects 0.000 description 10
- 238000011161 development Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000009977 dual effect Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000009545 invasion Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 240000000662 Anethum graveolens Species 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 244000141353 Prunus domestica Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010169 landfilling Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000033001 locomotion Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/73—Program documentation
Abstract
The invention provides automatic point burying methods, devices, media and electronic equipment, wherein the automatic point burying methods comprise the steps of obtaining injection point information of a buried point marked by an injector, identifying the injection point according to the injection point information, conducting point burying processing on a source code applied to a network at the injection point through a tool moving a UI frame to generate a mixed byte code, and generating a compiled code according to the mixed byte code.
Description
Technical Field
The invention relates to the technical field of computers, in particular to an automatic point burying method, device, medium and electronic equipment.
Background
The method comprises the steps that with the continuous development of a mobile application development technology, more and more mobile application development frameworks are provided, wherein the mobile application development framework is provided and sourced by Google, a main development cross-platform, high fidelity and high performance are provided, a developer can develop App through a Dart language, sets of codes run on an iOS platform and an Android platform simultaneously, the Flutter provides rich components and interfaces, and the developer can quickly add native extension to the Flutter.
Existing AOP (Aspect Oriented Programming, translated as Aspect Oriented Programming, view Oriented Programming, profile Oriented Programming) AOP is terms in computer science that refer to Programming paradigms.
In the existing embedded point and display technology, pieces of information are collected by a specific process in an application and are used for tracking the use condition of the application, and then used for optimizing products in step or providing data support for operation, including access number, visitor number, dwell time, page browsing number and jump rate.
Therefore, in the long-term research and development, the inventors have conducted a lot of research on how to automatically bury the points, and proposed methods for automatically burying the points to solve of the above technical problems.
Disclosure of Invention
The invention aims to provide automatic point burying methods, devices, media and electronic equipment, which can solve at least technical problems mentioned above.
According to an embodiment of the present invention, in , the present invention provides methods for automatically burying points, comprising:
acquiring injection point information of a buried point marked by an injection device, identifying the injection point according to the injection point information, and identifying the injection point;
performing embedding point processing on the source code of the network application at the injection point through a tool for moving a UI frame to generate a mixed byte code;
and generating a compiled code according to the mixed byte code and a preset compiling rule.
Optionally, before the instrumentation moving the UI framework performs the embedded processing on the source code of the web application at the injection point, the method further includes:
and preprocessing the tool to be processed of the mobile UI frame by using an AspectD tool to obtain the tool for moving the UI frame.
Optionally, the performing, at the injection point, embedded processing on the source code of the network application by the tool for moving the UI framework, and generating the hybrid bytecode includes:
generating a buried point code through a code generator according to the buried point logic of the injection point;
inserting, by a tool that moves a UI framework, a buried point code into the source code of a web application at the injection point, generating the hybrid bytecode.
Optionally, before the inserting, by the tool for moving the UI framework, the buried point code generated by the code generator into the source code of the web application at the injection point, the method further includes:
and acquiring the buried point logic of the injection point, and generating a buried point code through a code generator according to the buried point logic of the injection point.
Optionally, after generating the hybrid bytecode, the method further includes:
reading hybrid bytecode information associated with the hybrid bytecode;
wherein the mixed bytecode information includes at least:
the embedded point logic corresponding to the injection point, the embedded point method corresponding to the injection point, the embedded point code generated by the code generator and the source code of the network application.
Optionally, after generating the compiled code according to the hybrid bytecode, the method further includes:
and generating an executable program according to the compiled code, and operating the executable program.
Optionally, before the obtaining of the injection point information of the buried point labeled by the annotator, the method further includes:
acquiring buried point information of a buried point request aiming at target data, and reading the buried point information;
wherein the buried point information includes at least the following items:
the method comprises the following steps of embedding the name of a point, a character form corresponding to the name of the point, a page path of the point, a character form corresponding to the page path of the point, the retention time of the point and a preset unit time corresponding to the retention time of the point.
According to a second aspect, the present invention provides kinds of automatic pointing devices, including:
the acquisition unit is used for acquiring the injection point information of the buried point marked by the annotator;
the identification unit is used for identifying the injection point according to the injection point information acquired by the acquisition unit and identifying the injection point;
a embedding unit, configured to perform embedding processing on the source code of the network application at the injection point identified by the identifying unit through a tool that moves a UI framework, and generate a hybrid bytecode;
and the compiling unit is used for generating a compiled code according to the mixed byte code generated by the buried point unit and a preset compiling rule.
According to a third aspect, the present invention provides computer readable storage media having stored thereon a computer program which, when executed by a processor, implements the method for automatically embedding points as described in any of above.
According to a fourth aspect of the present invention, there is provided electronic devices including or more processors, and a storage device for storing or more programs, wherein when the or more programs are executed by the or more processors, the or more processors implement the method for automatically burying a point as described in any above.
Compared with the prior art, the scheme of the embodiment of the invention has the beneficial effects that automatic point burying methods, devices, media and electronic equipment are used, the source codes of network application are buried and processed at the injection point through a tool of a mobile UI frame to generate mixed byte codes, and the compiled codes are generated according to the mixed byte codes.
Drawings
The accompanying drawings, which are incorporated herein and constitute part of this specification, illustrate embodiments consistent with the present invention and, together with description , serve to explain the principles of the invention, it is to be understood that the drawings in the following description are illustrative of embodiments of the invention, and that other drawings may be devised by those skilled in the art without the benefit of the teachings herein, and in which:
FIG. 1 illustrates a flow diagram of a method for automatically burying a point, according to an embodiment of the present invention;
FIG. 2 illustrates a flow diagram of a method for automatic point burying in a specific application scenario, in accordance with an embodiment of the present invention;
FIG. 3 shows a schematic diagram of an apparatus for automatically burying a point according to an embodiment of the present invention;
fig. 4 shows a schematic diagram of an electronic device connection structure according to an embodiment of the invention.
Detailed Description
For purposes of clarity, technical solutions and advantages of the present invention, the present invention will be described in further detail with reference to the accompanying drawings , and it is obvious that the described embodiment is only a partial embodiment of the , rather than a complete embodiment.
As used in this specification and the appended claims, the singular forms "", "the" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise, the "plural" includes at least two.
It should be understood that the term "and/or" is used herein only to describe kinds of association relationships that describe association objects, meaning that there may be three kinds of relationships, for example, a and/or B, and may mean that there are three cases of a alone, a and B together, and B alone.
It should be understood that although the terms , second, third, etc. may be used in embodiments of the present invention to describe … …, these … … should not be limited to these terms.
The words "if", as used herein, may be interpreted as "at … …" or "at … …" or "in response to a determination" or "in response to a detection", depending on the context. Similarly, the phrases "if determined" or "if detected (a stated condition or event)" may be interpreted as "when determined" or "in response to a determination" or "when detected (a stated condition or event)" or "in response to a detection (a stated condition or event)", depending on the context.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a good or apparatus that comprises an series of elements does not include only those elements but may include other elements not expressly listed or inherent to such good or apparatus.
Alternative embodiments of the present invention are described in detail below with reference to the accompanying drawings.
Example 1
According to an embodiment of the present invention, as shown in fig. 1, in th aspect, the present invention provides methods for automatically burying points, which specifically includes the following steps:
s102: and acquiring the injection point information of the buried point marked by the injection device, identifying the injection point according to the injection point information, and identifying the injection point.
In this step, the annotator is written in the function. The annotator is used for marking the injection point information of the buried points, and provides corresponding buried point logic and a buried point method for different injection points.
Under a specific application scene, the annotation of the injection point information of the buried point by the annotator comprises the following steps:
and the annotating device is used for annotating the injection point information of the buried point through Meta-Data.
The above-mentioned methods for marking the injection point information of the buried point by only listing annotators may also be other methods for marking the injection point information of the buried point, which are not described in detail in .
S104: and performing embedded point processing on the source code of the network application at the injection point through a tool for moving the UI framework to generate the mixed byte code.
In this step, the preprocessed tool for moving the UI framework can perform the embedded point processing on the code input, that is, identify the injection points therein, and then insert the corresponding embedded point logic and method at the injection points, so that the finally generated bytecode includes not only the original program logic but also the insertion logic corresponding to the injection points.
In this step, after the hybrid bytecode is generated, hybrid bytecode information associated with the hybrid bytecode is read;
wherein the mixed bytecode information includes at least:
the method comprises the steps of filling point corresponding buried point logic, filling point corresponding buried point methods, buried point codes generated by a code generator and source codes of network application.
In this step, a buried point code is generated by the code generator. A common code generator is the Codegen code generator.
It should be noted that Codegen is code generation tools, and aims to reduce the writing of template codes and improve the development efficiency.
S106: and generating a compiled code according to the mixed byte code and a preset compiling rule.
In this step, different preset compiling rules may be preset according to different application scenarios, so that a compiled code is generated according to the mixed bytecode and the preset compiling rules.
In this step, the compiled code includes AOP injection scheme information, which includes not only an AOP injection point, a buried point logic corresponding to the AOP injection point, and a buried point method corresponding to the AOP injection point.
Optionally, before the source code of the network application is processed at the injection point by the tool of the mobile UI framework in a buried manner, the method further includes: and preprocessing the tool to be processed of the mobile UI frame by using an AspectD tool to obtain the tool for moving the UI frame.
The preprocessing process of the tool to be processed of the mobile UI framework by the AspectD tool comprises the following steps: the pending tool (e.g., Flutter Tools) of the mobile UI framework is patched by the AspectD tool.
Patch processing refers to performing Patch processing.
In this step, Flutter prunes the mirrors reflection library support of Dart, so it is difficult to use the tool with more runtime support directly in Dart. AspectD supports the function of AOP on the premise of non-invasion of the Flutter frame through patch support of the Flutter Tools.
It should be noted that Flutter is a google's mobile UI framework that can quickly build high-quality native user interfaces on iOS and Android Flutter can work with existing code Flutter is being used by an increasing number of developers and organizations worldwide, and Flutter is completely free, open-source.
Flutter has the following advantages:
and (3) rapid development: the hot reload of Flutter may help the user to quickly test, build UIs, add functionality, and fix errors more quickly. The overload can be carried out in the sub-second on the iOS simulator and the Android simulator or the real machine, and the state can not be lost.
Expressive and beautiful user interface: the method uses the Flutter to embed beautiful Material Design and Cupertino (iOS style) widget, rich motion API, smooth and natural sliding effect and platform perception, and brings brand new experience for users.
The use of powerful and flexible APIs (for 2D, animation, gestures, effects, etc.) solves difficult UI challenges.
Access local function and SDK: the application of the user is made to be powerful and easy to use through the API relevant to the platform, the SDK of the third party and the native code. Flutter allows users to reuse existing Java, Swift or ObjC code, accessing native system functions and system SDKs on iOS and Android.
According to the application development experience of the system , the Flutter has rich tools and libraries and can help a user to easily realize the idea and the creative idea of the user in the iOS and the Android system at the same time.
Note that AspectD is AOP framework facing Dart.
Whether the AOP capability is runtime or compile-time support depends on the features of the language itself. For example, in iOS, Objective C itself provides powerful runtime and dynamics such that runtime AOP is simple and easy to use. Under Android, the characteristics of Java language can realize not only a compile-time static agent based on bytecode modification like AspectJ, but also a runtime-enhanced run-time dynamic agent based on Spring AOP.
Dart has the drawback that has very weak reflection support from Dart, only checks are supported, no modification is supported, and secondly Flutter disables reflections for reasons of packet size, robustness, etc.
Therefore, an AOP scheme based on compile-time modification was devised: AspectD.
In AspectJ, this process is implemented by Ajc of a non-standard Java compiler in AspectD, support for AspectD may be implemented by applying Patch to flutter _ tools.
Based on AspectD, all invasive codes for the Flatter framework are removed, the same functions as those of invasive codes are achieved, and stable and reliable operation of record playback and automatic regression of hundreds of scripts is supported.
From aspect view, Call/Execute can help users to conveniently realize functions such as performance burying point (Call duration of key method), log enhancement (obtaining detailed information of where a certain method is called specifically), Doom recording playback (such as generation recording and playback of random number sequence), and the like. The project syntax is more powerful, can implement free injection of logic in a manner similar to source code, and can support complex scenarios such as App recording and automated regression (e.g., recording and playback of user touch events).
Further , AspectD's principle is based on Dill transformation, with sharp machine of Dill operation, developer can freely operate on Dart compiled product, and the transformation is oriented to AST object of near source code level, which is not only powerful but also reliable, no matter logic replacement, model conversion, etc., all provide new perspectives and possibilities.
In the software industry, AOP (Aspect organized Programming) is technologies maintained by a system which realizes program functions through a precompilation mode and a running period dynamic proxy, wherein the AOP is the continuation of OOP, is hot spots in software development, is important contents in a Spring framework, and is derivative normal forms of functional Programming, and the AOP can be used for isolating all parts of business logic, so that the coupling degree between all parts of the business logic is reduced, the reusability of a program is improved, and the development efficiency is improved.
AOP is programmed by isolating certain functions from batch objects, thus reducing coupling with batch objects and programming certain functions.
Optionally, performing a buried point processing on the source code of the network application at the injection point by using a tool for moving the UI framework, and generating the hybrid bytecode includes:
generating a buried point code through a code generator according to the buried point logic of the injection point;
and inserting the buried point code into the source code of the network application at an injection point through a tool for moving the UI framework to generate the mixed bytecode.
Optionally, before inserting the buried point code generated by the code generator into the source code of the web application at the injection point by the tool of the mobile UI framework, the method further includes: and acquiring the buried point logic of the injection point, and generating a buried point code through a code generator according to the buried point logic of the injection point.
Optionally, after generating the hybrid bytecode, the method further includes: reading hybrid bytecode information associated with the hybrid bytecode;
wherein the mixed bytecode information includes at least:
the method comprises the steps of filling point corresponding buried point logic, filling point corresponding buried point methods, buried point codes generated by a code generator and source codes of network application.
Optionally, after generating the compiled code according to the hybrid bytecode, the method further includes: and generating an executable program according to the compiled code, and running the executable program.
Optionally, before obtaining the injection point information of the buried point labeled by the injector, the method further includes:
acquiring buried point information of a buried point request aiming at target data, and reading the buried point information, wherein the buried point information at least comprises the following items:
the method comprises the following steps of embedding the characters of the points, wherein the characters correspond to the names of the embedded points, the page paths of the embedded points, the characters correspond to the page paths of the embedded points, the dwell time of the embedded points and the preset unit time corresponding to the dwell time of the embedded points.
In this step, the buried point information of the buried point request for the target data includes not only the name of the buried point but also a character form corresponding to the name of the buried point, or further includes a page path of the buried point, or further includes a character form corresponding to the page path of the buried point, or further includes a dwell time of the buried point, or further includes a preset unit time corresponding to the dwell time of the buried point.
For example, in a specific application scenario of page dwell time buried points, the buried point information corresponding to the buried point at least includes the following information:
name of the buried point: a character form;
page path of buried point: a character form;
residence time of buried point: time in milliseconds;
the dwell time of the buried point is automatically generated according to the information of the annotator, the time stamp of the buried point information of the buried point calling stack entering the page is automatically taken, and the difference value of the time stamp of the current page leaving time is automatically calculated.
In this step, the buried point is used to collect information from the specific processes in the application for tracking the application usage status, and then to optimize the product or provide the data support for operation including access number, visitor number, stay time, page browsing number and jump-out rate in step , so that the information collection can be roughly divided into two kinds, i.e. page statistics and statistical operation behavior.
As shown in fig. 2, a flow chart of a method for automatic point burying in a specific application scenario is shown according to an embodiment of the present invention.
The automatic point burying method shown in fig. 2 specifically includes the following steps:
s202: marking out an injection point through an annotator;
in this step, the annotator is written in the function. The annotator is used for marking the injection point information of the buried points, and provides corresponding buried point logic and a buried point method for different injection points.
Under a specific application scene, the annotator marks the information of the injection points of the buried points, and the step of marking the injection points comprises the following steps:
and the annotating device is used for annotating the injection point information of the buried point through the Meta-Data and marking the injection point.
The above-mentioned methods for marking the injection point information of the buried point by only listing annotators and marking the injection point may also be methods for marking the injection point information of the buried point by other methods, and are not described in detail in .
S204: and (5) carrying out buried point processing by a tool for moving the UI framework.
In this step, the preprocessed tool for moving the UI framework can perform the embedded point processing on the code input, that is, identify the injection points therein, and then insert the corresponding embedded point logic and method at the injection points, so that the finally generated bytecode includes not only the original program logic but also the insertion logic corresponding to the injection points.
S206: generating a hybrid bytecode.
In this step, after the hybrid bytecode is generated, hybrid bytecode information associated with the hybrid bytecode is read;
wherein the mixed bytecode information includes at least:
the method comprises the steps of filling point corresponding buried point logic, filling point corresponding buried point methods, buried point codes generated by a code generator and source codes of network application.
S208: and running the executable program generated by the compiled code.
In this step, a compiled code is generated according to the mixed bytecode and a preset compiling rule, and an executable program generated by the compiled code is executed.
Different preset compiling rules are preset according to different application scenes, and therefore compiled codes are generated according to the mixed byte codes and the preset compiling rules.
In this step, the compiled code includes AOP injection scheme information, which includes not only an AOP injection point, a buried point logic corresponding to the AOP injection point, and a buried point method corresponding to the AOP injection point.
The method for automatically embedding the points can support the Flutter meta-information embedding function of Android and iOS dual platforms, and has no invasion to the compiling process of the Flutter and strong expansibility.
Example 2
As shown in fig. 3, according to a second aspect, the present invention provides kinds of automatic spot burying devices, comprising:
an obtaining unit 302, configured to obtain injection point information of a buried point labeled by an annotator;
the identification unit 304 is configured to identify the injection point according to the injection point information acquired by the acquisition unit 302, and identify the injection point;
a embedding unit 306, configured to perform embedding processing on the source code of the network application at the injection point identified by the identifying unit 304 through a tool of the mobile UI framework, and generate a hybrid bytecode;
and a compiling unit 308, configured to generate a compiled code according to the mixed bytecode generated by the buried point unit 306 and a preset compiling rule.
Optionally, the apparatus further comprises:
and a preprocessing unit (not shown in fig. 3) for the burying unit 306 preprocessing the tool to be processed of the mobile UI framework by the AspectD tool before burying the source code of the web application at the injection point by the tool of the mobile UI framework, to obtain the tool of the mobile UI framework.
Optionally, the buried point unit 306 is specifically configured to:
generating a buried point code through a code generator according to the buried point logic of the injection point;
and inserting the buried point code into the source code of the network application at an injection point through a tool for moving the UI framework to generate the mixed bytecode.
Optionally, the obtaining unit 302 is further configured to:
before the buried point unit 306 inserts the buried point code generated by the code generator into the source code of the network application at the injection point through a tool of the mobile UI framework, acquiring the buried point logic of the injection point;
optionally, the apparatus further comprises:
and a code generating unit (not shown in fig. 3) configured to generate a buried point code by the code generator according to the buried point logic of the injection point acquired by the acquiring unit 302.
Optionally, the apparatus further comprises:
a reading unit (not shown in fig. 3) for reading the hybrid bytecode information associated with the hybrid bytecode after the buried point unit 306 generates the hybrid bytecode;
the mixed bytecode information read by the reading unit at least includes:
the method comprises the steps of filling point corresponding buried point logic, filling point corresponding buried point methods, buried point codes generated by a code generator and source codes of network application.
Optionally, the apparatus further comprises:
a program generating unit (not shown in fig. 3) for generating an executable program from the compiled code after the compiling unit 308 generates the compiled code from the mixed bytecode;
a program executing unit (not shown in fig. 3) for executing the executable program generated by the program generating unit.
Optionally, the obtaining unit 302 is further configured to: acquiring buried point information of a buried point requested by the buried point aiming at target data before acquiring injection point information of the buried point marked by an injector;
the reading unit is further configured to: reading buried point information;
the buried point information read by the reading unit at least includes the following items:
the method comprises the following steps of embedding the characters of the points, wherein the characters correspond to the names of the embedded points, the page paths of the embedded points, the characters correspond to the page paths of the embedded points, the dwell time of the embedded points and the preset unit time corresponding to the dwell time of the embedded points.
It should be noted that the buried point information of the buried point request for the target data includes not only the name of the buried point, but also a character form corresponding to the name of the buried point, or further includes a page path of the buried point, or further includes a character form corresponding to the page path of the buried point, or further includes a retention time of the buried point, or further includes a preset unit time corresponding to the retention time of the buried point.
For example, in a specific application scenario of page dwell time buried points, the buried point information corresponding to the buried point at least includes the following information:
name of the buried point: a character form;
page path of buried point: a character form;
residence time of buried point: time in milliseconds;
the dwell time of the buried point is automatically generated according to the information of the annotator, the time stamp of the buried point information of the buried point calling stack entering the page is automatically taken, and the difference value of the time stamp of the current page leaving time is automatically calculated.
The method for automatically embedding the points can support the Flutter meta-information embedding function of Android and iOS dual platforms, and has no invasion to the compiling process of the Flutter and strong expansibility.
Example 3
As shown in fig. 4, the present embodiment provides electronic devices for use in a method for automatically landfilling, the electronic devices including at least processors and a memory communicatively coupled to the at least processors, wherein,
the memorizer stores instructions which can be executed by the processors, the instructions are executed by the at least processors, so that the at least processors can support the Flutter meta-information embedding function of Android and iOS dual platforms, and the automatic embedding method is non-invasive and highly scalable to the compiling process of Flutter.
Example 4
The disclosed embodiments provide non-volatile computer storage media storing computer-executable instructions that can perform the method of automatically burying a point in any of the method embodiments described above.
Example 5
Referring now to fig. 4, which illustrates a schematic block diagram of an electronic device suitable for implementing embodiments of the present disclosure, terminal devices in embodiments of the present disclosure may include, but are not limited to, mobile terminals such as mobile phones, notebook computers, digital broadcasters, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), in-vehicle terminals (e.g., car navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. the electronic device illustrated in fig. 4 is only a example and should not impose any limitations on the functionality and scope of use of embodiments of the present disclosure.
As shown in fig. 4, the electronic device may include a processing means (e.g., a central processing unit, a graphics processor, etc.) 401 that may perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM)402 or a program loaded from a storage means 408 into a Random Access Memory (RAM) 403. In the RAM 403, various programs and data necessary for the operation of the electronic apparatus are also stored. The processing device 401, the ROM 402, and the RAM 403 are connected to each other via a bus 404. An input/output (I/O) interface 405 is also connected to bus 404.
Generally, the following devices may be connected to the I/O interface 405: input devices 406 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; an output device 407 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, and the like; storage 408 including, for example, tape, hard disk, etc.; and a communication device 409. The communication means 409 may allow the electronic device to communicate with other devices wirelessly or by wire to exchange data. While fig. 4 illustrates an electronic device having various means, it is to be understood that not all illustrated means are required to be implemented or provided. More or fewer devices may alternatively be implemented or provided.
Embodiments of the present disclosure include, for example, computer program products comprising a computer program embodied on a computer readable medium, the computer program containing program code for performing the method illustrated by the flow chart in such embodiments, the computer program may be downloaded and installed from a network through the communication device 409, or installed from the storage device 408, or installed from the ROM 402. when executed by the processing device 401, the computer program performs the functions defined in the method of the embodiments of the present disclosure.
More specific examples of a computer readable storage medium may include, but are not limited to, an electrical connection having or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
The computer readable medium may be embodied in the electronic device; or may exist separately without being assembled into the electronic device.
The computer readable medium carries or more programs which, when executed by the electronic device, cause the electronic device to support the Android, iOS dual platform Flutter meta-information dotting function and the automated dotting method is non-intrusive and highly scalable to Flutter's compilation process or or more programs which, when executed by the electronic device, cause the electronic device to support the Android, iOS dual platform Flutter meta-information dotting function and the automated dotting method is non-intrusive and highly scalable to Flutter's compilation process or a combination thereof computer program code for performing the operations of the present disclosure may be written in or more programming languages or combinations thereof, including object oriented programming languages such as Java, Smalltalk, C + ' programming languages including conventional cross programming languages-programming languages "or" programming languages "or a combination thereof, which may be fully executed on a remote computer, a computer connected to a remote computer (e.g., a remote computer, a remote computer, a.
It should also be noted that in some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures, for example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved, it being noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, may be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in the embodiments of the present disclosure may be implemented by software or hardware. Where the name of an element does not in some cases constitute a limitation on the element itself.
Claims (10)
- The automatic point burying method of kinds, characterized by comprising:acquiring injection point information of a buried point marked by an injection device, identifying the injection point according to the injection point information, and identifying the injection point;performing embedding point processing on the source code of the network application at the injection point through a tool for moving a UI frame to generate a mixed byte code;and generating a compiled code according to the mixed byte code and a preset compiling rule.
- 2. The method of claim 1, wherein prior to the instrumentation of the mobile UI framework for the instrumentation of the injection point for the source code of the web application, the method further comprises:and preprocessing the tool to be processed of the mobile UI frame by using an AspectD tool to obtain the tool for moving the UI frame.
- 3. The method of claim 1, wherein the sink processing of the source code of the web application at the injection point by the tool of the mobile UI framework, generating the hybrid bytecode comprising:generating a buried point code through a code generator according to the buried point logic of the injection point;inserting, by a tool that moves a UI framework, a buried point code into the source code of a web application at the injection point, generating the hybrid bytecode.
- 4. The method of claim 3, wherein prior to the inserting, by the tool of the mobile UI framework, the buried point code generated by the code generator into the source code of the web application at the injection point, the method further comprises:and acquiring the buried point logic of the injection point, and generating a buried point code through a code generator according to the buried point logic of the injection point.
- 5. The method of claim 3, wherein after generating the hybrid bytecode, the method further comprises:reading hybrid bytecode information associated with the hybrid bytecode;wherein the mixed bytecode information includes at least:the embedded point logic corresponding to the injection point, the embedded point method corresponding to the injection point, the embedded point code generated by the code generator and the source code of the network application.
- 6. The method of claim 1, wherein after generating compiled code from the hybrid bytecode, the method further comprises:and generating an executable program according to the compiled code, and operating the executable program.
- 7. The method of claim 1, wherein prior to the obtaining injection point information for the annotator labeled burial point, the method further comprises:acquiring buried point information of a buried point request aiming at target data, and reading the buried point information;wherein the buried point information includes at least the following items:the method comprises the following steps of embedding the name of a point, a character form corresponding to the name of the point, a page path of the point, a character form corresponding to the page path of the point, the retention time of the point and a preset unit time corresponding to the retention time of the point.
- The automatic spot burying device of kinds, characterized by that, includes:the acquisition unit is used for acquiring the injection point information of the buried point marked by the annotator;the identification unit is used for identifying the injection point according to the injection point information acquired by the acquisition unit and identifying the injection point;a embedding unit, configured to perform embedding processing on the source code of the network application at the injection point identified by the identifying unit through a tool that moves a UI framework, and generate a hybrid bytecode;and the compiling unit is used for generating a compiled code according to the mixed byte code generated by the buried point unit and a preset compiling rule.
- A computer-readable storage medium , having a computer program stored thereon, wherein the program, when executed by a processor, implements the method of any of claims 1-7, .
- 10, electronic device, comprising:or more processors;storage means for storing or more programs that, when executed by the or more processors, cause the or more processors to implement the method of any of claims 1-7.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910854016.1A CN110737589A (en) | 2019-09-10 | 2019-09-10 | automatic point burying method, device, medium and electronic equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910854016.1A CN110737589A (en) | 2019-09-10 | 2019-09-10 | automatic point burying method, device, medium and electronic equipment |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110737589A true CN110737589A (en) | 2020-01-31 |
Family
ID=69267745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910854016.1A Pending CN110737589A (en) | 2019-09-10 | 2019-09-10 | automatic point burying method, device, medium and electronic equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110737589A (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111444065A (en) * | 2020-05-18 | 2020-07-24 | 江苏电力信息技术有限公司 | AspectJ-based mobile terminal performance index monitoring method |
CN111459762A (en) * | 2020-04-03 | 2020-07-28 | 杭州趣维科技有限公司 | Monitoring and calling chain system and method based on byte code technology and CAT |
CN111694564A (en) * | 2020-06-05 | 2020-09-22 | 百度在线网络技术(北京)有限公司 | Compiling method, device, equipment and medium for Flutter mixed mode |
CN111813381A (en) * | 2020-06-22 | 2020-10-23 | 北京字节跳动网络技术有限公司 | Method, device, medium and electronic equipment for generating executable program in cross-platform mode |
CN112433715A (en) * | 2020-12-09 | 2021-03-02 | 深圳市玖昔科技发展股份有限公司 | Full-embedding method of wireless communication terminal |
CN112631600A (en) * | 2020-12-24 | 2021-04-09 | 上海哔哩哔哩科技有限公司 | Software construction method and system based on Flutter |
CN113391811A (en) * | 2020-03-13 | 2021-09-14 | 北京字节跳动网络技术有限公司 | Function compiling method and device, electronic equipment and computer readable storage medium |
CN113765740A (en) * | 2021-08-03 | 2021-12-07 | 网宿科技股份有限公司 | Method and device for monitoring Dio network request |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106970789A (en) * | 2017-03-07 | 2017-07-21 | 武汉斗鱼网络科技有限公司 | A kind of Android end groups bury point methods and system automatically in AOP and AspectJ daily record |
CN107145489A (en) * | 2016-03-01 | 2017-09-08 | 阿里巴巴集团控股有限公司 | A kind of information statistical method and device of the client application based on cloud platform |
CN108536589A (en) * | 2018-03-26 | 2018-09-14 | 广州小鹏汽车科技有限公司 | A kind of application program buries point methods and system |
-
2019
- 2019-09-10 CN CN201910854016.1A patent/CN110737589A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145489A (en) * | 2016-03-01 | 2017-09-08 | 阿里巴巴集团控股有限公司 | A kind of information statistical method and device of the client application based on cloud platform |
CN106970789A (en) * | 2017-03-07 | 2017-07-21 | 武汉斗鱼网络科技有限公司 | A kind of Android end groups bury point methods and system automatically in AOP and AspectJ daily record |
CN108536589A (en) * | 2018-03-26 | 2018-09-14 | 广州小鹏汽车科技有限公司 | A kind of application program buries point methods and system |
Non-Patent Citations (3)
Title |
---|
SROMISE: "关于"网页埋点"的简单介绍与实现", 《HTTPS://BLOG.CSDN.NET/WEIXIN_43615166/ARTICLE/DETAILS/100565932》 * |
用户1907613: "看AspectJ在Android中的强势插入", 《HTTPS://CLOUD.TENCENT.COM/DEVELOPER/ARTICLE/1160026》 * |
闲鱼技术: "重磅开源|AOP for Flutter开发利器——AspectD", 《HTTPS://DEVELOPER.ALIYUN.COM/ARTICLE/705751》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113391811A (en) * | 2020-03-13 | 2021-09-14 | 北京字节跳动网络技术有限公司 | Function compiling method and device, electronic equipment and computer readable storage medium |
CN113391811B (en) * | 2020-03-13 | 2023-11-03 | 抖音视界有限公司 | Function compiling method, function compiling device, electronic equipment and computer readable storage medium |
CN111459762A (en) * | 2020-04-03 | 2020-07-28 | 杭州趣维科技有限公司 | Monitoring and calling chain system and method based on byte code technology and CAT |
CN111459762B (en) * | 2020-04-03 | 2023-05-16 | 杭州趣维科技有限公司 | Monitoring and calling chain system and method based on byte code technology and CAT |
CN111444065A (en) * | 2020-05-18 | 2020-07-24 | 江苏电力信息技术有限公司 | AspectJ-based mobile terminal performance index monitoring method |
CN111444065B (en) * | 2020-05-18 | 2022-03-11 | 江苏电力信息技术有限公司 | AspectJ-based mobile terminal performance index monitoring method |
CN111694564A (en) * | 2020-06-05 | 2020-09-22 | 百度在线网络技术(北京)有限公司 | Compiling method, device, equipment and medium for Flutter mixed mode |
CN111694564B (en) * | 2020-06-05 | 2023-08-04 | 百度在线网络技术(北京)有限公司 | Method, device, equipment and medium for compiling Flutter mixed mode |
CN111813381A (en) * | 2020-06-22 | 2020-10-23 | 北京字节跳动网络技术有限公司 | Method, device, medium and electronic equipment for generating executable program in cross-platform mode |
CN112433715A (en) * | 2020-12-09 | 2021-03-02 | 深圳市玖昔科技发展股份有限公司 | Full-embedding method of wireless communication terminal |
CN112631600A (en) * | 2020-12-24 | 2021-04-09 | 上海哔哩哔哩科技有限公司 | Software construction method and system based on Flutter |
CN113765740A (en) * | 2021-08-03 | 2021-12-07 | 网宿科技股份有限公司 | Method and device for monitoring Dio network request |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110737589A (en) | automatic point burying method, device, medium and electronic equipment | |
CN108228188B (en) | View component processing method, electronic device and readable storage medium | |
Sen et al. | Jalangi: A selective record-replay and dynamic analysis framework for JavaScript | |
CN104412229B (en) | Adaptive portable library | |
US8347272B2 (en) | Call graph dependency extraction by static source code analysis | |
JP5415557B2 (en) | User script code conversion for debugging | |
CN102455912B (en) | Expand during operation | |
US10540262B2 (en) | Using edit and continue to dynamically set and unset optimizations in source code while debugging | |
CN110990020A (en) | Software compiling method and device, electronic equipment and storage medium | |
CN105683924A (en) | Debugging native code by transitioning from execution in native mode to execution in interpreted mode | |
CN111090433A (en) | Data processing method, device and storage medium | |
CN100492387C (en) | Method and system for software protected development based on Keil C51 | |
CN111740948B (en) | Data packet issuing method, dynamic updating method, device, equipment and medium | |
CN107608663A (en) | A kind of development approach and device of Mobile solution plug-in unit and Mobile solution | |
CN102262684A (en) | Method and device for generating webpage page of mobile terminal | |
Hasan et al. | Smart Phones Application development using HTML5 and related technologies: A tradeoff between cost and quality | |
CN113778897B (en) | Automatic test method, device and equipment for interface and storage medium | |
CN109933410B (en) | Virtual instruction issuing method and system based on virtualization technology | |
CN110737588A (en) | automatic point burying method, device, medium and electronic equipment | |
CN114398673A (en) | Application compliance detection method and device, storage medium and electronic equipment | |
TW201502985A (en) | Method and device for processing file | |
WO2020057265A1 (en) | Method and system for chat function development, terminal and computer readable storage medium | |
CN112988175A (en) | Cross-platform application installation package generation method, device, medium and electronic equipment | |
CN111736812A (en) | Document code execution method and device, computer equipment and storage medium | |
CN111258802A (en) | Method for capturing application program crash information and related 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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200131 |