Method, electronic device and computer program product for processing data

By setting configuration files in the data management system, computing devices can generate and send structured reports, solving the problems of large development workload and poor user experience caused by version upgrades, and realizing flexible telemetry data format adjustment and efficient structured report generation.

CN114528269BActive Publication Date: 2026-02-13EMC IP HLDG CO LLC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202011192341.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-10-30
Publication Date
2026-02-13
Estimated Expiration
2041-07-22

AI Technical Summary

Technical Problem

Existing data management systems require software version upgrades to generate and send structured reports, resulting in a large development workload and an inability to flexibly adjust telemetry data formats, leading to a poor user experience.

Method used

By setting a separate configuration file, the computing device can obtain the data source address and target server identifier, generate and send structured reports, without the need for software system version upgrades, and flexibly adjust the telemetry data format.

Benefits of technology

It saves a lot of development time, improves user experience, reduces resource usage, and enables flexible generation and delivery of structured reports.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114528269B_ABST
    Figure CN114528269B_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure relate to a method, an electronic device and a computer program product for processing data. The method comprises obtaining a configuration file for generating and sending a structured report, the structured report relating to an analysis of an application. The method further comprises obtaining data from a data source to add to the structured report based on an address of the data source in the configuration file, the data source comprising the same type of data generated by the application. The method further comprises sending the structured report to a target server for analyzing the application based on an identification of the target server in the configuration file. Through the method, the format of the structured report to be obtained can be adjusted at any time without version upgrade, saving a lot of time. At the same time, the resources used are also reduced, and the user experience is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] Embodiments of the present disclosure relate to the field of data management, and more particularly, to a method, device and computer program product for processing data. BACKGROUND

[0002] With the rapid development of computer technology, the amount of data processed using computers is increasing. In order to better manage these data, users will run various data management systems on their computing devices. These data management systems can be used to process various data generated on the computing device, such as backing up data, performing recovery operations on data, or performing various other suitable operations on data.

[0003] With the improvement of data management systems, the data management system will record various data in the process of processing data, such as log data generated during system operation or data of various operations performed. Through these recorded data, the data management system can be analyzed. However, there are still many problems to be solved in the process of analyzing the data management system through these data. SUMMARY

[0004] Embodiments of the present disclosure provide a method, electronic device and computer program product for processing data.

[0005] According to a first aspect of the present disclosure, a method for processing data is provided. The method comprises obtaining a configuration file for generating and sending a structured report, the structured report relating to an analysis of an application. The method further comprises obtaining data from a data source to add to the structured report based on an address of the data source in the configuration file, the data source comprising the same type of data generated by the application. The method further comprises sending the structured report to a target server for analyzing the application based on an identification of the target server in the configuration file.

[0006] According to a second aspect of the present disclosure, an electronic device is provided. The electronic device comprises a processor; and a memory storing computer program instructions, the processor running the computer program instructions in the memory to control the electronic device to perform actions, the actions comprising obtaining a configuration file for generating and sending a structured report, the structured report relating to an analysis of an application; obtaining data from a data source to add to the structured report based on an address of the data source in the configuration file, the data source comprising the same type of data generated by the application; and sending the structured report to a target server for analyzing the application based on an identification of the target server in the configuration file.

[0007] According to a third aspect of the disclosure, there is provided a computer program product tangibly stored on a non-transitory computer readable medium and comprising machine executable instructions that, when executed, cause a machine to perform the steps of the method of the first aspect of the disclosure. BRIEF DESCRIPTION OF DRAWINGS

[0008] The above and other objects, features and advantages of the present disclosure will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings in which like reference characters refer to like parts throughout the figures.

[0009] Figure 1 FIG. illustrates a schematic diagram of an example environment 100 in which devices and / or methods according to embodiments of the disclosure can be implemented;

[0010] Figure 2 FIG. illustrates a flowchart of a method 200 for processing data according to embodiments of the disclosure;

[0011] Figure 3 FIG. illustrates a flowchart of a method 300 for processing data according to embodiments of the disclosure;

[0012] Figure 4 FIG. illustrates a schematic diagram of an example 400 in which devices and / or methods according to embodiments of the disclosure can be implemented;

[0013] Figure 5 FIG. illustrates a schematic diagram of an example 500 of different applications utilizing different configuration files according to embodiments of the disclosure;

[0014] Figure 6 FIG. illustrates a schematic diagram of an example 600 of applications utilizing different configuration files according to embodiments of the disclosure;

[0015] Figure 7 FIG. illustrates a flowchart of a method 700 for processing data according to embodiments of the disclosure;

[0016] Figure 8 FIG. illustrates a schematic block diagram of an example device 800 suitable for implementing embodiments of the disclosure.

[0017] In the various drawings, like or corresponding reference numbers refer to like or corresponding parts. DETAILED DESCRIPTION

[0018] Embodiments of the present disclosure will be described below in greater detail with reference to the accompanying drawings. While certain embodiments of the present disclosure are shown in the drawings, it is understood that the present disclosure can be embodied in various forms and should not be construed as being limited to the embodiments set forth herein, but rather should be construed to encompass all alternatives and modifications falling within the scope of the present disclosure. It is understood that the drawings and embodiments of the present disclosure are only for illustrative purposes and should not be construed as limiting the scope of the present disclosure.

[0019] In the description of embodiments of the present disclosure, the term "include" and its conjugates are used as equivalent to "including but not limited to". The term "based on" is used as equivalent to "based at least in part on". The term "one embodiment" or "an embodiment" is used as equivalent to "at least one embodiment". The terms "first", "second" and the like can refer to different or identical objects. Other explicit or implicit definitions can also be included below.

[0020] The principles of the present disclosure will be described below with reference to several example embodiments shown in the accompanying drawings. Although preferred embodiments of the present disclosure are shown in the drawings, it is understood that the embodiments are described only to enable those skilled in the art to better understand and implement the present disclosure, and not to limit the scope of the present disclosure in any way.

[0021] Generally, data management system providers collect data about the operation of the data management system from the user's computing device in order to better understand the operation of the data management system. By collecting this data, the provider can understand the status and usage of the data management system running on the user's computer. As the data management system evolves, more and more data needs to be collected from each computer.

[0022] The data collected on the user's computer is generally sent to a target server in the form of structured reports, such as structured telemetry reports. These structured reports define the type of data and the format of the data, which is different from unstructured reports.

[0023] In the conventional scheme, the process of obtaining structured reports is hard-coded in the data management system. When the data management system is running, the generated structured reports are sent back to the target server.

[0024] However, if more data is to be sent back to the target server in the form of structured reports after the data management system is running on the client, code changes must be made. At this time, the user needs to upgrade to the latest version. After upgrading, the user's computer can send reports in the new format. This process takes a lot of time. And in the process of determining the adjustment of the data sent, a lot of development work is also needed. In addition, customers also cannot send customized information through structured reports.

[0025] To address the above-referenced and other potential problems, the present disclosure provides a method for processing data. In the method, a separate configuration file for generating and sending a structured report is provided. A computing device obtains the configuration file, and then obtains data from a data source based on an address of the data source in the configuration file to add to the structured report. The computing device sends the structured report to a target server based on an identification of the target server in the configuration file for analysis application. With the method, the format of telemetry data can be adjusted as needed at any time without version upgrade of a software system. In addition, with the method, it is easy to add / delete content to be sent in the structured report, saving a lot of development time. Moreover, each application can send a structured report in a predetermined format or send multiple structured reports, improving user experience and reducing the workload of developers.

[0026] The following detailed description Figures 1 to 8 describes embodiments according to the present disclosure. Figure 1 FIG. 1 illustrates a schematic diagram of an example environment 100 in which devices and / or methods according to embodiments of the present disclosure can be implemented.

[0027] As Figure 1 shown, the example environment 100 includes a computing device 106 and a target server 112. The computing device 106 sends a generated structured report 110 to the target server 112 for analysis application 108.

[0028] The computing device 106 is configured to run an application 108, and can generate a structured report 110 of the application 108. The computing device 106 can be implemented as any type of computing device, including but not limited to a mobile phone (e.g., a smartphone), a laptop computer, a portable digital assistant (PDA), an electronic book (e-book) reader, a portable game console, a portable media player, a game console, a set-top box (STB), a smart television (TV), a personal computer, a laptop computer, an in-vehicle computer (e.g., a navigation unit), etc. The application 108 can be various applications for processing data, such as a power protection data manager.

[0029] The configuration file 102 can be used to generate and send the structured report 110. The configuration file 102 includes an address of a data source 104 to be accessed for generating the structured report 110, and an identification of the target server 112 to which the structured report is to be sent, such as a network address of the target server 112, etc. Alternatively or additionally, the configuration file 102 includes a plug-in configuration. The plug-in configuration includes an identification of a plug-in to access the data source 104, or an identification of a plug-in to send data to the target server 112, and parameters used by the plug-in. Alternatively or additionally, the plug-in configuration further includes an identification of a plug-in that can process data in the structured report 110 and corresponding parameters.

[0030] In some embodiments, the content in the configuration file 102 is adjustable, e.g., the plug-ins to be invoked in the configuration file 102 can be adjusted, such as adding plug-in identifiers and their corresponding parameters or subtracting plug-in identifiers and their corresponding parameters. Alternatively or additionally, the plug-in identifiers correspond to the types of plug-ins. In some embodiments, the configuration file 102 can be replaced. For example, the configuration file 102 can be replaced by a user, a provider of the application 108, or by another computing device with a new configuration file. The above examples are merely for describing the present disclosure, not for specifically limiting the present disclosure.

[0031] One configuration file 102 and one structured report 110 are shown in Figure 1 A plurality of configuration files can be included in the example environment 100, and a plurality of structured reports corresponding to the plurality of configuration files are generated based on the plurality of configuration files.

[0032] The data source 104 is formed of the same type of data that is generated or used by the application 108 in operation. In one example, the data source 104 is formed of log data generated by the application 108 in operation. In another example, the data source 104 is formed of application programming interface information of http invoked by the application 108. The above examples are merely for describing the present disclosure, not for specifically limiting the present disclosure. Figure 1 The application 108 includes one data source 104 is shown in

[0033] The configuration file 102 and the data source 104 are shown in the application 108 of the computing device 106 in Figure 1 The configuration file 102 and the data source 104 can be in other locations in the computing device 106 or in external computing devices or storage devices.

[0034] The computing device 106 sends the generated structured report 110 to a target server 112. The target server 112 analyzes the structured report 110 to achieve analysis of the application 108. The example target server 112 includes, but is not limited to, a personal computer, a server computer, a handheld or laptop device, a mobile device such as a mobile phone, a personal digital assistant (PDA), a media player, etc., a multiprocessor system, a consumer electronic product, a minicomputer, a mainframe computer, a distributed computing environment including any of the above systems or devices, etc.

[0035] By this method, the format of the structured report to be acquired can be adjusted at any time without version upgrade, thereby saving a lot of time. Meanwhile, the resources used are reduced, and the user experience is improved.

[0036] The above describes an example of the schematic diagram of the environment 100 in which the device and / or method according to the embodiments of the present disclosure can be implemented. The above describes the example of the schematic diagram of the environment 100 in which the device and / or method according to the embodiments of the present disclosure can be implemented. Figure 1 The above describes the example of the schematic diagram of the environment 100 in which the device and / or method according to the embodiments of the present disclosure can be implemented. Figure 2 The above describes the example of the schematic diagram of the environment 100 in which the device and / or method according to the embodiments of the present disclosure can be implemented. Figure 1 The above describes the example of the schematic diagram of the environment 100 in which the device and / or method according to the embodiments of the present disclosure can be implemented.

[0037] At block 202, the computing device 106 acquires the configuration file 102 for generating and sending the structured report 110 related to the analysis of the application 108. In order to generate the structured report 110, the computing device 106 acquires the configuration file 102.

[0038] In some embodiments, the computing device 106 acquires the configuration file 102 periodically. In some embodiments, the computing device 106 acquires the adjusted configuration file when it is determined that the configuration file is adjusted. In one example, the computing device 106 is notified when the content of the configuration file 102 is adjusted or the configuration file 102 is replaced. Then the computing device 106 acquires the adjusted configuration file 102. The above example is only used to describe the present disclosure, but not specifically limited to the present disclosure. In this way, the computing device 106 can acquire the configuration file 102 accurately and timely.

[0039] In some embodiments, the computing device 106 can determine when to generate the initialized structured report 110 based on the sending time of the previous structured report in the configuration file 102, and the process of generating the initialized structured report 110 can refer to the description of Figure 3 In some embodiments, the computing device 106 directly generates the initialized structured report 110 after reading the configuration file. The above example is only used to describe the present disclosure, but not specifically limited to the present disclosure.

[0040] At block 204, the computing device 106 acquires data from the data source 104 to be added to the structured report 110 based on the address of the data source 104 in the configuration file, the data source 104 including the same type of data generated by the application 108. The computing device 106 determines the data source 104 for generating the structured report 110 by using the address of the data source 104 in the configuration file 102.

[0041] In some embodiments, the configuration file 102 includes an identification of a data acquisition plug-in that acquires data through the address of the data source 104. Alternatively or additionally, the address of the data source 104 is a parameter of the data acquisition plug-in. In some embodiments, the structured report 110 includes an identification of a plurality of data acquisition plug-ins that acquire a plurality of different data from a plurality of different data sources. Alternatively or additionally, a plurality of different types of data acquisition plug-ins are included in the application 108. Thus, which data acquisition plug-ins to use can be determined based on the type of the data acquisition plug-in. In some embodiments, the computing device 106 can acquire data directly based on the address in the configuration file. The above examples are merely used to describe the present disclosure, but not to limit the present disclosure specifically.

[0042] At block 206, the computing device 106 sends the structured report 110 to the target server 112 for analyzing the application 108 based on the identification of the target server 112 in the configuration file. The configuration file 102 also includes an address of the target server 112. The computing device 106 sends the generated structured report 110 to the target server 112 with the address of the target server 112 in the configuration file 102.

[0043] In some embodiments, the identification of the data output plug-in is included in the structured report 110. Alternatively or additionally, the identification of the output plug-in corresponds to the type of the output plug-in. A plurality of different types of output plug-ins are included in the application 108, and the type of the output plug-in can be determined through the type of the output plug-in. In some embodiments, there can be a plurality of configuration files for one application, and each configuration file can correspond to one generated structured report. Alternatively or additionally, the type of the output plug-in can be different in each configuration file. Then different structured reports are sent to different target servers 112 with the target server address as a parameter of the output plug-in. In some embodiments, the computing device 106 directly sends the structured report to the target server 112 based on the address of the target server in the configuration file 102. The above examples are merely used to describe the present disclosure, but not to limit the present disclosure specifically.

[0044] Through the method, the format of the structured report to be acquired can be adjusted at any time without version upgrade, thereby saving a lot of time. At the same time, the resources used are reduced, and the user experience is improved.

[0045] The above describes the method 200 for processing data according to the embodiments of the present disclosure. The more detailed method for processing data will be described below in combination with Figure 2 The method 200 for processing data according to the embodiments of the present disclosure is described. The more detailed method for processing data will be described below in combination with Figure 3 The method 300 for processing data according to the embodiments of the present disclosure is described. The more detailed method for processing data will be described below in combination with Figure 3 The flow chart of the method 300 for processing data according to the embodiments of the present disclosure is illustrated. Figure 3 The method 300 in the aboveFigure 1 by the computing device 106 in FIG. 1 or any other appropriate device. Figure 3 The operations of the blocks 202 and 206 in FIG. 2 are the same as the operations of the blocks 202 and 206 in FIG. 1, which will not be described in detail here. Figure 2 The operations of the blocks 202 and 206 in FIG. 2 are the same as the operations of the blocks 202 and 206 in FIG. 1, which will not be described in detail here.

[0046] At block 304, the computing device determines whether the configuration file includes a previous time point at which a previous structured report was sent. If the previous time point is not included, it indicates that the computing device 106 has not sent a structured report 110 to the target server 112. Then, at block 310, the computing device 106 initializes the structured report 110. In one example, the computing device 106 generates an empty structured report 110.

[0047] If the previous time point is included, at block 306, the remaining time length for initializing the structured report is determined using the previous time point, the current time point, and a time interval included in the configuration file. The time interval indicates a time period between two adjacent sending of the structured report to the target server. In one example, the time length for which the previous structured report has been sent can be determined from the current time point and the previous time point. Then, the time length for which the next structured report needs to be sent is determined according to the time interval for sending the structured report.

[0048] At block 308, it is determined whether the remaining time length has elapsed. In one example, the remaining time length can be timed. When the timing ends, it indicates that the remaining time length has elapsed. After the remaining time length has elapsed, the structured report is initialized at block 310. If the remaining time length has not elapsed, the process returns to block 308 to continue to determine. In this way, the structured report can be generated in time, so that the structured report can be sent at a fixed time length.

[0049] At block 312, the computing device 106 invokes a data acquisition plug-in by a first identifier included in the configuration file 102, the first identifier being used to identify the data acquisition plug-in associated with the address. In order to better obtain data from the data source, the application 108 can include a plurality of data acquisition plug-ins that can obtain data from different data sources, or can obtain a plurality of data acquisition plug-ins from other components or devices that can obtain data from different data sources. The configuration file 102 includes an identifier of the data acquisition plug-in, and the data acquisition plug-in is invoked by the identifier, wherein the address of the data source can be provided to the data acquisition plug-in as a parameter of the data acquisition plug-in.

[0050] In some embodiments, the computing device 106 detects from the configuration file 102 whether there is an identification of a data acquisition plug-in. If there is, the data acquisition plug-in is invoked by the plug-in identification. Alternatively or additionally, the data acquisition plug-in is distinguished by the type of the data acquisition plug-in. Different types of data acquisition plug-ins are used to acquire data from different types of data sources. In some embodiments, the data source types can be a log source, a file source, or an http source, etc. The log source is used to store log information. The file source is used to store information of accessed or generated files, etc. The http source is used to store information of http application programming interfaces, etc. In some embodiments, the data acquired from the data source by the data acquisition plug-in is adjusted by the data acquisition plug-in in format if it is not in a predetermined data format, for example, converted to a Json format. The above examples are only used to describe the present disclosure, but not to limit the present disclosure.

[0051] At block 314, the computing device 106 acquires data from the data source based on the address by the data acquisition plug-in. In this way, the data in the data source can be quickly and accurately acquired, improving the data processing efficiency.

[0052] In some embodiments, after the data is acquired, the computing device 106 further determines whether there is an identification and parameters of another data acquisition plug-in in the configuration file 102. If there is, the other data acquisition plug-in is invoked to acquire data.

[0053] In some embodiments, the computing device 106 further determines from the configuration file whether there is an identification of a data processing plug-in to perform a predetermined operation on the data in the structured report. If there is an identification of the data processing plug-in and its parameters, the data is performed with a predetermined operation by the data processing plug-in. The data processing plug-in can perform various operations on the data. In one example, a data processing plug-in is invoked to delete a field in the data. In another example, another data processing plug-in is invoked to add a field in the data. In yet another example, yet another data processing plug-in is invoked to delete redundant data in the data, etc. In some embodiments, the data processing plug-in can also update some fields in the configuration file. The above examples are only used to describe the present disclosure, but not to limit the present disclosure.

[0054] When the output plug-in is detected through the configuration file 102, the identification of the target server 112 in the configuration file is sent to the data output plug-in as a parameter, and the structured report is also sent to the output plug-in to generate a file in a predetermined format that can be sent, such as a file in Json format. In some embodiments, the output plug-in can be obtained based on the type of the output plug-in in the configuration file 102. Different types of output plug-ins can be used to send structured reports to different target servers. Then, the output plug-in sends the structured report to the target server 112 based on the identification of the target server 112 for analysis. In some embodiments, the output plug-in can be a gateway output plug-in, an http output plug-in, an email output plug-in, etc. The above examples are only used to describe the present disclosure, and are not specific limitations of the present disclosure.

[0055] Through the above method, the format of the telemetry data can be enabled and changed at runtime without upgrading the version, and the content to be sent in the structured report can be easily added / removed, thereby saving a lot of development time.

[0056] The above describes the flowchart for processing data. The following describes an example for processing data, wherein Figure 3 The flowchart for processing data is described. The following describes an example for processing data, wherein Figure 4 The example for processing data is described. As shown in Figure 4 Fig. 1 shows a schematic diagram of an example 100 in which the device and / or method according to an embodiment of the present disclosure can be implemented.

[0057] As Figure 4 shown, the application 108 is included in the example 400. The application 108 includes the configuration file 102 and a data source set 412. The data source set 412 includes a log source 414, a file source 416 and an http source 418. Among them Figure 4 The data source set 412 shown in the above is only an example, and is not a specific limitation of the present disclosure. The data source set 412 can include any number of any type of data sources.

[0058] The configurable telemetry application 402 for generating a structured report is included in the application 108, which includes a core service 404, a data acquisition plug-in 406, a data processing plug-in 410 and an output plug-in 408.

[0059] The core service 404 is used to acquire the configuration file 402. Then, based on the type of the data acquisition plug-in 406 in the configuration file 102, the corresponding plug-in is selected, and based on the data source address in the parameter of the plug-in of the configuration file 102, the data is acquired from the corresponding data source in the data source set 412 to write into the structured report.

[0060] If the configuration file 102 also exists the identification of the data processing plug-in 410, the core service 404 can call the data processing plug-in 410 to perform various processing on the data, such as adding fields, deleting fields, or removing redundant data in the data, etc. If the core service 404 detects the identification of the output plug-in 408, the output plug-in 408 is called through the identification of the output plug-in 408. The output plug-in 408 generates a file in a predetermined format, such as a Json file, for the structured report. The structured report is then sent to the target server 112 for analysis.

[0061] In some embodiments, the configurable telemetry application 402 can be installed in the form of an installation package to other applications to generate structured reports of the other applications. In this way, the availability of the configurable telemetry application between different applications is improved, and the workload of the developers is reduced.

[0062] The schematic diagram of the example 400 for processing data is described above in combination with Figure 4 The schematic diagram of the example 400 for processing data is described above in combination with Figure 5 and Figure 6 The two cases are described below in combination with Figure 5 The schematic diagram of the example 500 in which different applications utilize different configuration files is described; wherein Figure 6 The schematic diagram of the example 600 in which an application utilizes different configuration files is described.

[0063] As Figure 5 shown, the first application 504 includes a configuration file 502 and a configurable telemetry application 508. The configurable telemetry application 508 utilizes the configuration file 502 to generate a corresponding structured report, which is sent to the first server 512. The second application 506 includes a configuration file 516 and a configurable telemetry application 510. The configurable telemetry application 510 utilizes the configuration file 516 to generate another structured report, which is sent to the second server 514.

[0064] In Figure 6 , the application 612 includes three configuration files 602-1, 602-2, and 602-3 and a configurable telemetry application 604. The configurable telemetry application 604 can then utilize the three configuration files to send structured reports to three different target servers: an email server 606, a local server 608, or a background server 610 related to the application. The above is only an example, not a specific limitation of the present disclosure.

[0065] The schematic diagram of the example 400 for processing data is described above in combination with Figure 5 and Figure 6Examples are described in which a configuration file can be utilized to send a structured report to a target server. The following description is provided in conjunction with Figure 7 A flowchart of a method 700 for processing data according to embodiments of the present disclosure is described.

[0066] At block 702, the computing device 106 first obtains a configuration file for the structured report. The computing device 106 reads data from the configuration file.

[0067] In one example, the configuration file 102 can include a name of the structured report, a last time of sending of the structured report, global parameters in the structured report, and plug-in configurations including identification of different plug-ins available for invocation and parameters to be passed to the plug-ins.

[0068] At block 704, the computing device 106 determines whether the previous time of sending the previous structured report is null. If it is null, indicating that the computing device has not sent a structured report yet, then the structured report is initialized at block 710. If it is not null, then the computing device 106 determines, at block 706, an initialization time of the structured report or a remaining time for sending the structured report using the previous time, a current time, and a time interval for sending the structured report included in the configuration file. Then at block 708, the computing device 106 determines whether the remaining time has elapsed. If the remaining time has not elapsed, then the determination continues at block 708. If the remaining time has elapsed, then the computing device 106 initializes the structured report 110 at block 710.

[0069] Then, at box 712, computing device 106 determines whether plugin configuration still exists in configuration file 102. If not, execution ends at box 726. If it exists, it indicates that there is a plugin to be invoked. Then, at box 714, computing device 106 determines whether the plugin to be invoked is an output plugin. If it is an output plugin, at box 716, the plugin configuration and structured report are provided to the output plugin so that the output plugin can process the structured report, such as adjusting the format of the structured report. The structured report is then sent to the target server. If it is not an output plugin, at box 718, computing device 106 replaces the global variables in the plugin configuration with the values ​​set in the global variables. If the global variables do not exist in the plugin configuration, box 718 can be skipped. Then, at box 720, computing device 106 sends the plugin configuration to the plugin service. In some embodiments, sending the plugin configuration to the plugin service also includes sending the plugin service the type of plugin to be invoked and the corresponding parameters. Alternatively or additionally, the type of data acquisition plugin and the address of the data source are sent to the plugin service to retrieve data from the data source; or the type of processing plugin and the structured report are sent for the processing plugin to process the structured report. Then, at box 722, the computing device 106 retrieves data from the plugin. Then, at box 724, the computing device 106 puts the data into the structured report. Then it returns to box 712 to continue execution.

[0070] Using the above method, the format of telemetry data can be adjusted as needed without upgrading the software system, saving a lot of time and resources.

[0071] Figure 8 A schematic block diagram of an example device 800 that can be used to implement embodiments of the present disclosure is shown. For example, such as Figure 1 The computing device 106 and target server 112 shown can be implemented by device 800. As shown, device 800 includes a central processing unit (CPU) 801, which can perform various appropriate actions and processes according to computer program instructions stored in read-only memory (ROM) 802 or loaded from storage unit 808 into random access memory (RAM) 803. RAM 803 can also store various programs and data required for the operation of device 800. CPU 801, ROM 802, and RAM 803 are interconnected via bus 804. Input / output (I / O) interface 805 is also connected to bus 804.

[0072] A number of the components in device 800 are connected to the I / O interface 805, including an input unit 806, such as a keyboard, mouse, etc.; an output unit 807, such as various types of displays, speakers, etc.; a storage unit 808, such as a disk, a CD, etc.; and a communication unit 809, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 809 allows device 800 to exchange information / data with other devices over a computer network, such as the Internet, and / or various telecommunication networks.

[0073] The various processes and processes described above, such as methods 200, 300, and 700, can be performed by the CPU 801. For example, in some embodiments, methods 200, 300, and 700 can be implemented as a computer software program tangibly embodied in a machine-readable medium, such as storage unit 808. In some embodiments, some or all of the computer program can be loaded and / or installed on device 800 via ROM 802 and / or communication unit 809. When the computer program is loaded onto RAM 803 and executed by CPU 801, one or more acts of methods 200, 300, and 700 described above can be performed.

[0074] Embodiments of the present disclosure relate to methods, electronic devices, and / or computer program products. Embodiments of the present disclosure can also include computer- readable storage media having computer-readable program instructions stored therein, the computer-readable program instructions being used to perform various aspects of the present disclosure.

[0075] A computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium can be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples of a computer readable storage medium, a non-exhaustive list, include a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or punched tape, a magnetically encoded device such as magnetic strip cards, an optically encoded device such as a compact disc (CD) or DVD, and / or any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media, e.g., light pulses passing through a fiber-optic cable, or electrical signals transmitted through a wire cable, cable slot, or the like.

[0076] Computer readable program instructions described herein can be downloaded to respective computing / processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and / or a wireless network. The network can comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and / or edge servers. A network adapter card or network interface in each computing / processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing / processing device.

[0077] Computer readable program instructions for carrying out operations of the present disclosure can be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer, for example, through the Internet using an Internet Service Provider. In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) can execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present disclosure.

[0078] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable data processing apparatus, or other device implement the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0079] These computer readable program instructions can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer readable program instructions can also be stored in a computer readable storage medium that can include a non-transitory computer readable storage medium that can be a computer- readable storage medium having no data storage cycles that change state. The instructions can be executed by one or more processors of a computer, other programmable data processing apparatus, or other devices to produce a computer-implemented process such that the instructions which execute via the one or more processors of the computer or other programmable data processing apparatus create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. A computer readable storage medium can be, but is not limited to, a floppy disk, a hard disk, a solid state drive, a DVD, a CD, a tape, a magnetic

[0080] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer implemented process such that the instructions which execute on the computer or other programmable data processing apparatus implement the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0081] The flow diagrams and the block diagrams in the drawings are presented to illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flow diagrams and the block diagrams can represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical functions ("instructions"). In some alternative implementations, the functions noted in the blocks can occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may

[0082] Embodiments of the present disclosure have been described above, and the description is intended to be illustrative of the embodiments and not restrictive. Many modifications and variations of the described embodiments are possible and are within the scope of the described embodiments. The selection of the terms to be used in the description is not intended to limit the scope of the embodiments to the common meanings of those terms, but instead can be used to provide the best description of the principles and technical improvement over technologies found in the marketplace or patent literature.

Claims

1. A method for processing data, comprising: The system has a process for obtaining structured reports, which is executed by the software system and hard-coded into the software system, wherein the structured reports are presented in a format; The format needs to be adjusted to the new format; The structured report should reflect the new format instead of upgrading the software system by performing the following steps: Obtain the configuration file used to generate and send structured reports that relate to the analysis of the application; Based on the address of the data source in the configuration file, data is retrieved from the data source to add the data in the new format to the structured report, the data source including data of the same type generated by the application; and Based on the target server's identifier and the output plugin's second identifier in the configuration file, the structured report is sent to the target server via the output plugin for analysis of the application. The output plugin includes a gateway.

2. The method according to claim 1, wherein obtaining the configuration file includes: The configuration file is retrieved periodically; or In response to determining that the configuration file has been adjusted, the adjusted configuration file is obtained.

3. The method according to claim 1, wherein acquiring the data comprises: The data acquisition plugin is invoked through a third identifier included in the configuration file, the third identifier being used to identify the data acquisition plugin associated with the address; as well as The data acquisition plugin retrieves the data from the data source based on the address.

4. The method according to claim 1, further comprising: The structured report is initialized based on the configuration file.

5. The method of claim 4, wherein initializing the structured report comprises: Determine whether the configuration file includes a previous time when the previous structured report was sent; In response to determining that the configuration file includes the previous time, based on the previous time, the current time, and the time interval included in the configuration file, the remaining duration for initializing the structured report is determined, the time interval indicating the period between two adjacent transmissions of the structured report to the target server; as well as In response to determining the remaining time, the structured report is initialized.

6. The method of claim 5, wherein initializing the structured report further comprises: In response to determining that the configuration file does not include the previous time point, the structured report is initialized.

7. The method according to claim 1, further comprising: Obtain a third identifier from the configuration file for the data processing plugin to perform a predetermined operation on the data in the structured report; The data processing plugin is invoked via the third identifier; as well as The predetermined operation is performed on the data through the data processing plugin.

8. An electronic device, the electronic device comprising: At least one processor; as well as A memory, coupled to the at least one processor and having instructions stored thereon, which, when executed by the at least one processor, cause the electronic device to perform actions, including: The system has a process for obtaining structured reports, which is executed by the software system and hard-coded into the software system, wherein the structured reports are presented in a format; The format needs to be adjusted to the new format; The structured report should reflect the new format instead of upgrading the software system by performing the following steps: Obtain the configuration file used to generate and send structured reports that relate to the analysis of the application; Based on the address of the data source in the configuration file, data is retrieved from the data source to add the data in the new format to the structured report, the data source including data of the same type generated by the application; and Based on the target server's identifier and the output plugin's second identifier in the configuration file, the structured report is sent to the target server via the output plugin for analysis of the application. The output plugin includes a gateway.

9. The electronic device according to claim 8, wherein obtaining the configuration file comprises: The configuration file is retrieved periodically; or In response to determining that the configuration file has been adjusted, the adjusted configuration file is obtained.

10. The electronic device of claim 8, wherein acquiring the data comprises: The data acquisition plugin is invoked through a third identifier included in the configuration file, the third identifier being used to identify the data acquisition plugin associated with the address; as well as The data acquisition plugin retrieves the data from the data source based on the address.

11. The electronic device according to claim 8, wherein the action further includes: The structured report is initialized based on the configuration file.

12. The electronic device of claim 11, wherein initializing the structured report comprises: Determine whether the configuration file includes a previous time when the previous structured report was sent; In response to determining that the configuration file includes the previous time, based on the previous time, the current time, and the time interval included in the configuration file, the remaining duration for initializing the structured report is determined, the time interval indicating the period between two adjacent transmissions of the structured report to the target server; as well as In response to determining the remaining time, the structured report is initialized.

13. The electronic device of claim 12, wherein initializing the structured report further comprises: In response to determining that the configuration file does not include the previous time point, the structured report is initialized.

14. The electronic device according to claim 8, wherein the action further comprises: Obtain a third identifier from the configuration file for the data processing plugin to perform a predetermined operation on the data in the structured report; The data processing plugin is invoked via the third identifier; as well as The predetermined operation is performed on the data through the data processing plugin.

15. A computer program product tangibly stored on a non-volatile computer-readable medium and comprising machine-executable instructions that, when executed, cause a machine to perform the steps of the method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Method for automatic generating of net management report form

    CN1482766A