Transaction Processing Method and Device for Bank Front-End System

By building a back-end transaction relationship diagram and dynamically adjusting the transaction processing order, the problems of low transaction processing efficiency and poor flexibility of bank front-end systems are solved, and more efficient and flexible transaction processing is achieved, improving customer experience.

CN114998011BActive Publication Date: 2025-05-27BANK OF CHINA
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210550221.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-05-20
Publication Date
2025-05-27
Estimated Expiration
2042-05-20

AI Technical Summary

Technical Problem

The existing bank front-end system is low in efficiency and poor flexibility in transaction processing, resulting in poor customer experience.

Method used

Build a back-end transaction relationship diagram through the bank server, determine the sub-graph and estimated processing time of each back-end transaction, dynamically adjust the transaction processing order, and optimize the transaction processing model.

Benefits of technology

Improve transaction processing efficiency and flexibility and improve customer experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114998011B_ABST
    Figure CN114998011B_ABST
Patent Text Reader

Abstract

The present invention provides a transaction processing method and device for a bank front-end system, which relates to the technical field of data processing. The method is as follows: The bank server constructs a back-end transaction relationship graph based on the back-end transaction processing data; determines the sub-graph corresponding to the back-end transaction; the bank server determines the estimated processing time of each back-end transaction in the sub-graph corresponding to the back-end transaction according to the historical processing time data of the back-end transaction; the bank server determines the execution queue corresponding to the back-end transaction based on the sub-graph corresponding to the back-end transaction and the estimated processing time of each back-end transaction in the corresponding sub-graph; when the bank front-end system receives a front-end transaction request initiated by a customer, it sends the corresponding back-end transaction to the bank server; the bank server feeds back the sub-graph corresponding to the back-end transaction and the execution queue to the bank front-end system; the bank front-end system initiates a back-end transaction processing request to the back-end transaction server based on the corresponding sub-graph and execution queue to complete the front-end transaction request initiated by the customer.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of data processing, and particularly to a transaction processing method and device for a bank front-end system. Background Art

[0002] This section aims to provide background or context for the embodiments of the present invention described in the claims. The description herein is not admitted to be prior art merely by virtue of being included in this section.

[0003] Currently, on bank front-end systems (such as mobile apps, terminals, etc.), when a customer initiates a transaction at the front-end interface, the bank front-end system needs to perform a large number of information interactions with the bank server, which may result in low transaction processing efficiency and poor transaction processing flexibility.

[0004] In summary, there is an urgent need for a technical solution that can overcome the above defects and improve the transaction processing method. Summary of the Invention

[0005] To solve the problems existing in the prior art, the present invention proposes a transaction processing method and device for a bank front-end system.

[0006] In the first aspect of the embodiments of the present invention, a transaction processing method for a bank front-end system is proposed, including:

[0007] The bank server constructs a back-end transaction relationship graph based on back-end transaction processing data;

[0008] For each back-end transaction, the bank server determines the sub-graph corresponding to the back-end transaction;

[0009] The bank server determines the estimated processing time of each back-end transaction in the sub-graph corresponding to the back-end transaction according to the historical processing time data of the back-end transaction;

[0010] The bank server determines the execution queue corresponding to the back-end transaction according to the sub-graph corresponding to the back-end transaction and the estimated processing time of each back-end transaction in the corresponding sub-graph;

[0011] When the bank front-end system receives a front-end transaction request initiated by a customer, it sends the back-end transaction corresponding to the front-end transaction request to the bank server;

[0012] The bank server feeds back the sub-graph and execution queue corresponding to the back-end transaction to the bank front-end system;

[0013] The bank front-end system initiates a back-end transaction processing request to the back-end transaction server according to the corresponding sub-graph and execution queue to complete the front-end transaction request initiated by the customer.

[0014] In the second aspect of the embodiments of the present invention, a transaction processing device for a bank front-end system is proposed, including: a bank server and a bank front-end system; wherein,

[0015] The bank server is used to construct a back-end transaction relationship graph based on back-end transaction processing data;

[0016] For each back-end transaction, the bank server determines the sub-graph corresponding to the back-end transaction;

[0017] The bank server determines the estimated processing time of each back-end transaction in the sub-graph corresponding to the back-end transaction according to the historical processing time data of the back-end transaction;

[0018] The bank server determines the execution queue corresponding to the back-end transaction according to the sub-graph corresponding to the back-end transaction and the estimated processing time of each back-end transaction in the corresponding sub-graph;

[0019] The bank front-end system is used to, when receiving a front-end transaction request initiated by a customer, send the back-end transaction corresponding to the front-end transaction to the bank server;

[0020] The bank server feeds back the sub-graph and execution queue corresponding to the back-end transaction to the bank front-end system;

[0021] The bank front-end system initiates a back-end transaction processing request to the back-end transaction server according to the corresponding sub-graph and execution queue to complete the front-end transaction request initiated by the customer.

[0022] In the third aspect of the embodiments of the present invention, a computer device is proposed, including a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the computer program, the transaction processing method of the bank front-end system is implemented.

[0023] In the fourth aspect of the embodiments of the present invention, a computer-readable storage medium is proposed. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the transaction processing method of the bank front-end system is implemented.

[0024] In the fifth aspect of the embodiments of the present invention, a computer program product is proposed. The computer program product includes a computer program, and when the computer program is executed by a processor, the transaction processing method of the bank front-end system is implemented.

[0025] The transaction processing method and device for the bank front-end system proposed by the present invention perform transaction processing through the bank server and the bank front-end system. Among them, the bank server constructs a back-end transaction relationship graph based on the back-end transaction processing data; for each back-end transaction, the bank server determines the sub-graph corresponding to the back-end transaction; the bank server determines the estimated processing time of each back-end transaction in the sub-graph corresponding to the back-end transaction according to the historical processing time data of the back-end transaction; the bank server determines the execution queue corresponding to the back-end transaction based on the sub-graph corresponding to the back-end transaction and the estimated processing time of each back-end transaction in the corresponding sub-graph; when the bank front-end system receives a front-end transaction request initiated by a customer, it sends the back-end transaction corresponding to the front-end transaction request to the bank server; the bank server feeds back the sub-graph and the execution queue corresponding to the back-end transaction to the bank front-end system; the bank front-end system initiates a back-end transaction processing request to the back-end transaction server based on the corresponding sub-graph and the execution queue to complete the front-end transaction request initiated by the customer. The overall solution optimizes the transaction processing mode. By analyzing the front-back dependency relationship, estimated processing time, execution queue, etc. of the back-end transactions, it dynamically adjusts the processing order of the back-end transactions, making the transaction processing method more flexible, improving the transaction processing efficiency, and enhancing the customer experience. BRIEF DESCRIPTION OF THE DRAWINGS

[0026] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following will briefly introduce the drawings required for the description of the embodiments. Obviously, the following drawings are some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.

[0027] Figure 1 It is a schematic flowchart of the transaction processing method for the bank front-end system according to an embodiment of the present invention.

[0028] Figure 2 It is a schematic flowchart of the specific process of constructing the back-end transaction relationship graph according to an embodiment of the present invention.

[0029] Figure 3 It is a schematic flowchart of the specific process of determining the sub-graph corresponding to the back-end transaction according to an embodiment of the present invention.

[0030] Figure 4 It is a schematic flowchart of the specific process of determining the estimated processing time of each back-end transaction in the sub-graph corresponding to the back-end transaction according to an embodiment of the present invention.

[0031] Figure 5 It is a schematic flowchart of the specific process of determining the execution queue corresponding to the back-end transaction according to an embodiment of the present invention.

[0032] Figure 6It is a schematic diagram of the specific process of initiating a back-end transaction processing request to a back-end transaction server based on the corresponding sub-graph and execution queue in an embodiment of the present invention to complete the front-end transaction request initiated by a customer.

[0033] Figure 7 It is a schematic diagram of the architecture of a transaction processing device in a bank front-end system according to an embodiment of the present invention.

[0034] Figure 8 It is a schematic diagram of the structure of a computer device according to an embodiment of the present invention. Detailed implementation manners

[0035] The principles and spirit of the present invention will be described below with reference to several exemplary embodiments. It should be understood that these embodiments are provided only to enable those skilled in the art to better understand and then implement the present invention, rather than limiting the scope of the present invention in any way. On the contrary, these embodiments are provided to make the present disclosure more thorough and complete, and to be able to fully convey the scope of the present disclosure to those skilled in the art.

[0036] Those skilled in the art know that the embodiments of the present invention can be implemented as a system, device, equipment, method, or computer program product. Therefore, the present disclosure can be specifically implemented in the following forms, namely: completely hardware, completely software (including firmware, resident software, microcode, etc.), or a combination of hardware and software.

[0037] According to the embodiments of the present invention, a transaction processing method and device for a bank front-end system are proposed, which relate to the technical field of data processing.

[0038] The principles and spirit of the present invention will be elaborated in detail below with reference to several representative embodiments of the present invention.

[0039] Figure 1 It is a schematic diagram of the process of a transaction processing method for a bank front-end system according to an embodiment of the present invention. As Figure 1 shown, the method includes:

[0040] S1, the bank server constructs a back-end transaction relationship graph based on the back-end transaction processing data;

[0041] S2, for each back-end transaction, the bank server determines the corresponding sub-graph of the back-end transaction;

[0042] S3, the bank server determines the estimated processing time of each back-end transaction in the corresponding sub-graph of the back-end transaction according to the historical processing time data of the back-end transaction;

[0043] S4, the bank server determines the execution queue corresponding to the back-end transaction according to the corresponding sub-graph of the back-end transaction and the estimated processing time of each back-end transaction in the corresponding sub-graph;

[0044] Among them, the back-end transaction is a near transaction that needs to be executed on the server; the sub-graph and execution queue corresponding to the back-end transaction are both stored in the database of the bank server.

[0045] S5. When the bank front-end system receives a front-end transaction request initiated by a customer, it sends the back-end transaction corresponding to the front-end transaction request to the bank server.

[0046] S6. The bank server feeds back the sub-graph and execution queue corresponding to the back-end transaction to the bank front-end system.

[0047] S7. The bank front-end system initiates a back-end transaction processing request to the back-end transaction server based on the corresponding sub-graph and execution queue to complete the front-end transaction request initiated by the customer.

[0048] In the actual application scenario, the bank front-end system is used to process front-end transaction requests. The bank server is used to calculate and control the transaction behavior of the bank front-end system. The back-end transaction server is used to process the back-end transactions initiated by the bank front-end system.

[0049] The present invention optimizes the transaction processing mode. By analyzing the front and back dependency relationships, estimated processing time, execution queue, etc. of the back-end transactions, the processing order of the back-end transactions is dynamically adjusted, making the transaction processing method more flexible, improving the transaction processing efficiency, and enhancing the customer experience.

[0050] In order to more clearly explain the above-mentioned transaction processing method of the bank front-end system, the following will be described in detail in combination with each step.

[0051] In S1, referring to Figure 2 , the specific method for the bank server to construct the back-end transaction relationship graph based on the back-end transaction processing data is as follows:

[0052] S101. Determine the front and back dependency relationships for the execution of the back-end transactions based on the back-end transaction processing data.

[0053] For any two back-end transactions, determine the front and back dependency relationships based on the interfaces corresponding to the back-end transactions (the inputs and outputs corresponding to the back-end transactions); for example, if the output of back-end transaction A is the input of back-end transaction B, then a dependency relationship is established for back-end transactions A and B, and back-end transaction B depends on back-end transaction A.

[0054] S102. Construct the back-end transaction relationship graph based on the determined dependency relationships. Among them, the nodes of the back-end transaction relationship graph represent back-end transactions, and there is an edge between two back-end transactions if and only if there is a dependency relationship between the two back-end transactions, and the direction of the edge is from the dependent back-end transaction to the dependent-backend transaction.

[0055] In S2, referring toFigure 3 , for each back-end transaction, the specific method for the bank server to determine the sub-graph corresponding to the back-end transaction is as follows:

[0056] S201, set the first distance of each directed edge to 1 and other distances to infinity;

[0057] For example, taking back-end transactions A and B as an example, if there is a directed edge between back-end transaction A and back-end transaction B, then set the first distance of this directed edge from A to B to 1. However, the distance from B to A is infinity.

[0058] S202, according to the first distance, calculate the shortest distance from each node in the back-end transaction relationship graph to the above-mentioned back-end transaction, select the nodes with finite shortest distances to form all the nodes of the sub-graph. There is an edge between two nodes in the sub-graph if and only if there is an edge between the two nodes in the back-end transaction relationship graph, and the direction of the edge is the same in the back-end transaction relationship graph and the sub-graph.

[0059] In S3, refer to Figure 4 , the specific method for the bank server to determine the estimated processing time of each back-end transaction in the sub-graph corresponding to the back-end transaction according to the historical processing time data of the back-end transaction is as follows:

[0060] S301, select multiple discrete probability values. For each probability value, determine the estimated time value corresponding to each back-end transaction for this probability value, so that the proportion of the historical processing time less than or equal to the estimated time value in the historical processing time of the back-end transaction is equal to this probability value;

[0061] S302, according to the sub-graph corresponding to the back-end transaction, determine the corresponding maximum path;

[0062] S303, determine the sum of the estimated time values corresponding to each back-end transaction on the corresponding maximum path for each probability value as the total estimated time value corresponding to this probability value;

[0063] S304, for each historical processing time data of the back-end transaction, calculate the absolute value of the difference between the total processing time corresponding to this historical processing time data and the total estimated time value corresponding to each probability value, and determine this absolute value as the error of this historical processing time data corresponding to this probability value;

[0064] S305, for each probability value, determine the mean value of the errors of all historical processing time data of the back-end transaction corresponding to this probability value as the error corresponding to this probability value;

[0065] S306, determine the probability value with the smallest corresponding error among the multiple discrete probability values as the optimal probability value;

[0066] S307. For each back-end transaction in the sub-graph corresponding to the back-end transaction, determine the estimated processing time of each back-end transaction as the estimated time value corresponding to the optimal probability value of each back-end transaction.

[0067] Specifically, the specific method for determining the corresponding maximum path based on the sub-graph corresponding to the back-end transaction in (S302) is as follows:

[0068] S311. For each historical processing time data of the back-end transaction, among the remaining multiple back-end transactions, select multiple back-end transactions that did not wait during processing from the back-end transactions included in the sub-graph corresponding to the back-end transaction;

[0069] Among them, a "waiting" back-end transaction refers to a back-end transaction that is waiting because the dependent node has not been executed completely; the multiple non-waiting back-end transactions selected here refer to other back-end transactions other than the above-mentioned waiting back-end transactions.

[0070] S312. Delete the back-end transactions that meet the preset conditions from the selected multiple back-end transactions until the remaining multiple back-end transactions no longer meet the preset conditions; among them, the preset condition is: the back-end transactions on which the back-end transaction depends in the corresponding sub-graph are not among the multiple back-end transactions, or the back-end transactions that depend on the back-end transaction in the corresponding sub-graph are not among the multiple back-end transactions;

[0071] S313. Among the remaining multiple back-end transactions, select a column of maximally mutually dependent back-end transactions as the corresponding maximum path.

[0072] Among them, selecting a column of maximally mutually dependent back-end transactions means that among the selected column of back-end transactions, the latter back-end transaction of any adjacent two back-end transactions depends on the former back-end transaction, and there is no other back-end transaction such that after adding the other back-end transaction to the column of back-end transactions, the latter back-end transaction of any adjacent two back-end transactions still depends on the former back-end transaction.

[0073] In S4, referring to Figure 5 , the specific method for the bank server to determine the execution queue corresponding to the back-end transaction based on the sub-graph corresponding to the back-end transaction and the estimated processing time of each back-end transaction in the corresponding sub-graph is as follows:

[0074] S401. Based on the sub-graph corresponding to the back-end transaction, determine the back-end transactions included in the sub-graph and the dependency relationships between the included back-end transactions, initialize the set of back-end transactions to be added as all the back-end transactions included in the sub-graph, and initialize the set of dependency relationships to be added as all the dependency relationships between all the back-end transactions included in the sub-graph;

[0075] S402. Determine the estimated completion time corresponding to the back-end transactions included in the sub-graph based on the estimated processing time corresponding to the back-end transactions included in the sub-graph;

[0076] S403. Initialize the execution queue corresponding to the back-end transaction to be empty;

[0077] S404. Loop and execute the following steps until the set of back-end transactions to be added is empty:

[0078] Select multiple back-end transactions that are not dependent on any back-end transactions in the set of back-end transactions to be added from the set of back-end transactions to be added according to the set of dependencies to be added;

[0079] Add the multiple back-end transactions to the execution queue corresponding to the back-end transaction in descending order of the corresponding estimated completion time;

[0080] And delete the multiple back-end transactions from the set of back-end transactions to be added, and delete the dependencies including the multiple back-end transactions from the set of back-end transactions to be added.

[0081] In one embodiment, the specific method for (S402) determining the estimated completion time corresponding to the back-end transactions included in the sub-graph based on the estimated processing time corresponding to the back-end transactions included in the sub-graph is as follows:

[0082] For each back-end transaction in the sub-graph that does not depend on other back-end transactions, determine the estimated completion time corresponding to the back-end transaction as the estimated processing time corresponding to the back-end transaction;

[0083] Loop and execute the following steps until the estimated completion times corresponding to all the back-end transactions included in the sub-graph are determined:

[0084] Select back-end transactions from all the back-end transactions included in the sub-graph for which the estimated completion times corresponding to all the dependent back-end transactions have been determined;

[0085] Determine the estimated completion time corresponding to the selected back-end transaction as the sum of the maximum value of the estimated completion times corresponding to all the back-end transactions on which the back-end transaction depends and the estimated processing time corresponding to the back-end transaction.

[0086] In S5, when the bank front-end system receives a front-end transaction request initiated by a customer, send the back-end transaction corresponding to the front-end transaction request to the bank server.

[0087] In S6, the bank server feeds back the sub-graph and the execution queue corresponding to the back-end transaction to the bank front-end system.

[0088] In S7, refer to Figure 6, the specific method for the bank front-end system to initiate a back-end transaction processing request to the back-end transaction server according to the corresponding sub-graph and execution queue to complete the front-end transaction request initiated by the customer is as follows:

[0089] S701, the bank front-end system pops the front-end back-end transaction of the execution queue from the execution queue and determines the current processed back-end transaction as this front-end back-end transaction;

[0090] S702, determine whether all the back-end transactions on which the current processed back-end transaction depends in the corresponding sub-graph have been executed;

[0091] S703, if all have been executed, then the bank front-end system initiates a processing request for the current processed back-end transaction to the back-end transaction server and updates the current processed back-end transaction as the front-end back-end transaction of the execution queue;

[0092] Loop through the above steps of judgment and update of the execution queue (S702, S703) until the execution queue is empty.

[0093] In an embodiment, the method further includes:

[0094] For each back-end transaction, obtain the processing data of this back-end transaction and divide the processing data into multiple processing sub-data; for each processing sub-data, determine the proportion of the processing data involving risks in this processing sub-data and determine this proportion as the risk index sample of this back-end transaction;

[0095] Determine the risk index of the back-end transaction as the mean value of all risk index samples of this back-end transaction;

[0096] Based on all the risk index samples of this back-end transaction obtained, determine the variance corresponding to the risk index of this back-end transaction;

[0097] Determine the error threshold corresponding to the risk index of this back-end transaction as where ε is the variance corresponding to the risk index of this back-end transaction and n is the number of the multiple processing sub-data;

[0098] According to the risk index and the error threshold, determine the partial order of the back-end transactions. Among them, for any two back-end transactions, when the risk index of the first back-end transaction of the two back-end transactions is greater than or equal to the risk index of the second back-end transaction of the two back-end transactions, and the error threshold corresponding to the risk index of the first back-end transaction is greater than or equal to the error threshold corresponding to the risk index of the second back-end transaction, then determine that the first back-end transaction is greater than the second back-end transaction;

[0099] According to the partial order of the back-end transactions, determine the maximal back-end transactions among all the back-end transactions, where the maximal back-end transaction is the maximal element of this partial order.

[0100] The bank server feeds back the subgraph and execution queue corresponding to the backend transaction to the bank frontend system, including:

[0101] When the back-end transaction is an extremely large back-end transaction, the bank server does not feed back the subgraph and execution queue corresponding to the back-end transaction to the bank's front-end system, and the bank server initiates a back-end transaction processing request to the back-end transaction server based on the corresponding subgraph and execution queue to complete the front-end transaction request initiated by the customer. After completing the front-end transaction request initiated by the customer, the front-end transaction processing result is fed back to the bank's front-end system.

[0102] It should be noted that the maximum element of a partial order is the element that has no other elements better than it in the set corresponding to the partial order.

[0103] It should be noted that, although the operations of the method of the present invention are described in a specific order in the above embodiments and the accompanying drawings, this does not require or imply that the operations must be performed in the specific order, or that all the operations shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps.

[0104] In order to explain the transaction processing method of the bank front-end system more clearly, each step is described in detail below.

[0105] After introducing the method of the exemplary embodiment of the present invention, next, refer to Figure 7 A transaction processing device of a bank front-end system according to an exemplary embodiment of the present invention is introduced.

[0106] The implementation of the transaction processing device of the bank front-end system can refer to the implementation of the above method, and the repeated parts will not be repeated. The term "module" or "unit" used below can be a combination of software and / or hardware that implements a predetermined function. Although the device described in the following embodiments is preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0107] Based on the same inventive concept, the present invention also proposes a transaction processing device for a bank front-end system, such as Figure 7 As shown, the device includes: a bank server 100 and a bank front-end system 200; wherein,

[0108] The bank server is used to construct a back-end transaction relationship diagram based on the back-end transaction processing data;

[0109] For each backend transaction, the bank server determines the subgraph corresponding to the backend transaction;

[0110] The bank server determines the estimated processing time of each backend transaction in the subgraph corresponding to the backend transaction according to the historical processing time data of the backend transaction;

[0111] The bank server determines the execution queue corresponding to the backend transaction according to the subgraph corresponding to the backend transaction and the estimated processing time of each backend transaction in the corresponding subgraph;

[0112] The bank front-end system is used to send the backend transaction corresponding to the front-end transaction to the bank server when a front-end transaction request initiated by a customer is obtained;

[0113] The bank server feeds back the subgraph and the execution queue corresponding to the backend transaction to the bank front-end system;

[0114] The bank front-end system initiates a backend transaction processing request to the backend transaction server according to the corresponding subgraph and the execution queue to complete the front-end transaction request initiated by the customer.

[0115] In one embodiment, the bank server is specifically used for:

[0116] Determine the sequential dependency relationship of the backend transaction execution according to the backend transaction processing data;

[0117] Construct a backend transaction relationship graph according to the determined dependency relationship, where the nodes of the backend transaction relationship graph represent backend transactions, and there is an edge between two backend transactions if and only if there is a dependency relationship between the two backend transactions, and the direction of the edge is from the dependent backend transaction to the dependent backend transaction.

[0118] In one embodiment, the bank server is specifically used for:

[0119] Set the first distance of each directed edge to 1 and other distances to infinity;

[0120] Calculate the shortest distance from each node in the backend transaction relationship graph to the above-mentioned backend transaction according to the first distance, and filter out the nodes with a finite shortest distance to form all the nodes of the subgraph. There is an edge between two nodes in the subgraph if and only if there is an edge between the two nodes in the backend transaction relationship graph, and the direction of the edge is the same in the backend transaction relationship graph and the subgraph.

[0121] In one embodiment, the bank server is specifically used for:

[0122] Select multiple discrete probability values. For each probability value, determine the estimated time value corresponding to each backend transaction for the probability value, so that the proportion of the historical processing time less than or equal to the estimated time value in the historical processing time of the backend transaction is equal to the probability value;

[0123] Determine the corresponding maximum path according to the subgraph corresponding to the backend transaction;

[0124] Determine the sum of the estimated time values corresponding to each probability value for all the back-end transactions of the corresponding maximum path as the total estimated time value corresponding to this probability value;

[0125] For each historical processing time data of this back-end transaction, calculate the absolute value of the difference between the total processing time corresponding to this historical processing time data and the total estimated time value corresponding to each probability value, and determine this absolute value as the error of this historical processing time data corresponding to this probability value;

[0126] For each probability value, determine the mean value of the errors of all the historical processing time data of this back-end transaction corresponding to this probability value as the error corresponding to this probability value;

[0127] Determine the probability value with the smallest corresponding error among multiple discrete probability values as the optimal probability value;

[0128] For each back-end transaction in the sub-graph corresponding to this back-end transaction, determine the estimated processing time of each of these back-end transactions as the estimated time value of each of these back-end transactions corresponding to the optimal probability value.

[0129] In one embodiment, the bank server is specifically configured to:

[0130] For each historical processing time data of this back-end transaction, select multiple back-end transactions that do not wait during processing from the back-end transactions included in the sub-graph corresponding to this back-end transaction;

[0131] Delete the back-end transactions that meet the preset conditions from the selected multiple back-end transactions until the remaining multiple back-end transactions no longer meet the preset conditions; wherein, the preset condition is: the back-end transactions on which the back-end transaction depends in the corresponding sub-graph are not among the multiple back-end transactions, or the back-end transactions that depend on the back-end transaction in the corresponding sub-graph are not among the multiple back-end transactions;

[0132] Among the remaining multiple back-end transactions, select a column of mutually dependent maximum back-end transactions as the corresponding maximum path.

[0133] In one embodiment, the bank server is specifically configured to:

[0134] According to the sub-graph corresponding to this back-end transaction, determine the dependency relationships between the back-end transactions included in this sub-graph and the back-end transactions included, initialize the set of back-end transactions to be added as all the back-end transactions included in this sub-graph, and initialize the set of dependency relationships to be added as all the dependency relationships between all the back-end transactions included in this sub-graph;

[0135] According to the estimated processing time corresponding to the back-end transactions included in this sub-graph, determine the estimated completion time corresponding to the back-end transactions included in this sub-graph;

[0136] Initialize the execution queue corresponding to the backend transaction to be empty;

[0137] Loop through the following steps until the backend transaction set to be added is empty:

[0138] According to the dependency set to be added, multiple backend transactions that are not dependent on any backend transaction in the backend transaction set to be added are selected from the backend transaction set to be added;

[0139] Adding the multiple backend transactions to the execution queue corresponding to the backend transaction in descending order of their estimated completion time;

[0140] The multiple backend transactions are deleted from the backend transaction set to be added, and the dependency relationship including the multiple backend transactions is deleted from the backend transaction set to be added.

[0141] In one embodiment, the bank front-end system is specifically used for:

[0142] The bank front-end system pops the head back-end transaction of the execution queue from the execution queue, and determines the currently processed back-end transaction as the head back-end transaction of the queue;

[0143] Determine whether all backend transactions that the currently processed backend transaction depends on in the corresponding subgraph have been executed;

[0144] If all the executions are completed, the bank's front-end system initiates a processing request for the current back-end transaction to the back-end transaction server, and updates the current back-end transaction to the head back-end transaction in the execution queue;

[0145] The above steps of judging and updating the execution queue are executed repeatedly until the execution queue is empty.

[0146] It should be noted that although several modules of the transaction processing device of the bank front-end system are mentioned in the above detailed description, such division is only exemplary and not mandatory. In fact, according to an embodiment of the present invention, the features and functions of two or more modules described above can be embodied in one module. Conversely, the features and functions of one module described above can be further divided into multiple modules for embodiment.

[0147] Based on the above invention concept, Figure 8 As shown, the present invention also proposes a computer device 800, including a memory 810, a processor 820, and a computer program 830 stored in the memory 810 and executable on the processor 820, wherein the processor 820 implements the transaction processing method of the aforementioned bank front-end system when executing the computer program 830.

[0148] Based on the foregoing inventive concept, the present invention provides a computer-readable storage medium storing a computer program, which when executed by a processor implements the transaction processing method of the foregoing bank front-end system.

[0149] Based on the foregoing inventive concept, the present invention provides a computer program product including a computer program, which when executed by a processor implements the transaction processing method of the bank front-end system.

[0150] The transaction processing method and apparatus of the bank front-end system proposed by the present invention perform transaction processing through a bank server and a bank front-end system. Among them, the bank server constructs a back-end transaction relationship graph based on back-end transaction processing data; for each back-end transaction, the bank server determines the sub-graph corresponding to the back-end transaction; the bank server determines the estimated processing time of each back-end transaction in the sub-graph corresponding to the back-end transaction according to the historical processing time data of the back-end transaction; the bank server determines the execution queue corresponding to the back-end transaction according to the sub-graph corresponding to the back-end transaction and the estimated processing time of each back-end transaction in the corresponding sub-graph; when the bank front-end system receives a front-end transaction request initiated by a customer, it sends the back-end transaction corresponding to the front-end transaction request to the bank server; the bank server feeds back the sub-graph and the execution queue corresponding to the back-end transaction to the bank front-end system; the bank front-end system initiates a back-end transaction processing request to the back-end transaction server according to the corresponding sub-graph and the execution queue to complete the front-end transaction request initiated by the customer. The overall solution optimizes the transaction processing mode. By analyzing the front-back dependency relationship, estimated processing time, execution queue, etc. of the back-end transactions, the processing order of the back-end transactions is dynamically adjusted, making the transaction processing method more flexible, improving the transaction processing efficiency, and enhancing the customer experience.

[0151] Those skilled in the art should understand that the embodiments of the present invention may be provided as a method, an apparatus, or a computer program product. Therefore, the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present invention may take the form of a computer program product implemented 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.

[0152] The present invention is described with reference to the flowcharts and / or block diagrams of methods and computer program products according to embodiments of the present invention. It should be understood that each flow and / or block in the flowchart and / or block diagram, and combinations of flows and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, such that the instructions executed by the processor of the computer or other programmable data processing device produce a means for implementing the functions specified in one flow Figure 1 one flow or multiple flows and / or blocks Figure 1 or a means for implementing the functions specified in one block or multiple blocks.

[0153] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, such that the instructions stored in the computer-readable memory produce a manufactured article including an instruction means that implements the functions specified in one flow Figure 1 one flow or multiple flows and / or blocks Figure 1 or a means for implementing the functions specified in one block or multiple blocks.

[0154] These computer program instructions can also be loaded onto a computer or other programmable data processing device, such that a series of operation steps are executed on the computer or other programmable device to generate a computer-implemented process, so that the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one flow Figure 1 one flow or multiple flows and / or blocks Figure 1 or a means for implementing the functions specified in one block or multiple blocks.

[0155] Finally, it should be noted that the above-described embodiments are only specific implementation manners of the present invention, used to illustrate the technical solutions of the present invention, rather than limiting it. The protection scope of the present invention is not limited thereto. Although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: any person skilled in the art within the technical scope disclosed by the present invention can still modify the technical solutions recorded in the foregoing embodiments, or can easily think of changes, or make equivalent replacements for some of the technical features; and these modifications, changes or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present invention, and should all be covered by the protection scope of the present invention. Therefore, the protection scope of the present invention should be subject to the protection scope of the claims.

Claims

1. A transaction processing method for a bank front-end system, characterized in that, it includes: The bank server constructs a back-end transaction relationship graph based on the back-end transaction processing data; For each back-end transaction, the bank server determines the sub-graph corresponding to the back-end transaction; The bank server determines the estimated processing time of each back-end transaction in the sub-graph corresponding to the back-end transaction according to the historical processing time data of the back-end transaction; The bank server determines the execution queue corresponding to the back-end transaction according to the sub-graph corresponding to the back-end transaction and the estimated processing time of each back-end transaction in the corresponding sub-graph; When the bank front-end system receives a front-end transaction request initiated by a customer, the back-end transaction corresponding to the front-end transaction request is sent to the bank server; The bank server feeds back the sub-graph and execution queue corresponding to the back-end transaction to the bank front-end system; The bank front-end system initiates a back-end transaction processing request to the back-end transaction server according to the corresponding sub-graph and execution queue to complete the front-end transaction request initiated by the customer; Among them, the bank server constructs a back-end transaction relationship graph based on the back-end transaction processing data, including: Determine the sequential dependency relationship of the back-end transaction execution according to the back-end transaction processing data; Construct a back-end transaction relationship graph according to the determined dependency relationship, where the nodes of the back-end transaction relationship graph represent back-end transactions, and there is an edge between two back-end transactions if and only if there is a dependency relationship between the two back-end transactions, and the direction of the edge is from the dependent back-end transaction to the dependent back-end transaction; Among them, for each back-end transaction, the bank server determines the sub-graph corresponding to the back-end transaction, including: Set the first distance of each directed edge to 1, and set other distances to infinity; According to the first distance, calculate the shortest distance from each node in the back-end transaction relationship graph to the above-mentioned back-end transaction, and filter out the nodes with a finite shortest distance to form all the nodes of the sub-graph. There is an edge between two nodes in the sub-graph if and only if there is an edge between the two nodes in the back-end transaction relationship graph, and the direction of the edge is the same in the back-end transaction relationship graph and the sub-graph; Among them, the bank server determines the execution queue corresponding to the back-end transaction according to the sub-graph corresponding to the back-end transaction and the estimated processing time of each back-end transaction in the corresponding sub-graph, including: According to the sub-graph corresponding to the back-end transaction, determine the back-end transactions included in the sub-graph and the dependency relationship between the included back-end transactions, initialize the set of back-end transactions to be added as all the back-end transactions included in the sub-graph, and initialize the set of dependency relationships to be added as all the dependency relationships between all the back-end transactions included in the sub-graph; Determine the estimated completion time of the back-end transactions included in the sub-graph according to the estimated processing time of the back-end transactions included in the sub-graph; Initialize the execution queue corresponding to the back-end transaction to be empty; Loop and execute the following steps until the set of back-end transactions to be added is empty: According to the set of dependency relationships to be added, select multiple back-end transactions from the set of back-end transactions to be added that are not dependent on any back-end transaction in the set of back-end transactions to be added; Add the multiple back-end transactions to the execution queue corresponding to the back-end transaction in descending order of the corresponding estimated completion time; The multiple backend transactions are deleted from the backend transaction set to be added, and the dependency relationship including the multiple backend transactions is deleted from the backend transaction set to be added.

2. The method according to claim 1, It is characterized in that The bank server determines the estimated processing time of each backend transaction in the subgraph corresponding to the backend transaction based on the historical processing time data of the backend transaction, including: Selecting multiple discrete probability values, and for each probability value, determining an estimated time value for each back-end transaction corresponding to the probability value, so that the proportion of historical processing time that is less than or equal to the estimated time value in the historical processing time of the back-end transaction is equal to the probability value; According to the subgraph corresponding to the backend transaction, determine the corresponding maximum path; The sum of the estimated time values ​​of all back-end transactions of the corresponding maximum path corresponding to each probability value is determined as the total estimated time value corresponding to the probability value; For each historical processing time data of the backend transaction, calculate the absolute value of the difference between the total processing time corresponding to the historical processing time data and the total estimated time value corresponding to each probability value, and determine the absolute value as the error of the historical processing time data corresponding to the probability value; For each probability value, the mean of the errors of all historical processing time data of the backend transaction corresponding to the probability value is determined as the error corresponding to the probability value; Determine the probability value with the smallest error among multiple discrete probability values ​​as the optimal probability value; For each backend transaction in the subgraph corresponding to the backend transaction, the estimated processing time of each backend transaction is determined as the estimated time value of each backend transaction corresponding to the optimal probability value; Wherein, according to the subgraph corresponding to the backend transaction, the corresponding maximum path is determined, including: For each historical processing time data of the backend transaction, multiple backend transactions that are not waiting during processing are selected from the backend transactions included in the subgraph corresponding to the backend transaction; From the selected multiple backend transactions, delete the backend transactions that meet the preset condition until the remaining multiple backend transactions do not meet the preset condition; wherein the preset condition is: the backend transaction that the backend transaction depends on in the corresponding subgraph is not in the multiple backend transactions, or the backend transaction that depends on the backend transaction in the corresponding subgraph is not in the multiple backend transactions; Among the remaining multiple backend transactions, a list of mutually dependent extremely large backend transactions is selected as the corresponding extremely large path; Selecting a list of extremely large backend transactions that are mutually dependent means that: in the selected list of backend transactions, the latter of any two adjacent backend transactions depends on the former backend transaction, and there are no other backend transactions such that after adding the other backend transaction to the backend transactions in the list, the latter of any two adjacent backend transactions continues to depend on the former backend transaction.

3. The method according to claim 1, It is characterized in that The bank's front-end system initiates a back-end transaction processing request to the back-end transaction server based on the corresponding sub-graph and execution queue to complete the front-end transaction request initiated by the customer, including: The front-end system of the bank pops the front-end transaction at the head of the execution queue from the execution queue, and determines the currently processed back-end transaction as this front-end transaction at the head of the queue; Judge whether all the back-end transactions on which the currently processed back-end transaction depends in the corresponding sub-graph have been executed; If all have been executed, the front-end system of the bank initiates a processing request for the currently processed back-end transaction to the back-end transaction server, and updates the currently processed back-end transaction to the front-end transaction at the head of the execution queue; Loop through the above steps of judgment and update of the execution queue until the execution queue is empty.

4. A transaction processing device for the front-end system of a bank, characterized in that it includes: a bank server and a front-end system of the bank; among them, the bank server is used to construct a back-end transaction relationship graph based on the back-end transaction processing data; For each back-end transaction, the bank server determines the sub-graph corresponding to this back-end transaction; The bank server determines the estimated processing time of each back-end transaction in the sub-graph corresponding to this back-end transaction according to the historical processing time data of the back-end transaction; The bank server determines the execution queue corresponding to this back-end transaction based on the sub-graph corresponding to this back-end transaction and the estimated processing time of each back-end transaction in the corresponding sub-graph; The front-end system of the bank is used to, when receiving a front-end transaction request initiated by a customer, send the back-end transaction corresponding to the front-end transaction to the bank server; The bank server feeds back the sub-graph and the execution queue corresponding to this back-end transaction to the front-end system of the bank; The front-end system of the bank initiates a back-end transaction processing request to the back-end transaction server based on the corresponding sub-graph and execution queue to complete the front-end transaction request initiated by this customer; Among them, the bank server is specifically used for: Determine the sequence of execution and dependencies of back-end transactions based on the back-end transaction processing data; Construct a back-end transaction relationship graph based on the determined dependencies, where the nodes of this back-end transaction relationship graph represent back-end transactions, and there is an edge between two back-end transactions if and only if there is a dependency between the two back-end transactions, and the direction of the edge is from the dependent back-end transaction to the dependent back-end transaction; Among them, the bank server is specifically used for: Set the first distance of each directed edge to 1, and other distances to infinity; Calculate the shortest distance from each node in the back-end transaction relationship graph to the above-mentioned back-end transaction based on the first distance, filter out the nodes with a finite shortest distance, and form all the nodes of the sub-graph. There is an edge between two nodes in the sub-graph if and only if there is an edge between the two nodes in the back-end transaction relationship graph, and the direction of the edge is the same in the back-end transaction relationship graph and the sub-graph; Among them, the bank server is specifically used for: Based on the sub-graph corresponding to this back-end transaction, determine the back-end transactions included in this sub-graph and the dependencies between the included back-end transactions, initialize the set of back-end transactions to be added as all the back-end transactions included in this sub-graph, and initialize the set of dependencies to be added as all the dependencies between all the back-end transactions included in this sub-graph; Determine the estimated completion time of the back-end transactions included in this sub-graph according to the estimated processing time of the back-end transactions included in this sub-graph corresponding to this back-end transaction; Initialize the execution queue corresponding to this back-end transaction to be empty; Loop through the following steps until the set of back-end transactions to be added is empty: Select multiple backend transactions from the set of backend transactions to be added that are not dependent on any backend transaction in the set of backend transactions to be added, according to the set of dependencies to be added; Add the multiple backend transactions to the execution queue corresponding to the backend transactions in sequence in descending order of the corresponding estimated completion time; Delete the multiple backend transactions from the set of backend transactions to be added, and delete the dependencies including the multiple backend transactions from the set of backend transactions to be added.

5. The apparatus according to claim 4, wherein, the bank server is specifically configured to: Select multiple discrete probability values. For each probability value, determine the estimated time value corresponding to each backend transaction for this probability value, such that the proportion of the historical processing time in the historical processing time of the backend transaction that is less than or equal to the estimated time value is equal to the probability value; Determine the corresponding maximum path according to the subgraph corresponding to the backend transaction; Determine the sum of the estimated time values corresponding to each probability value of all backend transactions on the corresponding maximum path as the total estimated time value corresponding to this probability value; For each historical processing time data of the backend transaction, calculate the absolute value of the difference between the total processing time corresponding to this historical processing time data and the total estimated time value corresponding to each probability value, and determine this absolute value as the error of this historical processing time data corresponding to this probability value; For each probability value, determine the mean of the errors of all historical processing time data of the backend transaction corresponding to this probability value as the error corresponding to this probability value; Determine the probability value with the smallest corresponding error among the multiple discrete probability values as the optimal probability value; For each backend transaction in the subgraph corresponding to the backend transaction, determine the estimated processing time of each backend transaction as the estimated time value corresponding to the optimal probability value of each backend transaction; wherein, the bank server is specifically configured to: For each historical processing time data of the backend transaction, select multiple backend transactions that are not waiting during processing from the backend transactions included in the subgraph corresponding to the backend transaction; Delete the backend transactions that meet the preset conditions from the selected multiple backend transactions until the remaining multiple backend transactions no longer meet the preset conditions; wherein, the preset condition is: the backend transactions on which the backend transaction depends in the corresponding subgraph are not among the multiple backend transactions, or the backend transactions that depend on the backend transaction in the corresponding subgraph are not among the multiple backend transactions; Among the remaining multiple backend transactions, select a column of maximally mutually dependent backend transactions as the corresponding maximum path; Selecting a column of maximally mutually dependent backend transactions means that in the selected column of backend transactions, the subsequent backend transaction of any adjacent two backend transactions depends on the previous backend transaction, and there is no other backend transaction such that after adding this other backend transaction to the column of backend transactions, it still satisfies that the subsequent backend transaction of any adjacent two backend transactions depends on the previous backend transaction.

6. The apparatus according to claim 4, wherein, the bank front-end system is specifically configured to: The front-end system of the bank pops the front-end transaction at the head of the execution queue from the execution queue, and determines the currently processed back-end transaction as this front-end transaction at the head of the queue; Judge whether all the back-end transactions on which the currently processed back-end transaction depends in the corresponding sub-graph have been executed; If all have been executed, the front-end system of the bank initiates a processing request for the currently processed back-end transaction to the back-end transaction server, and updates the currently processed back-end transaction to the front-end transaction at the head of the execution queue; Loop to execute the above steps of judgment and update of the execution queue until the execution queue is empty.

7. A computer device, comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, wherein, when the processor executes the computer program, the method according to any one of claims 1 to 3 is implemented.

8. A computer-readable storage medium, wherein, the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 3 is implemented.

9. A computer program product, wherein, the computer program product includes a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 3 is implemented.

Citation Information

Patent Citations

  • Parallel processing method and device of block chain data, equipment and storage medium

    CN108537543A

  • Business execution method and device of bank self-service equipment

    CN111325928A