[go: up one dir, main page]

CN116881079A - Data processing method, device, electronic equipment and storage medium - Google Patents

Data processing method, device, electronic equipment and storage medium Download PDF

Info

Publication number
CN116881079A
CN116881079A CN202310848656.8A CN202310848656A CN116881079A CN 116881079 A CN116881079 A CN 116881079A CN 202310848656 A CN202310848656 A CN 202310848656A CN 116881079 A CN116881079 A CN 116881079A
Authority
CN
China
Prior art keywords
performance monitoring
data
target
monitoring data
target application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310848656.8A
Other languages
Chinese (zh)
Inventor
石洪禹
陈帅
朱鞘
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202310848656.8A priority Critical patent/CN116881079A/en
Publication of CN116881079A publication Critical patent/CN116881079A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The embodiment of the disclosure provides a data processing method, a data processing device, electronic equipment and a storage medium. The method comprises the following steps: if the target application integrates the performance monitoring component, monitoring is carried out at a target position of the target application, wherein the target application is an application accessed to a software development kit; intercepting performance monitoring data output by a performance monitoring component if the target application has abnormal performance; filtering the performance monitoring data based on a preconfigured filtering rule to obtain target performance monitoring data, wherein the filtering rule is used for extracting the performance monitoring data related to the software development kit; and reporting the target performance monitoring data to a background server of the software development kit, so that the background server of the software development kit processes the target performance monitoring data. The method relies on the target application accessed into the software development kit to monitor the performance, does not influence the volume of the software development kit, and reduces the performance consumption of the target application.

Description

Data processing method, device, electronic equipment and storage medium
Technical Field
The present disclosure relates to the field of computer technology, and in particular, to a data processing method, a data processing apparatus, an electronic device, and a computer readable storage medium.
Background
A software development kit (Software Development Kit, SDK) is typically a collection of development tools that some software engineers create application software for a particular software package, software framework, hardware platform, operating system, etc. The application can access the SDK to quickly realize the related functions of the SDK.
In the related art, an SDK is generally accessed to a performance monitoring component to monitor performance and stability of the SDK through the performance monitoring component. The packet size of the performance monitoring component may be larger than the packet size of the SDK, so if the SDK accesses the performance monitoring component, the packet size of the SDK increases, resulting in an increase in the cost of accessing the SDK by the application, and also resulting in a large amount of performance consumption by the application.
It should be noted that the information disclosed in the above background section is only for enhancing understanding of the background of the present disclosure and thus may include information that does not constitute prior art known to those of ordinary skill in the art.
Disclosure of Invention
The embodiment of the disclosure provides a data processing method, a data processing device, electronic equipment and a computer readable storage medium, which are used for at least solving the problems of large influence on the volume of an SDK and large performance consumption of an application in the related art.
The embodiment of the disclosure provides a data processing method, which comprises the following steps: if the target application integrates the performance monitoring component, monitoring is carried out at a target position of the target application, wherein the target application is an application accessed to a software development kit; intercepting performance monitoring data output by the performance monitoring component if the target application has abnormal performance; filtering the performance monitoring data based on a pre-configured filtering rule to obtain target performance monitoring data, wherein the filtering rule is used for extracting the performance monitoring data related to the software development kit; and reporting the target performance monitoring data to a background server of the software development kit, so that the background server of the software development kit performs data processing on the target performance monitoring data.
In some exemplary embodiments of the present disclosure, the method further comprises: analyzing the target performance monitoring data and determining the association degree of the target performance monitoring data and the software development kit; and if the association degree is lower than a preset threshold value, adjusting the filtering rule.
In some exemplary embodiments of the present disclosure, the target performance monitoring data is one or more in number; the step of reporting the target performance monitoring data to a background server of the software development kit comprises the following steps: if the data types of one or more target performance monitoring data are the same, accumulating the one or more target performance monitoring data according to the same data types, and reporting the accumulated data to a background server of the software development kit; and if the data types of one or more target performance monitoring data are different, splicing the one or more target performance monitoring data, and reporting the spliced data to a background server of the software development kit.
In some exemplary embodiments of the present disclosure, the method further comprises: obtaining key classes of the target application through a reflection technology; detecting whether the identification of the performance monitoring component exists in the name of the key class of the target application; and if so, determining that the target application integrates the performance monitoring component.
In some exemplary embodiments of the present disclosure, the target location includes: a program code location that monitors performance, or a program code location that outputs performance monitoring data; the monitoring at the target position of the target application includes: monitoring is performed at the program code position of the monitoring performance of the target application or the program code position of the output performance monitoring data through a dynamic proxy technology.
In some exemplary embodiments of the present disclosure, after intercepting the performance monitoring data output by the performance monitoring component, the method further comprises: and sending the performance monitoring data to the target application.
In some exemplary embodiments of the present disclosure, the performance monitoring data includes performance data and stability data.
According to another aspect of the embodiments of the present disclosure, there is provided a data processing apparatus including: the monitoring module is used for monitoring a target position of a target application if the target application integrates the performance monitoring component, wherein the target application is an application accessed to a software development kit; the data interception module is used for intercepting the performance monitoring data output by the performance monitoring component if the target application has abnormal performance; the data filtering module is used for filtering the performance monitoring data based on a pre-configured filtering rule to obtain target performance monitoring data, wherein the filtering rule is used for extracting the performance monitoring data related to the software development kit; and the data sending module is used for reporting the target performance monitoring data to a background server of the software development kit, so that the background server of the software development kit carries out data processing on the target performance monitoring data.
In some exemplary embodiments of the present disclosure, the data filtering module is further configured to: analyzing the target performance monitoring data and determining the association degree of the target performance monitoring data and the software development kit; and if the association degree is lower than a preset threshold value, adjusting the filtering rule.
In some exemplary embodiments of the present disclosure, the target performance monitoring data is one or more in number; wherein, the data sending module is further used for: if the data types of one or more target performance monitoring data are the same, accumulating the one or more target performance monitoring data according to the same data types, and reporting the accumulated data to a background server of the software development kit; and if the data types of one or more target performance monitoring data are different, splicing the one or more target performance monitoring data, and reporting the spliced data to a background server of the software development kit.
In some exemplary embodiments of the present disclosure, the apparatus further comprises a detection module for: obtaining key classes of the target application through a reflection technology; and detecting whether the identification of the performance monitoring component exists in the names of the key classes of the target application, and if so, determining that the target application integrates the performance monitoring component.
In some exemplary embodiments of the present disclosure, the target location includes: a program code location that monitors performance, or a program code location that outputs performance monitoring data; wherein, the proxy module is further configured to: monitoring is performed at the program code position of the monitoring performance of the target application or the program code position of the output performance monitoring data through a dynamic proxy technology.
In some exemplary embodiments of the present disclosure, the data transmission module is further configured to: and sending the performance monitoring data to the target application.
In some exemplary embodiments of the present disclosure, the performance monitoring data includes performance data and stability data.
An embodiment of the present disclosure provides an electronic device, including: a processor; a memory for storing processor-executable instructions; wherein the processor is configured to execute executable instructions to implement a data processing method as in any of the above.
The disclosed embodiments provide a computer readable storage medium, which when executed by a processor of an electronic device, enables the electronic device to perform a data processing method as any one of the above.
The disclosed embodiments provide a computer program product comprising a computer program which, when executed by a processor, implements a data processing method of any of the above.
According to the data processing method provided by the embodiment of the disclosure, under the condition that the performance monitoring component is integrated by the target application, the target position of the target application is monitored, further, when the performance of the target application is abnormal, the performance monitoring data output by the performance monitoring component is intercepted, then, the target performance monitoring data related to the software development kit is extracted from the performance monitoring data through the filtering rule, and further, the target performance monitoring data is reported to the background server of the software development kit, so that the background server can analyze and process the target performance monitoring data. On one hand, the performance monitoring is carried out by relying on a target application accessed to a software development kit, and the accuracy of a performance monitoring result is ensured by a performance monitoring component integrated by the target application; on the other hand, the software development kit is not required to be accessed into the performance monitoring component, the package volume of the software development kit is not influenced, and the performance consumption of the target application can be reduced.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the disclosure and together with the description, serve to explain the principles of the disclosure. It will be apparent to those of ordinary skill in the art that the drawings in the following description are merely examples of the disclosure and that other drawings may be derived from them without undue effort.
FIG. 1 shows a schematic diagram of an exemplary system architecture to which the data processing method of embodiments of the present disclosure may be applied;
FIG. 2 is a flowchart illustrating a method of data processing according to an exemplary embodiment;
FIG. 3 is a flowchart illustrating a detection performance monitoring component according to an exemplary embodiment;
FIG. 4 is a flowchart illustrating filtering performance monitoring data according to an exemplary embodiment;
FIG. 5 is a flowchart illustrating the reporting of performance monitoring data according to an exemplary embodiment;
FIG. 6 is a block diagram of a performance monitoring system of a software development kit shown according to an exemplary embodiment;
FIG. 7 is a block diagram of a data processing apparatus according to an exemplary embodiment;
fig. 8 is a schematic diagram illustrating a structure of an electronic device suitable for use in implementing an exemplary embodiment of the present disclosure, according to an exemplary embodiment.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. However, the exemplary embodiments can be embodied in many forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the example embodiments to those skilled in the art. The same reference numerals in the drawings denote the same or similar parts, and thus a repetitive description thereof will be omitted.
The described features, structures, or characteristics of the disclosure may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of the present disclosure. However, those skilled in the art will recognize that the aspects of the present disclosure may be practiced with one or more of the specific details, or with other methods, components, devices, steps, etc. In other instances, well-known methods, devices, implementations, or operations are not shown or described in detail to avoid obscuring aspects of the disclosure.
The drawings are merely schematic illustrations of the present disclosure, in which like reference numerals denote like or similar parts, and thus a repetitive description thereof will be omitted. Some of the block diagrams shown in the figures do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in software or in at least one hardware module or integrated circuit or in different networks and/or processor devices and/or microcontroller devices.
The flow diagrams depicted in the figures are exemplary only, and not necessarily all of the elements or steps are included or performed in the order described. For example, some steps may be decomposed, and some steps may be combined or partially combined, so that the order of actual execution may be changed according to actual situations.
In the present specification, the terms "a," "an," "the," "said" and "at least one" are used to indicate the presence of at least one element/component/etc.; the terms "comprising," "including," and "having" are intended to be inclusive and mean that there may be additional elements/components/etc., in addition to the listed elements/components/etc.; the terms "first," "second," and "third," etc. are used merely as labels, and do not limit the number of their objects.
It should be noted that, the user information and data related to the present disclosure are information and data authorized by the user or sufficiently authorized by each party.
FIG. 1 shows a schematic diagram of an exemplary system architecture to which the data processing method of embodiments of the present disclosure may be applied.
As shown in fig. 1, the system architecture may include a server 101, a network 102, a terminal device 103, a terminal device 104, and a terminal device 105. Network 102 is the medium used to provide communication links between terminal device 103, terminal device 104, or terminal device 105 and server 101. Network 102 may include various connection types such as wired, wireless communication links, or fiber optic cables, among others.
The server 101 may be a server providing various services, such as a background management server providing support for devices operated by a user with the terminal device 103, the terminal device 104, or the terminal device 105. The background management server may perform analysis and other processing on the received data such as the request, and feed back the processing result to the terminal device 103, the terminal device 104, or the terminal device 105.
The terminal device 103, the terminal device 104, and the terminal device 105 may be, but are not limited to, a smart phone, a tablet computer, a notebook computer, a desktop computer, a smart speaker, a wearable smart device, a virtual reality device, an augmented reality device, and the like.
In the embodiment of the present disclosure, the server 101 may: detecting whether a target application integrates a performance monitoring component, and if so, monitoring the target position of the target application, wherein the target application is an application accessed to a software development kit; intercepting performance monitoring data output by a performance monitoring component if the target application has abnormal performance; filtering the performance monitoring data based on a preconfigured filtering rule to obtain target performance monitoring data, wherein the filtering rule is used for extracting the performance monitoring data related to the software development kit; and reporting the target performance monitoring data to a background server of the software development kit, so that the background server of the software development kit processes the target performance monitoring data.
It should be understood that the numbers of the terminal device 103, the terminal device 104, the terminal device 105, the network 102 and the server 101 in fig. 1 are only illustrative, and the server 101 may be a server of one entity, may be a server cluster formed by a plurality of servers, may be a cloud server, and may have any number of terminal devices, networks and servers according to actual needs.
In order for those of ordinary skill in the art to better understand the technical solutions of the present disclosure, the steps of the data processing method in the exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings and embodiments.
Fig. 2 is a flowchart illustrating a data processing method according to an exemplary embodiment, and the method provided in the embodiment of fig. 2 may be implemented by any electronic device, for example, the server 101 in the embodiment of fig. 1, but the disclosure is not limited thereto. As shown in fig. 2, the data processing method provided by the embodiment of the present disclosure may include the following steps.
In step S201, if the target application integrates the performance monitoring component, the target application is monitored at a target location of the target application, where the target application is an application accessing the software development kit.
The performance monitoring component can be used for monitoring various data when the application runs, and particularly can monitor the starting time, life cycle, thread stack when the application is in a katen state, drawing frame rate, memory use condition when the application runs, process information and the like. If the target application integrates a performance monitoring component, the performance monitoring component can be used to monitor the performance as well as the stability of the target application.
In the disclosed embodiments, the target location may include a program code location that monitors performance, or a program code location that outputs performance monitoring data. The program code location for monitoring performance may refer to a key code for monitoring performance or stability problems such as trigger katon. And if the performance or stability problem is detected, the target application generates performance or stability data, such as katon stack data, and then reports or logs the data, wherein the position of the program code for outputting the performance monitoring data refers to the position of the data reporting or logging.
In an exemplary embodiment, monitoring at a target location of a target application may include: monitoring is performed at the location of the program code of the monitoring performance of the target application or the location of the program code outputting the performance monitoring data by the dynamic proxy technique. In the embodiment of the disclosure, since the monitoring is performed at the target position, the required performance monitoring data can be obtained without affecting the performance monitoring data output of the target application.
The dynamic proxy is a technology for creating a proxy object of a target object and enhancing the functionality of a method in the target object in the program running period. In the process of generating the proxy object, the target object is unchanged, and the method in the proxy object is an enhancement method of the target object method. It is understood that during execution, dynamic interception of methods in objects performs functional operations before and after the interception method. In the embodiment of the disclosure, the dynamic proxy can be realized by using a proxy tool supported by the terminal system where the target application is located.
If the target application integrates the performance monitoring component, the target application can monitor the position of the monitoring performance of the target application or the position for outputting the monitoring result through the dynamic proxy, and further, when the integrated performance monitoring component outputs the monitoring result, the monitoring result is intercepted, and the target application cannot be influenced to acquire the monitoring result.
In step S202, if the target application has abnormal performance, the performance monitoring data output by the performance monitoring component is intercepted.
In the disclosed embodiments, the performance monitoring data may include performance data and stability data. Such as data such as stuck and crashed.
In step S203, the performance monitoring data is subjected to filtering processing based on a pre-configured filtering rule for extracting performance monitoring data related to the software development kit, to obtain target performance monitoring data.
The filtering rule may be used to extract performance monitoring data related to the software development kit, for example, the filtering rule includes a name of the SDK, and the filtering rule may be used to extract data containing the name of the SDK in the performance monitoring data. The performance monitoring component is integrated in the target application and can be used for monitoring the running data of the target application, and the performance monitoring data monitored by the performance monitoring component comprise data related to the SDK and other data of the target application because the target application is accessed to the SDK. Therefore, after intercepting the performance monitoring data output by the performance monitoring component, the performance monitoring data associated with the SDK may be extracted by filtering rules.
In step S204, the target performance monitoring data is reported to the background server of the software development kit, so that the background server of the software development kit performs data processing on the target performance monitoring data.
In the step, the extracted performance monitoring data related to the SDK is reported to a background server of the SDK, so that the background server can perform data analysis on the performance monitoring data related to the SDK, acquire the operation condition of the SDK, and is convenient for optimizing and updating the SDK. And the background server can display the performance monitoring data through the display layer, so that the operation condition of the SDK can be conveniently checked.
In an exemplary embodiment, after intercepting the performance monitoring data output by the performance monitoring component, the data processing method may further include: and sending the performance monitoring data to the target application.
After intercepting the performance monitoring data output by the performance monitoring component, the performance monitoring data can be sent to the original monitoring of the target application besides being reported to the background server of the SDK, so that the monitoring of the target application can not be influenced.
According to the data processing method provided by the embodiment of the disclosure, under the condition that the performance monitoring component is integrated by the target application, the target position of the target application is monitored, further, when the performance of the target application is abnormal, the performance monitoring data output by the performance monitoring component is intercepted, then, the target performance monitoring data related to the software development kit is extracted from the performance monitoring data through the filtering rule, and further, the target performance monitoring data is reported to the background server of the software development kit, so that the background server can analyze and process the target performance monitoring data. On one hand, the performance monitoring is carried out by relying on a target application accessed to a software development kit, and the accuracy of a performance monitoring result is ensured by a performance monitoring component integrated by the target application; on the other hand, the software development kit is not required to be accessed into the performance monitoring component, the package volume of the software development kit is not influenced, and the performance consumption of the target application can be reduced.
In an exemplary embodiment, the data processing method may further include the detection of a performance monitoring component. FIG. 3 is a flow chart illustrating a detection performance monitoring component according to an exemplary embodiment. As shown in fig. 3, the detection of the performance monitoring component may be specifically implemented by:
step S301: obtaining key classes of the target application through a reflection technology;
step S302: detecting whether the identification of the performance monitoring component exists in the names of the key classes of the target application;
step S303: if so, determining a target application integration performance monitoring component.
Reflection refers to an ability of a program to access, detect and modify its own state or behavior. In the running state, for any one class, all the attributes and methods of the class can be known; any method and attribute of any object can be called; this dynamically acquired information and the function of the method of dynamically invoking the object are referred to as reflection mechanisms.
In the embodiment of the disclosure, the key class name of the target application may be obtained through a reflection technology, and whether the key class name has the identification of the performance monitoring component, for example, the name of the performance monitoring component, if so, it is indicated that the target application integrates the performance monitoring component, and further monitoring may be performed at the target position of the target application, so that when the performance or stability problem occurs in the target application, the performance monitoring data output by the performance monitoring component is intercepted.
In an exemplary embodiment, the data processing method may further include: analyzing the target performance monitoring data and determining the association degree of the target performance monitoring data and the software development kit; and if the association degree is lower than a preset threshold value, adjusting the filtering rule.
The association degree can be understood as the correctness of the target performance monitoring data, that is, the correctness of the data related to the SDK. After the target performance monitoring data is extracted by the filtering rule, the target performance monitoring data may be analyzed to determine whether the target performance monitoring data is SDK related data, for example, whether the target performance monitoring data is stack data in which the SDK causes the target application to be stuck. If the accuracy of the target performance monitoring data obtained by analysis is low, the filtering rules need to be optimized.
FIG. 4 is a flowchart illustrating filtering performance monitoring data according to an exemplary embodiment. As shown in fig. 4, the filtering of performance monitoring data may be accomplished by:
step S401, configuring a filtering rule for extracting performance monitoring data related to the SDK;
step S402, if performance or stability problems occur in the target application, after the performance monitoring data output by the performance monitoring component are obtained through proxy interception, filtering the performance monitoring data by utilizing a filtering rule to obtain target performance monitoring data, namely, performance monitoring data related to the SDK;
Step S403, judging whether the target performance monitoring data is data produced by the problem of the target application caused by the SDK;
step S404, if not, optimizing the filtering rule so as to perform data filtering processing by using the optimized filtering rule.
After the target performance monitoring data is obtained, the target performance monitoring data can be reported to a background server of the SDK, and the background server judges the correctness of the target performance monitoring data, namely, the background server judges whether the target performance monitoring data is data produced by the problem of the target application caused by the SDK, and further adjusts the filtering rule according to the judging result and then sends the filtering rule to the SDK, so that the SDK filters by using the adjusted filtering rule.
And after the target performance monitoring data is obtained, judging the correctness of the target performance monitoring data by the SDK, namely judging whether the target performance monitoring data is data produced by the problem of target application caused by the SDK, further optimizing the filtering rule according to the judging result, filtering by utilizing the optimized filtering rule to obtain new target performance monitoring data, and reporting the target performance monitoring data to a background server of the SDK.
In an exemplary embodiment, the number of target performance monitoring data is one or more. In the embodiment of the disclosure, one monitoring result can be reported once, and a plurality of monitoring results can be reported in a combined way, so that the flow consumption can be reduced. FIG. 5 is a flowchart illustrating the reporting of performance monitoring data, according to an exemplary embodiment. As shown in fig. 5, the following steps may be used to implement data reporting:
step S501, if the data types of one or more target performance monitoring data are the same, accumulating the one or more target performance monitoring data according to the same data types, and reporting the accumulated data to a background server of a software development kit;
step S502, if the data types of the one or more target performance monitoring data are different, splicing the one or more target performance monitoring data, and reporting the spliced data to a background server of the software development kit.
Specifically, if the data types of one or more target performance monitoring data are the same, the target performance monitoring data may be accumulated, for example, stack counts may be accumulated for the same stack, and then the accumulated data may be reported to a background server of the SDK. If the data types of one or more target performance monitoring data are different, the target performance monitoring data can be spliced, for example, the data can be spliced for different stacks, and then the spliced data is reported to a background server of the SDK.
It should be noted that if the data types of the partial data in the one or more target performance monitoring data are the same, the data with the same data type in the target performance monitoring data may be accumulated, and the data with different data types may be spliced and then reported to the background server of the SDK.
FIG. 6 is a block diagram of a performance monitoring system of a software development kit, according to an example embodiment. As shown in fig. 6, the system may include a configuration layer 610, a detection layer 620, a data upload layer 630, and a presentation layer 640.
The configuration layer 610 may include a switch 611 and a learning configuration unit 612. Wherein the switch 611 is used to control whether to turn on the performance monitoring function of the SDK. If the switch 611 starts the performance monitoring function of the SDK, it can detect whether the target application accessing the SDK integrates the performance monitoring component, and in the case of integrating the performance monitoring component by the target application, it can proxy at the target position of the target application, so that when the performance or stability problem occurs in the target application, it can intercept the performance monitoring data output by the performance monitoring component by proxy, then filter the performance monitoring data to obtain the target performance monitoring data, and finally report the target performance monitoring data to the background server of the SDK. The learning configuration unit 612 is configured to configure the filtering rule.
The detection layer 620 may include a detection unit 621 and a proxy unit 622. Wherein the detection unit 621 may be configured to detect whether the target application integrates the performance monitoring component. In embodiments of the present disclosure, reflection techniques may be utilized to detect whether a target application integrates a performance monitoring component. Of course, other technical means may be used to detect whether the target application integrates the performance monitoring component, which is not limited by the embodiments of the present disclosure. The proxy unit 622 may be configured to monitor, if the target application integrates the performance monitoring component, by using a dynamic proxy, a location of a program code for monitoring performance of the target application or a location of a program code for outputting performance monitoring data, so as to intercept the performance monitoring data output by the performance monitoring component when a performance or stability problem occurs in the target application. Of course, other technical means may be used for monitoring, which is not limited by the embodiments of the present disclosure.
The data upload layer 630 may include an upload unit 631, a filter unit 632, a learning unit 633, and a flow control unit 634. Among them, the filtering unit 632 may be used to perform filtering processing on the performance monitoring data intercepted by the proxy unit 622 to obtain target performance monitoring data. The learning unit 633 may be configured to perform learning optimization on the filtering rules. The flow control unit 634 may be used to perform a merging process on the target performance monitoring data. The upload unit 631 may be used to upload the target performance monitoring data after the merging process to the background server of the SDK.
The presentation layer 640 is a presentation layer of a background server of the SDK, and may be used to present performance monitoring data of the SDK, such as performance stability information including, for example, stuck, memory leakage, crashes, and the like.
According to the performance monitoring system of the software development kit, provided by the embodiment of the disclosure, a performance monitoring function of the SDK is started through a switch, and whether a target application accessed into the SDK integrates a performance monitoring component or not is detected through a detection unit; and under the condition that the performance monitoring component is integrated by the target application, monitoring is carried out at the target position of the target application through the proxy unit, so that when the performance or stability problem of the target application occurs, the performance monitoring data output by the performance monitoring component can be intercepted through the proxy unit; then filtering the performance monitoring data through a filtering unit to obtain target performance monitoring data; the target performance monitoring data are combined and reported to a background server of the SDK through the flow control unit and the uploading unit, so that the background server can analyze and process the target performance monitoring data and display the target performance monitoring data through the display layer; and, the filtering rule may be configured by the learning configuration unit, and optimized by the learning unit.
Therefore, the performance monitoring can be performed by depending on the target application accessed to the SDK, and the accuracy of the performance monitoring result is ensured by a performance monitoring component integrated by the target application; in addition, the SDK is not required to be accessed into a performance monitoring component, the volume of the SDK is not influenced, and the performance consumption of the target application can be reduced.
It should be understood that the same/similar parts of the embodiments of the method described above in this specification may be referred to each other, and each embodiment focuses on differences from other embodiments, and references to descriptions of other method embodiments are only needed.
Fig. 7 is a block diagram of a data processing apparatus according to an exemplary embodiment. Referring to fig. 7, the apparatus 700 may include a monitoring module 710, a data interception module 720, a data filtering module 730, and a data transmission module 740.
Wherein the monitoring module 710 is operable to: if the target application integrates the performance monitoring component, monitoring is carried out at a target position of the target application, wherein the target application is an application accessed to a software development kit; the data intercept module 720 may be used to: intercepting performance monitoring data output by a performance monitoring component if the target application has abnormal performance; the data filtering module 730 may be configured to: filtering the performance monitoring data based on a preconfigured filtering rule to obtain target performance monitoring data, wherein the filtering rule is used for extracting the performance monitoring data related to the software development kit; the data transmission module 740 may be configured to: and reporting the target performance monitoring data to a background server of the software development kit, so that the background server of the software development kit performs data processing on the performance monitoring data.
In some exemplary embodiments of the present disclosure, the data filtering module 730 may be further configured to: analyzing the target performance monitoring data and determining the association degree of the target performance monitoring data and the software development kit; and if the association degree is lower than a preset threshold value, adjusting the filtering rule.
In some exemplary embodiments of the present disclosure, the amount of target performance monitoring data is one or more; wherein, the data sending module 740 may further be configured to: if the data types of the one or more target performance monitoring data are the same, accumulating the one or more target performance monitoring data according to the same data types, and reporting the accumulated data to a background server of the software development kit; and if the data types of the one or more target performance monitoring data are different, splicing the one or more target performance monitoring data, and reporting the spliced data to a background server of the software development kit.
In some exemplary embodiments of the present disclosure, the apparatus 700 shown in fig. 7 further includes a detection module 750 operable to: obtaining key classes of the target application through a reflection technology; and detecting whether the identification of the performance monitoring component exists in the names of the key classes of the target application, and if so, determining that the target application integrates the performance monitoring component.
In some exemplary embodiments of the present disclosure, the target location includes: a program code location that monitors performance, or a program code location that outputs performance monitoring data; wherein the monitoring module 710 is further operable to: monitoring is performed at the location of the program code of the monitoring performance of the target application or the location of the program code outputting the performance monitoring data by the dynamic proxy technique.
In some exemplary embodiments of the present disclosure, the data transmission module 740 may be further configured to: and sending the performance monitoring data to the target application.
In some exemplary embodiments of the present disclosure, the performance monitoring data includes performance data and stability data.
The specific manner in which the various modules perform the operations in the apparatus of the above embodiments have been described in detail in connection with the embodiments of the method, and will not be described in detail herein.
Fig. 8 is a schematic diagram illustrating a structure of an electronic device suitable for use in implementing an exemplary embodiment of the present disclosure, according to an exemplary embodiment. It should be noted that the electronic device 800 shown in fig. 8 is only an example, and should not impose any limitation on the functions and the application scope of the embodiments of the present disclosure.
As shown in fig. 8, the electronic device 800 is embodied in the form of a general purpose computing device. Components of electronic device 800 may include, but are not limited to: the at least one processing unit 810, the at least one memory unit 820, and a bus 830 connecting the various system components, including the memory unit 820 and the processing unit 810.
Wherein the storage unit stores program code that is executable by the processing unit 810 such that the processing unit 810 performs steps according to various exemplary embodiments of the present invention described in the above section of the "exemplary method" of the present specification. For example, the processing unit 810 may execute step S201 shown in fig. 2, where if the target application integrates the performance monitoring component, the target application is monitored at a target location of the target application, where the target application is an application accessing the software development kit; step S202, intercepting performance monitoring data output by a performance monitoring component if performance abnormality occurs in a target application; step S203, filtering the performance monitoring data based on a pre-configured filtering rule to obtain target performance monitoring data, wherein the filtering rule is used for extracting the performance monitoring data related to the software development kit; and step S204, reporting the target performance monitoring data to a background server of the software development kit, so that the background server of the software development kit performs data processing on the target performance monitoring data.
The storage unit 820 may include readable media in the form of volatile storage units, such as Random Access Memory (RAM) 8201 and/or cache memory 8202, and may further include Read Only Memory (ROM) 8203.
Storage unit 820 may also include a program/utility 8204 having a set (at least one) of program modules 8205, such program modules 8205 including, but not limited to: an operating system, one or more application programs, other program modules, and program data, each or some combination of which may include an implementation of a network environment.
Bus 830 may be one or more of several types of bus structures including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.
The electronic device 800 may also communicate with one or more external devices 860 (e.g., keyboard, pointing device, bluetooth device, etc.), one or more devices that enable a user to interact with the electronic device 800, and/or any device (e.g., router, modem, etc.) that enables the electronic device 800 to communicate with one or more other computing devices. Such communication may occur through an input/output (I/O) interface 850. Also, electronic device 800 may communicate with one or more networks such as a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network, such as the Internet, through network adapter 840. As shown, network adapter 840 communicates with other modules of electronic device 800 via bus 830. It should be appreciated that although not shown, other hardware and/or software modules may be used in connection with electronic device 800, including, but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, data backup storage systems, and the like.
In an exemplary embodiment of the present disclosure, a computer-readable storage medium having stored thereon a program product capable of implementing the method described above in the present specification is also provided. In some possible embodiments, the various aspects of the invention may also be implemented in the form of a program product comprising program code for causing a terminal device to carry out the steps according to the various exemplary embodiments of the invention as described in the "exemplary methods" section of this specification, when said program product is run on the terminal device.
A program product for implementing the above-described method according to an embodiment of the present invention may employ a portable compact disc read-only memory (CD-ROM) and include program code, and may be run on a terminal device such as a personal computer. However, the program product of the present invention is not limited thereto, and in this document, a readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium can be, for example, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium would include the following: an electrical connection having one or more wires, a portable disk, a hard disk, random Access Memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
The computer readable signal medium may include a data signal propagated in baseband or as part of a carrier wave with readable program code embodied therein. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A readable signal medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Program code for carrying out operations of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device, partly on a remote computing device, or entirely on the remote computing device or server. In the case of remote computing devices, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., connected via the Internet using an Internet service provider).
It should be noted that although in the above detailed description several modules or units of a device for action execution are mentioned, such a division is not mandatory. Indeed, the features and functionality of two or more modules or units described above may be embodied in one module or unit in accordance with embodiments of the present disclosure. Conversely, the features and functions of one module or unit described above may be further divided into a plurality of modules or units to be embodied.
Furthermore, although the steps of the methods in the present disclosure are depicted in a particular order in the drawings, this does not require or imply that the steps must be performed in that particular order or that all illustrated steps be performed in order to achieve desirable results. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step to perform, and/or one step decomposed into multiple steps to perform, etc.
From the above description of embodiments, those skilled in the art will readily appreciate that the example embodiments described herein may be implemented in software, or may be implemented in software in combination with the necessary hardware. Thus, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (may be a CD-ROM, a U-disk, a mobile hard disk, etc.) or on a network, including several instructions to cause a computing device (may be a personal computer, a server, a mobile terminal, or a network device, etc.) to perform the method according to the embodiments of the present disclosure.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This application is intended to cover any adaptations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
It is to be understood that the present disclosure is not limited to the precise arrangements and instrumentalities shown in the drawings, and that various modifications and changes may be effected without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims (10)

1. A method of data processing, comprising:
if the target application integrates the performance monitoring component, monitoring is carried out at a target position of the target application, wherein the target application is an application accessed to a software development kit;
intercepting performance monitoring data output by the performance monitoring component if the target application has abnormal performance;
filtering the performance monitoring data based on a pre-configured filtering rule to obtain target performance monitoring data, wherein the filtering rule is used for extracting the performance monitoring data related to the software development kit;
And reporting the target performance monitoring data to a background server of the software development kit, so that the background server of the software development kit performs data processing on the target performance monitoring data.
2. The method according to claim 1, wherein the method further comprises:
analyzing the target performance monitoring data and determining the association degree of the target performance monitoring data and the software development kit;
and if the association degree is lower than a preset threshold value, adjusting the filtering rule.
3. The method of claim 1, wherein the number of target performance monitoring data is one or more;
the step of reporting the target performance monitoring data to a background server of the software development kit comprises the following steps:
if the data types of one or more target performance monitoring data are the same, accumulating the one or more target performance monitoring data according to the same data types, and reporting the accumulated data to a background server of the software development kit;
and if the data types of one or more target performance monitoring data are different, splicing the one or more target performance monitoring data, and reporting the spliced data to a background server of the software development kit.
4. The method according to claim 1, wherein the method further comprises:
obtaining key classes of the target application through a reflection technology;
detecting whether the identification of the performance monitoring component exists in the name of the key class of the target application;
and if so, determining that the target application integrates the performance monitoring component.
5. The method of claim 1, wherein the target location comprises: a program code location that monitors performance, or a program code location that outputs performance monitoring data;
the monitoring at the target position of the target application includes:
monitoring is performed at the program code position of the monitoring performance of the target application or the program code position of the output performance monitoring data through a dynamic proxy technology.
6. The method of claim 1, wherein after intercepting performance monitoring data output by the performance monitoring component, the method further comprises: and sending the performance monitoring data to the target application.
7. The method of any one of claims 1 to 6, wherein the performance monitoring data comprises performance data and stability data.
8. A data processing apparatus, comprising:
the monitoring module is used for monitoring a target position of a target application if the target application integrates the performance monitoring component, wherein the target application is an application accessed to a software development kit;
the data interception module is used for intercepting the performance monitoring data output by the performance monitoring component if the target application has abnormal performance;
the data filtering module is used for filtering the performance monitoring data based on a pre-configured filtering rule to obtain target performance monitoring data, wherein the filtering rule is used for extracting the performance monitoring data related to the software development kit;
and the data sending module is used for reporting the target performance monitoring data to a background server of the software development kit so that the background server of the software development kit can perform data processing on the performance monitoring data.
9. An electronic device, comprising:
a processor;
a memory for storing the processor-executable instructions;
wherein the processor is configured to execute the executable instructions to implement the data processing method of any one of claims 1 to 7.
10. A computer readable storage medium, which when executed by a processor of an electronic device, causes the electronic device to perform the data processing method of any of claims 1 to 7.
CN202310848656.8A 2023-07-11 2023-07-11 Data processing method, device, electronic equipment and storage medium Pending CN116881079A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310848656.8A CN116881079A (en) 2023-07-11 2023-07-11 Data processing method, device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310848656.8A CN116881079A (en) 2023-07-11 2023-07-11 Data processing method, device, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
CN116881079A true CN116881079A (en) 2023-10-13

Family

ID=88258125

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310848656.8A Pending CN116881079A (en) 2023-07-11 2023-07-11 Data processing method, device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN116881079A (en)

Similar Documents

Publication Publication Date Title
US9336119B2 (en) Management of performance levels of information technology systems
CN114726633B (en) Traffic data processing method and device, storage medium and electronic equipment
EP3213193B1 (en) Monitoring and correlating a binary process in a distributed business transaction
CN112395098B (en) Application program interface calling method and device, storage medium and electronic equipment
CN112187799B (en) Resource access policy generation method and device, storage medium and electronic equipment
US11599404B2 (en) Correlation-based multi-source problem diagnosis
CN111741046B (en) Data reporting method, data acquisition method, device, equipment and medium
US20180159724A1 (en) Automatic task tracking
EP4160421A1 (en) Method and apparatus for obtaining browser running data, and storage medium
CN114371888A (en) Method and device for hot updating of log collection plug-in, electronic equipment and readable medium
JP2021163475A (en) Log-based mashup code generation
CN109308243B (en) Data processing method, data processing device, computer equipment and medium
US20220179764A1 (en) Multi-source data correlation extraction for anomaly detection
CN117675404A (en) Abnormality detection method and device for access behaviors, electronic equipment and storage medium
US10990413B2 (en) Mainframe system structuring
CN116881079A (en) Data processing method, device, electronic equipment and storage medium
CN117648386A (en) Detection method, detection device, detection equipment and storage medium
US9191267B2 (en) Device management for determining the effects of management actions
CN113590425A (en) Data processing method, apparatus, device, medium, and program product
CN115544109A (en) Data analysis method, device, equipment and medium
CN110825599A (en) Information management system monitoring method, device, medium, electronic equipment and system
CN113761433A (en) Service processing method and device
CN112565271B (en) Web attack detection method and device
CN120611375A (en) Data processing method, device, equipment, storage medium and product
CN113900895B (en) Information processing method, information processing apparatus, storage medium, and electronic device

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