A financial reporting method and system
By deploying computing clusters and thread pools for parallel processing in the financial system, the problem of low cost allocation calculation efficiency in traditional financial systems is solved, and efficient and accurate allocation result generation and report output are achieved.
Patent Information
- Application Number
- CN202210223712.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-09
- Publication Date
- 2025-09-23
- Estimated Expiration
- 2042-03-09
AI Technical Summary
Traditional financial systems are extremely inefficient when calculating cost allocation, especially when processing hundreds of thousands of data items to be allocated for hundreds of budget items. The calculation frequency can reach hundreds of millions of times, resulting in low computing efficiency.
The financial system is deployed in a computing cluster consisting of multiple servers. Data is packaged in batches and processed in parallel. Message middleware and cache are used to optimize data transmission and calculation. Thread pools are used to process data in parallel to avoid computing pressure on a single server.
It improves the efficiency of cost allocation calculation, reduces the computing burden of a single server, enhances the stability and scalability of the system, and ensures the accuracy of allocation results and the rapid generation of reports.
Smart Images

Figure CN114816729B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of algorithm design, and in particular to a financial reporting method and system. Background Art
[0002] Currently, most companies have financial reporting systems that display their profitability. These reports are typically divided into three main sections: revenue, costs, and profit. Public costs, in particular, should not be allocated to specific projects in a city, sub-unit, or region, nor should they be allocated entirely to a single project. Instead, they should be allocated across all projects according to specific rules. For example, asset management is managed according to inventory. Each public cost should be allocated to a specific account. Financial systems have a vast array of accounting items, and each budget item requires allocation calculations. After data processing, hundreds of thousands of data items are processed for allocation, and then dozens of these data items are allocated to hundreds of budget items, with the calculation frequency reaching hundreds of millions. This makes traditional financial systems extremely inefficient when performing allocation calculations. Therefore, improving the efficiency of cost allocation calculations is a pressing issue. Summary of the Invention
[0003] In view of this, embodiments of the present invention provide a financial reporting method and system, thereby improving the efficiency of cost allocation calculation.
[0004] According to the first aspect, an embodiment of the present invention provides a financial reporting method, which is applied to the production end, and the method includes: obtaining cost data to be allocated, and packaging the cost data in batches into multiple first data packets; obtaining common data for report calculation, and storing the common data in a cache end; sending the multiple first data packets to a message middleware; receiving allocation results returned by multiple server ends, and aggregating the multiple allocation results to obtain an allocation report, wherein the allocation result is obtained by multiple server ends respectively reading the common data in the cache end and the first data packet in the message middleware, and performing a cost allocation operation on the first data packet based on the common data, and the server end is a computing device belonging to a computing cluster.
[0005] Optionally, the method also includes: packaging the data in the allocation report into multiple second data packets in batches; sending the multiple second data packets to the message middleware; receiving calculation results returned by multiple server ends, and aggregating the multiple calculation results to obtain a cost report, wherein the calculation results are obtained by multiple server ends respectively reading the common data in the cache and the second data packets in the message middleware, and performing cost merging and / or indicator calculations on the second data packets based on the common data.
[0006] Optionally, packaging the cost data into a plurality of first data packets in batches includes: splitting the cost data into a plurality of first data packets based on a business type of the cost data, wherein the business type is used to characterize a business activity corresponding to the generation of the cost data.
[0007] According to the second aspect, an embodiment of the present invention provides a financial reporting method, which is applied to a server side, and the server side is a computing device belonging to a computing cluster. The method includes: reading a first data packet from a message middleware, the first data packet is sent by a production side to the message middleware, and the first data packet is generated by the production side by batch packaging the acquired cost data to be allocated; reading public data for report calculation from a cache side, and the public data is stored in the cache side by the production side; performing a cost allocation operation on the first data packet based on the public data; and returning the allocation result to the production side, so that the production side can summarize the multiple allocation results received from each server side to obtain an allocation report.
[0008] Optionally, performing a cost sharing operation on the first data packet based on the common data includes: splitting the first data packet into multiple threads, and simultaneously performing a cost sharing operation on data within the threads based on the common data in the multiple threads.
[0009] Optionally, returning the allocation result to the production end includes: when the current thread ends, determining whether the current thread is the last thread to perform the allocation operation; if the current thread is the last thread to perform the allocation operation, packaging the results generated by each thread into the allocation result and returning it to the production end.
[0010] Optionally, the method also includes: reading a second data packet from the message middleware, the second data packet is sent by the production end to the message middleware, and the second data packet is generated by the production end by batch packaging the data in the allocation report; reading the public data from the cache end; performing cost merging and / or indicator calculation on the second data packet based on the public data to obtain a calculation result; returning the calculation result to the production end, so that the production end can summarize multiple calculation results received from each server end to obtain a cost report.
[0011] Optionally, the cost merging and / or index calculation on the second data packet based on the common data includes: splitting the second data packet into multiple threads, and simultaneously performing cost merging and / or index calculation on the data within the threads based on the common data in the multiple threads.
[0012] Optionally, returning the calculation result to the production end includes: when the current thread ends, determining whether the current thread is the last thread to perform cost merging and / or indicator calculations; if the current thread is the last thread to perform cost merging and / or indicator calculations, packaging the results generated by each thread into the calculation result and returning it to the production end.
[0013] According to the third aspect, an embodiment of the present invention provides a financial reporting system, which includes a production end and a computing cluster, and multiple server ends are deployed in the computing cluster, wherein: the production end obtains the cost data to be allocated, and packages the cost data into multiple first data packets in batches; the production end obtains the common data used for report calculation, and stores the common data in the cache end; the production end sends the multiple first data packets to the message middleware; the multiple server ends respectively read the common data in the cache end and the first data packet in the message middleware, and perform cost allocation operations on the first data packet based on the common data to obtain allocation results; the multiple server ends feed back the obtained allocation results to the production end; the production end receives the allocation results returned by each server end, and summarizes the multiple allocation results to obtain an allocation report.
[0014] The technical solution provided by this application has the following advantages:
[0015] The technical solution provided by this application deploys the financial system in a computing cluster built by multiple servers. First, the production end obtains a large amount of cost data to be apportioned, and then sends the data to multiple server ends by packaging the data in batches, so that each server end can apportion a large amount of cost data in parallel, and then return the apportionment results to the production end. The production end then summarizes all the apportionment results to obtain an accurate total apportionment result. This avoids the financial system using a single server device to calculate cost apportionment, thereby improving the efficiency of cost apportionment. When performing report calculations, the public data required for each project is stored in the cache end, thereby avoiding the need for the production end to repeatedly send public data each time calculation is performed, thereby further improving the efficiency of output reports.
[0016] In addition, the present invention further processes the data in each server in parallel in multiple threads based on the "divide and conquer" idea of the thread pool in each server, preventing excessive resource usage of a single thread (such as high memory usage), improving the stability of the system, and further improving the efficiency of cost data sharing. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The features and advantages of the present invention will be more clearly understood by referring to the accompanying drawings, which are schematic and should not be construed as limiting the present invention in any way. In the accompanying drawings:
[0018] Figure 1 A schematic diagram of the structure of a financial reporting system in one embodiment of the present invention is shown;
[0019] Figure 2 A schematic flow chart of a financial reporting method in one embodiment of the present invention is shown;
[0020] Figure 3 A schematic diagram showing the steps of a financial reporting method according to one embodiment of the present invention is shown;
[0021] Figure 4 Another schematic flow chart of a financial reporting method according to one embodiment of the present invention is shown;
[0022] Figure 5 A schematic diagram of a production process of a financial reporting method according to an embodiment of the present invention is shown;
[0023] Figure 6 Another flow chart of the production end of a financial statement method in one embodiment of the present invention is shown. DETAILED DESCRIPTION
[0024] To make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without making creative efforts shall fall within the scope of protection of the present invention.
[0025] See also Figure 1 In one embodiment, a financial reporting system includes a production terminal 1 and a computing cluster 2, wherein the computing cluster 2 is deployed with multiple server terminals 3, wherein:
[0026] The production end 1 obtains the cost data to be allocated and packages the cost data into multiple first data packets in batches;
[0027] Production side 1 obtains the public data used for report calculation and stores the public data in the cache side;
[0028] The producer 1 sends multiple first data packets to the message middleware;
[0029] The multiple servers 3 respectively read the public data in the cache and the first data packet in the message middleware, and perform a cost allocation operation on the first data packet based on the public data to obtain an allocation result;
[0030] Multiple server ends 3 feed back the obtained allocation results to the production end 1;
[0031] The production end 1 receives the allocation results returned by each server end 3, and summarizes the multiple allocation results to obtain an allocation report.
[0032] Specifically, to improve the efficiency of the financial system in cost allocation, this embodiment deploys the financial system in a device system consisting of a computing cluster 2 composed of multiple servers 3 and a production client 1. The production client 1 and the server 3 include, but are not limited to, personal computers, server devices, etc. The production client 1 serves as a control center, collecting cost data to be allocated, summarizing the allocation results, generating financial reports based on the allocation results, and sending notification messages to the corresponding financial manager's client. The computing cluster 2 includes multiple servers 3, each of which obtains data from the production client 1 through message middleware to perform cost allocation. In this embodiment, the production client 1 packages the collected cost data in batches. Then, using message middleware (including but not limited to Kafka and Rabbit message queues), multiple first data packets are sent to different servers 3, thereby performing cost allocation operations in parallel, significantly improving allocation efficiency. Furthermore, as the data volume increases, the number of servers 3 can be simply increased, improving the system's scalability and concurrency. Furthermore, the use of asynchronous processing does not affect the original business processes and interface calls, making it imperceptible to users and improving the system's versatility. Finally, the allocation results returned by each server 3 are received, and then an allocation report is summarized, that is, which specific project of which company and which specific subject in the project the cost data belongs to, to ensure the accuracy of cost data allocation.
[0033] In this embodiment, the production end also processes some common data used in the allocation operation, cost consolidation and indicator calculation, such as report item definition information, the formulas most commonly used in the allocation operation, etc., into a key-value format, and then stores it in the cache end (this embodiment is implemented based on the redis cache mechanism). In subsequent steps, the single thread of each server end or each sub-thread in the thread pool can be directly used when processing logic, thereby reducing the execution time of the sub-thread and improving the timeliness of the system.
[0034] In this embodiment, if Figure 2 As shown, Production End 1 also pre-determines the company to which the cost data belongs and incorporates each cost data item into the consolidated company. (Since the group has many subsidiaries, it is necessary to specify which subsidiary the accounting data belongs to, and after the report is generated, it is available for review by the heads of each subsidiary.) This further improves the accuracy of data allocation. Production End 1 then completes the budget items in the cost data. Often, because some general ledger details do not specify budget items, Production End 1 specifies the budget items in the detailed data, further improving the readability of the allocated data and the accuracy of subsequent reviews.
[0035] Through the collaborative cooperation of the above-mentioned components, the technical solution provided by this application deploys the financial system in a computing cluster built by multiple servers. First, the production end obtains a large amount of general ledger data, that is, the cost data to be allocated, and then sends the data to multiple server ends by packaging the data in batches, so that each server end can allocate a large amount of cost data in parallel, and then return the allocation results to the production end. The production end then summarizes all the allocation results to obtain an accurate allocation report. This avoids the financial system using a single server device to calculate cost allocation, thereby improving the efficiency of cost allocation. When performing cost allocation, the public data required for each project is stored in the cache end, thereby avoiding the need for the production end to repeatedly send public data each time calculation is performed, thereby further improving the efficiency of output reports.
[0036] See also Figure 3 and Figure 4 The present invention also provides a financial reporting method, which is applied to Figure 1 In the production end and the service end shown, the production end is used to execute steps S101 to S104, and the service end is used to execute steps S201 to S204.
[0037] Step S101: Acquire cost data to be allocated, and package the cost data into multiple first data packets in batches.
[0038] Step S102: Acquire common data used for report calculation and store the common data in a cache.
[0039] Step S103: Send multiple first data packets to the message middleware.
[0040] Step S201: Read a first data packet from the message middleware.
[0041] Step S202: Read the public data used for report calculation from the cache
[0042] Step S203: performing a cost sharing operation on the first data packet based on the public data.
[0043] Step S204: Return the allocation result to the production end.
[0044] Step S104: Receive the allocation results returned by multiple servers and summarize the multiple allocation results to obtain an allocation report
[0045] Specifically, the detailed principles and descriptions refer to the relevant descriptions of the above system embodiments and will not be repeated here.
[0046] Specifically, in one embodiment, a financial statement method provided by an embodiment of the present invention is applied to a production end and further includes the following steps:
[0047] Step 1: Package the data in the apportionment report into multiple second data packages in batches.
[0048] Step 2: Send multiple second data packets to the message middleware.
[0049] Step three: Receive calculation results returned by multiple servers, and summarize the multiple calculation results to obtain a cost report. The calculation results are obtained by multiple servers reading the common data in the cache and the second data packet in the message middleware respectively, and performing cost merging and / or indicator calculation on the second data packet based on the common data.
[0050] Specifically, in this embodiment, after the cost data is accurately allocated to the bottom layer (i.e., different projects and different subjects of different companies) through steps S101 to S103, the allocated data is further consolidated. For example, the levels of different projects and subjects are different, and the allocated data at the bottom layer needs to be consolidated to higher levels to obtain the allocation results of each higher level. In addition, different projects have different expenditure rules and different usage details for the corresponding costs, so different indicator calculations are performed on the cost data to obtain report contents including but not limited to the budget and expenditure plan for the next year, thereby improving the convenience of analysis for financial personnel. In this embodiment, the data in the allocation report is packaged into multiple second data packets using the same method as the cost allocation logic, and then distributed to different server ends for processing through the message middleware, thereby realizing the cost report work and improving the efficiency of the report calculation. The specific principles can be referred to the specific description of the above steps S101 to S104, which will not be repeated here.
[0051] Specifically, in one embodiment, the above step S101 specifically includes the following steps:
[0052] Step 5: Split the cost data into multiple first data packets based on their business type. The business type characterizes the business activity that generated the cost data. Specifically, in this embodiment, data is split into different business lines based on their business type (e.g., asset management data, contract data, etc.). This not only prepares for the subsequent distribution of data packets, but also facilitates data verification by financial personnel based on business type.
[0053] Specifically, in one embodiment, the above step S202 specifically includes the following steps:
[0054] Step 6: Split the first data packet into multiple threads, and simultaneously perform cost sharing operations on the data within the threads based on the common data in the multiple threads. Specifically, in this embodiment, a thread pool is set up in the server, and the server service listens for messages in the message middleware. After the server receives the message, it starts the thread pool and lets the child threads of the thread pool perform calculations. After receiving the first data packet sent by the production end, multiple threads are called to simultaneously perform data sharing operations on the first data packet, thereby further improving the efficiency of data sharing and preventing the problem of excessive data volume and data backlog.
[0055] Specifically, in one embodiment, based on the above step 6, step S203 specifically includes the following steps:
[0056] Step 7: When the current thread ends, determine whether the current thread is the last thread to perform the allocation operation.
[0057] Step 8: If the current thread is the last thread to perform the allocation operation, the results generated by each thread are packaged into an allocation result and returned to the production end.
[0058] Specifically, in this embodiment, when processing cost data based on the thread pool, a batch of threads are usually called, and the processing speed of each thread is different. On the one hand, in order to avoid slow system response due to excessive data communication times, and on the other hand, in order to ensure data integrity, every time a thread finishes processing its current data, it is determined whether the thread is the last working thread in the current batch of threads. If not, the current thread ends directly. If so, the apportionment results of each thread are integrated, and the apportionment results are packaged and sent to the production end, so that the production end can further summarize the apportionment results or perform subsequent report calculations.
[0059] Specifically, in one embodiment, a financial reporting method provided by an embodiment of the present invention is applied to a server and further includes the following steps:
[0060] Step 9: Read the second data packet from the message middleware. The second data packet is sent from the production end to the message middleware. The production end generates the second data packet by batch packaging the data in the allocation report.
[0061] Step 10: Read public data from the cache.
[0062] Step 11: performing cost merging and / or index calculation on the second data packet based on the public data to obtain a calculation result;
[0063] Step 12: Return the calculation results to the production end so that the production end can summarize the multiple calculation results received from each server to obtain a cost report.
[0064] Specifically, the specific principles of the server-side cost report and indicator calculations are the same as the principles of the allocation operation. Please refer to the description of steps 1 to 3 above and will not be repeated here.
[0065] Specifically, in one embodiment, the above step 11 further includes the following steps:
[0066] Step 13: Split the second data packet into multiple threads, and simultaneously perform cost merging and / or index calculations on the data within the threads based on the common data in the multiple threads. Specifically, the principles of the multi-threaded calculation steps for the data report are the same as those for the apportionment operation. Please refer to the description of step 6 above and will not be repeated here.
[0067] Specifically, in one embodiment, the above step twelve further includes the following steps:
[0068] Step 14: When the current thread ends, determine whether the current thread is the last thread to perform cost merging and / or indicator calculation.
[0069] Step 15: If the current thread is the last thread to perform cost merging and / or indicator calculation, the results generated by each thread are packaged as calculation results and returned to the production end.
[0070] Specifically, the specific principles of the steps for returning calculation results based on multi-threading for the cost report are the same as those of the allocation operation. Please refer to the descriptions of steps 7 to 8 above and will not be repeated here.
[0071] Specifically, if Figure 5 As shown, in one embodiment, before performing the allocation operation, the production side further performs the following processing on the asset management data:
[0072] 1. Import and adjust data: After checking the data, the production side finds that the data is incorrect, adjusts the data, and imports the adjusted data.
[0073] 2. Importing salary data: Usually, accounting information only reflects the company's revenue and some expenses, and does not include employee salaries, marketing, functional expenses, etc. Asset management data requires the support of this part of data, so additional import is required.
[0074] 3. Data integration: Notify the data warehouse to integrate the data and push the processed data to the designated table.
[0075] 4. Binding Rules: Because financial report items are constantly changing based on business development, and different business activities correspond to different financial calculation rules, the rules for binding report items are also constantly changing. Therefore, it's necessary to specify a specific version of rules to ensure accurate report calculations. If rule binding fails during report calculation, rebinding is required.
[0076] After steps 1 through 4, the processed data is distributed to the server for allocation, cost consolidation, and indicator calculations, generating pipeline reports. After asset management personnel verify that the report information is correct, the report is published and can be received and reviewed by the heads of each business line. Financial systems typically have multiple accounting intervals for processing data across multiple business lines. Once the report for a given accounting interval is correct, closing the accounting interval locks the data and prevents further manipulation to prevent data anomalies.
[0077] Specifically, if Figure 6 As shown, in one embodiment, for asset management data, before sending it to the server for calculation, the production side also performs the following steps:
[0078] 1. Clear the data of the accounting period corresponding to the current business line to avoid data confusion;
[0079] 2. Integrate dimension information and convert horizontal data into list data to make data calculation clearer;
[0080] 3. Import the adjusted data, including the project allocation data and salary data;
[0081] 4. Calculate the revenue ratio based on cost data in advance to facilitate later analysis.
[0082] Afterwards, the adjusted data is sent to the server for allocation, cost consolidation, and indicator calculation. Various reports are generated based on various preset algorithms.
[0083] Specifically, cost reports are generated based on different cost algorithms to further ensure the rationality and accuracy of the data, such as different cost allocation algorithms and discount algorithms corresponding to different tax rates.
[0084] Through the above steps, the technical solution provided by this application deploys the financial system in a computing cluster built by multiple servers. First, the production end obtains a large amount of cost data to be apportioned, and then sends the data to multiple server ends by packaging the data in batches, so that each server end can apportion a large amount of cost data in parallel, and then return the apportionment results to the production end. The production end then summarizes all the apportionment results to obtain an accurate total apportionment result. This avoids the financial system using a single server device to calculate cost apportionment, thereby improving the efficiency of cost apportionment. When performing the apportionment operation, the public data required for each project is stored in the cache end, thereby avoiding the need for the production end to repeatedly send public data each time it is calculated, thereby further improving the efficiency of output reports.
[0085] In addition, the present invention further processes the data in each server in parallel in multiple threads based on the "divide and conquer" idea of the thread pool in each server, preventing excessive resource usage of a single thread (such as high memory usage), improving the stability of the system, and further improving the efficiency of cost data sharing.
[0086] Although the embodiments of the present invention have been described with reference to the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present invention. Such modifications and variations are all within the scope defined by the appended claims.
Claims
1. A financial reporting method, characterized in that: Applied to the production side, the method includes: Acquire cost data to be allocated, and package the cost data in batches into a plurality of first data packets; the packaging of the cost data in batches into a plurality of first data packets includes: splitting the cost data into the plurality of first data packets based on a business type of the cost data, the business type being used to characterize a business activity corresponding to the generation of the cost data; Obtaining public data for report calculation and storing the public data in a cache; Sending the plurality of first data packets to the message middleware; Receive allocation results returned by multiple server ends, and summarize the multiple allocation results to obtain an allocation report, the allocation result is the result obtained by multiple server ends respectively reading the common data in the cache end and the first data packet in the message middleware, and performing a cost allocation operation on the first data packet based on the common data. The server end is a computing device belonging to a computing cluster. The process of the server end performing a cost allocation operation on the first data packet based on the common data includes: splitting the first data packet into multiple threads, and simultaneously performing a cost allocation operation on the data in the threads based on the common data in the multiple threads; when the current thread ends, determine whether the current thread is the last thread to perform the allocation operation; if the current thread is the last thread to perform the allocation operation, then package the results generated by each thread into the allocation result and return it to the production end.
2. The method according to claim 1, characterized in that The method further comprises: Packing the data in the apportionment report into a plurality of second data packets in batches; Sending the plurality of second data packets to the message middleware; Receive calculation results returned by multiple servers, and summarize the multiple calculation results to obtain a cost report. The calculation results are obtained by multiple servers respectively reading the common data in the cache and the second data packet in the message middleware, and performing cost merging and / or indicator calculation on the second data packet based on the common data.
3. A financial reporting method, characterized in that: Applied to a server, which is a computing device belonging to a computing cluster, the method includes: Reading a first data packet from the message middleware, the first data packet being sent by the production end to the message middleware, the first data packet being generated by the production end by batch-packaging the acquired cost data to be allocated; the production end packaging the cost data in batches into a plurality of first data packets, including: splitting the cost data into the plurality of first data packets based on a business type of the cost data, the business type being used to characterize a business activity corresponding to the generation of the cost data; Reading public data for report calculation from the cache end, the public data being stored in the cache end by the production end; Performing a cost sharing operation on the first data packet based on the common data; performing the cost sharing operation on the first data packet based on the common data includes: splitting the first data packet into multiple threads, and simultaneously performing a cost sharing operation on data within the multiple threads based on the common data; Returning the allocation result to the production end so that the production end can summarize the multiple allocation results received from each service end to obtain an allocation report; returning the allocation result to the production end includes: when the current thread ends, judging whether the current thread is the last thread to perform the allocation operation; if the current thread is the last thread to perform the allocation operation, packaging the results generated by each thread into the allocation result and returning it to the production end.
4. The method according to claim 3, characterized in that The method further comprises: Reading a second data packet from the message middleware, the second data packet is sent by the production end to the message middleware, and the second data packet is generated by the production end by packaging the data in the allocation report in batches; Read the public data from the cache end; Performing cost merging and / or index calculation on the second data packet based on the public data to obtain a calculation result; The calculation results are returned to the production end, so that the production end aggregates the multiple calculation results received from the various service ends to obtain a cost report.
5. The method according to claim 4, characterized in that The performing cost merging and / or index calculation on the second data packet based on the public data includes: The second data packet is split into multiple threads, and cost merging and / or index calculation are simultaneously performed on the data within the threads based on the common data in the multiple threads.
6. The method according to claim 5, characterized in that The returning the calculation result to the production end includes: At the end of the current thread, determine whether the current thread is the last thread to perform cost merging and / or indicator calculation; If the current thread is the last thread to perform cost merging and / or index calculation, the results generated by each thread are packaged as the calculation result and returned to the production end.
7. A financial reporting system, characterized in that: The system includes a production end and a computing cluster, wherein multiple server ends are deployed in the computing cluster, wherein: The production end obtains the cost data to be allocated and packages the cost data in batches into a plurality of first data packets; the packaging of the cost data in batches into the plurality of first data packets includes: splitting the cost data into the plurality of first data packets based on a business type of the cost data, the business type being used to characterize the business activity corresponding to the generation of the cost data; The production end obtains public data for report calculation and stores the public data in a cache end; The production end sends the multiple first data packets to the message middleware; The multiple server ends respectively read the common data in the cache end and the first data packet in the message middleware, and perform a cost allocation operation on the first data packet based on the common data to obtain an allocation result; the server end performs a cost allocation operation on the first data packet based on the common data, including: splitting the first data packet into multiple threads, and simultaneously performing a cost allocation operation on the data in the threads based on the common data in the multiple threads; The multiple server ends feed back the obtained allocation results to the production end; the server end returns the allocation result to the production end, including: when the current thread ends, determining whether the current thread is the last thread to perform the allocation operation; if the current thread is the last thread to perform the allocation operation, packaging the results generated by each thread into the allocation result and returning it to the production end; The production end receives the allocation results returned by each service end, and aggregates the multiple allocation results to obtain an allocation report.
Citation Information
Patent Citations
Big data processing method and big data processing device
CN105488134A
Financial data processing method and system
CN113626527A