Data matching method and data matching apparatus

By adjusting the preset fields and matching predicates of the matching rules, the system automatically determines whether transaction records from different data sources meet the matching relationship, solving the problem of transaction data reconciliation without reconciliation identifiers and improving the accuracy and efficiency of data processing.

CN114266661BActive Publication Date: 2025-12-30CHINA CONSTRUCTION BANK
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111620459.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-27
Publication Date
2025-12-30
Estimated Expiration
2041-12-27

AI Technical Summary

Technical Problem

Existing technologies struggle to achieve efficient reconciliation of transaction data in the absence of reconciliation identifiers.

Method used

By adjusting the preset fields and matching predicates of the matching rules, the system can automatically determine whether transaction records from different data sources meet the matching relationship, thereby achieving transaction data reconciliation.

Benefits of technology

It improves the accuracy and efficiency of data processing and simplifies the reconciliation of transaction data, especially in the absence of reconciliation indicators.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114266661B_ABST
    Figure CN114266661B_ABST
Patent Text Reader

Abstract

The application provides a data matching method and a data matching device, which are applied to the field of data processing and are beneficial to improving data processing efficiency. The method comprises the following steps: matching sample data by using a first matching rule to obtain a first matching result; determining a first evaluation index based on the first matching result; adjusting a preset field of the first matching rule to obtain a second matching rule in the case that the first evaluation index does not satisfy a preset condition, and the adjustment comprises at least one of the following: adding the preset field, deleting the preset field, changing a matching range of the preset field or changing matching content of the preset field; matching the sample data by using the second matching rule to obtain a second matching result; determining a second evaluation index based on the second matching result; and matching to-be-matched data by using the second matching rule in the case that the second evaluation index satisfies the preset condition.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data processing, and more specifically, to a data matching method and a data matching apparatus. Background Technology

[0002] Typically, reconciliation clerks need to reconcile the same transaction data from two data sources. For example, a power company reconciliation clerk needs to reconcile the company's electricity bill collection information with bank financial documents.

[0003] When power company personnel perform payment and settlement operations in the marketing business system, the system generates a reconciliation identifier, i.e., a fund settlement record. When the power company personnel deposit funds into the company's electricity account, they provide the reconciliation identifier to the banking personnel, who then enter it into the bank's system. The bank's system then provides a fund reconciliation file containing the reconciliation identifier to the marketing business system, which matches the fund settlement record with the reconciliation identifier in the fund reconciliation file to complete the reconciliation.

[0004] The current reconciliation model requires the transmission of reconciliation identifiers between the banking system and the marketing business system. However, in scenarios where reconciliation identifiers are not available, how to reconcile transaction data is an urgent problem to be solved. Summary of the Invention

[0005] This application provides a data matching method and a data matching device that can perform transaction data reconciliation operations regardless of whether a reconciliation identifier exists, thereby improving data processing efficiency.

[0006] Firstly, a data matching method is provided, comprising: matching sample data using a first matching rule to obtain a first matching result, the first matching rule including the correspondence between preset fields and matching predicates; determining a first evaluation index based on the first matching result, the first evaluation index including the accuracy and / or matching rate of the first matching result; adjusting the preset fields of the first matching rule to obtain a second matching rule when the first evaluation index does not meet preset conditions, the adjustment including at least one of the following: adding preset fields, deleting preset fields, changing the matching range of preset fields, or changing the matching content of preset fields; matching sample data using the second matching rule to obtain a second matching result; determining a second evaluation index based on the second matching result, the second evaluation index including the accuracy and / or matching rate of the second matching result; and matching the data to be matched using the second matching rule when the second evaluation index meets preset conditions.

[0007] In this application, when the data processing device matches sample data using a first matching rule, if the obtained first evaluation index fails to meet the preset conditions, the data processing device can adjust the preset fields of the first matching rule. The basis for the adjustment can be the correction record recorded during the verification of the first matching result. Based on the correction record, the data processing device can adjust the first matching rule to obtain a second matching rule. Matching the data to be matched using the second matching rule helps to improve the accuracy of data matching and can improve data processing efficiency in the absence of a reconciliation identifier.

[0008] In conjunction with the first aspect, in some implementations of the first aspect, a first transaction record to be matched from a first data source is obtained. A second transaction record to be matched from a second data source is obtained. Based on preset fields and the matching predicate of the preset fields, it is determined whether the relationship between the preset fields of the first and second transaction records to be matched satisfies the matching predicate. If the relationship between the preset fields of the first and second transaction records to be matched satisfies the matching predicate, the matching relationship between the first and second transaction records to be matched is recorded.

[0009] In this application, the first and second transaction records to be matched come from two different data sources. The data processing device can determine whether the first and second transaction records to be matched match based on preset fields and matching predicates of the preset fields. This method can be implemented without relying on reconciliation identifiers, which helps to improve data processing efficiency.

[0010] In conjunction with the first aspect, in some implementations of the first aspect, if the relationship between the preset fields of the first and second transaction records to be matched does not satisfy the matching predicate, another second transaction record to be matched from the second data source is obtained. Based on the preset fields and their matching predicates, it is determined whether the relationship between the preset fields of the first transaction record to be matched and the other second transaction record to be matched satisfies the matching predicate. If the relationship between the preset fields of the first transaction record to be matched and the other second transaction record to be matched satisfies the matching predicate, the matching relationship between the first transaction record to be matched and the other second transaction record to be matched is recorded.

[0011] In conjunction with the first aspect, in some implementations of the first aspect, the matching predicate includes at least one of the following: greater than, equal to, less than, contain, included in, contained in, or regular expression matching.

[0012] In conjunction with the first aspect, in some implementations of the first aspect, the first data source is bank transaction records, and the second data source is order transaction records. The preset fields of the first transaction record to be matched include at least one of the following fields: payment account, receiving account, transaction amount, transaction time, or summary. The preset fields of the second transaction record to be matched include at least one of the following fields: payment account, receiving account, order amount, payment time, or order summary.

[0013] In conjunction with the first aspect, in certain implementations of the first aspect, the matching predicate between the payment account of the first transaction record to be matched and the payment account of the second transaction record to be matched is equal. The matching predicate between the receiving account of the first transaction record to be matched and the receiving account of the second transaction record to be matched is equal. The matching predicate between the transaction amount of the first transaction record to be matched and the order amount of the second transaction record to be matched is less than or equal to. The matching predicate between the transaction time of the first transaction record to be matched and the payment time of the second transaction record to be matched is equal. The matching predicate between the summary of the first transaction record to be matched and the order summary of the second transaction record to be matched is a regular expression match.

[0014] Secondly, a data matching apparatus is provided for performing the method in any possible implementation of the first aspect described above. Specifically, the apparatus includes a module for performing the method in any possible implementation of the first aspect described above.

[0015] Thirdly, a data matching apparatus is provided, including a processor coupled to a memory for executing instructions in the memory to implement the method in any possible implementation of the first aspect described above. Optionally, the apparatus further includes a memory. Optionally, the apparatus further includes a communication interface, to which the processor is coupled.

[0016] Fourthly, a processor is provided, comprising: an input circuit, an output circuit, and a processing circuit. The processing circuit is used to receive signals through the input circuit and transmit signals through the output circuit, causing the processor to execute the method in any possible implementation of the first aspect described above.

[0017] In specific implementation, the processor can be a chip, the input circuit can be input pins, the output circuit can be output pins, and the processing circuit can be transistors, gate circuits, flip-flops, and various logic circuits. The input signal received by the input circuit can be received and input by, for example, but not limited to, a receiver, and the signal output by the output circuit can be, for example, but not limited to, output to and transmitted by a transmitter. Furthermore, the input circuit and the output circuit can be the same circuit, which is used as both the input circuit and the output circuit at different times. This application does not limit the specific implementation of the processor and various circuits.

[0018] Fifthly, a processing apparatus is provided, including a processor and a memory. The processor is used to read instructions stored in the memory and to receive signals via a receiver and transmit signals via a transmitter to execute the method in any of the possible implementations of the first aspect described above.

[0019] Optionally, there may be one or more processors and one or more memories.

[0020] Alternatively, the memory can be integrated with the processor, or the memory can be set up separately from the processor.

[0021] In the specific implementation process, the memory can be a non-transitory memory, such as read-only memory (ROM), which can be integrated with the processor on the same chip or set on different chips. This application does not limit the type of memory or the way the memory and processor are set.

[0022] It should be understood that the relevant data interaction process, such as sending indication information, can be the process of outputting indication information from the processor, and receiving capability information can be the process of the processor receiving input capability information. Specifically, the processed output data can be output to the transmitter, and the input data received by the processor can come from the receiver. Here, the transmitter and receiver can be collectively referred to as a transceiver.

[0023] The processing device in the fifth aspect above can be a chip. The processor can be implemented in hardware or software. When implemented in hardware, the processor can be a logic circuit, integrated circuit, etc. When implemented in software, the processor can be a general-purpose processor that reads software code stored in memory. The memory can be integrated into the processor or located outside the processor and exist independently.

[0024] In a sixth aspect, a computer program product is provided, comprising: a computer program (also referred to as code or instructions) that, when executed, causes a computer to perform the method in any of the possible implementations of the first aspect described above.

[0025] In a seventh aspect, a computer-readable storage medium is provided that stores a computer program (also referred to as code or instructions) that, when executed on a computer, causes the computer to perform the methods in any of the possible implementations of the first aspect described above. Attached Figure Description

[0026] Figure 1 This is a schematic diagram illustrating a scenario to which an embodiment of this application applies;

[0027] Figure 2 This is a schematic flowchart of a data matching method according to an embodiment of this application;

[0028] Figure 3 This is a schematic flowchart illustrating another data matching method according to an embodiment of this application.

[0029] Figure 4 This is a schematic flowchart illustrating another data matching method according to an embodiment of this application;

[0030] Figure 5 This is a schematic block diagram of a data matching device according to an embodiment of this application;

[0031] Figure 6 This is a schematic block diagram of another data matching device according to an embodiment of this application. Detailed Implementation

[0032] Before introducing the data matching method and data matching device provided in the embodiments of this application, the following points should be made first.

[0033] First, in the embodiments shown below, the terms and English abbreviations, such as transaction record, preset field, matching predicate, etc., are merely exemplary examples given for ease of description and should not constitute any limitation on this application. This application does not preclude the possibility of defining other terms that can achieve the same or similar functions in existing or future agreements.

[0034] Second, in the embodiments shown below, the first, second, and various numerical designations are merely distinctions for descriptive convenience and are not intended to limit the scope of the embodiments of this application. For example, distinguishing different data sources, etc.

[0035] Third, "at least one" means one or more, while "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can mean: A alone, A and B simultaneously, or B alone, 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 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 of a, b, and c can mean: a, or b, or c, or a and b, or a and c, or b and c, or a, b, and c, where a, b, and c can be single or multiple.

[0036] In the process of reconciling (verifying) business transactions or identifying transaction types, it is usually necessary to match the two data sources of the same transaction. Therefore, a feasible data matching method is needed to realize transaction reconciliation.

[0037] In one possible implementation, two data sources for the same transaction can be matched using reconciliation identifiers. For example, electricity fees collected through methods such as direct debit, third-party payment, and automatic payment terminals (i.e., online banking transactions) are automatically generated by the bank's system and marketing business system according to agreed rules, and are matched during transaction data reconciliation to achieve reconciliation.

[0038] However, in real-world scenarios, due to human error in failing to set reconciliation flags for the data source or due to system malfunctions causing errors in the reconciliation flags, data matching becomes difficult.

[0039] This application provides a data matching method and a data matching device. The method can match transaction data by determining whether the matching fields of two transactions from different sources meet a preset matching relationship.

[0040] Figure 1 This is a schematic diagram illustrating a scenario 100 to which this application embodiment applies. For example... Figure 1 As shown, scenario 100 includes a first server 101, a second server 102, and a data processing device 103.

[0041] The first server 101 stores a first data source, the second server 102 stores a second data source, and the data processing device 103 is used to obtain the first data source and the second data source, and to match the transaction records in the first data source and the second data source.

[0042] For example, the data processing device 103 can obtain the first data source and the second data source from the first server 101 and the second server 102 respectively through the application programming interface (API).

[0043] For example, the data processing device 103 can also obtain the first data source and the second data source from the first server 101 and the second server 102 respectively via devices such as a universal serial bus (USB), optical disc, and portable hard drive. This application embodiment does not limit the form in which the data processing device 103 obtains the first data source and the second data source.

[0044] For example, the data processing device 103 may be a device with data processing capabilities, such as a server, but this application embodiment does not limit it to this.

[0045] For example, the embodiments of this application can be applied to scenarios where the transaction records of the first data source and the second data source do not include reconciliation identifiers. However, the data matching method provided in the embodiments of this application can also be used in scenarios where the transaction records of the first data source and the second data source include reconciliation identifiers. The embodiments of this application do not limit this.

[0046] Figure 2 This is a schematic flowchart illustrating a data matching method 200 provided in an embodiment of this application. Method 200 can be applied to the above-described scenario 100, and the steps of method 200 can be executed by a data processing device, but this embodiment does not limit this. Method 200 includes the following steps:

[0047] S201, The sample data is matched using the first matching rule to obtain the first matching result. The first matching rule includes the correspondence between preset fields and matching predicates.

[0048] S202, based on the first matching result, determine the first evaluation index, which includes the accuracy and / or matching rate of the first matching result.

[0049] S203, if the first evaluation indicator does not meet the preset conditions, adjust the preset fields of the first matching rule to obtain the second matching rule.

[0050] The adjustment includes at least one of the following: adding a preset field, deleting a preset field, changing the matching range of a preset field, or changing the matching content of a preset field.

[0051] S204, The sample data is matched using the second matching rule to obtain the second matching result.

[0052] S205, based on the second matching result, determine the second evaluation index, which includes the accuracy and / or matching rate of the second matching result.

[0053] S206, if the second evaluation index meets the preset conditions, the second matching rule is used to match the data to be matched.

[0054] In this application, when the data processing device matches sample data using the first matching rule, if the obtained first evaluation index fails to meet the preset conditions, the data processing device can adjust the preset fields of the first matching rule.

[0055] Optionally, S203 includes: adjusting the first matching rule based on the correction record to obtain a second matching rule. The correction record can be recorded by business personnel during the verification of the first matching result. The data processing device uses this second matching rule to match the data to be matched, which helps improve the accuracy of data matching.

[0056] Optionally, the default fields include receiving account, paying account, amount, time, and summary.

[0057] For example, if the content of the summary field of a record in a correction record changes, the data processing device can change the matching content of the summary field of the first matching rule based on the changed content of the record to obtain the second matching rule.

[0058] For example, if a record in the correction record can be successfully matched by changing the matching range of the time field from a two-second delay to a one-second delay, then the data processing device can modify the matching range of the time field in the preset field of the first matching rule to obtain the second matching rule.

[0059] For example, if a record in the correction record can be successfully matched by adding a transaction location field, then the data processing device can add a transaction location field to the preset fields of the first matching rule to obtain a second matching rule.

[0060] For example, if a record in the correction record can be successfully matched by removing the time field, then the data processing device can remove the transaction location field from the preset fields of the first matching rule to obtain the second matching rule.

[0061] Optionally, the preset condition can be a preset threshold. When the first evaluation metric includes the accuracy or matching rate of the first matching result, if the accuracy or matching rate of the first matching result is less than or equal to the first preset threshold, it indicates that the accuracy or matching rate of the first matching rule does not meet the requirements and the first matching rule needs to be optimized and updated.

[0062] Optionally, when the first evaluation metric includes the matching rate and accuracy of the first matching result, the data processing device can perform a weighted sum of the matching rate and accuracy of the first matching result to obtain an expected value. If the expected value is less than or equal to a second preset threshold, it indicates that the expected value of the first matching rule does not meet the requirements, and the first matching rule needs to be optimized and updated. It should be understood that when more emphasis is placed on the accuracy of the data processing device, a higher weight can be assigned to the accuracy. When more emphasis is placed on the matching rate of the data processing device, a higher weight can be assigned to the matching rate.

[0063] Figure 3 This is a schematic flowchart of another data matching method 300 provided in this application embodiment. The above-described S206 may include the steps of method 300. Method 300 can be applied to the above-described scenario 100, and the steps of method 300 can be executed by a data processing device, but this application embodiment does not limit this. Method 300 includes the following steps:

[0064] S301, retrieve the first transaction record to be matched from the first data source.

[0065] S302, retrieve the second transaction record to be matched from the second data source.

[0066] S303, based on the preset fields and the matching predicate of the preset fields, determine whether the relationship between the preset fields of the first transaction record to be matched and the second transaction record to be matched satisfies the matching predicate.

[0067] Optionally, the number of preset fields in the first transaction record to be matched is at least one, and the number of preset fields in the second transaction record to be matched is at least one. The number of preset fields is not limited in this embodiment.

[0068] S304, if the relationship between the preset fields of the first transaction record to be matched and the second transaction record to be matched satisfies the matching predicate, record the matching relationship between the first transaction record to be matched and the second transaction record to be matched.

[0069] In this embodiment, the first data source may include at least one transaction record, and the second data source may include at least one transaction record. The first transaction record to be matched in this embodiment may be any one of the at least one transaction record from the first data source, and the second transaction record to be matched may be any one of the at least one transaction record from the second data source; this embodiment does not limit the scope of the matching.

[0070] In this embodiment, the data processing device can preset fields for matching in the first and second transaction records to be matched. By determining whether the relationship between the preset fields satisfies a matching predicate, the device can reconcile the transaction data. This method can achieve reconciliation regardless of the presence of a reconciliation identifier, which improves data processing efficiency, simplifies transaction data reconciliation, and provides convenience.

[0071] As an optional embodiment, the first data source is bank transaction records, and the second data source is order transaction records. The preset fields of the first transaction record to be matched include at least one of the following fields: payment account, receiving account, transaction amount, transaction time, or summary. The preset fields of the second transaction record to be matched include at least one of the following fields: payment account, receiving account, order amount, payment time, or order summary.

[0072] This embodiment of the application uses bank transaction records as the first data source and order transaction records as the second data source as an example. For instance, the first transaction record to be matched in the bank transaction record includes five preset fields: payment account, receiving account, transaction amount, transaction time, and summary. The second transaction record to be matched in the order transaction record includes five preset fields: payment account, receiving account, order amount, payment time, and order summary.

[0073] In scenarios where it is necessary to verify the status of order transactions through bank transaction records, the data processing device can determine whether the preset fields of the first and second transaction records to be matched satisfy the matching predicate to verify the status of the order transaction.

[0074] As an optional embodiment, the matching predicate includes at least one of the following: greater than, equal to, less than, contain, included, contained in, or regular expression matching.

[0075] As an optional embodiment, when the first data source is bank transaction records and the second data source is order transaction records, the matching predicate between the payment account of the first transaction record to be matched and the payment account of the second transaction record to be matched is equal. The matching predicate between the receiving account of the first transaction record to be matched and the receiving account of the second transaction record to be matched is equal. The matching predicate between the transaction amount of the first transaction record to be matched and the order amount of the second transaction record to be matched is less than or equal to. The matching predicate between the transaction time of the first transaction record to be matched and the payment time of the second transaction record to be matched is equal. The matching predicate between the summary of the first transaction record to be matched and the order summary of the second transaction record to be matched is a regular expression match.

[0076] It should be understood that in actual transactions, there may be discrepancies between the transaction amount and the order amount. The actual transaction amount may be less than or equal to the order amount. Therefore, the matching predicate between the transaction amount of the first transaction record to be matched and the order amount of the second transaction record to be matched can be less than or equal to.

[0077] It should also be understood that in actual transactions, the payment time and transaction time may fluctuate and are not exactly equal. The transaction time may be less than or equal to the payment time. Here, "equal to" indicates synchronization in time, while "less than" means that the transaction time is later than the payment time or the payment time is later than the transaction time, but the later time is within a certain range.

[0078] After adding or deleting preset fields, the correspondence between the preset fields and the matching predicates may need to be adjusted accordingly. For example, if a transaction platform field is added to a bank transaction record and an order platform field is added to an order transaction record, the data processing device can adapt to the addition of matching predicates that need to be satisfied between the correspondence between the transaction platform field and the order platform field, such as fuzzy matching or keyword matching. This application embodiment does not limit this.

[0079] For example, Table 1 shows a possible correspondence between preset fields and matching predicates.

[0080] Table 1

[0081] Bank transaction records Order transaction history Matching predicates Payment Account Payment Account = Receiving account Receiving account = Transaction amount Order amount = Trading hours Payment time = summary Order amount Regular expression matching

[0082] When matching transaction data, the data processing device can determine whether the preset fields of the first transaction record to be matched and the preset fields of the second transaction record to be matched match based on the correspondence established as shown in Table 1. When the relationship between the preset fields satisfies the matching predicate, the data processing device determines that there is a matching relationship between the first transaction record to be matched and the second transaction record to be matched, and records the matching relationship between the first transaction record to be matched and the second transaction record to be matched.

[0083] Figure 4 This is a schematic flowchart of another data matching method 400 provided in this application embodiment. Method 400 can be applied to the above-described scenario 100, and the steps of method 400 can be executed by a data processing device, but this application embodiment does not limit this. Method 400 includes the following steps:

[0084] S401, retrieve the first transaction record to be matched from the first data source.

[0085] For example, the first transaction record to be matched includes at least one preset field.

[0086] S402, retrieve the second transaction record to be matched from the second data source.

[0087] For example, the second transaction record to be matched includes at least one preset field.

[0088] S403, retrieve the first preset field of the first transaction record to be matched.

[0089] The first preset field is one of at least one preset field of the first transaction record to be matched.

[0090] S404, retrieve the second preset field of the second transaction record to be matched.

[0091] The second preset field is one of at least one preset field of the second transaction record to be matched.

[0092] S405, obtain the matching predicate of the first preset field and the second preset field.

[0093] S406, determine whether the correspondence between the first preset field and the second preset field fully matches the predicate. If yes, execute S407. If no, return to S402.

[0094] S407, determine whether the first and second transaction records to be matched still have any preset fields that need to be matched. If yes, return to S406; otherwise, execute S408.

[0095] S408 records the matching relationship between the first and second transaction records to be matched.

[0096] In this embodiment of the application, the data processing device can match transaction records in the first data source and the second data source one by one. For example, after matching the preset fields of the first and second transaction records to be matched, if it is found that the relationship between the preset fields of the first and second transaction records to be matched does not satisfy the matching predicate, then the data processing device obtains another second transaction record to be matched from the second data source, and determines whether the relationship between the preset fields of the first transaction record to be matched and the other second transaction record to be matched satisfies the matching predicate based on the preset fields and the matching predicate of the preset fields. If the relationship between the preset fields of the first transaction record to be matched and the other second transaction record to be matched satisfies the matching predicate, the matching relationship between the first transaction record to be matched and the other second transaction record to be matched is recorded.

[0097] The data processing device can execute the above method 400 until all transaction records of the first data source or the second data source are matched, and then end the matching of transaction data.

[0098] Optionally, when the first data source and the second data source each include multiple transaction records, and the number of preset fields in the transaction records of the first data source is multiple, and the number of preset fields in the transaction records of the second data source is multiple, the data processing device can first filter the multiple transaction records of the first data source or the second data source through one of the multiple preset fields, and then determine the matching relationship between the transaction records in the first data source and the transaction records in the second data source based on the matching predicates of the other preset fields and the preset fields.

[0099] For example, the first data source includes transaction records A1, A2, and A3, and each transaction record has preset fields including payment account, receiving account, transaction amount, transaction time, and summary. The second data source includes transaction records B1, B2, and B3, and each transaction record has preset fields including payment account, receiving account, order amount, payment time, and order summary.

[0100] For example, the data processing device can obtain transaction record A1 from the first data source, and match the summary in the preset fields of transaction record A1 with the order summaries of transaction records B1, B2, and B3 respectively using matching predicates. If the data processing device finds that the relationship between the summary of transaction record A1 and the order summary of transaction record B1 does not satisfy the regular expression matching, then the data processing device can first exclude transaction record B1, and then determine the transaction record in the second data source that matches transaction record A1 by judging whether the correspondence between the payment account, receiving account, transaction amount, and transaction time of transaction record A1 and the payment account, receiving account, order amount, and payment time of transaction records B2 and B3 respectively satisfy the matching predicate.

[0101] It should be understood that the data processing device can also filter multiple transaction records from the first data source or the second data source by payment account, receiving account, transaction amount, or transaction time, and this application embodiment does not limit this.

[0102] Optionally, for two transaction records from different data sources that have a matching relationship, the data processing device can mark the two transaction records as matching, record the matching transaction records, and delete the matching transaction records from the first data source and the second data source respectively.

[0103] After matching all transaction records from the first and second data sources, the data processing device can store the matching transaction records locally, or the data processing device can send them to a database such as... Figure 1 The first server 101 and / or the second server 102 shown send transaction records marked with matching relationships, but this application embodiment does not limit this.

[0104] It should be understood that the sequence number of each process does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0105] The above text combines Figures 1 to 4 The data matching method according to the embodiments of this application is described in detail below. Figure 5 and Figure 6A detailed description of the data matching apparatus according to embodiments of this application is provided.

[0106] Figure 5 A schematic block diagram of a data matching device 500 provided in an embodiment of this application is shown. The device 500 includes an acquisition module 510 and a processing module 520.

[0107] The acquisition module 510 is used to: match sample data using a first matching rule to obtain a first matching result, wherein the first matching rule includes the correspondence between preset fields and matching predicates. The processing module 520 is used to: determine a first evaluation index based on the first matching result, wherein the first evaluation index includes the accuracy and / or matching rate of the first matching result; and, if the first evaluation index does not meet preset conditions, adjust the preset fields of the first matching rule to obtain a second matching rule, wherein the adjustment includes at least one of the following: adding preset fields, deleting preset fields, changing the matching range of preset fields, or changing the matching content of preset fields. The acquisition module 510 is used to: match sample data using the second matching rule to obtain a second matching result. The processing module 520 is used to: determine a second evaluation index based on the second matching result, wherein the second evaluation index includes the accuracy and / or matching rate of the second matching result; and, if the second evaluation index meets preset conditions, match the data to be matched using the second matching rule.

[0108] Optionally, the acquisition module 510 is used to: acquire a first transaction record to be matched from a first data source; and acquire a second transaction record to be matched from a second data source. The processing module 520 is used to: determine, based on preset fields and matching predicates of preset fields, whether the relationship between preset fields of the first transaction record to be matched and the second transaction record to be matched satisfies the matching predicate; and if the relationship between preset fields of the first transaction record to be matched and the second transaction record to be matched satisfies the matching predicate, record the matching relationship between the first transaction record to be matched and the second transaction record to be matched.

[0109] Optionally, the acquisition module 510 is configured to: acquire another second transaction record to be matched from the second data source if the relationship between the preset fields of the first transaction record to be matched and the second transaction record to be matched does not satisfy the matching predicate. The processing module 520 is configured to: determine whether the relationship between the preset fields of the first transaction record to be matched and the other second transaction record to be matched satisfies the matching predicate based on the preset fields and the matching predicate of the preset fields; and, if the relationship between the preset fields of the first transaction record to be matched and the other second transaction record to be matched satisfies the matching predicate, record the matching relationship between the first transaction record to be matched and the other second transaction record to be matched.

[0110] Optionally, the matching predicate includes at least one of the following: greater than, equal to, less than, contain, contained in, included in, or regular expression matching.

[0111] Optionally, the first data source is bank transaction records, and the second data source is order transaction records. The preset fields for the first transaction record to be matched include at least one of the following fields: payment account, receiving account, transaction amount, transaction time, or a summary. The preset fields for the second transaction record to be matched include at least one of the following fields: payment account, receiving account, order amount, payment time, or order summary.

[0112] Optionally, the matching predicate between the payment account of the first transaction record to be matched and the payment account of the second transaction record to be matched is equal. The matching predicate between the receiving account of the first transaction record to be matched and the receiving account of the second transaction record to be matched is equal. The matching predicate between the transaction amount of the first transaction record to be matched and the order amount of the second transaction record to be matched is less than or equal to. The matching predicate between the transaction time of the first transaction record to be matched and the payment time of the second transaction record to be matched is equal. The matching predicate between the summary of the first transaction record to be matched and the order summary of the second transaction record to be matched is a regular expression match.

[0113] In an alternative example, those skilled in the art will understand that device 500 may be specifically the data processing device described in the above embodiments, or the functions of the data processing device described in the above embodiments may be integrated into device 500. The above functions may be implemented by hardware or by hardware executing corresponding software. The hardware or software may include one or more modules corresponding to the above functions. Device 500 may be used to execute the various processes and / or steps corresponding to the data processing device in the above method embodiments.

[0114] It should be understood that the device 500 here is embodied in the form of a functional module. The term "module" here can refer to application-specific integrated circuits (ASICs), electronic circuits, processors (e.g., shared processors, proprietary processors, or group processors, etc.) and memories for executing one or more software or firmware programs, integrated logic circuits, and / or other suitable components supporting the described functions. In embodiments of this application, Figure 5 The device 500 in the text can also be a chip or a chip system, such as a system on chip (SoC).

[0115] Figure 6This is a schematic block diagram of another data matching device 600 provided in an embodiment of this application. The device 600 includes a processor 610, a transceiver 620, and a memory 630. The processor 610, transceiver 620, and memory 630 communicate with each other via internal interconnection. The memory 630 stores instructions, and the processor 610 executes the instructions stored in the memory 630 to control the transceiver 620 to transmit and / or receive signals.

[0116] It should be understood that device 600 may specifically be the data processing device in the above embodiments, or the functions of the data processing device in the above embodiments may be integrated into device 600. Device 600 may be used to execute the various steps and / or processes corresponding to the data processing device in the above method embodiments. Optionally, the memory 630 may include read-only memory and random access memory, and provide instructions and data to the processor. A portion of the memory may also include non-volatile random access memory. For example, the memory may also store device type information. The processor 610 may be used to execute instructions stored in the memory, and when the processor executes the instructions, the processor may execute the various steps and / or processes corresponding to the data processing device in the above method embodiments.

[0117] It should be understood that in the embodiments of this application, the processor 610 may be a central processing unit (CPU), or it may be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor, etc.

[0118] In implementation, each step of the above method can be completed by integrated logic circuits in the processor's hardware or by instructions in software. The steps of the method disclosed in the embodiments of this application can be directly manifested as execution by a hardware processor, or as a combination of hardware and software modules within the processor. The software modules can reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory, and the processor executes the instructions in the memory, combining them with its hardware to complete the steps of the above method. To avoid repetition, detailed descriptions are omitted here.

[0119] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0120] Those skilled in the art will 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.

[0121] 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 through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0122] 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.

[0123] In addition, 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.

[0124] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they 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 a portion 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 various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0125] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A data matching method, characterized by, The method comprises the following steps: adopting a first matching rule to match preset fields of sample data from different sources to obtain a first matching result, the first matching rule comprising whether a relationship between the preset fields of the data from different sources satisfies a matching predicate, and each of the preset fields corresponding to a matching predicate; determining a first evaluation index based on the first matching result, the first evaluation index comprising an accuracy rate and / or a matching rate of the first matching result; in a case where the first evaluation index does not satisfy a preset condition, adjusting the preset fields of the first matching rule to obtain a second matching rule, the adjustment comprising at least one of the following: adding a preset field, deleting a preset field, changing a matching range of a preset field, or changing a matching content of a preset field; adopting the second matching rule to match the sample data to obtain a second matching result; determining a second evaluation index based on the second matching result, the second evaluation index comprising an accuracy rate and / or a matching rate of the second matching result; in a case where the second evaluation index satisfies the preset condition, adopting the second matching rule to match to-be-matched data; wherein a first data source in the data from different sources is bank transaction flow, and a second data source is order transaction flow; the matching predicate is one of the following: greater than, equal to, less than, contains, is contained, is contained in, and regular matching; a matching predicate between a payment account of a first to-be-matched transaction record in the first data source and a payment account of a second to-be-matched transaction record in the second data source is equal to; a matching predicate between a payment account of a first to-be-matched transaction record in the first data source and a payment account of a second to-be-matched transaction record in the second data source is equal to; a matching predicate between a transaction amount of the first to-be-matched transaction record and an order amount of the second to-be-matched transaction record is less than or equal to; a matching predicate between a transaction time of the first to-be-matched transaction record and a payment time of the second to-be-matched transaction record is equal to; a matching predicate between a summary of the first to-be-matched transaction record and an order summary of the second to-be-matched transaction record is regular matching.

2. The method of claim 1, wherein, The method further comprises the following steps: obtaining a first to-be-matched transaction record from the first data source; obtaining a second to-be-matched transaction record from the second data source; determining whether a relationship between preset fields of the first to-be-matched transaction record and the second to-be-matched transaction record satisfies the matching predicate based on the preset fields and the matching predicate of the preset fields; in a case where the relationship between the preset fields of the first to-be-matched transaction record and the second to-be-matched transaction record satisfies the matching predicate, recording a matching relationship between the first to-be-matched transaction record and the second to-be-matched transaction record.

3. The method of claim 2, wherein, The method further comprises the following steps: in a case where the relationship between the preset fields of the first to-be-matched transaction record and the second to-be-matched transaction record does not satisfy the matching predicate, obtaining another second to-be-matched transaction record from the second data source; determine, based on the preset field and the matching predicate of the preset field, whether a relationship between the preset field of the first to-be-matched transaction record and the preset field of the another second to-be-matched transaction record satisfies the matching predicate; in a case where the relationship between the preset field of the first to-be-matched transaction record and the preset field of the another second to-be-matched transaction record satisfies the matching predicate, record a matching relationship between the first to-be-matched transaction record and the another second to-be-matched transaction record.

4. The method of claim 1, wherein: the preset field of the first to-be-matched transaction record comprises at least one of the following fields: a payment account, a receiving account, a transaction amount, a transaction time, or a summary; the preset field of the second to-be-matched transaction record comprises at least one of the following fields: a payment account, a receiving account, an order amount, a payment time, or an order summary.

5. A data matching apparatus, characterized by comprising: comprises: an acquisition module, configured to acquire a first matching result by matching preset fields of sample data of different sources using a first matching rule, the first matching rule comprising whether a relationship between the preset fields of the sample data of different sources satisfies a matching predicate, and each of the different preset fields corresponding to a matching predicate; a processing module, configured to determine a first evaluation index based on the first matching result, the first evaluation index comprising an accuracy rate and / or a matching rate of the first matching result; the processing module is further configured to, in a case where the first evaluation index does not satisfy a preset condition, adjust the preset fields of the first matching rule to obtain a second matching rule, the adjustment comprising at least one of the following: adding a preset field, deleting a preset field, changing a matching range of a preset field, or changing a matching content of a preset field; the acquisition module is further configured to acquire a second matching result by matching the sample data using the second matching rule; the processing module is further configured to determine a second evaluation index based on the second matching result, the second evaluation index comprising an accuracy rate and / or a matching rate of the second matching result; the processing module is further configured to, in a case where the second evaluation index satisfies the preset condition, match to-be-matched data using the second matching rule; wherein a first data source in the sample data of different sources is bank transaction flow, and a second data source is order transaction flow; the matching predicate is one of the following: greater than, equal to, less than, contains, is contained, is contained in, and regular matching; a matching predicate between a payment account of a first to-be-matched transaction record in the first data source and a payment account of a second to-be-matched transaction record in the second data source is equal to; a matching predicate between a receiving account of the first to-be-matched transaction record and a receiving account of the second to-be-matched transaction record is equal to; a matching predicate between a transaction amount of the first to-be-matched transaction record and an order amount of the second to-be-matched transaction record is less than or equal to; a matching predicate between a transaction time of the first to-be-matched transaction record and a payment time of the second to-be-matched transaction record is equal to; The matching predicate between the summary of the first to-be-matched transaction record and the order summary of the second to-be-matched transaction record is regular matching.

6. The apparatus of claim 5, wherein, The obtaining module is configured to: obtain a first to-be-matched transaction record from a first data source; obtain a second to-be-matched transaction record from a second data source; The processing module is configured to: determine, based on a preset field and a matching predicate of the preset field, whether a relationship between the preset fields of the first to-be-matched transaction record and the second to-be-matched transaction record satisfies the matching predicate; in a case where the relationship between the preset fields of the first to-be-matched transaction record and the second to-be-matched transaction record satisfies the matching predicate, record a matching relationship between the first to-be-matched transaction record and the second to-be-matched transaction record.

7. The matching device of claim 6, wherein, The obtaining module is configured to: in a case where the relationship between the preset fields of the first to-be-matched transaction record and the second to-be-matched transaction record does not satisfy the matching predicate, obtain another second to-be-matched transaction record from the second data source; The processing module is configured to: determine, based on a preset field and a matching predicate of the preset field, whether a relationship between the preset fields of the first to-be-matched transaction record and the another second to-be-matched transaction record satisfies the matching predicate; The processing module is further configured to: in a case where the relationship between the preset fields of the first to-be-matched transaction record and the another second to-be-matched transaction record satisfies the matching predicate, record a matching relationship between the first to-be-matched transaction record and the another second to-be-matched transaction record.

8. The matching apparatus according to claim 5, wherein the preset field of the first to-be-matched transaction record comprises at least one of the following fields: a payment account, a receiving account, a transaction amount, a transaction time, or a summary; the preset field of the second to-be-matched transaction record comprises at least one of the following fields: a payment account, a receiving account, an order amount, a payment time, or an order summary.

9. A data matching apparatus, characterized by comprising: comprising: a processor coupled to the memory, the memory configured to store a computer program, which, when invoked by the processor, causes the apparatus to perform the method of any one of claims 1 to 4.

10. A computer-readable storage medium, characterized in that, a computer program for storing instructions for implementing the method of any one of claims 1 to 4.

11. A computer program product, characterised in that, a computer program, which, when executed by a processor, implements the method of any one of claims 1 to 4.

Citation Information

Patent Citations

  • Medical data matching method and device, storage medium and electronic device

    CN109933612A

  • Automatic account checking method, automatic account checking equipment and computer readable storage medium

    CN111798296A