Process instance processing method and device, equipment and storage medium

Through the process instance processing method in the field of financial technology, the automated control of process instances and nodes is used to realize automated interaction between microservices, solving the problem of cumbersome operation of financial process instances through the interaction of multiple microservices, saving manpower and improving efficiency.

CN119597508AActive Publication Date: 2025-03-11PING AN TECH (SHENZHEN) CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202411677372.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-21
Publication Date
2025-03-11
Estimated Expiration
2044-11-21

AI Technical Summary

Technical Problem

In the field of financial technology, multiple microservices or subsystems can interact with each other to complete a financial process instance, resulting in complex operations and a lot of manpower.

Method used

A process instance processing method is proposed, and the interaction between the corresponding microservices is automatically controlled through the example and the nodes in the instance to complete the business. The method includes putting the candidate process instance into the instance waiting queue, extracting the target process instance according to the process priority, and executing the target process instance according to the node execution order.

Benefits of technology

It realizes automation of process instance operations, saves manpower, improves business execution efficiency, and reduces the manpower required for manipulation between microservices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119597508A_ABST
    Figure CN119597508A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a process instance processing method and device, equipment and a storage medium, and belongs to the technical field of financial science and technology. The method comprises the following steps: putting candidate process instances with process priorities into an instance waiting queue; extracting candidate process nodes and a node execution sequence of the target process instance from the instance waiting queue according to the process priority; executing the target process instance according to the node execution sequence to obtain a target execution instance; obtaining candidate process nodes in a waiting state from the target execution instance to obtain target process nodes, and putting the target process nodes into a node waiting queue; extracting the current node category and the current execution operation of the current process node from the node waiting queue according to the node execution sequence; calling the micro-service to execute the current execution operation according to the current node category to obtain a node execution result; and executing the target execution instance according to the node execution result and the node execution sequence. According to the embodiment of the invention, the micro-service can be automatically controlled to complete the business, and the business completion efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of financial technology, and in particular to a process instance processing method and apparatus, device and storage medium. Background Art

[0002] With the development of computer technology, computer technology has been integrated into the financial field to form financial technology. Various financial services are completed through financial technology to improve the efficiency of financial services. With the technical updates and iterations of financial technology, in order to improve the comprehensiveness of financial services, a multi-functional financial system is set up, and different functions are split into microservices or subsystems according to business, responsibilities, and scale, so that operators can complete multiple operations on one financial system.

[0003] In related technologies, if a financial process instance involves multiple microservices or subsystems that can only be completed through interaction, the operator needs to control the corresponding microservices one by one according to the process instance to complete the process instance, which makes the process instance operation complicated and consumes a lot of manpower. Therefore, how to simplify the process instance operation and reduce manpower has become a technical problem that needs to be solved urgently. Summary of the invention

[0004] The main purpose of the embodiments of the present application is to propose a process instance processing method and apparatus, equipment and storage medium, aiming to complete the business by automatically controlling the interaction between corresponding microservices through instances and nodes in the instances, saving manpower and improving the efficiency of business execution.

[0005] To achieve the above-mentioned purpose, a first aspect of an embodiment of the present application proposes a process instance processing method, the method comprising:

[0006] Putting the pre-acquired candidate process instance into a preset instance waiting queue; wherein the candidate process instance has a process priority;

[0007] Extracting a candidate process instance from the instance waiting queue according to the process priority to obtain a target process instance; wherein the target process instance includes: a candidate process node and a node execution order of the candidate process node;

[0008] Execute the target process instance according to the node execution order to obtain a target execution instance;

[0009] Acquire a candidate process node in a waiting state from the target execution instance to obtain a target process node;

[0010] Put the target process node into a preset node waiting queue;

[0011] Extracting the target process node from the node waiting queue according to the node execution order to obtain a current process node; wherein the current process node includes a current node category and a current execution operation;

[0012] Calling a preset microservice according to the current node category to execute the current execution operation, and obtaining a node execution result; wherein the node execution result indicates whether the microservice completes or fails to complete the current execution operation;

[0013] The target execution instance is executed according to the node execution result and the node execution order.

[0014] In some embodiments, the current node category includes any one of the following: a start node category, an end node category, an artificial node category, a timed node category, and a call node category; the current execution operation includes any one of the following: a wake-up operation, a shutdown operation, a manual notification operation, a timed operation, and an interface call operation; the calling of a preset microservice according to the current node category to execute the current execution operation and obtain a node execution result includes any one of the following:

[0015] Call the microservice according to the starting node category to perform the wake-up operation, and obtain the starting node execution result;

[0016] Calling the microservice according to the artificial node category to perform the artificial notification operation, and obtaining an artificial node execution result;

[0017] Call the microservice according to the timing node category to execute the timing operation, and obtain the timing node execution result;

[0018] Call the microservice according to the calling node category to execute the interface calling operation, and obtain the calling node execution result;

[0019] The microservice is called according to the end node category to perform the closing operation and obtain an end node execution result.

[0020] In some embodiments, the node waiting queue includes a selected process node, the selected process node is a next node of the target process node, and executing the target execution instance according to the node execution result and the node execution order includes:

[0021] Obtaining the execution position of the current process node according to the node execution order to obtain the node execution position; wherein the node execution position includes: the end position or the second non-end position;

[0022] If the node execution result indicates that the microservice has completed the current execution operation, and the node execution position is the end position, then stop executing the target execution instance;

[0023] If the node execution result indicates that the microservice has completed the current execution operation, and the node execution position is the non-end position, then extracting the selected process node from the node waiting queue according to the node execution order, and executing the target execution instance according to the selected process node;

[0024] If the node execution result is characterized by that the microservice has not completed the current execution operation, and the node execution position is the non-end position, then the execution prompt information is obtained, and the target execution instance is executed according to the execution prompt information.

[0025] In some embodiments, if the node execution result is characterized as the microservice not completing the current execution operation, and the node execution position is the non-end position, then obtaining execution prompt information, and executing the target execution instance according to the execution prompt information, includes:

[0026] If the node execution result is characterized by the microservice not completing the current execution operation, and the node execution position is the non-end position, then acquiring the execution prompt information; wherein the execution prompt information includes: failure ignore prompt information or failure termination prompt information;

[0027] If the execution prompt information is the failure ignore prompt information, extracting the selected process node from the node waiting queue according to the node execution order, and executing the target execution instance according to the selected process node;

[0028] If the execution prompt information is the failure termination prompt information, the execution of the target execution instance is stopped.

[0029] In some embodiments, after calling a preset microservice according to the current node category to execute the current execution operation and obtaining a node execution result, the method further includes:

[0030] Obtaining an instance operation request for executing the target instance; wherein the instance operation request includes: an operation category and a target execution operation;

[0031] Acquire the instance state of the target execution instance according to the instance operation request to obtain the current instance state;

[0032] Acquire the node state of the target process node according to the current instance state and the operation category to obtain the current node state;

[0033] The target execution operation is performed on the target process node according to the operation category and the current node state.

[0034] In some embodiments, the operation category includes any one of the following: a pause operation category and a termination operation category; the current node state includes any one of the following: a waiting state, a blocking state, an executing state, and a paused state; the target execution operation includes: a delete operation, a state change operation, a pause operation, and a termination operation; and executing the target execution operation on the target process node according to the operation category and the current node state includes any one of the following:

[0035] Execute the deletion operation on the target process node according to the pause operation category and the wait state;

[0036] Execute the state change operation on the target process node according to the pause operation category and the blocking state;

[0037] Execute the pause operation on the target process node according to the pause operation category and the executing state;

[0038] Execute the deletion operation on the target process node according to the termination operation category and the waiting state;

[0039] Execute the termination operation on the target process node according to the termination operation category and the suspended state;

[0040] The termination operation is performed on the target process node according to the termination operation category and the executing state.

[0041] In some embodiments, before placing the pre-acquired candidate process instance into a preset instance waiting queue, the method further includes:

[0042] Obtaining a business process request; wherein the business process request includes: business process data and process node information;

[0043] Filtering selected process instances from preset process instances according to the business process data;

[0044] The node sequence of the selected process instance is adjusted according to the process node information to obtain the candidate process instance.

[0045] To achieve the above-mentioned purpose, a second aspect of an embodiment of the present application provides a process instance processing device, the device comprising:

[0046] A data acquisition module, used to put the pre-acquired candidate process instance into a preset instance waiting queue; wherein the candidate process instance has a process priority;

[0047] An instance extraction module is used to extract a candidate process instance from the instance waiting queue according to the process priority to obtain a target process instance; wherein the target process instance includes: a candidate process node and a node execution order of the candidate process node;

[0048] An instance execution module, used to execute the target process instance according to the node execution order to obtain a target execution instance;

[0049] A target node extraction module is used to obtain a candidate process node in a waiting state from the target execution instance to obtain a target process node;

[0050] A node placement module is used to place the target process node into a preset node waiting queue;

[0051] A current node extraction module, used to extract the target process node from the node waiting queue according to the node execution order to obtain a current process node; wherein the current process node includes a current node category and a current execution operation;

[0052] A node calling module, used to call a preset microservice according to the current node category to execute the current execution operation and obtain a node execution result; wherein the node execution result indicates whether the microservice completes or fails to complete the current execution operation;

[0053] A node execution module is used to execute the target execution instance according to the node execution result and the node execution order.

[0054] To achieve the above objectives, a third aspect of an embodiment of the present application proposes an electronic device, which includes a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the method described in the first aspect is implemented.

[0055] To achieve the above-mentioned purpose, the fourth aspect of an embodiment of the present application proposes a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method described in the first aspect is implemented.

[0056] The process instance processing method, device, equipment and storage medium proposed in this application are to set a process instance, and set multiple process nodes in the process instance, and each process node is responsible for the startup and specific operation of the corresponding microservice. Therefore, the process nodes are executed in the order of node execution to realize the execution of the corresponding microservice in the order of the process, realize the automatic control between different microservices, save the manpower of manual intervention in the control between multiple microservices, and make the control between microservices more efficient. BRIEF DESCRIPTION OF THE DRAWINGS

[0057] Figure 1 It is a flowchart of a process instance processing method provided in an embodiment of the present application;

[0058] Figure 2 It is a module block diagram of the workflow engine in the process instance processing method provided in the embodiment of the present application;

[0059] Figure 3 is a flowchart of a process instance processing method provided by another embodiment of the present application;

[0060] Figure 4 It is a schematic diagram of the process nodes of the automatic version update of the M financial software in the process instance processing method provided in one embodiment of the present application;

[0061] Figure 5 is a flowchart of a process instance processing method provided by another embodiment of the present application;

[0062] Figure 6 It is a schematic diagram of node state conversion in a process instance processing method provided in an embodiment of the present application;

[0063] Figure 7 yes Figure 1 Flow chart of step S108 in FIG.

[0064] Figure 8 It is a schematic diagram of instance state transition in a process instance processing method provided in an embodiment of the present application;

[0065] Fig. 9 yes Figure 7 Flow chart of step S704 in FIG.

[0066] Fig.10 It is a structural diagram of a process instance processing device provided in an embodiment of the present application;

[0067] Fig.11 It is a schematic diagram of the hardware structure of the electronic device provided in the embodiment of the present application. DETAILED DESCRIPTION

[0068] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0069] It should be noted that, although the functional modules are divided in the device schematic diagram and the logical order is shown in the flowchart, in some cases, the steps shown or described may be performed in a different order than the module division in the device or the order in the flowchart. The terms "first", "second", etc. in the specification, claims and the above drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.

[0070] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.

[0071] First, some nouns involved in this application are analyzed:

[0072] Artificial intelligence (AI) is a new technical science that studies and develops theories, methods, technologies and application systems for simulating, extending and expanding human intelligence. AI is a branch of computer science that attempts to understand the essence of intelligence and produce a new type of intelligent machine that can respond in a similar way to human intelligence. Research in this field includes robotics, speech recognition, image recognition, natural language processing and expert systems. AI can simulate the information process of human consciousness and thinking. AI is also a theory, method, technology and application system that uses digital computers or machines controlled by digital computers to simulate, extend and expand human intelligence, perceive the environment, acquire knowledge and use knowledge to obtain the best results.

[0073] Microservices: refers to an application architecture in which a series of independent services communicate through lightweight APIs. Microservices are a distributed system that is divided into independent service units according to business, solving the shortcomings of monolithic systems while also meeting increasingly complex business needs.

[0074] Workflow engine: refers to the workflow as a part of the application system, and provides core solutions for each application system, such as determining the information transmission route and content level according to different roles, division of labor and conditions. The workflow engine includes important functions such as process node management, flow management, and process sample management.

[0075] Process node: refers to the transition point (category point or time point) when one procedure or stage ends and another procedure or stage begins when the project requires several different procedures (processes) or is completed in several stages.

[0076] As computer technology is integrated into the financial field to form financial technology, and with the development of financial technology, various financial systems have emerged, and financial services are automatically completed through financial systems. With the development of financial systems and the increasingly complex processes of financial services, financial systems with multiple functions have emerged, and a financial service can only be completed through the interaction between multiple functions in the financial system. It should be noted that by dividing the financial system into multiple microservices or subsystems according to functions, a financial service is completed through calls between multiple microservices or subsystems, so that operators can complete financial services within a financial system. For example, for a financial system composed of multiple microservices, different functions will be split into microservices according to business, responsibilities, and scale. The workflow between microservices requires joint manual and timed management to complete a financial service. Therefore, financial service operations still require manpower, and operators need to operate one by one according to the execution order between microservices, making the efficiency of financial service completion low.

[0077] Based on this, the embodiments of the present application provide a process instance processing method and apparatus, equipment and storage medium, by setting a process instance, and setting multiple process nodes in the process instance, and each process node is responsible for the startup and specific operation of the corresponding microservice. When the process node is executed according to the preset node execution order, the corresponding microservice also performs the corresponding operation. Therefore, the microservices in the system automatically perform the corresponding operations without excessive human participation, which not only saves manpower, but also improves the execution efficiency of the business.

[0078] The process instance processing method, apparatus, device and storage medium provided in the embodiments of the present application are specifically illustrated through the following embodiments. First, the process instance processing method in the embodiments of the present application is described.

[0079] The embodiments of the present application can acquire and process relevant data based on artificial intelligence technology. Among them, artificial intelligence (AI) is the theory, method, technology and application system that uses digital computers or machines controlled by digital computers to simulate, extend and expand human intelligence, perceive the environment, acquire knowledge and use knowledge to obtain the best results.

[0080] AI basic technologies generally include sensors, dedicated AI chips, cloud computing, distributed storage, big data processing technology, operation / interaction systems, mechatronics, etc. AI software technologies mainly include computer vision technology, robotics technology, biometrics technology, speech processing technology, natural language processing technology, and machine learning / deep learning.

[0081] The process instance processing method provided in the embodiment of the present application relates to the field of financial technology technology. The process instance processing method provided in the embodiment of the present application can be applied to the terminal, can also be applied to the server side, and can also be software running in the terminal or the server side. In some embodiments, the terminal can be a smart phone, a tablet computer, a laptop computer, a desktop computer, etc.; the server side can be configured as an independent physical server, or it can be configured as a server cluster or distributed system composed of multiple physical servers, and can also be configured as a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms; the software can be an application that implements the process instance processing method, etc., but is not limited to the above forms.

[0082] The present application can be used in many general or special computer system environments or configurations. For example: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments including any of the above systems or devices, etc. The present application can be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. The present application can also be practiced in distributed computing environments, in which tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules can be located in local and remote computer storage media including storage devices.

[0083] It should be noted that in each specific implementation of the present application, when it comes to the need to perform relevant processing based on data related to user identity or characteristics such as user information, user behavior data, user historical data, and user location information, the user's permission or consent will be obtained first, and the collection, use, and processing of these data will comply with relevant laws, regulations, and standards. In addition, when the embodiment of the present application needs to obtain the user's sensitive personal information, the user's separate permission or consent will be obtained through a pop-up window or by jumping to a confirmation page. After clearly obtaining the user's separate permission or consent, the necessary user-related data for the normal operation of the embodiment of the present application will be obtained.

[0084] Figure 1 is an optional flowchart of the process instance processing method provided in the embodiment of the present application. Figure 1 The method may include but is not limited to steps S101 to S108.

[0085] Step S101, putting the pre-acquired candidate process instance into a preset instance waiting queue; wherein the candidate process instance has a process priority;

[0086] Step S102, extracting candidate process instances from the instance waiting queue according to the process priority to obtain a target process instance; wherein the target process instance includes: candidate process nodes and the node execution order of the candidate process nodes;

[0087] Step S103, executing the target process instance according to the node execution order to obtain the target execution instance;

[0088] Step S104, obtaining a candidate process node in a waiting state from the target execution instance to obtain a target process node;

[0089] Step S105, placing the target process node into a preset node waiting queue;

[0090] Step S106, extracting the target process node from the node waiting queue according to the node execution order to obtain the current process node; wherein the current process node includes the current node category and the current execution operation;

[0091] Step S107, calling a preset microservice according to the current node category to perform the current execution operation and obtain a node execution result; wherein the node execution result indicates whether the microservice has completed or not completed the current execution operation;

[0092] Step S108, executing the target execution instance according to the node execution result and the node execution order.

[0093] In the steps S101 to S108 shown in the embodiment of the present application, after the candidate process instance is placed in the instance waiting queue, the candidate process instance that needs to be executed currently is extracted from the instance waiting queue according to the process priority of each candidate process instance as the target process instance. The target process instance is executed according to the node execution order in the target process instance to obtain the target execution instance, and the target execution instance is characterized as the process instance currently being executed. Therefore, executing the process instance according to the process priority can give priority to the execution of important process instances. Because the target execution instance includes multiple candidate process nodes, the candidate process nodes are first placed in the node waiting queue for execution one by one. In the process of executing the target execution instance, the target process node is taken out from the node waiting queue according to the node execution order as the current process node, and the node category of the current process node is obtained to obtain the current node category. Different current node categories execute the current execution operation of the node control microservice by different categories, so the corresponding microservice is called according to the current node category to execute the current execution operation, so as to control the microservice to execute the corresponding operation in a targeted manner. After completing the execution of a current process node, determine the node execution result of the current process node to determine whether the microservice has completed the current execution operation based on the node execution result, and continue to execute the target execution instance based on the node execution result and node execution order, so that the execution of the microservice corresponding to the instance is fully automated, saving manpower. It should be further explained that whether each microservice is executed will determine the subsequent execution of the target execution instance, making the instance execution more stable.

[0094] It should be noted that if Figure 2As shown, the process instance processing method is executed by the workflow engine, and the workflow engine is linked to the calling end. Among them, the workflow engine includes: an instance scheduling module, an instance execution module, a node scheduling module, a node execution module, a timing module, a notification module, an instance waiting queue and a node waiting queue. The instance or node is placed in the corresponding waiting queue by different scheduling modules, and then the corresponding instance or node is extracted from the waiting queue by different execution modules for execution, and the instance execution module is connected to multiple microservices to call the corresponding microservice execution when executing the instance, so that the target business can be automatically executed. The traditional workflow engine is suitable for single applications, distributed applications or intensive applications, and the workflow engine manages each functional module inside the application according to the pre-set business logic. Because the control between different microservices or subsystems needs to be implemented by different configurations and different nodes, and the nodes of the traditional workflow engine are all fixed settings, the traditional workflow engine is less suitable for scenarios with multiple microservices or multiple subsystems. This embodiment sets up a workflow engine including an instance scheduling module, an instance execution module, a node scheduling module, a node execution module, a timing module, and a notification module, so that different nodes can be configured to control microservices to perform corresponding operations, so that multiple microservices are executed in order to complete the corresponding target business, so that the business is fully automated and manpower is saved.

[0095] Before step S101 in some embodiments, the instance processing method further includes constructing a candidate process instance. It should be noted that the candidate process instance is a process instance executed by a business, through which it can be determined which microservices a business needs to call and which operations the microservices need to perform.

[0096] Please refer to Figure 3 In some embodiments, constructing a candidate process instance may include but is not limited to steps S301 to S303:

[0097] Step S301, obtaining a business process request; wherein the business process request includes: business process data and process node information;

[0098] Step S302, selecting a selected process instance from preset process instances according to the business process data;

[0099] Step S303: adjusting the node sequence of the selected process instance according to the process node information to obtain a candidate process instance.

[0100] In step S301 of some embodiments, the business process request is a request initiated by the calling end, and the business process request represents an application for a process instance associated with the target business, so as to complete the target business through the process instance. It should be noted that the calling end is connected to the workflow engine, and the workflow engine can be connected to multiple microservices or subsystems through an interface to call different microservices or subsystems to perform corresponding operations. When the calling end needs to apply for an instance, it receives a business process request fed back from the calling end, and parses the business process request to obtain business process data and process node information. It should be noted that the business process data records the process content that needs to execute the target business, and the process node information represents the information involved in the node in the process. Through the business process data and process node information, it can be known which microservices or subsystems are needed to complete the target business, and what operations the microservices or subsystems corresponding to each process node need to perform.

[0101] Specifically, the calling end forms business process data by sending the relevant content involved in the target business. Among them, the relevant content involved includes the interface information, execution order, operation information, etc. of the microservice or subsystem, and there is no specific restriction on the relevant content. It should be noted that each microservice or subsystem is divided as a corresponding node according to the execution order to obtain the process node information. For example, if the target business is to automatically update the version of M financial software and publish the version update information, the relevant content is "start the execution process, and notify the responsible person of the development team, wait for the responsible person to feedback whether to automatically update the version of M financial software, if the instruction is received, call the operation and maintenance platform according to the preset update time to update the version of M financial software. Then, call the system configuration platform to update the system information of M financial software. If the M financial software is updated successfully, the M financial software update success information is sent to the operator of the development group according to the call email platform. If the M financial software fails to update, it is necessary to call the operation and maintenance platform to roll back the version of M financial software. After the version rollback is completed, it is necessary to call the email platform to send the update failure information to the responsible person of the development group." Therefore, through the relevant content, it can be determined that to complete a target business, multiple microservices or subsystems need to be interconnected. In this embodiment, after determining the relevant content, the execution order corresponding to the process node is determined according to the relevant content: starting process → manual inquiry → timed start → operation and maintenance platform calls the updated version → system configuration platform updates system information → email platform sends update success information → end; there is also a process node corresponding to the execution order: starting process → manual inquiry → timed start → operation and maintenance platform calls the updated version → operation and maintenance platform performs version rollback → email platform sends update failure information → end. It should be noted that the process node information can be determined through the execution order and relevant content of the process node, so as to determine which microservices or subsystems need to be called to perform corresponding operations to complete the target business based on the business process data and process node information.

[0102] In step S302 of some embodiments, in order to facilitate the rapid construction of process instances, preset process instances are set in advance, and the preset process instances are constructed based on the general process of each process category, so the preset process instances are applicable to processes of the same process category. By determining the business process category through business process data, and filtering out the selected process instance from the preset process instance according to the business process category, the process node can be adjusted in the selected process instance, without building a new process instance based on the business process data and process node information, thus saving resources for instance construction. For example, if the business process category is determined to be a software update category based on the business process data, the preset process instance corresponding to the software update category is obtained as the selected process instance, making instance construction easier.

[0103] In step S303 of some embodiments, the process node information includes information about nodes involved in the process and the execution order of the process nodes, so the process nodes in the selected process instance are adjusted in order according to the process node information, so that the process nodes in the selected process instance correspond to the process node information to obtain a candidate process instance. For example, if the preset process instance corresponding to the software update category includes: start node→timing node→call node→end node, then according to the actual process node information, the corresponding process node is added to the preset process instance node and the execution order of the process node is adjusted to obtain a candidate process instance.

[0104] In steps S301 to S303 shown in this embodiment, when a business process request is received from the calling end, the business process request is parsed to obtain business process data and process node information, and the business process category is determined based on the business process data. Selected process instances are screened from preset process instances based on the business process category to determine general process instances of the same process category. Then, the execution order of the process nodes in the selected process instance is adjusted based on the process node information to obtain candidate process instances, and candidate process instances that match the requirements of the calling end are constructed so that the target business can be automatically completed when the candidate process instances are executed.

[0105] In step S101 of some embodiments, because the workflow engine is connected to multiple call ends, there are also multiple candidate process instances generated, so each candidate process instance is placed in a preset instance waiting queue according to the order in which it is created, so that it can be extracted from the instance waiting queue when the instance is subsequently executed. It should be noted that the candidate process instance has a process priority, which represents the importance of the candidate process instance, and the process priority can be used as reference information for the execution order of the candidate process instance.

[0106] Specifically, the instance scheduling module generates a candidate process instance according to the business process request, sets the instance state of the candidate process instance to a waiting state, and puts the candidate process instance in the waiting state into a preset instance waiting queue so that the candidate process instance is executed sequentially.

[0107] In some embodiments, before step S102, it is necessary to obtain the number of concurrent instances currently in the execution state, and the number of concurrent instances is the number of instances in the execution state. The concurrency threshold is pre-set on the workflow engine, and the concurrency threshold is determined based on the performance parameters of the workflow engine. By comparing the number of concurrent instances with the concurrency threshold, if the number of concurrent instances is greater than the concurrency threshold, wait for the instance in the execution state to complete and then obtain the number of concurrent instances, until the number of concurrent instances is less than the concurrency threshold, indicating that the next instance can be processed.

[0108] In step S102 of some embodiments, if the number of instance concurrency is less than the concurrency threshold, a candidate process instance is extracted from the instance waiting queue as the target process instance according to the process priority. It should be noted that by extracting the candidate process instance with a high process priority as the target process instance, important instances can be completed in advance. It should be further explained that the target process instance includes: a candidate process node and a node execution order of the candidate process node. The candidate process node is used to manipulate the preset microservice to perform the corresponding operation, that is, the process node in the target business. Because the process node has a process order, the node execution order of the corresponding candidate process node is set according to the process order of the process node.

[0109] Specifically, if the instance concurrency number is less than the concurrency threshold, the instance scheduling module extracts the target process instance from the instance waiting queue according to the process priority, and sends the target process instance to the instance execution module so that the process instances are executed in order of priority.

[0110] In step S103 of some embodiments, the target process instance is executed according to the node execution order to obtain the target execution instance. It should be noted that the target execution instance is characterized as an instance being executed, and the instance state of the target execution instance is set to the executing state. Specifically, after the instance execution module receives the target process instance, it executes the target process instance according to the node execution order to obtain the target execution instance, and switches the instance state of the target execution instance from the waiting state to the executing state.

[0111] In step S104 of some embodiments, when the target execution instance starts to execute, it is necessary to extract the target process node from the target execution instance according to the node execution order, and the target process node is a candidate process node whose node state is a waiting state. It should be noted that the instance execution module extracts the candidate process node in the waiting state from the target execution instance according to the node execution order as the target process node.

[0112] In step S105 of some embodiments, the target process node is a candidate process node in a waiting state, and the target process node needs to be placed in the node waiting queue first, so that the corresponding target process node can be executed one by one according to the node execution order. It should be noted that before placing the target process node in the node waiting queue, the execution progress of the target execution instance is obtained. If the execution progress is empty, it indicates that the target execution instance still has no target process node to be executed. According to the node execution order, the first target process node in the waiting state is obtained and placed in the node waiting queue. After the first target process node is executed, the remaining target process nodes are placed again. Because the first target process node executed by a target execution instance is used to ask the responsible person whether to execute the target execution instance, if the target execution instance is not executed, there is no need to place the remaining target old process nodes in the node waiting queue. If the responsible person determines to execute the target execution instance, the remaining target process nodes in the target execution instance are placed in the node waiting queue to reduce the space occupied by the node waiting queue. If the execution progress is not empty, it indicates that the target process node in the target execution instance has been executed, and all the remaining target process instances in the waiting state are placed in the node waiting queue so that the target process nodes can be executed one by one.

[0113] It should be noted that the node scheduling module puts the target process node in the waiting state into the node waiting queue.

[0114] In step S106 of some embodiments, when executing the target process node, the target process node is extracted from the node waiting queue as the current process node according to the node execution order, and the current process node is the process node that needs to be executed. It should be noted that before extracting the current process node from the node waiting queue, it is necessary to determine whether there are additional node execution resources. Specifically, by obtaining the number of node concurrency in the execution state, and comparing the number of node concurrency with the preset node concurrency threshold, and the node concurrency threshold represents the maximum amount of process nodes that the workflow engine can execute at the same time point. If the number of node concurrency is less than the node concurrency threshold, it indicates that there are additional node execution resources, and the current process execution can be extracted from the node waiting queue to execute the current process node.

[0115] Specifically, the current process node includes: the current node category and the current execution operation. The current node category represents the node category of the current process node, and the current execution operation is the operation that the microservice corresponding to the current process node needs to execute. Therefore, the current node category can be used to determine which node category the current process node controls the corresponding microservice to execute the current execution operation, so that each process node in the target business is executed accurately.

[0116] In some embodiments, the current node category includes any one of the following: a starting node category, an ending node category, an artificial node category, a timing node category, and a calling node category; the current execution operation includes any one of the following: a wake-up operation, a shutdown operation, a manual notification operation, a timing operation, and an interface call operation. It should be noted that the starting node category represents the category of the starting node, and the starting node is the first process node of the target execution instance. The ending node category represents the category of the ending node, and the ending node is the last process node in the target execution instance. The artificial node category is the category of the artificial node, and the artificial node represents the need to communicate with the person in charge of the process node. The timing node category is the category of the timing node, and the timing node is used to pre-set a time point, and the corresponding microservice is controlled to perform the current execution operation according to the pre-set time point. The calling node category is the category of the calling node, and the calling node category is used to call the interface of the microservice so that the microservice performs the corresponding operation. It should be further explained that the wake-up operation is used to wake up the microservice and make the microservice run. The shutdown operation is used to shut down the microservice so that the microservice stops running. The manual notification operation is used to send a notification to the person in charge of the microservice, and the timing operation is used to execute a certain current execution operation at a fixed time. The interface call operation is used to call the interface of the microservice, so as to call the microservice to perform the current execution operation on the target system through interface docking.

[0117] In some embodiments, step S107 may include any of the following:

[0118] Step S11, calling the microservice to perform a wake-up operation according to the starting node category to obtain the starting node execution result;

[0119] Step S12, calling the microservice to perform the manual notification operation according to the artificial node category to obtain the artificial node execution result;

[0120] Step S13, calling the microservice to perform the timing operation according to the timing node category, and obtaining the timing node execution result;

[0121] Step S14, calling the microservice to perform an interface call operation according to the calling node category, and obtaining the calling node execution result;

[0122] Step S15, calling the microservice to execute the closing operation according to the end node category to obtain the end node execution result.

[0123] In step S11 of some embodiments, if the current node category is the starting node category, the starting node category is used to make the microservice perform a wake-up operation, so that the microservice is in a running state. At the same time, the execution state of the starting node corresponding to the starting node category is detected to obtain a starting node result, and the starting node result indicates whether the microservice corresponding to the starting node has completed or not completed the wake-up operation. For example, if the execution order of the target process node in the target execution instance is as follows: Figure 4 As shown, when the target execution instance is executed, the starting node starts to control all microservices in the target execution instance to perform wake-up operations, so that when subsequent process nodes are executed, the microservices can perform corresponding operations in time.

[0124] In step S12 of some embodiments, if the current node category is an artificial node category, the artificial node controls the corresponding microservice to perform an artificial notification operation to notify the person in charge of the microservice whether to continue to execute the target execution instance. At the same time, the progress of the microservice corresponding to the artificial node is detected to obtain the artificial node execution result, so as to judge whether the microservice has completed the artificial notification operation according to the artificial execution result. It should be noted that the artificial node will generate notification information according to the pre-set notification configuration information, and the microservice corresponding to the artificial node is a notification module, and the notification module sends the notification information to the corresponding person in charge according to the preset communication address. It should be further noted that the notification configuration information includes: notifier, notification method, notification template, etc., and the notification configuration information is set according to the needs. In this embodiment, the notification configuration information is not limited. During the execution of the artificial node, the execution status of the notification module will be detected. If the execution status is characterized as failure, the execution result of the artificial node is characterized as the microservice has not completed the artificial notification operation; if the execution status is characterized as success, that is, the execution result of the artificial node is characterized as the microservice completing the artificial notification operation.

[0125] For example, Figure 4 As shown in the figure, after the start node is executed, the manual node is executed. If the notifier of the manual node is set to the person in charge of the development team, the notification method is SMS or email, and the notification template is "xx version update template". The manual node generates notification information based on the notifier, notification method and notification template, and then controls the notification module through the manual node to send the notification information to the person in charge of the development team, realizing automatic notification in the target business.

[0126] In step S13 of some embodiments, if the current node category is a timing node category, a timing node is required to call a microservice to perform a timing operation, and at the same time, the execution state of the microservice performing the timing operation is detected to obtain the timing node execution result. It should be noted that the timing node is pre-set with timing time information, and the microservice corresponding to the timing node is a timing module, and the timing module triggers the next target process node according to the timing time information.

[0127] For example, Figure 4 As shown, after completing the manual node, the timing node is executed, and the timing node pre-sets the timing configuration information, and sends the timing configuration information to the timing module, and the timing module triggers the next target process node according to the timing configuration information. It should be noted that the timing configuration information includes: timing time information, and the timing time information indicates the time point at which the next target process node needs to be executed. If the timing time information is "Date XXXX-XX-XX-22:00", then it is necessary to trigger the execution of the next target process node at "XXXX-XX-XX-22:00" to achieve the timing operation.

[0128] In step S14 of some embodiments, if the current node category is a calling node category, the calling node calls the microservice to perform an interface calling operation. It should be noted that the interface calling operation is to call the microservice corresponding to the target system according to the interface calling method. At the same time, during the execution of the calling node, the microservice corresponding to the calling node performs an execution status detection to obtain the execution result of the calling node, and the execution result of the calling node is determined according to the execution status of the microservice. The execution result of the calling node can be used to determine whether the microservice has completed the current execution operation.

[0129] For example, Figure 4 As shown, after the timing node is completed, node A is called for execution. The target business is to automatically update the version of M financial software and publish the version update information. The process content of calling node A is "calling the operation and maintenance platform to update the version of M financial software". It can be determined that the microservice corresponding to calling node A is the operation and maintenance platform, and the target system is M financial software. By calling the interface configuration information pre-set by node A, and the interface configuration information includes: interface address and interface parameters. Calling node A is connected to the operation and maintenance platform according to the interface address and interface parameters to control the operation and maintenance platform to update the version of M financial software. After calling node A, calling node B is executed, and the process content of calling node B is "calling the system configuration platform to update the system information of M financial software". Therefore, calling node B calls the system configuration platform according to the interface address and interface parameters, and updates the system information of B software through the system configuration platform. After completing calling node B, calling node C is executed. If the calling node execution result of calling node A is characterized as the operation and maintenance platform has not completed the version update, calling node D and calling node E are executed. It should be noted that the execution operations of calling node C, calling node D and calling node E are similar, and the corresponding microservices are called through interface configuration information to perform corresponding operations, which will not be repeated here.

[0130] In step S15 of some embodiments, if the current node category is an end node category, it indicates that the target execution instance is about to be completed, and the current process node is the last target process node in the target execution instance. It should be noted that the last target process node in the target execution instance is an end node, and the end node is executed to call all microservices in the target execution instance to perform a shutdown operation, so that the microservices corresponding to the target execution instance are automatically closed after the operation is completed, thereby reducing the resource loss caused by the long-term standby of the microservices.

[0131] In any of the steps S11 to S15 shown in this embodiment, the category of the current process node is determined according to the current node category, and then the corresponding process node is executed according to the current node category, so that the process node calls the corresponding microservice to perform the current execution operation through pre-configured information, and the targeted call of the microservice is realized, so that multiple microservices are automatically called on a system to perform the current execution operation respectively, and the target business is completed fully automatically, saving manpower. At the same time, the node execution result is determined according to the execution status of the microservice executing the current operation, so as to determine whether the microservice corresponding to the current process node has completed the target execution operation according to the node execution result.

[0132] In some embodiments, please refer to Figure 5 After step S107, the process instance processing method further includes but is not limited to steps S501 to S504:

[0133] Step S501, obtaining an instance operation request for a target execution instance; wherein the instance operation request includes: an operation category and a target execution operation;

[0134] Step S502, acquiring the instance state of the target execution instance according to the instance operation request, and obtaining the current instance state;

[0135] Step S503, acquiring the node state of the target process node according to the current instance state and the operation category, and obtaining the current node state;

[0136] Step S504: Execute a target execution operation on the target process node according to the operation category and the current node state.

[0137] In step S501 of some embodiments, when the calling end needs to change the execution of the target execution instance, an instance operation request for the target execution instance is received from the calling end, and the instance operation request indicates that the target execution instance needs to be adjusted. It should be noted that the instance operation request includes: an operation category and a target execution operation, and the operation category indicates the category of the target execution operation that needs to be performed on the target execution instance, and different categories of target operation categories adjust different target process nodes in the target execution instance.

[0138] It should be noted that the operation category includes any of the following: a pause operation category and a termination operation category, so the target execution instance is paused or terminated to pause or terminate the execution of the target execution instance according to the caller's requirements.

[0139] In step S502 of some embodiments, the current instance state represents the instance state of the target execution instance corresponding to the instance operation request, and the current instance state will affect the adjustment of the target execution instance.

[0140] In step S503 of some embodiments, after completing the acquisition of the current instance state, the node state of the target process node in the target execution instance is acquired according to the current instance state and the operation category to obtain the current node state, so as to adjust each target process node in the target execution instance according to the current node state to achieve targeted adjustment of the target process node.

[0141] It should be noted that the current instance state includes any of the following: waiting state, blocking state, executing state, pausing state, suspended state, terminating state, and terminated state. If the operation category is a pausing operation, except for the current instance state being any of the waiting state, blocking state, and executing state, the other instance states are not allowed to be suspended, so there is no need to obtain the node state of the target process node. If the operation category is a terminating operation category, if the current instance state is not any of the waiting state, blocking state, executing state, and pausing state, the target execution instance cannot be terminated, and there is no need to obtain the node state of the target process node.

[0142] In step S504 of some embodiments, when it is determined that the target execution instance can be adjusted, the target execution operation is performed on the target process node within the target execution instance according to the operation category and the current node state, so that the target execution instance can be completely paused or terminated by adjusting the target process node.

[0143] In steps S501 to S504 shown in this embodiment, when the calling end needs to adjust the target execution instance, the instance state of the corresponding target execution instance is obtained according to the instance operation request sent by the calling end to obtain the current instance state. The node state of the target process node is obtained according to the current instance state and the operation category to obtain the current node state, so as to adjust the target process node in the target execution instance according to the current node state and the operation category, reduce the additional target process node that is still executed so that the target execution instance cannot fully execute the target execution operation.

[0144] In some embodiments, the current node state includes any one of the following: waiting state, blocking state, executing state, and pausing state; the target execution operation includes: deleting operation, state changing operation, pausing operation, and terminating operation. Because the execution category is a pausing operation category or a terminating operation category, in order to completely suspend or terminate the target execution instance, it is necessary to execute the corresponding target execution operation according to the current node state of different target process nodes, so that all target process nodes in the target execution instance stop executing.

[0145] In some embodiments, step S504 may include any one of the following steps:

[0146] Step S21, performing a delete operation on the target process node according to the pause operation type and the waiting state;

[0147] Step S22, performing a state change operation on the target process node according to the pause operation category and the blocking state;

[0148] Step S23, performing a pause operation on the target process node according to the pause operation category and the execution state;

[0149] Step S24, performing a delete operation on the target process node according to the termination operation category and the waiting state;

[0150] Step S25, performing a termination operation on the target process node according to the termination operation category and the paused state;

[0151] Step S26, executing a termination operation on the target process node according to the termination operation category and the executing state.

[0152] In step S21 of some embodiments, if the operation category is a pause operation category and the current node state is a waiting state, a deletion operation is performed on the target process node, that is, the target process node in the waiting state is deleted to prevent the target process node in the waiting state from being executed subsequently, thereby affecting the pause operation of the target execution instance.

[0153] In step S22 of some embodiments, if the operation category is a pause operation category, and the current node state is a blocked state, it is necessary to perform a state change operation on the target process node in the blocked state. It should be noted that the state change operation is to change the blocked state of the target process node to a waiting state, and after the node state of the target process node is changed to a waiting state, a pause operation is performed on the target process node converted to the waiting state, and the node state of the target process node is changed to a paused state.

[0154] Please refer to Figure 6 ,like Figure 6 A schematic diagram of the node state transition that represents the target process node, through Figure 6It can be seen that the current node state can be converted from the blocking state to the waiting state, and then the waiting state can be converted to the suspended state. It should be noted that when the target process node completes the suspension, the current node state is converted from the suspended state to the suspended state.

[0155] In step S23 of some embodiments, if the operation category is a pause operation category and the current node category is in the executing state, it is necessary to perform a pause operation on the target process node to suspend the execution of the target process node. It should be noted that after the target process node performs the pause operation, the current node state of the target process node is converted from executing to pausing state, so that it is possible to determine whether the target process node in the target execution instance is completely suspended based on the current node state, thereby reducing the situation where the process of the target business is still continuing.

[0156] Specifically, the suspension or deletion of the target process node is implemented by the node execution module. Figure 6 It can be seen that if the current node state is in the executing state, it can be converted to the successful state, the suspended state, the blocked state and the failed state. It should be noted that the successful state is the node state changed after the target process node is completed, while the failed state represents the node state of the target process node that has not completed the execution, and the blocked state represents the target process node execution is blocked. Therefore, the node state transition of the target process node describes the state of the target process node during the life cycle, realizes the management of the target process node life cycle, and makes the control of the target process node more convenient.

[0157] In step S24 of some embodiments, if the operation category is a termination operation category and the current node state is a waiting state, a deletion operation is performed on the target process node, that is, the target process node in the waiting state is deleted, and the current node state is converted from the waiting state to the termination state.

[0158] Please refer to Figure 6 , when the target execution instance is terminated, if the target process node is deleted, the current node state of the target process node is converted from the waiting state to the terminated state. Therefore, when the target process node is operated, the current node state is updated synchronously, so that the current situation of the target process node can be determined according to the current node state.

[0159] In step S25 of some embodiments, if the operation category is a termination operation category and the current node state is a paused state, a termination operation is directly performed on the target process node, that is, the execution of the target process node is terminated. Figure 6After the target process node is terminated, the current node state of the target process node needs to be converted from the paused state to the terminated state. After the target process node is terminated, the current node state is converted from the terminated state to the terminated state.

[0160] In step S26 of some embodiments, if the operation category is a termination operation category and the current node state is in the execution state, a termination operation is performed on the target process node, that is, the execution of the target process node in the execution state is terminated. Figure 6 When the target process node in the executing state is terminated, the current node state is converted from the executing state to the terminating state, and after the target process node is terminated, the current node state is converted from the terminating state to the terminated state. Therefore, the current state of the target process node can be determined by the current node state of the target process node, so as to realize the management of the full life cycle of the target process node according to the current node state.

[0161] In any one of steps S21 to S26 shown in this embodiment, corresponding operations are performed on target process nodes with different current node states according to different operation categories to ensure that the target process node can be completely suspended or terminated, so that the target execution instance can be accurately suspended or terminated. At the same time, when the target process node performs different operations, the current node state of the target process node is changed synchronously, so that the situation of the target process node can be determined according to the current node state.

[0162] In some embodiments, the operation category also includes a pause-resume operation category. If the current instance state is any of a paused state and a paused state, the target execution instance can be resumed according to the pause-resume operation so that the remaining target process nodes of the target execution instance resume execution.

[0163] In some embodiments, the node waiting queue includes a selected process node, which is the next node of the target process node. When the target process node is executed, the next process node needs to be executed, so the next process node of the target process node is defined as the selected process node. Figure 7 Step S108 includes but is not limited to steps S701 to S704:

[0164] Step S701, obtaining the execution position of the current process node according to the node execution order, and obtaining the node execution position; wherein the node execution position includes: the end position or the non-end position;

[0165] Step S702: If the node execution result indicates that the microservice has completed the current execution operation, and the node execution position is at the end, then stop executing the target execution instance;

[0166] Step S703: if the node execution result indicates that the microservice has completed the current execution operation, and the node execution position is not the end position, then the selected process node is extracted from the node waiting queue according to the node execution sequence, and the target execution instance is executed according to the selected process node;

[0167] Step S704: If the node execution result indicates that the microservice has not completed the current execution operation, and the node execution position is not the end position, then the execution prompt information is obtained, and the target execution instance is executed according to the execution prompt information.

[0168] In step S701 of some embodiments, after the microservice is controlled to execute the current execution operation according to the current node category, it is necessary to determine whether the current process node is the last target process node, so as to determine whether it is necessary to continue to execute the next target process node according to the node execution result. It should be noted that the node execution order records the execution order of each target process node, so according to the node execution order, it is possible to determine the position of the current process node in the entire target execution instance to obtain the node execution position. It should be further noted that the node execution position includes the end position and the non-end position to determine whether the current process node is the last target process node in the target execution instance.

[0169] In step S702 of some embodiments, when the node execution result indicates that the microservice has completed the current execution operation and the node execution position is at the end position, indicating that the current process node can be executed normally and the current process node is the end node, the target execution instance is stopped. Figure 8 As shown, if the current process node is an end node, after stopping the execution of the target execution instance, the instance state of the target execution instance is switched from the executing state to the successful state, and the execution stage of the target execution instance can be determined through the instance state.

[0170] In step S703 of some embodiments, if the node execution result indicates that the microservice has completed the current execution operation, and the node execution position is not the end position, it indicates that the current process node has been successfully executed and there are other target process nodes behind it. It is necessary to extract the selected process node from the node waiting queue, and execute the target execution instance according to the selected process node. It should be noted that the selected process node includes a selected node category and a selected execution operation, and the target execution instance is executed according to the selected process node, that is, the microservice is continued to be called according to the selected node category of the selected process node to execute the selected execution operation, and then the selected process node is continued to be judged whether it is the end node, until the subsequent target process nodes are all executed, and the target execution instance is completed.

[0171] In step S704 of some embodiments, if the node execution result indicates that the microservice has not completed the current execution operation, and the node execution position is not the end position, it indicates that the current process node execution has failed and is not an end node. Therefore, it is necessary to feedback the node execution failure information to the calling end to receive the execution prompt information fed back by the calling end, and the execution prompt information indicates whether to continue to execute the next process node, so as to execute the target execution instance according to the execution prompt information.

[0172] In the steps S701 to S704 shown in this embodiment, whether the node execution result indicates that the microservice has completed the current execution operation is determined to determine whether the current process node is executed normally, which will affect the execution of the subsequent target process node. If the node execution result indicates that the microservice has completed the current execution operation, it is necessary to determine whether the node execution position is the end position to stop executing or continue executing the target execution instance, so that the execution operation of the target execution instance is more accurate. If the node execution result indicates that the microservice has not completed the current execution operation, and the node execution position is not the end position, the calling end confirms whether to continue executing the target execution instance, so that the execution operation of the target execution instance is more accurate.

[0173] See also Fig. 9 In some embodiments, step S704 may include but is not limited to steps S901 to S903:

[0174] Step S901: If the node execution result indicates that the microservice has not completed the current execution operation, and the node execution position is not the end position, then the execution prompt information is obtained; wherein the execution prompt information includes: failure ignore prompt information or failure termination prompt information;

[0175] Step S902, if the execution prompt information is the failure to ignore prompt information, extract the selected process node from the node waiting queue according to the node execution order, and execute the target execution instance according to the selected process node;

[0176] Step S903: If the execution prompt information is a failure termination prompt information, then the target execution instance is stopped.

[0177] In step S901 of some embodiments, when the node execution result is characterized as the microservice not completing the current execution operation, and the node execution position is not the end position, it indicates that the current process node has failed to execute, and there is a target process node after the current process node. Therefore, the execution failure information is fed back to the calling end, and the execution prompt information fed back by the calling end is obtained. It should be noted that the execution prompt information includes: failure ignore prompt information or failure termination prompt information, and the failure ignore prompt information indicates that the execution failure of the current process node is ignored, and the subsequent target process node is continued to be executed. The failure termination prompt information indicates that the subsequent target process node will no longer be executed after the current process node fails to execute.

[0178] In step S902 of some embodiments, if the execution prompt information is failure to ignore the prompt information, it is necessary to continue to execute the selected process node by executing the target execution instance according to the selected process node. It should be noted that the process of executing the target execution instance according to the selected process node is specifically referred to the description of step S703, which will not be repeated here.

[0179] In step S903 of some embodiments, if the execution prompt information is failure termination information, there is no need to continue to execute the selected process node, and the execution of the target execution instance is stopped. Figure 8 As shown in FIG. 1 , when the target execution instance stops executing, the instance state of the target execution instance is converted from the execution state to the failure state. It should be further explained that the instance state of the target execution instance can be as follows: Figure 8 The conversion is performed as shown, so that the target execution instance can be judged at which execution stage it is through the instance state after the conversion, so as to manage the target execution instance throughout its life cycle.

[0180] In steps S901 to S903 shown in this embodiment, when the node execution result is characterized as the microservice not completing the current execution operation, and the node execution position is not the end position. Because the failure of the current process node execution may affect the execution of the subsequent target process node, the execution prompt information is obtained to determine whether to continue to execute the target execution instance according to the execution prompt information, so that the target execution instance is executed more accurately, and the failure of the target execution instance is prevented from affecting the execution of subsequent instances, which is conducive to improving the efficiency of instance processing.

[0181] like Figure 4As shown, the embodiment of the present application takes the automatic version update of M financial software as an example, creates a candidate process instance for the automatic version update of version A, and determines the execution order of the relevant content of the automatic version update of M financial software as follows: starting process → manual inquiry → timed start → operation and maintenance platform calls the updated version → system configuration platform updates system information → email platform sends update success information → end; starting process → manual inquiry → timed start → operation and maintenance platform calls the updated version → operation and maintenance platform performs version rollback → email platform sends update failure information → end. Therefore, first obtain the selected process instance corresponding to the software update, and then change the manual nodes, timed nodes, call nodes, start nodes, and end nodes in the selected process instance according to the execution order of the relevant content to construct the following. Figure 4 The node execution sequence shown in FIG. When the start node is executed, the start node starts to control all microservices in the target execution instance to perform the wake-up operation. The artificial node generates notification information according to the notifier, notification method and notification template, and then sends the notification information to the responsible personnel of the development team through the artificial node control notification module. Then the timing time information of the timing node is "date XXXX-XX-XX-22:00", then the execution of the call node A is triggered at "XXXX-XX-XX-22:00". The call node A is connected to the operation and maintenance platform according to the interface address and interface parameters to control the operation and maintenance platform to update the version of the M financial software. After the call node A is executed, the call node B is executed, and the call node B calls the system configuration platform according to the interface address and interface parameters, and updates the system information of the B software through the system configuration platform. After the call node B is completed, the call node C will be executed accordingly, and the call node execution result of the call node A is characterized as the operation and maintenance platform has not completed the version update. The call node D calls the operation and maintenance platform to perform a version rollback operation on the M financial software, and then the call node E calls the mail platform to notify the responsible personnel of the development team of the result that the version update is not completed. Finally, the end node is executed to call all microservices in the target execution instance to perform the closing operation. Therefore, by building a process instance in the workflow engine and setting multiple process nodes in the process instance to be responsible for calling the corresponding microservices, the interactive control between multiple microservices is realized automatically without excessive human involvement, saving manpower when completing the target business manually and improving the efficiency of completing the target business.

[0182] See also Fig.10 The embodiment of the present application also provides a process instance processing device, which can implement the above process instance processing method, and the device includes:

[0183] The data acquisition module 1001 is used to put the pre-acquired candidate process instance into a preset instance waiting queue; wherein the candidate process instance has a process priority;

[0184] The instance extraction module 1002 is used to extract the candidate process instance from the instance waiting queue according to the process priority to obtain the target process instance; wherein the target process instance includes: the candidate process node and the node execution order of the candidate process node;

[0185] An instance execution module 1003 is used to execute a target process instance according to a node execution order to obtain a target execution instance;

[0186] The target node extraction module 1004 is used to obtain the candidate process node in the waiting state from the target execution instance to obtain the target process node;

[0187] The node placing module 1005 is used to place the target process node into a preset node waiting queue;

[0188] The current node extraction module 1006 is used to extract the target process node from the node waiting queue according to the node execution order to obtain the current process node; wherein the current process node includes the current node category and the current execution operation;

[0189] The node calling module 1007 is used to call a preset microservice according to the current node category to perform the current execution operation and obtain a node execution result; wherein the node execution result indicates whether the microservice has completed or not completed the current execution operation;

[0190] Node execution module 1008, used to execute the target execution instance according to the node execution result and node execution order

[0191] The specific implementation of the process instance processing device is basically the same as the specific implementation of the above-mentioned process instance processing method, and will not be repeated here.

[0192] The embodiment of the present application also provides an electronic device, the electronic device includes a memory and a processor, the memory stores a computer program, and the processor implements the above-mentioned process example processing method when executing the computer program. The electronic device can be any intelligent terminal including a tablet computer, a car computer, etc.

[0193] See also Fig.11 , Fig.11 The hardware structure of an electronic device of another embodiment is illustrated, and the electronic device includes:

[0194] The processor 1101 may be implemented by a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of the present application;

[0195] The memory 1102 can be implemented in the form of a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM). The memory 1102 can store an operating system and other applications. When the technical solution provided in the embodiment of this specification is implemented by software or firmware, the relevant program code is stored in the memory 1102, and the processor 1101 calls and executes the process instance processing method of the embodiment of this application;

[0196] Input / output interface 1103, used to implement information input and output;

[0197] The communication interface 1104 is used to realize the communication interaction between the device and other devices. The communication can be realized through a wired manner (such as USB, network cable, etc.) or a wireless manner (such as mobile network, WIFI, Bluetooth, etc.);

[0198] A bus 1105 that transmits information between various components of the device (e.g., the processor 1101, the memory 1102, the input / output interface 1103, and the communication interface 1104);

[0199] The processor 1101 , the memory 1102 , the input / output interface 1103 and the communication interface 1104 are connected to each other in communication within the device via the bus 1105 .

[0200] An embodiment of the present application also provides a computer-readable storage medium, which stores a computer program, and when the computer program is executed by a processor, the above-mentioned process instance processing method is implemented.

[0201] The memory, as a non-transient computer-readable storage medium, can be used to store non-transient software programs and non-transient computer executable programs. In addition, the memory may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some embodiments, the memory may optionally include a memory remotely disposed relative to the processor, and these remote memories may be connected to the processor via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0202] The process instance processing method, device, equipment and storage medium provided by the embodiment of the present application are as follows: after the candidate process instance is placed in the instance waiting queue, the target process instance is extracted from the instance waiting queue according to the process priority, and the target process instance includes the candidate process node and the node execution order of the candidate process node, so as to execute the target process instance according to the node execution order to obtain the target execution instance in execution. The subsequent process node in the waiting state is extracted from the target execution instance as the target process node and placed in the node waiting queue. When the process node needs to be executed, the current process node is extracted from the node waiting queue according to the node execution order, so as to execute the process node one by one in sequence. When executing the current process node, that is, according to the current node category of the current process node, the preset microservice is controlled to execute the current execution operation, so as to realize the automatic execution of the microservice to obtain the node execution result, and continue to execute other process nodes in the target execution instance according to the node execution result and the node execution order, so as to realize the automatic control between different microservices, save manual intervention, save manpower for control between multiple microservices, and make the control between microservices more efficient.

[0203] The embodiments described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. Those skilled in the art will appreciate that with the evolution of technology and the emergence of new application scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.

[0204] Those skilled in the art will appreciate that the technical solutions shown in the figures do not constitute a limitation on the embodiments of the present application, and may include more or fewer steps than shown in the figures, or a combination of certain steps, or different steps.

[0205] The device embodiments described above are merely illustrative, and the units described as separate components may or may not be physically separated, that is, they may be located in one place or distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0206] Those skilled in the art will appreciate that all or some of the steps in the methods disclosed above, and the functional modules / units in the systems and devices may be implemented as software, firmware, hardware, or a suitable combination thereof.

[0207] The terms "first", "second", "third", "fourth", etc. (if any) in the specification of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0208] It should be understood that in the present application, "at least one (item)" means one or more, and "plurality" means two or more. "And / or" is used to describe the association relationship of associated objects, indicating that three relationships may exist. For example, "A and / or B" can mean: only A exists, only B exists, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally indicates that the objects associated before and after are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple.

[0209] In the several 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 above 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.

[0210] The units described above 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.

[0211] In addition, each functional unit in each embodiment of the present application 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. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0212] 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, 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, which is stored in a storage medium and includes multiple instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods of various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, and other media that can store programs.

[0213] The preferred embodiments of the present invention are described above with reference to the accompanying drawings, but the scope of the rights of the present invention is not limited thereto. Any modification, equivalent substitution and improvement made by a person skilled in the art without departing from the scope and essence of the present invention should be within the scope of the rights of the present invention.

Claims

1. A process instance processing method, characterized in that: The method comprises: Putting the pre-acquired candidate process instance into a preset instance waiting queue; wherein the candidate process instance has a process priority; Extracting a candidate process instance from the instance waiting queue according to the process priority to obtain a target process instance; wherein the target process instance includes: a candidate process node and a node execution order of the candidate process node; Execute the target process instance according to the node execution order to obtain a target execution instance; Acquire a candidate process node in a waiting state from the target execution instance to obtain a target process node; Put the target process node into a preset node waiting queue; Extracting the target process node from the node waiting queue according to the node execution order to obtain a current process node; wherein the current process node includes a current node category and a current execution operation; Calling a preset microservice according to the current node category to execute the current execution operation, and obtaining a node execution result; wherein the node execution result indicates whether the microservice completes or fails to complete the current execution operation; The target execution instance is executed according to the node execution result and the node execution order.

2. The method according to claim 1, characterized in that The current node category includes any one of the following: a start node category, an end node category, a manual node category, a timed node category, and a call node category; the current execution operation includes any one of the following: a wake-up operation, a shutdown operation, a manual notification operation, a timed operation, and an interface call operation; the calling of a preset microservice according to the current node category to execute the current execution operation and obtain a node execution result includes any one of the following: Call the microservice according to the starting node category to perform the wake-up operation, and obtain the starting node execution result; Calling the microservice according to the artificial node category to perform the artificial notification operation, and obtaining an artificial node execution result; Call the microservice according to the timing node category to execute the timing operation, and obtain the timing node execution result; Call the microservice according to the calling node category to execute the interface calling operation, and obtain the calling node execution result; The microservice is called according to the end node category to perform the closing operation and obtain an end node execution result.

3. The method according to claim 1, characterized in that: The node waiting queue includes a selected process node, the selected process node is a next node of the target process node, and the target execution instance is executed according to the node execution result and the node execution order, including: Obtaining the execution position of the current process node according to the node execution order to obtain the node execution position; wherein the node execution position includes: the end position or the second non-end position; If the node execution result indicates that the microservice has completed the current execution operation, and the node execution position is the end position, then stop executing the target execution instance; If the node execution result indicates that the microservice has completed the current execution operation, and the node execution position is the non-end position, then extracting the selected process node from the node waiting queue according to the node execution order, and executing the target execution instance according to the selected process node; If the node execution result is characterized by that the microservice has not completed the current execution operation, and the node execution position is the non-end position, then the execution prompt information is obtained, and the target execution instance is executed according to the execution prompt information.

4. The method according to claim 3, characterized in that If the node execution result is characterized as the microservice not completing the current execution operation, and the node execution position is the non-end position, then obtaining execution prompt information, and executing the target execution instance according to the execution prompt information, including: If the node execution result is characterized by the microservice not completing the current execution operation, and the node execution position is the non-end position, then acquiring the execution prompt information; wherein the execution prompt information includes: failure ignore prompt information or failure termination prompt information; If the execution prompt information is the failure ignore prompt information, extracting the selected process node from the node waiting queue according to the node execution order, and executing the target execution instance according to the selected process node; If the execution prompt information is the failure termination prompt information, the execution of the target execution instance is stopped.

5. The method according to claim 1, characterized in that After calling a preset microservice according to the current node category to execute the current execution operation and obtaining a node execution result, the method further includes: Obtaining an instance operation request for executing the target instance; wherein the instance operation request includes: an operation category and a target execution operation; Acquire the instance state of the target execution instance according to the instance operation request to obtain the current instance state; Acquire the node state of the target process node according to the current instance state and the operation category to obtain the current node state; The target execution operation is performed on the target process node according to the operation category and the current node state.

6. The method according to claim 5, characterized in that The operation category includes any one of the following: a suspension operation category and a termination operation category; The current node state includes any one of the following: waiting state, blocking state, executing state, and paused state; The target execution operation includes: a delete operation, a state change operation, a pause operation, and a termination operation; and the target execution operation is performed on the target process node according to the operation category and the current node state, including any one of the following: Execute the deletion operation on the target process node according to the pause operation category and the wait state; Execute the state change operation on the target process node according to the pause operation category and the blocking state; Execute the pause operation on the target process node according to the pause operation category and the executing state; Execute the deletion operation on the target process node according to the termination operation category and the waiting state; Execute the termination operation on the target process node according to the termination operation category and the suspended state; The termination operation is performed on the target process node according to the termination operation category and the executing state.

7. The method according to any one of claims 1 to 5, characterized in that: Before placing the pre-acquired candidate process instance into a preset instance waiting queue, the method further includes: Obtaining a business process request; wherein the business process request includes: business process data and process node information; Filtering selected process instances from preset process instances according to the business process data; The node sequence of the selected process instance is adjusted according to the process node information to obtain the candidate process instance.

8. A process instance processing device, characterized in that: The device comprises: A data acquisition module, used to put the pre-acquired candidate process instance into a preset instance waiting queue; wherein the candidate process instance has a process priority; An instance extraction module is used to extract a candidate process instance from the instance waiting queue according to the process priority to obtain a target process instance; wherein the target process instance includes: a candidate process node and a node execution order of the candidate process node; An instance execution module, used to execute the target process instance according to the node execution order to obtain a target execution instance; A target node extraction module is used to obtain a candidate process node in a waiting state from the target execution instance to obtain a target process node; A node placement module is used to place the target process node into a preset node waiting queue; A current node extraction module, used to extract the target process node from the node waiting queue according to the node execution order to obtain a current process node; wherein the current process node includes a current node category and a current execution operation; A node calling module, used to call a preset microservice according to the current node category to execute the current execution operation and obtain a node execution result; wherein the node execution result indicates whether the microservice completes or fails to complete the current execution operation; A node execution module is used to execute the target execution instance according to the node execution result and the node execution order.

9. An electronic device, characterized in that: The electronic device includes a memory and a processor, the memory stores a computer program, and the processor implements the process instance processing method described in any one of claims 1 to 7 when executing the computer program.

10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the process instance processing method described in any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Workflow-based task scheduling method and system

    CN118469474A

  • Workflow processing method, electronic device, and storage medium

    US20240311179A1

  • Workflow execution system and method for cloud environment

    WO2014184799A2