Business processing method and related device

Through process configuration files and component processing, the process configuration of complex business logic in the banking system is simplified, solving the problems of high coupling and high maintenance costs, and achieving flexible and efficient business process management.

CN116228136BActive Publication Date: 2025-10-10SHENZHEN WEIZHONG TAXATION INFORMATION SERVICE CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202310006631.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-01-04
Publication Date
2025-10-10
Estimated Expiration
2043-01-04

AI Technical Summary

Technical Problem

The complex business logic in banking systems has high system maintenance costs, high code coupling, difficulty in flexibly changing business processes, and almost impossible to achieve real-time hot changes to business processes.

Method used

By obtaining a list of process nodes based on the process name, obtaining the business input data associated with the node, and determining the node status and next node based on the output data, the process configuration file is used to simplify the process configuration and componentize the business logic.

Benefits of technology

It implements a low-coupling and flexible system, simplifies the process configuration, improves work efficiency, and reduces the need for code changes and regression testing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116228136B_ABST
    Figure CN116228136B_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a service processing method and related equipment, which are used for simplifying the process configuration process and improving work efficiency. The method of the embodiments of the present application comprises: obtaining a process node list in a process configuration file based on a process name; wherein the process node list comprises at least two process nodes; obtaining service input data associated with all the process nodes and inputting the service input data into all the process nodes in the process node list; wherein any process node is configured with a process processing module capable of processing the service data; obtaining service output data of a current process node and determining an execution state of the current process node and a next process node according to the service output data; wherein the current process node is any process node in all the process nodes, and the next process node is a next process node of the current process node.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of computer technology, and in particular to a business processing method and related equipment. Background Art

[0002] With the rapid development of Internet technology, corporate operations have become more mature, teams have grown, and more and more work requires collaboration.

[0003] Banking systems often contain complex business logic. These systems carry core business logic, and nearly every requirement is related to this core business. This core business logic is lengthy, involving internal logical operations, caching, persistence, external resource retrieval, and remote procedure calls (RPCs) to other internal systems. Over time, as projects change hands frequently, maintenance costs can become increasingly high.

[0004] At the same time, the number of hard-coded judgments and branching conditions increased. Code abstraction and reuse rates decreased, and the coupling between modules became very high. A change to a small piece of logic would affect other modules, requiring comprehensive regression testing to verify. Flexibly changing the order of business processes required significant code changes, abstraction, and method rewriting. Real-time, hot changes to business processes were virtually impossible. Summary of the Invention

[0005] The embodiments of the present application provide a business processing method and related equipment for simplifying the process configuration process to improve work efficiency.

[0006] A first aspect of an embodiment of the present application provides a service processing method, including:

[0007] Obtaining a process node list in a process configuration file based on the process name; wherein the process node list includes at least two process nodes;

[0008] Acquire business input data associated with all the process nodes, and input the business input data into all the process nodes in the process node list; wherein any of the process nodes is configured with a process processing module capable of processing the business data;

[0009] Obtain the business output data of the current process node, and determine the execution status of the current process node and the next process node based on the business output data; wherein the current process node is any process node among all the process nodes, and the next process node is the next process node of the current process node.

[0010] Optionally, after obtaining the business output data of the current process node and determining the execution state of the current process node and the next process node according to the business output data, the method further includes:

[0011] If the next process node is an end process node, determining that all the process nodes in the process node list have been executed;

[0012] If the next process node is not the end process node, a process processing module configured for the next process node is determined to process the business input data according to the process processing module.

[0013] Optionally, before obtaining the business input data associated with all the process nodes, the method further includes:

[0014] Create a business process record table; wherein the business process record table is used to record the execution status of all process nodes;

[0015] When the process processing module configured for the current process node fails to execute, the execution status of the current process node is recorded in the business process record table;

[0016] When the process processing module configured for the current process node is executed, all process nodes with an execution status of completed are recorded in the business process record table.

[0017] Optionally, recording the execution status of the current process node in the business process record table includes:

[0018] The configuration program of the process processing module configured in the current process node is recorded in the business process record table.

[0019] Optionally, acquiring business input data associated with all the process nodes includes:

[0020] Obtaining the business input data, and determining the association relationship between all the business input data and all the process nodes;

[0021] All the business input data in the process node list and the configuration programs corresponding to all the process processing modules are saved in the business process record table.

[0022] Optionally, after recording the execution status of the current process node in the business process record table, the method further includes:

[0023] Calling the process processing module to input the business input data stored in the business process record table into the process processing module, and executing the current process node corresponding to the process processing module;

[0024] Update the execution status of the current process node, and execute the step of obtaining the business output data of the current process node.

[0025] Optionally, the process nodes include at least a start process node and a function process node. Before inputting the business input data into all the process nodes in the process node list, the method further includes:

[0026] Execute the start process node according to the process node list;

[0027] The step of inputting the business input data into all the process nodes in the process node list includes:

[0028] Acquire the functional process node according to the start process node, and use the functional process node as the next process node of the start process node;

[0029] The process processing module corresponding to the functional process node is obtained according to the functional process node, and all business input data are input into the process processing module corresponding to the functional process node.

[0030] Optionally, inputting the business input data into all the process nodes in the process node list includes:

[0031] The business input data is used as input data of the process node, and the process processing module corresponding to the process node is called to perform business processing on the business input data.

[0032] A second aspect of an embodiment of the present application provides a business processing system, including:

[0033] An acquiring unit, configured to acquire a process node list in a process configuration file based on a process name; wherein the process node list includes at least two process nodes;

[0034] An input unit, configured to obtain business input data associated with all the process nodes, and input the business input data into all the process nodes in the process node list; wherein any of the process nodes is configured with a process processing module capable of processing the business data;

[0035] A determination unit is used to obtain the business output data of the current process node and determine the execution status of the current process node and the next process node based on the business output data; wherein the current process node is any process node among all the process nodes, and the next process node is the next process node of the current process node.

[0036] The second aspect of the embodiment of the present application provides a business processing method for executing the first aspect.

[0037] A third aspect of an embodiment of the present application provides a service processing device, including:

[0038] CPU, memory, input and output interfaces, wired or wireless network interfaces, and power supply;

[0039] The memory is a transient storage memory or a persistent storage memory;

[0040] The central processing unit is configured to communicate with the memory and execute instruction operations in the memory to perform the business processing method described in the first aspect.

[0041] A fourth aspect of an embodiment of the present application provides a computer-readable storage medium, characterized in that the computer-readable storage medium includes instructions, which, when executed on a computer, enable the computer to execute the business processing method described in the first aspect.

[0042] From the above technical solutions, it can be seen that the embodiments of the present application have the following advantages: through a business processing method proposed in the embodiments of the present application, a list of process nodes in the process configuration file is obtained based on the process name; the business input data associated with all process nodes is then obtained, and the business input data is input into all process nodes in the process node list; finally, the business output data of the current process node is obtained, and the execution status of the current process node and the next process node are determined based on the business output data. Therefore, it is only necessary to configure the complex business logic according to a rule, and then the execution process of each process node can be carried out according to the rule configuration without the need to re-arrange the program, etc., so that each business segment is a component, simplifying the process configuration process and improving work efficiency as much as possible. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments recorded in the present application. For ordinary technicians in this field, other drawings can also be obtained based on these drawings.

[0044] Figure 1 A schematic diagram of the logical structure of a business component module disclosed in an embodiment of the present application;

[0045] Figure 2 A flow chart of a business logic disclosed in an embodiment of this application;

[0046] Figure 3A flowchart of a service processing method disclosed in an embodiment of the present application is shown in FIG. 1.

[0047] Figure 4 A flowchart of another service processing method disclosed in an embodiment of the present application is shown in FIG. 2.

[0048] Figure 5 A module calling use case diagram disclosed in an embodiment of the present application is shown in FIG. 3.

[0049] Figure 6 An admission rule module use case diagram disclosed in an embodiment of the present application is shown in FIG. 4.

[0050] Figure 7 A model module processing flowchart disclosed in an embodiment of the present application is shown in FIG. 5.

[0051] Figure 8 A credit limit module use case diagram disclosed in an embodiment of the present application is shown in FIG. 6.

[0052] Figure 9 A credit limit module flowchart disclosed in an embodiment of the present application is shown in FIG. 7.

[0053] Figure 10 A structural diagram of a service processing system disclosed in an embodiment of the present application is shown in FIG. 8.

[0054] Figure 11 A structural diagram of a service processing apparatus disclosed in an embodiment of the present application is shown in FIG. 9. DETAILED DESCRIPTION

[0055] The technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, but not all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work fall within the scope of the present application.

[0056] In the related systems of a bank, there are always some systems with complex business logic, which carry core business logic and are almost related to every demand. The core business logic is lengthy and involves internal logic operation, cache operation, persistent operation, external resource calling, internal other system RPC calling, etc. With time, the project is handed over several times, and the maintenance cost will be higher and higher. Various hard code judgments and branch conditions are more and more. The code abstraction and reuse rate are lower and lower, and the coupling degree between modules is high. A small change in logic will affect other modules and require complete regression testing for verification. If the order of the business process is to be changed flexibly, the code needs to be changed greatly for abstraction and re-written.

[0057] To solve the above problems, a logic-based decoupling method is provided. After making the process configurable, a low-coupling and flexible system can be created.

[0058] However, it should be noted in advance that the process configuration disclosed in the embodiment of this application is only applicable to logic-based flows, not role-based flows. At the same time, it should also be noted that the embodiment of this application is mainly used to configure complex processes and has the following characteristics:

[0059] 1. Unified component definition: All logic is a component, providing a unified component implementation method for all logic.

[0060] 2. Lightweight rules: The process is arranged based on rule files, making it easier to get started.

[0061] 3. Arbitrary arrangement: No matter how complex the logical process is, it can utilize process configuration rules.

[0062] 4. Rule persistence: The framework natively supports storing rules in a standard structured database, which can be extended arbitrarily to store rules anywhere.

[0063] 5. Wide support: The configuration process can support Springboot, Spring, java framework, etc.

[0064] 6. JDK support: Supports JDK8 to JDK17, etc., and has no direct correlation with JDK versions.

[0065] 7. Component retry support: Components can support retries, and each component can customize retry configuration and specify exceptions.

[0066] 8. Detailed step information: with clear link execution information.

[0067] 9. Excellent performance: The framework itself consumes almost no additional performance, and performance depends on the efficiency of component execution.

[0068] It should be noted that Spring is an open source design-level framework that solves the problem of loose coupling between the business logic layer and other layers. Therefore, it incorporates interface-oriented programming ideas throughout the entire system application.

[0069] See also Figure 1 , Figure 1 This is a schematic diagram of the logical structure of a business component module disclosed in an embodiment of the present application.

[0070] It should be noted in advance that Figure 1The main description is of the logical structure of the business component modules. Each business component module is the process processing module described above. For the convenience of understanding and description, no further details will be given.

[0071] The main class relationships are described as follows:

[0072] 1. DefineFlowNodeFactory: It is mainly used to initialize the business process and business module according to the process defined in flow.properties when the application starts.

[0073] 2.TaskFlowProcessHelper: Provides auxiliary classes for starting, restarting, and executing common business processes on a single node for integrated projects.

[0074] 3.TaskFlowProcessor: Completes business function calls of business nodes, creates and tracks process instances, and saves node execution status and execution results; its business processing relies on the IBizComponentHandler interface.

[0075] 4.IBizComponentHandler: The root interface of the business module. All other modules directly and indirectly implement the methods provided by this interface to implement the interface definitions for parameter encapsulation, message assembly, message parsing, and result storage required for business processing.

[0076] 5.INodeHandleBuilder: Provides instantiation of data module, model module, and rule engine module components and is called in the DefineFlowNodeFactory initialization method.

[0077] 6.IDataComponentHandler: Provides the interface specification definition of the data module. All data modules must directly and indirectly implement the methods defined by this interface.

[0078] 7.ICallDataModelHandler: Provides interface definitions for model modules, such as model calling and model result saving. All model modules must directly and indirectly implement the methods defined in this interface.

[0079] 8. AbstractBizComponentHandler is a business abstract class that implements the above IBizComponentHandler interface and encapsulates and implements some methods: parameter initialization, data table record checking before node execution, obtaining the node to be executed after failure or exception, and abnormal process termination.

[0080] 9. AbstractComponentNodeHandler is an abstract component class that inherits the above IBizComponentHandler interface and encapsulates and implements some methods: converting result messages into JSON, initiating request calls, modifying order results, and other common methods.

[0081] 10. BizDataComponentHandler is a business data abstraction class that inherits the AbstractComponentNodeHandler class above, implements the IDataComponentHandler interface, and overrides the execute method and obtains the message serial number.

[0082] 11. AbstractDataModeHandler is a model data abstraction class that inherits the AbstractBizComponentHandler class above, implements the ICallDataModelHandler interface, and handles some common processing functions of the model: model call, model notification, model result processing, etc.

[0083] 12.BizInstanceConfiguration is an instance configuration class that mainly defines the configured objects, including: rule engine objects, model instance objects, data processing instantiation, etc.

[0084] 13. ModelInstanceConfiguration is the model call instance Bean configuration class, which mainly instantiates the model processing class, including: data indicator processing model, access rule model, formal credit access rule model, expenditure rule model, AHP scoring model, personal finance scoring, pre-credit limit model, final approval limit model, etc.

[0085] 14.ComponentNodeHandleBuilder is a node creation class that implements the INodeHandleBuilder interface and is mainly used to create various process nodes.

[0086] It should be noted that flow.properties is a class configuration file that primarily configures the execution steps and sequence of nodes in each process. This will be described in detail later.

[0087] It should also be noted that Figure 1There are also various solid and dashed lines in the diagram, which are all class relationship diagram symbols. For example, there is a solid line and a dashed line between the DefineFlowNodeFactory module and the IBizComponentHandler module. In fact, the solid line with a diamond shape represents an aggregation relationship, with one end of the diamond representing the aggregated class, and the dashed line represents the dependency relationship.

[0088] The BizDataComponentHandler module, the AbstractComponentNodeHandler module and the AbstractBizComponentHandler module are mutually inherited. The AbstractBizComponentHandler module and the AbstractDataModeHandler module are also inherited.

[0089] The dotted line between the INodeHandleBuilder module and the ComponentNodeHandleBuilder module means that there is an interface implementation relationship. The dotted line between the IDataComponentHandler module and the BizDataComponentHandler module also means that there is an interface implementation relationship. The dotted lines between the ICallDataModelHandler module and the AbstractDataModeHandler module, and the IBizComponentHandler module and the AbstractBizComponentHandler module also mean that there is an interface implementation relationship.

[0090] See also Figure 2 , Figure 2 This is a flow diagram of the business logic disclosed in an embodiment of this application.

[0091] It should be noted in advance that Figure 2The flow and its nodes configured in a business logic are mainly described. Specifically, the flow configuration file flow.properties is added under the resources / properties directory of the project source code, the node execution order of each flow is configured, each line is a flow, multiple flows are supported, the number and order of nodes in each flow are not limited, any flow can be started anywhere in the system, and the flow is ended until the flow is run. The running of each node of each flow is recorded in the flow table (BI_TRANSACTION_FLOW), the node running is recorded in (BI_TRANSACTION_NODE_DETAIL), the flow record can be viewed through the background management system, and the failed flow is automatically triggered from the failed node and continues to execute until the flow is ended. When configuring the flow, each flow starts with START and ends with END, and the node modules are separated by commas (English commas). It should be noted that BI_TRANSACTION_NODE_DETAIL is mainly a table recording the running of the flow nodes. For example, for Figure 2 , the first line on the right side, that is, flow.hsjIndusCom=START, hsjIndusComNode, END. There are three flow nodes in total, which are START node, hsjIndusComNode and END node. It is not difficult to understand that the START node and the END node are necessary nodes in each business logic flow, and for the right side of Figure 2 , any line is a business logic flow. In addition, the flow corresponding to the hsjIndusComNode node can be composed of various business modules in Figure 1 .

[0092] It should be further pointed out that the failed node is retriggered, and then the flow is continued until the end. For example, a business flow includes nodes 1-5, and node 3 fails, that is, nodes 1-3 are executed, at this time, a timing task is arranged to regularly inspect the flow execution, and when the flow is interrupted or abnormal, the execution is continued from the failed node, that is, the flow of 3-5 is continued.

[0093] In one specific embodiment, the corresponding program code can be configured for the module corresponding to the node. For example, a module can be configured as follows:

[0094]

[0095]

[0096]

[0097] It is not difficult to understand that the above are mainly several fragments of the XML configuration file, which define the process nodes. Please refer to Table 1 for the description of each node:

[0098]

[0099]

[0100]

[0101]

[0102] See also Figure 3 , Figure 3 This is a flowchart of a business processing method disclosed in an embodiment of the present application, including steps 301 to 303.

[0103] 301. Obtain a list of process nodes in the process configuration file based on the process name.

[0104] Depend on Figure 1 and Figure 2 It can be seen that when starting each process node and executing the business logic function corresponding to the corresponding functional module, it is necessary to first clarify the process name of the business logic to be executed.

[0105] Specifically, for Figure 2 On the right side, flow.hsjIndusCom or flow.indusComNode, etc., that is, before the "=", is the corresponding process name. In other words, the process definition node list can be obtained in the initialized DefineFlowNodeFactory instance through the field process name (flowCode). Specifically, the process definition node list is the process node flow table described above, that is, Figure 2 , all nodes from the START node to the END node. Correspondingly, the process configuration file is flow.properties, which configures the node execution order of each process.

[0106] It should be noted that each node at this time may have been configured with Figure 1 At the same time, the business modules also load various program codes, that is, Figure 2 For ease of understanding and description, the specific program code described in

[15] will not be described in detail later.

[0107] 302. Obtain business input data associated with all process nodes, and input the business input data into all process nodes in the process node list to obtain business output data of the current process node.

[0108] After determining the process nodes required for the execution of the business logic, it is necessary to determine the business input data of the business logic. Correspondingly, since different operation data exist in different process nodes, it is necessary to obtain the business input data associated with all process nodes, that is, the business input data corresponding to any process node.

[0109] In one embodiment, the business input data may be an order number or a customer number. The specific type of business input data is not limited here and will not be further described. Based on the above embodiment, it can be seen that in a specific business scenario, an order has an order number and a customer number. The order number is associated with the customer number and the process number.

[0110] After obtaining the business input data, the corresponding business input data can be input into all process nodes in the process node list, so that the process nodes can perform corresponding business processing according to the configured business processing module and its program code.

[0111] In this way, the business output data of different process nodes can be obtained. Correspondingly, the current process node is the currently executed process node. Any process node has corresponding input data (input parameters) and output data (output parameters). Correspondingly, the business output data generated by the business processing flow corresponding to the current process node can be obtained.

[0112] 303. Determine the execution status of the current process node and the next process node based on the business output data.

[0113] After the business processing of the current process node is completed and the corresponding business output data is obtained, the execution status of the current process node in the entire process node list can be updated according to the status of the business output data.

[0114] In one embodiment, the execution status of the process node before the current process node can also be updated, and correspondingly, the status of the process node next to the current process node, that is, the node to be executed next, can also be updated, thereby determining the next process node to be executed.

[0115] In another embodiment, when the current process node is executed, a node execution record for the executed process node or a process node execution failure record is determined. If the current process node is executed successfully, corresponding business processing can be performed based on whether the next process node is an END node. If the current process node fails to execute, the failure reason is written into the node record failure reason field and the process failure reason field. In other words, when the current process node fails to execute, the corresponding program code execution failure or process processing module processing failure is recorded, and the reason for the failure is recorded.

[0116] The business processing method proposed in this embodiment obtains a list of process nodes in a process configuration file based on the process name; then obtains the business input data associated with all process nodes and enters the business input data into all process nodes in the process node list; finally, obtains the business output data of the current process node and determines the execution status of the current process node and the next process node based on the business output data. Thus, complex business logic only needs to be configured according to a rule, and the execution process of each process node can be carried out according to the rule configuration without the need for reprogramming. Each business segment is treated as a component, simplifying the process configuration process and maximizing work efficiency.

[0117] To facilitate a detailed description of a service processing method proposed in this embodiment, please refer to Figure 4 , Figure 4 This is a flowchart of another business processing method disclosed in an embodiment of the present application, including steps 401 to 410.

[0118] 401. Obtain a list of process nodes in the process configuration file based on the process name.

[0119] It should be noted in advance that this embodiment mainly describes the pneumatic process and the process that continues to be executed after an interruption.

[0120] In this embodiment, step 401 is the same as the aforementioned Figure 3 The step 301 is similar and will not be described in detail here. However, it should be noted that this step can be understood as obtaining the process definition node list in the initialized DefineFlowNodeFactory instance through the field process name flowCode. Among them, the nodes in the process definition node list can be understood as a module is a node, that is, corresponding to a section of program code. That is Figure 2 The program code corresponding to the "Industrial and Commercial Justice" or "Tax Rules Engine".

[0121] 402. Create a business process record table.

[0122] After obtaining the process definition node list, you can create the flow table BI_TRANSACTION_FLOW, which is a business process processing instance table record. Figure 2 In the right part of the table, each row represents a business. It's easy to understand that a business can contain multiple sub-businesses, such as the aforementioned business and judicial services or pre-credit services. It's also important to note that the flow sheet is the business process record described above. For ease of understanding and description, this will not be further elaborated.

[0123] 403. Obtain business input data, determine the association between all business input data and all process nodes, and save all business input data in the process node list and the configuration programs corresponding to all process processing modules in the business process record table.

[0124] When executing each process node in the process node list, the corresponding business input data needs to be obtained.

[0125] In one embodiment, the business process instance can be associated with the business order through the order number or customer number. It is not difficult to understand that the order number or customer number mentioned above is a specific business scenario application. An order has an order number and a customer number. The order number is associated with the customer number and the process number. In other words, it can also be customer name, company information, etc., which are not described in detail here. Then, all the parameters for the current process startup are saved in the meta_data field, and the process instance record is created and saved. It is not difficult to understand that the meta_data field is a field of the BI_TRANSACTION_FLOW table, which records the original parameters for the process startup.

[0126] Specifically, after determining the process node, the node definition configuration data and the processing module component associated with the node can be obtained through the process node name nodeCode, that is, the business input data described above and the configuration program corresponding to the process processing module.

[0127] 404. Execute the start process node according to the process node list.

[0128] After the instance is successfully saved, the start process node can be executed according to the order in the process node list, which is the START node described above.

[0129] 405. Obtain a functional process node according to the start process node, and use the functional process node as the next process node of the start process node.

[0130] When the START node starts to execute, the next node of the START node can be obtained as the first pre-executed node through the obtained flow definition. That is, the function flow node described in the above. It is not difficult to understand that the function flow node at this time does not include the END node, and is a flow node that can execute the corresponding business logic function. Then, the function flow node can be executed.

[0131] In one embodiment, the corresponding node processing module component instance can be obtained through the name of the pre-executed node. Specifically, the node processing module component instance can be understood as a business module. For example, hsjIndusComNode is a node and also a business module. For the convenience of understanding and description, the relationship between the flow node and the business module will not be described in detail hereinafter.

[0132] 406, call the flow processing module to input the business input data stored in the business flow record table into the flow processing module, and execute the current flow node corresponding to the flow processing module. Execute step 407 or step 410.

[0133] When the pre-executed node, that is, the function flow node, is determined, the business input data stored in the business flow record table can be input into the flow processing module, and the current flow node corresponding to the flow processing module can be executed.

[0134] In one embodiment, specifically, the business processing can be called through the flow processor TaskFlowProcessor.next method, and the node module instance, the customer number, and the order number are used as the input parameters of next. In the next method, the execute() method of the module is called to call the business processing. It is not difficult to understand that the input parameters of next are the input parameters of the flow node, that is, the business input data described in the above. Correspondingly, next is a program method, that is, an execution operation, which will not be described hereinafter for the convenience of understanding and description. Correspondingly, the execute() method is also a program method, that is, an execution operation. For the convenience of understanding and description, this will not be described hereinafter.

[0135] Then, the return value of the business module execute method is obtained in the next method. That is, the corresponding business output data is obtained. Then, step 407 or step 410 can be executed according to the state of the return value.

[0136] Based on the above embodiment, if it is determined that the execution is successful according to the state of the return value, it can be understood that step 407 is executed.

[0137] If it is determined that the execution fails according to the state of the return value, it can be understood that step 410 is executed.

[0138] 407. When the process processing module configured for the current process node is executed, all process nodes with the execution status of "execution completed" are recorded in the business process record table. Execute step 408 or step 409.

[0139] When the process processing module configured for the current process node is executed, the data of the process node with the execution status of completed will be recorded in the business process record table.

[0140] In one embodiment, the process instance status and the next node to be executed are updated based on the return value status, and a node execution record for the executed node is created and saved. The NodeMetaDate of the return value can then be used to determine whether the next process node is an END node. This allows execution of step 408 or step 409.

[0141] It is not difficult to understand that NodeMetaDate is an object in the program that records node information, including the input parameters of the current process node, the previous process node, and the next process node information.

[0142] 408. If the next process node is not an end process node, determine the process processing module configured for the next process node to process the business input data according to the process processing module.

[0143] Correspondingly, if the next process node is not an END node (end process node), the processing module component configured for the next process node is determined, and then the corresponding input data is processed according to the processing module component.

[0144] In one embodiment, the node executes the following steps: First, the process node record is retrieved from the database table BI_TRANSACTION_NODE_DETAIL using NodeId, and the process definition node list initialized by the DefineFlowNodeFactory instance is retrieved using flow_code. It is easy to understand that NodeId is the node ID field, and BI_TRANSACTION_NODE_DETAIL is the table name.

[0145] Then, get the processing module component associated with the node through the node_code and flow_code in the process node record. It should be understood that node_code is the node name, such as: hsjIndusComNode, and flow_code is configured in flow.properties, such as Figure 1 flow.hsjIndusCom in.

[0146] Finally, call the execute() method of the module component to execute the node again, and update the BI_TRANSACTION_NODE_DETAIL node status and processing result information to complete the processing.

[0147] 409. If the next process node is an end process node, determine that all process nodes in the process node list are executed.

[0148] If the next node in the returned NodeMetaDate is an END node, that is, when the next process node is an END node, it can be determined that all process nodes in the business logic have completed execution. At this time, all BI_TRANSACTION_NODE_DETAIL node status and processing result information will be updated to indicate the end of the processing.

[0149] 410. When the process processing module configured for the current process node fails to execute, the execution status of the current process node is recorded in the business process record table.

[0150] When a node fails to execute, the execution status of the current process node will be recorded in the business process record table.

[0151] In one embodiment, the failure reason is written to the node and the failure reason field and the process failure reason field are recorded. Figure 2 As described in the , a failed process will be automatically triggered from the failed node within a certain period of time and continue to execute until the process ends.

[0152] Correspondingly, after a certain period of time, the failed process node and subsequent process nodes will continue to be executed, which can be understood as executing step 408.

[0153] In one embodiment, if an exception causes an interruption, a timer will be triggered to continue to obtain the remaining node list for execution. That is, the following steps are performed:

[0154] 1) Get the list of process definition nodes in the initialized DefineFlowNodeFactory instance through flowCode;

[0155] 2) Obtain node definition configuration data and node-associated processing module components through nodeCode (node ​​name);

[0156] 3) Get the process instance data record from the BI_TRANSACTION_FLOW table using the flowCode and order number;

[0157] 4) Get the order number and customer number saved in the BI_TRANSACTION_FLOW record, call the TaskFlowProcessor.next method, and continue executing the business process;

[0158] 5) Get the return value of the execute method of the business module in the next method, and update the process instance status and the node to be executed next node according to the return value status, create a node execution record for the executed node, or if the node execution fails, write the failure reason into the node record failure reason field and the process failure reason field;

[0159] 6) If the next node of the NodeMetaDat of the returned value is not the END node, the execution continues with the next node, that is, step 408 is executed until all nodes of the process definition are executed; otherwise, the process execution ends, that is, step 409 is executed.

[0160] The configuration component disclosed in this embodiment is a lightweight, fast component-based rule engine framework. The component orchestration helps decouple business code, making each business fragment a component. Through a business processing method proposed in this embodiment, using process configuration, complex business logic can be split into small components according to code fragments, and a rule process configuration can be defined. In this way, all components can perform complex flows according to the rule configuration, and all that is required is to define their rules. The process configuration provides extremely simple and easy-to-understand rule expressions. Process configuration is suitable for businesses with complex logic, such as rule engines, calculation engines, model processes, etc. These businesses often have many steps, and these steps can be completely split into independent components according to the business granularity for assembly, reuse and modification. Using process configuration, a highly flexible and scalable system can be obtained. Because the components are independent of each other, the risk of changing one part and affecting the entire system can also be avoided.

[0161] See also Figure 5 , Figure 5 A module call use case diagram disclosed in an embodiment of the present application.

[0162] It is not difficult to understand that Figure 5 This is a business application scenario, from the beginning to the end of the process. The start and end are represented by the START and END nodes. Calling the industrial and commercial judicial module, calling the personal / corporate credit reporting module, preparing the model access parameter set, and calling the expenditure model can be understood as executing steps 405 and 406. Then, processing the model results and generating a response can be understood as outputting business output data, i.e., step 407. However, at this point, the process node is configured with a business module that processes the model. Finally, the END node is executed.

[0163] See also Figure 6 , Figure 6 This is a use case diagram of an access rule module disclosed in an embodiment of the present application.

[0164] It is not difficult to understand that the use case diagram is a detailed introduction to a node in the process. Each node is similar: assembling request parameters, model calling, result processing and return. The admission rule model is Figure 1 The flow.accessModel module in the flow.accessModel module. It should be noted that this is not correct at this time. Figure 6 The various modules and extended functions in the Figure 2 Compile the program code in .

[0165] See also Figure 7 , Figure 7 This is a model module processing flow chart disclosed in an embodiment of the present application.

[0166] Figure 7 and Figure 5 The process steps described in are similar and will not be described in detail here. However, it should be noted that at this time Figure 7 There is also a judgment step, which is to determine whether the processing model result is passed. It is not difficult to understand that this judgment step means that a judgment processing module is configured in the process node at this time, which can judge the output parameters of the previous process node, and then execute the corresponding steps according to the output parameter status. Finally, all order statuses will be recorded in the record model.

[0167] It is also necessary to understand that Figure 7 The model module in is a specific implementation process of the public model node. Among them, the necessary data record contains multiple data, such as an order: it will check whether there is this order number, whether this customer data exists and other preconditions. In the step of judging whether the check is passed, you can use the order number and customer ID to look up the table. If the data exists, it will return true and continue to go down, otherwise it will terminate and prompt an error. In the step of querying the customer table record, the customer table generally includes customer ID, mobile phone number, customer name, company information, tax number, address and other information. There is no specific restriction on the content contained in the customer table here, and it will not be elaborated on later. In the step of preparing model access parameters, the access parameters generally include model name, tax number, order number, customer ID, execution time and other parameters. Correspondingly, the order status will be recorded in the order table, and the value has different numbers.

[0168] See also Figure 8 , Figure 8 This is a use case diagram of a credit limit module disclosed in an embodiment of this application.

[0169] It is not difficult to understand that Figure 8The contents of the credit limit module are as follows. Figure 1 flow.preCreditAmountModel in.

[0170] See also Figure 9 , Figure 9 This is a flow chart of a credit limit module disclosed in an embodiment of this application.

[0171] It should be noted in advance that Figure 9 and Figure 5 or Figure 7 Similar, they are all application scenarios, from the beginning to the end of the process. Figure 9 It is mainly a flowchart of the credit limit module. In the step of checking the necessary data records, the necessary data records include an order. For example, it will check whether there is this order number, whether this customer data exists, and other preconditions. Correspondingly, in the step of determining whether the check has passed, you can use the order number and customer ID to look up the table. If the data exists, it will return true and continue to go down. Otherwise, it will terminate and prompt an error. In the step of querying the customer table records, the customer table generally includes: customer ID, mobile phone number, customer name, company information, tax number, address and other information. In the step of preparing model access parameters, the access parameters generally include model name, tax number, order number, customer ID, execution time and other parameters. At the same time, in the step of determining whether it has passed, the model will return a result, with fields indicating success or failure, and the specific reason for failure.

[0172] It is easy to understand that in the steps of "determining whether it passes" and "determining whether it fails or is abnormal", it can also be understood that there is a business processing model for handling different judgment results. Correspondingly, the business processing models corresponding to other steps can be referred to. Figure 1 or Figure 2 ,as well as Figure 5 The description of the different steps in the above will not be repeated here.

[0173] It should be understood that, although the various steps in the flowcharts involved in the various embodiments described above are displayed in sequence according to the instructions of the arrows, these steps are not necessarily executed in sequence in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and these steps can be executed in other orders. Moreover, at least a portion of the steps in the flowcharts involved in the various embodiments described above can include multiple steps or multiple stages, and these steps or stages are not necessarily executed and completed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a portion of steps or stages in other steps.

[0174] If the solution involves sensitive information (such as user information, enterprise information), it should be stated that the collection, use and processing of sensitive information need to comply with relevant national and regional laws, regulations and standards, and need to be carried out with the permission or consent of the corresponding subject (such as users or enterprises, etc.).

[0175] Please refer to Figure 10 , Figure 10 A structural schematic diagram of a business processing system disclosed in an embodiment of the present application.

[0176] The acquisition unit 1001 is configured to acquire a list of process nodes in a process configuration file based on a process name; wherein the list of process nodes includes at least two process nodes;

[0177] The input unit 1002 is configured to acquire business input data associated with all process nodes, and input the business input data into all process nodes in the list of process nodes; wherein any process node is configured with a process processing module capable of processing business data;

[0178] The determination unit 1003 is configured to acquire business output data of a current process node, and determine an execution state of the current process node and a next process node according to the business output data; wherein the current process node is any process node in all process nodes, and the next process node is a next process node of the current process node.

[0179] Exemplarily, the system further includes:

[0180] The determination unit 1003 is further configured to determine that all process nodes in the list of process nodes are executed when the next process node is an end process node;

[0181] The determination unit 1003 is further configured to determine a process processing module configured in the next process node when the next process node is not an end process node, so as to process the business input data according to the process processing module.

[0182] Exemplarily, the system further includes a creation unit 1004 and a recording unit 1005;

[0183] The creation unit 1004 is configured to create a business process record table; wherein the business process record table is used to record the execution states of all process nodes;

[0184] The recording unit 1005 is configured to record the execution state of the current process node in the business process record table when the process processing module configured in the current process node fails to execute;

[0185] The recording unit 1005 is further configured to record all process nodes with an execution status of "execution completed" in the business process record table when the process processing module configured for the current process node is executed.

[0186] Exemplarily, the system includes:

[0187] The recording unit 1005 is specifically configured to record the configuration program of the process processing module configured in the current process node in the business process record table.

[0188] Exemplarily, the system further includes: a saving unit 1006;

[0189] The acquisition unit 1001 is specifically used to acquire business input data and determine the association relationship between all business input data and all process nodes;

[0190] The saving unit 1006 is used to save all the business input data in the process node list and the configuration programs corresponding to all the process processing modules in the business process record table.

[0191] Exemplarily, the system further includes: a calling unit 1007 and an executing unit 1008;

[0192] The calling unit 1007 is used to call the process processing module to input the business input data stored in the business process record table into the process processing module and execute the current process node corresponding to the process processing module;

[0193] The execution unit 1008 is used to update the execution status of the current process node and execute the step of obtaining the business output data of the current process node.

[0194] Exemplarily, the process nodes include at least a start process node and a function process node, and the system further includes:

[0195] The execution unit 1008 is further configured to execute the start process node according to the process node list;

[0196] The acquisition unit 1001 is further configured to acquire a functional process node according to the start process node, and use the functional process node as the next process node of the start process node;

[0197] The acquisition unit 1001 is further configured to acquire a process processing module corresponding to the functional process node according to the functional process node, and input all business input data into the process processing module corresponding to the functional process node.

[0198] Exemplarily, the system includes:

[0199] The calling unit 1007 is specifically configured to use the business input data as input data of the process node, and call the process processing module corresponding to the process node to perform business processing on the business input data.

[0200] See below Figure 11 , a structural diagram of a service processing device disclosed in an embodiment of the present application includes:

[0201] CPU 1101, memory 1105, input / output interface 1104, wired or wireless network interface 1103 and power supply 1102;

[0202] The memory 1105 is a temporary storage memory or a permanent storage memory;

[0203] The CPU 1101 is configured to communicate with the memory 1105 and execute the instructions in the memory 1105 to perform the aforementioned Figures 3 to 9 The method of any of the embodiments shown.

[0204] The embodiment of the present application also provides a chip system, characterized in that the chip system includes at least one processor and a communication interface, the communication interface and the at least one processor are interconnected through a line, and the at least one processor is used to run a computer program or instruction to execute the aforementioned Figures 3 to 9 The method of any of the embodiments shown.

[0205] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0206] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, 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 an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.

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

[0208] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.

[0209] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, read-only memory), random access memory (RAM, random access memory), disk or optical disk, and other media that can store program code.

Claims

1. A business processing method, characterized in that: The method comprises: Obtaining a process node list in a process configuration file based on the process name; wherein the process node list includes at least two process nodes; Obtaining business input data associated with all the process nodes, and inputting the business input data into all the process nodes in the process node list to obtain business output data of the current process node; wherein any of the process nodes is configured with a process processing module capable of processing business data; Determining the execution state of the current process node and the next process node according to the business output data; wherein the current process node is any process node among all the process nodes, and the next process node is the process node next to the current process node; Before acquiring the business input data associated with all the process nodes, the method further includes: Create a business process record table; wherein the business process record table is used to record the execution status of all process nodes; When the process processing module configured for the current process node fails to execute, the execution status of the current process node is recorded in the business process record table; When the process processing module configured for the current process node is executed, all process nodes with an execution status of completed are recorded in the business process record table; The acquiring of business input data associated with all the process nodes includes: Obtaining the business input data, and determining the association relationship between all the business input data and all the process nodes; All the business input data in the process node list and the configuration programs corresponding to all the process processing modules are saved in the business process record table.

2. The service processing method according to claim 1, wherein: After obtaining the business output data of the current process node and determining the execution state of the current process node and the next process node according to the business output data, the method further includes: If the next process node is an end process node, determining that all the process nodes in the process node list have been executed; If the next process node is not the end process node, a process processing module configured for the next process node is determined to process the business input data according to the process processing module.

3. The service processing method according to claim 1, wherein: The step of recording the execution status of the current process node in the business process record table includes: The configuration program of the process processing module configured in the current process node is recorded in the business process record table.

4. The service processing method according to claim 1, wherein: After recording the execution status of the current process node in the business process record table, the method further includes: Calling the process processing module to input the business input data stored in the business process record table into the process processing module, and executing the current process node corresponding to the process processing module; Update the execution status of the current process node, and execute the step of obtaining the business output data of the current process node.

5. The business processing method according to claim 1, characterized in that: The process nodes include at least a start process node and a function process node. Before inputting the business input data into all the process nodes in the process node list, the method further includes: Execute the start process node according to the process node list; The step of inputting the business input data into all the process nodes in the process node list includes: Acquire the functional process node according to the start process node, and use the functional process node as the next process node of the start process node; The process processing module corresponding to the functional process node is obtained according to the functional process node, and all business input data are input into the process processing module corresponding to the functional process node.

6. The business processing method according to claim 1, characterized in that: The step of inputting the business input data into all the process nodes in the process node list includes: The business input data is used as input data of the process node, and the process processing module corresponding to the process node is called to perform business processing on the business input data.

7. A business processing system, characterized in that: The system comprises: An acquiring unit, configured to acquire a process node list in a process configuration file based on a process name; wherein the process node list includes at least two process nodes; an input unit, configured to obtain business input data associated with all the process nodes, and input the business input data into all the process nodes in the process node list to obtain business output data of the current process node; wherein any of the process nodes is configured with a process processing module capable of processing business data; a determination unit, configured to determine an execution state of a current process node and a next process node according to the business output data; wherein the current process node is any process node among all the process nodes, and the next process node is a process node next to the current process node; The system further comprises: a creation unit and a recording unit; A creation unit is used to create a business process record table; wherein the business process record table is used to record the execution status of all process nodes; A recording unit, configured to record the execution status of the current process node in a business process record table when the process processing module configured for the current process node fails to execute; The recording unit is further configured to record all process nodes with an execution status of completed in the business process record table when the process processing module configured for the current process node is executed; The system further includes: a storage unit; The acquisition unit is specifically used to obtain business input data and determine the association relationship between all business input data and all process nodes; The saving unit is used to save all business input data in the process node list and the configuration programs corresponding to all process processing modules in the business process record table.

8. A business processing device, characterized in that: The device comprises: CPU, memory, input and output interfaces, wired or wireless network interfaces, and power supply; The memory is a transient storage memory or a persistent storage memory; The central processing unit is configured to communicate with the memory and execute instruction operations in the memory to perform the business processing method according to any one of claims 1 to 6.

9. A computer-readable storage medium, characterized in that The computer-readable storage medium comprises instructions, and when the instructions are executed on a computer, the computer is caused to perform the method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Business process processing method and device, computer equipment and storage medium

    CN114116063A