Process method and device, processor and electronic device

By obtaining the task set of the current and target stages through the process engine, the problem of high difficulty in modifying and adding processes is solved, and non-sequential flow of processes and efficiency improvement of approval processes are realized.

CN116167707BActive Publication Date: 2026-08-04INDUSTRIAL AND COMMERCIAL BANK OF CHINA
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
INDUSTRIAL AND COMMERCIAL BANK OF CHINA
Filing Date
2022-12-07
Publication Date
2026-08-04

AI Technical Summary

Technical Problem

In existing technologies, process orchestration and process flow conditions are hard-coded into the database using handwritten scripts, which makes it difficult to modify and add processes, and the approval process is inefficient and cannot reuse highly similar processes.

Method used

The process engine obtains the current and target stages in the process, determines the task set, and completes the approval process based on the task set, supporting non-sequential flow.

Benefits of technology

It enables non-sequential workflow, improves the efficiency of the approval process, and supports flexible configuration and quick and accurate process modification.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116167707B_ABST
    Figure CN116167707B_ABST
Patent Text Reader

Abstract

The application discloses a process processing method and device, a processor and an electronic device, and relates to the technical field of financial technology. The method comprises the following steps: acquiring a current link and a target link in a process based on a process engine, wherein the process is a process to be approved, the target link is a destination link to which the current link is transferred, and there is at least one link between the current link and the target link; determining a task set to be completed when the current link is transferred to the target link according to the current link and the target link, wherein the task set is used to represent tasks to be completed by the current link and the target link respectively when the current link is transferred to the target link; and transferring from the current link to the target link based on the task set, and completing the approval process of the process. Through the application, the problem of low efficiency of the approval process in the related art is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of financial technology, and more specifically, to a process processing method and apparatus, processor and electronic device. Background Technology

[0002] In related technologies, process orchestration, process chaining, and process flow conditions are all hard-coded into the database using handwritten scripts, lacking user-friendly visual configuration pages and tools. This makes modifying or adding processes extremely difficult. Furthermore, the hard-coded process nodes and control conditions result in low abstraction, making highly similar processes unusable. Additionally, approval processes in these technologies are generally implemented as sequential flows. Specifically, business approval flows step-by-step according to pre-arranged approval stages, leading to low efficiency.

[0003] There is currently no effective solution to the problem of low efficiency in the approval process of related technologies. Summary of the Invention

[0004] The main objective of this application is to provide a process processing method, apparatus, processor, and electronic device to solve the problem of low efficiency in approval processes in related technologies.

[0005] To achieve the above objectives, according to one aspect of this application, a process processing method is provided. The method includes: obtaining a current stage and a target stage in a process based on a process engine, wherein the process is a process awaiting approval, the target stage is the destination stage from which the current stage proceeds, and at least one stage exists between the current stage and the target stage; determining a set of tasks to be completed when proceeding from the current stage to the target stage based on the current stage and the target stage, wherein the task set represents the tasks that the current stage and the target stage respectively need to complete when proceeding from the current stage to the target stage; and, based on the task set, proceeding from the current stage to the target stage and completing the approval processing of the process.

[0006] Furthermore, based on the task set, the transition from the current stage to the target stage includes: determining whether all tasks in the task set have been completed; if all tasks in the task set have been completed, then transitioning from the current stage to the target stage; if not all tasks in the task set have been completed, then returning to the current stage.

[0007] Furthermore, determining whether all tasks in the task set have been completed includes: obtaining the execution result of each task in the task set; and determining whether all tasks in the task set have been completed based on the execution result of each task in the task set.

[0008] Furthermore, based on the task set, the process of moving from the current stage to the target stage and completing the approval process includes: moving from the current stage to the target stage based on the task set; determining whether the target stage is the last stage in the process; if the target stage is the last stage in the process, it indicates that the approval process for the process has been completed; if the target stage is not the last stage in the process, it indicates that the approval process for the process has not been completed, and the process moves from the target stage to the next stage to complete the approval process for the process.

[0009] Further, based on the current stage and the target stage, determining the set of tasks that need to be completed when transitioning from the current stage to the target stage includes: determining a first task that the current stage needs to complete when transitioning from the current stage to the target stage; determining a second task that the target stage needs to complete when transitioning from the current stage to the target stage; and summarizing the first task and the second task to obtain the task set.

[0010] Furthermore, obtaining the current stage and target stage in the process based on the process engine includes: obtaining multiple first stages in the process based on the process engine; determining the current stage from the multiple first stages in the process; obtaining multiple second stages after the current stage, wherein there is at least one stage between each second stage and the current stage; determining a third stage among the multiple second stages, wherein the third stage is at least one stage to be completed in the process; and determining the target stage based on the third stage.

[0011] Further, determining the target step based on the third step includes: obtaining the number of the third steps; if the number of the third steps is one, then the third step is taken as the target step; if the number of the third steps is multiple, then the last step in the sorted sequence is selected as the target step.

[0012] To achieve the above objectives, according to another aspect of this application, a process processing apparatus is provided. The apparatus includes: a first acquisition unit, configured to acquire a current stage and a target stage in a process based on a process engine, wherein the process is a process awaiting approval, the target stage is the destination stage from which the current stage proceeds, and at least one stage exists between the current stage and the target stage; a first determination unit, configured to determine, based on the current stage and the target stage, a set of tasks that need to be completed when proceeding from the current stage to the target stage, wherein the task set represents the tasks that the current stage and the target stage respectively need to complete when proceeding from the current stage to the target stage; and a first processing unit, configured to, based on the task set, proceed from the current stage to the target stage and complete the approval processing of the process.

[0013] Furthermore, the first processing unit includes: a first judgment module, used to judge whether all tasks in the task set have been completed; a first transfer module, used to transfer from the current stage to the target stage if all tasks in the task set have been completed; and a first return module, used to return to the current stage if not all tasks in the task set have been completed.

[0014] Furthermore, the first judgment module includes: a first acquisition submodule, used to acquire the execution result of each task in the task set; and a first judgment submodule, used to determine whether all tasks in the task set have been completed based on the execution result of each task in the task set.

[0015] Further, the first processing unit includes: a second flow module, used to flow from the current stage to the target stage based on the task set; a second judgment module, used to determine whether the target stage is the last stage in the process; a first determination module, used to indicate that the approval process of the process has been completed if the target stage is the last stage in the process; and a second determination module, used to indicate that the approval process of the process has not been completed if the target stage is not the last stage in the process, and to flow from the target stage to the next stage of the target stage to complete the approval process of the process.

[0016] Further, the first determining unit includes: a third determining module, used to determine, based on the current stage, a first task that the current stage needs to complete when it flows from the current stage to the target stage; a fourth determining module, used to determine, based on the target stage, a second task that the target stage needs to complete when it flows from the current stage to the target stage; and a first summarizing module, used to summarize the first task and the second task to obtain the task set.

[0017] Further, the first acquisition unit includes: a first acquisition module, configured to acquire multiple first stages in the process based on a process engine; a fifth determination module, configured to determine the current stage from the multiple first stages in the process; a second acquisition module, configured to acquire multiple second stages after the current stage, wherein there is at least one stage between each second stage and the current stage; a sixth determination module, configured to determine a third stage among the multiple second stages, wherein the third stage is at least one stage to be completed in the process; and a seventh determination module, configured to determine the target stage based on the third stage.

[0018] Furthermore, the seventh determining module includes: a second obtaining submodule, used to obtain the number of the third stage; a first determining submodule, used to select the third stage as the target stage if the number of the third stage is one; and a second determining submodule, used to select the last-ranked stage from the third stages as the target stage if the number of the third stages is multiple.

[0019] To achieve the above objectives, according to another aspect of this application, a processor is provided for running a program, wherein the program, when running, executes the processing method of any of the processes described above.

[0020] To achieve the above objectives, according to another aspect of this application, an electronic device is provided, the electronic device including one or more processors and a memory, the memory being used to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors cause the one or more processors to implement the processing method of any of the above-described processes.

[0021] This application employs the following steps: First, it obtains the current and target stages of a process using a process engine. The process is a process awaiting approval, and the target stage is the destination stage from which the current stage proceeds. There is at least one stage between the current and target stages. Second, based on the current and target stages, it determines the set of tasks required to proceed from the current stage to the target stage. This task set represents the tasks that both the current and target stages need to complete when proceeding from the current stage to the target stage. Third, based on the task set, it proceeds from the current stage to the target stage and completes the approval process, thus solving the problem of low efficiency in approval processes in related technologies. By using the current and target stages obtained from the process engine, and ensuring that there is at least one stage between them, it determines the set of tasks required to proceed from the current stage to the target stage. Based on this task set, it proceeds from the current stage to the target stage and completes the approval process, thereby enabling non-sequential process flow and improving the efficiency of the approval process. Attached Figure Description

[0022] The accompanying drawings, which form part of this application, are used to provide a further understanding of this application. The illustrative embodiments and descriptions of this application are used to explain this application and do not constitute an undue limitation of this application. In the drawings:

[0023] Figure 1 This is a flowchart of a processing method according to an embodiment of this application;

[0024] Figure 2 This is a process flow according to the embodiments of this application. Figure 1 ;

[0025] Figure 3 This is a flowchart of an optional process processing method provided according to the embodiments of this application;

[0026] Figure 4 This is a schematic diagram illustrating the process of entering a manual task investigation in an embodiment of this application;

[0027] Figure 5 This is a schematic diagram of the flow into the verification stage in an embodiment of this application;

[0028] Figure 6 This is a schematic diagram of the process defined in the embodiments of this application;

[0029] Figure 7 This is a schematic diagram of a processing apparatus according to an embodiment of the present application;

[0030] Figure 8 This is a schematic diagram of an electronic device provided according to an embodiment of this application. Detailed Implementation

[0031] It should be noted that, unless otherwise specified, the embodiments and features described in this application can be combined with each other. This application will now be described in detail with reference to the accompanying drawings and embodiments.

[0032] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort should fall within the scope of protection of the present application.

[0033] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate for the embodiments of this application described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0034] It should be noted that all information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for display, data used for analysis, etc.) involved in this disclosure are information and data authorized by the user or fully authorized by all parties. For example, this system has an interface with relevant users or organizations. Before obtaining relevant information, it is necessary to send an acquisition request to the aforementioned user or organization through the interface, and obtain the relevant information after receiving consent information from the aforementioned user or organization.

[0035] For ease of description, the following explains some of the nouns or terms used in the embodiments of this application:

[0036] BPMN: Business Process Modelling Notation, a workflow standard.

[0037] Activiti: An open-source process engine based on the BPMN process specification.

[0038] Credit Process: The credit process approval scenario supports multiple non-sequential process approval modes.

[0039] The present invention will now be described in conjunction with preferred implementation steps. Figure 1This is a flowchart of a processing method according to an embodiment of this application, such as... Figure 1 As shown, the method includes the following steps:

[0040] Step S101: Obtain the current stage and target stage in the process based on the process engine. The process is the process to be approved, and the target stage is the destination stage from which the current stage flows. There is at least one stage between the current stage and the target stage.

[0041] For example, the above process can be divided into several stages: investigation, investigation review, examination, examination review and approval, and approval. The current stage can be the investigation stage in the process, the target stage can be the examination stage, and the process engine can be the Activiti process engine. Furthermore, the Activiti process engine can control the flow from the current investigation stage to the examination stage.

[0042] Step S102: Based on the current stage and the target stage, determine the set of tasks that need to be completed when the current stage flows to the target stage. The task set is used to represent the tasks that the current stage and the target stage need to complete respectively when the current stage flows to the target stage.

[0043] For example, when the Activiti process engine controls the flow from the current investigation stage to the review stage, it can query the rule configuration to determine the sub-tasks that the subsequent investigation and review stages must go through when the flow moves from the current investigation stage to the review stage.

[0044] Step S103: Based on the task set, the process flows from the current stage to the target stage and completes the approval process.

[0045] For example, the verification stage processes the results of the entire result set, that is, it verifies whether all the sub-tasks required by the investigation and review stages have been completed. If the verification is successful (i.e. all sub-tasks are completed), the process is sent from the investigation stage to the review stage.

[0046] Through the above steps S101 to S103, based on the current stage and target stage obtained by the process engine, and with at least one stage between the current stage and the target stage, the set of tasks that need to be completed to flow from the current stage to the target stage is determined, and based on the task set, the flow from the current stage to the target stage is completed, and the approval process is completed. This enables non-sequential flow of the process, thereby improving the efficiency of the approval process.

[0047] To quickly and accurately determine the target stage, the process processing method provided in this application embodiment can also determine the target stage through the following steps: obtaining multiple first stages in the process based on the process engine; determining the current stage from the multiple first stages in the process; obtaining multiple second stages after the current stage, wherein there is at least one stage between each second stage and the current stage; determining a third stage among the multiple second stages, wherein the third stage is at least one stage to be completed in the process; and determining the target stage based on the third stage.

[0048] For example, a process model can be built first. In the newly developed process model, manual tasks can be added or removed as needed without affecting the steps, allowing for flexible configuration of the approval process. For instance, the Activiti process engine can be used to obtain the following steps in the process to be approved: investigation, investigation review, examination, examination review, and approval (the multiple first steps mentioned above). The current step can be the investigation step. Then, the steps following the investigation step, which are at least one step away from the investigation step, can be the examination, examination review, and approval steps (the multiple second steps mentioned above), but not the investigation review step, since the investigation review step is adjacent to the investigation step and is not separated by at least one step. Then, the steps that are not yet completed can be found from the examination, examination review, and approval steps, such as the examination and approval steps that are not yet completed (the multiple third steps mentioned above). The examination step (the target step mentioned above) in the incomplete steps can be used as the destination step to which the current investigation step needs to proceed.

[0049] The above method can quickly and accurately determine the destination stage to which the current stage needs to be transferred.

[0050] To quickly and accurately determine the target stage, the processing method provided in this application embodiment can also determine the target stage through the following steps: obtaining the number of third stages; if the number of third stages is one, then the third stage is taken as the target stage; if the number of third stages is multiple, then the last stage in the sorted sequence is selected as the target stage.

[0051] For example, when identifying incomplete stages among the review, review and approval stages, if it is determined that only the approval stage is incomplete (the aforementioned multiple third stages), then the approval stage (the aforementioned target stage) can be taken as the destination stage to which the current investigation stage needs to proceed; if it is determined that both review and approval are incomplete (the aforementioned multiple third stages), then the last-ranked approval stage (the aforementioned target stage) can be taken as the destination stage to which the current investigation stage needs to proceed.

[0052] In conclusion, by identifying the destination stage to which the current stage needs to be processed, the efficiency of the approval process can be improved.

[0053] To quickly and accurately determine the set of tasks that need to be completed when transitioning from the current stage to the target stage, the processing method provided in this application embodiment can also determine the set of tasks that need to be completed when transitioning from the current stage to the target stage through the following steps: based on the current stage, determine the first task that the current stage needs to complete when transitioning from the current stage to the target stage; based on the target stage, determine the second task that the target stage needs to complete when transitioning from the current stage to the target stage; and summarize the first task and the second task to obtain the task set.

[0054] For example, if the current stage is the investigation stage, and the destination stage to which the current stage needs to proceed is the review stage, it is necessary to determine the sub-tasks that need to be completed in both the investigation and review stages when the process moves from the investigation stage to the review stage. These sub-tasks are then combined to obtain the task set mentioned above.

[0055] The above method can quickly and accurately determine the tasks that need to be completed in the current stage and the destination stage during the transfer.

[0056] Figure 2 This is a process flow according to the embodiments of this application. Figure 1 ,like Figure 2 As shown, in the process handling method provided in the embodiments of this application, the transition from the current stage to the target stage based on the task set includes:

[0057] Step S201: Determine whether all tasks in the task set have been completed;

[0058] Step S202: If all tasks in the task set have been completed, then the process moves from the current stage to the target stage.

[0059] Step S203: If not all tasks in the task set are completed, return to the current stage.

[0060] For example, it can determine whether all tasks required for the current stage and the destination stage have been completed during the transition. If all tasks have been completed, the Activiti process engine controls the flow from the current investigation stage to the review stage. If not all tasks have been completed, the Activiti process engine controls the flow to prevent the transition from the current investigation stage to the review stage and controls the flow back to the current investigation stage.

[0061] The above scheme allows for convenient control of the workflow by defining the tasks to be completed during the current stage and the destination stage.

[0062] To quickly and accurately determine whether all tasks in a task set have been completed, the processing method provided in this application embodiment can also determine whether all tasks in a task set have been completed through the following steps: obtaining the execution result of each task in the task set; and determining whether all tasks in the task set have been completed based on the execution result of each task in the task set.

[0063] For example, it can be determined whether each task in the task set that needs to be completed during the transfer between the current stage and the destination stage has been completed. That is, it can be determined whether the sub-tasks that need to be completed in the investigation stage and the review stage have been completed when the transfer is from the investigation stage to the review stage. If the sub-tasks that need to be completed in the investigation stage and the review stage have been completed, it means that all tasks in the task set have been completed. If the sub-tasks that need to be completed in the investigation stage and the review stage have not been completed, it means that all tasks in the task set have not been completed.

[0064] The above method can quickly and accurately determine whether all tasks in a task set have been completed.

[0065] To quickly and accurately complete the approval process, the process processing method provided in this application embodiment can also complete the approval process through the following steps: based on the task set, flow from the current stage to the target stage; determine whether the target stage is the last stage in the process; if the target stage is the last stage in the process, it means that the approval process has been completed; if the target stage is not the last stage in the process, it means that the approval process has not been completed, and flow from the target stage to the next stage of the target stage to complete the approval process.

[0066] For example, if the current stage is the investigation stage, and the destination stage to which the current stage needs to be transferred is the review stage, determine whether the review stage is the last stage in the process. If the review stage is the last stage in the process, it means that the process has been completed; if the review stage is not the last stage in the process, it means that the process has not been completed and needs to be processed again.

[0067] The above method allows for a quick and accurate determination of whether the process has been completed.

[0068] For example, an automated verification task can be written to enable non-sequential flow between task stages in the process, and the rules and direction of the flow can be controlled by combining different application processes, business steps, and flow operations. Furthermore, in completing credit approval business, the process stages can flow freely and non-sequentially according to the approval requirements.

[0069] Furthermore, business processes require repeated calls, and the number of calls cannot be predetermined. Process modeling does not need to exhaustively list the types required by the business. The number of participants and the number of participants in the countersigning process do not need to be predetermined. It can support dynamically creating tasks by repeatedly calling process instances.

[0070] Furthermore, the Activiti process engine can be introduced, utilizing the BPNM 2.0 (Business Process Model and Notation Version 2.0) modeling specifications. It employs tasks, gateways, sequence flows, and sub-processes. According to the BPMN modeling specifications, the tasks configured for each business step must be interconnected by a flow; they cannot exist independently. After process modeling is completed, tasks will flow in the orchestrated order, supporting cross-node jumps and non-sequential jumps according to business requirements.

[0071] For example, based on credit business scenarios, the model design must satisfy the requirement of non-sequential flow between process nodes and the ability to jump arbitrarily across nodes. A process model tailored to the characteristics of credit approval was constructed and validated, as detailed below:

[0072] 1. Process Model Construction

[0073] The design of the flow control mechanism involves querying the configuration of flow rules, modifying the values ​​of process variables to satisfy edge conditions, and controlling the subsequent flow of the process. By using gateways and flow directions in combination, sub-processes and sub-tasks can be executed in parallel or serial manner. Finally, flow control and rule verification are used to achieve non-sequential flow of the process.

[0074] (1) Flow control: Assign values ​​to the edge conditions associated with the containment gateway to control the subsequent flow direction of the process.

[0075] Service tasks are automatically executed. During execution, they load the business processing rule table and control the subsequent flow of the process by assigning values ​​to conditions on the inclusive gateway edge. These include controlling common control subtasks, linkage control subtasks, and rule verification subtasks. When the flow control determines that the flow should go to a common control subtask or a linkage control subtask, it simply sets the flow condition of the control subtask to true in the flow control stage. A rule parsing factory class is constructed, and different flow control classes are encapsulated to extend the rule factory class based on the different rules configured for different business types; different business configurations use different flow control classes.

[0076] (2) Rule verification: After the parallel execution of subtasks ends, the flow is aggregated in the inclusive gateway for verification. All subtask result sets are processed to determine whether the flow direction needs to be redirected.

[0077] The verification process handles the results of all subtasks, queries entries with a flow condition of true on the edges, and extracts and parses these entries according to the parameter association format defined in the flow rules. For example, if the edge condition controls the subtask association result parameters, these parameters represent the execution result values ​​of each subtask. If some subtasks fail, the process engine provides an exception mechanism to allow for a normal interruption of the process, preventing it from flowing into the target stage.

[0078] Once all subtasks have executed successfully, the process enters the target stage. Completed activities and tasks are deleted from the process execution instance table and process execution task table, and pending activities and tasks are added. Completed activities and tasks are recorded in the process history parameter table and process history task table.

[0079] In the process center, the process task list is expanded to delete executed tasks and add pending tasks. The completed task list is written with completed tasks. It supports querying the pending and completed lists of credit business.

[0080] 2. New Design Flowchart

[0081] For example, Figure 3 This is a flowchart of an optional process method provided according to an embodiment of this application, such as... Figure 3 As shown, after starting, the process enters the exclusive gateway, then the manual task stage, then the flow control stage, then the automatic task stage, then the aggregated task stage, then the verification stage, then back to the exclusive gateway, and finally ends. Furthermore, in the newly developed process model, manual tasks can be added or removed as needed without affecting the steps, allowing for flexible configuration of the approval process. Simultaneously, the flow between steps can be routed randomly to any other step through flow control.

[0082] The original coupled parts, such as business logic and validation rules, have been completely separated into rule validation subtasks, such as common control subtasks and linkage control subtasks.

[0083] This allows for the development of a new process model, incorporating the Activiti engine and BPMN specifications to improve approval process performance and define standard specifications for the approval process. At the same time, it retains the characteristics of the credit approval process, requiring that the process can flow non-sequentially.

[0084] 3. Process flow

[0085] For example, Figure 4 This is a schematic diagram illustrating the process of entering a manual task investigation in an embodiment of this application, such as... Figure 4 As shown, the business system submits an approval request, the process engine creates a process instance, the process flow variable is assigned the initial stage value, and the process enters the manual task investigation after passing through the exclusive gateway and edge judgment.

[0086] Then, the processor can choose the business processing method as sending, specify the next task stage and the person in charge (organization, department), and call the process center API service (Application Programming Interface).

[0087] (1) In the flow control, assign the flow direction variable to the next node, query the flow rule configuration to determine the sub-tasks that need to be experienced later, and assign the sub-task status to true.

[0088] (2) The inflow into the inclusive gateway and the edge are matched, and can enter the common control subtask and the linkage control subtask. The subtasks are executed in parallel and wait for all execution to be completed in the inclusive gateway.

[0089] (3) In the verification stage, all result sets are processed. If verification is successful, the process is sent from the investigation node to the review node. The process progress chart is as follows: Figure 5 As shown, Figure 5 This is a schematic diagram of the flow verification process in an embodiment of this application.

[0090] (4) Current status information of the process: The current stage of the process is review, and the process is completed.

[0091] In summary, using the Activiti workflow engine can improve workflow efficiency. Its non-sequential workflow model can be widely applied to complex credit business approval processes. It avoids exhaustively listing all steps in the approval process or all possible approval sequences. Non-sequential, repeatable tasks can be configured simply and quickly.

[0092] In addition, the relevant content in the embodiments of this application is described as follows:

[0093] 1. Introduction to Activiti

[0094] Activiti is a workflow engine that can extract complex business processes from a business system and define them using a specialized modeling language (BPMN 2.0). The business system executes according to the predefined processes, enabling the business processes of the business system to be managed by Activiti. This reduces the workload of system upgrades and modifications due to process changes, thereby improving system robustness and reducing system development and maintenance costs.

[0095] 2. Introduction to BPMN

[0096] BPMN (Business Process Model and Notation) is a set of standard business process modeling notations developed by BPMI (Business Process Management Initiative). Business processes can be created using the notations provided by BPMN.

[0097] 3. Activiti Process Definition

[0098] Workflow uses BPMN 2.0 for process modeling and execution management. It includes many modeling symbols, such as an event represented by a circle, which is what happens during the process.

[0099] For example, Figure 6 This is a schematic diagram of the process defined in the embodiments of this application. For example, an example of a bpmn diagram is as follows: First, the person submits a leave application. Second, the manager of his / her department reviews the leave application. Then, the human resources manager reviews and files the application. Finally, the leave application process ends.

[0100] 4. Using Activiti

[0101] (1) Deploy Activiti

[0102] Activiti is a workflow engine (actually just a bunch of JAR files and APIs). Business systems use Activiti to automate the management of their business processes. To facilitate business systems' access to (operation of) Activiti's interfaces or functions, the Activiti environment is usually integrated with the business system's environment.

[0103] (2) Process Definition

[0104] Use the Activiti process modeling tool (activity-designer) to define business processes (.bpmn files). The .bpmn file is the business process definition file, which defines the business process using XML.

[0105] (3) Process definition and deployment

[0106] Deploy the business process definition (.bpmn file) to Activiti. Use the API provided by Activiti to deploy the .bpmn file to Activiti (generally, you also need to deploy the image of the business process, .png, at the same time).

[0107] (4) Start a process instance (ProcessInstance)

[0108] Starting a process instance means starting the execution of a business process. For example, once the employee leave application process is deployed, if Zhang San wants to take leave, a process instance can be started. If Li Si wants to take leave, a process instance can also be started. The execution of the two processes does not affect each other. It is just like defining a Java class and instantiating two objects. The deployed process is like a Java class, and starting a process instance is like creating a new Java object.

[0109] (5) User query for pending tasks (Task)

[0110] Because the system's business processes are now managed by Activiti, we can use Activiti to check the current progress of the process and what tasks the user needs to complete. Activiti manages all of this for us.

[0111] (6) User task handling

[0112] After a user queries the pending tasks, they can complete a task. If the task needs to be completed by other users, such as a purchase order being reviewed by the department manager after it is created, Activiti will handle this process for us, so we don't need to hardcode the next task handler in the code.

[0113] (7) Process ends

[0114] When a task is completed and there are no more tasks / nodes, the process instance is complete.

[0115] In summary, the process processing method provided in this application, by obtaining the current stage and target stage in the process based on a process engine, wherein the process is a process pending approval, and the target stage is the destination stage from which the current stage proceeds, and there is at least one stage between the current stage and the target stage; based on the current stage and the target stage, a set of tasks that need to be completed to proceed from the current stage to the target stage is determined, wherein the task set represents the tasks that the current stage and the target stage need to complete respectively when proceeding from the current stage to the target stage; based on the task set, the process proceeds from the current stage to the target stage and completes the approval process, thus solving the problem of low efficiency in approval processes in related technologies. By determining the set of tasks that need to be completed to proceed from the current stage to the target stage based on the current stage and the target stage obtained based on the process engine, and based on the task set, the process proceeds from the current stage to the target stage and completes the approval process, thereby realizing non-sequential flow of the process, and thus achieving the effect of improving the efficiency of the approval process.

[0116] It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and although a logical order is shown in the flowchart, in some cases the steps shown or described may be executed in a different order than that shown here.

[0117] This application also provides a process processing apparatus. It should be noted that the process processing apparatus of this application can be used to execute the process processing method provided in this application. The process processing apparatus provided in this application will be described below.

[0118] Figure 7 This is a schematic diagram of a processing apparatus according to an embodiment of this application. Figure 7 As shown, the device includes: a first acquisition unit 701, a first determination unit 702, and a first processing unit 703.

[0119] Specifically, the first acquisition unit 701 is used to acquire the current stage and the target stage in the process based on the process engine, wherein the process is a process to be approved, the target stage is the destination stage from which the current stage flows, and there is at least one stage between the current stage and the target stage;

[0120] The first determining unit 702 is used to determine the set of tasks that need to be completed when the current stage flows to the target stage based on the current stage and the target stage. The task set is used to represent the tasks that the current stage and the target stage need to complete respectively when the current stage flows to the target stage.

[0121] The first processing unit 703 is used to transfer from the current stage to the target stage based on the task set and complete the approval process.

[0122] In summary, the process processing apparatus provided in this application embodiment obtains the current stage and target stage of the process based on a process engine by a first acquisition unit 701. The process is a process awaiting approval, and the target stage is the destination stage from which the current stage proceeds. At least one stage exists between the current stage and the target stage. A first determination unit 702 determines a set of tasks required to proceed from the current stage to the target stage based on the current stage and the target stage. This task set represents the tasks that the current stage and the target stage need to complete respectively when proceeding from the current stage to the target stage. A first processing unit 703, based on the task set, proceeds from the current stage to the target stage and completes the approval process, thus solving the problem of low efficiency in approval processes in related technologies. By determining the set of tasks required to proceed from the current stage to the target stage based on the current stage and target stage obtained from the process engine, and assuming at least one stage exists between them, and then proceeding from the current stage to the target stage based on the task set and completing the approval process, non-sequential process flow can be achieved, thereby improving the efficiency of the approval process.

[0123] Optionally, in the process processing apparatus provided in the embodiments of this application, the first processing unit includes: a first judgment module, used to judge whether all tasks in the task set have been completed; a first transfer module, used to transfer from the current stage to the target stage if all tasks in the task set have been completed; and a first return module, used to return to the current stage if not all tasks in the task set have been completed.

[0124] Optionally, in the processing apparatus of the process provided in the embodiments of this application, the first judgment module includes: a first acquisition submodule, used to acquire the execution result of each task in the task set; and a first judgment submodule, used to determine whether all tasks in the task set have been completed based on the execution result of each task in the task set.

[0125] Optionally, in the process processing apparatus provided in the embodiments of this application, the first processing unit includes: a second flow module, used to flow from the current stage to the target stage based on the task set; a second judgment module, used to determine whether the target stage is the last stage in the process; a first determination module, used to indicate that the approval process of the process has been completed if the target stage is the last stage in the process; and a second determination module, used to indicate that the approval process of the process has not been completed if the target stage is not the last stage in the process, and to flow from the target stage to the next stage of the target stage to complete the approval process of the process.

[0126] Optionally, in the process processing apparatus provided in the embodiments of this application, the first determining unit includes: a third determining module, used to determine, based on the current stage, a first task that the current stage needs to complete when it flows from the current stage to the target stage; a fourth determining module, used to determine, based on the target stage, a second task that the target stage needs to complete when it flows from the current stage to the target stage; and a first summarizing module, used to summarize the first task and the second task to obtain a task set.

[0127] Optionally, in the process processing apparatus provided in the embodiments of this application, the first acquisition unit includes: a first acquisition module, used to acquire multiple first stages in the process based on a process engine; a fifth determination module, used to determine the current stage from the multiple first stages in the process; a second acquisition module, used to acquire multiple second stages after the current stage, wherein there is at least one stage between each second stage and the current stage; a sixth determination module, used to determine a third stage among the multiple second stages, wherein the third stage is at least one stage to be completed in the process; and a seventh determination module, used to determine a target stage based on the third stage.

[0128] Optionally, in the processing apparatus of the process provided in the embodiments of this application, the seventh determining module includes: a second obtaining submodule, used to obtain the number of third steps; a first determining submodule, used to take the third step as the target step if the number of third steps is one; and a second determining submodule, used to select the last ranked step from the third steps as the target step if the number of third steps is multiple.

[0129] The processing device for the process includes a processor and a memory. The first acquisition unit 701, the first determination unit 702, and the first processing unit 703 are all stored in the memory as program units. The processor executes the program units stored in the memory to realize the corresponding functions.

[0130] The processor contains a kernel, which retrieves the corresponding program units from memory. One or more kernels can be configured, and adjusting kernel parameters can improve the efficiency of the approval process.

[0131] The memory may include non-permanent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM, and the memory includes at least one memory chip.

[0132] This invention provides a processor for running a program, wherein the program executes a processing method of the process during runtime.

[0133] like Figure 8As shown, this embodiment of the invention provides an electronic device, which includes a processor, a memory, and a program stored in the memory and executable on the processor. When the processor executes the program, it performs the following steps: obtaining the current stage and the target stage in a process based on a process engine, wherein the process is a process pending approval, the target stage is the destination stage from which the current stage flows, and there is at least one stage between the current stage and the target stage; determining a set of tasks to be completed when flowing from the current stage to the target stage based on the current stage and the target stage, wherein the set of tasks represents the tasks that the current stage and the target stage need to complete respectively when flowing from the current stage to the target stage; and, based on the set of tasks, flowing from the current stage to the target stage and completing the approval process for the process.

[0134] When the processor executes the program, it also performs the following steps: based on the task set, the flow from the current stage to the target stage includes: determining whether all tasks in the task set have been completed; if all tasks in the task set have been completed, then the flow from the current stage to the target stage; if not all tasks in the task set have been completed, then the flow back to the current stage.

[0135] When the processor executes the program, it also performs the following steps: determining whether all tasks in the task set have been completed includes: obtaining the execution result of each task in the task set; and determining whether all tasks in the task set have been completed based on the execution result of each task in the task set.

[0136] When the processor executes the program, it also performs the following steps: based on the task set, it flows from the current stage to the target stage and completes the approval process of the process, including: based on the task set, it flows from the current stage to the target stage; it determines whether the target stage is the last stage in the process; if the target stage is the last stage in the process, it means that the approval process of the process has been completed; if the target stage is not the last stage in the process, it means that the approval process of the process has not been completed, and it flows from the target stage to the next stage of the target stage to complete the approval process of the process.

[0137] When the processor executes the program, it also performs the following steps: determining the set of tasks that need to be completed when the current stage flows to the target stage based on the current stage and the target stage, including: determining a first task that the current stage needs to complete when the current stage flows to the target stage based on the current stage; determining a second task that the target stage needs to complete when the current stage flows to the target stage based on the target stage; and summing up the first task and the second task to obtain the task set.

[0138] When the processor executes the program, it also performs the following steps: obtaining the current stage and target stage in the process based on the process engine includes: obtaining multiple first stages in the process based on the process engine; determining the current stage from the multiple first stages in the process; obtaining multiple second stages after the current stage, wherein there is at least one stage between each second stage and the current stage; determining a third stage among the multiple second stages, wherein the third stage is at least one stage to be completed in the process; and determining the target stage based on the third stage.

[0139] When the processor executes the program, it also performs the following steps: determining the target stage based on the third stage includes: obtaining the number of the third stages; if the number of the third stages is one, then the third stage is taken as the target stage; if the number of the third stages is multiple, then the last stage in the sorted order is selected as the target stage.

[0140] The devices mentioned in this article can be servers, PCs, tablets, mobile phones, etc.

[0141] This application also provides a computer program product, which, when executed on a data processing device, is suitable for executing an initialization program with the following method steps: obtaining the current stage and target stage in a process based on a process engine, wherein the process is a process pending approval, the target stage is the destination stage from which the current stage flows, and there is at least one stage between the current stage and the target stage; determining a set of tasks to be completed when flowing from the current stage to the target stage based on the current stage and the target stage, wherein the set of tasks represents the tasks that the current stage and the target stage need to complete respectively when flowing from the current stage to the target stage; and, based on the set of tasks, flowing from the current stage to the target stage and completing the approval processing of the process.

[0142] When executed on a data processing device, it is also suitable to execute an initialization program with the following method steps: based on the task set, the flow from the current stage to the target stage includes: determining whether all tasks in the task set have been completed; if all tasks in the task set have been completed, then the flow from the current stage to the target stage; if not all tasks in the task set have been completed, then the flow back to the current stage.

[0143] When executed on a data processing device, it is also suitable to execute an initialization program with the following method steps: determining whether all tasks in the task set have been completed includes: obtaining the execution result of each task in the task set; and determining whether all tasks in the task set have been completed based on the execution result of each task in the task set.

[0144] When executed on a data processing device, it is also suitable to execute an initialization program with the following method steps: based on the task set, flowing from the current stage to the target stage, and completing the approval process of the process, including: based on the task set, flowing from the current stage to the target stage; determining whether the target stage is the last stage in the process; if the target stage is the last stage in the process, it indicates that the approval process of the process has been completed; if the target stage is not the last stage in the process, it indicates that the approval process of the process has not been completed, and flowing from the target stage to the next stage of the target stage to complete the approval process of the process.

[0145] When executed on a data processing device, it is also suitable to execute an initialization program with the following method steps: determining a set of tasks that need to be completed when transitioning from the current stage to the target stage, based on the current stage and the target stage, including: determining a first task that the current stage needs to complete when transitioning from the current stage to the target stage, based on the current stage; determining a second task that the target stage needs to complete when transitioning from the current stage to the target stage, based on the target stage; and summarizing the first task and the second task to obtain the task set.

[0146] When executed on a data processing device, it is also suitable to execute an initialization program with the following method steps: obtaining the current stage and target stage in the process based on a process engine, including: obtaining multiple first stages in the process based on the process engine; determining the current stage from the multiple first stages in the process; obtaining multiple second stages after the current stage, wherein there is at least one stage between each second stage and the current stage; determining a third stage from the multiple second stages, wherein the third stage is at least one stage to be completed in the process; and determining the target stage based on the third stage.

[0147] When executed on a data processing device, it is also suitable to execute an initialization program with the following method steps: determining the target stage based on the third stage includes: obtaining the number of the third stages; if the number of the third stages is one, then the third stage is taken as the target stage; if the number of the third stages is multiple, then the last stage in the sorted order is selected from the third stages as the target stage.

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

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

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

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

[0152] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0153] Memory may include non-persistent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, like read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0154] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0155] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

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

[0157] The above are merely embodiments of this application and are not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.

Claims

1. A process handling method, characterized in that, include: The process engine obtains the current stage and target stage in the process, wherein the process is a process pending approval, the target stage is the destination stage from which the current stage flows, there is at least one stage between the current stage and the target stage, and the process includes at least one of the following: investigation, investigation review, examination, examination review and approval. Based on the current stage and the target stage, a set of tasks that need to be completed when the flow from the current stage to the target stage is determined, wherein the set of tasks is used to represent the tasks that the current stage and the target stage need to complete respectively when the flow from the current stage to the target stage; Based on the set of tasks, the process flows from the current stage to the target stage, and the approval process for the process is completed. Based on the task set, the transition from the current stage to the target stage includes: Determine whether all tasks in the task set have been completed; If all tasks in the task set have been completed, the process moves from the current stage to the target stage. If not all tasks in the task set are completed, return to the current stage.

2. The method according to claim 1, characterized in that, Determining whether all tasks in the task set have been completed includes: Obtain the execution result of each task in the task set; Based on the execution result of each task in the task set, determine whether all tasks in the task set have been completed.

3. The method according to claim 1, characterized in that, Based on the task set, the process of moving from the current stage to the target stage and completing the approval process includes: Based on the set of tasks, the process flows from the current stage to the target stage; Determine whether the target step is the last step in the process; If the target step is the last step in the process, it means that the approval process for the process has been completed. If the target step is not the last step in the process, it means that the approval process for the process has not been completed, and the process will move from the target step to the next step to complete the approval process for the process.

4. The method according to claim 1, characterized in that, Based on the current stage and the target stage, the set of tasks that need to be completed to transition from the current stage to the target stage includes: Based on the current stage, determine the first task that the current stage needs to complete when the flow transitions from the current stage to the target stage; Based on the target stage, determine the second task that the target stage needs to complete when the flow transitions from the current stage to the target stage; The first task and the second task are combined to obtain the task set.

5. The method according to claim 1, characterized in that, The process engine is used to obtain the current and target stages in a process, including: The process engine is used to obtain multiple first stages in the process; The current stage is determined from a plurality of first stages in the process; A plurality of second stages are obtained after the current stage, wherein there is at least one stage between each second stage and the current stage; A third step is determined among the plurality of second steps, wherein the third step is at least one step to be completed in the process; Based on the third step, the target step is determined.

6. The method according to claim 5, characterized in that, Based on the third step, the target step is determined to include: Obtain the quantity of the third stage; If the number of the third stage is one, then the third stage is taken as the target stage; If there are multiple third stages, then the last stage in the ranking is selected as the target stage.

7. A process processing apparatus, characterized in that, include: The first acquisition unit is used to acquire the current stage and the target stage in the process based on the process engine. The process is a process pending approval, and the target stage is the destination stage from which the current stage flows. There is at least one stage between the current stage and the target stage. The process includes at least one of the following: investigation, investigation review, examination, examination review and approval. The first determining unit is configured to determine, based on the current stage and the target stage, a set of tasks that need to be completed when the current stage flows to the target stage, wherein the set of tasks represents the tasks that the current stage and the target stage need to complete respectively when the current stage flows to the target stage; The first processing unit is used to transfer the process from the current stage to the target stage based on the task set, and to complete the approval process of the process. The first processing unit includes: a first judgment module, used to judge whether all tasks in the task set have been completed; a first transfer module, used to transfer from the current stage to the target stage if all tasks in the task set have been completed; and a first return module, used to return to the current stage if not all tasks in the task set have been completed.

8. A processor, characterized in that, The processor is used to run a program, wherein the program, when running, executes the processing method of the process described in any one of claims 1 to 6.

9. An electronic device, characterized in that, It includes one or more processors and a memory, the memory being used to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors cause the one or more processors to implement the processing method of the process according to any one of claims 1 to 6.