A distributed reconciliation method and system based on ignite data stream

By using the distributed reconciliation method of Ignite data streams and leveraging Ignite cluster nodes for data stream comparison and cache management, the problem of low timeliness and high resource consumption in existing data reconciliation technologies is solved, achieving an efficient and accurate data reconciliation process.

CN116881295BActive Publication Date: 2026-02-13CHINA CITIC BANK CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310801831.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-06-30
Publication Date
2026-02-13
Estimated Expiration
2043-06-30

AI Technical Summary

Technical Problem

Existing data reconciliation methods are not timely, require a lot of storage resources, and the reconciliation process is time-consuming, which cannot meet the high timeliness requirements. In particular, when the amount of data increases, accounting errors are prone to occur.

Method used

A distributed reconciliation method based on Ignite data streams is adopted. By querying cached data through Ignite cluster nodes, data stream comparison and cache management are performed. Key-value pair storage and scheduled scanning tasks are used to achieve efficient data reconciliation.

Benefits of technology

It enables timely data reconciliation, reduces storage resource consumption, improves reconciliation operation performance, ensures the accuracy and timeliness of accounts, and avoids property losses caused by delays.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116881295B_ABST
    Figure CN116881295B_ABST
Patent Text Reader

Abstract

The application provides a distributed reconciliation method and system based on an Ignite data stream, and has the characteristics that the method comprises the following steps: S1, creating an Ignite to-be-reconciled data stream based on a to-be-reconciled system, and sending the to-be-reconciled data stream to an Ignite cluster node; S2, inquiring whether there is first reconciliation data corresponding to the Ignite to-be-reconciled data stream in the cache of the Ignite cluster node, if there is the first reconciliation data, comparing the first reconciliation data with the Ignite to-be-reconciled data stream, if the first reconciliation data is consistent with the Ignite to-be-reconciled data stream, deleting the first data in the cache, and if the first reconciliation data is inconsistent with the Ignite to-be-reconciled data stream, giving an alarm; S3, if there is no first reconciliation data in the cache of the Ignite cluster node, inserting the Ignite to-be-reconciled data stream into the first reconciliation data for caching; and S4, judging whether a first reconciliation end condition is met, and if not, returning to S1. The application can realize high-time-efficiency data reconciliation demand by using very few storage resources, and the performance of the reconciliation operation can be linearly improved through the distributed capability of the Ignite cluster.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of distributed reconciliation, in particular to a distributed reconciliation method and system based on Ignite data stream. BACKGROUND

[0002] There are some common data reconciliation methods at present. In the data reconciliation process, a special reconciliation platform generally obtains the to-be-reconciled data of each system in a period of time and stores it in a storage middleware such as a relational database, and then uses a batch processing framework such as SpringBatch to complete reconciliation and arrange abnormal account information by setting specific reconciliation logic, and then a business personnel confirms. However, the existing reconciliation method has the following technical problems: low timeliness, the reconciliation result cannot be known until a period of time is delayed, and it cannot meet the reconciliation needs of systems with high timeliness requirements; a lot of computer storage resources are needed to obtain the to-be-reconciled data of both parties before reconciliation; and the time consumed for performing batch processing operations based on a relational database to implement reconciliation is also relatively long. The time and storage resources consumed in the entire reconciliation process will linearly increase with the expansion of business data volume. If the data volume is not considered in advance, serious problems such as untimely discovery of account errors may occur, resulting in property loss.

[0003] Based on the above technical problems, the present application proposes a distributed reconciliation method and system based on Ignite data stream, which can use very little storage resource to meet the high-timeliness data reconciliation needs, and the performance of reconciliation operation can be linearly improved through the distributed capability of Ignite cluster, solving the problems that the application system cannot know the reconciliation result in time, the storage of reconciliation data consumes a lot of resources and the reconciliation process is slow.

[0004] It is worth noting that the data collection and migration behaviors involved in the present application have been agreed by the user and are necessary for the normal business activities of the applicant. The applicant has performed anonymization, privacy protection and other desensitization processing on the collected data, and has set access permissions for the data to ensure that the user's privacy is not disclosed. The data compliance measures involved in the present application are only listed, and the applicant has also set other related data compliance measures. The data processing activities performed by the applicant comply with the provisions of laws and regulations such as the Data Security Law and the Personal Information Protection Law. SUMMARY

[0005] To solve the deficiencies of the existing conditions, the present application proposes a distributed reconciliation method and system based on Ignite data stream to solve the defects of the above background technology. The present application comprises:

[0006] The first aspect of the present application proposes a distributed reconciliation method based on Ignite data stream, characterized in that it comprises:

[0007] S1, create Ignite to-be-accounted data streams based on a to-be-accounted system, and send the Ignite to-be-accounted data streams to Ignite cluster nodes, wherein the number of the Ignite to-be-accounted data streams is greater than or equal to 1;

[0008] S2, query, by the Ignite cluster nodes, whether there is first accounting data corresponding to the to-be-accounted data stream in a cache, if there is the first accounting data, compare the first accounting data with the Ignite to-be-accounted data stream, if the first accounting data is consistent with the Ignite to-be-accounted data stream, delete the first data in the cache, and if the first accounting data is inconsistent with the Ignite to-be-accounted data stream, perform an alarm prompt;

[0009] S3, if there is no first accounting data in the cache of the Ignite cluster nodes, insert the Ignite to-be-accounted data stream into the first accounting data for caching;

[0010] S4, determine whether a first accounting end condition is met, if not, return to S1.

[0011] Further, the method further includes caching the to-be-accounted data stream and the first accounting data in a key-value pair manner, wherein KEY is a mark for finding corresponding data, the mark includes a contract number and a to-be-accounted system identifier, and VALUE includes numerical values of the to-be-accounted data stream and the first accounting data.

[0012] Further, the S2 includes:

[0013] S21, query, by the Ignite cluster nodes, whether there is a KEY of the first accounting data corresponding to a KEY of the to-be-accounted data stream in a cache;

[0014] S22, if the cache of the Ignite cluster nodes has the KEY of the first accounting data corresponding to the KEY of the to-be-accounted data stream, compare a VALUE of the to-be-accounted data stream with a VALUE of the first accounting data.

[0015] Further, the alarm prompt includes notifying an alarm handler through a telephone, a short message or an email, and the first accounting data in the cache is deleted after the alarm prompt.

[0016] Further, the S3 includes:

[0017] S31, start, by the Ignite cluster nodes, a timing scanning task, and determine whether a caching time of the first accounting data exceeds a preset time;

[0018] S32, if the caching time of the first accounting data exceeds the preset time, filter out the first accounting data exceeding the preset time to perform an alarm prompt;

[0019] S33, the first account data that will exceed the preset time after the alarm prompt is deleted.

[0020] Further, the first account end condition includes that the to-be-accounted system has no Ignite to-be-accounted data stream generated, and the accounting duration reaches a preset duration.

[0021] The second aspect of the application provides a distributed reconciliation device based on an Ignite data stream, characterized in that the device comprises:

[0022] The creating data module is configured to create an Ignite to-be-accounted data stream based on a to-be-accounted system, and send the to-be-accounted data stream to an Ignite cluster node, wherein the number of the to-be-accounted data streams is greater than or equal to 1.

[0023] The query comparison module is configured to query whether there is first account data corresponding to the to-be-accounted data stream in the cache of the Ignite cluster node, if there is the first account data, compare the first account data with the Ignite to-be-accounted data stream, if the first account data is consistent with the Ignite to-be-accounted data stream, delete the first data in the cache, and if the first account data is inconsistent with the Ignite to-be-accounted data stream, perform an alarm prompt.

[0024] The cache module is configured to insert the Ignite to-be-accounted data stream into the first account data for caching if there is no first account data in the cache of the Ignite cluster node.

[0025] The judgment loop module is configured to judge whether the first account end condition is met, and if not, return to the creating data module.

[0026] The third aspect of the application provides an electronic device, characterized in that the device comprises a processor and a memory in communication connection with the processor.

[0027] The memory stores computer execution instructions.

[0028] The processor executes the computer execution instructions stored in the memory to implement the method of distributed reconciliation based on an Ignite data stream.

[0029] The fourth aspect of the application provides a computer readable storage medium, characterized in that the computer readable storage medium stores computer execution instructions, and the computer execution instructions are executed by a processor to implement the method of distributed reconciliation based on an Ignite data stream.

[0030] The fifth aspect of the application provides a computer program product, characterized in that the computer program product comprises a computer program, and the computer program is executed by a processor to implement the method of distributed reconciliation based on an Ignite data stream.

[0031] The application has the beneficial effects that the high timeliness data reconciliation requirement can be realized by using very few storage resources, and the performance of the reconciliation operation can be linearly improved by the Ignite cluster distributed capability, and the problems that the application system cannot know the reconciliation result in time, the storage of the reconciliation data consumes many resources and the reconciliation process is slow in the data reconciliation process are solved. BRIEF DESCRIPTION OF DRAWINGS

[0032] Figure 1 The figure is a flowchart of the method for the distributed reconciliation based on the Ignite data stream of the application.

[0033] Figure 2 The figure is a structure block diagram of the apparatus for the distributed reconciliation based on the Ignite data stream of the application.

[0034] Figure 3 The figure is a structure diagram of the electronic equipment provided by the embodiment of the application. DETAILED DESCRIPTION

[0035] In order to more clearly understand the content of the application, the application will be described in detail with reference to the drawings and embodiments.

[0036] However, it should be understood that the description is only exemplary and is not intended to limit the scope of the application. In addition, in the following description, the description of the known structures and techniques is omitted to avoid unnecessary confusion of the concept of the application. The terms used herein are only for describing the specific embodiments and are not intended to limit the application. The words "a", "an", and "the" used herein should also include the meaning of "multiple", "multiple", unless the context clearly indicates otherwise. In addition, the terms "include", "contain" and the like used herein indicate the existence of the features, steps, operations and / or components, but do not exclude the existence or addition of one or more other features, steps, operations or components.

[0037] All terms used herein (including technical and scientific terms) have the meaning generally understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein should be interpreted to have a meaning consistent with the context of the specification, and should not be interpreted in an idealized or overly formal manner. The application is an improvement of the existing patent technology, so the parts not described in the application are realized by the prior art.

[0038] Term explanation:

[0039] Reconciliation is to make each transaction, the record of each participant can be consistent, no deviation. Specifically, in the era of electronic records is to ensure that the data, accounts of each transaction, a transaction may involve different system records, such as banks, third-party payment, UnionPay, even a business between different departments of the transaction also exist record data. In order to ensure the smooth and accurate transaction, the need to carry out the parties, the system to keep the bill for comparison, found abnormal data processing.

[0040] The present application is based on Apache Ignite-distributed in-memory database data stream processing, Ignite provides a data stream API, which can be used to inject a large number of continuous data stream Ignite cluster, data stream API supports fault tolerance and linear expansion. Data is injected into the cache through the data stream processor associated with the cache. Data stream processor automatically buffers data and groups them into batches to improve performance, and sends them in parallel to multiple nodes. Data stream API provides the following functions: data added to the data stream processor will be automatically partitioned and distributed among nodes; data can be processed concurrently in a side-by-side manner; clients can perform concurrent SQL queries on data while injecting data. It can perform data processing and data coverage functions, and can implement the method of the present application.

[0041] Figure 1 The method flow diagram of the present application based on Ignite data stream distributed reconciliation. The first aspect of the present application provides a distributed reconciliation method based on Ignite data stream, characterized in that, comprising:

[0042] S1, based on the Ignite to be reconciled data stream of the system to be reconciled, send the to-be-reconciled data stream to the Ignite cluster node, wherein the number of to-be-reconciled data streams is greater than or equal to 1;

[0043] As described above, the to-be-reconciled system is often more than two systems for comparison, but the bank reconciliation data can also be determined as more authoritative data, and the data on the bank reconciliation statement can be pre-stored in the Ignite cluster node. In this way, the to-be-reconciled system can be only one. Specifically, the to-be-reconciled system can not only be the system of an external institution, but also the business department of different departments of the enterprise. The reconciliation data to be checked can be used as to-be-reconciled data. If the data generated by the to-be-reconciled data can directly generate the Ignite to-be-reconciled data stream, the Ignite to-be-reconciled data stream can be directly sent to the Ignite cluster node. If it cannot be directly sent to the Ignite cluster node, a new Ignite to-be-reconciled data stream can be created based on the data of the to-be-reconciled system or the format can be converted to meet the requirements of the Ignite cluster node data processing.

[0044] S2, the Ignite cluster node queries whether there is first reconciliation data corresponding to the to-be-reconciled data stream in the cache, if there is first reconciliation data, the first reconciliation data is compared with the Ignite to-be-reconciled data stream, if the first reconciliation data is consistent with the Ignite to-be-reconciled data stream, the first data in the cache is deleted, and if it is inconsistent, an alarm is reminded;

[0045] Specifically, the first reconciliation data can be the account data between the bank and the enterprise, and the first reconciliation data essentially comes from the data of the to-be-reconciled system and is not necessarily preset in the Ignite cluster node. If there is no first reconciliation data in the Ignite cluster node, the first to-be-reconciled data of the to-be-reconciled system transmitted to the Ignite cluster node can be taken as the first reconciliation data and compared with the to-be-reconciled data stream of other reconciliation systems.

[0046] The first reconciliation data can also not be limited to the data of a single to-be-reconciled system, and several to-be-reconciled data consistent with each other can be selected as the first reconciliation data. For example, if 100 systems need to be reconciled, in the specific reconciliation process, the to-be-reconciled data of 4 systems of 5 to-be-reconciled systems are consistent, the to-be-reconciled data of the 4 consistent systems are taken as the first reconciliation data, and the inconsistent data is filtered out for alarm reminding. At the same time, even if the systems are consistent, an alarm reminding service can also be set to improve the attention of personnel and prevent errors in account data in their own business department or enterprise.

[0047] Further, the S2 comprises:

[0048] S21, the Ignite cluster node queries whether there is first reconciliation data corresponding to the to-be-reconciled data stream KEY in the cache;

[0049] S22, if the Ignite cluster node cache has the KEY of the first reconciliation data corresponding to the to-be-reconciled data stream KEY, the VALUE corresponding to the to-be-reconciled data stream is compared with the VALUE of the first reconciliation data.

[0050] Further, the method further comprises caching the to-be-reconciled data stream and the first reconciliation data in the form of key-value pairs, wherein the KEY is a mark for finding corresponding data, the mark comprises a contract number and a to-be-reconciled system identifier, and the VALUE comprises the numerical value of the to-be-reconciled data stream and the first reconciliation data.

[0051] Preferably, the to-be-reconciled data stream is stored with the first reconciled data in the form of key-value pairs, and the key value can be set as various marks for locating the data of the to-be-reconciled system, such as connecting the to-be-reconciled data by contract number or establishing a relational database, and the key-value pair is a method for quickly querying data, and the to-be-reconciled data can be quickly queried and compared in this way.

[0052] Preferably, the to-be-reconciled data can be layered or a relational database can be established during the comparison of the data of the to-be-reconciled system to improve the reconciliation efficiency, such as comparing the data of the to-be-reconciled system in the range of 100,000 to 1,000,000 to reduce the comparison amount, and similarly, the data size of the comparison can be limited based on the objects of the transaction parties, and these comparison methods can be set together to improve the comparison efficiency, such as comparing the accounts of the transaction amount of 100,000 to 1,000,000 of the transaction counterpart.

[0053] S3, if the first reconciled data is not in the Ignite cluster node cache, the Ignite to-be-reconciled data stream is inserted into the first reconciled data for caching;

[0054] Further, the S3 comprises:

[0055] S31, the Ignite cluster node starts a timing scanning task to determine whether the caching time of the first reconciled data exceeds a preset time;

[0056] S32, if the caching time of the first reconciled data exceeds the preset time, the first reconciled data exceeding the preset time is selected out for alarm reminding;

[0057] S33, the first reconciled data exceeding the preset time is deleted after the alarm reminding.

[0058] Specifically, the data of the timeout cache can occupy the storage space of the Ignite cluster node and occupy system resources, so the to-be-reconciled system data that is not reconciled in time can be deleted first, and then cached and processed when reconciliation is needed after a period of time. In this application, the Ignite cluster node without to-be-reconciled data as the first reconciled data further reveals the data source and nature of the first reconciled system.

[0059] Specifically, the Ignite cluster node starts a timing scanning task to scan all the inventory to-be-reconciled data in the Ignite cache, compares the to-be-reconciled data generation timestamp with the current timestamp, selects out the data that is not reconciled in time, connects the alarm center for alarm, and deletes the data in the cache after the alarm.

[0060] Further, the alarm reminding comprises notifying the alarm handler by telephone, short message or email, and the first reconciled data in the cache is deleted after the alarm reminding.

[0061] The data of the Ignite cluster node is deleted after the alarm prompt, which does not affect the data of the to-be-reconciled system, saves the storage space, and is beneficial to efficient data processing. In addition to the above-mentioned manner, the alarm prompt can also mark the corresponding data by sending a label to the corresponding data of the to-be-reconciled system, so as to remind the to-be-processed personnel to process.

[0062] S4, judging whether the first reconciliation end condition is met, if not, returning to S1.

[0063] Further, the first reconciliation end condition includes that no Ignite to-be-reconciled data stream is generated in the to-be-reconciled system, and the reconciliation time length reaches a preset time length.

[0064] The reconciliation task can have a certain working time limit, so a certain reconciliation time length can be set to give sufficient time for manual processing of the data inconsistent with the to-be-reconciled system data, so one or more conditions for the end of reconciliation of the to-be-reconciled system can be set to meet the needs of the reconciliation task. If no new Ignite to-be-reconciled data stream is generated, it means that all the preset to-be-reconciled system data has been reconciled.

[0065] Figure 2 The structure block diagram of the distributed reconciliation device based on the Ignite data stream of the application is shown in the figure. The second aspect of the application provides a distributed reconciliation device based on the Ignite data stream, characterized in that it comprises:

[0066] A data creation module is configured to create an Ignite to-be-reconciled data stream based on a to-be-reconciled system, and send the to-be-reconciled data stream to an Ignite cluster node, wherein the number of the to-be-reconciled data stream is greater than or equal to 1.

[0067] A query comparison module is configured to query whether there is first reconciliation data corresponding to the to-be-reconciled data stream in the cache of the Ignite cluster node, if there is first reconciliation data, compare the first reconciliation data with the Ignite to-be-reconciled data stream, if the first reconciliation data is consistent with the Ignite to-be-reconciled data stream, delete the first data in the cache, and if it is inconsistent, perform an alarm prompt.

[0068] A cache module is configured to insert the Ignite to-be-reconciled data stream into the first reconciliation data for caching if there is no first reconciliation data in the cache of the Ignite cluster node.

[0069] A judgment cycle module is configured to judge whether the first reconciliation end condition is met, if not, return to the data creation module.

[0070] Further, the device further comprises a key-value cache module, which is configured to:

[0071] The to-be-reconciled data stream is cached in a key-value pair with the first reconciled data, where the KEY is a mark for finding corresponding data, and the VALUE includes the numerical value of the to-be-reconciled data stream and the first reconciled data.

[0072] Further, the apparatus further comprises a comparison module configured to:

[0073] S21, the Ignite cluster node queries whether there is a KEY of the first reconciled data corresponding to the KEY of the to-be-reconciled data stream in the cache.

[0074] S22, if the Ignite cluster node caches the KEY of the first reconciled data corresponding to the KEY of the to-be-reconciled data stream, the VALUE corresponding to the to-be-reconciled data stream is compared with the VALUE of the first reconciled data.

[0075] Further, the alarm reminder includes notifying the alarm handler through a telephone, a short message or an email, and the first reconciled data in the cache is deleted after the alarm reminder.

[0076] Further, the apparatus further comprises a timing cleaning module configured to:

[0077] S31, the Ignite cluster node starts a timing scanning task to determine whether the cache time of the first reconciled data exceeds a preset time.

[0078] S32, if the cache time of the first reconciled data exceeds the preset time, the first reconciled data exceeding the preset time is selected to perform an alarm reminder.

[0079] S33, the first reconciled data exceeding the preset time is deleted after the alarm reminder.

[0080] Further, the first reconciled end condition includes that there is no Ignite to-be-reconciled data stream generated in the to-be-reconciled system, and the reconciliation duration reaches a preset duration.

[0081] Figure 3 A structural schematic diagram of an electronic device provided by an embodiment of the present application is shown in FIG. 1. Figure 3 As shown in FIG. 1, the electronic device can include a transceiver 121, a processor 122 and a memory 123.

[0082] The processor 122 executes computer-executed instructions stored in the memory to cause the processor 122 to perform the solutions in the above embodiments. The processor 122 can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; and can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component.

[0083] The memory 123 is connected with the processor 122 through the system bus and completes mutual communication, and the memory 123 is used for storing computer program instructions.

[0084] The transceiver 121 can be used to obtain the Ignite data stream to be reconciled.

[0085] The system bus can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The system bus can be divided into an address bus, a data bus, a control bus, etc. For the convenience of representation, only one thick line is used in the figure, but it does not mean that there is only one bus or only one type of bus. The transceiver is used to realize the communication between the database access device and other computers (such as a client, a read-write library and a read-only library). The memory can include a random access memory (RAM), and can also include a non-volatile memory.

[0086] The electronic device provided by the embodiments of the present application can be the terminal device of the above embodiments.

[0087] The embodiments of the present application further provide a chip for running instructions, which is used to execute the technical solutions of the method for distributed reconciliation based on an Ignite data stream in the above embodiments.

[0088] The embodiments of the present application further provide a computer readable storage medium, which stores computer instructions, and when the computer instructions run on a computer, the computer executes the technical solutions of the method for distributed reconciliation based on an Ignite data stream in the above embodiments.

[0089] The embodiment of the application further provides a computer program product, which comprises a computer program stored in a computer readable storage medium, at least one processor can read the computer program from the computer readable storage medium, and the at least one processor can implement the technical solution of the method for distributed reconciliation based on the Ignite data stream in the above embodiment when executing the computer program.

[0090] The application has the beneficial effects that the high-timeliness data reconciliation requirement can be realized by using very few storage resources, and the performance of the reconciliation operation can be linearly improved through the distributed capability of the Ignite cluster, and the problems that the application system cannot learn the reconciliation result in time, the storage of the reconciliation data consumes many resources, and the reconciliation process is slow are solved.

[0091] It should be noted that the data collection and migration behaviors involved in the application have been agreed by the user, and are necessary for the normal business activities of the applicant. The applicant has carried out anonymization, privacy protection and other desensitization treatments on the collected data, and has set the access permission of the data to ensure that the privacy of the user is not disclosed. The data compliance measures involved in the application are only listed, and the applicant has also set other related data compliance measures. The data processing activities carried out by the applicant comply with the provisions of laws and regulations such as the data security law and the personal information protection law.

[0092] Other embodiments of the application will be apparent to those skilled in the art from consideration of the specification and practice of the application disclosed herein. It is intended that the application be limited only by the scope of the claims, which will be construed in accordance with the principles of patent law. The specification and examples are to be considered exemplary only, with the true scope and spirit of the application indicated by the following claims.

[0093] It should be understood that the application is not limited to the precise construction that has been described above and illustrated in the accompanying drawings, and that various modifications and changes can be made by those skilled in the art without departing from the scope of the application. The scope of the application is limited only by the claims that follow.

[0094] Those skilled in the art can further realize that, in combination with the algorithm steps of the embodiments herein, the functions can be realized in the form of electronic hardware, computer software or a combination of both, and whether the functions are realized in the form of hardware or software depends on the specific application and design constraints of the technical solution, and those skilled in the art can use different methods to realize the described functions for each specific application, but such implementation should not be considered beyond the scope of the application.

[0095] While the preferred embodiments of the application have been described, additional variations and modifications can be made to these embodiments by those skilled in the art once they have the benefit of the present disclosure. Therefore, the appended claims are intended to encompass all such variations and modifications as falling within the scope of the application.

[0096] The preferred embodiments of the application are described above in detail for the purposes of clarity and understanding. However, the application should not be limited to the specific embodiments described. It will be apparent to one of ordinary skill in the art that other embodiments and modifications are possible within the scope of the application. Accordingly, the scope of the application should be determined not by the embodiments disclosed above, but by the claims below.

Claims

1. A distributed reconciliation method based on Ignite data streams, characterized in that, The method comprises the following steps: S1, creating Ignite to-be-reconciled data streams based on a to-be-reconciled system, and sending the Ignite to-be-reconciled data streams to Ignite cluster nodes, wherein the number of the Ignite to-be-reconciled data streams is greater than or equal to 1; S2, querying, by the Ignite cluster nodes, whether there is first reconciliation data corresponding to the to-be-reconciled data streams in the cache, if there is the first reconciliation data, comparing the first reconciliation data with the Ignite to-be-reconciled data streams, if the first reconciliation data is consistent with the Ignite to-be-reconciled data streams, deleting the first reconciliation data in the cache, and if the first reconciliation data is inconsistent with the Ignite to-be-reconciled data streams, alarming and reminding; S3, if there is no first reconciliation data in the cache of the Ignite cluster nodes, inserting the Ignite to-be-reconciled data streams into the first reconciliation data for caching; S4, judging whether a first reconciliation end condition is met, and if not, returning to S1; The S3 comprises: If there is no first reconciliation data corresponding to the to-be-reconciled data streams in the cache of the Ignite cluster nodes, taking the to-be-reconciled data streams transmitted to the Ignite cluster nodes by the to-be-reconciled system for the first time as the first reconciliation data, and comparing the first reconciliation data with the to-be-reconciled data streams created based on other to-be-reconciled systems; The to-be-reconciled data that is not reconciled within a time limit is deleted and cached during reconciliation.

2. The method of claim 1, wherein, The method further comprises caching the to-be-reconciled data streams and the first reconciliation data in the form of key-value pairs, wherein KEY is a mark for finding corresponding data, the mark comprises a contract number and a to-be-reconciled system identifier, and VALUE comprises numerical values of the to-be-reconciled data streams and the first reconciliation data.

3. The method of claim 2, wherein, The S2 comprises: S21, querying, by the Ignite cluster nodes, whether there is KEY of the first reconciliation data corresponding to KEY of the to-be-reconciled data streams in the cache; S22, if there is KEY of the first reconciliation data corresponding to KEY of the to-be-reconciled data streams in the cache of the Ignite cluster nodes, comparing VALUE of the to-be-reconciled data streams with VALUE of the first reconciliation data.

4. The method of claim 1, wherein, The alarm and reminder comprises informing an alarm handler through a telephone call, a short message or an email, and the first reconciliation data in the cache is deleted after the alarm and reminder.

5. The method of claim 1, wherein, The S3 comprises: S31, starting a timing scanning task by the Ignite cluster nodes, and judging whether a caching time of the first reconciliation data exceeds a preset time; S32, if the caching time of the first reconciliation data exceeds the preset time, screening out the first reconciliation data exceeding the preset time for alarm and reminding; S33, deleting the first reconciliation data exceeding the preset time after the alarm and reminding.

6. The method of claim 1, wherein, The first reconciliation end condition comprises that no Ignite to-be-reconciled data stream is generated by the to-be-reconciled system, and a reconciliation time length reaches a preset time length.

7. A distributed reconciliation apparatus based on Ignite data streams, characterized by, The method comprises the following steps: creating data modules for creating Ignite to-be-reconciled data streams based on a to-be-reconciled system, and sending the Ignite to-be-reconciled data streams to Ignite cluster nodes, wherein the number of the Ignite to-be-reconciled data streams is greater than or equal to 1; The query comparison module is configured to query whether there is first reconciliation data corresponding to the to-be-reconciled data stream in the cache of the Ignite cluster node, and if there is the first reconciliation data, compare the first reconciliation data with the Ignite to-be-reconciled data stream, and if the first reconciliation data is consistent with the Ignite to-be-reconciled data stream, delete the first reconciliation data in the cache, and if not, give an alarm; The cache module is configured to insert the Ignite to-be-reconciled data stream into the first reconciliation data for caching if there is no first reconciliation data in the cache of the Ignite cluster node. The judgment loop module is configured to judge whether the first reconciliation end condition is met, and if not, return to the creation data module. The cache module is further configured to, if there is no first reconciliation data corresponding to the to-be-reconciled data stream in the cache of the Ignite cluster node, take the to-be-reconciled data stream transmitted to the Ignite cluster node by the to-be-reconciled system for the first time as the first reconciliation data, and compare it with the to-be-reconciled data stream created based on other to-be-reconciled systems; and further configured to delete the to-be-reconciled data that is not reconciled within a time limit, and cache the to-be-reconciled data during reconciliation.

8. An electronic device, comprising: It comprises: a processor and a memory connected in communication with the processor; the memory stores computer execution instructions; the processor executes the computer execution instructions stored in the memory to realize the method of any one of claims 1-6.

9. A computer-readable storage medium, characterized in that, The computer readable storage medium stores computer execution instructions, and the computer execution instructions are executed by the processor to realize the method of any one of claims 1-6.

10. A computer program product, characterised in that, It comprises a computer program, which is executed by the processor to realize the method of any one of claims 1-6.

Citation Information

Patent Citations

  • Reconciliation method, apparatus, computer device and storage medium

    CN109493201A

  • Bill clearing method and device, electronic equipment and computer readable storage medium

    CN111241083A