Workflow management method and related device
By introducing a decision stage in the workflow management system, users are allowed to dynamically adjust the task stage and execution sequence during the pipeline operation, the problem of fixed workflow execution steps in the existing technology is solved, and the flexibility of workflow and software development is improved. Efficiency of delivery.
Patent Information
- Application Number
- PCT/CN2024/073198
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-11
- Filing Date
- 2024-01-19
- Publication Date
- 2025-01-02
AI Technical Summary
After the configuration is completed, the execution steps of the existing workflow management system are fixed and cannot be adjusted dynamically, resulting in reconfiguration to take effect during the pipeline operation, which reduces the execution efficiency and user experience of the workflow.
The decision-making stage is introduced in the workflow management system, allowing users to manually intervene during the execution process, jump to different stages or end the workflow according to the decision results, increasing the flexibility of the workflow and supporting dynamic adjustment of the task phase and execution sequence.
Through the introduction of the decision-making stage, the flexibility and stability of the workflow are achieved, and dynamically adjusted according to the needs of the scenario, improving the efficiency and reliability of the software development and delivery process.
Smart Images

Figure CN2024073198_02012025_PF_FP_ABST
Abstract
Description
Workflow management method and related equipment
[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office of China on June 29, 2023, with application number 202310786216.4, and with the invention name “A pipeline management method and related system”, and claims priority to the Chinese patent application filed with the State Intellectual Property Office on September 11, 2023, with application number 202311167073.5, and with the invention name “A workflow management method and related equipment”, the entire contents of which are incorporated by reference into 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 are choosing to use workflows to automate multiple tasks. Workflow refers to the automation of business processes (whole or part) in a computer application environment. It is a description of the workflow and the business rules between its various operation steps.
[0004] A typical application of workflows is the pipeline in software engineering. Some software adopts an agile development approach, using automated tools like Continuous Integration / Continuous Delivery (CI / CD) to frequently iterate software versions and improve software development efficiency. To improve delivery efficiency and ensure product quality, software engineering teams can use workflows, such as pipelines, to automatically trigger task scheduling for execution, such as build, testing, and deployment, reducing frequent and inefficient manual operations.
[0005] However, workflows like pipelines typically have fixed execution steps after configuration. In many scenarios, users (such as developers or operations personnel) need to dynamically adjust pipeline execution steps during operation based on the actual pipeline execution situation. Modifying pipeline execution steps often requires rerunning the pipeline for the modified execution steps to take effect, significantly reducing the execution efficiency of workflows like pipelines and impacting the user experience.
[0006] Summary of the Invention
[0007] This application provides a workflow management method that adds a decision-making stage to a workflow used to execute multiple tasks in a software development process. When the workflow reaches the decision-making stage, manual intervention can be performed. Based on different decision results, the workflow can be redirected to different stages to continue or terminate. This increases the flexibility of the workflow and enables dynamic adjustments based on scenario requirements. This application also provides a workflow management system, computing device cluster, computer-readable storage medium, and computer program product corresponding to the above method.
[0008] 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 code inspection tasks, code construction tasks, code testing tasks, and code deployment tasks. 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 workflow management functions (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.
[0009] Specifically, a workflow management system can generate a workflow based on workflow configuration information. The workflow includes multiple task stages and a decision stage, where each of the multiple task stages includes at least one of the multiple tasks. When the workflow reaches a decision stage, the workflow management system can present a decision interface to the user, which includes multiple stages associated with the decision stage. Based on the user's decision result, the workflow management system can jump to the stage in the multiple stages that matches the decision result to continue executing the workflow or terminate the workflow.
[0010] This method adds a decision-making stage to a workflow such as a pipeline. The decision-making stage can be associated with different stages of the workflow. During the execution of the workflow, when it reaches the decision-making 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 execution or end. This increases the flexibility of the workflow and can be dynamically adjusted according to scenario requirements.
[0011] 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.
[0012] 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, thereby increasing the dynamic expansion capability of workflows (such as assembly lines) and ensuring the stability and flexibility of the software development and delivery process.
[0013] In some possible implementations, the decision result includes a target stage selected by the user from multiple stages associated with the decision stage. The target stage can be a task stage associated with the decision stage, or the target stage can be the end stage associated with the decision stage. Accordingly, the workflow management system can jump to the target stage to continue executing the workflow, or jump to the end stage to end the workflow.
[0014] This 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 based on the user's decision results, so as to meet the needs of the corresponding scenario.
[0015] 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.
[0016] 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.
[0017] In some possible implementations, a 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. This can display the execution path of the workflow (such as a pipeline) and provide a reference for software lifecycle management.
[0018] In some possible implementations, when executing a workflow, the workflow management system may determine whether the workflow includes a pending task. If so, the workflow management system may determine the type of the pending task. If the task type is a decision task, indicating that the workflow has reached the decision stage, the workflow management system may present a decision interface to the user.
[0019] 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.
[0020] In some possible implementations, the workflow management system may present a configuration interface to the user, and then receive the task phases and task attributes of the decision phase of the workflow configured by the user. The workflow configuration information includes the task phases and task attributes of the decision phase.
[0021] This method configures a decision-making stage in the workflow. When the workflow reaches the decision-making 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.
[0022] 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.
[0023] 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.
[0024] 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 add operation. Alternatively, the workflow management system may further delete a task stage selected by the user from the multiple task stages associated with the decision stage in response to the user's delete operation.
[0025] In this way, it is also possible to adjust multiple stages associated with the decision stage, meeting the business demand of dynamically adjusting the execution steps of the workflow during the running stage.
[0026] In some possible implementations, the workflow is a pipeline. This pipeline is used to automate multiple tasks in the code development process, including but not limited to code building, code review, code testing, and code deployment. This allows the pipeline to automatically execute relevant tasks in the code development process while dynamically adjusting the pipeline's execution steps to adapt to changing scenarios during pipeline operation and ensure reliability in continuous deployment scenarios.
[0027] In a second aspect, the present application provides a workflow management system. The system is used to generate or execute a workflow, wherein the workflow is used to perform multiple tasks in a code development process, wherein the multiple tasks include at least two tasks selected from the group consisting of a code review task, a code build task, a code test task, and a code deployment task. The system includes:
[0028] A workflow generation module, configured 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;
[0029] 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;
[0030] The workflow execution module is configured to jump to a stage in the multiple stages that matches the decision result according to the user's decision result to continue executing the workflow or terminate the workflow.
[0031] In some possible implementations, the multiple stages associated with the decision stage include:
[0032] a plurality of task phases associated with the decision phase; or,
[0033] At least one task phase is associated with the decision phase and an end phase is associated with the decision phase.
[0034] 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, where 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;
[0035] The workflow execution module is specifically used to:
[0036] Jump to the target stage to continue executing the workflow; or,
[0037] Jump to the end stage to end the workflow.
[0038] 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:
[0039] Jump to the default stage to continue executing the workflow or end the workflow.
[0040] In some possible implementations, the interaction module is further configured to:
[0041] An execution interface is presented to the user, wherein the execution interface includes the executed stages in the workflow.
[0042] In some possible implementations, the interaction module is specifically configured to:
[0043] When executing the workflow, determining whether the workflow includes a task to be executed;
[0044] If yes, determining the task type of the task to be performed;
[0045] When the task type is a decision-making task, a decision-making interface is presented to the user.
[0046] In some possible implementations, the interaction module is further configured to:
[0047] Presenting a configuration interface to the user;
[0048] The task phase and the task attributes of the decision phase of the workflow configured by the user are received, where the configuration information of the workflow includes the task phase and the task attributes of the decision phase.
[0049] In some possible implementations, the configuration interface includes a stage add control;
[0050] The interaction module is specifically used for:
[0051] 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.
[0052] In some possible implementations, the interaction module is further configured to:
[0053] In response to the user's adding operation, adding at least one stage associated with the decision stage; or,
[0054] In response to a deletion operation by the user, the task stage selected by the user is deleted from the plurality of task stages associated with the decision stage.
[0055] In some possible implementations, the workflow is a pipeline.
[0056] In a third aspect, the present application provides a computing device cluster. The computing device cluster includes at least one computing device, each of which 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 configured to execute instructions stored in the at least one memory, causing the computing device or computing device cluster to perform the workflow management method described in the first aspect or any implementation of the first aspect.
[0057] In a fourth aspect, the present application provides a computer-readable storage medium storing 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 implementation of the first aspect.
[0058] 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 computing device cluster to execute the workflow management method described in the first aspect or any one of the implementations of the first aspect.
[0059] Based on the implementation methods provided in the above aspects, this application can also be further combined to provide more implementation methods. BRIEF DESCRIPTION OF THE DRAWINGS
[0060] In order to more clearly illustrate the technical methods of the embodiments of the present application, the following briefly introduces the drawings required for use in the embodiments.
[0061] FIG1 is a schematic diagram of the architecture of a workflow management system provided in an embodiment of the present application;
[0062] FIG2 is a flowchart of a workflow management method provided in an embodiment of the present application;
[0063] FIG3 is a flowchart of a workflow management method provided in an embodiment of the present application applied to an assembly line scenario;
[0064] FIG4 is a schematic diagram of a configuration interface of a pipeline stage provided in an embodiment of the present application;
[0065] FIG5 is a schematic diagram of an interface for configuring a pipeline task according to an embodiment of the present application;
[0066] FIG6 is a schematic diagram of an interface for configuring a decision task in a decision-making stage according to an embodiment of the present application;
[0067] FIG7 is a preview diagram of an assembly line provided in an embodiment of the present application;
[0068] FIG8 is another pipeline preview diagram provided in an embodiment of the present application;
[0069] FIG9 is another pipeline preview diagram provided in an embodiment of the present application;
[0070] FIG10 is a schematic diagram of a decision-making interface provided in an embodiment of the present application;
[0071] FIG11 is a schematic diagram of an execution interface provided in an embodiment of the present application;
[0072] FIG12 is a schematic diagram of another decision-making interface provided in an embodiment of the present application;
[0073] FIG13 is a schematic diagram of another execution interface provided in an embodiment of the present application;
[0074] FIG14 is a schematic diagram of the structure of a computing device provided in an embodiment of the present application;
[0075] FIG15 is a schematic diagram of the structure of a computing device cluster provided in an embodiment of the present application;
[0076] FIG16 is a schematic diagram of the structure of another computing device cluster provided in an embodiment of the present application;
[0077] FIG17 is a schematic diagram of the structure of another computing device cluster provided in an embodiment of the present application. DETAILED DESCRIPTION
[0078] The terms "first" and "second" in the embodiments of this application are used for descriptive purposes only and should not be understood to indicate or imply relative importance or implicitly specify the number of technical features indicated. Therefore, features specified as "first" or "second" may explicitly or implicitly include one or more of the features.
[0079] First, some technical terms involved in the embodiments of this application are introduced.
[0080] Development and Operations (DevOps): Combining the concepts of Development and Operations, DevOps is a general term for development and operations. DevOps is a culture, movement, and practice that prioritizes collaboration between software developers (Dev) and information technology (IT) operations technicians (Ops). By automating the processes of software delivery and architectural changes, DevOps aims to build, test, and release software more quickly, frequently, and reliably.
[0081] A pipeline is an executable workflow that can be generated and executed by a workflow management system, such as the pipeline service. Using a workflow management system as an example, the pipeline service is an automated task scheduling platform, typically used in conjunction with automated tasks such as code building (for example, building executable software packages), code review (static code review), code testing, and code deployment during software development and delivery. Once configured, the pipeline can be automatically scheduled and executed with a single click, depending on the desired scenario.
[0082] Continuous Integration (CI) is a method that allows developers to repeatedly integrate their code into a shared code repository. Using a continuous integration strategy can help developers detect problems in their code and discover errors early.
[0083] Continuous Delivery (CD) builds on continuous integration by deploying the integrated code to a pre-release environment (also called a staging environment) to prepare for releasing code changes to production. The final decision to deploy to production is reviewed by the quality team or users. If the review passes, the code can be deployed to the actual production environment.
[0084] Continuous Deployment (CD) means that once the code passes the actual review meeting, it will be released to the production environment. Continuous deployment is based on continuous delivery and automates the process of deploying to the production environment.
[0085] Based on the DevOps model, software engineering teams in enterprises or other organizations can adopt an agile development approach and, through the use of CI / CD automation tools, frequently iterate software versions to improve software development efficiency. Software engineering teams typically use workflows, such as pipelines, to execute tasks such as code building, code testing, and code deployment. These automated triggers and schedule tasks reduce frequent and inefficient manual operations, improve delivery efficiency, and ensure product quality.
[0086] Before executing a pipeline, developers or operations personnel often need to configure tasks for each stage of the pipeline, such as code building, code testing, code deployment, and code review. During the pipeline run, the pipeline engine executes the tasks in serial or parallel order according to the pre-arranged sequence until all tasks in the pipeline are completed.
[0087] In actual pipeline execution scenarios, especially those involving continuous deployment, there are scenarios where developers or operations personnel need to dynamically adjust pipeline execution steps during pipeline operation based on the actual pipeline execution status. Taking a grayscale release scenario as an example, grayscale release includes canary release, a traffic ratio-based release strategy that reduces the risk of introducing a new software version in a production environment by slowly rolling out changes to a small number of users before rolling out the changes to the entire infrastructure and making them available to everyone. During a canary release, pipeline operators often need to consider traffic diversion (specifically, diverting requests to the new version) and test results before deciding whether to continue upgrading new nodes or diverting traffic. Actual operational actions cannot be foreseen during pipeline configuration, and pipeline steps need to be dynamically adjusted based on the actual pipeline operation status.
[0088] Mainstream pipeline configuration methods include user interface-based or YAML-based (a highly readable format for expressing serialized data). UI-based pipeline configuration requires only simple add, edit, or delete operations, reducing configuration complexity. YAML-based pipeline configuration allows users to specify pipeline names, tasks to be performed at each stage, triggering methods, and other attributes in YAML, allowing for rapid replication of pipeline configurations and flexible configuration of pipeline stages.
[0089] However, whether you're configuring a pipeline using the UI or YAML, the pipeline execution steps are fixed and cannot be modified during the pipeline's execution. If you need to modify the pipeline execution steps, you must reconfigure the pipeline for the modified steps to take effect.
[0090] 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 among code inspection tasks, code construction tasks, code testing tasks, and code deployment tasks. 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 workflow management functions (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.
[0091] Specifically, the workflow management system generates a workflow based on workflow configuration information. The workflow includes multiple task stages and a decision stage, where each of the multiple task stages includes at least one of the multiple tasks. When the workflow reaches the decision stage, the workflow management system can present a decision interface to the user. The decision interface includes multiple stages associated with the decision stage. The workflow management system can then jump to the stage in the multiple stages that matches the decision result based on the user's decision result to continue executing the workflow or terminate the workflow.
[0092] 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 execution or end the workflow, which increases the flexibility of the workflow and can be dynamically adjusted according to scenario requirements.
[0093] 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.
[0094] Referring to the schematic diagram of the architecture of a workflow management system shown in FIG1 , a workflow management system 10 (also referred to as system 10) is used to generate or execute workflows, and workflows are used to execute multiple tasks in the code development process, including at least two tasks among code review tasks, code construction 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. 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.
[0095] The workflow generation module 102 is used to generate a workflow based on the workflow configuration information. The workflow includes multiple task stages and a decision stage. Each of the multiple task stages includes at least one of the multiple tasks. Different from the tasks included in the decision stage, the tasks included in the task stage are generally business-related workflow tasks, also known as flow tasks. Decision nodes include decision-related tasks, also known as decision tasks. Taking the workflow as an example of a pipeline, the pipeline may include pipeline stages and decision stages. The pipeline stages include pipeline tasks, and the decision stage includes decision tasks.
[0096] The interaction module 104 is configured to present a decision interface to the user when the workflow reaches the decision stage. 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 two or more task stages (in a pipeline scenario, two 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 a pipeline scenario, the decision stage may be associated with a task stage and an end stage.
[0097] The workflow execution module 106 is configured to, based on the user's decision result, jump to a stage among the multiple stages that matches the decision result to continue or terminate the workflow. The decision result includes a target stage selected by the user from multiple stages associated with the decision stage. The target stage may be a task stage associated with the decision stage, or the target stage may be the end stage associated with the decision stage. Accordingly, the workflow execution module 106 is configured to jump to the target stage to continue or terminate the workflow.
[0098] It should be noted that the workflow configuration information can be pre-configured and stored. When the workflow needs to be executed, the workflow configuration information is obtained to generate the workflow. In some possible implementations, the workflow configuration information can also be configured in real time. Specifically, the interaction module 104 is further configured to present a configuration interface to the user and receive the task attributes of the task phases and decision phase of the workflow configured by the user. The workflow configuration information includes the task attributes of the task phases and decision phase.
[0099] The configuration interface may include a stage addition control. Accordingly, when a user selects to add a decision stage using the stage addition control, the interaction module 104 may receive multiple stages associated with the decision stage configured by the user, thereby obtaining the task attributes of the decision stage. Furthermore, during the configuration process, the interaction module 104 is further configured to add at least one stage associated with the decision stage in response to the user's add operation. The interaction module 104 may also delete a user-selected task stage from the multiple task stages associated with the decision stage in response to a user's delete operation.
[0100] It should be noted that Figure 1 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.
[0101] 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 embodiments.
[0102] FIG2 shows a flowchart of a workflow management method, which can be executed by a workflow management system 10. The workflow management system 10 is used to generate or execute workflows, which are used to perform multiple tasks in the code development process, including at least two tasks selected from the group consisting of code review, code building, code testing, and code deployment. The method includes:
[0103] S202: The workflow management system 10 generates a workflow according to the workflow configuration information.
[0104] The workflow consists of a task phase and a decision phase. Each of the multiple task phases 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 following: code review, code build, code testing, and code deployment. The decision phase includes decision tasks, which are used to support users in deciding the next stage to execute, such as the task phase or the end phase.
[0105] The workflow configuration information may include task attributes for the task phase and the decision phase. Tasks in the task phase are typically workflow tasks, and their task attributes may include at least one of task type, task name, and task parameters. Tasks in the decision phase are typically decision tasks, and their task attributes may include at least one phase associated with the decision phase to which the decision task belongs. The workflow management system may generate a workflow corresponding to the configuration information based on the workflow configuration information.
[0106] 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 workflow configuration information.
[0107] The following describes the configuration workflow process.
[0108] Specifically, the workflow management system 10 may present a configuration interface to the user, which may be a UI interface, and the workflow management system 10 may receive the task phases and task attributes of the decision phase of the workflow configured by the user through the configuration interface. The configuration information of the workflow includes the task phases and task attributes of the decision phase.
[0109] The configuration interface may include a stage addition control. The stage addition control is used to add a task stage or a decision stage. When a user selects to add a decision stage using the stage addition control, the workflow management system 10 may receive multiple stages associated with the decision stage configured by the user. Furthermore, the workflow management system 10 may also add at least one stage associated with the decision stage in response to the user's add operation; or, in response to the user's delete operation, delete the user-selected task stage from the multiple task stages associated with the decision stage.
[0110] In some possible implementations, the workflow management system 10 further supports configuring a default stage. The default stage can be the 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, i.e., the task stage is executed by default when a decision timeout occurs. The default stage can also be an end stage, i.e., the workflow execution is terminated by default when a decision timeout occurs.
[0111] S204: When the workflow reaches the decision-making stage, the workflow management system 10 presents a decision-making interface to the user.
[0112] The workflow management system 10 can sequentially execute tasks in the corresponding stages according to the order of the stages defined in the workflow. When the workflow reaches the decision stage, the workflow management system 10 presents a decision interface to the user. The decision interface includes multiple stages associated with the decision stage. 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 include at least one task stage and an end stage associated with the decision stage.
[0113] When executing the workflow, the workflow management system 10 may determine whether the workflow includes a task to be executed. If so, the task type of the task to be executed is determined. If the task type is a decision task, a decision interface is presented to the user. If the task type is a workflow task (such as a pipeline task), the workflow management system 10 may execute the task.
[0114] S206 , the workflow management system 10 jumps to a stage among the multiple stages that matches the decision result according to the user's decision result to continue executing the workflow or terminate the workflow.
[0115] The decision result includes a target stage selected by the user from among multiple stages associated with the decision stage. Based on the user's decision result, the workflow management system 10 can jump to the target stage to continue executing the workflow or terminate the workflow. For example, if the target stage is a task stage, the workflow management system 10 can jump to the task stage and continue executing the corresponding task. For another example, if the target node is the end stage, the workflow management system 10 can terminate the execution of the current workflow.
[0116] If the user does not make a decision within the set time, or makes a decision after the set time, it is considered a decision timeout. Accordingly, the decision result may include a default stage, which is the stage that is executed by default in the multiple stages associated with the decision stage when the decision timeout occurs. The workflow management system 10 can jump to the default stage to continue executing the workflow or end the execution of the current workflow. Specifically, when the default stage is a task stage, the workflow management system 10 can jump to the task stage to continue executing the workflow; when the default stage is an end stage, the workflow management system 10 can jump to the end stage to end the workflow.
[0117] In some possible implementations, the workflow management system 10 may also present an execution interface to the user, which includes the executed stages of the workflow. This allows the user to view the execution status of the workflow in real time and adjust the execution process. When the workflow is completed, the execution path of the workflow can be displayed, providing a reference for subsequent code lifecycle management.
[0118] Based on the above description, it can be seen 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.
[0119] In order to make the technical solution of this application clearer and easier to understand, the workflow management method of this application is explained below using a pipeline scenario.
[0120] Referring to FIG3 , a flowchart of a workflow management method applied to an assembly line scenario is shown, which specifically includes the following steps:
[0121] (1): In the pipeline configuration stage, the user configures the pipeline tasks that need to be run in the pipeline and enters step (2);
[0122] (2): The user configures the decision task in the decision stage, saves the configured pipeline, and enters step (3);
[0123] (3): The user executes the pipeline and enters step (4);
[0124] (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 enters step (5). Otherwise, the current pipeline is completed and the execution ends.
[0125] (5): Get the task type of the 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);
[0126] (6): The workflow management system 10 provides the user with corresponding decision options based on 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.
[0127] Specifically, the workflow management system 10 can determine whether to terminate the pipeline execution in response to the user's selection of a decision option. If the user selects the decision option to terminate the pipeline, the workflow management system 10 can terminate the pipeline execution. If the user selects another decision option, the workflow management system 10 can obtain the pipeline task according to the decision rule and execute the task.
[0128] (7): The workflow management system 10 runs the specified pipeline task, and when the task is completed, it enters step (4).
[0129] The following describes the configuration and execution processes from the perspective of interface interaction.
[0130] During the DevOps pipeline configuration phase, users can configure the pipeline stages based on the UI interface (such as the configuration interface), as shown in Figure 4:
[0131] On the pipeline configuration page, users can see the tasks for 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 the two pipeline stages. When the user clicks the Delete button on the pipeline, the user can delete the corresponding pipeline stage.
[0132] Furthermore, when the user clicks Add 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.
[0133] If you choose to add a task stage, you can configure the corresponding pipeline task for that stage. The specific configuration interface is shown in Figure 5. Here, you can configure task properties, such as the task type, task name, and task parameters. Each pipeline stage can contain one or more pipeline tasks. These tasks include, but are not limited to, code building tasks, code review tasks, code testing tasks, and code deployment tasks.
[0134] If the user chooses to add a decision stage, the stage type of the pipeline can be set to the decision stage. As shown in Figure 6, in the decision stage, the user can configure the task stages (associated task stages) supported by the decision stage in the stage selection. The user clicks the Add button to add a task stage, which is already configured in the current pipeline. It should be noted that in some cases, the stages selectable in the decision stage stage selection support task stages, but do not support the configuration of decision stages.
[0135] In addition, users can configure a decision timeout in the decision phase. If the user does not make a decision within the specified time, the decision phase will execute the corresponding step based on the timeout result. Currently supported timeout results include executing the default phase and failure. If you choose to execute the default phase, you must configure the default phase in advance. When the decision timeout expires, the pipeline will execute the default phase.
[0136] After configuring the task and decision stages for a pipeline, you can view a preview of the pipeline on the pipeline configuration page. In addition to the workflow executed by the task stages, the preview also displays the stages associated with the decision stage. The following example illustrates a pipeline preview.
[0137] As shown in Figure 7, a pipeline preview shows a user configuring Decision Stage 1 in the pipeline. Decision Stage 1 is associated with two decision options: Task Stage 1 and Task Stage 2. When the pipeline reaches Decision Stage 1, the user can choose to continue with Task Stage 1 or Task Stage 2.
[0138] The decision stage can also be associated with two or more task stages. In the pipeline preview shown in Figure 8, decision stage 1 is associated with three pipeline stages: task stage 1, task stage 2, and task stage 3.
[0139] The same pipeline can also support multiple decision stages, and a decision stage can point not only to a task stage but also to the pipeline's end stage. As shown in Figure 9, the pipeline includes decision stage 1 and decision stage 2. 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 pipeline's end stage.
[0140] The following is a detailed description of the pipeline execution process. After configuring the pipeline, the user can click Run to execute the pipeline.
[0141] In some examples, a user can generate a pipeline according to the configuration information of the pipeline corresponding to the pipeline preview shown in FIG7 . After the pipeline completes 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 a decision interface. As shown in FIG10 , the decision interface provides multiple options including Execute Task Stage 1 and Execute Task Stage 2. The user can select a pipeline task for a specific stage based on the actual scenario.
[0142] 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 executed, there are no more executable stages in the pipeline, and the pipeline execution ends. The execution interface is shown in Figure 11.
[0143] If the user chooses to continue with Task Stage 1 during the Decision Stage, the workflow management system 10 will continue executing Task Stage 1. After Task Stage 1 is completed, the workflow management system 10 will enter the Decision Stage again. At this point, as shown in FIG12 , the workflow management system 10 will again offer Task Stage 1 and Task Stage 2 for selection on the Decision Stage interface.
[0144] If the user chooses to execute task stage 2, the workflow management system 10 will execute task stage 2. After executing task stage 2, there are no more stages to execute in the pipeline, and the pipeline execution ends. The specific interface is shown in Figure 13. The execution interface can display the execution path of this execution, including the multiple task stages that have been executed.
[0145] 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 enhance the workflow expansion capability. 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.
[0146] Based on the aforementioned method embodiment, the present application further provides a workflow management system 10. The workflow management system 10 is used to generate or execute a workflow, which is used to perform multiple tasks in the code development process, the multiple tasks including at least two tasks among code checking tasks, code building tasks, code testing tasks, and code deployment tasks. As shown in FIG1 , the workflow management system 10 includes:
[0147] A workflow generation module 102 is configured 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 from the plurality of tasks;
[0148] An interaction module 104 is 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;
[0149] The workflow execution module 106 is configured to jump to a stage in the multiple stages that matches the decision result according to the user's decision result to continue executing the workflow or terminate the workflow.
[0150] Exemplarily, the workflow generation module 102 , the interaction module 104 , and the workflow execution module 106 may be implemented by hardware or software.
[0151] When implemented by software, the workflow generation module 102, the interaction module 104, and the workflow execution module 106 can be applications running on a computer device, such as a computing engine. The application can be provided to users in the form of a virtualized service. Virtualization 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 uses virtualization technology to virtualize a virtual machine (VM) resource pool on multiple physical hosts (such as computing devices) to provide users with VMs for use on demand. The BMS service is a service that virtualizes a BMS resource pool on multiple physical hosts to provide users with BMS for use on demand. The container service is a service that virtualizes a container resource pool on multiple physical hosts to provide users with containers for use on demand. VM is a simulated virtual computer, that is, a logical computer. BMS is a high-performance computing service that can be elastically scalable. Its computing performance is no different from that of a traditional physical machine and has the characteristics of secure physical isolation. Containers are a kernel virtualization technology that provides lightweight virtualization to isolate user spaces, processes, and resources. It should be understood that the VM service, BMS service, and container service mentioned above are merely examples. In actual applications, virtualization services can also be other lightweight or heavyweight virtualization services, which are not specifically limited here.
[0152] When implemented through 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. Alternatively, the workflow generation module 102, the interaction module 104, and the workflow execution module 106 may be implemented 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.
[0153] In some possible implementations, the multiple stages associated with the decision stage include:
[0154] a plurality of task phases associated with the decision phase; or,
[0155] At least one task phase is associated with the decision phase and an end phase is associated with the decision phase.
[0156] 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, where 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;
[0157] The workflow execution module 106 is specifically used to:
[0158] Jump to the target stage to continue executing the workflow; or
[0159] Jump to the end stage to end the workflow.
[0160] 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:
[0161] Jump to the default stage to continue executing the workflow or end the workflow.
[0162] In some possible implementations, the interaction module 104 is further configured to:
[0163] An execution interface is presented to the user, wherein the execution interface includes the executed stages in the workflow.
[0164] In some possible implementations, the interaction module 104 is specifically configured to:
[0165] When executing the workflow, determining whether the workflow includes a task to be executed;
[0166] If yes, determining the task type of the task to be performed;
[0167] When the task type is a decision-making task, a decision-making interface is presented to the user.
[0168] In some possible implementations, the interaction module 104 is further configured to:
[0169] Presenting a configuration interface to the user;
[0170] The task phase and the task attributes of the decision phase of the workflow configured by the user are received, where the configuration information of the workflow includes the task phase and the task attributes of the decision phase.
[0171] In some possible implementations, the configuration interface includes a stage add control;
[0172] The interaction module 104 is specifically used for:
[0173] 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.
[0174] In some possible implementations, the interaction module 104 is further configured to:
[0175] In response to the user's adding operation, adding at least one stage associated with the decision stage; or,
[0176] In response to a deletion operation by the user, the task stage selected by the user is deleted from the plurality of task stages associated with the decision stage.
[0177] In some possible implementations, the workflow is a pipeline.
[0178] The workflow management system 10 is introduced from the perspective of functional modularization. The workflow management system 10 of the present application is introduced from the perspective of hardware implementation.
[0179] This application also provides a computing device 1400. As shown in Figure 14, computing device 1400 includes a bus 1402, a processor 1404, a memory 1406, and a communication interface 1408. Processor 1404, memory 1406, and communication interface 1408 communicate with each other via bus 1402. Computing device 1400 can be a server or a terminal device. It should be understood that this application does not limit the number of processors and memories in computing device 1400.
[0180] Bus 1402 may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, among others. Buses may be classified as address buses, data buses, control buses, and the like. For ease of illustration, FIG14 illustrates a single bus line, but this does not imply a single bus or type of bus. Bus 1402 may include a path for transmitting information between various components of computing device 1400 (e.g., memory 1406, processor 1404, and communication interface 1408).
[0181] The processor 1404 may include any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).
[0182] 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.
[0183] 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 a communication network.
[0184] Embodiments of the present application also provide 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 smartphone.
[0185] As shown in Figure 15, the computing device cluster includes at least one computing device 1400. The memory 1406 of 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.
[0186] In some possible implementations, one or more computing devices 1400 in the computing device cluster may also be used to execute some of the instructions for executing the workflow management method by the workflow management system 10. In other words, the combination of one or more computing devices 1400 may jointly execute the instructions for executing the workflow management method by the workflow management system 10.
[0187] It should be noted that the memories 1406 in different computing devices 1400 in the computing device cluster may store different instructions for executing partial functions of the workflow management system.
[0188] FIG16 illustrates a possible implementation. As shown in FIG16 , two computing devices 1400A and 1400B are connected via a communication interface 1408. The memory of computing device 1400A stores instructions for executing the functions of workflow generation module 102. The memory of computing device 1400B stores instructions for executing the functions of interaction module 104 and workflow execution module 106. In other words, the memories 1406 of computing devices 1400A and 1400B jointly store instructions for the workflow management system 10 to execute the workflow management method.
[0189] The connection mode between the computing device clusters shown in Figure 16 may be considered to be due to the fact that the workflow management method provided by this application requires a lot of computing power to execute the workflow. Therefore, it is considered to delegate the functions implemented by the interaction module 104 and the workflow execution module 106 to the computing device 1400B.
[0190] It should be understood that the functionality of the computing device 1400A shown in FIG16 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.
[0191] In some possible implementations, one or more computing devices in a computing device cluster may be connected via a network. The network may be a wide area network (WAN) or a local area network (LAN), among others. FIG. 17 illustrates a possible implementation. As shown in FIG. 17 , 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. Simultaneously, 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.
[0192] The connection method between the computing device clusters shown in Figure 17 can be considered to be that the workflow management method provided by this application requires a large amount of computing power to execute the workflow, so the functions implemented by the interaction module 104 and the workflow execution module 106 are considered to be handed over to the computing device 1400D for execution.
[0193] It should be understood that the functionality of the computing device 1400C shown in FIG17 may also be implemented by multiple computing devices 1400. Similarly, the functionality of the computing device 1400D may also be implemented by multiple computing devices 1400.
[0194] It should be noted that Figures 16 and 17 are merely schematic diagrams 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 a workflow based on the above configuration information.
[0195] 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 that contains 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 drive). 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.
[0196] 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 executed on a computing device or stored on any available medium. When the computer program product is executed on at least one computing device, the at least one computing device executes the workflow management method described above.
[0197] 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 deviate the essence of the corresponding technical solutions from the protection scope of the technical solutions of the various 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.
Citation Information
Patent Citations
User interfaces for data integration systems
CN101084494A
Kubernetes architecture-based workflow processing method and device
CN112181586A
Continuous integration method and device for software data, equipment and medium
CN115576539A
Decision service manager
US20140250306A1