WO2017148293A1 - 一种基于云平台的客户端应用的信息统计方法和装置 - Google Patents
一种基于云平台的客户端应用的信息统计方法和装置 Download PDFInfo
- Publication number
- WO2017148293A1 WO2017148293A1 PCT/CN2017/074167 CN2017074167W WO2017148293A1 WO 2017148293 A1 WO2017148293 A1 WO 2017148293A1 CN 2017074167 W CN2017074167 W CN 2017074167W WO 2017148293 A1 WO2017148293 A1 WO 2017148293A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- buried point
- buried
- point information
- log
- information
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/40—Data acquisition and logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/86—Event-based monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Definitions
- the present invention relates to the field of cloud platform technologies, and in particular, to an information method of a cloud platform-based client application and an information statistical device of a cloud platform-based client application.
- the technical solution for information statistics of client applications usually uses annotations of class methods or declares Aspect Oriented Programming (AOP) interception through configuration files.
- AOP Aspect Oriented Programming
- the existing information of the client application is collected by means of proxy interception, and the object intercepted by the agent is customized for a certain scenario in advance, and cannot be adjusted according to actual needs.
- the proxy interception can only intercept the execution method of the client application, and the parameters or data related to the execution method cannot be intercepted. In this case, the interception result obtained by the proxy interception cannot be further utilized, and the utilization conversion rate of the proxy interception result is not used. high.
- embodiments of the present application are provided to provide an information statistical method for a cloud platform-based client application that overcomes the above problems or at least partially solves the above problems, and a corresponding cloud platform-based client application.
- Information statistics device
- an information statistics method for a cloud platform-based client application including:
- the buried point log is created according to a predefined buried point attribute, the client The application pre-defines the buried point attribute by calling an application programming interface of the buried point software development kit;
- the buried point attribute includes a buried point category and/or a buried point keyword of the buried point information
- the buried point category includes a buried point parent category or a buried point sub category to which the buried point information belongs.
- the intercepting the buried point log created by each client application calling the buried software development kit comprises:
- the directory and/or the buried point information changes, it is determined that the buried point information is added to the buried point log.
- the extracting the buried point information from the buried point log comprises:
- Buried point information is extracted incrementally from the buried point log.
- the method further includes:
- the message middleware is configured to transmit the buried point information, and control a transmission speed
- the method further includes:
- the buried point information is read from the message middleware.
- the method further includes:
- the buried point information corresponding to the buried point attribute is filtered.
- the aggregating the buried point information according to at least one dimension comprises:
- the buried point information is aggregated according to an application dimension and/or a time dimension.
- the query request carries a query parameter input through a query interface
- the querying and displaying the aggregated buried point information according to the query request includes:
- the query parameter includes at least one of a time period, the buried point attribute, and an application identifier of the client application.
- the application also discloses an information statistics device for a cloud platform-based client application, including:
- Buried log monitoring module for monitoring each client application call buried software development tool Buried log created by the package
- a burying point information extraction module configured to extract burying point information from the burying point log, where the burying point log is created according to a predefined burying point attribute, and the client application invokes the burying point software development kit
- the application programming interface pre-defines the buried point attribute
- a burying information aggregation module configured to aggregate the buried point information according to at least one dimension
- the buried point information display module is configured to query and display the aggregated buried point information according to the query request.
- the buried point attribute includes a buried point category and/or a buried point keyword of the buried point information
- the buried point category includes a buried point parent category or a buried point sub category to which the buried point information belongs.
- the burying point monitoring module is configured to monitor a directory of the buried point log and/or a change status of the buried point information; if the directory and/or the buried point information changes, Determine the new buried point information in the buried point log.
- the buried point information reading module is specifically configured to incrementally read out the buried point information from the buried point log.
- the device further comprises:
- a burying point information sending module configured to send the burying point information to the message middleware after the burying point information is extracted from the burying point log, where the message middleware is used to transmit the burying point information And control the transmission speed;
- the device also includes:
- a buried point information extracting module configured to read the buried point information from the message middleware before the collecting the buried point information according to the at least one dimension.
- the device further comprises:
- the burying point information screening module is configured to filter the burying point information corresponding to the burying point attribute before the burying point information is aggregated according to the at least one dimension.
- the burying point information aggregation module is specifically configured to aggregate the burying point information according to an application dimension and/or a time dimension.
- the query request carries a query parameter input through a query interface
- the burying point information display module is specifically configured to query and aggregate the buried point information according to the query parameter; the query parameter includes a time period, the buried point attribute, and an application of the client application. At least one of the logos.
- the embodiment of the application is based on the cloud platform, and the client application calls the buried point log created by the application programming interface (API) in the software development kit (SDK) to monitor and bury the point.
- the burying point information is read in the log, and the query request is displayed for the user and the burying point information aggregated according to different dimensions is used for querying and displaying.
- the embedded point can be customized through the API in the embedded point of the SDK.
- the data collection of the client application is customized according to the user requirements in different application scenarios, and the information collection scope for the client application is expanded, and the collection is improved.
- the utilization conversion rate of the result; further, the burying point information read from the burying point log is aggregated according to different dimensions, and the collection result of the client application is classified and statistic.
- FIG. 1 is a schematic diagram of a flow of information statistics of a client application in the background art
- FIG. 2 is a flow chart of steps of an embodiment of an information statistics method for a cloud platform-based client application according to the present application
- FIG. 3 is a schematic structural diagram of a LogAgent in an embodiment of an information statistics method for a cloud platform-based client application according to the present application;
- FIG. 4 is a schematic structural diagram of an aggregation system in an embodiment of an information statistics method for a cloud platform-based client application according to the present application;
- FIG. 5 is a schematic diagram of a relationship between a message middleware, a JStorm, and an aggregation system in an embodiment of an information statistical method for a cloud platform-based client application according to the present application;
- FIG. 6 is a flow chart of steps of an embodiment of an information statistics method for another cloud platform-based client application according to the present application
- FIG. 7 is a schematic diagram of a system structure of an embodiment of an information statistics method for a cloud platform-based client application according to the present application.
- FIG. 8 is a structural block diagram of an embodiment of an information statistics apparatus of a cloud platform-based client application according to the present application.
- One of the core concepts of the embodiment of the present application is to provide an information statistics method for a client application based on a cloud platform, which can be applied to a server, and a server provides a buried point SDK, and the client application invokes an API in the embedded SDK.
- the server side systematically monitors the buried point log, collects and automatically and real-time aggregates the messages in the buried point log through the intelligent agent, and queries and displays the aggregated result to realize the information collection of the client application. statistics.
- FIG. 2 a flow chart of steps of an embodiment of an information statistics method for a cloud platform-based client application according to the present application is shown, which may specifically include the following steps:
- Step 100 Listening to a buried point log created by each client application calling a buried software development kit, and extracting buried point information from the buried point log, where the buried point log is created according to a predefined buried point attribute.
- the client application pre-defines the buried point attribute by calling an application programming interface of the buried point software development kit.
- the embedded software development kit SDK is provided by the server to the client application, and the buried point software is generated by the embedded software development kit.
- the buried log is a specific log file used to record the collected buried point information. Specifically, in the embedded software development kit, the embedded point attribute is customized, and the embedded point attribute is used to associate each item in the running process of the client application with the above-mentioned custom buried point attribute by the embedded software development kit.
- the buried message is stored in the buried log.
- the buried point attribute can be pre-defined in the embedded software development kit or customized through the client application.
- the embedded SDK can be provided to the client application in the form of a jar package.
- the java client application needs to rely on the embedded SDK of the SDK to customize the buried point.
- the client application can access the embedded programming attribute of the buried point log by using the application programming interface API provided in the embedded point SDK to collect the buried point information according to the buried point attribute, and support different application scenarios according to The user needs to customize the collection of client application related data, expand the scope of information collection for the client application, and improve the utilization conversion rate of the collected results.
- the name of the buried point log, the storage path, and the like may also be defined in advance through the SDK.
- the buried point attribute may include at least one of the buried point category and the buried point keyword.
- the buried point attribute may include a buried point category.
- a client application deployed in a cloud platform wants to perform stress testing, the user wants to know the pressure condition of the entire cloud platform system in the application dimension, and the custom buried point category may be
- the user query can obtain the recorded user queries according to the buried point category, and further calculate the maximum QPS (query per second) of the cloud platform system according to each user query.
- the burying point category may also be classified, including dividing the burying point category into a burying point parent category or a subcategory of the burying point information, that is, defining a parent by burying the category
- the relationship with the child realizes the classification and statistics of the acquired buried point information. For example, if a client application needs to analyze multiple execution methods of a database call, the database may be defined to define a buried parent class, and a specific sub-category is defined for each specific execution method.
- the buried point attribute may include a buried point keyword, and the buried point keyword that needs to be collected is defined by the client application to further obtain the buried point information related to the buried point keyword.
- the operating parameters can be distinguished by separately defining the buried point keywords of the SDK buried point.
- the buried point keyword can be defined in combination with the buried point category.
- Operating parameters central processing unit
- memory memory
- disk hard disk
- the burying point attribute may further include a time-consuming call to the target object, a call success identifier, etc., which are respectively used to represent a call time of a target object (for example, an execution method) of the client application, and the target object Whether it was successfully called. Information such as time-consuming and successful call is recorded in the buried point log for analysis.
- the name of the API interface is logStat, and at least one of a buried point category, a buried sub-category, a buried point keyword, a call time-consuming, and a call success may be defined.
- the buried point SDK records the result as logStat(String category, subCategory); when defining the buried point category, the buried point subcategory, and the calling time consumption, the buried point SDK The result of this record is logStat(String category, subCategory, Long response Time); when the buried point category, the buried point keyword, the calling time and the call are successfully defined, the buried point SDK records the result as logStat(String). Category, String keyWord, Long response Time, Boolean success).
- the collection of related parameters of the execution method will be specifically described as an example.
- the specific API of the API interface provided by the SDK is MonitorService, and the name of the API interface is MonitorService logStat.
- the operation of the MySQL database exists in the client application.
- the method names are the insertMethod method and the updateMethod method. Now we need to count the number of calls per minute between these two methods in the application run.
- the embedded SDK record method is called once, the parent category (category) is set to MySQL, and the subcategory (subCategory) is defined as Insert and Update.
- the insertMethod method for example:
- the end time of the inserted insertMethod method minus the start time is the execution time of the insertMethod method. If it is 10 milliseconds, the result of the buried SDK record is MonitorService.logStat("MySQL". "Insert”, "10").
- MonitorService.logStat("MySQL”, “Insert”, “10”, “true”) indicating that the call is successful
- MonitorService.logStat("MySQL”, “Insert”, “10” , “false” indicates that the call failed.
- Listening to the buried point log can monitor the change of the buried point log to discover the newly added buried point information.
- the directory changes it is determined to add the buried point information, or monitor the change of the buried point information.
- the buried point information changes it is determined to be added. Buried information, or combined in two ways to monitor.
- the step 100 can use the LogAgent (log agent) to monitor the buried point log, and the LogAgent is used to monitor the buried point log, which can be divided into the following modules: PathWatch (directory monitoring), used to monitor the directory change of the buried point log. ;FileWatch (file listener) for listening Buried point information burying point information changes; WatchChecker (listening limit), used to limit the number of buried point information in the monitoring buried point log; LogSeeker (log exploration), used to achieve incremental reading in the buried point log Buried information. Applying to this application, LogAgent can be used to monitor the buried point log. The path change status of the buried point log can be monitored through PathWatch.
- PathWatch directory monitoring
- FileWatch file listener
- WatchChecker listening limit
- LogSeeker log exploration
- the monitoring of the buried-point log includes not only the monitoring of the directory of the buried-point log, but also the monitoring of the buried-point information in the buried-point log by FileWatch, based on the state change of the directory in which the PathWatch monitors the buried-point log, and In the monitoring process, the WatchChecker can also be used to limit the number of buried information of the monitor. After the Buried Point information in the buried point log is monitored by FileWatch, the LogSeeker is used to incrementally read the buried point information.
- the structure of the LogAgent The schematic is shown in Figure 3.
- the buried point information is read from the buried point log, and the buried point information can be read in an incremental manner from the buried point log.
- the buried point log is a xx.log file, in which each buried point information is arranged in order of segments, and each additional piece of content in the buried point log is considered to add a buried point information, when reading the buried point information, Ignore the buried point information that has been read, and only read the newly added buried point information. Since there is no need to read the entire buried point log, the amount of processed data can be reduced.
- the read buried point information may also be sent to the message middleware.
- the message middleware may be MetaQ (queue model message middleware) or kafka (distributed publish subscription message system), and the message middleware is used to transmit buried point information, and utilizes message stacking function of message middleware to control burying The transmission speed of the point information.
- the buried point information needs to be extracted from the message middleware.
- Step 102 Aggregate the buried point information according to at least one dimension.
- the burying point information may be aggregated from at least one dimension to implement classification and statistic of the collection result of the client application. For example, the aggregation is performed from the application dimension and the time dimension, and finally the aggregation information of a client application with a minimum granularity of 1 minute is provided, that is, the aggregation information of the minimum dimension of the time dimension belonging to a client application is 1 minute.
- a set of aggregation systems for aggregating buried point information in the buried point log may be deployed in advance on the server side, and the aggregation operation of the buried point information may be performed in the aggregation system, and the structure of the aggregation system is as follows: Figure 4 shows.
- the data receiver can be used to receive the aggregated information;
- the data analyzer is used to analyze the aggregated information and stored in the database;
- the database is used to store the analyzed aggregated information, and a data query interface can be provided for querying the aggregated information.
- the data aggregation process using the aggregation system can ensure the real-time and accuracy of data processing.
- the burying point information is aggregated according to the time dimension, and the plurality of burying point information belonging to the same time point or the same time period may be aggregated together according to the time point or the time period corresponding to the burying point information, as the same time point. Or the aggregation information in the same time period; the aggregation information is aggregated according to the application dimension, and the plurality of buried point information belonging to the same client application may be aggregated according to the identifier of the client application corresponding to the buried point information, as Aggregate information for the same client application.
- the plurality of buried point information may be buried information of the same client application, or may be buried information of different client applications.
- the buried point log also includes some redundant information. Therefore, in a preferred embodiment of the present application, the read buried point information may also be cleaned and filtered before the step 102. By cleaning out some meaningless characters or marks, such as separators, etc., filtering can be used to extract useful buried point information from the remaining information. Specifically, according to the buried point category and the buried point key in the buried point attribute At least one of the words is screened.
- the real-time computing framework can be used to read out the buried point information and clean and filter the buried point information.
- the JStorm real-time computing framework can be used to extract the buried point information corresponding to the buried point attribute by using JStorm.
- JStorm is a real-time streaming computing framework based on Storm. It has made continuous improvements in network input and output, thread model, resource scheduling, availability and stability. Compared with Storm, it has more stable operation, more powerful scheduling functions, higher execution efficiency, etc. advantage.
- FIG. 5 a schematic diagram of the relationship between the message middleware, JStorm, and the aggregation system is shown.
- JStorm obtains the buried point information from the message middleware, and is cleaned by Spout in JStorm, and is filtered by bolt. Filtering, and the buried point information corresponding to the buried point keyword after cleaning and filtering is sent to the aggregation system.
- Step 104 Query and display the aggregated buried point information according to the query request.
- the server that executes the application can provide the user with an interface for querying the buried point information, and the specific An interface is provided by the above described aggregation system.
- the user can send a query request for the buried point information by accessing the interface, and after receiving the query request, the server queries the required buried point information and presents it to the user.
- the user can input the query parameter that represents the required information by accessing the interface, and the query request received by the server carries the query parameter, and further queries the corresponding buried point information according to the query parameter.
- the query parameter may include at least one of a time period, the buried point attribute, and an application identifier of the client application, where the query parameter includes a time period, a buried point attribute, and an application identifier, and the query parameter may be in the aggregation system.
- the results of the query can be displayed in various forms such as charts, documents, and charts. For example, for the buried point information aggregated according to the time dimension, a visualization graph can be generated, and the graph is updated according to the new buried point data acquired in real time.
- the technical solution in the embodiment of the present application listens to the buried point log created by the API in the client application calling the embedded point SDK, and reads the buried point information from the buried point log, and is targeted to the user.
- the query requests the query and displays the buried point information aggregated according to different dimensions for querying and displaying.
- the embedded point can be customized through the API in the embedded point of the SDK.
- the data collection of the client application is customized according to the user requirements in different application scenarios, and the information collection scope for the client application is expanded, and the collection is improved.
- the utilization conversion rate of the result; further, the burying point information read from the burying point log is aggregated according to different dimensions, and the collection result of the client application is classified and statistic.
- the use of message middleware to transmit buried point information and control the transmission speed can alleviate the pressure of the aggregation system.
- FIG. 6 a flow chart of steps of an embodiment of an information statistics method of another cloud platform-based client application according to the present application is shown, which may specifically include the following steps:
- step 200 the client application invokes a buried point SDK provided by the server to customize the buried point.
- step 202 the buried point SDK creates a buried point log.
- Step 204 The LogAgent monitors the buried point log, and reads the buried point information in the buried point log in an incremental manner, and sends the buried point information to the message middleware.
- Step 206 JStorm reads the buried point information from the message middleware, performs real-time calculation on the buried point information, and sends the calculated buried point information to the aggregation system.
- Step 208 The aggregation system aggregates the buried point information according to the application dimension and/or the time dimension.
- Step 210 The server queries and displays the aggregated buried point information according to the query request.
- the client application in the embodiment of the present application can customize the burying point through the API in the embedded point of the SDK, and expands the client-side application data according to the user requirements in a different application scenario.
- the application information collection scope and the utilization conversion rate of the collection result are improved; and the buried point information read from the buried point log is aggregated according to different dimensions, and the collection result of the client application is classified and counted.
- FIG. 7 a schematic diagram of a system structure diagram of an embodiment of an information statistics method for a cloud platform-based client application according to the present application is shown.
- the client application invokes an API in the embedded SDK to customize a buried point and create a buried point log.
- LogAgent reads the buried point information in the buried point log and sends it to the message middleware.
- JStorm reads the buried point information from the message middleware in real time, and performs cleaning and filtering to send the buried and filtered information.
- the aggregation system aggregates the received buried point information according to at least one dimension, and provides a data query function and a data display function externally.
- the technical solution in the embodiment of the present application listens to the buried point log created by the API in the client application calling the embedded point SDK, and reads the buried point information from the buried point log, and is targeted to the user.
- the query requests the query and displays the buried point information aggregated according to different dimensions for querying and displaying.
- the embedded point can be customized through the API in the embedded point of the SDK.
- the data collection of the client application is customized according to the user requirements in different application scenarios, and the information collection scope for the client application is expanded, and the collection is improved.
- the utilization conversion rate of the result; further, the burying point information read from the burying point log is aggregated according to different dimensions, and the collection result of the client application is classified and statistic.
- FIG. 8 is a structural block diagram of an embodiment of an information statistics apparatus of a cloud platform-based client application according to the present application, which may specifically include the following modules:
- the buried-point log monitoring module 800 is configured to listen to a buried point log created by each client application calling a buried software development kit;
- the burying point information extraction module 802 is configured to extract burying point information from the burying point log, where the burying point log is created according to a predefined burying point attribute, and the client application invokes the burying point software development tool
- the application programming interface of the package pre-defines the buried point attribute
- the burying information aggregation module 804 is configured to aggregate the buried point information according to at least one dimension
- the buried point information display module 806 is configured to query and display the aggregated buried point information according to the query request.
- the buried point attribute includes a buried point category and/or a buried point keyword of the buried point information
- the buried point category includes a buried point parent category of the buried point information or buried Point subcategory.
- the buried-point log monitoring module is specifically configured to monitor a directory of the buried-point log and/or a change state of the buried-point information; if the directory and/or the buried If the point information changes, it is determined that the buried point information is added to the buried point log.
- the buried point information reading module is configured to incrementally read out the buried point information from the buried point log.
- the device further includes:
- a burying point information sending module configured to send the burying point information to the message middleware after the burying point information is extracted from the burying point log, where the message middleware is used to transmit the burying point information And control the transmission speed;
- the device also includes:
- a buried point information extracting module configured to read the buried point information from the message middleware before the collecting the buried point information according to the at least one dimension.
- the device further includes:
- a buried point information screening module configured to perform the buried point information according to the at least one dimension Before the aggregation, the buried point information corresponding to the buried point attribute is filtered.
- the burying point information aggregation module is specifically configured to aggregate the buried point information according to an application dimension and/or a time dimension.
- the query request carries a query parameter input through a query interface
- the buried point information display module is specifically configured to query and aggregate the buried point information according to the query parameter; the query parameter includes at least one of a time period, the buried point attribute, and an application identifier of the client application.
- the query parameter includes at least one of a time period, the buried point attribute, and an application identifier of the client application.
- the technical solution in the embodiment of the present application listens to the buried point log created by the API in the client application calling the embedded point SDK, and reads the buried point information from the buried point log, and is targeted to the user.
- the query requests the query and displays the buried point information aggregated according to different dimensions for querying and displaying.
- the embedded point can be customized through the API in the embedded point of the SDK.
- the data collection of the client application is customized according to the user requirements in different application scenarios, and the information collection scope for the client application is expanded, and the collection is improved.
- the utilization conversion rate of the result; further, the burying point information read from the burying point log is aggregated according to different dimensions, and the collection result of the client application is classified and statistic.
- the description is relatively simple, and the relevant parts can be referred to the description of the method embodiment.
- embodiments of the embodiments of the present application can be provided as a method, apparatus, or computer program product. Therefore, the embodiments of the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Moreover, embodiments of the present application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
- computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
- the computer device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
- the memory may include non-persistent memory, random access memory (RAM), and/or non-volatile memory in a computer readable medium, such as read only memory (ROM) or flash memory.
- RAM random access memory
- ROM read only memory
- Memory is an example of a computer readable medium.
- Computer readable media includes both permanent and non-persistent, removable and non-removable media.
- Information storage can be implemented by any method or technology. The information can be computer readable instructions, data structures, modules of programs, or other data.
- Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory. (ROM), electrically erasable programmable read only memory (EEPROM), flash memory or other memory technology, compact disk read only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, Magnetic tape cartridges, magnetic tape storage or other magnetic storage devices or any other non-transportable media can be used to store information that can be accessed by a computing device.
- computer readable media does not include non-persistent computer readable media, such as modulated data signals and carrier waves.
- Embodiments of the present application are described with reference to flowcharts and/or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the present application. It will be understood that each flow and/or block of the flowchart illustrations and/or FIG.
- These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processor or other programmable data processing terminal device to produce a machine such that instructions are executed by a processor of a computer or other programmable data processing terminal device
- Means are provided for implementing the functions specified in one or more of the flow or in one or more blocks of the flow chart.
- the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing terminal device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
- the instruction device implements the functions specified in one or more blocks of the flowchart or in a flow or block of the flowchart.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Fuzzy Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
Description
Claims (16)
- 一种基于云平台的客户端应用的信息统计方法,其特征在于,包括:监听各个客户端应用调用埋点软件开发工具包创建的埋点日志,并从所述埋点日志中提取出埋点信息,所述埋点日志根据预先定义的埋点属性创建,所述客户端应用通过调用所述埋点软件开发工具包的应用编程接口预先定义所述埋点属性;按照至少一个维度对所述埋点信息进行聚合;根据查询请求查询并展示聚合后的埋点信息。
- 根据权利要求1所述的方法,其特征在于,所述埋点属性包括所述埋点信息的埋点类别和/或埋点关键字,所述埋点类别包括所述埋点信息所属埋点父类别或埋点子类别。
- 根据权利要求1所述的方法,其特征在于,所述监听各个客户端应用调用埋点软件开发工具包创建的埋点日志包括:监听所述埋点日志的目录和/或所述埋点信息的变化状态;若所述目录和/或所述埋点信息发生变化,则确定所述埋点日志中新增埋点信息。
- 根据权利要求1所述的方法,其特征在于,所述从所述埋点日志中提取出埋点信息包括:从所述埋点日志中以增量方式提取出埋点信息。
- 根据权利要求1所述的方法,其特征在于,在从所述埋点日志中提取出埋点信息之后,所述方法还包括:将所述埋点信息发送至消息中间件,所述消息中间件用于传输所述埋点信息,并控制传输速度;在所述按照至少一个维度对所述埋点信息进行聚合之前,所述方法还包括:从所述消息中间件读取出所述埋点信息。
- 根据权利要求1所述的方法,其特征在于,在所述按照至少一个维 度对所述埋点信息进行聚合之前,所述方法还包括:筛选与所述埋点属性对应的埋点信息。
- 根据权利要求1所述的方法,其特征在于,所述按照至少一个维度对所述埋点信息进行聚合包括:按照应用维度和/或时间维度对所述埋点信息进行聚合。
- 根据权利要求1所述的方法,其特征在于,所述查询请求携带通过查询接口输入的查询参数;所述根据查询请求查询并展示聚合后的埋点信息包括:根据所述查询参数查询并展示聚合后的埋点信息;所述查询参数包括时间段、所述埋点属性和所述客户端应用的应用标识中至少一种。
- 一种基于云平台的客户端应用的信息统计装置,其特征在于,包括:埋点日志监听模块,用于监听各个客户端应用调用埋点软件开发工具包创建的埋点日志;埋点信息提取模块,用于从所述埋点日志中提取出埋点信息,所述埋点日志根据预先定义的埋点属性创建,所述客户端应用通过调用所述埋点软件开发工具包的应用编程接口预先定义所述埋点属性;埋点信息聚合模块,用于按照至少一个维度对所述埋点信息进行聚合;埋点信息展示模块,用于根据查询请求查询并展示聚合后的埋点信息。
- 根据权利要求9所述的装置,其特征在于,所述埋点属性包括所述埋点信息的埋点类别和/或埋点关键字,所述埋点类别包括所述埋点信息所属埋点父类别或埋点子类别。
- 根据权利要求9所述的装置,其特征在于,所述埋点日志监听模块,具体用于监听所述埋点日志的目录和/或所述埋点信息的变化状态;若所述目录和/或所述埋点信息发生变化,则确定所述埋点日志中新增埋点信息。
- 根据权利要求9所述的装置,其特征在于,所述埋点信息读取模块,具体用于从所述埋点日志中以增量方式读取出埋点信息。
- 根据权利要求9所述的装置,其特征在于,所述装置还包括:埋点信息发送模块,用于在所述从所述埋点日志中提取出埋点信息之后,将所述埋点信息发送至消息中间件,所述消息中间件用于传输所述埋点信息,并控制传输速度;所述装置还包括:埋点信息提取模块,用于在所述按照至少一个维度对所述埋点信息进行聚合之前,从所述消息中间件读取出所述埋点信息。
- 根据权利要求9所述的装置,其特征在于,所述装置还包括:埋点信息筛选模块,用于在所述按照至少一个维度对所述埋点信息进行聚合之前,筛选与所述埋点属性对应的埋点信息。
- 根据权利要求9所述的装置,其特征在于,所述埋点信息聚合模块,具体用于按照应用维度和/或时间维度对所述埋点信息进行聚合。
- 根据权利要求9所述的装置,其特征在于,所述查询请求携带通过查询接口输入的查询参数;所述埋点信息展示模块,具体用于根据所述查询参数查询并聚合后的埋点信息;所述查询参数包括时间段、所述埋点属性和所述客户端应用的应用标识中至少一种。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17759144.3A EP3425524A1 (en) | 2016-03-01 | 2017-02-20 | Cloud platform-based client application data calculation method and device |
JP2018544842A JP2019517040A (ja) | 2016-03-01 | 2017-02-20 | クラウドプラットフォームベースのクライアントアプリケーション情報統計方法および装置 |
US16/119,899 US20180365085A1 (en) | 2016-03-01 | 2018-08-31 | Method and apparatus for monitoring client applications |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610115058.X | 2016-03-01 | ||
CN201610115058.XA CN107145489B (zh) | 2016-03-01 | 2016-03-01 | 一种基于云平台的客户端应用的信息统计方法和装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/119,899 Continuation US20180365085A1 (en) | 2016-03-01 | 2018-08-31 | Method and apparatus for monitoring client applications |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017148293A1 true WO2017148293A1 (zh) | 2017-09-08 |
Family
ID=59743528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2017/074167 WO2017148293A1 (zh) | 2016-03-01 | 2017-02-20 | 一种基于云平台的客户端应用的信息统计方法和装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20180365085A1 (zh) |
EP (1) | EP3425524A1 (zh) |
JP (1) | JP2019517040A (zh) |
CN (1) | CN107145489B (zh) |
TW (1) | TW201734858A (zh) |
WO (1) | WO2017148293A1 (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180157700A1 (en) * | 2016-12-06 | 2018-06-07 | International Business Machines Corporation | Storing and verifying event logs in a blockchain |
CN107832784B (zh) * | 2017-10-27 | 2021-04-30 | 维沃移动通信有限公司 | 一种图像美化的方法和一种移动终端 |
CN108551411A (zh) * | 2018-04-28 | 2018-09-18 | 努比亚技术有限公司 | 数据采集方法、移动终端及计算机可读存储介质 |
CN108920355B (zh) * | 2018-05-31 | 2024-02-02 | 康键信息技术(深圳)有限公司 | 打点事件信息采集方法、装置、计算机设备和存储介质 |
CN109189810B (zh) * | 2018-08-28 | 2021-07-02 | 拉扎斯网络科技(上海)有限公司 | 查询方法、装置、电子设备及计算机可读存储介质 |
CN109688207B (zh) * | 2018-12-11 | 2022-06-03 | 北京云中融信网络科技有限公司 | 日志传输方法、装置及服务器 |
CN112084107A (zh) * | 2019-06-14 | 2020-12-15 | 北京奇虎科技有限公司 | 一种页面实验的实现方法、装置 |
CN110442511B (zh) * | 2019-06-25 | 2022-11-18 | 苏宁云计算有限公司 | 可视化埋点测试方法及装置 |
CN110377383B (zh) * | 2019-07-02 | 2023-02-03 | 上海上湖信息技术有限公司 | 一种查看应用软件性能参数的方法、装置及存储介质 |
US11514360B2 (en) * | 2019-07-12 | 2022-11-29 | EMC IP Holding Company LLC | Method and system for verifying state monitor reliability in hyper-converged infrastructure appliances |
CN110489180B (zh) * | 2019-08-07 | 2023-03-28 | 北京字节跳动网络技术有限公司 | 一种埋点上报方法、装置、介质和电子设备 |
CN110737589A (zh) * | 2019-09-10 | 2020-01-31 | 北京字节跳动网络技术有限公司 | 一种自动埋点的方法、装置、介质和电子设备 |
CN110597777A (zh) * | 2019-09-18 | 2019-12-20 | 金瓜子科技发展(北京)有限公司 | 一种日志处理方法和装置 |
CN112632595B (zh) * | 2019-09-24 | 2024-04-09 | 中国石油化工股份有限公司 | 一种基于地震资料解释软件的信息搜集方法及系统 |
CN110825711A (zh) * | 2019-10-17 | 2020-02-21 | 上海易点时空网络有限公司 | 基于Flume快速分区传输数据的方法以及装置 |
CN111221717A (zh) * | 2020-01-17 | 2020-06-02 | 北大方正集团有限公司 | 用户行为数据处理方法和计算机可读存储介质 |
CN111563015B (zh) * | 2020-04-15 | 2023-04-21 | 成都欧珀通信科技有限公司 | 数据监控方法及装置、计算机可读介质及终端设备 |
CN111651324B (zh) * | 2020-06-02 | 2023-09-01 | 上海泛微网络科技股份有限公司 | 一种日志收集方法、装置 |
US11579847B2 (en) | 2020-06-10 | 2023-02-14 | Snap Inc. | Software development kit engagement monitor |
US11042465B1 (en) | 2020-09-02 | 2021-06-22 | Coupang Corp. | Systems and methods for analyzing application loading times |
CN112579408A (zh) * | 2020-10-29 | 2021-03-30 | 上海钱拓网络技术有限公司 | 一种埋点信息的分类方法 |
CN112579412A (zh) * | 2020-12-10 | 2021-03-30 | 上海艾融软件股份有限公司 | 一种用户行为采集方法、装置、系统与介质 |
US11966323B2 (en) | 2021-01-05 | 2024-04-23 | Red Hat, Inc. | Troubleshooting software services based on system calls |
CN112948226B (zh) * | 2021-02-05 | 2024-04-02 | 中国建设银行股份有限公司 | 一种用户画像绘制方法和装置 |
CN115174226B (zh) * | 2022-07-05 | 2024-05-03 | 北京鉴微知著智能科技有限公司 | 基于人工智能和大数据的用户行为预测方法、设备、介质及产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104348650A (zh) * | 2013-08-05 | 2015-02-11 | 腾讯科技(深圳)有限公司 | 网站的监控方法、业务装置及系统 |
CN104572043A (zh) * | 2013-10-16 | 2015-04-29 | 阿里巴巴集团控股有限公司 | 一种对客户端应用的控件进行实时埋点的方法及装置 |
CN104915296A (zh) * | 2015-06-29 | 2015-09-16 | 北京金山安全软件有限公司 | 埋点测试方法、数据的查询方法及装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7620715B2 (en) * | 2005-06-29 | 2009-11-17 | Tripwire, Inc. | Change event correlation |
US20110307603A1 (en) * | 2009-02-05 | 2011-12-15 | Nec Corporation | Broker node and event topic control method in distributed event distribution system |
US20130007769A1 (en) * | 2011-06-29 | 2013-01-03 | International Business Machines Corporation | Tracking File-Centric Events |
US20130084838A1 (en) * | 2011-10-03 | 2013-04-04 | Geospatial Holdings, Inc. | System, method, and apparatus for viewing underground structures |
EP2817697A4 (en) * | 2012-02-21 | 2015-10-14 | Ensighten Inc | GRAPHIC SUPERPOSITION ASSOCIATED WITH DATA EXPLORATION AND ANALYTICS |
CN103631699B (zh) * | 2012-08-28 | 2019-02-12 | 北京京东尚科信息技术有限公司 | 日志管理系统及日志监控、获取和查询方法 |
US20140250138A1 (en) * | 2013-03-04 | 2014-09-04 | Vonage Network Llc | Method and apparatus for optimizing log file filtering |
US9602679B2 (en) * | 2014-02-27 | 2017-03-21 | Lifeprint Llc | Distributed printing social network |
US20160042388A1 (en) * | 2014-08-07 | 2016-02-11 | Somo Innovations Ltd | Tracking and analyzing mobile device activity related to mobile display campaigns |
CN104750824A (zh) * | 2015-03-31 | 2015-07-01 | 北京百度网讯科技有限公司 | 应用功能数据的处理方法及装置 |
-
2016
- 2016-03-01 CN CN201610115058.XA patent/CN107145489B/zh active Active
-
2017
- 2017-02-13 TW TW106104644A patent/TW201734858A/zh unknown
- 2017-02-20 WO PCT/CN2017/074167 patent/WO2017148293A1/zh active Application Filing
- 2017-02-20 EP EP17759144.3A patent/EP3425524A1/en not_active Withdrawn
- 2017-02-20 JP JP2018544842A patent/JP2019517040A/ja active Pending
-
2018
- 2018-08-31 US US16/119,899 patent/US20180365085A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104348650A (zh) * | 2013-08-05 | 2015-02-11 | 腾讯科技(深圳)有限公司 | 网站的监控方法、业务装置及系统 |
CN104572043A (zh) * | 2013-10-16 | 2015-04-29 | 阿里巴巴集团控股有限公司 | 一种对客户端应用的控件进行实时埋点的方法及装置 |
CN104915296A (zh) * | 2015-06-29 | 2015-09-16 | 北京金山安全软件有限公司 | 埋点测试方法、数据的查询方法及装置 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3425524A4 * |
Also Published As
Publication number | Publication date |
---|---|
TW201734858A (zh) | 2017-10-01 |
EP3425524A4 (en) | 2019-01-09 |
EP3425524A1 (en) | 2019-01-09 |
CN107145489B (zh) | 2020-12-01 |
JP2019517040A (ja) | 2019-06-20 |
CN107145489A (zh) | 2017-09-08 |
US20180365085A1 (en) | 2018-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017148293A1 (zh) | 一种基于云平台的客户端应用的信息统计方法和装置 | |
US11727039B2 (en) | Low-latency streaming analytics | |
US11349947B1 (en) | Proxying hypertext transfer protocol (HTTP) requests for microservices | |
US11379475B2 (en) | Analyzing tags associated with high-latency and error spans for instrumented software | |
US11829236B2 (en) | Monitoring statuses of monitoring modules of a distributed computing system | |
US11829330B2 (en) | Log data extraction from data chunks of an isolated execution environment | |
US11836148B1 (en) | Data source correlation user interface | |
US11843528B2 (en) | Lower-tier application deployment for higher-tier system | |
US11615082B1 (en) | Using a data store and message queue to ingest data for a data intake and query system | |
US11966797B2 (en) | Indexing data at a data intake and query system based on a node capacity threshold | |
US12019634B1 (en) | Reassigning a processing node from downloading to searching a data group | |
US11755531B1 (en) | System and method for storage of data utilizing a persistent queue | |
US11436116B1 (en) | Recovering pre-indexed data from a shared storage system following a failed indexer | |
US11892976B2 (en) | Enhanced search performance using data model summaries stored in a remote data store | |
US11663172B2 (en) | Cascading payload replication | |
CN110968561B (zh) | 日志存储方法和分布式系统 | |
US11841827B2 (en) | Facilitating generation of data model summaries | |
US11704285B1 (en) | Metrics and log integration | |
US11829415B1 (en) | Mapping buckets and search peers to a bucket map identifier for searching | |
US11113301B1 (en) | Generating metadata for events based on parsed location information of data chunks of an isolated execution environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2018544842 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2017759144 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2017759144 Country of ref document: EP Effective date: 20181001 |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17759144 Country of ref document: EP Kind code of ref document: A1 |