An asynchronous account reconciliation processing method, device, apparatus and storage medium

By using asynchronous reconciliation processing methods, the problems of inconsistent data formats, complex rules, and low efficiency in the reconciliation platform are solved, enabling fast and flexible reconciliation processing and report display.

CN116737761BActive Publication Date: 2026-06-05PING AN BANK CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
PING AN BANK CO LTD
Filing Date
2023-06-08
Publication Date
2026-06-05

AI Technical Summary

Technical Problem

Existing reconciliation platforms suffer from issues such as inconsistent data formats, large and continuously generated data volumes, complex reconciliation rules, slow reconciliation processing modules, and incomplete report display.

Method used

An asynchronous reconciliation process is adopted, which involves acquiring the data to be reconciled, cleaning the data, configuring the Drools rule engine, multi-threaded processing, and report display to achieve unified data format and asynchronous reconciliation.

Benefits of technology

It improves reconciliation speed, solves the problems of complex reconciliation rules and low efficiency of single-threaded operation, and provides flexible reporting capabilities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116737761B_ABST
    Figure CN116737761B_ABST
Patent Text Reader

Abstract

The application discloses an asynchronous account reconciliation processing method and device, equipment and a storage medium. The method comprises the following steps: obtaining first to-be-reconciled data; performing data cleaning on the first to-be-reconciled data to obtain second to-be-reconciled data in a unified data format and store the second to-be-reconciled data in a database; configuring a preset reconciliation rule based on a rule engine drools; matching the second to-be-reconciled data with the preset reconciliation rule, performing asynchronous reconciliation processing according to a preset reconciliation task multi-thread, and obtaining a reconciliation result. Through the asynchronous multi-thread mode, the reconciliation speed is greatly improved, the to-be-reconciled data in different formats is cleaned in a unified data format, and the technical problems of the current reconciliation platform, such as only a database mode, complex reconciliation rules and low single-thread reconciliation efficiency, are solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of financial technology, and in particular to an asynchronous reconciliation processing method, apparatus, device, and storage medium. Background Technology

[0002] With the development of computer services, the collaboration between various systems is becoming increasingly close, and the demand for data consistency between systems is also increasing. In particular, the financial industry has a large volume and complex data characteristics, making the requirements and rules for reconciliation more complicated. Therefore, a more reasonable reconciliation processing system is needed to support it.

[0003] Common reconciliation platforms have the following problems:

[0004] 1. There are too many data types, and the data formats generated by different systems are different. They need to be processed before they can enter the reconciliation process. Many reconciliation platforms only have a database mode.

[0005] 2. The data volume is large and continuously generated, requiring a continuously retrieval API interface or configuration.

[0006] 3. The reconciliation rules are complex, requiring a complex and flexible rule model.

[0007] 4. The reconciliation processing module is slow. Many reconciliation platforms only use a single thread for reconciliation, which takes a long time.

[0008] 5. Incomplete report display; many reconciliation platforms do not support report customization. Summary of the Invention

[0009] This application provides an asynchronous reconciliation processing method, apparatus, device, and storage medium, which solves the technical problems of current reconciliation platforms, such as the reliance on a database model, complex reconciliation rules, and low efficiency of single-threaded reconciliation.

[0010] In view of this, the first aspect of this application provides an asynchronous reconciliation processing method, the method comprising:

[0011] S1. Obtain the first set of accounts to be reconciled;

[0012] S2. Perform data cleaning on the first reconciliation data to obtain the second reconciliation data in a unified data format and store it in the database;

[0013] S3, based on the rule engine Drools, configures preset reconciliation rules;

[0014] S4. Match the second reconciliation data with the preset reconciliation rules, and perform asynchronous reconciliation processing in a multi-threaded manner according to the preset reconciliation task to obtain the reconciliation result.

[0015] Optionally, step S1 specifically includes:

[0016] The system retrieves reconciliation data files and the first reconciliation data contained in the reconciliation data files from the local directory using Excel, TXT, and SQL methods, and retrieves the first reconciliation data from a remote system or external system using an API.

[0017] Optionally, step S1 further includes:

[0018] The first reconciliation data is stored in a specified directory as a file, and the file information is stored in a MySQL database. The file information includes the file name, file path, file type, file upload time, and file processing status.

[0019] Optionally, step S2 specifically includes:

[0020] The first reconciliation data is parsed into a JAVA object and the data format is standardized to obtain the second reconciliation data. The standardized data format of the second reconciliation data includes the file name, file type, file processing time, field name, and field value.

[0021] Optionally, step S2 further includes:

[0022] Create a data table object, recombine the first reconciliation data according to preset requirements, and obtain the second reconciliation data with a unified data format. The unified data format of the second reconciliation data includes file name, file type, file processing time, field name, and field value. The data table objects are mapped and associated with each other through field names.

[0023] Optionally, step S4 specifically includes:

[0024] The second reconciliation data, processed by multiple threaded data processing executors, is aggregated to generate an aggregated data queue.

[0025] The distribution processor distributes the second reconciliation data contained in the aggregated data queue to multiple business rule processors according to the preset reconciliation tasks, forming multiple reconciliation sub-tasks. The business rule processors then perform rule matching on the second reconciliation data by obtaining the preset reconciliation rules to obtain the reconciliation results.

[0026] Optionally, step S4 may be followed by:

[0027] S5. Based on the reconciliation results, call the preset report template and dynamically generate the report display page based on vue-ui.

[0028] A second aspect of this application provides an asynchronous reconciliation processing apparatus, the apparatus comprising:

[0029] The acquisition unit is used to acquire the first data to be reconciled.

[0030] The data processing unit is used to clean the first reconciliation data to obtain the second reconciliation data in a unified data format and store it in the database.

[0031] The rule configuration unit is used to configure preset reconciliation rules based on the rule engine Drools.

[0032] The reconciliation processing unit is used to match the second reconciliation data with the preset reconciliation rules, perform asynchronous reconciliation processing in multiple threads according to the preset reconciliation task, and obtain the reconciliation result.

[0033] A third aspect of this application provides an asynchronous reconciliation processing device, the device comprising a processor and a memory:

[0034] The memory is used to store program code and transmit the program code to the processor;

[0035] The processor is configured to execute the steps of the asynchronous reconciliation processing method as described in the first aspect above, according to the instructions in the program code.

[0036] A fourth aspect of this application provides a computer-readable storage medium for storing program code for executing the asynchronous reconciliation processing method described in the first aspect above.

[0037] As can be seen from the above technical solutions, the embodiments of this application have the following advantages:

[0038] This application provides an asynchronous reconciliation processing method, apparatus, device, and storage medium. The method includes acquiring first reconciliation data; cleaning the first reconciliation data to obtain second reconciliation data in a unified data format and storing it in a database; configuring preset reconciliation rules based on the rule engine Drools; matching the second reconciliation data with the preset reconciliation rules; and performing asynchronous reconciliation processing in multiple threads according to preset reconciliation tasks to obtain reconciliation results. This application significantly improves reconciliation speed through an asynchronous multi-threaded mode, performs unified data format cleaning on the acquired reconciliation data of different formats, and solves the technical problems of current reconciliation platforms, such as relying solely on a database mode, complex reconciliation rules, and low efficiency of single-threaded reconciliation. Attached Figure Description

[0039] Figure 1 This is a flowchart of the asynchronous reconciliation processing method in the embodiments of this application;

[0040] Figure 2 This is a schematic diagram of the asynchronous reconciliation processing device in the embodiments of this application;

[0041] Figure 3 This is a schematic diagram of the asynchronous reconciliation processing device in the embodiments of this application. Detailed Implementation

[0042] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of the present application.

[0043] This application designs an asynchronous reconciliation processing method, apparatus, device, and storage medium, which solves the technical problems of current reconciliation platforms, such as only having a database mode, complex reconciliation rules, and low efficiency of single-threaded reconciliation.

[0044] For easier understanding, please refer to Figure 1 , Figure 1 This is a flowchart of the asynchronous reconciliation processing method in the embodiments of this application, such as... Figure 1 As shown, specifically:

[0045] S1. Obtain the first set of accounts to be reconciled;

[0046] Furthermore, step S1 specifically includes:

[0047] The system retrieves reconciliation data files and the first reconciliation data contained in the reconciliation data files from the local directory using Excel, TXT, and SQL methods, and retrieves the first reconciliation data from a remote system or external system using an API.

[0048] It should be noted that it supports multiple file format acquisition methods, such as Excel, TXT, SQL, etc., and supports retrieving files from multiple folders and subdirectories. It also provides an API data acquisition method, making it more compatible with remote or external systems.

[0049] In addition, it supports user-defined settings such as acquisition time and frequency.

[0050] Furthermore, step S1 also includes:

[0051] The initial reconciliation data is stored as a file in a specified directory, and the file information is stored in a MySQL database. The file information includes the file name, file path, file type, file upload time, and file processing status.

[0052] It should be noted that the acquired data will be stored in a MySQL database. The data is stored as files in a specified directory, and the MySQL database will store file information, including filename, file path, file type, file upload time, and file processing status.

[0053] S2. Clean the first set of reconciliation data to obtain the second set of reconciliation data in a unified data format and store it in the database.

[0054] Furthermore, step S2 specifically includes:

[0055] Parse the first set of reconciliation data into a Java object and unify the data format to obtain the second set of reconciliation data. The unified data format of the second set of reconciliation data includes the file name, file type, file processing time, field name, and field value.

[0056] It should be noted that the data obtained above for reconciliation is cleaned to obtain the data that users need to reconcile. This data is then parsed from Excel, TXT, SQL, and other formats, processed into a unified data layout and format, and stored in a MySQL database.

[0057] The parsing method involves selecting different parsing strategies based on the file type. Specifically:

[0058] Excel files are parsed using the Apache POI toolkit.

[0059] TXT files are read using Java's I / O streams.

[0060] SQL type files are parsed using SQLParser, which parses the SQL statements into Java objects.

[0061] The parsed data format includes: filename, file type, processing time, field name, and field value. A file can contain multiple records of this format.

[0062] Furthermore, step S2 also includes:

[0063] Create a data table object, recombine the first reconciliation data according to preset requirements, and obtain the second reconciliation data with a unified data format. The unified data format of the second reconciliation data includes file name, file type, file processing time, field name, and field value. Data table objects are mapped and associated with each other through field names.

[0064] It should be noted that, in addition, users can also create new data table objects to recombine different data. The new table objects are mapped and associated through field names, and the previously processed data is combined into a new MySQL view to output the data required by the user.

[0065] S3, based on the rule engine Drools, configures preset reconciliation rules;

[0066] It should be noted that the cleaned data is then introduced into the rule engine Drools, making it easier for users to configure reconciliation rules. Users can configure reconciliation rules using regular expressions, field mapping, and other methods, and multiple rules can be used together.

[0067] S4. Match the second reconciliation data with the preset reconciliation rules, and perform asynchronous reconciliation processing in multiple threads according to the preset reconciliation task to obtain the reconciliation result.

[0068] Furthermore, step S4 specifically includes:

[0069] The second reconciliation data, processed by multiple threaded data processing executors, is aggregated to generate an aggregated data queue.

[0070] The distribution processor distributes the second reconciliation data contained in the aggregated data queue to multiple business rule processors according to the preset reconciliation tasks, forming multiple reconciliation sub-tasks. The business rule processors then obtain the preset reconciliation rules and perform rule matching on the second reconciliation data to obtain the reconciliation results.

[0071] It should be noted that the threaded data processing executor aggregates the data matching the rules and stores it in an aggregated data queue. Each set of executors processes a pair of data, and multiple executors can start simultaneously, up to twice the processing power of a computer's CPU.

[0072] After the data is aggregated by the thread data processing executor, it enters the aggregated data queue, which stores a large amount of preprocessed data that needs to be reconciled.

[0073] The aggregated data queue distributes the information that needs to be reconciled through a distribution processor, forming multiple reconciliation sub-processing tasks.

[0074] After being distributed by the distribution processor, the data enters the business rule processor. The business rule processor dynamically obtains the reconciliation rules and performs rule comparisons. All of this is done asynchronously. Finally, the data is stored in the MySQL database. Multiple business rule processors can be configured for fast reconciliation.

[0075] Furthermore, step S4 is followed by:

[0076] S5. Based on the reconciliation results, call the preset report template and dynamically generate the report display page based on vue-ui.

[0077] It should be noted that the reconciliation results are displayed using preset report templates, and users can also customize the report style and dynamically generate pages based on vue-ui, while also providing a download function.

[0078] Please see Figure 2 , Figure 2 This is a schematic diagram of the asynchronous reconciliation processing device in the embodiments of this application, as shown below. Figure 2 As shown, specifically:

[0079] Acquisition unit 201 is used to acquire the first data to be reconciled;

[0080] The acquisition unit 201 is specifically used to acquire the reconciliation data file and the first reconciliation data contained in the reconciliation data file from the local directory based on Excel, TXT, or SQL, and to acquire the first reconciliation data from a remote system or external system based on API.

[0081] It should be noted that it supports multiple file format acquisition methods, such as Excel, TXT, SQL, etc., and supports retrieving files from multiple folders and subdirectories. It also provides an API data acquisition method, making it more compatible with remote or external systems.

[0082] The acquisition unit 201 is also used to store the first reconciliation data in the form of a file in a specified directory, and to store the file information through a MySQL database. The file information includes the file name, file path, file type, file upload time, and file processing status.

[0083] It should be noted that the acquired data will be stored in a MySQL database. The data is stored as files in a specified directory, and the MySQL database will store file information, including filename, file path, file type, file upload time, and file processing status.

[0084] Data processing unit 202 is used to clean the first reconciliation data to obtain the second reconciliation data in a unified data format and store it in the database;

[0085] The data processing unit 202 is specifically used to parse the first reconciliation data, parse the first reconciliation data into a JAVA object, and unify the data format to obtain the second reconciliation data. The unified data format of the second reconciliation data includes the file name, file type, file processing time, field name, and field value.

[0086] It should be noted that the data obtained above for reconciliation is cleaned to obtain the data that users need to reconcile. This data is then parsed from Excel, TXT, SQL, and other formats, processed into a unified data layout and format, and stored in a MySQL database.

[0087] The parsing method involves selecting different parsing strategies based on the file type. Specifically:

[0088] Excel files are parsed using the Apache POI toolkit.

[0089] TXT files are read using Java's I / O streams.

[0090] SQL type files are parsed using SQLParser, which parses the SQL statements into Java objects.

[0091] The parsed data format includes: filename, file type, processing time, field name, and field value. A file can contain multiple records of this format.

[0092] The data processing unit 202 is also used to create data table objects, recombine the first reconciliation data according to preset requirements, and obtain the second reconciliation data in a unified data format. The unified data format of the second reconciliation data includes file name, file type, file processing time, field name and field value. Data table objects are mapped and associated with each other through field names.

[0093] It should be noted that, in addition, users can also create new data table objects to recombine different data. The new table objects are mapped and associated through field names, and the previously processed data is combined into a new MySQL view to output the data required by the user.

[0094] Rule configuration unit 203 is used to configure preset reconciliation rules based on the rule engine drools;

[0095] It should be noted that the cleaned data is then introduced into the rule engine Drools, making it easier for users to configure reconciliation rules. Users can configure reconciliation rules using regular expressions, field mapping, and other methods, and multiple rules can be used together.

[0096] The reconciliation processing unit 204 is used to match the second reconciliation data with the preset reconciliation rules, and perform asynchronous reconciliation processing in multiple threads according to the preset reconciliation task to obtain the reconciliation result.

[0097] The reconciliation processing unit is specifically used to aggregate the second reconciliation data processed by multiple threaded data processing executors and generate an aggregated data queue.

[0098] The distribution processor distributes the second reconciliation data contained in the aggregated data queue to multiple business rule processors according to the preset reconciliation tasks, forming multiple reconciliation sub-tasks. The business rule processors then obtain the preset reconciliation rules and perform rule matching on the second reconciliation data to obtain the reconciliation results.

[0099] It should be noted that the threaded data processing executor aggregates the data matching the rules and stores it in an aggregated data queue. Each set of executors processes a pair of data, and multiple executors can start simultaneously, up to twice the processing power of a computer's CPU.

[0100] After the data is aggregated by the thread data processing executor, it enters the aggregated data queue, which stores a large amount of preprocessed data that needs to be reconciled.

[0101] The aggregated data queue distributes the information that needs to be reconciled through a distribution processor, forming multiple reconciliation sub-processing tasks.

[0102] After being distributed by the distribution processor, the data enters the business rule processor. The business rule processor dynamically obtains the reconciliation rules and performs rule comparisons. All of this is done asynchronously. Finally, the data is stored in the MySQL database. Multiple business rule processors can be configured for fast reconciliation.

[0103] Furthermore, it also includes:

[0104] The report unit is used to call preset report templates based on reconciliation results and dynamically generate report display pages based on vue-ui.

[0105] It should be noted that the reconciliation results are displayed using preset report templates, and users can also customize the report style and dynamically generate pages based on vue-ui, while also providing a download function.

[0106] This application also provides another asynchronous reconciliation processing device, such as... Figure 3 As shown, for ease of explanation, only the parts related to the embodiments of this application are shown. For specific technical details not disclosed, please refer to the method section of the embodiments of this application. The terminal can be any terminal device including mobile phones, tablets, personal digital assistants (PDAs), point-of-sales terminals (POS), in-vehicle computers, etc. Taking a mobile phone as an example:

[0107] Figure 3 This is a block diagram illustrating a portion of the structure of a mobile phone related to the terminal provided in the embodiments of this application. (Reference) Figure 3The mobile phone includes: a radio frequency (RF) circuit 1010, a memory 1020, an input unit 1030, a display unit 1040, a sensor 1050, an audio circuit 1060, a wireless fidelity (WiFi) module 1070, a processor 1080, and a power supply 1090, etc. Those skilled in the art will understand that... Figure 3 The mobile phone structure shown does not constitute a limitation on the mobile phone and may include more or fewer components than shown, or combine certain components, or have different component arrangements.

[0108] The following is combined Figure 3 A detailed introduction to each component of a mobile phone:

[0109] The RF circuit 1010 can be used for receiving and transmitting signals during information transmission or calls. Specifically, it receives downlink information from the base station and processes it with the processor 1080; additionally, it transmits uplink data to the base station. Typically, the RF circuit 1010 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low-noise amplifier (LNA), a duplexer, etc. Furthermore, the RF circuit 1010 can also communicate wirelessly with networks and other devices. The aforementioned wireless communications may use any communication standard or protocol, including but not limited to Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), email, and Short Messaging Service (SMS).

[0110] The memory 1020 can be used to store software programs and modules. The processor 1080 executes various mobile phone functions and data processing by running the software programs and modules stored in the memory 1020. The memory 1020 may mainly include a program storage area and a data storage area. The program storage area may store the operating system, applications required for at least one function (such as sound playback function, image playback function, etc.), etc.; the data storage area may store data created according to the use of the mobile phone (such as audio data, phonebook, etc.). In addition, the memory 1020 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device.

[0111] The input unit 1030 can be used to receive input numerical or character information, and to generate key signal inputs related to user settings and function control of the mobile phone. Specifically, the input unit 1030 may include a touch panel 1031 and other input devices 1032. The touch panel 1031, also known as a touch screen, can collect touch operations performed by the user on or near it (such as operations performed by the user using a finger, stylus, or any suitable object or accessory on or near the touch panel 1031), and drive the corresponding connection devices according to a pre-set program. Optionally, the touch panel 1031 may include two parts: a touch detection device and a touch controller. The touch detection device detects the user's touch position and the signal generated by the touch operation, and transmits the signal to the touch controller; the touch controller receives touch information from the touch detection device, converts it into touch point coordinates, and sends it to the processor 1080, and can also receive and execute commands sent by the processor 1080. In addition, the touch panel 1031 can be implemented using various types such as resistive, capacitive, infrared, and surface acoustic wave. In addition to the touch panel 1031, the input unit 1030 may also include other input devices 1032. Specifically, other input devices 1032 may include, but are not limited to, one or more of the following: physical keyboard, function keys (such as volume control buttons, power buttons, etc.), trackball, mouse, joystick, etc.

[0112] The display unit 1040 can be used to display information input by the user or information provided to the user, as well as various menus of the mobile phone. The display unit 1040 may include a display panel 1041, which may optionally be configured as a Liquid Crystal Display (LCD), Organic Light-Emitting Diode (OLED), or similar display panel 1041. Further, a touch panel 1031 may cover the display panel 1041. When the touch panel 1031 detects a touch operation on or near it, it transmits the information to the processor 1080 to determine the type of touch event. Subsequently, the processor 1080 provides corresponding visual output on the display panel 1041 according to the type of touch event. Although in Figure 3 In this embodiment, the touch panel 1031 and the display panel 1041 are two separate components to realize the input and output functions of the mobile phone. However, in some embodiments, the touch panel 1031 and the display panel 1041 can be integrated to realize the input and output functions of the mobile phone.

[0113] The mobile phone may also include at least one sensor 1050, such as a light sensor, a motion sensor, and other sensors. Specifically, the light sensor may include an ambient light sensor and a proximity sensor. The ambient light sensor can adjust the brightness of the display panel 1041 according to the ambient light level, and the proximity sensor can turn off the display panel 1041 and / or the backlight when the phone is moved to the ear. As a type of motion sensor, an accelerometer sensor can detect the magnitude of acceleration in various directions (generally three axes). When stationary, it can detect the magnitude and direction of gravity and can be used for applications that recognize the phone's posture (such as landscape / portrait switching, related games, magnetometer posture calibration), vibration recognition-related functions (such as pedometer, taps), etc. Other sensors that may be configured in the mobile phone, such as gyroscopes, barometers, hygrometers, thermometers, and infrared sensors, will not be described in detail here.

[0114] The audio circuit 1060, speaker 1061, and microphone 1062 provide an audio interface between the user and the mobile phone. The audio circuit 1060 converts the received audio data into electrical signals and transmits them to the speaker 1061, where the speaker 1061 converts them into sound signals for output. On the other hand, the microphone 1062 converts the collected sound signals into electrical signals, which are then received by the audio circuit 1060, converted into audio data, and then processed by the processor 1080 before being transmitted via the RF circuit 1010 to, for example, another mobile phone, or the audio data can be output to the memory 1020 for further processing.

[0115] WiFi is a short-range wireless transmission technology. Through the WiFi module 1070, mobile phones can help users send and receive emails, browse web pages, and access streaming media, providing users with wireless broadband internet access. Although Figure 3 The WiFi module 1070 is shown, but it is understood that it is not an essential component of a mobile phone and can be omitted as needed without changing the essence of the invention.

[0116] The processor 1080 is the control center of the mobile phone, connecting various parts of the phone through various interfaces and lines. It executes software programs and / or modules stored in the memory 1020 and calls data stored in the memory 1020 to perform various functions and process data, thereby providing overall monitoring of the phone. Optionally, the processor 1080 may include one or more processing units; preferably, the processor 1080 may integrate an application processor and a modem processor, wherein the application processor mainly handles the operating system, user interface, and applications, and the modem processor mainly handles wireless communication. It is understood that the modem processor may not be integrated into the processor 1080.

[0117] The mobile phone also includes a power supply 1090 (such as a battery) that supplies power to various components. Preferably, the power supply can be logically connected to the processor 1080 through a power management system, thereby enabling functions such as charging, discharging, and power consumption management through the power management system.

[0118] Although not shown, mobile phones may also include a camera, Bluetooth module, etc., which will not be described in detail here.

[0119] In this embodiment of the application, the processor 1080 included in the terminal also has the following functions:

[0120] S1. Obtain the first set of accounts to be reconciled;

[0121] S2. Clean the first set of reconciliation data to obtain the second set of reconciliation data in a unified data format and store it in the database.

[0122] S3, based on the rule engine Drools, configures preset reconciliation rules;

[0123] S4. Match the second reconciliation data with the preset reconciliation rules, and perform asynchronous reconciliation processing in multiple threads according to the preset reconciliation task to obtain the reconciliation result.

[0124] This application also provides a computer-readable storage medium for storing program code that executes any one of the implementation methods of the asynchronous reconciliation processing method described in the foregoing embodiments.

[0125] This application provides an asynchronous reconciliation processing method, apparatus, device, and storage medium. The method includes acquiring first reconciliation data; cleaning the first reconciliation data to obtain second reconciliation data in a unified data format and storing it in a database; configuring preset reconciliation rules based on the rule engine Drools; matching the second reconciliation data with the preset reconciliation rules; and performing asynchronous reconciliation processing in a multi-threaded manner according to preset reconciliation tasks to obtain reconciliation results. This application significantly improves reconciliation speed through an asynchronous multi-threaded mode, performs unified data format cleaning on the acquired reconciliation data of different formats, and solves the technical problems of current reconciliation platforms, such as only having a database mode, complex reconciliation rules, and low efficiency of single-threaded reconciliation.

[0126] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0127] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented, for example, in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0128] It should be understood that in this application, "at least one (item)" means one or more, and "more than" means two or more. "And / or" is used to describe the relationship between related objects, indicating that three relationships can exist. For example, "A and / or B" can represent three cases: only A exists, only B exists, and both A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one (item) of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one (item) of a, b, or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.

[0129] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection between apparatuses or units through some interfaces, and may be electrical, mechanical, or other forms.

[0130] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0131] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0132] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes: USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, optical disks, and other media capable of storing program code.

[0133] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.

Claims

1. An asynchronous reconciliation processing method, characterized in that, include: S1. Obtain the first set of accounts to be reconciled; S2. Perform data cleaning on the first reconciliation data to obtain the second reconciliation data in a unified data format and store it in the database; S3, based on the rule engine Drools, configures preset reconciliation rules; S4. Match the second reconciliation data with the preset reconciliation rules, and perform asynchronous reconciliation processing in multiple threads according to the preset reconciliation task to obtain the reconciliation result; Step S4 specifically includes: The second reconciliation data, processed by multiple threaded data processing executors, is aggregated to generate an aggregated data queue. The distribution processor distributes the second reconciliation data contained in the aggregated data queue to multiple business rule processors according to the preset reconciliation tasks, forming multiple reconciliation sub-tasks. The business rule processors then obtain the preset reconciliation rules and perform rule matching on the second reconciliation data to obtain the reconciliation results. Specifically, the thread data processing executor aggregates the matching rule data and stores it as an aggregated data queue. Each set of executors processes a pair of data. Multiple executors start simultaneously and enter the aggregated data queue. The aggregated data queue stores a large amount of preprocessed data that needs to be reconciled. The distribution processor distributes the information that needs to be reconciled, forming multiple reconciliation sub-processing tasks. After the distribution processor distributes the data, it enters the business rule processor. The business rule processor dynamically obtains the reconciliation rules and performs rule comparison. All of this is done asynchronously, and finally the data is stored in the MySQL database. Following step S4, the following is also included: S5. Based on the reconciliation results, call the preset report template and dynamically generate the report display page based on vue-ui; Step S2 specifically includes: The process involves parsing the first reconciliation data into a Java object and unifying its data format to obtain the second reconciliation data. The unified data format of the second reconciliation data includes filename, file type, file processing time, field name, and field value. The process also includes creating a data table object and recombining the first reconciliation data according to preset requirements to obtain the second reconciliation data with a unified data format. The unified data format of the second reconciliation data includes filename, file type, file processing time, field name, and field value. The data table objects are mapped and associated with each other through field names. This involves creating a new data table object, recombining different data, mapping and associating the new table object through field names, and creating a new MySQL view to combine the previously processed data into a new table, so that the data required by the user can be output.

2. The asynchronous reconciliation processing method according to claim 1, characterized in that, Step S1 specifically includes: The system retrieves reconciliation data files and the first reconciliation data contained in the reconciliation data files from the local directory using Excel, TXT, and SQL methods, and retrieves the first reconciliation data from a remote system or external system using an API.

3. The asynchronous reconciliation processing method according to claim 2, characterized in that, Step S1 further includes: The first reconciliation data is stored in a specified directory as a file, and the file information is stored in a MySQL database. The file information includes the file name, file path, file type, file upload time, and file processing status.

4. An asynchronous reconciliation processing device, characterized in that, include: The acquisition unit is used to acquire the first data to be reconciled. The data processing unit is used to clean the first reconciliation data to obtain a second reconciliation data with a unified data format and store it in the database. Specifically, it is used to parse the first reconciliation data into JAVA objects and unify the data format to obtain the second reconciliation data. The unified data format of the second reconciliation data includes file name, file type, file processing time, field name, and field value. The unit also includes: creating data table objects and recombining the first reconciliation data according to preset requirements to obtain the second reconciliation data with a unified data format. The unified data format of the second reconciliation data includes file name, file type, file processing time, field name, and field value. The data table objects are mapped and associated with each other through field names. The rule configuration unit is used to configure preset reconciliation rules based on the rule engine Drools. The reconciliation processing unit is used to match the second reconciliation data with the preset reconciliation rules, and to perform asynchronous reconciliation processing in multiple threads according to the preset reconciliation tasks to obtain reconciliation results. Specifically, it is used to aggregate the second reconciliation data processed by multiple thread data processing executors, generate an aggregated data queue, and distribute the second reconciliation data contained in the aggregated data queue to multiple business rule processors according to the preset reconciliation tasks through a distribution processor, forming multiple reconciliation sub-tasks. The business rule processors perform rule matching on the second reconciliation data by obtaining the preset reconciliation rules to obtain reconciliation results. In this process, a new data table object is created to recombine different data. The new table object is mapped and associated through field names. A new MySQL view is created to combine the previously processed data into a new table so that the data required by the user can be output. The process involves using threaded data processing executors to aggregate matching data into an aggregated data queue. Each executor processes a pair of data, and multiple executors can start simultaneously and enter the aggregated data queue. This queue stores a large amount of pre-processed data that needs to be reconciled. The data is then distributed by a distribution processor, which distributes the information that needs to be reconciled, forming multiple reconciliation sub-processing tasks. After distribution, the data enters the business rule processor, which dynamically retrieves the reconciliation rules and performs rule comparisons. All of this is done asynchronously. Finally, the data is stored in a MySQL database. Based on the reconciliation results, a preset report template is called, and a report display page is dynamically generated using Vue-UI.

5. An asynchronous reconciliation processing device, characterized in that, The device includes a processor and a memory: The memory is used to store program code and transmit the program code to the processor; The processor is used to execute the asynchronous reconciliation processing method according to any one of claims 1-3 according to the instructions in the program code.

6. A computer-readable storage medium, characterized in that, The computer-readable storage medium is used to store program code for executing the asynchronous reconciliation processing method according to any one of claims 1-3.