A report calculation method, device and medium

By constructing a task scheduling and execution log table and allocating computation tasks using multiple threads, the problem of low report calculation efficiency was solved, achieving rational utilization of server resources and improving computation efficiency.

CN115480841BActive Publication Date: 2026-06-30INSPUR GENERSOFT CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
INSPUR GENERSOFT CO LTD
Filing Date
2022-09-28
Publication Date
2026-06-30

AI Technical Summary

Technical Problem

In report calculation scenarios, single-threaded mode takes a long time, while multi-threaded mode leads to excessive CPU and memory usage on the server, resulting in low calculation efficiency and a poor user experience.

Method used

By pre-building a task scheduling and operation log table, and rationally allocating computing tasks according to the server's running and idle status using a multi-threaded mode, and using thread pool technology for refined calculations, the overload of a single server can be avoided.

Benefits of technology

It improves the concurrency and efficiency of report calculation, reduces calculation time, and enhances the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115480841B_ABST
    Figure CN115480841B_ABST
Patent Text Reader

Abstract

This application discloses a report calculation method, device, and medium. The method includes: obtaining a report calculation request from a client and calling a task scheduling operation log table; determining the running status of each application server based on the task scheduling operation log table; determining the idle status of each application server based on its running status using a preset idle status judgment algorithm; determining the calculation task for each application server in response to the report calculation request based on its idle status; and calculating the report based on the calculation task of each application server. After receiving the report calculation request, the server understands the running status of each application server based on the task scheduling operation log table and continues to determine the idle status of each application server using the preset idle status judgment algorithm. This automatically and reasonably allocates the report calculation workload to each application server, improving report calculation efficiency, especially under large-scale report calculations.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of report technology, and in particular to a report calculation method, device and medium. Background Technology

[0002] With the development of enterprise information system integration and enterprise e-commerce system construction, reports play an important role as an important information carrier in enterprise systems.

[0003] Currently, in report calculation scenarios, a single-threaded mode is typically chosen. However, this can be time-consuming when the report calculation workload is large. In such cases, a multi-threaded mode is usually used on a single server to split the calculation tasks. However, this leads to high CPU and memory usage on that server, while other servers remain idle, resulting in low report calculation efficiency and a poor user experience. Summary of the Invention

[0004] This application provides a report calculation method, device, and medium to solve the problem of low report calculation efficiency, which leads to a poor user experience.

[0005] The embodiments of this application adopt the following technical solutions:

[0006] On one hand, embodiments of this application provide a report calculation method, which includes: obtaining a report calculation request from a client; calling a pre-built task scheduling and running log table according to the report calculation request; determining the running status of each application server according to the task scheduling and running log table; determining the idle status of each application server according to the running status of each application server by using a preset idle status judgment algorithm; determining the calculation task of each application server for the report calculation request according to the idle status of each application server; and calculating the report according to the calculation task of each application server.

[0007] In one example, before determining the running status of each application server based on the task scheduling operation log table, the method further includes: multiplying the number of units included in the report calculation request by the number of reports per unit to determine the total computational load of the report calculation request; determining the running status of each application server based on the task scheduling operation log table specifically includes: querying the computational load currently running for each application server from the task scheduling operation log table to determine the running status of each application server.

[0008] In one example, determining the idle state of each application server based on its running status using a preset idle state judgment algorithm specifically includes: determining the total computing power currently running across multiple application servers; determining the total ideal computing power across multiple application servers based on the total computing power and the total running computing power; determining the ideal computing power of each application server based on the total ideal computing power and the total number of application servers; determining the idle computing power of each application server based on the ideal computing power and the computing power currently running on each application server; and determining the idle state of each application server based on its idle computing power.

[0009] In one example, the method further includes: summing the computational load currently running by each application server to obtain the total computational load currently running by multiple application servers; summing the total computational load and the total computational load currently running to determine the total ideal computational load of multiple application servers; calculating the ratio between the total ideal computational load of multiple application servers and the total number of multiple application servers to determine the ideal computational load of each application server; and subtracting the ideal computational load of each application server from the computational load currently running by each application server to determine the idle computational load of each application server.

[0010] In one example, the step of calculating the report based on the computing tasks of each application server specifically includes: creating multiple threads in the main thread; calling the service interface of each application server in each thread; distributing the computing tasks of each application server to each application server through the service interface; and collecting the task execution results of each application server through the main thread, so as to calculate the report based on the task execution results of each application server.

[0011] In one example, after the computational task of each application server is distributed to each application server, the method further includes: each application server creating a thread in a thread pool, with units as the granularity, for each unit in the computational task, and executing the computational subtask of each unit through each thread; recording the log data generated in the execution of the computational subtask of each unit into the task scheduling and running log table to generate log information of the computational subtask; deleting the log information of the computational subtask in the task scheduling and running log table after the execution of the computational subtask of each unit is completed; collecting the execution results of the computational subtask of each unit to obtain the task execution result of the computational task, and returning the task execution result to the main thread.

[0012] In one example, the method further includes: creating multiple threads in the main thread using the Task component; and in each thread, calling the service interface of each application server via Web Services.

[0013] In one example, before invoking a pre-built task scheduling operation log table according to the report calculation request, the method further includes: determining the fields of the task scheduling operation log table to be constructed; the fields include at least one of an ID column, an application server identifier column, a task number, a year, a period, a unit, and a report; determining the business rules for the fields; the business rule for the ID column is a unique log identifier, the business rule for the application server identifier column is a unique identifier for the application server, the business rule for the task number is the identifier of the task currently being calculated, the business rule for the year is the identifier of the year currently being calculated, the business rule for the period is the identifier of the period currently being calculated, the business rule for the unit is the identifier of the unit currently being calculated, and the business rule for the report is the identifier of the report currently being calculated; determining the field type of the fields; and constructing the task scheduling operation log table according to the fields, the business rules, and the field types.

[0014] On the other hand, embodiments of this application provide a report calculation device, including: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to: obtain a report calculation request from a client; invoke a pre-built task scheduling operation log table according to the report calculation request; determine the running status of each application server according to the task scheduling operation log table; determine the idle status of each application server according to the running status of each application server using a preset idle status judgment algorithm; determine the calculation task of each application server for the report calculation request according to the idle status of each application server; and calculate the report according to the calculation task of each application server.

[0015] On the other hand, embodiments of this application provide a non-volatile computer storage medium for report calculation, storing computer-executable instructions. These computer-executable instructions are configured to: obtain a report calculation request from a client; invoke a pre-built task scheduling and execution log table according to the report calculation request; determine the running status of each application server according to the task scheduling and execution log table; determine the idle status of each application server according to the running status of each application server using a preset idle status judgment algorithm; determine the calculation task for each application server in response to the report calculation request according to the idle status of each application server; and calculate the report according to the calculation task of each application server.

[0016] The above-described technical solutions adopted in the embodiments of this application can achieve the following beneficial effects:

[0017] By pre-building a task scheduling and execution log table, the server can understand the running status of each application server after receiving a report calculation request. It then uses a preset idle status judgment algorithm to determine the idle status of each application server. This enables the automatic and reasonable allocation of report calculation workload to each application server. Especially in large-scale report calculation application scenarios, this prevents excessively high CPU and memory usage on any one application server, which could affect the response of other tasks on that application server. This improves the concurrency rate of report calculation, reduces concurrent calculation time, optimizes performance, increases report calculation efficiency, and enhances the user experience. Attached Figure Description

[0018] To more clearly illustrate the technical solution of this application, some embodiments of this application will be described in detail below with reference to the accompanying drawings, in which:

[0019] Figure 1 A flowchart illustrating a report calculation method provided in an embodiment of this application;

[0020] Figure 2 A schematic diagram illustrating report calculation in an application scenario provided by an embodiment of this application;

[0021] Figure 3 This is a schematic diagram of the structure of a report calculation device provided in an embodiment of this application. Detailed Implementation

[0022] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0023] Some embodiments of this application will now be described in detail with reference to the accompanying drawings.

[0024] Figure 1 This is a flowchart illustrating a report calculation method provided in an embodiment of this application. This method can be applied to various business areas, such as internet finance, e-commerce, instant messaging, gaming, and government services. Certain input parameters or intermediate results in this process can be manually adjusted to help improve accuracy.

[0025] The analysis method involved in the embodiments of this application can be implemented by a terminal device or a server, and this application does not impose any special limitations on it. For ease of understanding and description, the following embodiments are all described in detail using a server as an example.

[0026] It should be noted that the server can be a single device or a system composed of multiple devices, i.e., a distributed server. This application does not make any specific limitations on this.

[0027] Figure 1 The process may include the following steps:

[0028] S102: Obtain the client's report calculation request.

[0029] The report calculation request includes the number of units and the number of reports per unit. Multiplying the number of units by the number of reports per unit determines the total report calculation amount of the report calculation request.

[0030] S104: Based on the report calculation request, call the pre-built task scheduling and running log table.

[0031] In some embodiments of this application, when constructing the task scheduling operation log table, the fields of the task scheduling operation log table to be constructed are first determined; the fields include at least one of the following: ID column, application server identifier column, task number, year, period, unit, and report;

[0032] Next, determine the business rules for the fields. Among them, the business rule for the ID column is a unique log identifier; the business rule for the application server identifier column is a unique application server identifier; the business rule for the task number is the identifier of the task currently being calculated; the business rule for the year is the identifier of the year currently being calculated; the business rule for the period is the identifier of the period currently being calculated; the business rule for the unit is the identifier of the unit currently being calculated; and the business rule for the report is the identifier of the report currently being calculated.

[0033] In addition, the field types need to be determined so that the task scheduling operation log table can be constructed based on the fields, business rules, and field types. For a more intuitive understanding, the task scheduling operation log table is shown in Table 1.

[0034]

[0035] It should be noted that the task scheduling log table is used to record information such as the unit, report, year, and period being calculated. The application server records a log in this table before each specific calculation task is executed; the corresponding log is deleted after the calculation task is completed.

[0036] S106: Determine the running status of each application server based on the task scheduling operation log table.

[0037] Specifically, the computational load of each application server is queried from the task scheduling log table to determine the running status of each application server.

[0038] S108: Based on the running status of each application server, determine the idle status of each application server using a preset idle status judgment algorithm.

[0039] In some embodiments of this application, when determining the idle state of each application server by using a preset idle state judgment algorithm, it is first necessary to determine the total amount of computing power being used by multiple application servers.

[0040] Then, based on the total computational load and the total runtime computational load, the total ideal computational load for multiple application servers is determined.

[0041] Then, based on the total ideal computational load of multiple application servers and the total number of application servers, the ideal computational load of each application server is determined.

[0042] Then, based on the ideal computing power of each application server and the computing power that each application server is currently running, the idle computing power of each application server is determined.

[0043] Finally, based on the idle computing load of each application server, the idle status of each application server is determined. By combining the running status of each application server with the current report calculation request, the idle status of each application server can be effectively predicted.

[0044] More specifically, when determining the idle computing power of each application server, the computing power currently running on each application server is first summed to obtain the total computing power currently running on multiple application servers.

[0045] Then, the total computational cost and the total running computational cost are summed to determine the total ideal computational cost for multiple application servers.

[0046] Then, the ratio between the total ideal computational load of multiple application servers and the total number of application servers is calculated to determine the ideal computational load of each application server. The formula is as follows: a represents the total computational load, b represents the total runtime computational load, s represents the total number of application servers, and c represents the ideal computational load for each application server.

[0047] Finally, the difference between the ideal computational load for each application server and the computational load currently running on each application server is calculated to determine the idle computational load for each application server.

[0048] S110: Determine the calculation task for each application server in response to the report calculation request based on the idle status of each application server.

[0049] The method involves calculating the ratio between the idle computing power of each application server and the total number of report processing requests to determine the number of units to be allocated to each application server. The formula is as follows: e represents the amount of computation currently running on each application server, f represents the total number of reports requested for report computation, and d represents the number of units to be allocated to each application server.

[0050] S112: Calculate the report according to the computing tasks of each application server.

[0051] In some embodiments of this application, multiple threads are created within the main thread. Specifically, these multiple threads are created using the Task component within the main thread.

[0052] Then, within each thread, the service interface of each application server is called. Specifically, each thread remotely calls the service interface of each application server via Web Services. It should be noted that one thread calls the service interface of only one application server.

[0053] Then, through the service interface, the computing tasks of each application server are distributed to each application server.

[0054] Finally, the main thread aggregates the task execution results from each application server to calculate the report based on these results. In other words, the main thread waits for all asynchronous tasks to complete, aggregates the results, returns a notification to the client, and then proceeds to the next step.

[0055] In this process, after each application server receives a call, it uses a thread pool to create threads for each unit of the computational task, with each thread executing the computational subtask for that unit. In other words, each application server further breaks down and refines the computational task at the unit level for parallel computation.

[0056] Then, the log data generated in the computational subtasks of each unit is recorded in the task scheduling and execution log table, generating log information for the computational subtasks. For example, the application server records information such as the unit, report, year, and period corresponding to the computational subtask in the log table.

[0057] Then, after the computational subtask of each unit has been completed, delete the log information of the computational subtask from the task scheduling log table.

[0058] Finally, the execution results of each unit's computational subtasks are aggregated to obtain the task execution result of the computational task, and the task execution result is returned to the main thread.

[0059] It should be noted that, although the embodiments in this application are based on... Figure 1 Steps S102 to S112 will be described sequentially, but this does not mean that steps S102 to S112 must be performed in a strict order. The reason this embodiment follows this order is... Figure 1 The order in which steps S102 to S112 are described is provided to facilitate understanding of the technical solutions of the embodiments of this application by those skilled in the art. In other words, in the embodiments of this application, the order of steps S102 to S112 can be appropriately adjusted according to actual needs.

[0060] pass Figure 1This method, by pre-constructing a task scheduling and execution log table, allows the server to understand the running status of each application server after receiving a report calculation request. It then uses a preset idle status judgment algorithm to determine the idle status of each application server. This enables the automatic and reasonable allocation of report calculation workload to each application server. Especially in large-scale report calculation application scenarios, it prevents excessively high CPU and memory usage on any one application server, which could affect the response of other tasks on that application server. This improves the concurrency rate of report calculation, reduces concurrent calculation time, optimizes performance, improves report calculation efficiency, and enhances the user experience.

[0061] More intuitively, Figure 2 This is a schematic diagram illustrating report calculation in an application scenario provided by an embodiment of this application.

[0062] exist Figure 2 In the process, the client initiates a calculation request that includes 100 units, with 10 reports for each unit.

[0063] The server receives computation requests, retrieves the task scheduling log table, and uses an idle status judgment algorithm to determine the idle status of each application server. Assuming that server A is currently running computation tasks for 250 reports, server B is currently running computation tasks for 400 reports, and server C is currently running computation tasks for 350 reports, then computation tasks for 42, 27, and 31 units are distributed to servers A, B, and C respectively through WebServices technology.

[0064] The calculation process is as follows: The ideal computational load for each server is:

[0065] The number of units to be allocated on server A is:

[0066] The number of units to be allocated to server B is:

[0067] The number of units to be allocated on server C is:

[0068] Server A receives computation tasks (Unit 1 to Unit 42), uses a thread pool, and further breaks down the tasks at the unit level. Multiple threads are created for each unit, and these threads record log information and execute sub-tasks. For example, the computation tasks for Unit 1, Unit 2, and Unit 3 are executed. After each sub-task is completed, its log information is deleted from the task scheduling log table, and the task execution result is returned to the main thread.

[0069] Server B receives computation tasks (units 43 to 69), uses a thread pool, and further breaks down the tasks at the unit level. Multiple threads are created for each unit, and these threads record log information and execute sub-tasks. For example, the computation task for unit 43 is executed, the computation task for unit 44 is executed, and the computation task for unit 45 is executed. After each sub-task is completed, its log information is deleted from the task scheduling log table, and the task execution result is returned to the main thread.

[0070] The C server receives computation tasks (from unit 70 to unit 100), uses a thread pool, and further breaks down the tasks into smaller, more manageable subtasks at the unit level. Multiple threads are created for each unit, and these threads record log information and execute subtasks. For example, the computation task for unit 70 is executed, the task for unit 71 is executed, and the task for unit 72 is executed. After each subtask is completed, its log information is deleted from the task scheduling log table, and the task execution result is returned to the main thread.

[0071] The main thread collects the task execution results from servers A, B, and C, returns the results to the client, and performs subsequent operations.

[0072] Based on the same idea, some embodiments of this application also provide devices and non-volatile computer storage media corresponding to the above methods.

[0073] Figure 3 This application provides a schematic diagram of the structure of a report calculation device, which includes:

[0074] At least one processor; and,

[0075] A memory communicatively connected to the at least one processor; wherein,

[0076] The memory stores instructions executable by the at least one processor, which, when executed by the at least one processor, enable the at least one processor to:

[0077] Obtain the report calculation request from the client;

[0078] Based on the report calculation request, the pre-built task scheduling and running log table is invoked;

[0079] Based on the task scheduling and operation log table, determine the running status of each application server;

[0080] Based on the running status of each application server, the idle status of each application server is determined by a preset idle status judgment algorithm.

[0081] Based on the idle status of each application server, determine the calculation task for each application server in response to the report calculation request;

[0082] The report is calculated based on the computing tasks of each application server.

[0083] Some embodiments of this application provide a report calculation non-volatile computer storage medium storing computer-executable instructions, wherein the computer-executable instructions are configured as follows:

[0084] Obtain the report calculation request from the client;

[0085] Based on the report calculation request, the pre-built task scheduling and running log table is invoked;

[0086] Based on the task scheduling and operation log table, determine the running status of each application server;

[0087] Based on the running status of each application server, the idle status of each application server is determined by a preset idle status judgment algorithm.

[0088] Based on the idle status of each application server, determine the calculation task for each application server in response to the report calculation request;

[0089] The report is calculated based on the computing tasks of each application server.

[0090] The various embodiments in this application are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the device and medium embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the description of the method embodiments.

[0091] The devices and media provided in this application are one-to-one with the methods. Therefore, the devices and media also have similar beneficial technical effects as their corresponding methods. Since the beneficial technical effects of the methods have been described in detail above, the beneficial technical effects of the devices and media will not be repeated here.

[0092] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0093] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0094] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0095] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0096] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0097] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0098] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory 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-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0099] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0100] The above description is merely an embodiment of this application and is not intended to limit this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the technical principles of this application should fall within the protection scope of this application.

Claims

1. A report calculation method, characterized by, The method includes: Obtain the report calculation request from the client; Based on the report calculation request, the pre-built task scheduling and running log table is invoked; Based on the task scheduling and operation log table, determine the running status of each application server; Based on the running status of each application server, the idle status of each application server is determined by a preset idle status judgment algorithm. Based on the idle status of each application server, determine the calculation task for each application server in response to the report calculation request; The report is calculated based on the computing tasks of each application server; The step of calculating the report based on the computing tasks of each application server specifically includes: Create multiple threads within the main thread; In each thread, the service interface of each application server is called; The computing tasks of each application server are distributed to each application server through the service interface. The main thread collects the task execution results of each application server, and calculates the report based on the task execution results of each application server. After the computational task of each application server is distributed to each application server, the method further includes: Each application server creates a thread in the thread pool for each unit of the computing task, with each thread executing the computing subtask of each unit. The log data generated in the execution of each unit's computational subtask is recorded in the task scheduling and running log table to generate the log information of the computational subtask; After the computational subtask of each unit is completed, delete the log information of the computational subtask in the task scheduling and running log table; The execution results of the computational subtasks of each unit are aggregated to obtain the task execution result of the computational task, and the task execution result is returned to the main thread; Before determining the running status of each application server based on the task scheduling and running log table, the method further includes: The total computational load of the report calculation request is determined by multiplying the number of units included in the report calculation request by the number of reports per unit. The step of determining the running status of each application server based on the task scheduling and running log table specifically includes: From the task scheduling operation log table, query the amount of computation being performed by each application server to determine the running status of each application server; The step of determining the idle state of each application server based on its operating status using a preset idle state judgment algorithm specifically includes: Determine the total amount of computation being run across multiple application servers; Based on the total computational load and the total operational computational load, determine the total ideal computational load for multiple application servers; The ideal computing power of each application server is determined based on the total ideal computing power of the multiple application servers and the total number of the multiple application servers. The idle computing power of each application server is determined based on the ideal computing power of each application server and the computing power that each application server is currently running. The idle state of each application server is determined based on its idle computing power.

2. The method of claim 1, wherein, The method further includes: The total amount of computation being performed by each application server is summed to obtain the total amount of computation being performed by multiple application servers. The total computational load and the total runtime computational load are summed to determine the total ideal computational load for multiple application servers; Calculate the ratio between the total ideal computing power of the multiple application servers and the total number of the multiple application servers, and determine the ideal computing power of each application server; The idle computing power of each application server is determined by calculating the difference between the ideal computing power of each application server and the computing power currently running on each application server.

3. The method of claim 1, wherein, The method further includes: In the main thread, multiple threads are created using the Task component; In each thread, the service interface of each application server is called via Web Services.

4. The method of claim 1, wherein, Before invoking the pre-built task scheduling runtime log table based on the report calculation request, the method further includes: Determine the fields of the task scheduling and operation log table to be constructed; the fields include at least one of the following: ID column, application server identifier column, task number, year, period, unit, and report; The business rules for the fields are determined as follows: the business rule for the ID column is a unique log identifier; the business rule for the application server identifier column is a unique application server identifier; the business rule for the task number is the identifier of the task currently being calculated; the business rule for the year is the identifier of the year currently being calculated; the business rule for the period is the identifier of the period currently being calculated; the business rule for the unit is the identifier of the unit currently being calculated; and the business rule for the report is the identifier of the report currently being calculated. Determine the field type of the field; The task scheduling and execution log table is constructed based on the fields, the business rules, and the field types.

5. A report computing device, comprising: include: At least one processor; as well as, A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, which, when executed by the at least one processor, enables the at least one processor to: perform a report calculation method as described in any one of claims 1-4.

6. A report computing non-transitory computer storage medium storing computer- executable instructions, the method comprising: The computer-executable instructions are configured to execute a report calculation method as described in any one of claims 1-4.