Workflow management method and related equipment
By introducing a decision phase into the workflow, allowing users to intervene and adjust the workflow steps during the execution process, the problem of fixed workflow execution steps in the prior art is solved, and the flexibility and execution efficiency of the workflow is improved.
Patent Information
- Application Number
- CN202311167073.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-06-29
- Filing Date
- 2023-09-11
- Publication Date
- 2024-12-31
AI Technical Summary
After the configuration of the existing workflow, the execution steps are fixed and cannot be adjusted dynamically, resulting in a reduced execution efficiency of workflows such as pipelines and affecting the user experience.
Adding decision phases to the workflow allows users to intervene during the execution process, jump to different stages according to the decision results or end the workflow, increasing the flexibility and dynamic adjustment capabilities of the workflow.
Through the introduction of the decision-making stage, the flexibility and stability of the workflow are achieved, and the task phase or execution sequence can be dynamically adjusted according to the needs of the scenario, improving the efficiency and reliability of the software development and delivery process.
Smart Images

Figure CN119228287A_ABST
Abstract
Description
[0001] This application claims the priority of the Chinese patent application filed with the State Intellectual Property Office of China on June 29, 2023, with application number 202310786216.4 and invention name “A pipeline management method and related system”, all contents of which are incorporated by reference in this application. Technical Field
[0002] The present application relates to the field of computer technology, and in particular to a workflow management method, apparatus, system, computing device cluster, computer-readable storage medium, and computer program product. Background Art
[0003] With the development of digital technology, more and more users choose to use workflow to automate multiple tasks. Workflow refers to the automation of business processes (whole or part) in a computer application environment, and is a description of the business rules between the workflow and its various operation steps.
[0004] A typical application of workflow is the pipeline in software engineering. Some software adopts agile development methods and frequently iterates the software version by using continuous integration / continuous delivery (CI / CD) automation tools to improve the efficiency of software development. In order to improve delivery efficiency and ensure product quality, software engineering teams can use workflows, such as pipelines, to automatically trigger task scheduling to perform tasks such as building, testing, and deployment, reducing frequent and inefficient manual operations.
[0005] However, after the configuration of a workflow represented by a pipeline is completed, the execution steps are usually fixed. In many scenarios, users (such as developers or operation and maintenance personnel) need to dynamically adjust the pipeline execution steps during the pipeline operation according to the actual pipeline execution situation. Modifying the pipeline execution steps often requires re-running the pipeline for the modified execution steps to take effect, which greatly reduces the execution efficiency of workflows such as pipelines and affects the user experience. Summary of the invention
[0006] The present application provides a workflow management method, which adds a decision stage to a workflow for executing multiple tasks in a software development process. When the workflow is executed to the decision stage, manual intervention can be made in the execution of the workflow. Based on different decision results, the workflow can be jumped to different stages to continue to execute or end the workflow, which increases the flexibility of the workflow and can be dynamically adjusted according to scenario requirements. The present application also provides a workflow management system, a computing device cluster, a computer-readable storage medium, and a computer program product corresponding to the above method.
[0007] In the first aspect, the present application provides a workflow management method. The method can be applied to a workflow management system. The workflow management system is used to generate a workflow or execute a workflow, such as generating a pipeline that can be dynamically adjusted during operation. The workflow is used to execute multiple tasks in the code development process, and the multiple tasks include at least two tasks among a code inspection task, a code construction task, a code testing task, and a code deployment task. Among them, the workflow management system can be a software system, including pipeline services, etc. The software system is deployed in a computing device cluster, and the computing device cluster executes the program code of the software system, thereby executing the workflow management method of the present application. In some possible implementations, the workflow management system can also be a hardware system, such as a computing device cluster with a workflow management function (including but not limited to pipeline configuration and pipeline execution). When the hardware system is running, the workflow management method of the present application is executed.
[0008] Specifically, the workflow management system can generate a workflow according to the configuration information of the workflow. The workflow includes multiple task stages and a decision stage, and each of the multiple task stages includes at least one task among the multiple tasks. When the decision stage of the workflow is executed, the workflow management system can present a decision interface to the user, and the decision interface includes multiple stages associated with the decision stage. The workflow management system can jump to the stage matching the decision result among the multiple stages according to the decision result of the user to continue to execute the workflow or end the workflow.
[0009] This method adds a decision stage to a workflow such as a pipeline. The decision stage can be associated with different stages of the workflow. During the execution of the workflow, when it reaches the decision stage, manual intervention can be made in the execution of the workflow. Based on different decision results, the workflow can be jumped to different stages to continue executing or end the workflow, which increases the flexibility of the workflow and can be dynamically adjusted according to scenario requirements.
[0010] In some possible implementations, the multiple stages associated with the decision stage include multiple task stages associated with the decision stage. Alternatively, the multiple stages associated with the decision stage include at least one task stage associated with the decision stage and an end stage associated with the decision stage.
[0011] In this way, it is possible to adjust the task stages included in the workflow according to scenario requirements, or adjust the execution order of different task stages in the workflow, increase the dynamic expansion capability of workflows (such as assembly lines), and ensure the stability and flexibility of the software development and delivery process.
[0012] In some possible implementations, the decision result includes a target stage selected by the user from multiple stages associated with the decision stage, and the target stage may be a task stage associated with the decision stage, or the target stage may be an end stage associated with the decision stage. Accordingly, the workflow management system may jump to the target stage to continue executing the workflow, or jump to the end stage to end the workflow.
[0013] The method supports manual intervention in the execution of the workflow, for example, dynamically adjusting the task stages included in the workflow or the execution order of the task stages in the workflow according to the user's decision results, so as to meet the needs of the corresponding scenario.
[0014] In some possible implementations, the decision result includes a default stage, which is a stage executed by default when the decision times out among multiple stages associated with the decision stage. The workflow management system can jump to the default stage to continue executing the workflow or end the workflow.
[0015] This method supports users to configure the default stage so that the workflow can still be executed normally when the user decision times out, ensuring the smoothness of workflow execution.
[0016] In some possible implementations, the workflow management system can present an execution interface to the user, which includes the executed stages in the workflow, such as the executed business stages. In this way, the execution path of the workflow (such as a pipeline) can be displayed to provide a reference for software lifecycle management.
[0017] In some possible implementations, when executing the workflow, the workflow management system may determine whether the workflow includes a task to be executed. If so, the workflow management system may determine the task type of the task to be executed. When the task type is a decision task, it means that the workflow has been executed to the decision stage, and the workflow management system may present a decision interface to the user.
[0018] This method provides workflow configuration capabilities based on decision points (decision stages), supporting users to configure decision points such as workflow decision stages when configuring workflows, thereby improving the scalability of workflows such as pipelines.
[0019] In some possible implementations, the workflow management system may present a configuration interface to the user, and then receive the task phases of the workflow configured by the user and the task attributes of the decision phase, wherein the configuration information of the workflow includes the task phases and the task attributes of the decision phase.
[0020] This method configures the decision stage in the workflow. When the workflow executes to the decision stage, the execution steps (or execution order) of the workflow can be dynamically adjusted according to the actual operation status of the workflow (such as a pipeline), thereby improving the stability and flexibility of the software development and delivery process.
[0021] In some possible implementations, the configuration interface includes a stage adding control. When the user chooses to add a decision stage through the stage adding control, for example, the user configures the stage type of the added stage to be a bold stage, the workflow management system can receive multiple stages associated with the decision stage configured by the user. Among them, the multiple stages can be multiple task stages associated with the decision stage. Accordingly, when the workflow executes to the decision stage, the workflow management system can support the user in deciding the next task stage to be executed. The multiple stages can also be at least one task stage associated with the decision stage and an end stage associated with the decision stage. Accordingly, when the workflow executes to the decision stage, the workflow management system can support the user in deciding the next task stage to be executed or entering the end stage to end the execution of the current workflow.
[0022] In this way, when running a workflow such as an assembly line, the task stage of the workflow execution can be dynamically adjusted according to the actual scenario, thereby increasing the flexibility of the workflow such as the assembly line.
[0023] In some possible implementations, the workflow management system may further add at least one stage associated with the decision stage in response to the user's adding operation. Alternatively, the workflow management system may further delete a task stage selected by the user from a plurality of task stages associated with the decision stage in response to the user's deleting operation.
[0024] In this way, it is also possible to adjust multiple stages associated with the decision stage, meeting the business requirement of dynamically adjusting the execution steps of the workflow during the running stage.
[0025] In some possible implementations, the workflow is a pipeline. The pipeline is used to automatically execute multiple tasks in the code development process, including but not limited to code building tasks, code checking tasks, code testing tasks, and code deployment tasks. In this way, the pipeline can dynamically adjust the execution steps of the pipeline on the basis of ensuring the automatic execution of related tasks in the code development process, adapt to the changing scenarios during the operation of the pipeline, and ensure reliability in the continuous deployment scenario.
[0026] In a second aspect, the present application provides a workflow management system. The system is used to generate a workflow or execute the workflow, the workflow is used to execute multiple tasks in the code development process, the multiple tasks include at least two tasks among a code checking task, a code building task, a code testing task, and a code deployment task, and the system includes:
[0027] A workflow generation module, used to generate a workflow according to the configuration information of the workflow, wherein the workflow includes a plurality of task stages and a decision stage, and each of the plurality of task stages includes at least one task among the plurality of tasks;
[0028] An interactive module, configured to present a decision interface to a user when the workflow reaches a decision stage, wherein the decision interface includes a plurality of stages associated with the decision stage;
[0029] The workflow execution module is used to jump to a stage among the multiple stages that matches the decision result according to the decision result of the user to continue executing the workflow or end the workflow.
[0030] In some possible implementations, the multiple stages associated with the decision stage include:
[0031] a plurality of task phases associated with the decision phase; or,
[0032] At least one task phase is associated with the decision phase and an end phase is associated with the decision phase.
[0033] In some possible implementations, the decision result includes a target stage selected by the user from a plurality of stages associated with the decision stage, the target stage being a task stage associated with the decision stage, or the target stage being an end stage associated with the decision stage;
[0034] The workflow execution module is specifically used for:
[0035] Jump to the target stage to continue executing the workflow; or,
[0036] Jump to the end stage to end the workflow.
[0037] In some possible implementations, the decision result includes a default stage, where the default stage is a stage executed by default when a decision times out among multiple stages associated with the decision stage, and the workflow execution module is specifically configured to:
[0038] Jump to the default stage to continue executing the workflow or end the workflow.
[0039] In some possible implementations, the interaction module is further configured to:
[0040] An execution interface is presented to a user, wherein the execution interface includes the executed stages in the workflow.
[0041] In some possible implementations, the interaction module is specifically used to:
[0042] When executing the workflow, determining whether the workflow includes a task to be executed;
[0043] If yes, determining the task type of the task to be performed;
[0044] When the task type is a decision-making task, a decision-making interface is presented to the user.
[0045] In some possible implementations, the interaction module is further configured to:
[0046] Presenting a configuration interface to the user;
[0047] The task phase of the workflow and the task attributes of the decision phase configured by the user are received, wherein the configuration information of the workflow includes the task phase and the task attributes of the decision phase.
[0048] In some possible implementations, the configuration interface includes a stage add control;
[0049] The interaction module is specifically used for:
[0050] When the user chooses to add a decision stage through the stage adding control, multiple stages associated with the decision stage configured by the user are received.
[0051] In some possible implementations, the interaction module is further configured to:
[0052] In response to the user's adding operation, adding at least one stage associated with the decision stage; or,
[0053] In response to a deletion operation by the user, the task stage selected by the user is deleted from a plurality of task stages associated with the decision stage.
[0054] In some possible implementations, the workflow is a pipeline.
[0055] In a third aspect, the present application provides a computing device cluster. The computing device cluster includes at least one computing device, and the at least one computing device includes at least one processor and at least one memory. The at least one processor and the at least one memory communicate with each other. The at least one processor is used to execute instructions stored in the at least one memory, so that the computing device or the computing device cluster executes the workflow management method as described in the first aspect or any implementation of the first aspect.
[0056] In a fourth aspect, the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores instructions, wherein the instructions instruct a computing device or a computing device cluster to execute the workflow management method described in the first aspect or any one of the implementations of the first aspect.
[0057] In a fifth aspect, the present application provides a computer program product comprising instructions, which, when executed on a computing device or a computing device cluster, enables the computing device or the computing device cluster to execute the workflow management method described in the first aspect or any one of the implementations of the first aspect.
[0058] Based on the implementations provided in the above aspects, the present application can also be further combined to provide more implementations. BRIEF DESCRIPTION OF THE DRAWINGS
[0059] In order to more clearly illustrate the technical method of the embodiments of the present application, the drawings required for use in the embodiments are briefly introduced below.
[0060] Figure 1 A schematic diagram of the architecture of a workflow management system provided in an embodiment of the present application;
[0061] Figure 2 A flowchart of a workflow management method provided in an embodiment of the present application;
[0062] Figure 3 A flowchart of a workflow management method provided in an embodiment of the present application applied to an assembly line scenario;
[0063] Figure 4 A schematic diagram of a configuration interface of a pipeline stage provided in an embodiment of the present application;
[0064] Figure 5 A schematic diagram of an interface for configuring a pipeline task provided in an embodiment of the present application;
[0065] Figure 6 A schematic diagram of an interface for configuring a decision task in a decision stage provided in an embodiment of the present application;
[0066] Figure 7 A pipeline preview diagram provided in an embodiment of the present application;
[0067] Figure 8 Another pipeline preview diagram provided in an embodiment of the present application;
[0068] Fig. 9 Another pipeline preview diagram provided in an embodiment of the present application;
[0069] Fig.10 A schematic diagram of a decision-making interface provided in an embodiment of the present application;
[0070] Fig.11 A schematic diagram of an execution interface provided in an embodiment of the present application;
[0071] Fig.12 A schematic diagram of another decision-making interface provided in an embodiment of the present application;
[0072] Fig.13 A schematic diagram of another execution interface provided in an embodiment of the present application;
[0073] Fig.14 A schematic diagram of the structure of a computing device provided in an embodiment of the present application;
[0074] Fig.15 A schematic diagram of the structure of a computing device cluster provided in an embodiment of the present application;
[0075] Fig.16 A schematic diagram of the structure of another computing device cluster provided in an embodiment of the present application;
[0076] Fig.17 A schematic diagram of the structure of another computing device cluster provided in an embodiment of the present application. DETAILED DESCRIPTION
[0077] The terms "first" and "second" in the embodiments of the present application are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined as "first" and "second" may explicitly or implicitly include one or more of the features.
[0078] First, some technical terms involved in the embodiments of the present application are introduced.
[0079] Development and Operations (DevOps): It includes Development and Operations, and is a general term for development and operations. DevOps is a culture, movement, and practice that emphasizes communication and cooperation between software developers (Dev) and information technology (IT) operations and maintenance technicians (Ops). By automating the processes of "software delivery" and "architecture changes", it makes building, testing, and releasing software faster, more frequent, and more reliable.
[0080] A pipeline is an executable workflow that can be generated and executed by a workflow management system such as a pipeline service. Taking a workflow management system as an example of a pipeline service, a pipeline service is an automated task scheduling platform that is usually used in conjunction with automated tasks such as code building (for example, building executable software packages), code checking (static code checking), code testing, and code deployment during software development and delivery. Depending on the scenario, the pipeline can be automatically triggered and scheduled for execution after configuration.
[0081] Continuous Integration (CI) is a method that allows developers to integrate development code into a shared code repository multiple times. Using a continuous integration strategy can help developers detect problems in the code and discover errors in the code as early as possible.
[0082] Continuous Delivery (CD) is based on continuous integration and deploys the integrated code to the pre-release environment (also called the pre-release environment) to prepare for releasing the code changes to the production environment. The final decision to deploy to the production environment is reviewed by the quality team or users. If the review is passed, the code can be deployed to the actual production environment.
[0083] Continuous Deployment (CD) means that when the code passes the actual review meeting, it will be released to the production environment. Continuous deployment automates the process of deployment to the production environment based on continuous delivery.
[0084] Based on the DevOps model, software engineering teams in enterprises or other organizations can adopt agile development methods and frequently iterate software versions by using CI / CD automation tools to improve software development efficiency. Software engineering teams can usually use workflows, such as pipelines, to perform tasks such as code building, code testing, and code deployment, automatically trigger task scheduling, reduce frequent and inefficient manual operations, improve delivery efficiency, and ensure product quality.
[0085] Before executing the pipeline, developers or operation and maintenance personnel often need to configure the tasks of each stage of the pipeline in advance, such as code building, code testing, code deployment, and code inspection tasks. During the process of running the pipeline, the pipeline engine will execute the tasks on the pipeline in serial or parallel according to the pre-arranged order until all the tasks on the pipeline are completed.
[0086] In the actual execution of pipeline scenarios, especially in continuous deployment scenarios, there are scenarios where developers or operation and maintenance personnel need to dynamically adjust the pipeline execution steps during the pipeline operation according to the actual pipeline execution situation. Taking the grayscale release scenario as an example, grayscale release includes canary release, which is a release strategy based on traffic ratio. It can reduce the risk of introducing new software versions in the production environment. The specific method is to slowly promote the changes to a small number of users before promoting the changes to the entire infrastructure and making them available to everyone. During the canary release process, pipeline operators often need to combine the results of diversion (specifically, diverting requests to the new version) and testing to choose to continue upgrading new nodes or continue diversion. The actual operation actions cannot be foreseen when the pipeline is configured, and the pipeline steps need to be dynamically adjusted according to the actual operation status of the pipeline.
[0087] Mainstream pipeline configuration methods include pipeline configuration based on user interface or pipeline configuration based on YAML (a highly readable format for expressing data serialization). UI-based pipeline configuration only requires users to perform simple add, edit or delete operations to complete pipeline configuration, which reduces the difficulty of configuration. YAML-based pipeline configuration allows users to declare pipeline names, tasks to be performed at each stage of the pipeline, triggering methods and other attributes in YAML, so that pipeline configurations can be quickly copied and pipeline stages can be flexibly configured.
[0088] However, whether it is UI-based or YAML-based pipeline configuration, the pipeline execution steps are fixed during the pipeline operation and cannot be modified again. If you need to modify the pipeline execution steps, you must reconfigure the pipeline for the modified steps to take effect.
[0089] In view of this, the present application provides a workflow management method. The method can be applied to a workflow management system. The workflow management system is used to generate a workflow or execute a workflow, such as generating a pipeline that can be dynamically adjusted during operation. The workflow is used to execute multiple tasks in the code development process, and the multiple tasks include at least two tasks in the code inspection task, the code construction task, the code testing task, and the code deployment task. Among them, the workflow management system can be a software system, including pipeline services, etc. The software system is deployed in a computing device cluster, and the computing device cluster executes the program code of the software system, thereby executing the workflow management method of the present application. In some possible implementations, the workflow management system can also be a hardware system, such as a computing device cluster with a workflow management function (including but not limited to pipeline configuration and pipeline execution). When the hardware system is running, the workflow management method of the present application is executed.
[0090] Specifically, the workflow management system generates a workflow according to the configuration information of the workflow, and the workflow includes multiple task stages and a decision stage, and each of the multiple task stages includes at least one task among the multiple tasks. When the decision stage of the workflow is executed, the workflow management system can present a decision interface to the user, and the decision interface includes multiple stages associated with the decision stage. Then, the workflow management system can jump to the stage matching the decision result among the multiple stages according to the decision result of the user to continue executing the workflow or end the workflow.
[0091] This method adds a decision stage to the pipeline, and the decision stage can be associated with different stages of the workflow. During the execution of the workflow, when it reaches the decision stage, manual intervention can be made in the execution of the workflow. Based on different decision results, the workflow can be jumped to different stages to continue executing or end the workflow, which increases the flexibility of the workflow and can be dynamically adjusted according to scenario requirements.
[0092] In order to make the technical solution of the present application clearer and easier to understand, the architecture of the workflow management system of the present application is introduced below with reference to the accompanying drawings.
[0093] See also Figure 1 The schematic diagram of the architecture of a workflow management system shown in the figure, the workflow management system 10 (also referred to as system 10) is used to generate workflows or execute workflows, and the workflows are used to execute multiple tasks in the code development process, and the multiple tasks include at least two tasks among code checking tasks, code building tasks, code testing tasks, and code deployment tasks. The system 10 includes a workflow generation module 102, an interaction module 104, and a workflow execution module 106. Among them, the workflow generation module 102, the interaction module 104, and the workflow execution module 106 can be software modules or hardware modules. This embodiment uses the above modules as software module examples for illustration.
[0094] The workflow generation module 102 is used to generate a workflow according to the configuration information of the workflow. The workflow includes multiple task stages and a decision stage. Each of the multiple task stages includes at least one task among the multiple tasks. Different from the tasks included in the decision stage, the tasks included in the task stage are usually business-related workflow tasks, also called flow tasks. The decision node includes tasks related to the decision, also called decision tasks. Taking the workflow as an example of a pipeline, the pipeline can include a pipeline stage and a decision stage, the pipeline stage includes pipeline tasks, and the decision stage includes decision tasks.
[0095] The interaction module 104 is used to present a decision interface to the user when the decision stage of the workflow is executed. The decision interface includes multiple stages associated with the decision stage. In some examples, the multiple stages associated with the decision stage may all be task stages. For example, the decision stage may be associated with 2 or more task stages (in the pipeline scenario, 2 or more pipeline stages). In other examples, the multiple stages associated with the decision stage may include at least one task stage and an end stage. For example, in the pipeline scenario, the decision stage may be associated with a task stage and an end stage.
[0096] The workflow execution module 106 is used to jump to the stage matching the decision result among the multiple stages to continue executing the workflow or end the workflow according to the decision result of the user. The decision result includes a target stage selected by the user from multiple stages associated with the decision stage, wherein the target stage may be a task stage associated with the decision stage, or the target stage may be an end stage associated with the decision stage. Accordingly, the workflow execution module 106 is used to jump to the target stage to continue executing the workflow or end the workflow.
[0097] It should be noted that the configuration information of the workflow can be pre-configured and stored. When the workflow needs to be executed, the configuration information of the workflow is obtained to generate the workflow. In some possible implementations, the configuration information of the workflow can also be real-time configuration. Specifically, the interaction module 104 is also used to present a configuration interface to the user, receive the task phase of the workflow configured by the user and the task attributes of the decision phase, and the configuration information of the workflow includes the task phase and the task attributes of the decision phase.
[0098] Among them, the configuration interface may include a stage adding control. Accordingly, when the user chooses to add a decision stage through the above-mentioned stage adding control, the interaction module 104 can receive multiple stages associated with the decision stage configured by the user, thereby obtaining the task attributes of the decision stage. Further, during the configuration process, the interaction module 104 is also used to add at least one stage associated with the decision stage in response to the user's adding operation. The interaction module 104 can also delete the task stage selected by the user from the multiple task stages associated with the decision stage in response to the user's deleting operation.
[0099] It should be noted that Figure 1 This is only an exemplary division of the workflow management system 10. In other possible implementations of the embodiment of the present application, the workflow management system 10 may include more modules, or multiple of the above modules may be combined into one module, for example, the workflow generation module 102 and the workflow execution module 106 may be combined into one workflow management module.
[0100] Based on the aforementioned workflow management system 10, the present application further provides a workflow management method. The workflow management method of the present application is introduced below in conjunction with an embodiment.
[0101] See also Figure 2 The flowchart of a workflow management method shown in FIG. 1 can be executed by a workflow management system 10. The workflow management system 10 is used to generate a workflow or execute a workflow, and the workflow is used to execute multiple tasks in the code development process, and the multiple tasks include at least two tasks among a code checking task, a code building task, a code testing task, and a code deployment task. The method includes:
[0102] S202: The workflow management system 10 generates a workflow according to the configuration information of the workflow.
[0103] The workflow includes a task stage and a decision stage. Each of the multiple task stages includes at least one of the multiple tasks. The multiple tasks can be tasks in the code development process, including at least two of the code inspection task, code construction task, code testing task, and code deployment task. The decision stage includes a decision task, which is used to support the user in deciding the next stage to be executed, such as a task stage or an end stage.
[0104] The configuration information of the workflow may include the task attributes of the task stage and the task attributes of the decision stage. The tasks of the task stage are usually workflow tasks, and their task attributes may include at least one of the task type, task name, and task parameters. The tasks of the decision stage are usually decision tasks, and the task attributes of the decision tasks may include at least one stage associated with the decision stage to which the decision task belongs. The workflow management system may generate a workflow corresponding to the configuration information based on the configuration information of the workflow.
[0105] In some possible implementations, the workflow management system 10 can obtain configuration information of a pre-configured workflow to generate a workflow, thereby achieving one-time configuration and multiple uses. In other possible implementations, the workflow management system 10 can also support users to configure workflows in real time and obtain configuration information of workflows.
[0106] The following describes the process of configuring the workflow.
[0107] Specifically, the workflow management system 10 can present a configuration interface to the user, which can be a UI interface, and the workflow management system 10 can receive the task phases of the workflow configured by the user through the configuration interface and the task attributes of the decision phase. The configuration information of the workflow includes the task phases and the task attributes of the decision phase.
[0108] Among them, the configuration interface may include a stage adding control. The stage adding control is used to add a task stage or a decision stage. When the user chooses to add a decision stage through the stage adding control, the workflow management system 10 can receive multiple stages associated with the decision stage configured by the user. Furthermore, the workflow management system 10 can also add at least one stage associated with the decision stage in response to the user's adding operation; or, in response to the user's deleting operation, delete the task stage selected by the user from the multiple task stages associated with the decision stage.
[0109] In some possible implementations, the workflow management system 10 also supports configuring a default stage. The default stage can be a stage that is executed by default when a decision timeout occurs among multiple stages associated with the decision stage. The default stage can be a task stage, that is, when a decision timeout occurs, the task stage is executed by default, and the default stage can also be an end stage, that is, when a decision timeout occurs, the execution of the workflow is ended by default.
[0110] S204: When the workflow reaches the decision-making stage, the workflow management system 10 presents a decision-making interface to the user.
[0111] The workflow management system 10 can execute the tasks of the corresponding stages in sequence according to the stage sequence defined by the workflow. When the decision stage of the workflow is executed, the workflow management system 10 presents a decision interface to the user. The decision interface includes multiple stages associated with the decision stage. Among them, the multiple stages associated with the decision stage can be multiple task stages. In some examples, the multiple stages associated with the decision stage can be at least one task stage and an end stage associated with the decision stage.
[0112] Among them, the workflow management system 10 can determine whether the workflow includes a task to be executed when executing the workflow. If so, the task type of the task to be executed is determined. When the task type is a decision task, a decision interface is presented to the user. When the task type is a workflow task (such as a pipeline task), the workflow management system 10 can execute the task.
[0113] S206 . The workflow management system 10 jumps to a stage among multiple stages that matches the decision result according to the user's decision result to continue executing the workflow or terminate the workflow.
[0114] The decision result includes a target stage selected by the user from a plurality of stages associated with the decision stage. The workflow management system 10 can jump to the target stage to continue executing the workflow or end the workflow according to the user's decision result. For example, when the target stage is a task stage, the workflow management system 10 can jump to the task stage and continue to execute the corresponding task. For another example, when the target node is the end stage, the workflow management system 10 can end the execution of the current workflow.
[0115] When the user does not make a decision within the set time, or makes a decision after the set time, it is considered that the decision has timed out. Accordingly, the decision result may include a default stage, which is the stage that is executed by default when the decision timeout occurs among the multiple stages associated with the decision stage. The workflow management system 10 can jump to the default stage to continue executing the workflow or end the execution of the current workflow. Among them, when the default stage is the task stage, the workflow management system 10 can jump to the task stage to continue executing the workflow; when the default stage is the end stage, the workflow management system 10 can jump to the end stage to end the workflow.
[0116] In some possible implementations, the workflow management system 10 can also present an execution interface to the user, which includes the executed stages in the workflow. This makes it convenient for the user to view the execution of the workflow in real time and adjust the execution process. When the workflow is executed, the execution path of the workflow can be displayed, thereby providing a reference for subsequent code lifecycle management.
[0117] Based on the above description, it can be known that the workflow management method of the present application can realize manual intervention in the execution of the workflow during the execution of the workflow. Specifically, when the execution reaches the decision-making stage, it jumps to different stages based on different decision results to continue the execution of the workflow or end the execution of the current workflow, which increases the flexibility of the workflow and can be dynamically adjusted according to scenario requirements.
[0118] In order to make the technical solution of the present application clearer and easier to understand, the workflow management method of the present application is explained below using an assembly line scenario.
[0119] See also Figure 3 The flowchart of a workflow management method applied to an assembly line scenario shown in FIG. 1 specifically includes the following steps:
[0120] (1): In the pipeline configuration stage, the user configures the pipeline tasks that need to be run in the pipeline and enters step (2);
[0121] (2): The user configures the decision task in the decision stage, saves the configured pipeline, and proceeds to step (3);
[0122] (3): The user executes the pipeline and enters step (4);
[0123] (4): The pipeline starts running, and the workflow management system 10 determines whether there are tasks to be executed (unfinished tasks) in the currently running pipeline. If there are tasks to be executed, it goes to step (5), otherwise the current pipeline is completed and this execution ends;
[0124] (5): Get the task type of the current task to be executed. If the task type is a pipeline task, go to step (7); if the task type is a decision task, go to step (6);
[0125] (6): The workflow management system 10 provides the user with corresponding decision options according to the pipeline stage associated with the decision task. The user selects a decision option based on the actual pipeline operation status. If the user chooses to execute the specified pipeline task, the process proceeds to step (7). If the user chooses to end the pipeline, the pipeline operation is completed and the execution ends.
[0126] Specifically, the workflow management system 10 can decide whether to end the execution of the pipeline in response to the user's selection operation of the decision option. If the user selects the decision option to end the pipeline, the workflow management system 10 can end the execution of the pipeline. If the user selects other decision options, the pipeline task can be obtained according to the decision rule and executed.
[0127] (7): The workflow management system 10 runs the specified pipeline task, and when the task is completed, it enters step (4).
[0128] The following describes the configuration process and execution process from the perspective of interface interaction.
[0129] In the DevOps pipeline configuration stage, users can configure the pipeline stage based on the UI interface (such as the configuration interface), such as Figure 4 As shown:
[0130] On the pipeline configuration page, users can see the tasks of each stage in the pipeline. There is an add stage button in the connection line between each stage. When the user clicks the add button, a new pipeline stage can be added between two pipeline stages. When the user clicks the delete button on the pipeline, the user can delete the corresponding pipeline stage.
[0131] Furthermore, when the user clicks to add a stage, the user can choose to add a task stage or a decision stage. The task stage includes one or more pipeline tasks, and the decision stage is used to dynamically adjust the execution steps of the pipeline when the pipeline is running.
[0132] If the user chooses to add a task stage, the user can configure the corresponding pipeline task for the pipeline stage. The specific configuration interface is as follows Figure 5 , users can configure task properties in this configuration interface, such as the task type, task name, and task parameters of the pipeline task. In each pipeline stage, one or more pipeline tasks can be configured. The pipeline tasks include but are not limited to code building tasks, code checking tasks, code testing tasks, or code deployment tasks.
[0133] If the user chooses to add a decision stage, the stage type of the pipeline can be set to decision stage. Figure 6 As shown, in the decision stage, the user can configure the task stage (associated task stage) supported by the decision stage in the stage selection. The user clicks the Add button to add a task stage, which is the task stage that has been configured on the current pipeline. It should be noted that in some cases, the stages that can be selected in the stage selection of the decision stage support task stages, but do not support the configuration of decision stages.
[0134] In addition, users can configure the decision timeout in the decision stage. If the user does not make the corresponding decision within the specified time, the decision stage will execute the corresponding steps according to the timeout result. The currently supported timeout results include execution of the default stage and failure. Among them, if you choose to execute the default stage, you need to configure the default stage in advance. When the decision times out, the pipeline will execute the default stage.
[0135] After the user has configured the task stage and decision stage on the pipeline, the user can view the pipeline preview in the pipeline configuration page. In the preview interface, in addition to the process executed by the pipeline task stage, the stages associated with the decision stage can also be displayed. The following is an example of the pipeline preview.
[0136] See also Figure 7 In the pipeline preview shown, the user configures decision stage 1 in the pipeline, where decision stage 1 is associated with two decision options, task stage 1 and task stage 2. When the pipeline stage executes to decision stage 1, you can choose to continue to execute task stage 1 or execute task stage 2.
[0137] The decision stage can also support the association of two or more task stages. Figure 8 In the pipeline preview diagram shown, decision stage 1 is associated with three pipeline stages, namely task stage 1, task stage 2, and task stage 3.
[0138] The same pipeline can also support the configuration of multiple decision stages, and the decision stage can not only point to the task stage, but also to the end stage of the pipeline. Fig. 9 As shown, the pipeline includes decision stage 1 and decision stage 2, wherein decision stage 1 is associated with task stage 1 and task stage 2, and decision stage 2 is associated with task stage 2 and the end stage of the pipeline.
[0139] The following is a detailed description of the pipeline execution process. After the pipeline is configured, the user can click Run to execute the pipeline.
[0140] In some examples, users can Figure 7The configuration information of the pipeline corresponding to the pipeline preview shown in the figure is used to generate the pipeline. After the pipeline runs through task stage 1, it will enter the decision stage. In the decision stage, the workflow management system 10 can display the pre-configured task stages through the decision interface, such as Fig.10 As shown, the decision interface provides multiple options including executing task stage 1 and executing task stage 2, and the user can select the pipeline task of the specified stage according to the actual scenario.
[0141] If the user chooses to execute task stage 2 in the decision stage, the workflow management system 10 executes task stage 2 according to the decision result. After task stage 2 is completed, there are no more executable stages in the pipeline, and the pipeline execution ends. The execution interface is as shown in FIG. Fig.11 shown.
[0142] If the user chooses to continue to execute task stage 1 in the decision stage, the workflow management system 10 will continue to execute task stage 1. When task stage 1 is completed, the decision stage will be entered again. Fig.12 As shown, the workflow management system 10 again provides task stage 1 and task stage 2 for selection on the decision interface.
[0143] If the user chooses to execute task stage 2, the workflow management system 10 will execute task stage 2. After task stage 2 is completed, there are no more executable stages in the pipeline, and the pipeline execution ends. Fig.13 As shown, the execution interface can display the execution path of this execution, including multiple task stages that have been executed.
[0144] Based on the above description, it can be seen that the workflow management method of the present application supports stage configuration based on decision points. Specifically, when users configure workflows such as pipelines, they can set decision points to improve the workflow expansion capabilities. Based on the above workflows including decision points, the workflow can be dynamically adjusted at runtime. For example, when running the pipeline, the pipeline stages can be dynamically adjusted according to the actual scenario to increase the flexibility of the pipeline.
[0145] Based on the above method embodiment, the present application also provides a workflow management system 10. The workflow management system 10 is used to generate a workflow or execute a workflow, and the workflow is used to execute multiple tasks in the code development process, and the multiple tasks include at least two tasks among a code checking task, a code building task, a code testing task, and a code deployment task. Figure 1 As shown, the workflow management system 10 includes:
[0146] A workflow generation module 102, configured to generate a workflow according to configuration information of the workflow, wherein the workflow includes a plurality of task stages and a decision stage, and each of the plurality of task stages includes at least one task among the plurality of tasks;
[0147] An interactive module 104, configured to present a decision interface to a user when the workflow reaches a decision stage, wherein the decision interface includes a plurality of stages associated with the decision stage;
[0148] The workflow execution module 106 is used to jump to a stage among the multiple stages that matches the decision result according to the decision result of the user to continue executing the workflow or end the workflow.
[0149] Exemplarily, the workflow generation module 102 , the interaction module 104 , and the workflow execution module 106 may be implemented by hardware or software.
[0150] When implemented by software, the workflow generation module 102, the interaction module 104, and the workflow execution module 106 can be applications running on computer devices, such as computing engines, etc. The application can be provided to users in the form of virtualized services. Virtualized services may include virtual machine (VM) services, bare metal server (BMS) services, and container services. Among them, the VM service can be a service that virtualizes a virtual machine (VM) resource pool on multiple physical hosts (such as computing devices) through virtualization technology to provide users with VMs on demand for use. The BMS service is a service that virtualizes a BMS resource pool on multiple physical hosts to provide users with BMS on demand for use. The container service is a service that virtualizes a container resource pool on multiple physical hosts to provide users with containers on demand for use. VM is a simulated virtual computer, that is, a logical computer. BMS is a high-performance computing service that can be elastically scalable, and its computing performance is no different from that of a traditional physical machine, and it has the characteristics of secure physical isolation. Container is a kernel virtualization technology that can provide lightweight virtualization to achieve the purpose of isolating user space, processes and resources. It should be understood that the VM service, BMS service and container service in the above virtualization services are only used as specific examples. In actual applications, the virtualization service can also be other lightweight or heavyweight virtualization services, which are not specifically limited here.
[0151] When implemented by hardware, the workflow generation module 102, the interaction module 104, and the workflow execution module 106 may include at least one computing device, such as a server, etc. Alternatively, the workflow generation module 102, the interaction module 104, and the workflow execution module 106 may also be implemented by using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The PLD may be a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.
[0152] In some possible implementations, the multiple stages associated with the decision stage include:
[0153] a plurality of task phases associated with the decision phase; or,
[0154] At least one task phase is associated with the decision phase and an end phase is associated with the decision phase.
[0155] In some possible implementations, the decision result includes a target stage selected by the user from a plurality of stages associated with the decision stage, the target stage being a task stage associated with the decision stage, or the target stage being an end stage associated with the decision stage;
[0156] The workflow execution module 106 is specifically used for:
[0157] Jump to the target stage to continue executing the workflow; or
[0158] Jump to the end stage to end the workflow.
[0159] In some possible implementations, the decision result includes a default stage, where the default stage is a stage executed by default when a decision times out among multiple stages associated with the decision stage, and the workflow execution module is specifically configured to:
[0160] Jump to the default stage to continue executing the workflow or end the workflow.
[0161] In some possible implementations, the interaction module 104 is further configured to:
[0162] An execution interface is presented to a user, wherein the execution interface includes the executed stages in the workflow.
[0163] In some possible implementations, the interaction module 104 is specifically configured to:
[0164] When executing the workflow, determining whether the workflow includes a task to be executed;
[0165] If yes, determining the task type of the task to be performed;
[0166] When the task type is a decision-making task, a decision-making interface is presented to the user.
[0167] In some possible implementations, the interaction module 104 is further configured to:
[0168] Presenting a configuration interface to the user;
[0169] The task phase of the workflow and the task attributes of the decision phase configured by the user are received, wherein the configuration information of the workflow includes the task phase and the task attributes of the decision phase.
[0170] In some possible implementations, the configuration interface includes a stage add control;
[0171] The interaction module 104 is specifically used for:
[0172] When the user chooses to add a decision stage through the stage adding control, multiple stages associated with the decision stage configured by the user are received.
[0173] In some possible implementations, the interaction module 104 is further configured to:
[0174] In response to the user's adding operation, adding at least one stage associated with the decision stage; or,
[0175] In response to a deletion operation by the user, the task stage selected by the user is deleted from a plurality of task stages associated with the decision stage.
[0176] In some possible implementations, the workflow is a pipeline.
[0177] The workflow management system 10 is introduced above from the perspective of functional modularization. The workflow management system 10 of the present application is introduced below from the perspective of hardware entity.
[0178] The present application also provides a computing device 1400. Fig.14As shown, computing device 1400 includes: bus 1402, processor 1404, memory 1406 and communication interface 1408. Processor 1404, memory 1406 and communication interface 1408 communicate through bus 1402. Computing device 1400 can be a server or a terminal device. It should be understood that the present application does not limit the number of processors and memories in computing device 1400.
[0179] The bus 1402 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Fig.14 The bus 1402 may include a path for transmitting information between various components of the computing device 1400 (eg, the memory 1406, the processor 1404, and the communication interface 1408).
[0180] The processor 1404 may include any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).
[0181] The memory 1406 may include a volatile memory, such as a random access memory (RAM). The memory 1406 may also include a non-volatile memory, such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD) or a solid state drive (SSD). The memory 1406 stores executable program code, and the processor 1404 executes the executable program code to implement the aforementioned workflow management method. Specifically, the memory 1406 stores instructions for the workflow management system 10 to execute the workflow management method.
[0182] The communication interface 1408 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 1400 and other devices or communication networks.
[0183] The embodiment of the present application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smart phone.
[0184] like Fig.15 As shown, the computing device cluster includes at least one computing device 1400. The memory 1406 in one or more computing devices 1400 in the computing device cluster may store the same instructions of the workflow management system 10 for executing the workflow management method.
[0185] In some possible implementations, one or more computing devices 1400 in the computing device cluster may also be used to execute some instructions of the workflow management system 10 for executing the workflow management method. In other words, a combination of one or more computing devices 1400 may jointly execute instructions of the workflow management system 10 for executing the workflow management method.
[0186] It should be noted that the memory 1406 in different computing devices 1400 in the computing device cluster may store different instructions for executing partial functions of the workflow management system.
[0187] Fig.16 A possible implementation is shown. Fig.16 As shown, two computing devices 1400A and 1400B are connected via a communication interface 1408. The memory in the computing device 1400A stores instructions for executing the functions of the workflow generation module 102. The memory in the computing device 1400B stores instructions for executing the functions of the interaction module 104 and the workflow execution module 106. In other words, the memories 1406 of the computing devices 1400A and 1400B jointly store instructions for the workflow management system 10 to execute the workflow management method.
[0188] Fig.16 The connection mode between the computing device clusters shown may be considered to be that the workflow management method provided by the present application requires a large amount of computing power to execute the workflow. Therefore, it is considered that the functions implemented by the interaction module 104 and the workflow execution module 106 are handed over to the computing device 1400B for execution.
[0189] It should be understood that Fig.16 The functionality of the computing device 1400A shown in FIG. 1400A may also be implemented by multiple computing devices 1400. Similarly, the functionality of the computing device 1400B may also be implemented by multiple computing devices 1400.
[0190] In some possible implementations, one or more computing devices in the computing device cluster may be connected via a network, which may be a wide area network or a local area network. Fig.17 A possible implementation is shown. Fig.17 As shown, two computing devices 1400C and 1400D are connected via a network. Specifically, the network is connected via a communication interface in each computing device. In this type of possible implementation, the memory 1406 in the computing device 1400C stores instructions for executing the functions of the workflow generation module 102. At the same time, the memory 1406 in the computing device 1400D stores instructions for executing the functions of the interaction module 104 and the workflow execution module 106.
[0191] Fig.17 The connection method between the computing device clusters shown may be that considering that the workflow management method provided in the present application requires a large amount of computing power to execute the workflow, it is considered that the functions implemented by the interaction module 104 and the workflow execution module 106 are handed over to the computing device 1400D for execution.
[0192] It should be understood that Fig.17 The functions of the computing device 1400C shown in FIG. 1400A may also be completed by multiple computing devices 1400. Similarly, the functions of the computing device 1400D may also be completed by multiple computing devices 1400.
[0193] Need to explain, Fig.16 , Fig.17 It is only a schematic diagram of the hardware structure of a computing device cluster. In other possible implementations of the embodiments of the present application, different computing devices may also implement different functions. In other words, the workflow generation module 102, the interaction module 104, and the workflow execution module 106 may also be deployed in the computing device cluster in other ways. For example, the interaction module 104 may also be deployed on the same computing device as the workflow generation module 102 to facilitate configuration of the task stages of the workflow and the task attributes of the decision-making stage, and then generate the workflow based on the above configuration information.
[0194] The embodiment of the present application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that can be stored by a computing device or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk). The computer-readable storage medium includes instructions that instruct the computing device to execute the above-mentioned application to the workflow management system 10 for executing the workflow management method.
[0195] The embodiment of the present application also provides a computer program product including instructions. The computer program product may be software or a program product including instructions that can be run on a computing device or stored in any available medium. When the computer program product is run on at least one computing device, the at least one computing device executes the above-mentioned workflow management method.
[0196] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of the present invention.
Claims
1. A workflow management method, characterized in that: Applied to a workflow management system, the workflow management system is used to generate a workflow or execute the workflow, the workflow is used to execute multiple tasks in a code development process, the multiple tasks include at least two tasks among a code checking task, a code building task, a code testing task, and a code deployment task, the method includes: Generate a workflow according to the configuration information of the workflow, wherein the workflow includes a plurality of task stages and a decision stage, and each of the plurality of task stages includes at least one task among the plurality of tasks; When the workflow reaches a decision stage, a decision interface is presented to the user, wherein the decision interface includes a plurality of stages associated with the decision stage; According to the decision result of the user, jump to the stage among the multiple stages that matches the decision result to continue executing the workflow or end the workflow.
2. The method according to claim 1, characterized in that The multiple phases associated with the decision phase include: a plurality of task phases associated with the decision phase; or, At least one task phase is associated with the decision phase and an end phase is associated with the decision phase.
3. The method according to claim 1 or 2, characterized in that: The decision result includes a target stage selected by the user from a plurality of stages associated with the decision stage, wherein the target stage is a task stage associated with the decision stage, or the target stage is an end stage associated with the decision stage; The step of jumping to a stage among the multiple stages that matches the decision result according to the user's decision result to continue executing the workflow includes: Jump to the target stage to continue executing the workflow; or, Jump to the end stage to end the workflow.
4. The method according to claim 1 or 2, characterized in that: The decision result includes a default stage, which is a stage executed by default when a decision times out among multiple stages associated with the decision stage, and jumping to a stage among the multiple stages that matches the decision result to continue executing the workflow or end the workflow according to the decision result of the user, includes: Jump to the default stage to continue executing the workflow or end the workflow.
5. The method according to any one of claims 1 to 4, characterized in that: The method further comprises: An execution interface is presented to a user, wherein the execution interface includes the executed stages in the workflow.
6. The method according to any one of claims 1 to 5, characterized in that: When the workflow is executed to the decision stage, a decision interface is presented to the user, including: When executing the workflow, determining whether the workflow includes a task to be executed; If yes, determining the task type of the task to be performed; When the task type is a decision-making task, a decision-making interface is presented to the user.
7. The method according to any one of claims 1 to 6, characterized in that: The method further comprises: Presenting a configuration interface to the user; The task phase of the workflow and the task attributes of the decision phase configured by the user are received, wherein the configuration information of the workflow includes the task phase and the task attributes of the decision phase.
8. The method according to claim 7, characterized in that The configuration interface includes a stage adding control; The receiving of the task attributes of the decision stage of the workflow configured by the user comprises: When the user chooses to add a decision stage through the stage adding control, multiple stages associated with the decision stage configured by the user are received.
9. The method according to claim 8, characterized in that The method further comprises: In response to the user's adding operation, adding at least one stage associated with the decision stage; or, In response to a deletion operation by the user, the task stage selected by the user is deleted from a plurality of task stages associated with the decision stage.
10. The method according to any one of claims 1 to 9, characterized in that: The workflow is a pipeline.
11. A workflow management system, characterized in that: The system is used to generate a workflow or execute the workflow, the workflow is used to execute multiple tasks in a code development process, the multiple tasks include at least two tasks among a code checking task, a code building task, a code testing task, and a code deployment task, and the system includes: A workflow generation module, used to generate a workflow according to configuration information of the workflow, wherein the workflow includes a plurality of task stages and a decision stage, and each of the plurality of task stages includes at least one task among the plurality of tasks; An interactive module, configured to present a decision interface to a user when the workflow reaches a decision stage, wherein the decision interface includes a plurality of stages associated with the decision stage; The workflow execution module is used to jump to a stage among the multiple stages that matches the decision result according to the decision result of the user to continue executing the workflow or end the workflow.
12. The system according to claim 11, characterized in that The multiple phases associated with the decision phase include: a plurality of task phases associated with the decision phase; or, At least one task phase is associated with the decision phase and an end phase is associated with the decision phase.
13. The system according to claim 11 or 12, characterized in that The decision result includes a target stage selected by the user from a plurality of stages associated with the decision stage, wherein the target stage is a task stage associated with the decision stage, or the target stage is an end stage associated with the decision stage; The workflow execution module is specifically used for: Jump to the target stage to continue executing the workflow; or, Jump to the end stage to end the workflow.
14. The system according to claim 11 or 12, characterized in that: The decision result includes a default stage, which is a stage executed by default when the decision times out among multiple stages associated with the decision stage. The workflow execution module is specifically used for: Jump to the default stage to continue executing the workflow or end the workflow.
15. The system according to any one of claims 11 to 14, characterized in that: The interaction module is also used for: An execution interface is presented to a user, wherein the execution interface includes the executed stages in the workflow.
16. The system according to any one of claims 11 to 15, characterized in that The interaction module is specifically used for: When executing the workflow, determining whether the workflow includes a task to be executed; If yes, determining the task type of the task to be performed; When the task type is a decision-making task, a decision-making interface is presented to the user.
17. The system according to any one of claims 11 to 16, characterized in that: The interaction module is also used for: Presenting a configuration interface to the user; The task phase of the workflow and the task attributes of the decision phase configured by the user are received, wherein the configuration information of the workflow includes the task phase and the task attributes of the decision phase.
18. The system according to claim 17, characterized in that The configuration interface includes a stage adding control; The interaction module is specifically used for: When the user chooses to add a decision stage through the stage adding control, multiple stages associated with the decision stage configured by the user are received.
19. The system according to claim 18, characterized in that The interaction module is also used for: In response to the user's adding operation, adding at least one stage associated with the decision stage; or, In response to a deletion operation by the user, the task stage selected by the user is deleted from a plurality of task stages associated with the decision stage.
20. The system according to any one of claims 11 to 19, characterized in that The workflow is a pipeline.
21. A computing device cluster, characterized in that: The computing device cluster includes at least one computing device, and the at least one computing device includes at least one processor and at least one memory, wherein the at least one memory stores computer-readable instructions; the at least one processor executes the computer-readable instructions so that the computing device cluster executes the method as described in any one of claims 1 to 10.
22. A computer-readable storage medium, characterized in that: The method comprises computer-readable instructions; the computer-readable instructions are used to implement the method according to any one of claims 1 to 10.
23. A computer program product, characterized in that The method comprises computer-readable instructions; the computer-readable instructions are used to implement the method according to any one of claims 1 to 10.
