Workflow definition processing method and device and storage medium

By supporting the property configuration of composite tasks nesting other tasks in the workflow definition, the problem of incomplete workflow definition in the existing technology is solved, the clarity and flexibility of workflow definition are improved, and the needs of nesting complex tasks are met.

CN120106533APending Publication Date: 2025-06-06HANGZHOU ALICLOUD FEITIAN INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311675226.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-12-06
Publication Date
2025-06-06

AI Technical Summary

Technical Problem

The existing workflow definitions are not yet perfected in some dimensions, resulting in high user understanding costs and difficulty in meeting the nested needs of complex tasks.

Method used

By providing a workflow definition processing method, including displaying the editing interface, generating specification description information, and supporting composite tasks to nest attribute configurations for other tasks, realizing on-demand nesting between tasks.

Benefits of technology

Improves the clarity and flexibility of workflow definition, making it easier for users to understand and configure complex workflows, and meets the needs of multi-level task nesting.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120106533A_ABST
    Figure CN120106533A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a workflow definition processing method and device and a storage medium. In the embodiment of the invention, the attribute of supporting the composite task to nest other tasks is configured for the composite task, so that the composite task supports free nesting. Based on the attribute, when the workflow is defined, other tasks nested by compound tasks can be configured as required according to the workflow definition requirement, so that on-demand nesting among the tasks is realized, the workflow definition capability is expanded, and the workflow definition is perfected, therefore, the definition of the workflow definition is improved; a user using a workflow service is facilitated to understand a workflow definition.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of information processing technology, and in particular to a method, device and storage medium for processing workflow definitions. Background Art

[0002] Workflow is an abstract and general description of the logical rules between the workflow and its various operation steps. The workflow definition can use the process definition language to describe and define the logic between the steps. When executing the process, the workflow service will parse and drive the execution of related task flows according to the process definition. Clearly defining the abstract ideas of the workflow can reduce the user's understanding cost. There are still some dimensions in the existing workflow definition that need to be improved. Therefore, how to improve the workflow definition has become a technical problem that needs to be solved urgently by technicians in the field of workflow services. Summary of the invention

[0003] Multiple aspects of the present application provide a method, device, and storage medium for processing a workflow definition, which are used to improve the workflow definition and help improve the clarity of the workflow definition.

[0004] The present application provides a method for processing workflow definitions, including:

[0005] Display the editing interface corresponding to the workflow definition;

[0006] In response to an information editing operation on the workflow definition on the editing interface, generating standard description information of the workflow definition;

[0007] Among them, the standard description information of the workflow definition includes: the definition description information of the composite task; the definition description information of the composite task includes: the attribute information of the composite task; the attribute information of the composite task includes: a first attribute for indicating the starting task of the composite task and a second attribute for supporting the configuration of the composite task to nest other tasks, so as to configure the other tasks nested in the composite task through the second attribute according to the workflow definition requirements; the other tasks include composite tasks and / or atomic tasks.

[0008] The present application also provides a method for processing workflow definitions, including:

[0009] Obtaining workflow definition specification description information and workflow definition requirement information;

[0010] Determine, according to the workflow definition requirement information, the name of the target starting task of the target composite task to be defined, the names of other tasks that are in a nested relationship with the target composite task, and the attribute information of the other tasks;

[0011] Based on the specification description information of the workflow definition, configuring the name of the target start task for the first attribute of the target composite task, and configuring the names of the other tasks for the second attribute of the target composite task;

[0012] According to the specification description information of the workflow definition and the attribute information of the other tasks, the attributes of the other tasks are configured to obtain the workflow definition of the target complex task.

[0013] The present application also provides a method for processing workflow definitions, including:

[0014] Acquire workflow definition information; the workflow definition information includes: at least one first task and the execution order between the at least one first task; the first task includes at least one execution unit and attribute information guiding the action of the at least one execution unit; the at least one first task includes: a target composite task nested with other second tasks;

[0015] According to the execution order of the at least one first task and based on the attribute information guiding the action of the at least one execution unit, control the action of the execution unit in the at least one first task to execute the at least one first task;

[0016] When the target complex task is executed, obtaining the starting task of the target complex task and the tasks with completion attributes in the second tasks from the workflow definition information;

[0017] The target complex task is executed from the start task, and the execution of the target complex task is terminated when the task with the completion attribute is executed.

[0018] The embodiment of the present application further provides a computing device, comprising: a memory and a processor; wherein the memory is used to store a computer program;

[0019] The processor is coupled to the memory and is used to execute the computer program to perform the steps in the processing methods of the above workflow definitions.

[0020] The embodiment of the present application also provides a computer-readable storage medium storing computer instructions. When the computer instructions are executed by one or more processors, the one or more processors are caused to execute the steps in the processing method of each workflow definition described above.

[0021] In the embodiment of the present application, a property that supports nesting other tasks in a composite task is configured for the composite task, so that the composite task supports free nesting. Based on this property, when defining a workflow, other tasks nested in the composite task can be configured as needed according to the workflow definition requirements, so as to achieve on-demand nesting between tasks, expand the capabilities of workflow definition, and improve the workflow definition. Therefore, it helps to improve the clarity of the workflow definition and facilitates users who use the workflow service to understand the workflow definition. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0023] Figure 1 A flowchart of a method for processing workflow definitions provided in an embodiment of the present application;

[0024] Figure 2 An example diagram of an execution unit provided in an embodiment of the present application;

[0025] Figure 3 and Figure 4 A schematic diagram of the structure of an atomic task provided in an embodiment of the present application;

[0026] Figure 5 A schematic diagram of the structure of a composite task provided in an embodiment of the present application;

[0027] Figure 6 A schematic diagram of the structure of parallel tasks provided in an embodiment of the present application;

[0028] Figure 7 A schematic diagram of the structure of a cyclic task provided in an embodiment of the present application;

[0029] Figure 8 A schematic diagram of the structure of a repetitive task provided in an embodiment of the present application;

[0030] Fig. 9 A schematic diagram of the structure of the selection task provided in the embodiment of the present application;

[0031] Fig.10 A flowchart of another method for processing workflow definitions provided in an embodiment of the present application;

[0032] Fig.11 A flowchart of another method for processing workflow definitions provided in an embodiment of the present application;

[0033] Fig.12 A schematic diagram of the structure of a computing device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0034] In order to make the purpose, technical solution and advantages of the present application clearer, the technical solution of the present application will be clearly and completely described below in combination with the specific embodiments of the present application and the corresponding drawings. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present application.

[0035] In some embodiments of the present application, a property that supports nesting of other tasks in a composite task is configured for a composite task, so that the composite task supports free nesting. Based on this property, when defining a workflow, other tasks nested in the composite task can be configured as needed according to the workflow definition requirements, so as to achieve on-demand nesting between tasks, expand the capabilities of workflow definition, and improve the workflow definition. Therefore, it helps to improve the clarity of the workflow definition and facilitates users who use the workflow service to understand the workflow definition.

[0036] The technical solutions provided by various embodiments of the present application are described in detail below in conjunction with the accompanying drawings.

[0037] It should be noted that the same reference numerals denote the same objects in the following drawings and embodiments, and therefore, once an object is defined in one drawing or embodiment, it does not need to be further discussed in the subsequent drawings and embodiments.

[0038] Figure 1 A flowchart of a method for processing workflow definitions provided in an embodiment of the present application. Figure 1 As shown, the processing method of the workflow definition mainly includes:

[0039] 101. Display the editing interface corresponding to the workflow definition.

[0040] 102. In response to the information editing operation for the workflow definition on the editing interface, generate the standard description information of the workflow definition. The standard description information of the workflow definition includes: the definition description information of the composite task; the definition description information of the composite task includes: the attribute information of the composite task; the attribute information of the composite task includes: the first attribute for indicating the starting task of the composite task and the second attribute for supporting the configuration of the composite task to nest other tasks, so as to configure the other tasks nested in the composite task through the second attribute according to the workflow definition requirements; the other tasks include composite tasks and / or atomic tasks.

[0041] A workflow usually contains several tasks. These tasks can be simple atomic tasks, such as integration tasks, success, failure, wait, and pass. The services provided by the workflow integration can be called through the integration task status. The basic structure of the process is planned by using the pass task as a placeholder. If you need to wait for a while, you can pause the execution of the process through the wait task. The process is terminated early through the success status. The process is terminated early through the failure status.

[0042] Among them, the atomic task is the most fine-grained task, which may include: a single execution unit (Operation, OP). In this embodiment, the execution unit only has basic execution capabilities, and does not have any ability to adjust input and output, or drive transfer. Figure 2 As shown, the execution unit may include at least one of a service call unit (IntegrationOP), a null execution unit (NoOP), a failure control execution unit (ErrOP) and a suspension execution unit (SuspendOP). Figure 2 The execution units include the above four types of execution units as an example for illustration, but this does not constitute a limitation.

[0043] Among them, the service calling unit is used to call the service integrated with the workflow service. The workflow integrated service includes cloud services and / or local services. Among them, the cloud service is deployed in the cloud server, and the resources or software services can be distributed on the resource pool composed of a large number of computers, so that various application systems can obtain the corresponding resources or software services according to the needs. In the embodiment of the present application, the specific content of the service provided by the cloud service is not limited. For example, the cloud service can be a cloud computing service, a cloud communication service, an online education service, an artificial intelligence (AI) service or a live broadcast service, etc. The local service is a service locally integrated with the workflow service, which can be one or more of a local computing service, a local communication service, a local AI service, an empty execution service, a failed execution service and a suspended execution service. Multiple refers to 2 or more. Among them, the empty execution service can be provided by the empty execution unit, the failed execution service can be provided by the failure control unit, and the suspended execution service can be provided by the suspended execution unit.

[0044] The empty execution unit (NoOP) does not perform any actual action, returns the set character, and passes the input of the empty execution unit to the output of the empty execution unit.

[0045] The failure control unit (ErrOP) does not perform actual actions, controls the workflow to fail, returns a set error, and sets the output of the workflow to empty.

[0046] The input of the pause execution unit is duration information, which is used to control the duration of the pause execution unit input when the workflow is paused.

[0047] like Figure 3 As shown, the attribute information of the atomic task may include: at least one of the name (Name) of the atomic task, the transfer node (Next), the completion attribute (End), the skip execution attribute (Skip), the timeout processing attribute (Timeout) and the error processing attribute (OnError). Figure 3 The attribute information of the atomic task includes the name (Name), transfer node (Next), completion attribute (End), skip execution attribute (Skip) and error handling attribute (OnError) of the above-mentioned atomic task, and the execution unit included in the atomic task is a service call unit. This is illustrated as an example, but it does not constitute a limitation.

[0048] Among them, the name (Name) of the atomic task can be a custom name. The transfer node (Next) indicates the next task to which the atomic task flows after execution. The completion attribute (End) is used to indicate whether the atomic task is the end node of the workflow. The skip execution attribute (Skip) indicates whether to skip the execution of the execution unit that executes the atomic task. The input of the timeout processing attribute (Timeout) is the duration information. If the execution duration of the atomic task exceeds the input duration information, the execution of the atomic task is terminated. The error handling strategy can be set through the error handling attribute (OnError). For example, when a specific error is detected, a specific strategy is retried; or, when a specific error is detected, the task where the error occurs is skipped. Optionally, other tasks can be set to replace the task where the error occurs, that is, when a specific error occurs, the task where the error occurs is skipped and the flow is transferred to the replacement task set for execution. Generally, the tasks of the integration service call unit have error handling attributes. The following is an example of a definition description information of the tasks of the integration service call unit:

[0049]

[0050]

[0051] When defining an actual workflow, the attribute information of the atomic task can be flexibly selected according to the workflow definition requirements. Figure 4As shown, the execution unit included in the atomic task is the suspended execution unit. The name of the atomic task is "test skip long task", and the skip execution attribute (Skip) of the atomic task is set to yes, indicating that the execution of the "suspended execution unit" is skipped.

[0052] Accordingly, the specification description information of the workflow definition may include: the definition description information of the atomic task. The definition description information of the atomic task may include: the name of the execution unit and the attribute information of the atomic task. The attribute information of the atomic task is used to guide the action of the execution unit, such as the skip execution attribute (Skip) is used to guide whether to execute the action of the execution unit; the error handling attribute (OnError) is used to guide if an error occurs during the execution of the atomic task execution unit, then the execution of the atomic task is terminated, etc.

[0053] In the embodiment of the present application, in order to improve the workflow definition, it is also possible to support constructing the input parameters and output parameters of the task at the input and output of the task. Figure 3 and Figure 4 As shown, an input processing function can be configured at the input end of an atomic task to process the input parameters of the atomic task into input parameters that meet the requirements of workflow definition. Of course, an output processing function can also be configured at the output end of an atomic task to process the output parameters of the atomic task into output parameters that meet the requirements of workflow definition. The input processing function and the output processing function can be flexibly set according to the requirements of workflow definition.

[0054] Optionally, the input processing function and the output processing function may be inline functions, which process input parameters and output parameters respectively. Inline function is a concept in programming languages, which is used to insert the code of a function directly into the place where the function is called during compilation, rather than executing it through a function call. For example, an inline function may be one or more of a data type conversion function, a string length determination function, a data encoding and decoding function, an array operation function, and a mapping operation function. Multiple refers to two or more.

[0055] Among them, the data type conversion function is used to convert the data types of input parameters and output parameters. The string length calculation function, such as the Len() function, is used to calculate the character length of the input parameters and output parameters. The aggregation function is used to aggregate the input parameters and output parameters. Among them, the aggregation function can perform calculations on a set of values ​​and return a single value. For example, the aggregation function can be an average calculation function (such as the AVG function), a maximum calculation function (such as the MAX function), a minimum calculation function (such as the MIN function) or a summation function (such as the SUM function), but is not limited to this.

[0056] The map operation function is used to establish the relationship between objects. For example, the map operation function may be a mapKeys function, which is used to extract the key (Key) in JSON Object / map[string]any as an array. Alternatively, the map operation function may be a mapValues ​​function, which is used to extract the value (Value) in JSON Object / map[string]any as an array. Alternatively, the map operation function may be a mapValuesPartition function, which is used to extract the value (Value) in JSON Object / map[string]any as an array and cut the array into multiple arrays in steps.

[0057] An array operation function refers to a function that operates on an array. The array operation function may be an arrayContains function, which is used to determine whether an array contains an element. Alternatively, the array operation function may be an arrayUnique function, which is used to delete duplicate elements in an array. Alternatively, the array operation function may be a toArray function, which is used to convert an input parameter of any length into an array and return it.

[0058] The implementation forms of the inline functions shown above are only exemplary and do not constitute limitations.

[0059] In addition to atomic tasks, workflows can also include complex control tasks, such as Choice tasks, Parallel tasks, MapReduce tasks, and Repeat tasks. Among them, different execution paths can be defined through Choice tasks. Multiple branches can be executed in parallel through the Parallel state, and these branches share the same input. Array data can be processed in parallel through the MapReduce task. The input parameter of the Repeat task is the number of times, and the Repeat task can be repeated for the input number of times.

[0060] In an embodiment of the present application, in order to improve the workflow definition, some control tasks are abstracted into composite tasks. A composite task refers to an operation step that supports combining and nesting other tasks. A composite task may nest at least one other task. The other tasks nested in a composite task may be one or more. Multiple refers to 2 or more. Multiple other tasks may be tasks of the same type or tasks of different types. The other tasks nested in a composite task may be composite tasks or atomic tasks. Of course, the other tasks nested in a composite task may include: atomic tasks and composite tasks.

[0061] For example, Figure 5As shown, a compound task nests multiple atomic tasks. The multiple atomic tasks can be of the same type or of different types. Figure 5 Only Figure 5 In the figure, only two tasks are taken as an example, and both of the two atomic tasks are tasks in which the execution unit is a service calling unit, but this does not constitute a limitation.

[0062] A composite task and its nested composite tasks (i.e., composite tasks with a nested relationship) can be composite tasks of the same type, such as a parallel task can nest other parallel tasks, a cyclic task can nest other cyclic tasks, etc. Of course, a composite task and its nested composite tasks (i.e., composite tasks with a nested relationship) can also be composite tasks of different types, such as a parallel task can nest cyclic tasks, and can also nest repetitive tasks; cyclic tasks can also nest repetitive tasks, etc.

[0063] In order to support task nesting according to workflow definition requirements, a composite task has a first attribute (such as the StartAt attribute) indicating the starting task of the composite task, which is used to indicate the starting task of the composite task, that is, the node where the composite task starts to execute. The composite task can also be configured with a second attribute (such as the Tasks attribute) that supports composite tasks to nest other tasks. Among them, the second attribute is a list of other tasks nested in the composite task (such as a Task list, etc.). Based on the second attribute, other tasks nested in the composite task can be configured through the second attribute according to workflow definition requirements.

[0064] Based on the attribute information of the above-mentioned composite task, in order to provide support for the ability to nest tasks on demand according to the workflow definition requirements, it is necessary to provide the specification description information of the relevant workflow definition, so that the user can edit the workflow definition that meets the workflow definition requirements on demand according to the specification description information of the workflow definition. In order to provide the description information of the relevant workflow definition, in this embodiment, an editing interface corresponding to the workflow definition can be provided. The cloud service provider can edit the specification description information of the corresponding workflow definition through the editing interface. Accordingly, in step 101, the editing interface corresponding to the workflow definition can be displayed. In the embodiment of the present application, the specific implementation form of the editing interface is not limited. Optionally, the editing interface can be a document editing interface, or a domain specific language (Domain Specific Language, DSL) editing interface, etc. The cloud service provider can edit the specification description information of the corresponding workflow definition through the editing interface. Accordingly, in step 102, the specification description information of the workflow definition can be generated in response to the information editing operation on the editing interface for the workflow definition. For example, in response to the information editing operation on the editing interface for the workflow definition, the specification description information of the workflow definition edited by the information editing operation can be obtained, etc.

[0065] In order to provide support for the ability to nest tasks on demand according to workflow definition requirements, in this embodiment, the specification description information of the workflow definition may include: definition description information of a composite task. The definition description information of a composite task may include: attribute information of the composite task. Among them, the attribute information of the composite task may include: a first attribute (such as the StartAt attribute) indicating the starting task of the composite task, and a second attribute that supports the composite task to nest other tasks. Other tasks nested in the composite task may be configured through the second attribute according to the workflow definition requirements.

[0066] In this embodiment, a property that supports nesting of other tasks in a composite task is configured for a composite task, so that the composite task supports free nesting. Based on this property, when defining a workflow, other tasks to be nested in the composite task can be configured as needed according to the workflow definition requirements, so as to achieve on-demand nesting between tasks, expand the capabilities of workflow definition, and improve the workflow definition. Therefore, it helps to improve the clarity of the workflow definition and facilitates users who use the workflow service to understand the workflow definition.

[0067] For a composite task that is nested with other tasks, since the composite task is nested with other tasks, if the composite task is to be executed smoothly, in addition to the workflow definition for the composite task itself, the workflow definition for other tasks that are nested in the composite task is also required. Accordingly, the definition description information of the composite task also includes: the definition description information of other tasks that are nested in the composite task. Among them, the definition description information of other tasks that are nested in the composite task includes: the execution units contained in the other tasks and the attribute information of these other tasks. Among them, the attribute information of other tasks is used to guide the actions of the execution units contained in the task.

[0068] For a composite task, in addition to defining the starting task of the composite task, i.e., the starting node, it is also necessary to define the ending node of the composite task, i.e., the task at which the composite task ends execution of the composite task. Therefore, the attribute information of at least one task among the other tasks nested in the composite task includes an ending attribute (i.e., the End attribute), which is used to end execution of the composite task when the composite task executes a task with an ending attribute. Among them, the output of the task with an ending attribute is the output of the composite task.

[0069] For a composite task that is nested with multiple other tasks, the execution order of multiple other tasks must be clarified to realize the execution of the composite task. Accordingly, the attribute information of other tasks also includes: the transfer node (Next) attribute, which is used to configure the next task to which a task flow is transferred. For example, as shown in the following workflow definition of a task named "Task-next", the name of the task is "Task-next", the type is "Integration Unit (Integration)", and the execution unit included is: Empty Execution Unit (NoOP), and the next task to which the task execution flow is transferred is the task named "MyTask2".

[0070] Example of workflow definition for the "Task-next" task:

[0071]

[0072] Since composite tasks support combined nesting between tasks, scope is the basis for supporting complex logical nesting. Scope limits the range of availability of names used in a section of program code. If a task contains another task (i.e., a task is nested in another task), the outer task is called the scope of the inner task. If two tasks are tasks of the same level, the scopes of the two tasks are the same. In the scenario where a composite task nests other tasks, the composite task is the scope of the other tasks nested in the composite task. Among them, on-demand flow is supported between other tasks belonging to the same scope. For example, the flow relationship between other tasks belonging to the same scope can be set as needed according to the workflow definition requirements. In this embodiment, the flow relationship between tasks, that is, the order in which tasks are executed, can be set by configuring the transfer node (Next) property of the task.

[0073] Task execution uses and generates some data, which are called context. Data is transferred between tasks through input (Input) and output (Output), and each task saves data through context (Context) variables. In an embodiment of the present application, in order to meet the context access requirements, the nested task can be set to have a context for accessing its scope, for example, as a context variable of other tasks nested by a composite task, in addition to saving the input parameters and output parameters of the task, the input parameters of the composite task can also be saved, and / or, the parameters of the workflow where the composite task is located, so that other tasks nested by the composite task can access the input parameters of the composite task / or the input parameters of the workflow according to actual needs, and realize the expansion of the access rights of the nested tasks.

[0074] For example, if task A is nested within task B, then task A is the outer task of task B, and can also be called the parent task. The context variables of task B can save the input parameters and output parameters of task B, as well as the input parameters of the workflow (the workflow where tasks A and B are located), and / or the input parameters of task A, etc.

[0075] In order to improve the workflow definition, it is also possible to support the construction of input parameters and output parameters of the composite task at the input and output of the composite task. Accordingly, an input processing function can be configured at the input end of the composite task to process the input parameters of the composite task into input parameters that meet the workflow definition requirements. Of course, an output processing function can also be configured at the output end of the composite task to process the output parameters of the composite task into output parameters that meet the workflow definition requirements. The input processing function and the output processing function can be flexibly set according to the workflow definition requirements.

[0076] Based on the characteristics of the aforementioned composite task, in an embodiment of the present application, at least one of a parallel task, a cyclic (MapReduce) task, and a repetitive (Repeat) task can be abstracted as a composite task. That is, the composite task may include: at least one of a parallel task, a cyclic (MapReduce) task, and a repetitive (Repeat) task. Optionally, the composite task may include: a parallel task, a cyclic (MapReduce) task, and a repetitive (Repeat) task. Accordingly, the definition description information of the aforementioned composite task may include: the definition description information of a parallel task, and / or, the definition description information of a cyclic (MapReduce) task, and / or, the definition description information of a repetitive (Repeat) task. The definition description information of a parallel task, the definition description information of a cyclic (MapReduce) task, and the definition description information of a repetitive (Repeat) task are exemplarily described below in conjunction with specific drawings.

[0077] Figure 6 The following is a schematic diagram of the composition of parallel tasks provided in the embodiment of the present application. Figure 6 As shown, a parallel task may include multiple parallel branches. Multiple refers to 2 or more. Parallel branches can be implemented as composite tasks, each parallel branch being a separate scope. Parallel tasks can be regarded as tasks with complex execution units and have basic attributes of tasks. For example, the attribute information of a parallel task may include at least one of: a transfer node (Next) attribute, an error handling (OnError) attribute, a completion attribute (End), a skip execution attribute (Skip), and a timeout handling attribute (Timeout).

[0078] The parallel task can also support constructing the input parameters and output parameters of the parallel task at the input and output of the parallel task. Accordingly, an input processing function can be configured at the input end of the parallel task to process the input parameters of the parallel task into input parameters that meet the workflow definition requirements. Of course, an output processing function can also be configured at the output end of the parallel task to process the output parameters of the parallel task into output parameters that meet the workflow definition requirements. Regarding the implementation forms of the input processing function and the output processing function, please refer to the relevant content of the aforementioned embodiment, which will not be repeated here.

[0079] Accordingly, the definition description information of the parallel task may include: the attribute information of the parallel task, the parallel branch of the parallel task and the attribute information of the parallel branch. Among them, the attribute information of the parallel task may include: the type (Type) and name (Name) of the parallel task, etc., and of course may also include the basic attributes of the task, such as at least one of the transfer node (Next) attribute, error handling (OnError) attribute, completion attribute (End), skip execution attribute (Skip) and timeout handling attribute (Timeout). Since the parallel branch of the parallel task is implemented as a composite task, the attribute information of the parallel branch may include: the attribute information of the composite task, such as the first attribute (used to indicate the starting task of the composite task), that is, the starting node (StartAT) attribute and the second attribute (used to indicate other tasks nested in the composite task), such as the Tasks attribute, etc. The following is an example of the definition description information of a parallel task:

[0080] Example of parallel task definition description:

[0081]

[0082] Figure 7 This is a schematic diagram of the composition of a loop (MapReduce) task provided in an embodiment of the present application. The loop task can process array data in parallel, and the input parameters passed to the loop processor (Map Processor) can be aggregated after calculation by the loop processor, and can be processed by the output processing function to obtain the output parameters of the loop task. Figure 7 As shown, a cyclic task may include multiple cyclic processors, where multiple means 2 or more. Multiple cyclic processors are executed in parallel. The cyclic processor can be implemented as a composite task and has the attributes of a composite task. In the definition description information of the cyclic task, each cyclic processor can be implemented as a composite task and defined separately. Accordingly, the attribute information of the cyclic processor may include: attribute information of the composite task, such as a first attribute (used to indicate the starting task of the composite task), i.e., the starting node (StartAT) attribute and a second attribute (used to indicate other tasks nested in the composite task), such as the Tasks attribute, etc.

[0083] The cyclic task can also support the construction of the input parameters and output parameters of the cyclic task at the input and output of the parallel task. Accordingly, an input processing function can be configured at the input end of the cyclic task to process the input parameters of the cyclic task into input parameters that meet the workflow definition requirements. Of course, an output processing function can also be configured at the output end of the cyclic task to process the output parameters of the cyclic task into output parameters that meet the workflow definition requirements. Regarding the implementation form of the input processing function and the output processing function, please refer to the relevant content of the aforementioned embodiment, which will not be repeated here. The following is an example of a definition description information of a cyclic task:

[0084] Example of a cyclic task definition description:

[0085]

[0086] Figure 8 A schematic diagram of the composition of a repetitive (MapReduce) task provided in an embodiment of the present application. Figure 8 As shown, a cyclic task may include multiple repeating processors, where multiple refers to 2 or more. The number of repeating processors is determined by the number of times the execution needs to be repeated. The repeating processor can be implemented as a composite task and has the attributes of a composite task. In the definition description information of the repeating task, the repeating processor can be implemented as a composite task. Accordingly, the attribute information of the repeating processor may include: attribute information of the composite task, such as the first attribute (used to indicate the starting task of the composite task), i.e., the starting node (StartAT) attribute and the second attribute (used to indicate other tasks nested in the composite task), such as the Tasks attribute, etc.

[0087] Repeating tasks can also support constructing input parameters and output parameters of repeated tasks at the input and output of repeated tasks. Accordingly, an input processing function can be configured at the input end of the repeated task to process the input parameters of the repeated task into input parameters that meet the requirements of the workflow definition. Of course, an output processing function can also be configured at the output end of the repeated task to process the output parameters of the repeated task into output parameters that meet the requirements of the workflow definition. Regarding the implementation form of the input processing function and the output processing function, please refer to the relevant content of the aforementioned embodiment, which will not be repeated here. The following is an example of a definition description information of a cyclic task:

[0088] Example of a repetitive task definition description:

[0089]

[0090] In addition to the aforementioned atomic tasks and compound tasks, the workflow can also include: Choice tasks. Choice tasks can define different execution paths. Fig. 9As shown, the selection task only has the function of promoting the transfer according to the execution conditions, and it is not a compound task. The selection task has multiple branches, and multiple refers to 2 or more. Multiple branches may include a default branch, and the default branch refers to a branch used to execute a default task, such as executing an atomic task by default. The branches of the selection task can be implemented as atomic tasks or as compound tasks. In this application, multiple branches of the selection task are in the same scope, so different branches support on-demand flow, that is, they can be circulated according to the workflow definition requirements. For example, in Fig. 9 In the example, the atomic task of the left branch can point to any task in the composite task of the right branch, that is, the atomic task of the left branch can flow to any task in the composite task of the right branch. The branch of the selected task has two attributes to drive the flow or execution of the selected task. The attribute information of the branch of the selected task includes: execution condition (Condition) and transfer node (Next) attribute. Among them, the execution condition (Condition) indicates the conditions that need to be met to execute the branch. The transfer node (Next) attribute indicates the next task to which the branch flows.

[0091] In the embodiments of the present application, the specific implementation form of the execution condition is not limited. In some embodiments, the execution condition can be expressed using a logical expression. A logical expression is a formula in which a relational expression or a logical quantity is connected by a logical operator. The value of a logical expression is a logical value, that is, true or false. Generally, the Boolean value "1" is used to represent true, and the Boolean value "0" is used to represent false. Accordingly, the execution condition can use a logical expression to calculate the Boolean value, and determine whether to enter a branch based on the Boolean value. For example, the execution condition can be expressed as: $Input.b.b2 == "ready", len("foo")>1 or `b1`in$Input.f&&$Input.b.b1, etc.

[0092] Among them, $Input.b.b2 == "ready" means that the input parameter "b.b2" is true; len("foo")>1 means that the character length of "foo" is greater than 1, which is also true; `b1`in$Input.f&&$Input.b.b1 indicates whether the character "b1" is located in the result of the logical AND of "f" and "b.b1".

[0093] The specification description information of the workflow definition may also include: the definition description information of the selection task. The definition description information of the selection task is used to describe the attribute information of multiple branches contained in the selection task. The attribute information of the branch may include: the execution condition and transfer node of the branch. The transfer node is used to configure the task transferred by the branch. Among them, the branch transfer can be considered as an atomic task or a composite task. For example, Fig. 9The tasks flowing through the left branch are atomic tasks, and the tasks flowing through the right branch are compound tasks.

[0094] The selection task can also support constructing the input parameters and output parameters of the selection task at the input and output of the repeated task. Accordingly, an input processing function can be configured at the input end of the selection task to process the input parameters of the selection task into input parameters that meet the workflow definition requirements. Of course, an output processing function can also be configured at the output end of the selection task to process the output parameters of the selection task into output parameters that meet the workflow definition requirements. Regarding the implementation form of the input processing function and the output processing function, please refer to the relevant content of the aforementioned embodiment, which will not be repeated here. The following is an example of a definition description information of the selection task:

[0095] Example of selecting a task's definition description:

[0096]

[0097] During the actual execution of the workflow, in addition to executing from the start task of the workflow, it can also be executed from a specific target task. The target task can be any task in the workflow. Based on this, in order to realize the execution of the workflow from a specific target task, the workflow definition can be further improved. Accordingly, the specification description information of the workflow definition can also include: the definition description information of the trigger event set for the target task in the workflow. Among them, the definition description information of the trigger event may include: the name of the target task associated with the trigger event and the name of the trigger event, etc. In the event of a trigger event, the workflow can be executed starting from the target task. Among them, an example of the definition description information of the trigger event is as follows:

[0098]

[0099]

[0100] The definition description information of the trigger event above indicates that when event 1 and event 2 occur, the workflow is executed from the "Pass" task.

[0101] In the embodiments of the present application, the driving form of the triggering event is not limited. In some embodiments, an event driven architecture (EDA) can be used to drive the triggering event.

[0102] Based on the examples of the execution units and attribute information of each task in the specification description information of the workflow definition provided in the above embodiments, the attribute information of the task and the execution units contained in the task can be configured according to the workflow definition requirements to achieve task expansion. The combination of the execution unit and the attribute information makes the workflow definition more versatile. When calling the execution unit, the execution unit can be called through a network protocol, for example, the execution unit can be called using protocols such as Hypertext Transfer Protocol (HTTP) or Remote Procedure Call (RPC), but is not limited to this.

[0103] The input processing function and the output processing function based on the task can realize the construction of the input object and the output object, and improve the scalability of the input object and the output object.

[0104] The above embodiment exemplifies the generation process of the standard description information of the workflow definition and the specific implementation form of the standard description information. Based on the standard description information of the workflow definition, the workflow definition can be generated. The generation process of the workflow definition is exemplified below.

[0105] Fig.10 1 is a flow chart of another method for processing workflow definitions provided in an embodiment of the present application. The method for processing workflow definitions is mainly used to generate workflow definitions. Fig.10 As shown, the processing method of the workflow definition mainly includes:

[0106] 1001. Obtain standard description information of workflow definition and workflow definition requirement information.

[0107] 1002. Obtain, from the workflow definition requirement information, the name of the target start task of the target composite task to be defined, and the names and attribute information of other tasks that are in a nested relationship with the target composite task.

[0108] 1003. Based on the standard description information of the workflow definition, configure the name of the target start task for the first attribute of the target composite task, and configure the names of other tasks for the second attribute of the target composite task.

[0109] 1004. According to the attribute information of other tasks, configure the attributes of other tasks to obtain the workflow definition of the target complex task.

[0110] In this embodiment, in order to generate a workflow definition that meets the workflow definition requirements, in step 1001, the standard description information of the workflow definition and the workflow definition requirement information can be obtained. For the description of the standard description information of the workflow definition, please refer to the relevant content of the aforementioned embodiment, which will not be repeated here. In this embodiment, the workflow definition requirement information is used to describe the requirements of the workflow definition, including: attribute information of the tasks included in the workflow. Among them, the attribute information of the task includes but is not limited to: type, name, execution units included in the task, and other attribute information that guides the actions of the execution units. The attribute information of different tasks may be different. For the description of the attribute information of different tasks, please refer to the relevant content of the aforementioned embodiment, which will not be repeated here.

[0111] The tasks included in the workflow may include: atomic tasks, composite tasks and / or selection tasks. For atomic tasks, the attribute information of the atomic tasks may be obtained from the workflow definition requirement information; and according to the attribute information of the atomic tasks, the attributes of the atomic tasks may be configured to obtain the workflow definition of the atomic tasks.

[0112] For a composite task, in step 1002, the name of the target starting task of the target composite task to be defined, the names of other tasks that are in a nested relationship with the target composite task, and the attribute information of other tasks can be determined according to the workflow definition requirement information. Among them, other tasks that are in a nested relationship with the target composite task refer to other tasks nested by the target composite task. Other tasks nested in a composite task may include: atomic tasks, composite tasks and / or selection tasks. For the description of the implementation form and attribute information of other tasks nested in a composite task, please refer to the relevant content of the aforementioned embodiment, which will not be repeated here.

[0113] Specifically, the name of the target starting task of the target composite task to be defined and the names of other tasks that are in a nested relationship with the target composite task can be obtained from the workflow definition requirement information. Further, the attribute information of other tasks nested by the target composite task can be determined according to the workflow definition requirement information. The specific implementation form of this step will be described below and will not be repeated here.

[0114] Further, in step 1003, based on the standard description information of the workflow definition, the name of the target starting task can be configured for the first attribute of the target composite task, and the names of other tasks nested by the target composite task can be configured for the second attribute of the target composite task. For the description of the first attribute and the second attribute of the composite task, please refer to the relevant content of the above embodiment, which will not be repeated here.

[0115] Furthermore, in step 1004, the attributes of other tasks may be configured according to the attribute information of other tasks nested in the target composite task, thereby obtaining a workflow definition of the target composite task.

[0116] In this embodiment, the composite task is configured with an attribute that supports composite tasks to nest other tasks, so that the composite task supports free nesting. Based on this attribute, when defining a workflow, other tasks to be nested in the composite task can be configured as needed according to the workflow definition requirement information, so as to achieve on-demand nesting between tasks, expand the capabilities of workflow definition, and improve the workflow definition. Therefore, it helps to improve the clarity of workflow definition and facilitate users who use workflow services to understand the workflow definition.

[0117] For a composite task, in addition to defining the starting task of the composite task, i.e., the starting node, it is also necessary to define the ending node of the composite task, i.e., when the composite task is executed to which task, the execution of the composite task is terminated. Therefore, the attribute information of at least one task among other tasks nested in the composite task includes an ending attribute (i.e., the End attribute), which is used to terminate the execution of the composite task when the composite task is executed to a task with an ending attribute. Among them, the output of the task with an ending attribute is the output of the composite task. Accordingly, the workflow definition requirement information may include: the ending node corresponding to the target composite task. Among them, the ending node is at least one task among other tasks nested in the target composite task.

[0118] For a composite task that is nested with multiple other tasks, the execution order of the multiple other tasks needs to be clarified to realize the execution of the composite task. Therefore, the attribute information of the other tasks nested in the target composite task included in the workflow definition requirement information may include: the flow relationship between the other tasks nested in the target composite task, that is, the execution order between the other tasks.

[0119] Based on the above analysis, when determining the attribute information of other tasks nested in the target composite task according to the workflow definition requirement information, the flow relationship between other tasks nested in the target composite task and the completion nodes contained in other tasks can be obtained from the workflow definition requirement information. The completion node is at least one task among the other tasks nested in the target composite task.

[0120] Furthermore, the transfer node (Next) attribute information of other tasks nested in the target composite task can be determined according to the flow relationship between other tasks nested in the target composite task; that is, which other task is the transfer node of each other task. Correspondingly, the completion attribute information of other tasks nested in the target composite task can also be determined according to the completion node corresponding to the target composite task, that is, which other task needs to configure the completion attribute (End).

[0121] Accordingly, the above step 1004 can be implemented as follows: according to the transfer node attribute information of other tasks nested in the target composite task, the transfer node attributes of these other tasks are configured to determine the execution order between the other tasks nested in the target composite task; and according to the completion attribute (End) information of other tasks nested in the target composite task, the completion attribute is configured for at least one task in the other tasks that serves as a completion node. When the target composite task executes to at least one task that serves as a completion node, the execution of the target composite task can be terminated.

[0122] In order to improve the workflow definition, it is also possible to support the construction of input parameters and output parameters of the composite task at the input and output of the composite task. Accordingly, an input processing function can be configured at the input end of the composite task to process the input parameters of the composite task into input parameters that meet the workflow definition requirements. Of course, an output processing function can also be configured at the output end of the composite task to process the output parameters of the composite task into output parameters that meet the workflow definition requirements. The input processing function and the output processing function can be flexibly set according to the workflow definition requirements. Accordingly, the workflow definition requirement information can also include: the input processing function and the output processing function of the target composite task. Wherein, the description of the input processing function and the output processing function can refer to the relevant content of the aforementioned embodiment, which will not be repeated here.

[0123] Correspondingly, the input processing function and output processing function of the target composite task can also be obtained from the workflow definition requirement information; the input processing function is configured at the input end of the target composite task to process the input parameters of the target composite task into input parameters that meet the workflow definition requirement information; and, the output processing function is configured at the output end of the target composite task to process the output parameters of the composite task into output parameters that meet the workflow definition requirement information.

[0124] For the selection task, the execution conditions and transfer node attribute information of multiple branches of the selection task can be obtained from the workflow definition requirement information; and according to the scale description information of the workflow definition, the execution conditions and transfer nodes of the selection task are configured according to the execution conditions and transfer node attribute information of multiple branches of the selection task to obtain the workflow definition of the selection task.

[0125] Of course, input processing functions and output processing functions can also be configured for atomic tasks and selection tasks. In some embodiments, the workflow includes atomic tasks. The workflow definition requirement information may also include: input processing functions and output processing functions of atomic tasks. Based on this, the input processing function and output processing function of the atomic task can be obtained from the workflow definition requirement information; the input processing function is configured at the input end of the atomic task to process the input parameters of the atomic task into input parameters that meet the workflow definition requirement information; and the output processing function is configured at the output end of the atomic task to process the output parameters of the atomic task into output parameters that meet the workflow definition requirement information.

[0126] In some other embodiments, the workflow includes: a selection task. The workflow definition requirement information may also include: an input processing function and an output processing function of the selection task. Based on this, the input processing function and the output processing function of the selection task may be obtained from the workflow definition requirement information; the input processing function may be configured at the input end of the selection task to process the input parameters of the selection task into input parameters that meet the workflow definition requirement information; and the output processing function may be configured at the output end of the selection task to process the output parameters of the selection task into output parameters that meet the workflow definition requirement information.

[0127] The above-mentioned embodiments exemplarily illustrate the generation process of workflow definition, improve the workflow definition, and enable users to understand the workflow definition more conveniently, thereby improving the clarity of the workflow definition.

[0128] In addition to generating a workflow definition, the embodiment of the present application can also execute a workflow based on the workflow definition. The following is an exemplary description of the execution process of the workflow definition provided in the embodiment of the present application.

[0129] Fig.11 A flowchart of another method for processing workflow definition provided in an embodiment of the present application is provided. The method is mainly used to execute a workflow based on workflow definition information. Fig.11 As shown, the method mainly includes:

[0130] 1101. Obtain workflow definition information; the workflow definition information includes: at least one first task and the execution order between at least one first task; the first task includes at least one execution unit and attribute information guiding the action of at least one execution unit; at least one first task includes: a target composite task that nests other second tasks.

[0131] 1102. According to the execution order of at least one first task and based on the attribute information guiding the action of at least one execution unit, control the action of the execution unit in at least one first task to execute the at least one first task.

[0132] 1103. When executing the target complex task, obtain the starting task of the target complex task and the task with completion attribute in the second task from the workflow definition information.

[0133] 1104. Execute the target complex task from the start task, and end the execution of the target complex task when executing a task with a completion attribute.

[0134] In this embodiment, the workflow definition information is a workflow definition generated based on the specification description information of the workflow definition and the workflow definition requirement information. The workflow definition information may include: at least one first task and the execution order between at least one first task. Among them, the execution order between at least one first task is determined by the transfer node (Next) attribute of the first task. The first task includes at least one execution unit and attribute information guiding the action of at least one execution unit. For the description of the execution unit and the attribute information guiding the action of the execution unit, please refer to the relevant content of the aforementioned embodiment, which will not be repeated here. Among them, the attribute information guiding the action of the execution unit can also be referred to as the attribute information of the first task.

[0135] Since the workflow definition information defines the execution order between tasks and the guidance information of the execution unit actions contained in the tasks, in order to execute the workflow, the workflow definition information can be obtained in step 1101; and in step 1102, according to the execution order of at least one first task contained in the workflow definition information and based on the attribute information guiding at least one execution unit action contained in the first task, the execution unit action in the first task is controlled to execute the at least one first task and realize the execution of the workflow.

[0136] In this embodiment, the first task may include: an atomic task, a composite task and / or a selection task. For the embodiment in which the first task includes: a target composite task with other second tasks nested therein, when the target composite task is executed, in step 1103, the starting task of the target composite task and the task with a completion attribute in the second task nested therein may be obtained from the workflow definition information; then, in step 1104, the target composite task may be executed from the actual task, and the execution of the target composite task may be terminated when the task with the completion attribute is executed.

[0137] In this embodiment, based on the property that the composite task supports nesting other tasks, other tasks nested in the composite task are configured as needed to obtain workflow definition information. Based on the workflow definition information, the execution of other tasks nested in the composite task can be realized, the capability of workflow definition is expanded, and the workflow definition is improved.

[0138] In some embodiments, the input end and output end of the target composite task are assigned with an input processing function and an output processing function. Accordingly, the workflow definition information may also include: the input processing function and the output processing function of the target composite task. Based on this, the above step 1104 can be implemented as follows: calling the input processing function of the target composite task to process the input parameters of the target composite task to obtain the input parameters of the starting task of the target composite task; inputting the input parameters of the starting task into the starting task, and executing the starting task; thereafter, executing the second tasks in sequence according to the flow relationship between other second tasks nested in the target composite task, and when executing a task with a completion attribute, calling the output processing function to process the output parameters of the target composite task to obtain the target output parameters of the target composite task, and ending the execution of the target composite task.

[0139] The above embodiment focuses on describing the process of executing a complex task according to the workflow definition information. Of course, the workflow definition information may also include: workflow definition information of atomic tasks and / or workflow definition information of selection tasks. For atomic tasks, the execution unit of the atomic task may be executed according to the attribute information of the atomic task. For selection tasks, the branch to be executed may be determined according to the execution conditions of multiple branches of the selection task; and the branch to be executed may be executed according to the workflow definition information of the branch to be executed.

[0140] It should be noted that the workflow can execute the first tasks in order according to the flow relationship of at least one first task in the workflow definition information. In some embodiments, the first task has a target task configured with a trigger event. The workflow definition information may also include: the name of the target task configured with the trigger event and the trigger event. Accordingly, when the occurrence of the trigger event is detected, the workflow can be executed from the target task to realize the event triggering of the workflow.

[0141] It should be noted that the execution subject of each step of the method provided in the above embodiment can be the same device, or the method can be executed by different devices. For example, the execution subject of steps 101 and 102 can be device A; for another example, the execution subject of step 101 can be device A, and the execution subject of step 102 can be device B; and so on.

[0142] In addition, in some of the processes described in the above embodiments and the accompanying drawings, multiple operations appearing in a specific order are included, but it should be clearly understood that these operations may not be executed in the order in which they appear in this document or may be executed in parallel, and the serial numbers of the operations, such as 101, 102, etc., are only used to distinguish between different operations, and the serial numbers themselves do not represent any execution order. In addition, these processes may include more or fewer operations, and these operations may be executed in sequence or in parallel.

[0143] Accordingly, an embodiment of the present application also provides a computer-readable storage medium storing computer instructions. When the computer instructions are executed by one or more processors, the one or more processors are caused to execute the steps in the processing methods defined by the above-mentioned workflows.

[0144] Fig.12 This is a schematic diagram of the structure of a computing device provided in an embodiment of the present application. Fig.12 As shown, the computing device may include: a memory 12a and a processor 12b, wherein the memory is used to store computer programs.

[0145] The processor 12b is coupled to the memory 12a, and is used to execute the computer program to execute the steps in the workflow definition processing method provided in the above embodiments. The specific implementation of each step can be found in the related description of the above embodiments, which will not be repeated here.

[0146] In some optional embodiments, such as Fig.12 As shown, the computing device may also include optional components such as a power component 12d, a display component 12e, and an audio component 12f. Fig.12 The components are shown schematically only and do not necessarily include Fig.12 The components shown do not necessarily mean that the computing device can only include Fig.12 Components shown.

[0147] in addition, Fig.12 The components in the dashed box are optional components, not mandatory components, and may depend on the product form of the computing device. The computing device of this embodiment may be implemented as a terminal device such as a desktop computer, a laptop computer, a mobile phone, or an IoT device; or it may be various server devices such as a traditional server, a cloud server, or a server cluster.

[0148] For example, for the embodiment of generating standard description information of workflow definition in the workflow definition processing method provided in the aforementioned embodiment, the computing device may include: a display component 12e, and displaying an editing interface corresponding to the workflow definition through the display component 12e.

[0149] In an embodiment of the present application, the memory is used to store a computer program and can be configured to store various other data to support operations on the device where it is located. Among them, the processor can execute the computer program stored in the memory to implement the corresponding control logic. The memory can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (Static Random-Access Memory, SRAM), electrically erasable programmable read only memory (Electrically Erasable Programmable Read Only Memory, EEPROM), erasable programmable read only memory (Electrical Programmable Read Only Memory, EPROM), programmable read only memory (Programmable Read Only Memory, PROM), read only memory (Read Only Memory, ROM), magnetic memory, flash memory, magnetic disk or optical disk.

[0150] In the embodiment of the present application, the processor can be any hardware processing device that can execute the logic of the above method. Optionally, the processor can be a central processing unit (CPU), a graphics processing unit (GPU) or a microcontroller unit (MCU); it can also be a field programmable gate array (FPGA), a programmable array logic device (PAL), a general array logic device (GAL), a complex programmable logic device (CPLD) and other programmable devices; or an advanced reduced instruction set (RISC) processor (Advanced RISC Machines, ARM) or a system on chip (SoC), etc., but not limited to this.

[0151] In an embodiment of the present application, the communication component is configured to facilitate wired or wireless communication between the device in which it is located and other devices. The device in which the communication component is located can access a wireless network based on a communication standard, such as Wireless Fidelity (WiFi), 2G or 3G, 4G, 5G or a combination thereof. In an exemplary embodiment, the communication component receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component can also be based on Near Field Communication (NFC) technology, Radio Frequency Identification (RFID) technology, Infrared Data Association (IrDA) technology, Ultra Wide Band (UWB) technology, Bluetooth (BT) technology or other technologies.

[0152] In an embodiment of the present application, the display component may include a liquid crystal display (LCD) and a touch panel (TP). If the display component includes a touch panel, the display component may be implemented as a touch screen to receive input signals from a user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundaries of a touch or slide action, but also detect the duration and pressure associated with the touch or slide operation.

[0153] In an embodiment of the present application, a power supply component is configured to provide power to various components of the device in which it is located. The power supply component may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the device in which the power supply component is located.

[0154] In an embodiment of the present application, the audio component may be configured to output and / or input audio signals. For example, the audio component includes a microphone (Microphone, MIC), and when the device where the audio component is located is in an operating mode, such as a call mode, a recording mode, and a speech recognition mode, the microphone is configured to receive an external audio signal. The received audio signal may be further stored in a memory or sent via a communication component. In some embodiments, the audio component also includes a speaker for outputting an audio signal. For example, for a device with a language interaction function, voice interaction with a user can be achieved through an audio component.

[0155] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.

[0156] It should also be noted that the descriptions such as "first" and "second" in this article are used to distinguish different messages, devices, modules, etc., and do not represent the order of precedence, nor do they limit "first" and "second" to different types.

[0157] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, compact disc read-only memory (Compact Disc Read-Only Memory, CD-ROM), optical storage, etc.) that contain computer-usable program code.

[0158] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0159] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0160] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

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

[0162] Memory may include non-permanent storage in a computer-readable medium, random-access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.

[0163] The storage medium of a computer is a readable storage medium, which may also be referred to as a readable medium. The readable storage medium includes permanent and non-permanent, removable and non-removable media that can be used to store information by any method or technology. The information can be a computer-readable instruction, a data structure, a module of a program, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disc (DVD) or other optical storage, magnetic cassettes, disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include temporary computer-readable media (transitory media), such as modulated data signals and carrier waves.

[0164] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of further restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the above elements.

[0165] The above contents are only embodiments of the present application and are not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included within the scope of the claims of the present application.

Claims

1. A method for processing workflow definitions, It is characterized in that include: Display the editing interface corresponding to the workflow definition; In response to an information editing operation on the workflow definition on the editing interface, generating standard description information of the workflow definition; Among them, the standard description information of the workflow definition includes: the definition description information of the composite task; the definition description information of the composite task includes: the attribute information of the composite task; the attribute information of the composite task includes: a first attribute for indicating the starting task of the composite task and a second attribute for supporting the configuration of the composite task to nest other tasks, so as to configure the other tasks nested in the composite task through the second attribute according to the workflow definition requirements; the other tasks include composite tasks and / or atomic tasks.

2. The method according to claim 1, It is characterized in that The definition description information of the composite task also includes: definition description information of the other tasks; The definition description information of the other tasks includes: attribute information of the execution unit and the other tasks; the attribute information of the other tasks is used to guide the actions of the execution unit; the attribute information of at least one of the other tasks includes: a completion attribute, which is used to end the execution of the composite task when the composite task executes to the at least one task.

3. The method according to claim 1, It is characterized in that Any task saves its input parameters and output parameters through context variables; the context variables of other tasks nested by the composite task also save the input parameters of the composite task and / or the input parameters of the workflow where the composite task is located so that the other tasks can access the input parameters of the composite task and / or the workflow.

4. The method according to any one of claims 1 to 3, It is characterized in that The composite task supports configuring an input processing function; the input processing function is used to process the input parameters of the composite task into input parameters that meet the requirements of the workflow definition; The composite task supports configuring an output processing function; the output processing function is used to process the output parameters of the composite task into output parameters that meet the requirements of the workflow definition.

5. The method according to any one of claims 1 to 3, It is characterized in that The specification description information of the workflow definition also includes: definition description information of a selection task, wherein the definition description information of the selection task is used to describe the attribute information of multiple branches included in the selection task; the multiple branches are in the same scope, and the multiple branches support on-demand flow; The attribute information of the multiple branches includes: execution conditions and transfer nodes of the multiple branches; the transfer nodes are used to configure the tasks transferred by the multiple branches; the tasks transferred by the multiple branches are atomic tasks or compound tasks.

6. The method according to claim 5, It is characterized in that The selection task supports configuring an input processing function; the input processing function is used to process the input parameters of the selection task into input parameters that meet the workflow definition requirements; The selection task supports configuring an output processing function; the output processing function is used to process the output parameters of the selection task into output parameters that meet the workflow definition requirements.

7. The method according to any one of claims 1 to 3, It is characterized in that The specification information of the workflow definition also includes: definition description information of atomic tasks; the atomic tasks include a single execution unit and attribute information guiding the action of the single execution unit; The attribute information guiding the action of the single execution unit includes: at least one of the name, transfer node, completion attribute, skip execution attribute, timeout processing attribute and error processing attribute of the single execution unit.

8. The method according to claim 7, It is characterized in that The atomic task supports configuring an input processing function; the input processing function is used to process the input parameters of the atomic task into input parameters that meet the workflow definition requirements; The atomic task supports configuring an output processing function; the output processing function is used to process the output parameters of the atomic task into output parameters that meet the workflow definition requirements.

9. The method according to any one of claims 1 to 3, It is characterized in that The specification description information also includes: definition description information of the trigger event set for the target task in the workflow; the definition description information of the trigger event includes: the name of the target task associated with the trigger event and the name of the trigger event, so that when the trigger event occurs, the workflow is executed starting from the target task.

10. A method for processing workflow definitions, It is characterized in that include: Obtaining workflow definition specification description information and workflow definition requirement information; Determine, according to the workflow definition requirement information, the name of the target starting task of the target composite task to be defined, the names of other tasks that are in a nested relationship with the target composite task, and the attribute information of the other tasks; Based on the specification description information of the workflow definition, configuring the name of the target start task for the first attribute of the target composite task, and configuring the names of the other tasks for the second attribute of the target composite task; According to the specification description information of the workflow definition and the attribute information of the other tasks, the attributes of the other tasks are configured to obtain the workflow definition of the target complex task.

11. The method according to claim 10, It is characterized in that Also includes: Acquire the input processing function and the output processing function of the target complex task from the workflow definition requirement information; configuring the input processing function at the input end of the target complex task to process the input parameters of the target complex task into input parameters that meet the workflow definition requirement information; The output processing function is configured at the output end of the target complex task to process the output parameters of the target complex task into output parameters that meet the workflow definition requirement information.

12. A method for processing workflow definitions, It is characterized in that include: Get workflow definition information; The workflow definition information includes: at least one first task and the execution order between the at least one first task; the first task includes at least one execution unit and attribute information guiding the action of the at least one execution unit; the at least one first task includes: a target composite task nesting other second tasks; According to the execution order of the at least one first task and based on the attribute information guiding the action of the at least one execution unit, control the action of the execution unit in the at least one first task to execute the at least one first task; When the target complex task is executed, obtaining the starting task of the target complex task and the tasks with completion attributes in the second tasks from the workflow definition information; The target complex task is executed from the start task, and the execution of the target complex task is terminated when the task with the completion attribute is executed.

13. A computing device, It is characterized in that include: A memory and a processor; wherein the memory is used to store a computer program; The processor is coupled to the memory and configured to execute the computer program to perform the steps of the method according to any one of claims 1 to 12.

14. A computer-readable storage medium storing computer instructions, It is characterized in that When the computer instructions are executed by one or more processors, the one or more processors are caused to execute the steps in the method according to any one of claims 1 to 12.