Workflow processing method, device and computer equipment
Through robotic process automation technology, using the robot scheduling platform and permission verification, efficient business process integration between different management systems within the enterprise is achieved, solving the security and stability issues caused by interface calls and improving business processing efficiency.
Patent Information
- Application Number
- CN202111516571.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-10
- Publication Date
- 2025-10-03
- Estimated Expiration
- 2041-12-10
AI Technical Summary
In the existing technology, the business process integration between different management systems within an enterprise has problems such as reduced security, poor stability and excessive resource consumption, especially the inability to efficiently process business when the interface is called.
The integration of multiple workflows is achieved through Robotic Process Automation (RPA) robots. The robot scheduling platform is used to call the target robot to execute the auxiliary workflow. The system security is ensured through permission verification information to avoid interface exposure.
It achieves efficient integration between different workflows, improves business processing efficiency, avoids security and stability issues caused by interface exposure, and reduces system resource consumption.
Smart Images

Figure CN114219435B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of office automation technology, and in particular to a workflow processing method, apparatus, computer equipment, storage medium, and computer program product. Background Art
[0002] Enterprises often have multiple business management systems, each responsible for different business modules. Each management system has its own workflow platform, which drives the operations of the business managed by that management system. In actual enterprise production, business processes belonging to different management systems need to work together to complete specific business scenarios. For example, a business module may need to perform OA (Office Automation) approval processes in management system A and business processes in management system B.
[0003] Existing solutions require management systems to use interface calls to achieve process integration across different management systems. However, some management systems may not provide relevant interfaces, making business integration impossible. Furthermore, exposing interfaces during business integration can compromise enterprise security, and interface calls can lead to excessive consumption of system resources.
[0004] Therefore, there is an urgent need for a method that can achieve efficient business processing and avoid the above problems. Summary of the Invention
[0005] Based on this, it is necessary to provide a workflow processing method, apparatus, computer equipment, computer-readable storage medium and computer program product that can improve business processing efficiency in response to the above technical problems.
[0006] In a first aspect, the present application provides a workflow processing method. The method comprises:
[0007] Determine a main workflow and at least one auxiliary workflow corresponding to the task to be processed, wherein the main workflow includes at least one first service node, and the auxiliary workflow includes at least one second service node;
[0008] Execute each first business node in the main workflow in the order of each first business node, and when the currently executed first business node is a target robot node, call the target robot corresponding to the target robot node to execute each second business node in the target auxiliary workflow corresponding to the target robot node, and obtain execution results, which are used for the subsequent execution of the first business node;
[0009] After each first service node in the main workflow is executed, a task processing result corresponding to the task to be processed is output.
[0010] In one embodiment, calling the target robot corresponding to the target robot node includes:
[0011] According to the object identifier corresponding to the target robot node, determining the target robot corresponding to the object identifier in the robot cluster deployed by the robot scheduling platform;
[0012] The target robot is called by calling a calling interface that communicates with the robot scheduling platform.
[0013] In one embodiment, calling the target robot corresponding to the target robot node to execute each second service node in the target auxiliary workflow corresponding to the target robot node includes:
[0014] Determining the execution environment of the target auxiliary workflow, and when the execution environment of the target auxiliary workflow is located in an external system, determining permission verification information that matches the external system; the permission verification information is used for the external system to perform permission verification;
[0015] When the authority verification is passed, the target robot is called to execute each second business node in the order of each second business node in the target auxiliary workflow, and obtains the execution result after each second business node is executed.
[0016] In one embodiment, the method further comprises:
[0017] Uploading an execution program of a target robot in the robot scheduling platform to deploy the target robot in the robot scheduling platform;
[0018] Upload the object identifier corresponding to the target robot so that the robot scheduling platform can associate and store the target robot with the corresponding object identifier; the object identifier is used to determine the target robot corresponding to the object identifier in the robot cluster deployed by the robot scheduling platform according to the object identifier.
[0019] In one embodiment, when the currently executed first service node is a target robot node, calling a target robot corresponding to the target robot node to execute each second service node in the target auxiliary workflow corresponding to the target robot node, and obtaining an execution result includes:
[0020] Acquire task-related data corresponding to the task to be processed;
[0021] Call the target robot corresponding to the target robot node, and transmit the task-related data to the target robot, so that the target robot executes each second business node in the target auxiliary workflow corresponding to the target robot node based on the task-related data to obtain an execution result.
[0022] In one embodiment, the method for obtaining the execution result is an interface calling method.
[0023] In a second aspect, the present application further provides a workflow processing device. The device comprises:
[0024] a determination module, configured to determine a primary workflow and at least one secondary workflow corresponding to a task to be processed, wherein the primary workflow includes at least one first service node and the secondary workflow includes at least one second service node;
[0025] a calling module, configured to execute each first business node in the main workflow in the order of the first business nodes, and when the currently executed first business node is a target robot node, call the target robot corresponding to the target robot node to execute each second business node in the target auxiliary workflow corresponding to the target robot node, and obtain an execution result, wherein the execution result is used for the subsequent execution of the first business node;
[0026] The output module is used to output the task processing result corresponding to the task to be processed after each first service node in the main workflow is executed.
[0027] In a third aspect, the present application further provides a computer device. The computer device includes a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the following steps are performed:
[0028] Determine a main workflow and at least one auxiliary workflow corresponding to the task to be processed, wherein the main workflow includes at least one first service node, and the auxiliary workflow includes at least one second service node;
[0029] Execute each first business node in the main workflow in the order of each first business node, and when the currently executed first business node is a target robot node, call the target robot corresponding to the target robot node to execute each second business node in the target auxiliary workflow corresponding to the target robot node, and obtain execution results, which are used for the subsequent execution of the first business node;
[0030] After each first service node in the main workflow is executed, a task processing result corresponding to the task to be processed is output.
[0031] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the following steps:
[0032] Determine a main workflow and at least one auxiliary workflow corresponding to the task to be processed, wherein the main workflow includes at least one first service node, and the auxiliary workflow includes at least one second service node;
[0033] Execute each first business node in the main workflow in the order of each first business node, and when the currently executed first business node is a target robot node, call the target robot corresponding to the target robot node to execute each second business node in the target auxiliary workflow corresponding to the target robot node, and obtain execution results, which are used for the subsequent execution of the first business node;
[0034] After each first service node in the main workflow is executed, a task processing result corresponding to the task to be processed is output.
[0035] In a fifth aspect, the present application further provides a computer program product. The computer program product includes a computer program that, when executed by a processor, implements the following steps:
[0036] Determine a main workflow and at least one auxiliary workflow corresponding to the task to be processed, wherein the main workflow includes at least one first service node, and the auxiliary workflow includes at least one second service node;
[0037] Execute each first business node in the main workflow in the order of each first business node, and when the currently executed first business node is a target robot node, call the target robot corresponding to the target robot node to execute each second business node in the target auxiliary workflow corresponding to the target robot node, and obtain execution results, which are used for the subsequent execution of the first business node;
[0038] After each first service node in the main workflow is executed, a task processing result corresponding to the task to be processed is output.
[0039] The above-mentioned workflow processing method, apparatus, computer equipment, storage medium and computer program product determine the main workflow and auxiliary workflow corresponding to the task to be processed. In the process of executing each business node in the main workflow, when the business node is a robot node, the corresponding robot is called to execute the business node in the auxiliary workflow, and the integration between different workflows is realized through the robot. At the same time, based on the execution result obtained by calling the robot to execute the auxiliary workflow, the subsequent business nodes are automatically continued to be executed, and the task to be processed is finally completed, thereby improving the efficiency of business processing. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] Figure 1 An application environment diagram of a workflow processing method in one embodiment;
[0041] Figure 2 is an application environment diagram of a workflow processing method in another embodiment;
[0042] Figure 3 1 is a flowchart of a workflow processing method in one embodiment;
[0043] Figure 4 A schematic flow chart of steps for calling a target robot in one embodiment;
[0044] Figure 5 A flowchart of the steps of authority verification in one embodiment;
[0045] Figure 6 A flowchart illustrating steps for deploying a robot in one embodiment;
[0046] Figure 7 A flowchart of steps for obtaining an execution result based on task-related data in one embodiment;
[0047] Figure 8 A flowchart illustrating steps for deploying a robot in another embodiment;
[0048] Figure 9 A schematic diagram of a workflow integration process in one embodiment;
[0049] Figure 10 is a structural block diagram of a workflow processing device in one embodiment;
[0050] Figure 11 FIG. 1 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0051] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.
[0052] When business processes require collaborative operation, existing solutions require the use of interface calls to achieve process integration between two systems. However, when using interface calls, all involved systems will expose interfaces, resulting in reduced security of the enterprise system. Furthermore, interfaces are subject to change, reducing system stability. Polling interfaces when calling interfaces consumes excessive system resources. In some cases, internal technical personnel are required to carry out secondary development for different system interfaces, which is time-consuming and labor-intensive, and reduces the efficiency of business process processing. Furthermore, some systems may not provide system interfaces, which makes business processes impossible to carry out.
[0053] In view of this, the present application provides a workflow processing method, apparatus, computer equipment, storage medium and computer program product, which realize the integration of multiple workflows through RPA (Robotic Process Automation) robots, solving the security risks, instability and excessive resource consumption caused by the exposure of interfaces between systems.
[0054] It should be noted that the term "RPA robot" refers to enterprise business process automation technology based on software robots and artificial intelligence. It automatically completes business operations by mimicking manual user operations on computer devices. The term "workflow" refers to the automation of part or all of a business process in a computer application environment. It is an abstract / generalized description of the workflow and the business rules between its various operation steps. The "system" referred to in this embodiment refers to an enterprise system, such as a database system or enterprise management system, such as finance, sales, production, human resources, and other enterprise business systems.
[0055] The workflow processing method provided in the embodiment of the present application can be applied to a system to achieve the integration of different workflows in the same system. Figure 1 As shown, taking the system as the first system as an example, the pending task can be executed by the main workflow, which includes the first business node A, the robot node, the first business node N... in the order of business processing. When the first system executes to the robot node, the corresponding robot is called from multiple robots (not shown in the figure) to execute the auxiliary workflow. Among them, the auxiliary workflow includes the second business node A, the second business node B,... the second business node N in the order of business processing, and finally obtains the execution result and returns it to the robot. Therefore, the first system continues to execute the first business node N... until the end according to the returned execution result, completing the pending task.
[0056] The workflow processing method provided in the embodiment of the present application can also be applied to multiple systems to achieve integration between multiple workflows executed in different systems. In order to distinguish them, the different systems are respectively referred to as the first system and the second system. Figure 2 As shown, when the first system reaches the robot node, the target robot is determined to be robot Y from among the multiple robots (robot X, robot Y, robot Z, etc.) on the robot scheduling platform, and robot Y executes the auxiliary workflow in the second system. The remaining steps are similar to those in the above embodiment and are not repeated here.
[0057] It should be understood that the embodiments of the present application are not limited to being executed in two systems. For example, three systems can execute three workflows respectively; for each two systems performing workflow integration, one system is referred to as the first system and the other system is referred to as the second system.
[0058] It should be noted that the terms "first" and "second" are used in this application to describe different systems, but these systems should not be limited by these terms. These terms are only used to distinguish one system from another. For example, a first system can be referred to as a second system, and similarly, a second system can be referred to as a first system without departing from the scope of the various described embodiments, but unless the context clearly indicates otherwise, they are not the same system. A similar situation also exists with a first service node and a second service node.
[0059] In one embodiment, Figure 3 As shown, the workflow processing method is applied to Figure 2 The application environment in the example is used to illustrate the following steps:
[0060] Step S302: determining a main workflow and at least one auxiliary workflow corresponding to the task to be processed, wherein the main workflow includes at least one first service node, and the auxiliary workflow includes at least one second service node.
[0061] A pending task refers to a pending business process. For example, a pending task could include the onboarding process for new employees, the leave approval process, the expense reimbursement process, or the purchase order creation process. Each pending task can have a pre-configured operational process, which involves at least one business node. For example, a pending task for expense reimbursement involves multiple business nodes, such as the application initiation node, the expense reimbursement data entry node, the approval submission node, and the approval completion node.
[0062] The process of processing a pending task may involve multiple workflows. The multiple workflows can be executed in the same system or by different systems. To distinguish them, for multiple workflows executed in the same system, the workflow containing the business node that initiates the pending task is called the main workflow, and the other workflow that calls the robot to execute is called the auxiliary workflow. For multiple workflows executed in multiple systems, the workflow executed by the system that initiates the pending task is called the main workflow, and the workflow executed by the robot in another system is called the auxiliary workflow. Accordingly, to distinguish them, the business node set in the main workflow is called the first business node, and the business node set in the auxiliary workflow is called the second business node.
[0063] Specifically, the first system determines the main workflow and auxiliary workflows of a pending task initiated by a user according to a pre-set operation process. For example, a pending task of expense reimbursement involves a main workflow for expense application and an auxiliary workflow for expense approval.
[0064] Step S304: execute each first business node in the order of the first business nodes in the main workflow, and when the currently executed first business node is the target robot node, call the target robot corresponding to the target robot node to execute each second business node in the target auxiliary workflow corresponding to the target robot node, and obtain the execution result, which is used for the execution of the subsequent first business node.
[0065] Specifically, the first system executes each first business node in sequence according to the execution order pre-set in the main workflow. For example, for a pending expense reimbursement task, the first system could be the business system (e.g., the employee system) that executes the expense application workflow; correspondingly, the target robot executes the reimbursement approval workflow in the second system, which includes, for example, second business nodes such as the supervisor approval node and the department management approval node.
[0066] When the currently executing first service node is the target robot node, the first system invokes the robot service to determine the target robot to execute the target robot node. This target robot then executes the corresponding target auxiliary workflow in the second system, sequentially executing each second service node in the target auxiliary workflow to obtain an execution result. The target robot then returns the execution result to the first system, which then continues to execute the subsequent first service node based on the execution result.
[0067] In some embodiments, the first system obtains the execution result through an interface call. In other words, the target robot uses the interface used to communicate with the first system to call the interface and return the execution result to the first system. This process is also known as an interface callback. By having the robot call back the workflow, the secondary workflow can automatically return to the first system after completing the execution and obtaining the result, thereby achieving efficient workflow processing.
[0068] Step S306: After all first service nodes in the main workflow are executed, the task processing results corresponding to the tasks to be processed are output.
[0069] Specifically, after the first system completes all business nodes in the main workflow, it outputs the final result, i.e., the task processing result corresponding to the pending task. For example, for a pending expense reimbursement task, the target robot's execution result of the reimbursement approval workflow in the second system will output the task processing result as either approved or rejected.
[0070] In the workflow processing method described above, by determining the primary and secondary workflows corresponding to the pending task, when executing each business node in the primary workflow, if the business node is a robot node, the corresponding robot is called to execute the business node in the secondary workflow. This robot achieves integration between different workflows, and based on the obtained execution results, it executes subsequent business nodes, ultimately completing the pending task. By calling the robot to execute the workflow integration, the business process is automated and the business nodes are automatically transferred, eliminating the need for manual access to a secondary system for operation, thereby improving business processing efficiency.
[0071] In one embodiment, Figure 4 As shown, calling the target robot corresponding to the target robot node includes:
[0072] Step S402: According to the object identifier corresponding to the target robot node, a target robot corresponding to the object identifier is determined in the robot cluster deployed by the robot scheduling platform.
[0073] The first system calls a robot process and can determine the robot to perform the corresponding process by calling a robot service provided by the robot scheduling platform. For example, the robot service is an RPA robot service, and the called robot is an RPA robot.
[0074] The robot scheduling platform can deploy multiple robots to form a robot cluster, with different robots handling different tasks. Accordingly, object identifiers are used to identify the robot corresponding to the task being processed. For example, robot A, which performs leave request approval, has object identifier a, while robot B, which performs expense reimbursement approval, has object identifier b. Furthermore, the same task can have multiple business nodes executed by robots. Object identifier c can be used to identify robot C as executing business node P1, object identifier d can be used to identify robot D as executing business node P2, and so on.
[0075] Specifically, when the first system executes to the target robot node, the object identifier corresponding to the target robot node is determined, thereby determining which robot among multiple robots is to execute, and the determined robot is the target robot.
[0076] Step S404: calling the target robot by calling the calling interface that communicates with the robot scheduling platform.
[0077] Specifically, after determining the target robot corresponding to the target robot node, the first system calls a pre-configured calling interface that communicates with the robot scheduling platform, and calls the target robot through the calling interface to enable the target robot to execute each second business node in the target auxiliary workflow corresponding to the target robot node, thereby obtaining the execution result.
[0078] In the above embodiment, the corresponding target robot in the robot scheduling platform is called through the object identifier, without the need for the second system to provide an interface, thereby avoiding security and stability issues caused by interface exposure.
[0079] As mentioned above, the auxiliary workflow can be executed in the second system, which is an external system compared to the first system. When the robot needs to execute the auxiliary workflow in the external system, in some cases, permission verification is required to ensure the security of the system. To this end, in one embodiment, Figure 5 As shown, calling the target robot corresponding to the target robot node to execute each second business node in the target auxiliary workflow corresponding to the target robot node includes:
[0080] Step S502: determining the execution environment of the target auxiliary workflow, and when the execution environment of the target auxiliary workflow is located in an external system, determining permission verification information that matches the external system; the permission verification information is used for the external system to perform permission verification.
[0081] The permission verification information refers to the verification information provided to the external system for permission verification, so that the external system can determine whether the robot can execute the auxiliary workflow in the external system. The permission verification information may include, for example, a pre-set system account, password, and passphrase for logging into the external system; or, alternatively, the permission verification information may include key information (including private and public keys) pre-agreed between the first and second systems.
[0082] Specifically, the first system determines whether the execution environment of the target auxiliary workflow is an internal system or an external system. When the execution environment is determined to be an external system (i.e., the auxiliary workflow needs to be executed in the second system), the first system determines the permission verification information that matches the external system. The permission verification information can be pre-stored in a storage medium of the first system or a database associated with the first system. The first system can extract the corresponding permission verification information from the storage medium or database based on the request to execute the target auxiliary workflow.
[0083] Step S504: When the authority verification is passed, the target robot is called to execute each second business node in the order of each second business node in the target auxiliary workflow, and obtains the execution result after each second business node is executed.
[0084] Specifically, when the external system verifies permissions based on the permission verification information provided by the first system and determines that the corresponding robot is capable of executing the process within the external system, the permission verification is successful. The first system then calls the determined target robot and instructs it to execute each second business node in the order pre-set in the target auxiliary workflow. After completing all second business nodes in the target auxiliary workflow, the target robot obtains the execution result of the auxiliary workflow.
[0085] In the above embodiment, by providing permission information for the external system to perform permission verification, the robot can execute the auxiliary workflow in the external system only when the permission verification is passed, thereby ensuring the security and stability of the external system.
[0086] As mentioned above, the robot scheduling platform can deploy multiple robots for the first system to call. To this end, the first system can be pre-configured on the robot scheduling platform, and the robots can be mapped and bound to the corresponding tasks to be processed and / or business nodes. Thus, when the target robot node is processed, the corresponding target robot can be determined according to the mapping relationship (for example, in the form of object identification). To this end, in one embodiment, Figure 6 As shown, the method further includes:
[0087] Step S602 : Upload the execution program of the target robot to the robot scheduling platform to deploy the target robot in the robot scheduling platform.
[0088] Specifically, the first system logs into the robot scheduling platform, creates a new target robot in the robot scheduling platform, and uploads the execution program of the target robot for subsequent deployment of the target robot in the robot scheduling platform.
[0089] Step S604, upload the object identifier corresponding to the target robot so that the robot scheduling platform can associate the target robot with the corresponding object identifier and store it; the object identifier is used to determine the target robot corresponding to the object identifier in the robot cluster deployed by the robot scheduling platform according to the object identifier.
[0090] Specifically, during the deployment of a target robot, the first system also determines the object identifier corresponding to the target robot, thereby indicating which task the target robot is intended to perform, or which service node the target robot is intended to execute a task on. This establishes a mapping between the target robot and the task to be processed. Subsequently, when the first system invokes a robot service, it can use the object identifier to identify the target robot among multiple robots to execute the auxiliary workflow.
[0091] In the above embodiment, by pre-deploying robots, when the robot node is subsequently executed, the deployed robots can be called to execute the corresponding workflow, thereby realizing the integration between different workflows and the mutual connection of business nodes, thereby improving the efficiency of business processing.
[0092] The above embodiment illustrates the principle of integrating multiple workflows. In actual application, when processing each task, specific data is often required for processing. For example, for an expense reimbursement task, specific applicant information (such as the employee's company ID, etc.), the specific amount of the expense to be reimbursed, and the specific date of initiating the task are required. For this reason, in one embodiment, Figure 7 As shown, when the currently executed first business node is the target robot node, the target robot corresponding to the target robot node is called to execute each second business node in the target auxiliary workflow corresponding to the target robot node, and the execution result is obtained, including:
[0093] Step S702: Acquire task-related data corresponding to the task to be processed.
[0094] Task-related data refers to the specific data required to process the task. The type of task-related data varies depending on the task. For example, it can include time / date data, monetary amount data, employee personal data (such as company ID), and document data (such as sales invoices).
[0095] The task-related data can be pre-configured and stored in the storage medium of the first system or in a database associated with the first system, or can also be obtained by the first system when needed. Specifically, the first system determines the corresponding task-related data based on which task the current task to be processed is. For example, the first system can obtain the task-related data corresponding to the task to be processed at the same time when initiating the main workflow; for example, it can also be pre-set to obtain the task-related data when executing a certain first work node; for example, the first system can also obtain the task-related data corresponding to the task to be processed when executing to the target robot node. For example, the first system provides a data input interface to the user for the user to input task-related data, thereby obtaining task-related data.
[0096] Step S704: call the target robot corresponding to the target robot node and transmit task-related data to the target robot, so that the target robot executes each second business node in the target auxiliary workflow corresponding to the target robot node based on the task-related data to obtain the execution result.
[0097] Specifically, when executing the target robot node, the first system calls the target robot corresponding to the target robot node and simultaneously sends the task-related data to the target robot. The target robot executes in sequence according to the specific task-related data and in the order of each second business node in the target auxiliary workflow, and processes the task-related data step by step, thereby obtaining the execution result of the task-related data. For example, after obtaining the specific amount of expenses to be reimbursed, the target robot executes the auxiliary workflow of reimbursement approval based on the amount of expenses, thereby determining whether the execution result agrees to reimbursement, or the final reimbursement amount, etc. Exemplarily, the first system can send task-related data to the target robot by calling an interface.
[0098] In the above embodiment, the auxiliary workflow connected to the main workflow is processed by the robot node, and different workflows are integrated to connect the entire task process in series, thereby realizing specific business scenarios and improving business processing efficiency.
[0099] In one embodiment, the first system also provides a monitoring page for the RPA robot during runtime, so that users can monitor the running status of the RPA robot and the execution of the workflow, so as to provide a retry option when the execution fails.
[0100] In a specific embodiment, the inventive concept of this application is further elaborated by taking the reimbursement process as an example of the task to be processed. The reimbursement process is generally divided into: expense application and expense reimbursement, which involves the conversion of expense application documents to expense reimbursement documents. We call this process a business process. It also involves manual approval, which we call an approval process. In this enterprise, the approval flow (main workflow) is carried out in the first system A, and the business flow (auxiliary workflow) is carried out in the second system B.
[0101] When using RPA robots to integrate business and approval processes, System A pre-installs an RPA service as a server for scheduling RPA robots and installs the RPA client on an internal client (e.g., a PC). Simultaneously, a technician creates an RPA robot on the RPA robot scheduling platform. This robot logs into System B and executes the auxiliary workflow for converting expense application documents into expense reimbursement documents. Specifically, both System A and System B create a new page to register the RPA robot. Furthermore, a robot node is created in the workflows of both System A and System B to select a specific robot during process configuration. Assuming System A is the task initiator, when executing the robot node, it selects the RPA robot registered in System A. This RPA robot then logs into System B and executes the corresponding workflow.
[0102] For example, Figure 8 As shown, the first system first checks whether a robot corresponding to the task to be processed already exists in the robot scheduling platform. If not, a new RPA robot is created and registered with the system. If so, a node in the workflow is configured as an RPA robot node and the corresponding RPA robot is selected as the target robot for that RPA robot node. After the configuration is complete, the workflow is published and executed according to the workflow configuration.
[0103] In the specific process of executing workflow integration, such as Figure 9As shown, a user initiates a workflow (corresponding to the main workflow) on System A. This workflow sequentially includes Approval Node 1, Robot Node, Approval Node 2, and so on. When System A executes the main workflow and reaches the Robot Node, it calls the RPA robot service via an HTTP interface, identifies the specific RPA robot using the object identifier, and runs the RPA robot. The RPA robot then selects a PC terminal (with the RPA client installed) to log in to System B to execute the auxiliary workflow (corresponding to the auxiliary workflow). This workflow includes Business Node 1, Business Node 2, and a callback workflow. After execution, the RPA robot obtains the execution result and calls back to the Robot Node in System A via the interface. System A then continues the workflow based on the execution result returned by the RPA.
[0104] It should be understood that, although the steps in the flowcharts of the above embodiments are shown in sequence as indicated by the arrows, these steps are not necessarily performed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and these steps can be performed in other orders. Moreover, at least a portion of the steps in the flowcharts of the above embodiments may include multiple steps or multiple stages, and these steps or stages are not necessarily performed at the same time, but can be performed at different times. The execution order of these steps or stages is not necessarily to be performed in sequence, but can be performed in turn or alternately with other steps or at least a portion of steps or stages in other steps.
[0105] Based on the same inventive concept, the present application also provides a workflow processing device for implementing the workflow processing method described above. The implementation solution provided by this device is similar to the implementation solution described in the above method. Therefore, the specific limitations of one or more workflow processing device embodiments provided below can be found in the above-mentioned limitations of the workflow processing method, and will not be repeated here.
[0106] In one embodiment, Figure 10 As shown, a workflow processing device 1000 is provided, comprising: a determination module 1001, a calling module 1002 and an output module 1003, wherein:
[0107] The determination module 1001 is configured to determine a main workflow and at least one auxiliary workflow corresponding to the task to be processed, wherein the main workflow includes at least one first service node, and the auxiliary workflow includes at least one second service node.
[0108] The calling module 1002 is used to execute each first business node in the order of each first business node in the main workflow, and when the currently executed first business node is the target robot node, call the target robot corresponding to the target robot node to execute each second business node in the target auxiliary workflow corresponding to the target robot node, and obtain the execution result, which is used for the execution of the subsequent first business node.
[0109] The output module 1003 is configured to output the task processing result corresponding to the task to be processed after all the first service nodes in the main workflow are executed.
[0110] In one embodiment, the calling module is also used to determine the target robot corresponding to the object identifier in the robot cluster deployed by the robot scheduling platform based on the object identifier corresponding to the target robot node; and call the target robot by calling the calling interface that communicates with the robot scheduling platform.
[0111] In one embodiment, the calling module is also used to determine the execution environment of the target auxiliary workflow, and when the execution environment of the target auxiliary workflow is located in an external system, determine the permission verification information that matches the external system; the permission verification information is used for the external system to perform permission verification; when the permission verification passes, the target robot is called to execute each second business node in the order of each second business node in the target auxiliary workflow, and obtain the execution result after each second business node is executed.
[0112] In one embodiment, the calling module is also used to obtain task-related data corresponding to the task to be processed; call the target robot corresponding to the target robot node, and transmit the task-related data to the target robot, so that the target robot executes each second business node in the target auxiliary workflow corresponding to the target robot node based on the task-related data to obtain the execution result.
[0113] In one embodiment, the above-mentioned device also includes a deployment module, which is used to upload the execution program of the target robot in the robot scheduling platform to deploy the target robot in the robot scheduling platform; upload the object identifier corresponding to the target robot so that the robot scheduling platform can associate the target robot with the corresponding object identifier and store it; the object identifier is used to determine the target robot corresponding to the object identifier in the robot cluster deployed on the robot scheduling platform according to the object identifier.
[0114] In one embodiment, the execution result is obtained by calling an interface.
[0115] Each module in the workflow processing device described above can be implemented in whole or in part through software, hardware, or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in the computer device in the form of software, so that the processor can call and execute the corresponding operations of each module.
[0116] In one embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as follows: Figure 11 As shown. The computer device includes a processor, a memory, and a network interface connected via a system bus. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operation of the operating system and computer program in the non-volatile storage medium. The database of the computer device is used to store task-related data. The network interface of the computer device is used to communicate with an external terminal via a network connection. When the computer program is executed by the processor, a workflow processing method is implemented.
[0117] Those skilled in the art will understand that Figure 11 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.
[0118] In one embodiment, a computer device is provided, comprising a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the following steps when executing the computer program: determining a main workflow and at least one auxiliary workflow corresponding to a task to be processed, wherein the main workflow includes at least one first business node, and the auxiliary workflow includes at least one second business node; executing each first business node in the order of each first business node in the main workflow, and when the currently executed first business node is a target robot node, calling a target robot corresponding to the target robot node to execute each second business node in the target auxiliary workflow corresponding to the target robot node, and obtaining an execution result, which is used for the execution of a subsequent first business node; after the execution of each first business node in the main workflow is completed, outputting the task processing result corresponding to the task to be processed.
[0119] In one embodiment, when the processor executes the computer program, it also implements the following steps: according to the object identifier corresponding to the target robot node, determining the target robot corresponding to the object identifier in the robot cluster deployed by the robot scheduling platform; calling the target robot by calling the calling interface that communicates with the robot scheduling platform.
[0120] In one embodiment, when the processor executes the computer program, it also implements the following steps: determining the execution environment of the target auxiliary workflow, and when the execution environment of the target auxiliary workflow is located in an external system, determining the permission verification information that matches the external system; the permission verification information is used for the external system to perform permission verification; when the permission verification passes, calling the target robot to execute each second business node in the order of each second business node in the target auxiliary workflow, and obtaining the execution result after each second business node is executed.
[0121] In one embodiment, when the processor executes the computer program, it also implements the following steps: uploading the execution program of the target robot in the robot scheduling platform to deploy the target robot in the robot scheduling platform; uploading the object identifier corresponding to the target robot so that the robot scheduling platform can associate and store the target robot with the corresponding object identifier; the object identifier is used to determine the target robot corresponding to the object identifier in the robot cluster deployed on the robot scheduling platform according to the object identifier.
[0122] In one embodiment, when the processor executes the computer program, it also implements the following steps: obtaining task-related data corresponding to the task to be processed; calling the target robot corresponding to the target robot node, and transmitting the task-related data to the target robot, so that the target robot executes each second business node in the target auxiliary workflow corresponding to the target robot node based on the task-related data to obtain the execution result.
[0123] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the following steps are implemented: determining a main workflow and at least one auxiliary workflow corresponding to the task to be processed, the main workflow includes at least one first business node, and the auxiliary workflow includes at least one second business node; executing each first business node in the order of each first business node in the main workflow, and when the currently executed first business node is a target robot node, calling the target robot corresponding to the target robot node to execute each second business node in the target auxiliary workflow corresponding to the target robot node, and obtaining an execution result, which is used for the execution of subsequent first business nodes; after the execution of each first business node in the main workflow is completed, outputting the task processing result corresponding to the task to be processed.
[0124] In one embodiment, when the computer program is executed by the processor, the following steps are also implemented: according to the object identifier corresponding to the target robot node, the target robot corresponding to the object identifier is determined in the robot cluster deployed by the robot scheduling platform; and the target robot is called by calling the calling interface that communicates with the robot scheduling platform.
[0125] In one embodiment, when the computer program is executed by the processor, the following steps are also implemented: according to the object identifier corresponding to the target robot node, the target robot corresponding to the object identifier is determined in the robot cluster deployed by the robot scheduling platform; and the target robot is called by calling the calling interface that communicates with the robot scheduling platform.
[0126] In one embodiment, when the computer program is executed by the processor, the following steps are also implemented: uploading the execution program of the target robot in the robot scheduling platform to deploy the target robot in the robot scheduling platform; uploading the object identifier corresponding to the target robot so that the robot scheduling platform can associate and store the target robot with the corresponding object identifier; the object identifier is used to determine the target robot corresponding to the object identifier in the robot cluster deployed on the robot scheduling platform according to the object identifier.
[0127] In one embodiment, when the computer program is executed by the processor, the following steps are also implemented: obtaining task-related data corresponding to the task to be processed; calling the target robot corresponding to the target robot node, and transmitting the task-related data to the target robot, so that the target robot executes each second business node in the target auxiliary workflow corresponding to the target robot node based on the task-related data to obtain the execution result.
[0128] In one embodiment, a computer program product is provided, comprising a computer program, which, when executed by a processor, implements the following steps: determining a main workflow and at least one auxiliary workflow corresponding to a task to be processed, the main workflow including at least one first business node, and the auxiliary workflow including at least one second business node; executing each first business node in the order of each first business node in the main workflow, and when the currently executed first business node is a target robot node, calling a target robot corresponding to the target robot node to execute each second business node in the target auxiliary workflow corresponding to the target robot node, and obtaining an execution result, which is used for the execution of a subsequent first business node; after the execution of each first business node in the main workflow is completed, outputting a task processing result corresponding to the task to be processed.
[0129] In one embodiment, when the computer program is executed by the processor, the following steps are also implemented: according to the object identifier corresponding to the target robot node, the target robot corresponding to the object identifier is determined in the robot cluster deployed by the robot scheduling platform; and the target robot is called by calling the calling interface that communicates with the robot scheduling platform.
[0130] In one embodiment, when the computer program is executed by the processor, the following steps are also implemented: according to the object identifier corresponding to the target robot node, the target robot corresponding to the object identifier is determined in the robot cluster deployed by the robot scheduling platform; and the target robot is called by calling the calling interface that communicates with the robot scheduling platform.
[0131] In one embodiment, when the computer program is executed by the processor, the following steps are also implemented: uploading the execution program of the target robot in the robot scheduling platform to deploy the target robot in the robot scheduling platform; uploading the object identifier corresponding to the target robot so that the robot scheduling platform can associate and store the target robot with the corresponding object identifier; the object identifier is used to determine the target robot corresponding to the object identifier in the robot cluster deployed on the robot scheduling platform according to the object identifier.
[0132] In one embodiment, when the computer program is executed by the processor, the following steps are also implemented: obtaining task-related data corresponding to the task to be processed; calling the target robot corresponding to the target robot node, and transmitting the task-related data to the target robot, so that the target robot executes each second business node in the target auxiliary workflow corresponding to the target robot node based on the task-related data to obtain the execution result.
[0133] Those skilled in the art will appreciate that all or part of the processes in the above-mentioned embodiment methods can be implemented by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, database or other media used in the embodiments provided in this application may include at least one of non-volatile and volatile memory. Non-volatile memory may include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory may include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in the various embodiments provided herein may include at least one of a relational database and a non-relational database. Non-relational databases may include, but are not limited to, distributed databases based on blockchains. The processor involved in the various embodiments provided herein may be, but are not limited to, a general-purpose processor, a central processing unit, a graphics processing unit, a digital signal processor, a programmable logic unit, a data processing logic unit based on quantum computing, and the like.
[0134] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0135] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present application. It should be noted that a person of ordinary skill in the art may make various modifications and improvements without departing from the spirit of the present application, and these modifications and improvements fall within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be determined by the appended claims.
Claims
1. A workflow processing method, characterized in that: Applied to the first system, the method includes: Determine a main workflow and at least one auxiliary workflow corresponding to the task to be processed, wherein the main workflow includes at least one first service node, and the auxiliary workflow includes at least one second service node. The main workflow is a workflow executed by the first system, and the auxiliary workflow is a workflow executed by the robot in another system. Executing each first business node in the main workflow in the order of each first business node, and when the currently executed first business node is a target robot node, upon determining that the execution environment of the target auxiliary workflow corresponding to the target robot node is located in an external system, determining permission verification information that matches the external system; the permission verification information is used by the external system to determine whether the target robot corresponding to the target robot node can execute the target auxiliary workflow in the external system; When the permission verification passes, the target robot is called so that the target robot executes each second business node in the target auxiliary workflow in the external system according to the order of the second business nodes. After each second business node is executed, the target robot obtains the execution result, which is used for the subsequent execution of the first business node. After each first service node in the main workflow is executed, a task processing result corresponding to the task to be processed is output.
2. The method according to claim 1, characterized in that The calling of the target robot comprises: According to the object identifier corresponding to the target robot node, determining the target robot corresponding to the object identifier in the robot cluster deployed by the robot scheduling platform; The target robot is called by calling a calling interface that communicates with the robot scheduling platform.
3. The method according to claim 1, characterized in that The method further comprises: Uploading an execution program of a target robot in the robot scheduling platform to deploy the target robot in the robot scheduling platform; Upload the object identifier corresponding to the target robot so that the robot scheduling platform can associate and store the target robot with the corresponding object identifier; the object identifier is used to determine the target robot corresponding to the object identifier in the robot cluster deployed by the robot scheduling platform according to the object identifier.
4. The method according to claim 1, wherein The specific steps of obtaining the execution result include: Acquire task-related data corresponding to the task to be processed; Call the target robot corresponding to the target robot node, and transmit the task-related data to the target robot, so that the target robot executes each second business node in the target auxiliary workflow corresponding to the target robot node based on the task-related data to obtain an execution result.
5. The method according to any one of claims 1 to 4, characterized in that The method of obtaining the execution result is an interface calling method.
6. A workflow processing device, characterized in that: The device comprises: a determination module, configured to determine a primary workflow and at least one secondary workflow corresponding to a task to be processed, wherein the primary workflow includes at least one first service node, and the secondary workflow includes at least one second service node; the primary workflow is a workflow executed by a first system, and the secondary workflow is a workflow executed by a robot in another system; A calling module, configured to execute each first business node in the order of each first business node in the main workflow, and when the currently executed first business node is a target robot node, upon determining that the execution environment of the target auxiliary workflow corresponding to the target robot node is located in an external system, determine permission verification information that matches the external system; the permission verification information is used by the external system to determine whether the target robot corresponding to the target robot node can execute the target auxiliary workflow in the external system; when the permission verification passes, call the target robot so that the target robot executes each second business node in the order of each second business node in the target auxiliary workflow in the external system, and obtain an execution result after each second business node is executed, and the execution result is used for the subsequent execution of the first business node; The output module is used to output the task processing result corresponding to the task to be processed after each first service node in the main workflow is executed.
7. The device according to claim 6, characterized in that The calling module is also used to determine the target robot corresponding to the object identifier in the robot cluster deployed by the robot scheduling platform according to the object identifier corresponding to the target robot node; and call the target robot by calling the calling interface that communicates with the robot scheduling platform.
8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 5 are implemented.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 5 are implemented.
10. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 5 are implemented.
Citation Information
Patent Citations
Robot process calling method, device and equipment and storage medium
CN112508412A
Inter-system data interaction method and device, computer equipment and storage medium
CN112612624A
Approval process execution method and system and process management system
CN112700212A