Transaction processing system and method based on event orchestration

Through the transaction processing system based on event orchestration, the complexity of online real-time transaction processing and microservice architecture performance problems in the financial industry are solved, efficient transaction processing and production system stability are achieved, and large-scale transaction processing is supported.

CN119718896APending Publication Date: 2025-03-28BEIJING TIANYANGHONGYE SOFTWARE TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411794113.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-09
Publication Date
2025-03-28

AI Technical Summary

Technical Problem

The online real-time transaction processing in the financial industry is complex, and the microservice architecture has distributed transactions and performance problems, resulting in high transaction processing complexity, low development efficiency, and difficult positioning of production problems.

Method used

A transaction processing system based on event orchestration is adopted to intercept transaction requests through the transaction bus control module, and format conversion, legality verification, traffic control, security inspection, etc. are realized, thereby reducing the complexity of transaction processing. At the same time, through the in-process service orchestration module, visual tools are realized to quickly build financial transactions, and quickly locate problems and conduct online dynamic performance diagnosis through production system problem tracking and online tuning modules.

Benefits of technology

It significantly reduces the complexity of transaction processing, improves the efficiency of transaction development, testing and launch, ensures the stability of the production system, and can support large-scale customers and high-frequency transaction processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119718896A_ABST
    Figure CN119718896A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of transaction processing, and particularly discloses a transaction processing system and method based on event orchestration, and the system comprises a transaction bus control module, an in-process service orchestration module, and a production problem tracking and online tuning module. The transaction bus control module is used for acquiring all transaction requests, preprocessing and verifying each transaction request, creating a service context based on the verified transaction request and loading parameters; the in-process service arrangement module is used for arranging events from an atomic service layer, an active layer and an event layer in sequence based on a service context and loading parameters, and carrying out transaction processing based on the events; and the production problem tracking and online tuning module is used for positioning problems occurring in the transaction processing process and performing online dynamic performance diagnosis. According to the system, problems can be quickly positioned and online dynamic performance diagnosis can be carried out under the condition that transactions are not influenced, so that a powerful technical guarantee is provided for the stability of a production system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of transaction processing, and in particular to a transaction processing system and method based on event orchestration. Background Art

[0002] The financial industry's business is complex and changeable, and the transaction chain is long, involving many peripheral systems. How to quickly deliver high-quality products and services and how to ensure the stable operation of production business systems are huge challenges that financial institutions need to face. Since the online real-time transaction processing in the financial industry is very complex, the financial industry generally adopts a microservice architecture to reduce the complexity of transaction processing when building core transaction systems. However, for real-time transaction processing, the microservice architecture has the following problems:

[0003] First, systems that use a microservice architecture have distributed transactions. Financial transactions have very high requirements for transaction integrity and cannot have any errors. Financial transaction processing often involves many microservice calls, which brings great complexity to transaction processing.

[0004] Secondly, there are also performance issues with microservice system calls; calls to microservice systems need to cross system boundaries, involving network transmission and I / O operations, which are time-consuming; and financial institutions usually require the processing performance of financial transactions (such as card swiping, cash withdrawals, repayments, etc.) to be completed (response given) within tens of milliseconds, at most a hundred or more, but not more than two hundred milliseconds; if the background system cannot respond quickly, then many online real-time transactions will fail due to timeouts, seriously affecting customer experience.

[0005] In addition, the microservice architecture requires a huge and complex infrastructure to support the operation of the entire system. The interactions between various systems are intricate, the transaction links are long, and the logs generated are large. Supporting the operation of the production system, especially solving production problems, is a very complex and time-consuming task. Finding production problems is a very complex and time-consuming "professional" job. Since the production environment cannot be shut down and cannot be debugged, production problems can only be located by analyzing logs and data, which is inefficient. Sometimes, because there is no site where the error occurred, the cause of some problems cannot be found. Summary of the invention

[0006] In view of the above problems, one object of the present invention is to provide a transaction processing system based on event orchestration. The system can intercept all transaction requests through the transaction bus control module, realize transaction format conversion, legitimacy verification, traffic control, security check, idempotent anti-duplicate, transaction control, etc., which can greatly reduce the complexity of transaction processing and greatly improve the efficiency of transaction development, testing and launch; at the same time, through the in-process service orchestration module, it is possible to quickly build new financial transactions through visual tools; and through the production system problem tracking and online tuning module, the system can quickly locate problems and online dynamic performance diagnosis without affecting transactions, thereby providing strong technical guarantee for the stability of the production system.

[0007] The second object of the present invention is to provide a transaction processing method based on event orchestration.

[0008] The first technical solution adopted by the present invention is: a transaction processing system based on event orchestration, including a transaction bus control module, an in-process service orchestration module and a production problem tracking and online tuning module;

[0009] The transaction bus control module is used to obtain all transaction requests, pre-process and verify each transaction request, and create a business context and load parameters based on the verified transaction request; and to monitor and track the transaction processing process;

[0010] The in-process service orchestration module is used to orchestrate events from the atomic service layer, the activity layer, and the event layer in sequence based on the business context and the loading parameters, perform transaction processing based on the events, and record error stack information when an error occurs in the transaction processing;

[0011] The production problem tracking and online tuning module is used to locate problems that occur during the transaction processing and to perform online dynamic performance diagnosis.

[0012] Preferably, the preprocessing and verification include: message conversion, data verification, security check, idempotent anti-duplicate and audit registration.

[0013] Preferably, the message conversion includes serialization and deserialization, and character encoding conversion;

[0014] The data verification includes verifying whether each data field in the message can be empty, whether it is an optional value, whether it exceeds the maximum / minimum value, and whether the length exceeds the maximum / minimum length;

[0015] The security checks include signature and verification, cross-site attack scripting, and data desensitization;

[0016] The idempotent anti-duplicate includes whether the transaction is a duplicate transaction and whether the transaction is being processed;

[0017] The audit registration includes recording operators, external channels, IP addresses and ports, recording request messages and response messages, and recording processing results and time.

[0018] Preferably, the monitoring and tracking of the transaction processing process includes: link tracking, performance monitoring, error handling and transaction management.

[0019] Preferably, the link tracking includes tracking triggered events / activities / atomic services, called SQL, called external APIs;

[0020] The performance monitoring includes monitoring the time consumed in processing events / activities / atomic services, the time consumed in executing SQL, and the input and output message contents of events / activities / atomic services;

[0021] The error handling includes recording error codes and internationalized error information;

[0022] The transaction management includes committing the transaction when the transaction succeeds, rolling back the transaction when the transaction fails, and notifying the downstream system of the transaction processing results.

[0023] Preferably, the loading parameters include registration idempotence anti-duplicate, recording transaction request logs, institution information, system date, reconciliation date, unit sharding and routing information.

[0024] Preferably, the in-process service orchestration module performs the following operations:

[0025] Developing atomic services based on the business context and loading parameters, assembling activities based on the atomic services, and assembling events based on the activities;

[0026] Transaction processing is performed from events to activities, and then from activities to atomic services.

[0027] Preferably, the production problem tracking and online tuning module performs the following operations:

[0028] The error stack information is found through the unique transaction serial number, so as to locate the problem occurred in the transaction processing process.

[0029] Preferably, the production problem tracking and online tuning module performs the following operations:

[0030] Acquire performance data recorded during the monitoring and tracking process of the transaction bus control module, and perform problem diagnosis based on the performance data;

[0031] The performance data includes the time consumed for event / activity / atomic services, the time consumed for calling API and SQL in event / activity / atomic services, the name and number of event / activity calls, the maximum / minimum / average response time of event / activity calls, event / activity call links and hierarchical relationships, a list of SQL executed by events / activities, the number of SQL executed by events / activities, and one or more of the maximum / minimum / average response time.

[0032] The second technical solution adopted by the present invention is: a transaction processing method based on event arrangement, comprising the following steps:

[0033] S100: Obtain all transaction requests, pre-process and verify each transaction request, and create a business context and load parameters based on the verified transaction request;

[0034] S200: choreographing events from the atomic service layer, the activity layer, and the event layer in sequence based on the business context and the loading parameters, and performing transaction processing based on the events; and monitoring and tracking the transaction processing process, and recording error stack information when an error occurs in the transaction processing;

[0035] S300: Collecting performance data based on the monitoring and tracking; locating problems occurring in the transaction processing process based on the error stack information; and performing online dynamic performance diagnosis based on the performance data.

[0036] Beneficial effects of the above technical solution:

[0037] (1) The transaction processing system based on event orchestration provided by the present invention can intercept all transaction requests through the transaction bus control module, realize transaction format conversion, legality verification, traffic control, security inspection, idempotent anti-duplicate, transaction control, etc., which can greatly reduce the complexity of transaction processing and greatly improve the efficiency of transaction development, testing and online launch; at the same time, through the in-process service orchestration module, it can realize the rapid construction of new financial transactions through visual tools; and through the production system problem tracking and online tuning module, it can quickly locate problems and online dynamic performance diagnosis without affecting transactions, thereby providing strong technical guarantee for the stability of the production system.

[0038] (2) The present invention separates the concerns of technical personnel and business personnel by abstracting transaction processing into a three-layer structure of events / activities / atomic services. Technical personnel only focus on the development of atomic services, and then "stack" atomic services into various activities in a building block manner; business personnel only need to focus on the orchestration of events, and "assemble" these activities into different events, namely financial transactions, through visual tools; that is, business personnel are only responsible for developing transactions by arranging events / activities through a visual interface, while technical personnel only focus on the development of atomic services and activities, thereby achieving separation of concerns between business personnel and technical personnel. Technical personnel can develop new functional components faster and at a lower cost, and the code is easier to test and maintain; the code quality is high and the component reuse rate is high, which effectively improves the collaboration efficiency between teams and reduces communication barriers.

[0039] (3) The event-based transaction processing system provided by the present invention can help financial institutions quickly launch products and services, enhance production and operation capabilities, and ultimately save costs for financial institutions and improve their market competitiveness.

[0040] (4) The event-based transaction processing system disclosed in the present invention can support a customer base of 50 million to over 100 million, 100 million to 300 million credit cards, and 30 million to 60 million financial transactions per day, achieving an ultra-strong processing capability with an average online transaction processing time of less than 100 milliseconds; at the same time, the production system problem tracking and online tuning capabilities help financial institutions support production systems with over 100 million customers with very few resources, saving resources for financial institutions, improving efficiency, and achieving tangible benefits. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] Figure 1 A schematic diagram of the structure of a transaction processing system based on event orchestration provided by an embodiment of the present invention;

[0042] Figure 2 A schematic diagram of an in-process service orchestration module choreographing events provided by an embodiment of the present invention;

[0043] Figure 3 A schematic diagram of events provided for one embodiment of the present invention;

[0044] Figure 4 A schematic diagram of finding error stack information through a unique transaction serial number provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0045] The following detailed description of the embodiments of the present invention is further described in detail with reference to the accompanying drawings and examples. The following detailed description of the embodiments and the accompanying drawings are used to illustrate the principles of the present invention, but cannot be used to limit the scope of the present invention, that is, the present invention is not limited to the preferred embodiments described, and the scope of the present invention is defined by the claims.

[0046] In the description of the present invention, it should be noted that, unless otherwise specified, “plurality” means two or more than two; the terms “first”, “second”, etc. are only used for descriptive purposes and cannot be understood as indicating or implying relative importance; for ordinary technicians in this field, the specific meanings of the above terms in the present invention can be understood according to the specific circumstances.

[0047] Embodiment 1

[0048] like Figure 1 As shown, an embodiment of the present invention provides a transaction processing system based on event orchestration, including a transaction bus control module, an in-process service orchestration module, and a production problem tracking and online tuning module;

[0049] The transaction bus control module is used to obtain all transaction requests, pre-process and verify each transaction request, and create a business context and load parameters based on the verified transaction request; and to monitor and track the transaction processing process;

[0050] The in-process service orchestration module is used to orchestrate events from the atomic service layer, the activity layer, and the event layer in sequence based on the business context and the loading parameters, perform transaction processing based on the events, and record error stack information when an error occurs in the transaction processing;

[0051] The production problem tracking and online tuning module is used to collect performance data related to performance in the transaction processing process based on the monitoring and tracking; locate problems that occur in the transaction processing process based on the error stack information, and perform online dynamic performance diagnosis based on the performance data.

[0052] (1) Transaction bus control module;

[0053] The transaction bus control module is the only entry point for any financial transaction to enter the system. All transaction requests will be intercepted and obtained by the transaction bus control module. The transaction bus control module will perform unified preprocessing and verification on the transaction requests. If no errors are found after various verifications on the transaction requests, the in-process service orchestration module will be called to orchestrate events to perform transaction processing.

[0054] Call the transaction bus control module to obtain all transaction requests including input parameters for transaction requests:

[0055] Response response=EventExecutor.execute(Request request).

[0056] The transaction bus control module performs unified pre-processing and verification of transaction requests, including but not limited to: message conversion, data verification, security check, idempotent anti-duplicate, audit registration, etc.;

[0057] Among them, message conversion includes, for example, serialization and deserialization, and character encoding conversion; data verification includes, for example, verifying whether each data field in the message can be empty, whether it is an optional value, whether it exceeds the maximum / minimum value, and whether the length exceeds the maximum / minimum length; security checks include, for example, signature and verification, cross-site attack scripts, and data desensitization; idempotent anti-duplicate includes, for example, whether the transaction is a duplicate transaction (for example, a transaction that has been recorded cannot be recorded repeatedly), whether the transaction is being processed (in the case of asynchronous processing, it is necessary to wait for unfinished transactions to be completed); audit registration includes, for example, recording operators, external channels, IP addresses and ports, recording request messages and response messages (converting request messages and response messages into JSON root format for storage, one is for auditing, and the other is to facilitate tracking of production problems in the future), and recording processing results and time.

[0058] After the transaction request is preprocessed and verified by the transaction bus control module, if no error is found, the transaction bus control module needs to create a business context BusinessContext for the transaction request; and load parameters, such as registering idempotent anti-duplicate, recording transaction request logs, etc., and also needs to preload some public parameters, such as: institution information, system date, reconciliation date, unit sharding and routing information, etc.; then call the in-process service orchestration module to orchestrate events, trigger the root event corresponding to the transaction request, and after the transaction processing is completed, encapsulate the response message and reply to the client.

[0059] Monitoring and tracking of the transaction processing process includes but is not limited to link tracking, performance monitoring, error handling, transaction management, etc.;

[0060] Among them, link tracking includes, for example, tracking triggered events / activities / atomic services, called SQL, and called external APIs; performance monitoring includes, for example, monitoring and recording the time consumed in processing events / activities / atomic services (i.e., the start and end time of the executed events / activities / atomic services), the time consumed in executing SQL, and the input and output message contents of events / activities / atomic services; error handling includes, for example, recording error codes, internationalized error messages, and prompting to display corresponding error messages according to the customer language (i.e., i18n processing); transaction management includes, for example, committing transactions when transactions are successful (i.e., information is permanently written to the database), rolling back transactions when transactions fail (i.e., rolling back changes made to the system during transaction processing), and notifying downstream systems of transaction processing results.

[0061] The present invention processes common and complex problems of financial transactions, such as signature / signature verification, idempotent anti-duplicate, transaction control, etc., by setting up a transaction processing bus control module, which can greatly simplify the architecture of the application system and improve development efficiency.

[0062] (2) In-process service orchestration module;

[0063] Transaction processing adopts event-driven architecture and visual choreography design. The in-process service choreography module quickly develops financial transaction processing through event choreography. In order to realize event choreography, the present invention abstracts the entire financial transaction processing into a three-layer structure of event layer, activity layer and atomic service layer. The in-process service choreography module uses visual tools to quickly build transaction processing from the atomic service layer, activity layer and event layer in sequence.

[0064] Among them, event layer (Event): An event represents a set of complex and related business processes, which is composed of a series of activities or sub-events. Usually, a transaction request is associated with a root event, but some complex financial transactions are often associated with multiple sub-events, such as: cash withdrawal events, consumption events, cash withdrawal transaction events associated with fee transaction events, etc.;

[0065] Activity layer: An activity is a relatively independent business component, which is composed of a series of atomic services; for example, balance allocation activities, interest calculation activities, fee activities, points activities, etc. Activities can also trigger specific events according to business dimensions, or unconditionally trigger ad-hoc events;

[0066] Atomic service layer (Service): Atomic services are stateless and reusable functional components; for example: installment settlement date calculation, personalized interest rate calculation, points calculation, fee calculation atomic service, points calculation atomic service, etc.

[0067] like Figure 2 As shown in the figure, transaction processing (that is, the transaction execution process) starts with events (one transaction request corresponds to one root event). Because events are composed of activities, and activities are composed of atomic services, the execution process is to execute events first, then activities, and then atomic services. Event orchestration (that is, the transaction design process) is just the opposite. First, atomic services are developed based on business context and loading parameters, then atomic services are assembled into activities, and finally activities are assembled into events. That is, transaction processing is executed from top to bottom, and event orchestration is arranged from bottom to top.

[0068] For example, the event layer includes cash withdrawal service events, consumption business events, credit limit adjustment service events, and interest settlement service events. From the event layer, the transaction request corresponding to the event will first be intercepted by the transaction bus control module for pre-processing and verification, and then driven by the in-process service orchestration module. At the same time, it can be seen that the event is orchestrated into a series of activities, for example, the cash withdrawal service event includes authorization verification activities, transaction control activities, and other activities.

[0069] From the perspective of the activity layer, an activity needs to call an atomic service to complete a relatively independent business process. For example, the authorization quota calculation activity will call the quota check atomic service and the currency quota control atomic service.

[0070] From the perspective of the atomic service layer, an atomic service will perform a task based on input factors (i.e., business context and loading parameters) and query various business parameters. This task is often stateless and will not have side effects on the system. For example, the credit check atomic service queries the customer's available credit, whether the transaction occupies the credit, and other parameters based on input factors such as transaction type and transaction amount, and calculates a customer's real-time credit limit and returns it to the activity. However, the atomic service does not change the customer's real-time credit limit, but lets the activity decide whether to change it and when to change it.

[0071] Figure 3 The following is an example of an event (the atomic service called in the activity has been ignored), where the number starting with E (Ennn) represents an event, and the number starting with A (Annn) represents an activity:

[0072] E1000 is a root event, corresponding to a transaction request. The event processing is driven by the transaction bus control module (start). According to the transaction request, this root event arranges one sub-event (E1300) and four activities (A1100, A1200, A1400, and A1500). Among them, activity A1200 triggers E1210 sub-event and A1220 activity, and E1210 arranges two activities, A1211 and A1212. A1400 triggers E1410 sub-event, and E1410 sub-event arranges only one activity, A1411. All events and activities can be arranged. E1000 is a root event here, and E1000 can also be arranged as a sub-event into other root events to form a new transaction processing.

[0073] During the transaction processing, the in-process service orchestration module calls the transaction bus control module to monitor and track the transaction processing process. The transaction bus control module monitors and records the start and end time of the currently executed event / activity / atomic service, the number and duration of API and SQL called by the event / activity / atomic service, etc. When an error occurs in transaction processing, the in-process service orchestration module will record the scene where the error occurred and record the detailed error stack information.

[0074] Error stack information includes but is not limited to the unique transaction serial number, input and output data of transactions and events / activities, names and call times of event / activity calls, maximum / minimum / average response time of processing, event / activity call links and hierarchical relationships, etc.

[0075] The present invention separates the concerns of technical personnel and business personnel by abstracting transaction processing into a three-layer structure of events / activities / atomic services. Technical personnel only focus on the development of atomic services, and then "stack" atomic services into various activities in a building block manner; business personnel only need to focus on the orchestration of events, and "assemble" these activities into different events, namely financial transactions, through visual tools; that is, business personnel are only responsible for developing transactions by arranging events / activities through a visual interface, while technical personnel only focus on the development of atomic services and activities, thus achieving separation of concerns between business personnel and technical personnel, technical personnel can develop new functional components faster and at a lower cost, and the code is easier to test and maintain; the code quality is high and the component reuse rate is high, which effectively improves the collaboration efficiency between teams and reduces communication barriers.

[0076] (3) Production problem tracking and online tuning module;

[0077] Since financial transaction processing is abstracted into three layers of events / activities / atomic services, and the transaction bus control module can monitor all events / activities / atomic services, the transaction bus control module can accurately know the start and end time of events / activities / atomic services, as well as the called services and SQL, etc. This capability can quickly locate problems in the transaction processing process and perform online dynamic performance diagnosis without affecting transactions, which can greatly improve production operation capabilities and enhance the stability of production systems. This provides a strong technical guarantee for financial institutions to ensure the stability of production systems.

[0078] The production problem tracking and online tuning module is used to locate problems that occur during the transaction processing and to perform online dynamic performance diagnosis.

[0079] like Figure 4As shown, through the transaction unique serial number (TranUid), we can clearly see the request message and response message, the time when the transaction occurred, the time taken for the transaction, the call relationship and time taken for the root event (AUS.OP.99.0130, etc.) and the activity (X6890, etc.), as well as the error stack information when the exception occurs, and the number of SQL calls and time taken for the event and activity. For external transaction requests, the message header of the transaction request includes the channel unique serial number, and the transaction bus control module uses the channel unique serial number as the transaction unique serial number; for internally generated transactions (endogenous transactions or derivative transactions), the transaction unique serial number is applied to the global number issuer of the transaction bus control module.

[0080] Wherein, locating the problems occurring during the transaction processing includes:

[0081] The production problem tracking and online tuning module accurately finds the error stack information recorded by the in-process service orchestration module through the unique transaction serial number, quickly locates the problem, and restores the scene where the exception occurred. For example:

[0082] ① Input and output data of transactions and events / activities;

[0083] ② Name and number of event / activity calls;

[0084] ③ Maximum / minimum / average response time of processing;

[0085] ④Event / activity call links and hierarchical relationships.

[0086] The online dynamic performance diagnosis of the production environment includes: collecting performance data related to performance in the transaction processing process from the transaction bus control module, and performing problem diagnosis based on the performance data.

[0087] The performance data includes but is not limited to the time consumed by events / activities / atomic services, the list of APIs and SQLs called in events / activities / atomic services, the time consumed by calling APIs and SQLs in events / activities / atomic services, the name and number of calls of event / activity calls, the maximum / minimum / average response time of event / activity calls, event / activity call links and hierarchical relationships, the list of SQLs executed by events / activities and the number of SQLs executed by events / activities, the maximum / minimum / average response time, etc.

[0088] Problem diagnosis based on the performance data includes:

[0089] Filter out time-consuming programs, APIs, and SQL statements for analysis and diagnosis. For example, if a certain SQL statement takes too much time, the problem may be that the SQL statement has no index, or the query conditions are unreasonable, resulting in a too large result set, or there may be unreasonable multi-table association queries.

[0090] Application systems that adopt a distributed microservice architecture involve numerous peripheral systems, the interactions between various business systems are intricate, and the logs generated by the business systems are huge. Finding production problems is a very complex and time-consuming "professional" job; and because the production environment cannot be shut down and debugged, production problems can only be located by analyzing logs and data, which is inefficient. Sometimes, because there is no scene where the error occurred, the causes of some problems cannot be found; the present invention has a built-in production problem tracking and online tuning module, which is used to quickly locate production problems in the production environment, as well as dynamic performance diagnosis of the production environment (that is, online dynamic tuning to discover potential risks in the production environment, so as to achieve online dynamic performance diagnosis), such as slow SQL.

[0091] Embodiment 2

[0092] An embodiment of the present invention provides a transaction processing method based on event orchestration, comprising the following steps:

[0093] S100: Obtain all transaction requests, pre-process and verify each transaction request, and create a business context and load parameters based on the verified transaction request;

[0094] S200: choreographing events from the atomic service layer, the activity layer, and the event layer in sequence based on the business context and the loading parameters, and performing transaction processing based on the events; and monitoring and tracking the transaction processing process, and recording error stack information when an error occurs in the transaction processing;

[0095] S300: Collecting performance data related to performance in the transaction processing process based on the monitoring and tracking; locating problems occurring in the transaction processing process based on the error stack information; and performing online dynamic performance diagnosis based on the performance data.

[0096] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed in the embodiments of the present invention can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention.

[0097] In the embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

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

[0099] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0100] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: various media that can store program codes, such as USB flash drives, mobile hard disks, ROM, RAM, magnetic disks, or optical disks.

[0101] The above is only a specific embodiment of the present invention, but the protection scope of the present invention is not limited thereto. Any person skilled in the art can easily think of changes or substitutions within the technical scope disclosed by the present invention, which should be included in the protection scope of the present invention. Therefore, the protection scope of the present invention should be based on the protection scope of the claims.

Claims

1. A transaction processing system based on event orchestration, characterized in that: It includes transaction bus control module, in-process service orchestration module, and production problem tracking and online tuning module; The transaction bus control module is used to obtain all transaction requests, pre-process and verify each transaction request, and create a business context and load parameters based on the verified transaction request; and used to monitor and track the transaction processing process; The in-process service orchestration module is used to orchestrate events from the atomic service layer, the activity layer, and the event layer in sequence based on the business context and the loading parameters, perform transaction processing based on the events, and record error stack information when an error occurs in the transaction processing; The production problem tracking and online tuning module is used to locate problems that occur during the transaction processing and to perform online dynamic performance diagnosis.

2. The transaction processing system according to claim 1, characterized in that: The preprocessing and verification include: message conversion, data verification, security check, idempotent duplication prevention and audit registration.

3. The transaction processing system according to claim 2, characterized in that: The message conversion includes serialization and deserialization, and character encoding conversion; The data verification includes verifying whether each data field in the message can be empty, whether it is an optional value, whether it exceeds the maximum / minimum value, and whether the length exceeds the maximum / minimum length; The security checks include signature and verification, cross-site attack scripting, and data desensitization; The idempotent anti-duplicate includes whether the transaction is a duplicate transaction and whether the transaction is being processed; The audit registration includes recording operators, external channels, IP addresses and ports, recording request messages and response messages, and recording processing results and time.

4. The transaction processing system according to claim 1, characterized in that: The monitoring and tracking of the transaction processing process includes: link tracking, performance monitoring, error handling and transaction management.

5. The transaction processing system according to claim 4, characterized in that: The link tracking includes tracking the triggered events / activities / atomic services, the called SQL, and the called external API; The performance monitoring includes monitoring the time consumed in processing events / activities / atomic services, the time consumed in executing SQL, and the input and output message contents of events / activities / atomic services; The error handling includes recording error codes and internationalized error information; The transaction management includes committing the transaction when the transaction succeeds, rolling back the transaction when the transaction fails, and notifying the downstream system of the transaction processing results.

6. The transaction processing system according to claim 1, characterized in that: The loading parameters include registration idempotency and anti-duplicate, recording transaction request logs, institution information, system date, reconciliation date, unit sharding and routing information.

7. The transaction processing system according to claim 1, characterized in that: The in-process service orchestration module performs the following operations: Developing atomic services based on the business context and loading parameters, assembling activities based on the atomic services, and assembling events based on the activities; Transaction processing is performed from events to activities, and then from activities to atomic services.

8. The transaction processing system according to claim 1, characterized in that: The production problem tracking and online tuning module performs the following operations: The error stack information is found through the unique transaction serial number, so as to locate the problem occurred in the transaction processing process.

9. The transaction processing system according to claim 1, characterized in that: The production problem tracking and online tuning module performs the following operations: Acquire performance data recorded during the monitoring and tracking process of the transaction bus control module, and perform problem diagnosis based on the performance data; The performance data includes the time consumed for event / activity / atomic services, the time consumed for calling API and SQL in event / activity / atomic services, the name and number of event / activity calls, the maximum / minimum / average response time of event / activity calls, event / activity call links and hierarchical relationships, a list of SQL executed by events / activities, the number of SQL executed by events / activities, and one or more of the maximum / minimum / average response time.

10. A transaction processing method based on event orchestration, characterized in that: The following steps are involved: S100: Obtain all transaction requests, pre-process and verify each transaction request, and create a business context and load parameters based on the verified transaction request; S200: choreographing events from the atomic service layer, the activity layer, and the event layer in sequence based on the business context and the loading parameters, and performing transaction processing based on the events; And monitor and track the transaction processing process, and record the error stack information when errors occur in transaction processing; S300: Collecting performance data based on the monitoring and tracking; The problem occurring in the transaction processing process is located based on the error stack information, and online dynamic performance diagnosis is performed based on the performance data.