Transaction brokering method and apparatus

By generating a business relationship graph and performing directed cycle queries, matching transactions are filtered out and processed, solving the problems of low efficiency and high resource consumption in the existing payment system, and achieving efficient and accurate transaction matching.

CN116340412BActive Publication Date: 2026-08-25THE PEOPLES BANK OF CHINA NAT CLEARING CENT
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310301006.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-24
Publication Date
2026-08-25
Estimated Expiration
2043-03-24

AI Technical Summary

Technical Problem

The existing transaction matching mechanism of the payment system is inefficient and consumes a lot of computing resources when funds are sufficient, and there is no need for matching when funds are insufficient, which leads to increased system uptime or even crashes. The existing matching mechanism consumes too much computing resources and cannot effectively improve matching efficiency and accuracy.

Method used

By generating a business relationship graph, performing directed cycle query operations, determining the possible and non-acyclic graphs, filtering out matchable businesses, and performing business matching processing based on the business relationship graph, the possible and non-acyclic graphs, and combining initial position data filtering and balance judgment, businesses with negative balances are eliminated, and a second round of settlement is carried out.

Benefits of technology

It improved the efficiency and accuracy of transaction matching, reduced system resource consumption, prevented system crashes, and improved the efficiency of capital utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116340412B_ABST
    Figure CN116340412B_ABST
Patent Text Reader

Abstract

The embodiment of the application provides a kind of transaction business matching method and device, can be used in financial field, method includes: generating business relationship graph according to the business of each business participant in set time period Business data flow;Directional ring query operation is carried out in the business relationship graph, determines corresponding loopable graph and unloopable graph;According to the business relationship graph, the loopable graph and the unloopable graph, determine the business that can be matched, and execute business matching processing to the business that can be matched;The application can effectively improve the efficiency and accuracy of business matching.
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 can also be used in the financial field, specifically to a method and apparatus for matching transactions. Background Technology

[0002] Currently, the queuing and matching function of the payment system is mainly reflected in the SAPS system and NETS system, and is mainly divided into the following two types:

[0003] 1. Daytime business matching

[0004] Triggering condition: When the system is in daytime, a queuing transaction from bank A to bank B occurs, triggering this mechanism in real time.

[0005] Matching strategy: Search the list for queued transactions from bank B to bank A. If the search is successful, attempt to match transactions on both sides. If no reverse transaction is found, the matching process is terminated.

[0006] 2. End-of-day business matching

[0007] Triggering conditions: This mechanism is triggered when the system opens the clearing window and multiple banks have queued transactions.

[0008] Matching strategy: Search for matchable cycles in the queued service list. If a matchable cycle is found, attempt multilateral matching. If no matchable cycle is found, the matching process terminates. During the matching process, the priority of system services and the time they entered the queue are ignored, and as many services as possible are matched.

[0009] The inventors discovered that current payment system matching mechanisms are divided into manual and automatic methods, neither of which are currently in use. The main reasons are as follows:

[0010] First, the overall liquidity of the payment system is currently quite sufficient, and the daily settlement amount of participants accounts for a small proportion of the required reserve. According to existing business rules, small-amount and online banking deposits are also considered as required reserves and can accrue interest at the required reserve rate. Therefore, commercial banks tend to deposit sufficient funds to ensure timely settlement of business.

[0011] Secondly, the situation where insufficient funds of participants lead to the opening of the clearing window is mostly due to insufficient funds of a single commercial bank, which does not involve business queuing between two or more parties, and therefore does not require the activation of the matching mechanism.

[0012] Third, the existing matching mechanism uses graph computing. Even a slight increase in the number of participants and queued transactions will lead to a significant increase in computational resource consumption. Test results show that when the number of participants reaches five or more, or when there are many transactions, system uptime will increase dramatically, potentially even causing system crashes. Summary of the Invention

[0013] To address the problems in the prior art, this application provides a transaction matching method and apparatus, which can effectively improve the efficiency and accuracy of transaction matching.

[0014] To solve at least one of the above problems, this application provides the following technical solution:

[0015] Firstly, this application provides a method for matching transactions, including:

[0016] Generate a business relationship diagram based on the business transaction data of each business participant within a set time period;

[0017] Perform a directed cycle query operation on the business relationship graph to determine the corresponding acyclic and non-acyclic graphs.

[0018] Based on the business relationship diagram, the acyclic diagram, and the non-cyclic diagram, matchable businesses are identified, and business matching processing is performed on the matchable businesses.

[0019] Furthermore, the step of performing a directed cycle query operation in the business relationship graph to determine the corresponding acyclic and non-cyclic graphs includes:

[0020] Using the edge with the smallest weight as the reference, query the directed cycle in the business relationship graph;

[0021] If a directed cycle is found, it is included in the graph that can form a cycle; otherwise, it is included in the graph that cannot form a cycle.

[0022] Furthermore, the step of performing a directed cycle query operation in the business relationship graph to determine the corresponding acyclic and non-cyclic graphs includes:

[0023] Using the edge with the smallest weight as a reference, query the directed cycle in the business relationship graph, add the queried directed cycle to the cycle graph, and delete the directed cycle from the business relationship graph to continue querying other directed cycles until no directed cycle can be found in the business relationship graph.

[0024] Using edges with higher weights as a reference, continue searching for directed cycles in the business relationship graph until there are no more directed cycles in the business relationship graph. Then, include the remaining part of the business relationship graph in the non-cyclic graph.

[0025] Further, determining the matchable business based on the business relationship graph, the acyclic graph, and the non-cyclic graph includes:

[0026] Business matching availability is screened based on the common edges of the business relationship graph, the acyclic graph, and the non-cyclic graph.

[0027] Based on the results of the business matchability screening, the corresponding matchable businesses and business transaction data are determined.

[0028] Further, before performing the service matching process on the matchable service, the process includes:

[0029] The maximum total business volume that each business parameter can achieve is determined based on the initial position data of the relevant business participants, and a list of business combinations to be judged is selected from the business transaction data.

[0030] Determine whether the total amount of the services listed in the service combination list exceeds the maximum achievable total amount of services. If so, determine that the current balance of the corresponding service participant is negative and remove the service initiated by it from the matchable services.

[0031] Further, the step of performing business matching processing on the matchable business includes:

[0032] Determine if the current balance of the corresponding business participant is positive;

[0033] If so, then business matching processing will be performed based on the current balance and outstanding business of the corresponding business participant until the current balance is less than the outstanding amount.

[0034] Secondly, this application provides a transaction matching device, comprising:

[0035] The graph generation module is used to generate a business relationship graph based on the business transaction data of each business participant within a set time period.

[0036] The directed query module is used to perform directed cycle query operations in the business relationship graph to determine the corresponding acyclic graph and non-cyclic graph;

[0037] The business matching module is used to determine matchable businesses based on the business relationship graph, the acyclic graph, and the non-cyclic graph, and to perform business matching processing on the matchable businesses.

[0038] Furthermore, the directed query module includes:

[0039] The directed cycle query unit is used to query the directed cycle in the business relationship graph based on the edge with the minimum weight.

[0040] The resulting graph unit is used to count a directed cycle as a possible cycle graph if a directed cycle is found, otherwise it is counted as a non-cycle graph.

[0041] Furthermore, the directed query module also includes:

[0042] The cycle-forming graph determination unit is used to query the directed cycle in the business relationship graph based on the edge with the minimum weight, add the queried directed cycle to the cycle-forming graph, and delete the directed cycle from the business relationship graph to continue querying other directed cycles until no directed cycle can be found in the business relationship graph.

[0043] The non-cyclic graph determination unit is used to continue searching for directed cycles in the business relationship graph based on edges with higher weights, until there are no more directed cycles in the business relationship graph, and then the remaining part of the business relationship graph is included in the non-cyclic graph.

[0044] Furthermore, the business matching module includes:

[0045] The matching ability filtering unit is used to perform business matching ability filtering based on the common edges of the business relationship graph, the acyclic graph, and the non-cyclic graph;

[0046] The matching business determination unit is used to determine the corresponding matching business and business transaction data based on the result of the business matching ability screening.

[0047] Furthermore, the business matching module also includes:

[0048] The position analysis unit is used to determine the maximum total business volume that each business parameter can achieve based on the initial position data of the corresponding business participants, and to select from the business transaction data to form a list of business combinations to be judged.

[0049] The anomaly removal unit is used to determine whether the total amount of the services listed in the service combination list exceeds the maximum achievable total amount of services. If so, it determines that the current balance of the corresponding service participant is negative and removes the service initiated by it from the matchable services.

[0050] Furthermore, the business matching module also includes:

[0051] The balance determination unit is used to determine whether the current balance of the corresponding business participant is positive;

[0052] The business clearing unit is used to perform business matching processing based on the current balance and unsettled business of the corresponding business participant, until the current balance is less than the unsettled amount.

[0053] Thirdly, this application provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the steps of the transaction matching method described above.

[0054] Fourthly, this application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the transaction matching method described above.

[0055] Fifthly, this application provides a computer program product, including a computer program / instructions, which, when executed by a processor, implement the steps of the transaction matching method described above.

[0056] As can be seen from the above technical solution, this application provides a transaction matching method and apparatus, which generates a transaction relationship graph by generating transaction data of each business participant within a set time period; performs a directed cycle query operation on the transaction relationship graph to determine the corresponding acyclic and non-cyclic graphs; determines matchable transactions based on the transaction relationship graph, the acyclic graph, and the non-cyclic graph, and performs transaction matching processing on the matchable transactions, thereby effectively improving the efficiency and accuracy of transaction matching. Attached Figure Description

[0057] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0058] Figure 1 This is one of the flowcharts illustrating the transaction matching method in the embodiments of this application;

[0059] Figure 2 This is a second flowchart illustrating the transaction matching method in the embodiments of this application;

[0060] Figure 3 This is the third flowchart illustrating the transaction matching method in the embodiments of this application;

[0061] Figure 4 This is the fourth flowchart illustrating the transaction matching method in the embodiments of this application;

[0062] Figure 5 This is the fifth flowchart illustrating the transaction matching method in the embodiments of this application;

[0063] Figure 6 This is the sixth flowchart illustrating the transaction matching method in the embodiments of this application;

[0064] Figure 7 This is one of the structural diagrams of the transaction matching device in the embodiments of this application;

[0065] Figure 8 This is a second structural diagram of the transaction matching device in the embodiments of this application;

[0066] Figure 9 This is the third structural diagram of the transaction matching device in the embodiments of this application;

[0067] Figure 10 This is the fourth structural diagram of the transaction matching device in the embodiments of this application;

[0068] Figure 11 This is the fifth structural diagram of the transaction matching device in the embodiments of this application;

[0069] Figure 12 This is the sixth structural diagram of the transaction matching device in the embodiments of this application;

[0070] Figure 13 This is a schematic diagram of the business relationship diagram in one embodiment of this application;

[0071] Figure 14 This is a schematic diagram of a directed cycle query operation in one embodiment of this application;

[0072] Figure 15 This is a schematic diagram of a loopable diagram in one embodiment of this application;

[0073] Figure 16 This is a schematic diagram of a non-loopable graph in one embodiment of this application;

[0074] Figure 17 This is a flowchart illustrating a transaction matching method according to an embodiment of this application.

[0075] Figure 18 This is a schematic diagram of the structure of the electronic device in the embodiments of this application. Detailed Implementation

[0076] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0077] The acquisition, storage, use, and processing of data in this application all comply with the relevant provisions of national laws and regulations.

[0078] In view of the problems existing in the prior art, this application provides a transaction matching method and apparatus, which generates a business relationship graph by generating business relationship data of each business participant within a set time period; performs a directed cycle query operation on the business relationship graph to determine the corresponding acyclic graph and non-cyclic graph; determines the matchable business based on the business relationship graph, the acyclic graph and the non-cyclic graph, and performs business matching processing on the matchable business, thereby effectively improving the efficiency and accuracy of business matching.

[0079] To effectively improve the efficiency and accuracy of transaction matching, this application provides an embodiment of a transaction matching method, see below. Figure 1 The transaction matching method specifically includes the following:

[0080] Step S101: Generate a business relationship diagram based on the business transaction data of each business participant within a set time period.

[0081] Optionally, this application can generate a business relationship diagram based on the business transaction data of each business participant within a set time period.

[0082] For example, assume there are 6 participants, numbered 1-6, with an initial balance of 50 for each. There are a total of 50 transactions, with the transaction amounts randomly and evenly distributed between 50 and 100. See Table 1 below for details:

[0083] Table 1 Business Transaction Data Table

[0084]

[0085]

[0086]

[0087] Based on the business transaction data in Table 1 above, this application can use existing knowledge graph technology to generate a business transaction relationship graph, see [link / reference]. Figure 13 As shown.

[0088] Step S102: Perform a directed cycle query operation on the business relationship graph to determine the corresponding acyclic and non-cyclic graphs.

[0089] Optional, with Figure 13 Taking the business relationship graph as an example, this application can start from the edge with the smallest weight and search for directed cycles.

[0090] For example, the direction of the edge with the smallest amount is from 2 to 5, with a weight of 4. The directed cycle search result is 2-5-3-4-2, as shown below. Figure 14As shown. Simultaneously, the corresponding weights in the aforementioned rings are removed from the initial business relationship diagram.

[0091] If a directed cycle can be found at this point, then that cycle is included in the graph of possible cycles. See [link to graph]. Figure 15 Then, remove the cycle from the business relationship graph; if the edge with the smallest weight cannot form a directed cycle, select the edge with the second smallest weight and continue searching for a directed cycle; if the original business relationship graph is completely devoid of directed cycles, then include the remaining parts of the remaining business relationship graph in the non-cyclic graph, see [link to relevant documentation]. Figure 16 .

[0092] Step S103: Based on the business relationship diagram, the acyclic graph, and the non-cyclic graph, determine the matchable business and perform business matching processing on the matchable business.

[0093] Optionally, this application can compare the business relationship diagram, the acyclic diagram, and the non-cyclic diagram, and combine them with the original business relationship information to select specific businesses that can be settled.

[0094] For example, by comparison Figure 14 , Figure 15 , Figure 16 It can be observed that the transactions on edges 2-3, 3-5, and 4-5 require further screening for matchability. The screening results are shown in Tables 2.1, 2.2, and 2.3 below:

[0095] Table 2.1 Screening Checklist

[0096]

[0097] Table 2.2 Screening Checklist

[0098]

[0099] Table 2.3 Screening Comparison Table

[0100]

[0101] Therefore, taking the business transactions between nodes 2 and 3 as an example, the screening target is the smallest business combination between nodes 2 and 3 whose total amount is greater than 22, and its corresponding actual business amount.

[0102] first step:

[0103] First, all business transactions from participant 2 to participant 3 are filtered out, as shown in Table 3 below.

[0104] Table 3

[0105]

[0106] Among them, the business transactions with serial numbers 33 and 38 are in the same direction as the target business transactions. Summing them up, we can find that the maximum sum of the business amounts in this direction is 170, which is the tentative actual business amount in this direction, denoted as sum.

[0107] For transactions where the direction of the transaction differs from the direction of the destination, the transaction is rewritten by swapping the initiator and recipient, and adjusting the transaction amount to negative. The adjusted transaction details are shown in Table 4 below:

[0108] Table 4

[0109]

[0110] Step Two:

[0111] Select n transactions from the business transactions to form a list of business combinations to be judged, with n=1 initially. In this case, when n=1 (i.e., in the initial state), the list of business combinations to be judged is (1)81.

[0112] (2)89. (3)-93.

[0113] Step 3:

[0114] Summing the above list of business combinations to be judged, when n=1, the sum of the businesses contained in the three business combination lists are (1) 81. (2) 89. (3) -93.

[0115] Step 4:

[0116] Determine if any of the sums of the transactions obtained in step three (81, 89, -93) equals the target amount (22). If it does, all transactions in the transaction combination list corresponding to that value are selected, and the filtering process ends. If it does not, the filtering process continues.

[0117] Step 5:

[0118] Determine if the maximum value among the sums of transactions obtained in step three (81, 89, -93) is greater than the target amount (22). If not, increment the number of selected transactions (n ​​in step two) by one and return to step two to continue processing. If the sum exists, proceed to the next filtering step.

[0119] Step 6:

[0120] Filter the sum of transactions obtained in step three (81, 89, -93) in sequence, ensuring that it simultaneously satisfies (1) greater than the target amount and (2) less than the actual transaction amount (i.e., sum). Update sum to the current amount until all transactions obtained in step three have been filtered. In this case, sum is updated to 81.

[0121] Step 7:

[0122] Determine if n equals the total number of transactions to be filtered. If yes, the matching ends, and the transaction corresponding to the sum value is the final selected transaction. If no, increment the number of selected transactions (i.e., n in step two) by one, and return to step two.

[0123] The above explains the key steps of the screening process; see flowchart below. Figure 17 .

[0124] The key subsequent processing steps and results are as follows:

[0125] Step 2: When n=2, the list of business combinations to be judged is (1) 81, 89. (2) 81, -93. (3) 89, -93.

[0126] Step 3: The sum of the businesses in the business portfolio list is (1) 170. (2) -12. (3) -4.

[0127] Step 4: If no business combination meets the criteria, continue the screening.

[0128] Step 5: If the maximum value of the sum of the business operations obtained in Step 3 is greater than 22, continue filtering.

[0129] Step 6: The sum of the business operations required in Step 3 does not simultaneously satisfy (1) greater than 22 and (2) less than 81. At this point, the sum value is still less than 81.

[0130] Step 7: At this point, n = 2, which is less than the current total number of business transactions (3). Adjust n to 3 and return to step 2.

[0131] Step 2: When n=3, the list of business combinations to be judged is (1) 81, 89, -93.

[0132] Step 3: The sum of the businesses in the business portfolio list is (1)77.

[0133] Step 4: If no business combination meets the criteria, continue the screening.

[0134] Step 5: If the maximum value of the sum of the business operations obtained in Step 3 is greater than 22, continue filtering.

[0135] Step 6: The sum of the business operations obtained in Step 3 simultaneously satisfies (1) greater than 22 and (2) less than 81. At this point, the sum value is updated to 77.

[0136] Step 7: At this point, n equals the current total number of business transactions (3), and the matching ends.

[0137] That is, all three transactions in Table 1 are selected at this time.

[0138] Optionally, after screening out the matchable transactions, this application can calculate the current balance of each participant (node) based on the initial position. If there is a participant with a negative balance, the transactions initiated by that participant are removed. If all participants have positive balances, a second round of clearing is performed by comparing each participant's current balance with the outstanding transactions, until all participants' current balances are less than the amount of their outstanding transactions.

[0139] As can be seen from the above description, the transaction matching method provided in this application can generate a business relationship graph by using the business transaction data of each business participant within a set time period; perform a directed cycle query operation in the business relationship graph to determine the corresponding acyclic graph and non-cyclic graph; determine the matchable business based on the business relationship graph, the acyclic graph, and the non-cyclic graph, and perform business matching processing on the matchable business, thereby effectively improving the efficiency and accuracy of business matching.

[0140] In one embodiment of the transaction matching method of this application, see [link to relevant documentation]. Figure 2 It can also specifically include the following:

[0141] Step S201: Using the edge with the minimum weight as the reference, query the directed cycle in the business relationship graph.

[0142] Step S202: If a directed cycle is found, it is included in the graph that can form a cycle; otherwise, it is included in the graph that cannot form a cycle.

[0143] Optional, with Figure 13 Taking the business relationship graph as an example, this application can start from the edge with the smallest weight and search for directed cycles.

[0144] For example, the direction of the edge with the smallest amount is from 2 to 5, with a weight of 4. The directed cycle search result is 2-5-3-4-2, as shown below. Figure 14 As shown. Simultaneously, the corresponding weights in the aforementioned rings are removed from the initial business relationship diagram.

[0145] If a directed cycle can be found at this point, then that cycle is included in the graph of possible cycles. See [link to graph]. Figure 15 Then, remove the cycle from the business relationship graph; if the edge with the smallest weight cannot form a directed cycle, select the edge with the second smallest weight and continue searching for a directed cycle; if the original business relationship graph is completely devoid of directed cycles, then include the remaining parts of the remaining business relationship graph in the non-cyclic graph, see [link to relevant documentation]. Figure 16 .

[0146] In one embodiment of the transaction matching method of this application, see [link to relevant documentation]. Figure 3 It can also specifically include the following:

[0147] Step S301: Using the edge with the smallest weight as a reference, query the directed cycle in the business relationship graph, add the queried directed cycle to the cycle graph, and delete the directed cycle from the business relationship graph to continue querying other directed cycles until no directed cycle can be found in the business relationship graph.

[0148] Step S302: Using the edge with the higher weight as a reference, continue to search for directed cycles in the business relationship graph until there are no more directed cycles in the business relationship graph. Then, include the remaining part of the business relationship graph in the non-cyclic graph.

[0149] Optionally, if a directed cycle can be found, then the cycle is included in the graph of possible cycles. See [link to graph]. Figure 15 Then, remove the cycle from the business relationship graph; if the edge with the smallest weight cannot form a directed cycle, select the edge with the second smallest weight and continue searching for a directed cycle; if the original business relationship graph is completely devoid of directed cycles, then include the remaining parts of the remaining business relationship graph in the non-cyclic graph, see [link to relevant documentation]. Figure 16 .

[0150] In one embodiment of the transaction matching method of this application, see [link to relevant documentation]. Figure 4 It can also specifically include the following:

[0151] Step S401: Perform business matchmaking screening based on the common edges of the business relationship graph, the acyclic graph, and the non-cyclic graph.

[0152] Step S402: Determine the corresponding matchable services and business transaction data based on the results of the business matchability screening.

[0153] In one embodiment of the transaction matching method of this application, see [link to relevant documentation]. Figure 5 It can also specifically include the following:

[0154] Step S501: Determine the maximum total business volume that each business parameter can achieve based on the initial position data of the corresponding business participants, and select from the business transaction data to form a list of business combinations to be judged.

[0155] Step S502: Determine whether the total amount of the services listed in the service combination list exceeds the maximum achievable total amount of services. If so, determine that the current balance of the corresponding service participant is negative and remove the service initiated by it from the matchable services.

[0156] Optionally, this application can calculate the balance under the above matching scenario based on the above transaction details and the initial balance of each participant (e.g., 50 each), as shown in Table 5 below:

[0157] Table 5 Balance Sheet

[0158]

[0159] At this point, Participant 2 has a negative balance. Based on the previous analysis, business filtering was only performed on transactions between points 2 and 3. Therefore, further filtering of transactions between these two points is necessary. The filtering results are shown in Table 6 below:

[0160] Table 6 Screening Table

[0161]

[0162] At this point, delete the above three transactions from the initial business transactions, and repeat the above operation from step one until the balance is positive after all participants have matched.

[0163] In one embodiment of the transaction matching method of this application, see [link to relevant documentation]. Figure 6 It can also specifically include the following:

[0164] Step S601: Determine whether the current balance of the corresponding business participant is positive.

[0165] Step S602: If so, perform business matching processing based on the current balance and outstanding business of the corresponding business participant until the current balance is less than the outstanding amount.

[0166] Optionally, by comparing the balances and outstanding transactions of each participant, if a balance exceeds the minimum outstanding transaction amount, the transaction is considered matchable and supplemented for matching. In this example, the two transactions between participants 5-1 and 1-5, with amounts of 56 and 54 respectively, both fall under this category and can be matched, as shown in Table 7 below:

[0167] Table 7 Matching Table

[0168]

[0169] At this point, all matchable transactions have been completed. Matched transactions account for 60% of the total number of queued transactions and 38% of the total transaction amount.

[0170] To effectively improve the efficiency and accuracy of transaction matching, this application provides an embodiment of a transaction matching apparatus for implementing all or part of the aforementioned transaction matching method. See [link to embodiment]. Figure 7 The transaction matching device specifically includes the following components:

[0171] The graph generation module 10 is used to generate a business relationship graph based on the business transaction data of each business participant within a set time period.

[0172] The directed query module 20 is used to perform directed cycle query operations in the business relationship graph to determine the corresponding cycle-forming graph and non-cycle-forming graph.

[0173] The business matching module 30 is used to determine matchable businesses based on the business relationship diagram, the acyclic graph, and the non-cyclic graph, and to perform business matching processing on the matchable businesses.

[0174] As can be seen from the above description, the transaction matching device provided in this application embodiment can generate a business relationship graph by using the business transaction data of each business participant within a set time period; perform a directed cycle query operation in the business relationship graph to determine the corresponding acyclic graph and non-cyclic graph; determine the matchable business based on the business relationship graph, the acyclic graph and the non-cyclic graph, and perform business matching processing on the matchable business, thereby effectively improving the efficiency and accuracy of business matching.

[0175] In one embodiment of the transaction matching device of this application, see [link to embodiment]. Figure 8 The directed query module 20 includes:

[0176] The directed cycle query unit 21 is used to query the directed cycle in the business relationship graph based on the edge with the minimum weight.

[0177] The resulting graph unit 22 is used to include a graph that can form a cycle if a directed cycle is found, otherwise it is included in a graph that cannot form a cycle.

[0178] In one embodiment of the transaction matching device of this application, see [link to embodiment]. Figure 9 The directed query module 20 further includes:

[0179] The cycle-forming graph determination unit 23 is used to query the directed cycle in the business relationship graph based on the edge with the minimum weight, add the queried directed cycle to the cycle-forming graph, and delete the directed cycle from the business relationship graph to continue querying other directed cycles until no directed cycle can be found in the business relationship graph.

[0180] The non-cyclic graph determination unit 24 is used to continue searching for directed cycles in the business relationship graph based on edges with higher weights, until there are no more directed cycles in the business relationship graph, and then include the remaining part of the business relationship graph in the non-cyclic graph.

[0181] In one embodiment of the transaction matching device of this application, see [link to embodiment]. Figure 10 The business matching module 30 includes:

[0182] The matchability screening unit 31 is used to perform business matchability screening based on the common edges of the business relationship graph, the acyclic graph, and the non-cyclic graph.

[0183] The matching business determination unit 32 is used to determine the corresponding matching business and business transaction data based on the result of the matching business screening.

[0184] In one embodiment of the transaction matching device of this application, see [link to embodiment]. Figure 11 The business matching module 30 further includes:

[0185] Position analysis unit 33 is used to determine the maximum total business volume that each business parameter can achieve based on the initial position data of the corresponding business participants, and to select from the business transaction data to form a list of business combinations to be judged.

[0186] The anomaly removal unit 34 is used to determine whether the total amount of the services listed in the service combination list exceeds the maximum achievable total amount of services. If so, it determines that the current balance of the corresponding service participant is negative and removes the service initiated by it from the matchable services.

[0187] In one embodiment of the transaction matching device of this application, see [link to embodiment]. Figure 12 The business matching module 30 further includes:

[0188] Balance determination unit 35 is used to determine whether the current balance of the corresponding business participant is positive.

[0189] The business clearing unit 36 ​​is used to perform business matching processing based on the current balance and unsettled business of the corresponding business participant, until the current balance is less than the unsettled amount.

[0190] From a hardware perspective, in order to effectively improve the efficiency and accuracy of transaction matching, this application provides an embodiment of an electronic device for implementing all or part of the transaction matching method, wherein the electronic device specifically includes the following:

[0191] The system comprises a processor, memory, a communications interface, and a bus; wherein the processor, memory, and communications interface communicate with each other via the bus; the communications interface is used to realize information transmission between the transaction matching device and core business systems, user terminals, and related databases and other related devices; the logic controller can be a desktop computer, tablet computer, or mobile terminal, etc., and this embodiment is not limited to these. In this embodiment, the logic controller can be implemented with reference to the embodiments of the transaction matching method and the transaction matching device in the embodiments, the content of which is incorporated herein, and repeated details will not be described again.

[0192] It is understood that the user terminal may include smartphones, tablet computers, network set-top boxes, portable computers, desktop computers, personal digital assistants (PDAs), in-vehicle devices, smart wearable devices, etc. Among these, the smart wearable devices may include smart glasses, smartwatches, smart bracelets, etc.

[0193] In practical applications, the transaction matching method can be partially executed on the electronic device side as described above, or all operations can be completed on the client device. The choice can be made based on the processing power of the client device and the limitations of the user's usage scenario. This application does not impose any limitations on this. If all operations are completed on the client device, the client device may further include a processor.

[0194] The aforementioned client device may have a communication module (i.e., a communication unit) that can communicate with a remote server to achieve data transmission. The server may include a server on the task scheduling center side; in other implementation scenarios, it may also include a server on an intermediate platform, such as a server on a third-party server platform that has a communication link with the task scheduling center server. The server may include a single computer device, a server cluster consisting of multiple servers, or a distributed server structure.

[0195] Figure 18 This is a schematic block diagram illustrating the system configuration of the electronic device 9600 according to an embodiment of this application. Figure 18 As shown, the electronic device 9600 may include a central processing unit 9100 and a memory 9140; the memory 9140 is coupled to the central processing unit 9100. It is worth noting that... Figure 18 This is an example; other types of structures can also be used to supplement or replace this structure to achieve telecommunications functions or other functions.

[0196] In one embodiment, the transaction matching method function can be integrated into the central processing unit 9100. The central processing unit 9100 can be configured to perform the following controls:

[0197] Step S101: Generate a business relationship diagram based on the business transaction data of each business participant within a set time period.

[0198] Step S102: Perform a directed cycle query operation on the business relationship graph to determine the corresponding acyclic and non-cyclic graphs.

[0199] Step S103: Based on the business relationship diagram, the acyclic graph, and the non-cyclic graph, determine the matchable business and perform business matching processing on the matchable business.

[0200] As described above, the electronic device provided in this application generates a business relationship graph by using the business transaction data of each business participant within a set time period; performs a directed cycle query operation on the business relationship graph to determine the corresponding acyclic and non-cyclic graphs; and determines matchable businesses based on the business relationship graph, the acyclic graph, and the non-cyclic graph, and performs business matching processing on the matchable businesses, thereby effectively improving the efficiency and accuracy of business matching.

[0201] In another embodiment, the transaction matching device can be configured separately from the central processing unit 9100. For example, the transaction matching device can be configured as a chip connected to the central processing unit 9100, and the transaction matching method function can be implemented through the control of the central processing unit.

[0202] like Figure 18 As shown, the electronic device 9600 may further include: a communication module 9110, an input unit 9120, an audio processor 9130, a display 9160, and a power supply 9170. It is worth noting that the electronic device 9600 does not necessarily need to include these components. Figure 18 All components shown; in addition, the electronic device 9600 may also include Figure 18 For components not shown, please refer to existing technologies.

[0203] like Figure 18 As shown, the central processing unit 9100, sometimes also referred to as a controller or operating control, may include a microprocessor or other processor device and / or logic device, which receives inputs and controls the operation of various components of the electronic device 9600.

[0204] The memory 9140 may be, for example, one or more of a cache, flash memory, hard drive, removable media, volatile memory, non-volatile memory, or other suitable devices. It may store the aforementioned failure-related information, and also store a program for executing that information. The central processing unit 9100 may execute the program stored in the memory 9140 to perform information storage or processing, etc.

[0205] Input unit 9120 provides input to central processing unit 9100. Input unit 9120 may be, for example, a keypad or touch input device. Power supply 9170 provides power to electronic device 9600. Display 9160 displays images and text. Display may be, for example, an LCD display, but is not limited thereto.

[0206] The memory 9140 can be a solid-state memory, such as a read-only memory (ROM), random access memory (RAM), a SIM card, etc. It can also be a memory that retains information even when power is off, can be selectively erased, and contains more data; examples of this type of memory are sometimes referred to as EPROMs. The memory 9140 can also be some other type of device. The memory 9140 includes a buffer memory 9141 (sometimes referred to as a buffer). The memory 9140 may include an application / function storage unit 9142 for storing application programs and function programs or processes for executing the operation of the electronic device 9600 via the central processing unit 9100.

[0207] The memory 9140 may also include a data storage unit 9143 for storing data, such as contacts, digital data, pictures, sounds, and / or any other data used by the electronic device. The driver storage unit 9144 of the memory 9140 may include various drivers for the electronic device's communication functions and / or for performing other functions of the electronic device (such as messaging applications, address book applications, etc.).

[0208] The communication module 9110 is a transmitter / receiver 9110 that transmits and receives signals via the antenna 9111. The communication module (transmitter / receiver) 9110 is coupled to the central processing unit 9100 to provide input signals and receive output signals, which can be the same as in a conventional mobile communication terminal.

[0209] Based on different communication technologies, multiple communication modules 9110 can be configured in the same electronic device, such as cellular network modules, Bluetooth modules, and / or wireless LAN modules. The communication module (transmitter / receiver) 9110 is also coupled to a speaker 9131 and a microphone 9132 via an audio processor 9130 to provide audio output via the speaker 9131 and receive audio input from the microphone 9132, thereby realizing typical telecommunications functions. The audio processor 9130 may include any suitable buffer, decoder, amplifier, etc. Additionally, the audio processor 9130 is coupled to a central processing unit 9100, enabling on-device recording via the microphone 9132 and on-device playback of stored sound via the speaker 9131.

[0210] Embodiments of this application also provide a computer-readable storage medium capable of implementing all steps of the transaction matching method with a server or client as the execution subject in the above embodiments. The computer-readable storage medium stores a computer program that, when executed by a processor, implements all steps of the transaction matching method with a server or client as the execution subject in the above embodiments. For example, when the processor executes the computer program, it implements the following steps:

[0211] Step S101: Generate a business relationship diagram based on the business transaction data of each business participant within a set time period.

[0212] Step S102: Perform a directed cycle query operation on the business relationship graph to determine the corresponding acyclic and non-cyclic graphs.

[0213] Step S103: Based on the business relationship diagram, the acyclic graph, and the non-cyclic graph, determine the matchable business and perform business matching processing on the matchable business.

[0214] As described above, the computer-readable storage medium provided in this application generates a business relationship graph by using the business transaction data of each business participant within a set time period; performs a directed cycle query operation on the business relationship graph to determine the corresponding acyclic and non-cyclic graphs; and determines matchable businesses based on the business relationship graph, the acyclic graph, and the non-cyclic graph, and performs business matching processing on the matchable businesses, thereby effectively improving the efficiency and accuracy of business matching.

[0215] Embodiments of this application also provide a computer program product capable of implementing all steps of the transaction matching method in the above embodiments, where the execution subject is a server or a client. When this computer program / instruction is executed by a processor, it implements the steps of the transaction matching method. For example, the computer program / instruction implements the following steps:

[0216] Step S101: Generate a business relationship diagram based on the business transaction data of each business participant within a set time period.

[0217] Step S102: Perform a directed cycle query operation on the business relationship graph to determine the corresponding acyclic and non-cyclic graphs.

[0218] Step S103: Based on the business relationship diagram, the acyclic graph, and the non-cyclic graph, determine the matchable business and perform business matching processing on the matchable business.

[0219] As described above, the computer program product provided in this application generates a business relationship graph by using the business transaction data of each business participant within a set time period; performs a directed cycle query operation on the business relationship graph to determine the corresponding acyclic and non-cyclic graphs; and determines matchable businesses based on the business relationship graph, the acyclic graph, and the non-cyclic graph, and performs business matching processing on the matchable businesses, thereby effectively improving the efficiency and accuracy of business matching.

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

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

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

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

[0224] Specific embodiments have been used to illustrate the principles and implementation methods of this invention. The descriptions of the embodiments above are only for the purpose of helping to understand the method and core ideas of this invention. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this invention. Therefore, the content of this specification should not be construed as a limitation of this invention.

Claims

1. A method for matching transactions, characterized in that, The method includes: Generate a business relationship diagram based on the business transaction data of each business participant within a set time period; Perform a directed cycle query operation on the business relationship graph to determine the corresponding acyclic and non-acyclic graphs. Based on the business relationship diagram, the acyclic graph, and the non-cyclic graph, matchable businesses are identified, and business matching processing is performed on the matchable businesses. The step of performing a directed cycle query operation in the business relationship graph to determine the corresponding acyclic and non-cyclic graphs includes: Using the edge with the smallest weight as the reference, query the directed cycle in the business relationship graph; If a directed cycle is found, it is included in the graph that can form a cycle; otherwise, it is included in the graph that cannot form a cycle. Before performing the service matching process on the matchable service, the process includes: The maximum total business volume that each business participant can achieve is determined based on the initial position data of the corresponding business participants, and a list of business combinations to be judged is selected from the business transaction data. Determine whether the total amount of the services listed in the service combination list exceeds the maximum achievable total amount of services. If so, determine that the current balance of the corresponding service participant is negative and remove the service initiated by it from the matchable services. The process of performing business matching for the matchable services includes: Determine if the current balance of the corresponding business participant is positive; If so, then business matching processing will be performed based on the current balance and outstanding business of the corresponding business participant until the current balance is less than the outstanding amount.

2. The transaction matching method according to claim 1, characterized in that, The step of performing a directed cycle query operation in the business relationship graph to determine the corresponding acyclic and non-cyclic graphs includes: Using the edge with the smallest weight as a reference, query the directed cycle in the business relationship graph, add the queried directed cycle to the cycle graph, and delete the directed cycle from the business relationship graph to continue querying other directed cycles until no directed cycle can be found in the business relationship graph. Using edges with higher weights as a reference, continue searching for directed cycles in the business relationship graph until there are no more directed cycles in the business relationship graph. Then, include the remaining part of the business relationship graph in the non-cyclic graph.

3. The transaction matching method according to claim 1, characterized in that, The step of determining matchable transactions based on the business relationship diagram, the acyclic graph, and the non-cyclic graph includes: Business matching availability is screened based on the common edges of the business relationship graph, the acyclic graph, and the non-cyclic graph. Based on the results of the business matchability screening, the corresponding matchable businesses and business transaction data are determined.

4. A transaction matching device, characterized in that, include: The graph generation module is used to generate a business relationship graph based on the business transaction data of each business participant within a set time period. The directed query module is used to perform directed cycle query operations in the business relationship graph to determine the corresponding acyclic graph and non-cyclic graph; The business matching module is used to determine matchable businesses based on the business relationship diagram, the acyclic graph, and the non-cyclic graph, and to perform business matching processing on the matchable businesses. The directed query module includes: The directed cycle query unit is used to query the directed cycle in the business relationship graph based on the edge with the minimum weight. The resulting graph unit is used to count a directed cycle as a graph if a directed cycle is found, and otherwise as a non-circular graph. The business matching module also includes: The position analysis unit is used to determine the maximum total business volume that each business participant can achieve based on the initial position data of the corresponding business participants, and to select from the business transaction data to form a list of business combinations to be judged. An anomaly removal unit is used to determine whether the total amount of the services listed in the service combination list exceeds the maximum achievable total amount of services. If so, it determines that the current balance of the corresponding service participant is negative and removes the service initiated by it from the matchable services. The business matching module also includes: The balance determination unit is used to determine whether the current balance of the corresponding business participant is positive; The business clearing unit is used to perform business matching processing based on the current balance and unsettled business of the corresponding business participant, until the current balance is less than the unsettled amount.

5. The transaction matching device according to claim 4, characterized in that, The directed query module also includes: The cycle-forming graph determination unit is used to query the directed cycle in the business relationship graph based on the edge with the minimum weight, add the queried directed cycle to the cycle-forming graph, and delete the directed cycle from the business relationship graph to continue querying other directed cycles until no directed cycle can be found in the business relationship graph. The non-cyclic graph determination unit is used to continue searching for directed cycles in the business relationship graph based on edges with higher weights, until there are no more directed cycles in the business relationship graph, and then the remaining part of the business relationship graph is included in the non-cyclic graph.

6. The transaction matching device according to claim 4, characterized in that, The business matching module includes: The matching ability filtering unit is used to perform business matching ability filtering based on the common edges of the business relationship graph, the acyclic graph, and the non-cyclic graph. The matching business determination unit is used to determine the corresponding matching business and business transaction data based on the result of the business matching ability screening.

7. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the steps of the transaction matching method according to any one of claims 1 to 3.

8. A computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by a processor, the computer program implements the steps of the transaction matching method according to any one of claims 1 to 3.

9. A computer program product, comprising a computer program / instructions, characterized in that, When the computer program / instruction is executed by the processor, it implements the steps of the transaction matching method according to any one of claims 1 to 3.

Citation Information

Patent Citations

  • Transaction matchmaking method and system, computer readable storage medium and computing equipment

    CN111402053A

  • Transaction data processing method and device and computer equipment

    CN112508573A