Data processing method and device, electronic equipment, storage medium and program product
By setting data filtering strategies for the data analysis module and adopting modular, layered configuration, the flexibility and efficiency issues in generating visual reports on the business assistant platform were resolved, achieving efficient and accurate data analysis report generation.
Patent Information
- Application Number
- CN202511134099.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-13
- Publication Date
- 2025-10-31
AI Technical Summary
Existing business assistant platforms struggle to efficiently and accurately meet the data filtering needs of different users when generating visual reports, resulting in limited configuration flexibility.
By pre-setting data filtering strategies for each data analysis module and dynamically configuring them in the data analysis report template, data analysis reports are generated. A modular, layered configuration approach is adopted, including the mapping of parameters, functions, components, and data processing logic, to achieve efficient generation of data analysis reports.
It enables flexible and efficient generation of data analysis reports, meeting the data filtering needs of different users and improving generation efficiency and accuracy.
Smart Images

Figure CN120873259A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of computer technology, and in particular to data processing methods, apparatus, electronic devices, storage media, and program products. Background Technology
[0002] A business assistant platform typically refers to a digital tool based on big data technology, designed to help businesses or individuals manage their operations efficiently. The core functions of a business assistant platform can include data analysis, decision support, and process optimization to help users improve operational efficiency and decision-making accuracy.
[0003] Currently, a key capability of business assistant platforms lies in tracking core indicators such as transactions, cash flow, and inventory to generate visual reports, enabling users to quickly grasp their business status. Therefore, how to efficiently and accurately generate visual reports for users has become a crucial issue that business assistant platforms need to address. Summary of the Invention
[0004] In view of the above, embodiments of this disclosure provide a data processing method, apparatus, electronic device, storage medium, and program product, which can solve or partially solve the above problems to a certain extent.
[0005] In some embodiments of this disclosure, the data processing method described in these embodiments may include: reading a data analysis report template selected by a user; determining at least one first data analysis module included in the data analysis report template; determining the data interface, parameters, data filtering strategy, and data processing logic corresponding to each of the at least one first data analysis module; for each first data analysis module, obtaining data of the parameters from the data interface based on the data filtering strategy, and processing the obtained data based on the data processing logic to obtain the presentation content corresponding to each first data analysis module; and generating a first data analysis report based on the presentation content corresponding to each first data analysis module.
[0006] In some embodiments of this disclosure, processing the acquired data based on the data processing logic to obtain the presentation content corresponding to each first data analysis module includes: processing the data based on the specific process of data processing in the data processing logic to obtain data processing results; and processing the data processing results based on the presentation method of the data processing results in the data processing logic to obtain the presentation content corresponding to the first data analysis module.
[0007] In some embodiments of this disclosure, generating a first data analysis report based on the presentation content corresponding to each first data analysis module includes: injecting the presentation content corresponding to at least one first data analysis module into the corresponding position of the data analysis report template to generate the first data analysis report.
[0008] In some embodiments of this disclosure, the above data processing method may further include: obtaining user parameters input by the user and associated with the first data analysis report; wherein, determining the data interface, parameters, data filtering strategy, and data processing logic corresponding to each of the at least one first data analysis module includes: parsing the data analysis report template to determine the data interface, parameters, data filtering strategy, and data processing logic corresponding to each first data analysis module; and determining the data filtering rules in the data filtering strategy corresponding to the at least one first data analysis module based on the user parameters.
[0009] In some embodiments of this disclosure, the above data processing method may further include: parsing the received second data analysis report, determining at least one second data analysis module included in the second data analysis report, and determining the data interface, parameters, target data, and data processing logic corresponding to each second data analysis module; determining the data filtering strategy corresponding to each second data analysis module based on the parameters and the target data; and generating a data analysis report template corresponding to the second data analysis report based on the data interface, parameters, data filtering strategy, and data processing logic corresponding to each second data analysis module.
[0010] In some embodiments of this disclosure, determining the data filtering strategy corresponding to the second data analysis module based on the parameters and the target data includes: reading candidate data of the parameters based on the data interface corresponding to the second data analysis module; comparing the candidate data with the target data to obtain a comparison result; and determining the data filtering strategy corresponding to the second data analysis module based on the comparison result.
[0011] In some embodiments of this disclosure, the above data processing method may further include: setting the state of the parameter for each parameter corresponding to the first data analysis module; monitoring the state of the parameter; in response to determining that the state of a candidate parameter has changed, determining the candidate data analysis module corresponding to the candidate parameter; obtaining the data of the candidate parameter from the data interface corresponding to the candidate data analysis module based on the data filtering strategy corresponding to the candidate data analysis module, and processing the data of the candidate parameter based on the data processing logic corresponding to the candidate data analysis module to update the presentation content corresponding to the candidate data analysis module.
[0012] In some embodiments of this disclosure, the above data processing method may further include: receiving a data request from a business system; parsing the data request to obtain a data interface, parameters, and a data filtering strategy corresponding to the data request; determining a third data analysis module corresponding to the parameters and data interface of the data request; and adding the data filtering strategy corresponding to the data request as a data filtering strategy corresponding to the third data analysis module.
[0013] In some embodiments of this disclosure, the step of obtaining data of the parameters from the data interface based on the data filtering strategy for each first data analysis module, and processing the obtained data based on the data processing logic to obtain the presentation content corresponding to each first data analysis module includes: generating a data analysis task for each data analysis module; generating a task queue based on the data analysis task; and executing the data analysis task according to the task queue to obtain the presentation content corresponding to the data analysis task.
[0014] In some embodiments of this disclosure, the step of executing the data analysis task according to the task queue to obtain the presentation content corresponding to the data analysis task includes: extracting the data analysis task from the head of the task queue; generating a data request for the extracted data analysis task based on a corresponding data filtering strategy; determining whether the data request is a duplicate request; in response to determining that the data request is a duplicate request, obtaining cached data corresponding to the data request; in response to determining that the data request is not a duplicate request, sending the data request to the corresponding server to obtain the data corresponding to the data request, and caching the data corresponding to the data request; and processing the data based on corresponding data processing logic to obtain the presentation content corresponding to the data analysis task.
[0015] In some embodiments of this disclosure, the step of obtaining parameter data from the data interface based on the data filtering strategy for each first data analysis module, and processing the obtained data based on the data processing logic to obtain the presentation content corresponding to each first data analysis module includes: generating data analysis tasks for each first data analysis module; generating a candidate queue and an execution queue based on the data analysis tasks; monitoring whether the first data analysis module corresponding to the data analysis task in the candidate queue has entered the user's viewport for a preset duration in the display area of the first data analysis report; and responding to determining that the first data analysis module corresponding to the first candidate data analysis task in the candidate queue has entered the user's viewport for a preset duration in the first data analysis report. If the display area in the report has entered the user's viewport for the preset duration, the priority of the first candidate data analysis task is increased; if it is determined that the display area of the first data analysis module corresponding to the second candidate data analysis task in the candidate queue has moved from within the user's viewport to outside the user's viewport for the preset duration, the priority of the second candidate data analysis task is decreased; if it is determined that the number of data analysis tasks in the execution queue has not reached the preset maximum number, the data analysis tasks in the candidate queue are added to the execution queue in sequence; and the data analysis tasks are executed according to the execution queue to obtain the presentation content corresponding to the data analysis task.
[0016] In some embodiments of this disclosure, the step of executing the data analysis task according to the execution queue to obtain the presentation content corresponding to the data analysis task includes: extracting the data analysis task from the head of the execution queue; generating a data request for the extracted data analysis task based on a corresponding data filtering strategy; determining whether the data request is a duplicate request; in response to determining that the data request is a duplicate request, obtaining cached data corresponding to the data request; in response to determining that the data request is not a duplicate request, sending the data request to the corresponding server to obtain the data corresponding to the data request, and caching the data corresponding to the data request; and processing the data based on corresponding data processing logic to obtain the presentation content corresponding to the data analysis task.
[0017] Corresponding to the above data processing method, embodiments of this disclosure also provide a data processing apparatus, including:
[0018] The data analysis module configuration module is used to configure the data analysis module;
[0019] The data analysis module pool is used to store configured data analysis modules;
[0020] The strategy configuration module is used to configure the data filtering strategy corresponding to the data analysis module;
[0021] The data analysis report template configuration module is used to configure data analysis report templates;
[0022] A data analysis report template pool is used to store configured data analysis report templates;
[0023] The data analysis report management module is used to read the data analysis report template selected by the user; determine at least one first data analysis module included in the data analysis report template; determine the data interface, parameters, data filtering strategy, and data processing logic corresponding to each of the at least one first data analysis module; for each first data analysis module, obtain the data of the parameters from the data interface based on the data filtering strategy, and process the obtained data based on the data processing logic to obtain the presentation content corresponding to each first data analysis module; and generate a first data analysis report based on the presentation content corresponding to each first data analysis module.
[0024] In some embodiments of this disclosure, the data analysis module configuration module includes:
[0025] The parameter configuration module is used to configure parameters.
[0026] The parameter pool is used to store the configured parameters.
[0027] The function configuration module is used to configure functions;
[0028] The function pool is used to store configured functions;
[0029] A component configuration module is used to configure components; wherein, the components are associated with data interfaces and one or more parameters; the one or more parameters are each associated with one or more functions;
[0030] The component pool is used to store configured components;
[0031] The basic information configuration module is used to configure basic information for the data analysis module.
[0032] A data processing logic configuration module is used to configure the data processing logic for the data analysis module to process the data; and
[0033] The component mapping configuration module is used to configure the components corresponding to the data analysis module.
[0034] In some embodiments of this disclosure, the data analysis report management module includes:
[0035] The task partitioning unit is used to generate data analysis tasks for each of the data analysis modules.
[0036] The task management unit generates a task queue based on the data analysis task, distributes the data analysis task to one or more task execution units according to the task queue, and injects the presentation content returned by one or more of the task execution units into the corresponding position of the data analysis report template to generate the data analysis report.
[0037] One or more of the task execution units are configured to generate a data request based on the data filtering strategy corresponding to the assigned data analysis task; and after acquiring the data, analyze and process the acquired data based on the data processing logic corresponding to the assigned data analysis task to obtain the presentation content corresponding to the assigned data analysis task.
[0038] A data request management unit is configured to receive a data request from the task execution unit; determine whether the data request is a duplicate request; in response to determining that the data request is a duplicate request, return cached data corresponding to the data request to the task execution unit; and in response to determining that the data request is not a duplicate request, obtain data corresponding to the data request from the server, cache the data, and return the data to the task execution unit.
[0039] In some embodiments of this disclosure, the task queue includes: a candidate queue and an execution queue;
[0040] The task management unit further includes: a window listener, used to monitor whether the display area of the data analysis module corresponding to the data analysis task in the candidate queue has entered the user's window for a preset duration; wherein,
[0041] The step of distributing the data analysis tasks to one or more task execution units according to the task queue includes: increasing the priority of the first candidate data analysis task in response to the window listener determining that the display area of the data analysis module corresponding to the first candidate data analysis task in the first data analysis report has entered the user's window for the preset duration; decreasing the priority of the second candidate data analysis task in response to the window listener determining that the display area of the data analysis module corresponding to the second candidate data analysis task in the first data analysis report has moved from within the user's window to outside the user's window for the preset duration; adding the data analysis tasks in the candidate queue to the execution queue in sequence in response to determining that the number of data analysis tasks in the execution queue has not reached a preset maximum number; and distributing the data analysis tasks to one or more task execution units according to the execution queue.
[0042] Furthermore, embodiments of this disclosure also provide an electronic device, including: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the above-described data processing method.
[0043] Embodiments of this disclosure also provide a non-transitory computer-readable storage medium storing computer instructions for causing a computer to perform the above-described data processing method.
[0044] Embodiments of this disclosure also provide a computer program product, including computer program instructions that, when executed on a computer, cause the computer to perform the data processing method described above.
[0045] Therefore, by using the aforementioned data processing methods, devices, electronic equipment, storage media, and program products, when a data analysis report needs to be created, it can be generated "one click" based on a pre-configured data analysis report template, thereby efficiently and accurately generating visual data analysis reports for users.
[0046] Furthermore, in the aforementioned data processing methods, devices, electronic equipment, storage media, and program products, one or more data filtering strategies can be pre-set for each data analysis module, and the corresponding data filtering strategy can be selected for each data analysis module when configuring the data analysis report template. In this way, the dynamic configuration method of data filtering strategies can effectively meet the different data filtering needs of different users. Compared with the method of maintaining data filtering strategies locally by hard-coding, it has great flexibility and also improves the efficiency of data analysis report generation. Attached Figure Description
[0047] To more clearly illustrate the technical solutions in this disclosure or related technologies, the accompanying drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the accompanying drawings described below are only embodiments of this disclosure. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0048] Figure 1 A schematic diagram of an exemplary system provided by some embodiments of the present disclosure is shown.
[0049] Figure 2 The specific structure of the business assistant platform described in some embodiments of this disclosure is shown.
[0050] Figure 3 The specific structure of the data analysis module configuration module 210 described in some embodiments of this disclosure is shown.
[0051] Figure 4 The specific structure of the data analysis report management module 260 described in some embodiments of this disclosure is shown.
[0052] Figure 5 This disclosure illustrates the process of generating a data analysis report based on a data analysis report template, as described in some embodiments of this disclosure.
[0053] Figure 6 The process of generating a data analysis report template based on a data analysis report, as described in some embodiments of this disclosure, is illustrated.
[0054] Figure 7 The automatic update process of the data processing report described in some embodiments of this disclosure is shown.
[0055] Figure 8 The automatic acquisition process of the data filtering strategy described in some embodiments of this disclosure is shown.
[0056] Figure 9 A schematic diagram of a more specific electronic device hardware structure described in some embodiments of this disclosure is shown. Detailed Implementation
[0057] To make the objectives, technical solutions, and advantages of this disclosure clearer, the following detailed description is provided in conjunction with specific embodiments and the accompanying drawings.
[0058] It should be noted that, unless otherwise defined, the technical or scientific terms used in the embodiments of this disclosure should have the ordinary meaning understood by one of ordinary skill in the art to which this disclosure pertains. The terms "first," "second," and similar terms used in the embodiments of this disclosure do not indicate any order, quantity, or importance, but are merely used to distinguish different components. Terms such as "comprising" or "including" mean that the element or object preceding the word encompasses the elements or objects listed following the word and their equivalents, without excluding other elements or objects. Terms such as "connected" or "linked" are not limited to physical or mechanical connections, but can include electrical connections, whether direct or indirect. Terms such as "upper," "lower," "left," and "right" are used only to indicate relative positional relationships; when the absolute position of the described object changes, the relative positional relationship may also change accordingly.
[0059] It is understood that before using the technical solutions of the various embodiments in this disclosure, users will be informed of the type, scope of use, and usage scenarios of the personal information involved in an appropriate manner, and user authorization will be obtained.
[0060] For example, upon receiving a user's active request, a prompt message is sent to the user to explicitly inform them that the requested operation will require the acquisition and use of the user's personal information. This allows the user to independently choose, based on the prompt message, whether to provide personal information to the software or hardware such as electronic devices, applications, servers, or storage media performing the operations of this disclosed technical solution.
[0061] As an optional but not limited implementation, in response to a user's active request, sending a prompt message to the user can be done via a pop-up window, where the prompt message can be presented in text format. Furthermore, the pop-up window can also include a selection control allowing the user to choose "agree" or "disagree" to provide personal information to the electronic device.
[0062] It is understood that the above notification and user authorization process are merely illustrative and do not constitute a limitation on the implementation of this disclosure. Other methods that comply with relevant laws and regulations may also be applied to the implementation of this disclosure.
[0063] The term "in response to" as used herein refers to a state in which a corresponding event occurs or a condition is satisfied. It will be understood that the timing of subsequent actions performed in response to such event or condition is not necessarily strongly correlated with the time when the event occurs or the condition is met. For example, in some cases, subsequent actions may be performed immediately upon the occurrence of the event or the fulfillment of the condition; while in others, they may be performed some time after the occurrence of the event or the fulfillment of the condition.
[0064] As mentioned earlier, a key capability of the business assistant platform lies in tracking core indicators such as transactions, cash flow, and inventory to generate visual reports for users, enabling them to quickly grasp the status of their businesses. Therefore, how to efficiently and accurately generate visual reports for users has become a crucial issue that the business assistant platform needs to address.
[0065] In the embodiments of this disclosure, the aforementioned visualization report may also be referred to as a data analysis report. It is understood that each data analysis report typically includes one or more data analysis modules. Each data analysis module is used to analyze data on one or more parameters from one or more dimensions and to visualize the data analysis results. Generally, various methods can be used to visualize the data analysis results. For example, in a data analysis module, rich media methods such as images (e.g., charts), text, and video can be used to display the data analysis results.
[0066] It is understandable that in the aforementioned application of generating data analysis reports, the data filtering strategy embodies the data selection conditions used by each data analysis module in the report when acquiring data. Typically, a good data filtering strategy can provide a more accurate solution that better matches the user's actual problem; therefore, the strength of the data filtering strategy infrastructure directly represents the level of intelligence of the business assistant system. Generally, different user problems and corresponding solutions vary significantly, and the same data filtering strategy cannot meet the diverse needs of different users. However, current data filtering strategies are usually maintained by local hard-coded code by technical personnel, limiting configuration flexibility. Therefore, the different data filtering strategy requirements of different users can only be met through customized development.
[0067] In view of this, embodiments of the present disclosure provide a data processing method, apparatus, electronic device, storage medium, and program product that can realize flexible and efficient generation and configuration of data analysis report templates, thereby generating data analysis reports for users efficiently and accurately.
[0068] For clarity, before describing the specific technical solutions of the embodiments of this disclosure, the technical terms involved in the embodiments of this disclosure will be explained first.
[0069] A data analysis report is a user-generated, visually accessible file used to track key metrics such as transactions, cash flow, and inventory. Typically, a data analysis report includes one or more data analysis modules. Each module analyzes data from one or more dimensions and visualizes the results. Users typically render the report on their client-side to obtain a visualized data analysis page. Specifically, depending on the report's settings, various methods can be used to visualize the results. For example, a user-displayed data analysis page can use images (such as charts), text, video, or rich media to present the analysis findings.
[0070] The data filtering strategy can correspond to the data analysis module mentioned above. It is used to define the data filtering conditions for one or more parameters involved in the data analysis module, that is, to define the source of the data.
[0071] Data filtering rules can be more granular data filtering conditions set under a data filtering strategy, including one or more parameters. These data filtering rules are typically related to user parameters; that is, under the same filtering strategy, different user parameters can correspond to different data filtering rules.
[0072] A form can be a structured interactive tool used to collect, organize, and submit user input data. Its core function is to facilitate data transfer between users and the system.
[0073] A component can represent a modular and reusable functional unit, and is commonly used in multiple fields such as software, front-end development, and engineering.
[0074] Figure 1 A schematic diagram of an exemplary system 100 provided in an embodiment of this disclosure is shown.
[0075] like Figure 1 As shown, system 100 may include terminal device 102 and server 104. A medium (e.g., a network) may be provided between terminal device 102 and server 104 to enable a communication link. The network may include various connection types, such as wired, wireless communication links, or fiber optic cables, etc.
[0076] For example, a business assistant application or software may be installed on terminal device 102, which can be used to create, configure, and generate data analysis reports. Terminal device 102 can be hardware or software. When terminal device 102 is hardware, it can be various electronic devices with a display screen, including but not limited to smartphones, tablets, laptops, and desktop computers (PCs). When terminal device 102 is software, it can be installed on the aforementioned electronic devices. It can be implemented as multiple software programs or software modules (e.g., to provide distributed services) or as a single software program or software module. No specific limitations are made here.
[0077] Server 104 can be a server for a code management assistant platform, such as a backend server providing support for applications or software on the terminal device 102. Server 104 can be either hardware or software. When server 104 is hardware, it can be implemented as a distributed server cluster consisting of multiple servers, or as a single server. When server 104 is software, it can be implemented as multiple software programs or software modules (e.g., used to provide distributed services), or as a single software program or software module. No specific limitations are made here.
[0078] It should be understood that Figure 1 The number of terminal devices, users, and servers shown is merely illustrative. Depending on implementation needs, there can be any number of terminal devices, users, and servers.
[0079] As an example scenario, server 104 can provide services related to the business assistant. User 112 can use the application on terminal device 102 to submit a data analysis report generation request to server 106. Server 104 obtains the relevant data based on the data analysis report generation request submitted by user 112 through terminal device 102, performs the corresponding data processing, and generates a data analysis report. Then, server 104 can send the generated data analysis report back to user 114 through terminal device 102.
[0080] Based on the aforementioned system 100, in order to solve the problems in the data analysis report generation process, this disclosure provides a structure for an operational assistant platform. For ease of description and consistency, in the embodiments of this disclosure, the operational assistant platform may also be referred to as a data processing device. That is, in the embodiments of this disclosure, the data processing device and the operational assistant platform may refer to the same entity.
[0081] Figure 2 The structure of the business assistant platform described in this embodiment of the disclosure is shown. For example... Figure 2As shown in the embodiments of this disclosure, the business assistant platform may include: a data analysis module configuration module 210, a data analysis module pool 220, a strategy configuration module 230, a data analysis report template configuration module 240, a data analysis report template pool 250, and a data analysis report management module 260.
[0082] The data analysis module configuration module 210 mentioned above can be used to configure the data analysis module.
[0083] The aforementioned data analysis module pool 220 can be used to store configured data analysis modules.
[0084] In the embodiments of this disclosure, the data analysis module is the core business unit of the business assistant platform for data processing. As mentioned above, the data analysis module can be used to analyze and process data from one or more dimensions, and can visualize the data analysis results. Typically, the data analysis module corresponds to a user interface (UI), that is, the data analysis results are visualized through a set UI.
[0085] In the embodiments of this disclosure, the data analysis module configuration module 210 can be used to configure basic information for the data analysis module. This basic information may include: the identifier (ID) of the data analysis module, the name of the data analysis module, and the data interface corresponding to the data analysis module (i.e., the source of the data processed by the data analysis module).
[0086] In embodiments of this disclosure, the data analysis module configuration module 210 can also be used to configure data processing logic for the data analysis module, such as methods for sorting data and methods for displaying the sorting results. Specifically, the data processing logic can include the specific process of data processing and the presentation method of the data processing results. Specifically, as mentioned above, a data analysis module can display or present the data processing results using images (e.g., charts), text, video, or rich media. In some embodiments, the specific process of data processing and the presentation method of the data processing results can be implemented through program code (i.e., hard-coded), for example, through a domain-specific language (DSL) code.
[0087] In the embodiments of this disclosure, the data analysis module configuration module 210 can also be used to configure one or more parameters associated with the data analysis module, as well as the functions and other attributes corresponding to each parameter. These parameter attributes can be used to define the business semantics of the parameters and their representation in business operations.
[0088] The strategy configuration module 230 described above can be used to configure the data filtering strategy corresponding to the data analysis module.
[0089] As mentioned earlier, data filtering strategies are used to define the filtering conditions for one or more parameters involved in the data analysis module, that is, to define the filtering conditions for the data processed by the data analysis module. For example, obtaining data from the last 30 days can be configured as one data filtering strategy for the data analysis module; or obtaining data from the last 14 days can also be configured as another data filtering strategy for the data analysis module; or obtaining data from the last 7 days can also be configured as yet another data filtering strategy for the data analysis module, and so on. It can be seen that the strategy configuration module 230 can configure one or more data filtering strategies for each data analysis module. As mentioned earlier, under the data filtering strategy, one or more data filtering rules associated with user parameters can be further defined, thereby enabling different data filtering rules to be adaptively selected for different user parameter values, thus further enhancing the flexibility of data filtering configuration.
[0090] The data analysis report template configuration module 240 mentioned above can be used to configure data analysis report templates.
[0091] The aforementioned data analysis report template pool 250 can be used to store configured data analysis report templates.
[0092] In the embodiments of this disclosure, the data analysis report template configuration module 240 can be used to configure basic information for the data analysis report template. This basic information may include: the identifier (ID) of the data analysis report template and its name, etc. The data analysis report template configuration module 240 can also be used to configure the data analysis modules included in the data analysis report template and the corresponding data filtering strategies for those modules.
[0093] After configuring the data analysis report template, a data analysis report template can be obtained based on the configuration results. Conversely, based on a configured data analysis report template, one or more data analysis modules included in the template can be determined. Furthermore, the configuration information for each data analysis module, including data filtering strategies, parameters, functions corresponding to each parameter, and data processing logic, will also be determined. In addition, the order of the multiple data analysis modules included in the data analysis report template can usually be specified within the template itself. This order will limit the display order of the various data analysis modules in the data analysis report generated based on the template.
[0094] In some embodiments of this disclosure, the configuration information of the aforementioned data analysis report template can be stored as the data analysis report template itself in the data analysis report template pool 250. That is, the various configuration information corresponding to the data analysis report template can be determined by reading and parsing the data analysis report template.
[0095] The aforementioned data analysis report management module 260 can be used to read the data analysis report template selected by the user; determine at least one data analysis module included in the data analysis report template; determine the data interface, parameters, data filtering strategy, and data processing logic corresponding to each data analysis module; for each data analysis module, obtain parameter data from the data interface based on the data filtering strategy, and process the obtained data based on the data processing logic to obtain the presentation content corresponding to each data analysis module; and generate a data analysis report based on the presentation content corresponding to each data analysis module.
[0096] In some embodiments of this disclosure, the aforementioned data analysis report can be a structured file. The user-side client can render the presentation content corresponding to each data analysis module in the data analysis report to obtain a visual page. On the page, the data analysis results corresponding to each data analysis module can be displayed to the user in a visual manner (e.g., images, text, videos, or rich media).
[0097] Specifically, in the embodiments of this disclosure, one or more data analysis modules included in a data analysis report template can be determined based on the template. The configuration information for each data analysis module, including its data interface, data filtering strategy, involved parameters, functions corresponding to each parameter, and data processing logic, can also be determined simultaneously. Thus, upon user request, the user-selected data analysis report template can be determined first; further, at least one data analysis module included in the template can be identified; then, for each data analysis module, data is obtained from its corresponding data interface based on its corresponding data filtering strategy; the obtained data is then analyzed and processed based on the corresponding data processing logic to obtain the presentation content of each data analysis module; finally, a data analysis report is generated based on the presentation content of each data analysis module. It is understood that the generated data analysis report will ultimately be fed back to the user for review.
[0098] As can be seen from the structure of the aforementioned business assistant platform, it allows for the efficient configuration of data analysis report templates. This enables the creation of data analysis reports with a single click based on the pre-configured templates, resulting in efficient and accurate visualization of data analysis reports for users.
[0099] Furthermore, the aforementioned business assistant platform allows for the pre-setting of one or more data filtering strategies for each data analysis module, and the selection of the corresponding data filtering strategy for each module when configuring the data analysis report template. It can be seen that this dynamic configuration method of data filtering strategies can effectively meet the diverse data filtering needs of different users. Compared to the method of maintaining data filtering strategies locally through hard coding, it offers significant flexibility and also improves the efficiency of building data analysis report templates.
[0100] In some embodiments of this disclosure, to facilitate the configuration of each data analysis module, the data analysis module configuration module 210 can adopt a modular, hierarchical configuration approach. Specifically, Figure 3 The specific structure of the data analysis module configuration module 210 described in this embodiment is shown. For example... Figure 3 As shown, the data analysis module configuration module 210 may include: parameter configuration module 310, parameter pool 320, function configuration module 330, function pool 340, component configuration module 350, component pool 360, basic information configuration module 370, data processing logic configuration module 380, and component mapping configuration module 390.
[0101] The parameter configuration module 310 can be used to configure all parameters involved in the business assistant platform.
[0102] The parameter pool 320 mentioned above can be used to store the configured parameters.
[0103] In the embodiments of this disclosure, the aforementioned parameters can be the smallest operational unit in the business assistant platform, used only to describe the basic information of a field, without possessing business semantics. Their specific representation and business semantics are configured by the components. In the embodiments of this disclosure, the information of the parameters configured by the parameter configuration module 310 can include: the parameter identifier, the parameter name, the parameter type, the parameter key (paramkey) corresponding to the parameter, etc. Further, the information of the configured parameters can also include: the global parameters associated with the parameter. The parameter identifier can be a unique identifier (ID) assigned to the parameter in the business assistant platform, used to distinguish it from other parameters. The parameter name can be a name set for the parameter in the business assistant platform. The parameter type can include integer type, number type with a floating-point value, string type, date type, enumeration type, cascade type, and combined cascade type, etc. The parameter key corresponding to the parameter can refer to the name (i.e., key name) used to identify a specific parameter in a technical scenario. In template languages such as JavaScript, the corresponding parameter value can be directly obtained through the parameter key in the Hypertext Transfer Protocol (HTTP) request. Furthermore, global parameters typically refer to variables in a software system whose scope covers the entire application or a specific runtime environment. They can be shared and reused across multiple modules, requests, or environments. Therefore, when a parameter is set with an associated global parameter, the parameter will be associated with the effective global parameter when the global parameter takes effect. From a functional perspective, these parameters can also be categorized into component parameters and user parameters. Component parameters represent filtering parameters within a component, such as metrics and time; while user parameters represent parameters associated with user entities, such as user ID, number of followers, number of submissions, etc.
[0104] The function configuration module 330 mentioned above can be used to configure all functions involved in the business assistant platform.
[0105] The function pool 340 mentioned above can be used to store configured functions.
[0106] In the embodiments of this disclosure, the aforementioned function is an auxiliary unit in the business assistant platform, equivalent to an interface used to provide a parameter enumeration list or default values, etc. In the embodiments of this disclosure, the information of the function configured by the function configuration module 330 may include: the function identifier, the function name, the function type, and the function output, etc. The function identifier can be a unique ID assigned to the function in the business assistant platform, used to distinguish it from other functions. The function name can be a name set for the function in the business assistant platform. The function type may include: an enumeration function and a value retrieval function, etc. The enumeration function can provide optional parameters, such as retrieving the video type, etc.; the value retrieval function can retrieve parameter values, such as retrieving the first promotion ID of a customer, etc. The function output can be the function's output parameters.
[0107] The aforementioned component configuration module 350 can be used to configure all components involved in the business assistant platform.
[0108] The aforementioned component pool 360 can be used to store configured components.
[0109] In the embodiments of this disclosure, the aforementioned component is a core business unit of the business assistant platform. On one hand, the component is used to configure data interfaces, describing the data sources involved in the data analysis module. On the other hand, the component is used to concatenate parameters and functions to assign business semantics and performance to the parameters. The configuration process of the aforementioned component is essentially similar to "building a filter form," using user settings to configure the data interfaces, parameters, and functions associated with the component to determine the business semantics and performance of the parameters. It should be noted that the same parameter may have different semantics under different components, and different functions may be used to obtain the parameter value. In the embodiments of this disclosure, the information of the component configured by the component configuration module 350 may include: basic configuration and parameter configuration. The basic configuration includes: the configuration of information related to the component as a whole, such as the component name and data interfaces; the parameter configuration includes: the configuration of at least one parameter associated with the component, specifically including: setting one or more parameters associated with the component, and setting attributes such as associated functions for each parameter.
[0110] The aforementioned basic information configuration module 370 can be used to configure basic information for the data analysis module, including: the identifier (ID) of the data analysis module, the name of the data analysis module, and the data interface (data source) corresponding to the data analysis module, etc.
[0111] The aforementioned data processing logic configuration module 380 can be used to configure the data processing logic for the data analysis module to process the data. As mentioned earlier, the data processing logic may include: the specific process of data processing and the presentation method of the data processing results.
[0112] The aforementioned component mapping configuration module 390 can be used to configure components corresponding to the data analysis module, thereby enabling the configuration of one or more associated parameters of the data analysis module and the configuration of functions and other attributes corresponding to each parameter.
[0113] In the embodiments of this disclosure, through the mapping of the component mapping configuration module 390, the data analysis module can be mapped one-to-one with a component, so that the data analysis module is also associated with one or more parameters associated with its corresponding component, as well as the attribute configurations such as the functions corresponding to each parameter. Furthermore, after all the above configurations, the data analysis module can process the input data based on the data processing logic pre-set by the data analysis module, for example, analyzing and processing the data according to a set data processing procedure; then, the analysis results can be displayed in a way pre-set by the data analysis module, such as images (e.g., charts), text, video, or rich media.
[0114] As can be seen, the above modular layered configuration method defines three major entities: parameters, functions, and components. Parameters are the smallest unit of operation, functions are the auxiliary units, and components are the core business units that are associated with specific data analysis modules. This connects the parameter entities and function entities and gives them specific business meanings and parameter behaviors.
[0115] Furthermore, the modular, layered configuration approach described above transforms the configuration process of the data analysis module into the creation of a filtering form (i.e., configuring the data analysis module is similar to creating a form corresponding to that module). This facilitates visual configuration of the data analysis module, improving operational efficiency and accuracy. Moreover, the component-based approach enables component reuse and sharing, avoiding repetitive tasks in the data analysis module configuration process, thus improving configuration efficiency and reducing operational costs.
[0116] Specifically, considering scenarios where multiple components share certain parameters in a business context—for example, multiple components may share industry or consumption tier configurations, while each component also has its own additional parameter configurations—configuring each component from scratch would incur significant repetitive costs. Furthermore, adding common parameter configurations would require updating the configuration of each component separately. To address the cumbersome component configuration and maintenance difficulties, some embodiments of this disclosure abstract the common parameter configurations among multiple components into a common component. This common component may or may not be associated with a specific data analysis module; its main function is to quickly create other components. Typically, when creating other components containing the common parameter configurations, the common parameter configurations can be directly copied from the common component, and further non-common parameter configurations can be added to generate the new component. Moreover, when the common parameter configurations need updating, only the configuration of the common component needs to be modified to update the configurations of all components containing the common parameter configurations. It is evident that by setting up common components, the workload of component configuration can be further reduced, thereby greatly improving the efficiency of component configuration and further reducing operating costs.
[0117] Furthermore, in some embodiments of this disclosure, during the creation of a form corresponding to the data analysis module, there may be linkage between different parameters. For example, in some embodiments of this disclosure, the filtering result of a certain parameter may affect the filtering range or filtering method of one or more other parameters in the form. This linkage can be called form linkage. In form building scenarios, form item linkage is the most complex part. In actual application scenarios, the linkage logic is diverse and complex, such as showing / hiding, value linkage updates, value validation, etc. Currently, hard coding alone can no longer meet the growing demand for form linkage. Based on this, in the embodiments of this disclosure, when configuring components, linkage capability settings are made for the parameters of form linkage. The linkage capability settings include target parameter (Target), trigger (Trigger), and effect parameter (Effect). Specifically, the parameter that affects other parameters can be set as Target; the value of the target parameter that causes form linkage can be set as Trigger; and the parameters affected by form linkage and the result of the effect can be set as Effect. It can be seen that by setting the above linkage capability settings, the form linkage capability between parameters can be realized when setting the parameters of the component. It can be seen that the above form linkage capability configuration can be used as one of the attributes configured for parameters.
[0118] Furthermore, in some other embodiments of this disclosure, the values in traditional forms are typically filled in manually by the user. From a representational perspective, these are usually "static values," meaning they do not change with the user's identity. However, in the aforementioned scenario, the same component may be applied to different users' data analysis reports. Different users often require different data definitions in different scenarios. Therefore, the static value settings of traditional forms cannot meet business analysis needs. Based on this, embodiments of this disclosure introduce the concept of dynamic values. When a parameter is set to a dynamic value, its value can be adjusted to the most suitable dynamic value for the current scenario as the user changes. It is evident that by setting dynamic values, the same component can be reused in different users' or different data analysis reports of the same user to meet different business analysis needs, thereby achieving modular design and improving the processing efficiency of the business assistant platform. It can also be seen that the configuration of the aforementioned dynamic values can be used as one of the attributes configured for parameters.
[0119] In some embodiments of this disclosure, when a parameter can be used as a global parameter, it also means that the configuration of that parameter can be reused in a single business scenario. Based on this, embodiments of this disclosure add a parameter classification for public parameters. Only one global parameter domain is maintained for public parameters, and the parameter name within the domain must be unique. Enumeration functions or value retrieval functions can also be configured for public parameters. Furthermore, public parameters or other parameters can be associated when configuring components. It is evident that by setting public parameters, the setting of global parameters within the global parameter domain can be achieved. Based on the setting of global parameters, when reading the parameter values of various parameters involved in the data analysis module, a parameter value overriding process may be included. Specifically, this may include: when reading the value of a target parameter, first determining whether the target parameter is bound to a global parameter; if so, then using the value of the global parameter to overwrite the value of the target parameter. It can be seen that the configuration of the aforementioned global parameters and their associations can also be used as one of the attributes configured for parameters.
[0120] In some embodiments of this disclosure, a dependency graph can also exist between parameters. For example, in the following scenario: parameter A is bound to function getA with parameter B as input; parameter B is bound to function getB with parameter C as input; and parameter C is bound to function getC with no input parameter. Based on this scenario, the following dependency graph can be derived: parameter A depends on parameter B; and parameter B depends on parameter C. Furthermore, the initialization order of the three functions is getC->getB->getA. In this case, function initialization is performed based on the determined initialization order. During function initialization, cached results are reused first; if no cache is available, a function request is initiated. Each time a function request is completed, the next function request is immediately initiated. Functions with dependencies will be requested serially, while functions without dependencies will be requested in parallel, with no concurrency control. Therefore, in the embodiments of this disclosure, the dependency graph between parameters can be further set. By setting the dependency graph, the parameter reading order can be determined, thereby further improving the processing efficiency of the business assistant platform. Specifically, in some embodiments of this disclosure, during the process of parsing the dependency graph, the dependency graph between parameters can be determined first; then, the reading order of the parameters can be determined based on the determined dependency graph; then, single-parameter traversal can be performed according to the determined reading order; after the prerequisite parameters have been determined, the value of the current parameter can be obtained, and the value of the current parameter can be used to fill the aforementioned dependency graph between parameters, and then the process returns to the step of determining the dependency graph between parameters; and before the prerequisite parameters have been determined, the process returns to the step of single-parameter traversal. The above process is repeated until all parameters are determined.
[0121] In some embodiments of this disclosure, to generate data analysis reports more efficiently, the data analysis report management module 260 can utilize the "divide and conquer" approach to divide the data analysis report generation task into data processing sub-tasks corresponding to each data analysis module. Specifically, Figure 4 The specific structure of the data analysis report management module 260 described in this embodiment is shown. For example... Figure 4 As shown, the data analysis report management module 260 may include: a task division unit 410, a task management unit 420, one or more task execution units 430, and a data request management unit 440.
[0122] In the embodiments of this disclosure, the task partitioning unit 410 can be used to generate at least one data analysis task based on at least one data analysis module included in the data analysis report template. Typically, one data analysis module can correspond to one data analysis task.
[0123] The task management unit 420 can be used to generate a task queue based on the generated data analysis tasks, and distribute the data analysis tasks to the one or more task execution units 430 according to the generated task queue. The task management unit 420 can also be used to inject the presentation content returned by the one or more task execution units into the corresponding position of the data analysis report template, and finally generate a data analysis report.
[0124] The above-mentioned one or more task execution units 430 can be used to generate data requests based on corresponding data filtering strategies, and after obtaining the data, analyze and process the obtained data based on corresponding data processing logic to obtain the presented content.
[0125] The aforementioned data request management unit 440 can be used to receive data requests from task execution units and determine whether the received data request is a duplicate request. In response to determining that the received data request is a duplicate request, the cached data corresponding to the data request can be returned to the corresponding task execution unit. In response to determining that the received data request is not a duplicate request, the received data request can be sent to the corresponding server to obtain the data corresponding to the data request, and the obtained data can be returned to the corresponding task execution unit, while the obtained data is cached.
[0126] As can be seen from the structure of the data analysis report management module 260, by dividing tasks, managing tasks, and executing sub-tasks, the long task of generating a data analysis report can be divided into multiple data analysis tasks, thus facilitating task execution. When a single data analysis task is completed, the corresponding presentation content can be immediately returned to the user's client (the framework file of the data analysis report, which does not contain any presentation content corresponding to any data analysis task, will be pre-sent to the user's client), and the client will first render the presentation content corresponding to that data analysis task. In this way, the data analysis report page presented to the user will no longer display a virtual progress bar, but rather a progressive report rendering. That is, after a data analysis task is completed, its corresponding presentation content will be rendered on the user's page, which can greatly improve the user experience.
[0127] Furthermore, the data request management unit 440 can manage data requests, allowing the reuse of data obtained from previous data requests for the same data request, thus avoiding redundant communication and improving task processing efficiency.
[0128] In other embodiments, considering that users can typically freely scroll the canvas to view the data analysis report framework during the rendering process, the task management unit 420 can be used to generate a weighted dynamic task queue based on the generated data analysis tasks to support priority rendering of content within the window, in order to better improve the user experience. In embodiments of this disclosure, the weighted dynamic task queue may include a candidate queue and an execution queue; wherein, the order of data analysis tasks arranged in the candidate queue can be dynamically adjusted according to task priority; the data analysis tasks arranged in the execution queue will be assigned to one or more task execution units for execution according to the order in which they were enqueued. Specifically, the task management unit 420 can set a window listener to monitor whether the display area of the data analysis module corresponding to each data analysis task in the candidate queue enters the user's window and remains there for a preset duration. In response to determining that the display area of the data analysis module corresponding to a certain data analysis task in the data analysis report has entered the user's window and remained there for a preset duration, the priority of that data task is increased so that it can be dequeued first and enter the execution queue. In response to a data analysis task's corresponding data analysis module moving from within the user's viewport to outside the viewport for a preset duration, the data task's priority is lowered so it can be dequeued and added to the execution queue. This weighted dynamic queue approach allows for prioritized rendering of content within the viewport, thus improving the user experience.
[0129] The following example illustrates this. Suppose a data analysis report includes five data analysis modules, generating five data analysis tasks. These tasks are designated Task A, Task B, Task C, Task D, and Task E according to their order in the report. Initially, the task management unit 420 adds Task A, Task B, Task C, Task D, and Task E to a candidate queue according to the order of their corresponding data analysis modules in the report. Since the current user's viewport displays the areas corresponding to Task A and Task B in the data analysis report, the task management unit 420 increases the priority of Task A and Task B in the candidate queue (the order of tasks in the candidate queue remains unchanged after priority adjustment). In this case, since Task A is at the head of the candidate queue, it is dequeued first and added to the execution queue. At this point, the user slides the viewport, and the current user's viewport displays the areas corresponding to Task D and Task E in the data analysis report for a preset duration. In this scenario, the task management unit 420 can lower the priority of task B (task A has already entered the execution queue and its priority does not need to be adjusted) and increase the priorities of tasks D and E. Thus, the adjusted candidate queue order is: task D, task E, task B, and task C. In this case, if the number of tasks in the execution queue has not yet reached its maximum, task D, being at the head of the candidate queue, is dequeued first and added to the execution queue. For the remaining tasks E, B, and C in the candidate queue, their order can still be dynamically adjusted according to the above process until all tasks are executed. It can be seen that the above method can adjust the execution order of tasks in real time using a weighted dynamic queue, thereby prioritizing the rendering of content within the window and thus improving the user experience.
[0130] Based on the above Figure 2 and Figure 3 The structure of the business assistant platform shown in this disclosure includes a data processing method. This data processing method can be implemented by the business assistant platform, or more specifically, by the data analysis report management module 260 of the business assistant platform. Figure 5 The implementation flow of the data processing method described in the embodiments of this disclosure is illustrated. For example... Figure 5 As shown, the above data processing method may include the following steps.
[0131] In step 510, the data analysis report template selected by the user is read.
[0132] In the embodiments of this disclosure, the aforementioned business assistant platform can provide users with a visual data analysis report generation page. This page can display multiple pre-configured data analysis report templates. Users can then select a template by clicking on it. The business assistant platform can determine the identifier of the selected template based on the user's selection and then retrieve the corresponding template from the data analysis report template pool 250. The user's client and the business assistant platform can communicate via the HTTP protocol.
[0133] In step 520, at least one data analysis module is identified as included in the data analysis report template.
[0134] In step 530, the data interface, parameters, data filtering strategy, and data processing logic corresponding to each data analysis module are determined.
[0135] As mentioned earlier, the data analysis report template can include at least one data analysis module. Each data analysis module is configured to correspond to a data interface, one or more parameters, a data filtering strategy, and data processing logic. Furthermore, the data analysis report template typically records this configuration information in a structured file. Therefore, after determining the data analysis report template, the data analysis modules included in the template can be identified by parsing the template. Then, based on the configuration information of each data analysis module, the corresponding data interface, parameters, data filtering strategy, and data processing logic for each data analysis module can be determined.
[0136] In step 540, for each data analysis module, parameter data is obtained from the data interface based on the data filtering strategy, and the obtained data is processed based on the data processing logic to obtain the presentation content corresponding to each data analysis module.
[0137] As mentioned earlier, each data analysis module in the data analysis report template should correspond to a data filtering strategy. The data filtering strategy defines the data filtering conditions. Therefore, in step 540 above, data for each parameter involved in the data analysis module can first be obtained from the data interface corresponding to the data analysis module based on the data filtering strategy. Then, after obtaining the data, it is processed based on the data processing logic corresponding to the data analysis module. Specifically, the above processing can include analyzing and processing the obtained data based on a set specific data processing procedure, and processing the data processing results to generate corresponding presentation content based on a set presentation method for the data processing results. After rendering the above presentation content, views in the form of charts, text, videos, or rich media can be generated. It can be understood that the rendering operation of the data processing results can be implemented by the user's terminal device.
[0138] In embodiments of this disclosure, step 540 may include the following: First, a data analysis task is generated for each data analysis module. Then, a task queue is generated based on the generated data analysis tasks. Finally, the data analysis tasks are executed according to the generated task queue to obtain the presentation content corresponding to the data analysis tasks.
[0139] Specifically, the above process may include: extracting data analysis tasks from the head of the queue; generating data requests based on corresponding data filtering strategies for the extracted data analysis tasks; determining whether the data request is a duplicate request; in response to determining that the data request is a duplicate request, retrieving the cached data corresponding to the data request; in response to determining that the data request is not a duplicate request, sending the data request to the corresponding server to obtain the data corresponding to the data request and caching it; and after obtaining the data, analyzing and processing the obtained data based on the corresponding data processing logic to obtain the presentation content corresponding to the data analysis task.
[0140] As can be seen from the above process, by dividing, managing, and executing tasks, the long task of generating a data analysis report can be divided into multiple data analysis tasks, thus facilitating task execution. When a single data analysis task is completed, the user's client can immediately render the data analysis results. Therefore, the data analysis report page presented to the user will no longer be a virtual progress bar, but a progressive report rendering, which can greatly improve the user experience. Simultaneously, in the above process, data obtained from previous data requests can be directly reused for the same data requests, avoiding redundant communication interactions and improving task processing efficiency.
[0141] In other embodiments, considering that users can usually freely scroll the canvas to view the data analysis report framework during the rendering process, the task queue can be a weighted dynamic task queue to better improve the user experience and support priority rendering of content within the window. In the embodiments of this disclosure, the weighted dynamic task queue can include a candidate queue and an execution queue; wherein, the order of data analysis tasks arranged in the candidate queue can be dynamically adjusted according to task priority; the data analysis tasks arranged in the execution queue will be executed in the order they were enqueued. Specifically, in this case, step 540 can include the following steps. First, a data analysis task is generated for each data analysis module. Then, a candidate queue and an execution queue are generated based on the generated data analysis tasks. Second, the display area of the data analysis module corresponding to each data analysis task in the candidate queue is monitored to see if it enters the user's window and remains there for a preset duration. In response to determining that the display area of the data analysis module corresponding to a certain data analysis task in the data analysis report has entered the user's window and remained there for a preset duration, the priority of that data task is increased so that it can be dequeued first and enter the execution queue. In response to the determination that the display area of the data analysis module corresponding to a certain data analysis task in the data analysis report has moved from within the user's view to outside the user's view for a preset duration, the priority of that data task is reduced so that it can be dequeued first and enter the execution queue. Finally, the data analysis task is executed according to the execution queue to obtain the presentation content corresponding to the data analysis task. The specific process can be referred to the above embodiment, and will not be repeated here.
[0142] This demonstrates that the weighted dynamic queue method described above can prioritize the rendering of content within the window, thereby improving the user experience.
[0143] In step 550, a data analysis report is generated based on the presentation content corresponding to each data analysis module.
[0144] In the embodiments of this disclosure, in step 550 above, the presentation content corresponding to each data analysis module can be injected into the corresponding position of the data analysis report template to generate a data analysis report.
[0145] As mentioned above, in some embodiments of this disclosure, the framework file of the data analysis report and the presentation content corresponding to each data analysis module can be fed back to the user in sequence. The user's client renders the presentation content corresponding to each data analysis module according to the order of receipt, thereby generating the visualization page corresponding to the data analysis report.
[0146] It is generally understood that the aforementioned data analysis reports are generated for a specific user. Therefore, in some embodiments of this disclosure, in step 510, the user typically inputs user parameters associated with the data analysis report, such as a user ID. In some specific examples, a filter form for user input parameters can be provided on the page. The user inputs user parameters through the filter form. Generally, the user-input parameters can be used as global parameters to override other parameters associated with global parameters, thereby ensuring that the data analyzed by each data analysis module in a data analysis report comes from the same user. Furthermore, in some embodiments of this disclosure, the data filtering strategy configured for each data analysis module can also include multiple data filtering rules, where different data filtering rules can correspond to different user parameters. In this case, after obtaining the user-input parameters, the data filtering rules in the data filtering strategy corresponding to each data analysis module can be determined based on the user-input parameters. It can be seen that by further setting data filtering rules under the data filtering strategy, users can choose to use different data calibers to obtain data based on their own user data, thereby achieving more flexible configuration.
[0147] This demonstrates that the data processing method described above can generate data analysis reports "with one click" based on a pre-configured data analysis report template, thereby efficiently and accurately generating visual data analysis reports for users.
[0148] In addition to generating data analysis reports for users, the aforementioned business assistant platform can also generate data analysis report templates based on user-generated data analysis reports. This is suitable for scenarios where data analysis report templates are updated based on user-generated or updated data analysis reports. Thus, when a similar data analysis report needs to be generated again, it can be generated directly based on the updated data analysis report template with one click, effectively avoiding repetitive work.
[0149] In the embodiments of this disclosure, it is understood that the above-described scheme for generating data analysis report templates based on user-generated data analysis reports only applies to data analysis reports generated based on the data analysis modules described in the embodiments of this disclosure. That is, in the embodiments of this disclosure, user-generated data analysis reports will also be composed of the data analysis modules provided by the aforementioned business assistant platform. Based on this, those skilled in the art will understand that the difference between a data analysis report template and a data analysis report in the embodiments of this disclosure may be that the data analysis report template may include: one or more data analysis modules and data filtering strategies corresponding to the data analysis modules; while the data analysis report may include: one or more data analysis modules and data corresponding to the data modules. Thus, the process of generating a template from a report is transformed into a process of generating a data filtering strategy from data.
[0150] Figure 6 This disclosure illustrates the process of generating a data analysis report template based on a data analysis report, as described in an embodiment of the present disclosure. To distinguish the process of generating a data analysis report template based on a data analysis report from the data analysis report itself, and from the data analysis report and data analysis module described above in the process of generating a data analysis report based on a data analysis report template, the above... Figure 5 The data analysis report described in the foregoing embodiments is replaced with a first data analysis report, and the aforementioned data analysis module is replaced with the first data analysis module, while the following... Figure 6 The data analysis report shown is called the second data analysis report, and will include the following: Figure 6 The data analysis module shown is referred to as the second data analysis module. It should be noted that the terms "first" and "second" are merely used to distinguish the same entities in different processes for clarity and to avoid confusion between processes; they are not intended to indicate any difference in function, structure, or role between the data analysis module and the data analysis report in the aforementioned processes.
[0151] like Figure 6 As shown in the embodiments of this disclosure, the method for generating a data analysis report template based on a data analysis report may include the following steps.
[0152] In step 610, the received second data analysis report is parsed to determine at least one second data analysis module included in the second data analysis report, and to determine the data interface, parameters, target data, and data processing logic corresponding to each second data analysis module.
[0153] In the embodiments of this disclosure, in step 610 above, a second data analysis report may be received first. As mentioned earlier, the second data analysis report can be a structured file. That is, the second data analysis report records at least one data analysis module included in the data analysis report, along with the data interface, parameters, data, and data processing logic corresponding to each data module, in a predefined, fixed, and structured manner. Thus, by parsing the structured second data analysis report, at least one second data analysis module included in the second data analysis report can be obtained. Furthermore, based on the configuration information of each second data analysis module in the structured second data analysis report, the data interface, parameters, data, and data processing logic corresponding to each data analysis module are determined respectively. In other words, based on the parsing of the structured second data analysis report, all other information required to generate the second data analysis report template, except for the data filtering strategy corresponding to the second data analysis module, can be directly obtained.
[0154] In step 620, for each second data analysis module, a data filtering strategy is determined based on the parameters and target data.
[0155] In the embodiments of this disclosure, for each second data analysis module, its corresponding data filtering strategy can be deduced based on the aforementioned parameters, data interface, and target data. It is understood that in some embodiments of this disclosure, for each second data analysis module, candidate data for the aforementioned parameters can be read from its corresponding data interface, and the read candidate data can be compared with the target data parsed from the second data analysis report to obtain a comparison result; then, a data filtering strategy is determined based on the comparison result. For example, the data filtering strategy may determine whether to acquire data from the past 7 days, the past 14 days, or the past 30 days, etc., based on the data comparison result.
[0156] In some embodiments of this disclosure, steps 610 and 620 described above can be implemented by the data analysis report management module 260 described above.
[0157] In step 630, a data analysis report template corresponding to the second data analysis report is generated based on the data interface, parameters, data filtering strategy, and data processing logic corresponding to each second data analysis module.
[0158] In some embodiments of this disclosure, step 630 can be implemented by the data analysis report template configuration module 240. Furthermore, the generated data analysis report template will also be stored in the data analysis report template pool 250. Specifically, the method by which the data analysis report template configuration module 240 generates a data analysis report template corresponding to the second data analysis report based on the data interface, parameters, data filtering strategy, and data processing logic corresponding to each second data analysis module can also be referred to the foregoing embodiments, and will not be repeated here.
[0159] This demonstrates that the above method can establish a path from data analysis reports to data analysis report templates. Based on this, user-manually updated data analysis reports can be used to reconstruct corresponding data analysis report templates, thus solving the problems of difficulty and cumbersome process in generating data analysis report templates, and further improving the processing efficiency of the business assistant platform.
[0160] In addition, based on the aforementioned business assistant platform, automated strategy collection and integrated resource strategies can be achieved. Specifically, the business assistant platform can further set up integrated application programming interfaces (APIs) for the configured data analysis modules, allowing other business systems to call the data analysis modules configured on the business assistant platform. Furthermore, the aforementioned business assistant platform can transform passively receiving data into actively acquiring data, thereby promoting a new development paradigm, maximizing the utilization of underlying configurations, reducing business-side development costs, and allowing business systems to focus more on their own business logic development.
[0161] Based on the above configuration, embodiments of this disclosure can achieve automatic updates of data processing reports. Specifically, Figure 7 The automatic update process of the data processing report described in this embodiment is illustrated. The above method can be implemented through the data analysis report management module 260. For example... Figure 7 As shown, the above data processing method can further include the following steps.
[0162] In step 710, the status of the parameters corresponding to each first data analysis module is set.
[0163] In step 720, monitor the status of the parameters.
[0164] In step 730, in response to a change in the state of a candidate parameter, the candidate data analysis module corresponding to the candidate parameter is determined.
[0165] In step 740, candidate parameter data is obtained from the data interface corresponding to the candidate data analysis module based on the data filtering strategy corresponding to the candidate data analysis module, and the candidate parameter data is processed and the presentation content corresponding to the candidate data analysis module is updated based on the data processing logic corresponding to the candidate data analysis module.
[0166] This demonstrates that by building a new API covering the entire chain from state definition, view rendering, state listening, data request, to content rendering, a "parameter domain" can be introduced to solve the problems of state sharing, transmission, and isolation among multiple content modules. Furthermore, under the integrated development paradigm, the acquisition of content data can be handled by the management assistant platform. In this way, the management assistant platform can accurately perceive the "cause" of content data, achieve precise parameter collection in the automated request chain, and thereby extend to higher-level applications such as report template conversion, cross-system parameter linkage, and report subscription.
[0167] As mentioned earlier, the business assistant platform can further set up integrated development APIs for the configured data analysis modules, enabling other business systems to call the data analysis modules configured on the business assistant platform. Based on this, users of other business systems can call the aforementioned APIs to access the data analysis modules provided by the business assistant platform. Furthermore, users of other business systems can configure specific data filtering strategies for the called data analysis modules to meet their own needs. In this case, a need arises to obtain the data filtering strategies set by users on other business systems. Based on this, embodiments of this disclosure also disclose an automatic data filtering strategy acquisition method to obtain the data filtering strategies configured by users for data analysis modules on other business systems. Specifically, Figure 8 The automatic acquisition process of the data filtering strategy described in this embodiment is illustrated. This method can be implemented through the data analysis module configuration module 210. For example... Figure 8 As shown, the above data processing method can further include the following steps.
[0168] In step 810, a data request is received from the business system.
[0169] In step 820, the data request is parsed to obtain the data interface, parameters, and data filtering strategy corresponding to the data request.
[0170] In step 830, the third data analysis module corresponding to the parameters and data interface is determined.
[0171] In step 840, the data filtering strategy is added as a data filtering strategy for the third data analysis module.
[0172] It should be noted that, similar to the "first" and "second" mentioned above, the "third" mentioned above is merely a textual distinction between the same entities in different processes for ease of reference and explanation, thereby avoiding confusion between different processes. It does not imply that the data analysis module in the above process is different from other data analysis modules in terms of function, structure, or role.
[0173] This demonstrates that the above method can achieve automatic collection of data filtering strategies. In other words, it can automatically collect data filtering strategies that users have already set up in other business systems, thereby further simplifying the configuration process of the data analysis module.
[0174] It should be noted that, in order to achieve the above process, the business assistant platform has introduced the concept of "parameter domain". The business assistant platform takes over all parameter status maintenance, and any data request will also extract parameters from the parameter domain and automatically initiate a request when changes in dependent parameters are detected.
[0175] In the embodiments of this disclosure, the aforementioned parameter domain can be referred to as the parameter scope. The business assistant platform provides a top-level parameter domain by default, which maintains the state of all parameters by default, and supports other business systems to define the scope of influence of the parameter domain themselves. Parameter domain positioning includes data storage, data isolation, precise updates, etc. Among them, data storage includes maintaining the parameter values of all parameters. Data isolation includes supporting scope nesting, where child scopes can access the values of parent scopes, but parent scope values cannot access child scope values, and sibling scopes cannot access each other. Precise updates mean that the data analysis module will only update when the state of the used parameter changes. In the embodiments of this disclosure, data links can be established through the aforementioned parameter domains, and parameter states can be elevated to the global level. In this way, when multiple data analysis modules have states with the same name, data isolation can be established through parameter domains.
[0176] As can be seen from the above solutions, the data processing method and business assistant platform provided in this disclosure establish online parameter management through a system of parameters, functions, and components, making parameter and strategy data more visible and enabling more flexible business configuration. Furthermore, the above solutions also provide a brand-new development API system covering the entire development process of the data analysis module, which can greatly reduce the amount of content-side code development and lower development costs. Statistics show that the technical solutions provided in this disclosure can reduce development costs by 30%, while increasing version speed by up to 100%.
[0177] Based on the same inventive concept, corresponding to the methods of any of the above embodiments, this disclosure also provides an electronic device, including: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the data processing method described in any of the above embodiments.
[0178] Figure 9 This embodiment illustrates a hardware structure diagram of a more specific electronic device, which may include: a processor 2010, a memory 2020, an input / output interface 2030, a communication interface 2040, and a bus 2050. The processor 2010, memory 2020, input / output interface 2030, and communication interface 2040 are interconnected internally via the bus 2050.
[0179] The processor 2010 can be implemented using a general-purpose CPU (Central Processing Unit), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this specification.
[0180] The memory 2020 can be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc. The memory 2020 can store the operating system and other applications. When the technical solutions provided in the embodiments of this specification are implemented by software or firmware, the relevant program code is stored in the memory 2020 and is called and executed by the processor 2010.
[0181] The input / output interface 2030 is used to connect input / output devices to enable information input and output. These input / output devices can be configured as components within the device or externally connected to provide corresponding functions. Input devices may include microphones, various sensors, etc., while output devices may include displays, speakers, vibrators, indicator lights, etc.
[0182] The communication interface 2040 is used to connect a communication module (not shown in the figure) to enable communication between this device and other devices. The communication module can communicate via wired means (e.g., USB, Ethernet cable) or wireless means (e.g., mobile network, Wi-Fi, Bluetooth).
[0183] Bus 2050 includes a pathway for transmitting information between various components of the device, such as processor 2010, memory 2020, input / output interface 2030, and communication interface 2040.
[0184] It should be noted that although the above-described device only shows the processor 2010, memory 2020, input / output interface 2030, communication interface 2040, and bus 2050, in specific implementations, the device may also include other components necessary for normal operation. Furthermore, those skilled in the art will understand that the above-described device may only include the components necessary for implementing the embodiments of this specification, and not necessarily all the components shown in the figures.
[0185] The electronic devices described above are used to implement the corresponding data processing methods in any of the foregoing embodiments and have the beneficial effects of the corresponding method embodiments, which will not be repeated here.
[0186] Based on the same inventive concept, corresponding to the methods of any of the above embodiments, this disclosure also provides a non-transitory computer-readable storage medium that stores computer instructions for causing the computer to perform the data processing method as described in any of the above embodiments.
[0187] The computer-readable medium of this embodiment includes permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transfer medium that can be used to store information accessible by a computing device.
[0188] The computer instructions stored in the storage medium of the above embodiments are used to cause the computer to execute the data processing method as described in any of the above embodiments, and have the beneficial effects of the corresponding method embodiments, which will not be repeated here.
[0189] Based on the same inventive concept, corresponding to the data processing methods of any of the above embodiments, this disclosure also provides a computer program product, which includes computer program instructions. In some embodiments, when the computer program instructions are run on a computer, the computer performs each step of each embodiment of the data processing method. Corresponding to the execution entity for each step in each embodiment of the data processing method, the processor performing the corresponding step may belong to the corresponding execution entity.
[0190] The computer program products of the above embodiments are used to cause the processor to execute the data processing method as described in any of the above embodiments, and have the beneficial effects of the corresponding method embodiments, which will not be repeated here.
[0191] Those skilled in the art should understand that the discussion of any of the above embodiments is merely exemplary and is not intended to imply that the scope of this disclosure (including the claims) is limited to these examples; within the framework of this disclosure, the technical features of the above embodiments or different embodiments can also be combined, the steps can be implemented in any order, and there are many other variations of different aspects of the embodiments of this disclosure as described above, which are not provided in detail for the sake of brevity.
[0192] Additionally, to simplify the description and discussion, and to avoid obscuring the embodiments of this disclosure, the provided drawings may or may not show well-known power / ground connections to integrated circuit (IC) chips and other components. Furthermore, the apparatus may be shown in block diagram form to avoid obscuring the embodiments of this disclosure, and this also takes into account the fact that the details of implementation of these block diagram apparatuses are highly dependent on the platform on which the embodiments of this disclosure will be implemented (i.e., these details should be fully understood by those skilled in the art). While specific details (e.g., circuitry) have been set forth to describe exemplary embodiments of this disclosure, it will be apparent to those skilled in the art that the embodiments of this disclosure may be implemented without these specific details or with variations thereof. Therefore, these descriptions should be considered illustrative rather than restrictive.
[0193] Although this disclosure has been described in conjunction with specific embodiments thereof, many substitutions, modifications, and variations of these embodiments will be apparent to those skilled in the art from the foregoing description. For example, other memory architectures (e.g., dynamic RAM (DRAM)) may be used with the embodiments discussed.
[0194] This disclosure is intended to cover all such substitutions, modifications, and variations that fall within the broad scope of the appended claims. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.
Claims
1. A data processing method, comprising: Read the data analysis report template selected by the user; Identify at least one first data analysis module included in the data analysis report template; Each of the at least one first data analysis module shall be determined to have its corresponding data interface, parameters, data filtering strategy, and data processing logic. For each of the first data analysis modules, the data of the parameters is obtained from the data interface based on the data filtering strategy, and the obtained data is processed based on the data processing logic to obtain the presentation content corresponding to each of the first data analysis modules; as well as A first data analysis report is generated based on the presentation content corresponding to each first data analysis module.
2. The method according to claim 1, wherein, The process of processing the acquired data based on the data processing logic to obtain the presentation content corresponding to each first data analysis module includes: The data is processed based on the specific procedures of the data processing logic to obtain the data processing result; and The data processing results are processed based on the presentation method of the data processing results in the data processing logic to obtain the presentation content corresponding to the first data analysis module.
3. The method according to claim 1, wherein, The step of generating a first data analysis report based on the presentation content corresponding to each first data analysis module includes: injecting the presentation content corresponding to at least one first data analysis module into the corresponding position of the data analysis report template to generate the first data analysis report.
4. The method according to claim 1, further comprising: Obtain user parameters associated with the first data analysis report, input by the user; wherein, The step of determining the data interface, parameters, data filtering strategy, and data processing logic corresponding to each of the at least one first data analysis module includes: The data analysis report template is parsed to determine the data interface, parameters, data filtering strategy, and data processing logic corresponding to each first data analysis module; and Based on the user parameters, the data filtering rules in the data filtering strategy corresponding to the at least one first data analysis module are determined respectively.
5. The method of claim 1, further comprising: The received second data analysis report is parsed to determine at least one second data analysis module included in the second data analysis report, and to determine the data interface, parameters, target data and data processing logic corresponding to each second data analysis module. Based on the parameters and the target data, the data filtering strategy corresponding to each of the second data analysis modules is determined respectively; as well as Based on the data interface, parameters, data filtering strategy, and data processing logic corresponding to each second data analysis module, a data analysis report template corresponding to the second data analysis report is generated.
6. The method according to claim 5, wherein, The data filtering strategy for determining the second data analysis module based on the parameters and the target data includes: Candidate data for the parameters are read based on the data interface corresponding to the second data analysis module; The candidate data is compared with the target data to obtain a comparison result; and Based on the comparison results, the data filtering strategy corresponding to the second data analysis module is determined.
7. The method of claim 1, further comprising: For each parameter corresponding to the first data analysis module, set the state of the parameter; Monitor the status of the parameters; In response to a change in the state of a candidate parameter, the candidate data analysis module corresponding to the candidate parameter is determined. Based on the data filtering strategy corresponding to the candidate data analysis module, the candidate parameter data is obtained from the data interface corresponding to the candidate data analysis module, and the candidate parameter data is processed based on the data processing logic corresponding to the candidate data analysis module to update the presentation content corresponding to the candidate data analysis module.
8. The method of claim 1, further comprising: Receive data requests from business systems; The data request is parsed to obtain the data interface, parameters, and data filtering strategy corresponding to the data request; Determine the third data analysis module corresponding to the parameters and data interface of the data request; as well as Add the data filtering strategy corresponding to the data request as a data filtering strategy corresponding to the third data analysis module.
9. The method according to claim 1, wherein, For each of the first data analysis modules, obtaining the parameter data from the data interface based on the data filtering strategy, and processing the obtained data based on the data processing logic to obtain the presentation content corresponding to each first data analysis module includes: Data analysis tasks are generated for each of the first data analysis modules. A task queue is generated based on the data analysis task; and The data analysis task is executed according to the task queue to obtain the presentation content corresponding to the data analysis task.
10. The method according to claim 9, wherein, The step of executing the data analysis task according to the task queue to obtain the presentation content corresponding to the data analysis task includes: Extract the data analysis task from the head of the task queue; For the extracted data analysis task, a data request is generated based on the corresponding data filtering strategy; Determine whether the data request is a duplicate request; In response to determining that the data request is a duplicate request, retrieve the cached data corresponding to the data request; In response to determining that the data request is not a duplicate request, the data request is sent to the corresponding server to obtain the data corresponding to the data request, and the data corresponding to the data request is cached; and The data is processed based on the corresponding data processing logic to obtain the presentation content corresponding to the data analysis task.
11. The method according to claim 1, wherein, For each of the first data analysis modules, obtaining the parameter data from the data interface based on the data filtering strategy, and processing the obtained data based on the data processing logic to obtain the presentation content corresponding to each first data analysis module includes: Data analysis tasks are generated for each of the first data analysis modules. Based on the data analysis task, a candidate queue and an execution queue are generated; Monitor whether the display area of the first data analysis module corresponding to the data analysis task in the first data analysis report has entered the user's view window for a preset duration. In response to determining that the display area of the first data analysis module corresponding to the first candidate data analysis task in the first data analysis report has entered the user's view window for the preset duration, the priority of the first candidate data analysis task is increased. In response to determining that the display area of the first data analysis module corresponding to the second candidate data analysis task in the candidate queue has moved from inside the user's view window to outside the user's view window for the preset duration, the priority of the second candidate data analysis task is reduced. In response to determining that the number of data analysis tasks in the execution queue has not reached a preset maximum number, the data analysis tasks in the candidate queue are added to the execution queue in sequence; and The data analysis task is executed according to the execution queue to obtain the presentation content corresponding to the data analysis task.
12. The method according to claim 11, wherein, The step of executing the data analysis task according to the execution queue to obtain the presentation content corresponding to the data analysis task includes: The data analysis task is extracted from the head of the execution queue; For the extracted data analysis task, a data request is generated based on the corresponding data filtering strategy; Determine whether the data request is a duplicate request; In response to determining that the data request is a duplicate request, retrieve the cached data corresponding to the data request; In response to determining that the data request is not a duplicate request, the data request is sent to the corresponding server to obtain the data corresponding to the data request, and the data corresponding to the data request is cached; and The data is processed based on the corresponding data processing logic to obtain the presentation content corresponding to the data analysis task.
13. A data processing apparatus, comprising: The data analysis module configuration module is used to configure the data analysis module; The data analysis module pool is used to store configured data analysis modules; The strategy configuration module is used to configure the data filtering strategy corresponding to the data analysis module; The data analysis report template configuration module is used to configure data analysis report templates; A data analysis report template pool is used to store configured data analysis report templates; The data analysis report management module is used to read the data analysis report template selected by the user; The data analysis report template includes at least one first data analysis module; the data interface, parameters, data filtering strategy, and data processing logic corresponding to each of the at least one first data analysis module are determined; for each first data analysis module, the data of the parameters is obtained from the data interface based on the data filtering strategy, and the obtained data is processed based on the data processing logic to obtain the presentation content corresponding to each first data analysis module; And generate a first data analysis report based on the presentation content corresponding to each first data analysis module.
14. The apparatus according to claim 13, wherein, The data analysis module configuration module includes: The parameter configuration module is used to configure parameters; The parameter pool is used to store the configured parameters. The function configuration module is used to configure functions; The function pool is used to store configured functions; A component configuration module is used to configure components; wherein, the components are associated with data interfaces and one or more parameters; the one or more parameters are each associated with one or more functions; The component pool is used to store configured components; The basic information configuration module is used to configure basic information for the data analysis module. A data processing logic configuration module is used to configure the data processing logic for the data analysis module to process the data; and The component mapping configuration module is used to configure the components corresponding to the data analysis module.
15. The apparatus according to claim 13, wherein, The data analysis report management module includes: The task partitioning unit is used to generate data analysis tasks for each of the data analysis modules. The task management unit generates a task queue based on the data analysis task, distributes the data analysis task to one or more task execution units according to the task queue, and injects the presentation content returned by one or more of the task execution units into the corresponding position of the data analysis report template to generate the data analysis report. One or more of the task execution units are configured to generate a data request based on the data filtering strategy corresponding to the assigned data analysis task; and after acquiring the data, analyze and process the acquired data based on the data processing logic corresponding to the assigned data analysis task to obtain the presentation content corresponding to the assigned data analysis task. A data request management unit is configured to receive a data request from the task execution unit; determine whether the data request is a duplicate request; in response to determining that the data request is a duplicate request, return cached data corresponding to the data request to the task execution unit; and in response to determining that the data request is not a duplicate request, obtain data corresponding to the data request from the server, cache the data, and return the data to the task execution unit.
16. The apparatus according to claim 15, wherein, The task queue includes: a candidate queue and an execution queue; The task management unit further includes: a window listener, used to monitor whether the display area of the data analysis module corresponding to the data analysis task in the candidate queue has entered the user's window for a preset duration; wherein, The step of distributing the data analysis tasks to one or more task execution units according to the task queue includes: increasing the priority of the first candidate data analysis task in response to the window listener determining that the display area of the data analysis module corresponding to the first candidate data analysis task in the first data analysis report has entered the user's window for the preset duration; decreasing the priority of the second candidate data analysis task in response to the window listener determining that the display area of the data analysis module corresponding to the second candidate data analysis task in the first data analysis report has moved from within the user's window to outside the user's window for the preset duration; adding the data analysis tasks in the candidate queue to the execution queue in sequence in response to determining that the number of data analysis tasks in the execution queue has not reached a preset maximum number; and distributing the data analysis tasks to one or more task execution units according to the execution queue.
17. An electronic device comprising: A memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor, when executing the computer program, implements the data processing method as described in any one of claims 1-12.
18. A non-transitory computer-readable storage medium storing computer instructions for causing a computer to perform the data processing method according to any one of claims 1-12.
19. A computer program product comprising computer program instructions that, when executed on a computer, cause the computer to perform the data processing method as described in any one of claims 1-12.