A template management method, template management device, electronic device, and storage medium.

By customizing the tasks and attributes of information editing nodes, generating custom templates, and reusing edited nodes, the problem of low efficiency in creating workflow processes is solved, and more efficient workflow process creation is achieved.

CN119720979BActive Publication Date: 2026-03-06CONTEMPORARY AMPEREX TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-09-28
Publication Date
2026-03-06

AI Technical Summary

Technical Problem

During the orchestration phase of the workflow engine, users need to define each node from scratch every time a new workflow is created, resulting in low efficiency in creating workflows.

Method used

By customizing the tasks and attributes of information editing nodes, custom templates can be generated and edited nodes can be reused in workflow processes, simplifying the workflow creation process.

Benefits of technology

It improves the efficiency of workflow creation, supports personalized node requirements, and ensures the smooth execution of tasks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119720979B_ABST
    Figure CN119720979B_ABST
Patent Text Reader

Abstract

This application discloses a template management method, template management device, electronic device, and computer-readable storage medium. The method includes: in response to a first selection instruction, determining a node to be edited; in response to the node to be edited, obtaining custom information, and determining an edited node based on the custom information, wherein the custom information is used to define the task and / or attributes of the node to be edited to obtain the edited node; and publishing a custom template based on the edited node. This application's solution can improve the efficiency of creating new workflow processes.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of computer technology, and in particular relates to a template management method, template management device, electronic device, and computer-readable storage medium. Background Technology

[0002] High-throughput computing refers to the processing and analysis of large amounts of data using massive computing resources, a process that typically involves numerous computational tasks and data operations. To automate the management and scheduling of these large-scale computational tasks and data operations, workflow engines have been designed to improve computational efficiency and the speed of data operations.

[0003] The core implementation logic of a workflow engine mainly includes orchestration, scheduling, monitoring, exception handling, and result output. However, every time a new workflow is created during the orchestration phase, the user needs to define and connect all the required nodes from scratch, which can easily affect the efficiency of workflow creation. Summary of the Invention

[0004] This application provides a template management method, template management device, electronic device, and computer-readable storage medium that can improve the efficiency of creating new workflow processes.

[0005] Firstly, this application provides a template management method, including:

[0006] In response to the first selection command, determine the node to be edited;

[0007] In response to the node to be edited, custom information is obtained, and the edited node is determined based on the custom information. The custom information is used to define the task and / or attributes of the node to be edited in order to obtain the edited node.

[0008] Publish a custom template based on the edited nodes.

[0009] The workflow engine proposes node-based template management. Specifically, the smallest controllable object in template management is the node. This application uses custom information to edit selected nodes, ultimately resulting in an edited node. This custom information defines the node's task, allowing it to perform tasks according to the user's personalized needs. Furthermore, it defines the node's attributes, ensuring these attributes match the task to be performed, guaranteeing successful execution. The electronic device publishes the edited nodes as custom templates, which can be reused during workflow creation. In summary, this application proposes template management during the workflow engine's orchestration phase, simplifying workflow creation and improving its efficiency.

[0010] In some embodiments, publishing a custom template based on an edited node includes:

[0011] If there is only one edited node, publish the edited node as a custom node template;

[0012] If there are two or more edited nodes, publish the two or more edited nodes as a custom process template based on the connection relationship between them.

[0013] Considering the varying complexity of tasks, the workflow editing platform can publish a custom node template for completing simple tasks using a single edited node, or a custom process template for completing complex tasks using multiple edited nodes. This enriches the types of custom templates and provides more possibilities for the reuse of custom templates in the future.

[0014] In some embodiments, the custom information includes: code information and / or attribute information, where the code information is used to define the task of the node to be edited, and the attribute information is used to define the attributes of the node to be edited; in response to the node to be edited, obtaining the custom information and determining the edited node based on the custom information includes:

[0015] The information editing page for the node to be edited is displayed. The information editing page includes: a code editing page and / or an attribute editing page. The code editing page is displayed as a text input box, and the attribute editing page is displayed as a form drawer.

[0016] Obtain custom information through the information editing page;

[0017] Edit the node to be edited based on the custom information to obtain the edited node.

[0018] The workflow editing platform primarily defines nodes using code information and attribute information; specifically, code information defines tasks, and attribute information defines attributes. Based on the different representations of these two types of information, the platform proposes two types of editing pages: a code editing page and an attribute editing page. Since code information generally relies on text input, the code editing page can be presented as a text input box; since attribute information is generally only input within a given range of attribute values, the attribute editing page can be presented as a form drawer. These two types of editing pages enable flexible editing of nodes.

[0019] In some embodiments, where the information editing page includes an attribute editing page, obtaining custom information through the information editing page includes:

[0020] Based on the node type of the node to be edited, determine the unique attributes associated with the node to be edited;

[0021] Receive attribute information for unique attributes through the attribute editing page.

[0022] The workflow editing platform pre-defines various node types to execute different types of tasks. Based on this, the platform also introduces the concept of unique attributes associated with different node types. These unique attributes are attributes exclusive to a specific node type. By customizing these unique attributes, different nodes can support different data inputs / outputs according to their intended use, thus enhancing the relevance of the nodes.

[0023] In some embodiments, the template management method further includes:

[0024] In response to the second selection command, multiple objects to be edited are identified;

[0025] In response to at least two connection instructions, the execution order of multiple objects to be edited is determined to generate a workflow.

[0026] All currently published custom templates can be reused during the workflow creation process. This includes not only custom templates published by the current user but also those published by other users, thus broadening the application scenarios for each custom template. Furthermore, if the custom templates are insufficient to meet the current workflow creation requirements, the workflow editing platform still provides various editable basic nodes. Through these methods, the final generated workflow can consist of currently published custom templates and / or the basic nodes that have been edited in this session, improving both the efficiency and flexibility of workflow editing.

[0027] In some embodiments, in response to at least two connection instructions, determining the execution order of multiple objects to be edited includes:

[0028] Based on the preset connection rules, determine whether the directed connection indicated by each connection command is valid;

[0029] In the presence of valid directed connections, the execution order of the two objects to be edited connected by each valid directed connection is determined according to the direction of each valid directed connection.

[0030] Each connection instruction actually indicates a directed connection. The workflow editing platform can thus construct the execution order between different objects to be edited through directed connections, which is not only more intuitive but also easier to modify. During this process, the workflow editing platform also judges the validity of the directed connections to ensure that the final generated workflow can be executed smoothly.

[0031] In some embodiments, determining whether the directed connection indicated by each connection command is valid according to preset connection rules includes:

[0032] Based on the preset rules for the number of connections and the preset rules for the start and end positions of connections, determine whether the directed connection indicated by each connection command is valid.

[0033] To ensure the smooth generation of workflows, the workflow editing platform can comprehensively assess the validity of each directed connection from two different dimensions: the number of connections and the start and end positions of the connections, in order to minimize the occurrence of invalid directed connections.

[0034] Secondly, this application provides a template management device, comprising:

[0035] The first determining module is used to determine the node to be edited in response to the first selection instruction;

[0036] The editing module is used to respond to the node to be edited, obtain custom information, and determine the edited node based on the custom information. The custom information is used to define the task and / or attributes of the node to be edited in order to obtain the edited node.

[0037] The publish module is used to publish custom templates based on edited nodes.

[0038] Thirdly, this application provides an electronic device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the steps of the method described in the first aspect.

[0039] Fourthly, this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the method described in the first aspect above.

[0040] Fifthly, this application provides a computer program product comprising a computer program that, when executed by one or more processors, implements the steps of the method described in the first aspect.

[0041] It is understood that the beneficial effects of the second to fifth aspects mentioned above can be found in the relevant descriptions in the first aspect mentioned above, and will not be repeated here. Attached Figure Description

[0042] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0043] Figure 1 This is a flowchart illustrating the template management method provided in an embodiment of this application;

[0044] Figure 2 This is an example diagram of the editing page of the workflow editing platform provided in this application embodiment;

[0045] Figure 3 This is an example diagram of valid and invalid directed connections provided in the embodiments of this application;

[0046] Figure 4 This is a structural block diagram of the template management device provided in the embodiments of this application;

[0047] Figure 5 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application. Detailed Implementation

[0048] The embodiments of the technical solution of this application will now be described in detail with reference to the accompanying drawings. These embodiments are only used to more clearly illustrate the technical solution of this application and are therefore merely examples, and should not be used to limit the scope of protection of this application.

[0049] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains; the terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the application; the terms “comprising” and “having”, and any variations thereof, in the specification, claims, and foregoing description of the drawings are intended to cover non-exclusive inclusion.

[0050] In the description of the embodiments of this application, technical terms such as "first" and "second" are used only to distinguish different objects and should not be construed as indicating or implying relative importance or implicitly indicating the number, specific order, or primary and secondary relationship of the indicated technical features.

[0051] In this document, the term "embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.

[0052] In the description of the embodiments in this application, the term "and / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. Additionally, the character " / " in this document generally indicates that the preceding and following related objects have an "or" relationship.

[0053] In the description of the embodiments of this application, the term "multiple" refers to two or more (including two), unless otherwise expressly and specifically defined.

[0054] High-throughput computing refers to the processing and analysis of massive amounts of data using large-scale computing resources. This process typically involves numerous computational tasks and data operations. Achieving high-throughput computing usually requires multiple steps, each potentially involving different computing tools, data sources, and computing resources, and these steps also require coordination and management. Currently, workflow engines have been designed to automate the management and scheduling of these large-scale computational tasks and data operations, improving computational efficiency and the speed of data operations.

[0055] The core implementation logic of a workflow engine mainly includes orchestration, scheduling, monitoring, exception handling, and result output. Specifically, in the orchestration of different workflows, there may be some fixed processes to varying degrees. However, each time a new workflow is created during the orchestration phase, the user needs to define and connect all the required nodes from scratch, which easily affects the efficiency of workflow creation. Based on the above considerations, this application proposes a template management method that can publish custom templates based on edited nodes, thereby enabling the reuse of edited nodes during workflow creation and improving creation efficiency. To illustrate the technical solution proposed in this application, specific embodiments are described below.

[0056] The following describes a template management method provided by an embodiment of this application. This template management method can be applied to electronic devices equipped with a workflow engine, including but not limited to computers. Please refer to... Figure 1 The template management method in this application embodiment includes:

[0057] Step 101: In response to the first selection instruction, determine the node to be edited.

[0058] The workflow engine provides a workflow editing platform, allowing users to complete various operations during the orchestration phase. The workflow engine can pre-configure the basic nodes supported by the workflow editing platform according to its object-oriented requirements. Specifically, the basic nodes can be divided into two main categories: general nodes and business nodes. General nodes are used to execute general tasks, while business nodes are used to execute specific tasks related to business operations.

[0059] In some examples, general nodes can be further subdivided into: start nodes, end nodes, task nodes, grouping nodes, decision nodes, parallel nodes, and repeating parallel nodes. Specifically, a start node indicates the beginning of a workflow, an end node indicates the end of a workflow, a task node indicates a user-defined task, a grouping node indicates a grouping operation, a decision node indicates the task corresponding to different decision results, a parallel node indicates tasks executed in parallel at the same time, and a repeating parallel node indicates tasks executed in parallel multiple times.

[0060] Specifically, both parallel nodes and decision nodes involve more than two tasks. In some examples, the branching structure can be set up in the form of task lines, with one task line corresponding to one task node. Initially, only two task lines are set up, and more can be added later as needed (specifically, adding task lines and then configuring the task nodes corresponding to those task lines). In other examples, the branching structure can also be set up directly in the form of task nodes. Initially, only two task nodes are set up, and more can be added later as needed (specifically, directly adding task nodes and then performing normal connection operations).

[0061] In other examples, depending on the specific business scenario of high-throughput computing, the business nodes can be further subdivided into: Gaussian nodes, Hypertext Transfer Protocol (HTTP) nodes, and result display nodes. Specifically, Gaussian nodes are used to perform Gaussian computation tasks, HTTP nodes are used to perform HTTP call tasks, and result display nodes are used to perform result display tasks.

[0062] The workflow editing platform can display its supported basic nodes through a screen interface for user selection. Users can input a first selection command into the workflow editing platform via touch, mouse, or remote control, based on their task requirements. This first selection command selects the basic node to be edited. The workflow editing platform then receives and responds to this first selection command, designating the selected basic node as the node to be edited. The number of nodes to be edited can be one, two, or more; this embodiment does not limit the number of nodes to be edited.

[0063] Step 102: In response to the node to be edited, obtain custom information and determine the node that has been edited based on the custom information.

[0064] Users can iterate through the nodes to be edited, inputting custom information into each node. In this way, the workflow editing platform can respond to each node according to the iteration order, obtaining the corresponding custom information by receiving user input. Specifically, some basic nodes may have fixed attributes, with only tasks being configurable; some basic nodes may have fixed tasks, with only attributes being configurable; and some basic nodes may have both configurable attributes and tasks. Based on this, the uses of custom information can include at least one of the following: defining the tasks of the corresponding nodes to be edited, where there can be one or more tasks; and defining the attributes of the corresponding nodes to be edited.

[0065] It's important to note that for each node to be edited, if its corresponding custom information defines a task and an attribute, the workflow editing platform can also determine the legality of the task, the legality of the attribute, and the compatibility between the task and the attribute. That is, the workflow editing platform can determine whether the task is legal, whether the attribute is legal, and whether there are any conflicts between the task and the attribute. If either is invalid, or if they are incompatible (i.e., there is a conflict), the workflow editing platform can output a reminder message to prompt the user to re-enter the custom information for that node. Of course, even if the custom information for a node to be edited only defines a task or an attribute, that task or attribute must still be legal.

[0066] It is understandable that nodes with defined tasks and attributes can perform their functional operations normally. Therefore, for nodes awaiting editing that have acquired the corresponding custom information and have completed the definition of tasks and / or attributes based on that information, the workflow editing platform can consider them to have completed editing. For ease of distinction, nodes awaiting editing after completion of editing can be recorded as edited nodes; that is, the distinction between edited nodes and nodes awaiting editing lies in whether the definition of tasks and / or attributes has been completed based on the acquired custom information.

[0067] Step 103: Publish a custom template based on the edited nodes.

[0068] It is understood that an edited node is already an executable node. Upon receiving a publish instruction, the workflow editing platform can respond by publishing a custom template based on the edited node. In some examples, the publish instruction can be input by the user through touch, mouse control, or remote control, or it can be generated by the workflow editing platform itself. The published custom template can be saved in the workflow editing platform for use in subsequent workflow creation, thereby achieving the reuse of edited nodes. That is, for certain fixed processing flows, this application embodiment can publish them as templates, so that users no longer have to create them from scratch each time.

[0069] As can be seen from the above, in this embodiment, the workflow engine proposes node-based template management. Specifically, the smallest controllable object in template management is a node. This application uses custom information to edit selected nodes, ultimately resulting in edited nodes. It can be understood that, on the one hand, the custom information can define the node's task, allowing the node to perform tasks according to the user's personalized needs; on the other hand, the custom information can also define the node's attributes, ensuring that the node's attributes match the tasks it needs to perform, guaranteeing that the tasks corresponding to the node can be executed smoothly. The electronic device publishes the customized edited nodes as custom templates, which can be reused during the workflow creation process. In summary, this application proposes template management in the workflow engine's orchestration stage, thereby simplifying the workflow creation process and improving workflow creation efficiency.

[0070] In some embodiments, there are also differences in task complexity between different tasks. Generally speaking, simple tasks can be implemented by a single node, while complex tasks usually require multiple nodes to work together. Based on this, custom templates can be subdivided into two categories: custom node templates and custom process templates. Accordingly, step 103 may specifically include:

[0071] A1. If there is only one edited node, publish the edited node as a custom node template.

[0072] When publishing a custom template for a simple task, users only need to select one node to be edited. After editing this node and obtaining an edited node, the workflow editing platform can publish this edited node as a custom node template. This custom node template can be understood as a single, pre-defined node.

[0073] A2. When there are two or more edited nodes, publish the two or more edited nodes as a custom process template based on the connection relationship between the edited nodes.

[0074] When publishing custom templates for complex tasks, users can select two or more nodes to be edited. After editing these two or more nodes and obtaining two or more edited nodes, users can set the connection relationship between these two or more edited nodes according to their desired task, thereby obtaining a sub-process composed of these two or more edited nodes. For example, users can nest multiple task nodes within group nodes, thereby forming independent sub-processes.

[0075] It's important to note that within a sub-process, there's no need to define start and end nodes. The workflow editing platform can publish two or more edited nodes with established connections as a custom workflow template. This custom workflow template can be understood as a processing flow comprised of multiple pre-defined nodes.

[0076] In some embodiments, as described above, depending on the node type of the node to be edited, custom information can be used to define the tasks and / or attributes of the node to be edited; based on this, the custom information may specifically include: code information and / or attribute information. The code information is used to define the tasks performed by the node to be edited, including but not limited to various computational operations and the node's execution environment, thereby enabling the node to be edited to subsequently perform tasks according to the user's personalized needs; the attribute information is used to define the attributes of the node to be edited, including but not limited to input parameters and output parameters, thereby enabling the node's attributes to match the tasks to be performed, ensuring that the tasks corresponding to the node can be executed smoothly. Based on this, to improve the operability of node editing, step 102 may specifically include:

[0077] B1. Displays the information editing page for the node to be edited.

[0078] As described earlier, different types of custom information can exist depending on the node type being edited. That is, some nodes may only require user input of attribute information (i.e., the node only needs to define its attributes) to complete editing; some nodes may only require user input of code information (i.e., the node only needs to define its task); and some nodes may require both attribute and code information (i.e., both the node's attributes and task need to be defined) to complete editing. Therefore, depending on the node type being edited, the information editing page may include: a code editing page and / or an attribute editing page.

[0079] Since code information is generally text information, the code editing page can be specifically represented as a text input box; since attribute information is generally set within a given range of values, the attribute editing page can be specifically represented as a form drawer.

[0080] B2. Obtain custom information through the information editing page.

[0081] When the electronic device is a computer, the user can right-click on the node to be edited to bring up the information editing page supported by that node. Then, by clicking the desired information editing page with the mouse coordinates, the user can enter the corresponding custom information. In other words, when the electronic device is a computer, the workflow editing platform can show and hide the information editing page using click commands. Of course, when the electronic device is another device, the workflow editing platform can also show and hide the information editing page using commands from other input methods, which will not be elaborated here.

[0082] In some examples, attribute information can be further subdivided into: general attributes and execution attributes. General attributes include, but are not limited to, view attributes, such as node name, node identifier, and node position on the canvas; execution attributes include, but are not limited to, custom attributes and specific attributes. A brief introduction to custom attributes and specific attributes follows:

[0083] Except for the end node, all other node types have custom attributes. Custom attributes can be set with attribute names, data types, initialization timing, and input methods. As an example, the workflow editing platform can define the following data types: LONG, DOUBLE, ENUM, BOOL, STRING, CIF, FILE, DICT, and LIST. Users can input these custom attributes using controls and / or expressions.

[0084] Unique attributes refer to properties unique to a node, and not all node types possess unique attributes. For example, the unique attributes of a task node are script type and script content; the unique attribute of a repeating / parallel node is parallelism; the unique attribute of a decision node is the decision condition; and the unique attribute of a loop node is the loop condition. Therefore, when the information editing page includes an attribute editing page, the electronic device can first determine the unique attributes associated with the node to be edited based on its node type, and then receive the attribute information of the unique attributes input by the user through the attribute editing page.

[0085] B3. Edit the node to be edited based on the custom information to obtain the edited node.

[0086] As described earlier, the workflow editing platform can verify the validity of both defined tasks and attributes. Specifically, for code information defining a task, the platform can check for syntactic errors to determine the validity of the task defined by that code. Similarly, for attribute information defining an attribute, the platform can check if the received attribute value falls within the given range to determine the validity of the attribute. These operations prevent users from accidentally entering invalid information that could negatively impact the subsequent application of the node to be edited. Once the custom information is correct, the workflow editing platform can complete the editing of the node based on that information.

[0087] In some embodiments, a workflow editing platform can generate workflows in the following ways:

[0088] C1. In response to the second selection instruction, select multiple objects to be edited.

[0089] It's understandable that both custom node templates and custom process templates can be used directly during workflow creation. Specifically, the workflow editing platform can set up separate lists for custom node templates, custom process templates, and nodes. The custom node template list displays all custom node templates already published on the workflow editing platform, the custom process template list displays all custom process templates already published on the workflow editing platform, and the node list displays all the basic nodes supported by the workflow editing platform. Users can switch between these lists by entering commands in the lists.

[0090] The workflow editing platform can initialize the canvas upon startup and display the initialized canvas in the canvas area. This canvas initialization can be implemented through code, specifically including but not limited to the following operations: defining grid size, dragging the canvas, scrolling the canvas, a minimap, and allowing nested nodes. In this embodiment, the canvas is divided into two categories: the main canvas and other canvases. The main canvas is used to generate or display the workflow and cannot be closed; other canvases are used to generate or display sub-processes or node operations and can be closed. It is important to note that the main canvas and other canvases have the following restrictions: the main canvas can only have one start node and one end node, while other canvases cannot have start and end nodes (that is, a workflow can only have one start node and one end node, and custom node templates and custom process templates cannot have start and end nodes).

[0091] Users can enter a second selection command on the workflow editing platform's editing page to select from the basic nodes supported by the platform and currently published custom templates, thus identifying multiple objects to be edited. The workflow editing platform then receives and responds to this second selection command, designating the selected object (which can be a basic node or a currently published custom template) as the object to be edited. In other words, this second selection command can be used to select basic nodes and / or custom templates as objects to be edited.

[0092] Specifically, both the first selection command and the second selection command can be entered through a drag operation. The object corresponding to the starting coordinate of the drag operation is the selected object, and the canvas position corresponding to the ending coordinate of the drag operation is the position to which the object is dragged.

[0093] To input first and second selection commands via drag-and-drop, the workflow editing platform can pre-create drag-and-drop instances and customize drag-and-drop behavior through configuration, thereby endowing each basic node and custom template with drag-and-drop capabilities. During the drag-and-drop operation, the user perceives that the selected basic node or custom template is being dragged onto the target canvas (i.e., the currently displayed canvas). However, the workflow editing platform actually performs the following: at the start of the drag, a proxy canvas with proxy nodes is created according to the configuration options; during the drag, the proxy canvas is actually dragged (this process is invisible and imperceptible to the user); at the end of the drag, the proxy node is passed as a parameter to the `getDragNode` method; finally, the platform returns the object to be edited on the target canvas, i.e., the object dragged onto the target canvas. It is important to note that at the end of the drag, it is also necessary to verify whether the dragged object can be dragged to the target canvas, based on the limitations of the main canvas and other canvases mentioned above (i.e., the main canvas can only have one start node and one end node, and other canvases cannot have start and end nodes).

[0094] Please see Figure 2 , Figure 2 An example of an editing page for a workflow editing platform is provided. On the far left of the page, a tab bar displays lists of custom node templates, custom process templates, and nodes; to the right of this tab bar, the contents of the currently selected list are displayed; and in the middle and right of the page, canvas areas are displayed. Multiple canvases can be opened in the canvas area, but only one canvas can be displayed in the foreground at a time.

[0095] C2. In response to at least two connection instructions, determine the execution order of multiple objects to be edited to generate a workflow.

[0096] For any two editable objects that the user deems logically directly related, the user can input a connection command into the workflow editing platform. The workflow editing platform then receives and responds to this connection command, establishing a relationship between the two editable objects associated with that command. Considering that there are at least three editable objects (because this includes at least a start node and an end node), at least two connection commands are required to establish direct or indirect relationships between multiple editable objects.

[0097] For any given connection command, the directed connection directly connects two objects to be edited, specifically connecting the nodes within those two objects. Furthermore, the direction of this directed connection can be explicitly indicated by an arrow. That is, a directed connection should ultimately connect one node (the starting node) to another node (the target node). For any given node, directed connections from other nodes to itself are incoming connections, and directed connections from itself to other nodes are outgoing connections. It's important to note that the starting node can only connect to outgoing connections, and the ending node can only connect to incoming connections.

[0098] To prevent workflows from failing to execute due to incorrect user connections, the workflow editing platform can pre-set connection rules to determine the validity of directed connections. Specifically, these rules can consider both quantity and location. That is, the connection rules can include: connection quantity rules and connection start and end position rules. Taking any node's incoming lines as an example, the connection quantity rule can limit the maximum number of incoming lines to that node (e.g., no more than N, where N is a positive integer and can be determined based on the node type); the connection start and end position rules can limit the start and end positions (including the starting and ending positions) of the incoming lines to that node. For example, the starting position of an incoming line can only be the first specified edge, the ending position can only be the second specified edge, and the starting position of an incoming line cannot be the same edge as the ending position of another outgoing line, etc.

[0099] Please see Figure 3 , Figure 3 Examples of invalid and valid directed connections are given when the grouping node is the starting node and the target node, respectively. An invalid directed connection is a dashed line with an arrow marked with an "×"; a valid directed connection is a solid line with an arrow.

[0100] The workflow management platform can determine the validity of directed connections indicated by each connection command based on preset connection rules. If a directed connection is valid, it determines the execution order of the two objects to be edited connected by the directed connection based on the direction of the directed connection (determined by the arrow of the directed connection). Conversely, if a directed connection is invalid, it can be deleted.

[0101] It is understandable that workflow generation and custom process template generation have some similarities. The biggest difference between the two is that a workflow includes a start node and an end node. In fact, users can extract a fixed part of the workflow during the workflow generation process and publish it as a custom process template, which will not be elaborated on in this embodiment.

[0102] It is understandable that during the workflow generation process, when the object to be edited is the base node, the user also needs to edit (i.e. customize) the object to be edited. The specific process can be referred to the description of step 102, which will not be repeated in this embodiment.

[0103] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0104] Corresponding to the template management method provided above, this application also provides a template management device. See [link to relevant documentation]. Figure 4 The template management device 4 in this embodiment includes:

[0105] The first determining module 401 is used to determine the node to be edited in response to the first selection instruction;

[0106] The editing module 402 is used to respond to the node to be edited, obtain custom information, and determine the edited node based on the custom information, wherein the custom information is used to define the task and / or attributes of the node to be edited in order to obtain the edited node;

[0107] Module 403 is used to publish custom templates based on edited nodes.

[0108] In some embodiments, the publishing module 403 includes:

[0109] The first publishing unit is used to publish the edited node as a custom node template when there is only one edited node.

[0110] The second publishing unit is used to publish two or more edited nodes as a custom process template based on the connection relationship between the edited nodes when there are two or more edited nodes.

[0111] In some embodiments, the custom information includes: code information and / or attribute information, where the code information is used to define the task of the node to be edited, and the attribute information is used to define the attributes of the node to be edited; the editing module 402 includes:

[0112] The display unit is used to display the information editing page of the node to be edited. The information editing page includes: a code editing page and / or an attribute editing page. The code editing page is displayed in the form of a text input box, and the attribute editing page is displayed in the form of a form drawer.

[0113] The acquisition unit is used to retrieve custom information through the information editing page;

[0114] The editing unit is used to edit the node to be edited based on custom information, and obtain the edited node.

[0115] In some embodiments, the acquiring unit includes:

[0116] The sub-unit is determined to identify the unique attributes associated with the node to be edited, based on the node type of the node to be edited, when the information editing page includes an attribute editing page.

[0117] The receiving sub-unit is used to receive attribute information for unique attributes through the attribute editing page.

[0118] In some embodiments, the template management device 4 further includes:

[0119] The second determination module is used to determine multiple objects to be edited in response to the second selection instruction;

[0120] The generation module is used to determine the execution order of multiple objects to be edited in response to at least two connection instructions, so as to generate a workflow.

[0121] In some embodiments, the generation module includes:

[0122] The judgment unit is used to determine whether the directed connection indicated by each connection command is valid according to the preset connection rules.

[0123] The determination unit is used to determine the execution order of two objects to be edited connected by each valid directed connection, based on the direction of each valid directed connection, when valid directed connections exist.

[0124] In some embodiments, the determining unit is specifically used to determine whether the directed connection indicated by each connection instruction is valid based on a preset connection quantity rule and a preset connection start and end position rule.

[0125] As can be seen from the above, this application proposes a node-based template management approach. Specifically, the smallest controllable object in template management is a node. This application uses custom information to edit selected nodes, ultimately resulting in an edited node. It can be understood that, on the one hand, the custom information defines the node's task, allowing the node to perform tasks according to the user's personalized needs; on the other hand, the custom information also defines the node's attributes, ensuring that the node's attributes match the tasks it is to perform, guaranteeing that the tasks corresponding to the node can be executed smoothly. The electronic device publishes the customized edited nodes as custom templates, which can be reused during workflow creation. In summary, this application proposes template management during the workflow engine orchestration stage, thereby simplifying the workflow creation process and improving workflow creation efficiency.

[0126] Corresponding to the template management method provided above, this application also provides an electronic device. See [link to relevant documentation]. Figure 5 The electronic device 5 in this embodiment includes: a memory 501, and one or more processors 502. Figure 5 (Only one is shown) and a computer program stored in memory 501 and executable on the processor. Memory 501 stores software programs and modules. The processor 502 executes various functional applications and data processing by running the software programs and units stored in memory 501 to obtain resources corresponding to the aforementioned preset events. Specifically, the processor 502 performs the following steps when running the aforementioned computer program stored in memory 501:

[0127] In response to the first selection command, determine the node to be edited;

[0128] In response to the node to be edited, custom information is obtained, and the edited node is determined based on the custom information. The custom information is used to define the task and / or attributes of the node to be edited in order to obtain the edited node.

[0129] Publish a custom template based on the edited nodes.

[0130] Assuming the above is the first possible implementation, then in the second possible implementation provided based on the first possible implementation, a custom template is published based on the edited nodes, including:

[0131] If there is only one edited node, publish the edited node as a custom node template;

[0132] If there are two or more edited nodes, publish the two or more edited nodes as a custom process template based on the connection relationship between them.

[0133] In a third possible implementation based on the first possible implementation described above, or based on the second possible implementation described above, the custom information includes: code information and / or attribute information, where the code information is used to define the task of the node to be edited, and the attribute information is used to define the attributes of the node to be edited; in response to the node to be edited, obtaining the custom information and determining the edited node based on the custom information includes:

[0134] The information editing page for the node to be edited is displayed. The information editing page includes: a code editing page and / or an attribute editing page. The code editing page is displayed as a text input box, and the attribute editing page is displayed as a form drawer.

[0135] Obtain custom information through the information editing page;

[0136] Edit the node to be edited based on the custom information to obtain the edited node.

[0137] In the fourth possible implementation provided based on the third possible implementation described above, when the information editing page includes an attribute editing page, obtaining custom information through the information editing page includes:

[0138] Based on the node type of the node to be edited, determine the unique attributes associated with the node to be edited;

[0139] Receive attribute information for unique attributes through the attribute editing page.

[0140] In a fifth possible implementation based on the first possible implementation described above, or based on the second possible implementation described above, the processor 502 further performs the following steps when running the computer program stored in the memory 501:

[0141] In response to the second selection command, multiple objects to be edited are identified;

[0142] In response to at least two connection instructions, the execution order of multiple objects to be edited is determined to generate a workflow.

[0143] In a sixth possible implementation based on the fifth possible implementation described above, in response to at least two connection instructions, the execution order of multiple objects to be edited is determined, including:

[0144] Based on the preset connection rules, determine whether the directed connection indicated by each connection command is valid;

[0145] In the presence of valid directed connections, the execution order of the two objects to be edited connected by each valid directed connection is determined according to the direction of each valid directed connection.

[0146] In the seventh possible implementation based on the sixth possible implementation described above, the determination of whether the directed connection indicated by each connection command is valid is made according to preset connection rules, including:

[0147] Based on the preset rules for the number of connections and the preset rules for the start and end positions of connections, determine whether the directed connection indicated by each connection command is valid.

[0148] It should be understood that, in the embodiments of this application, the processor 502 may be a central processing unit (CPU), but it may also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor.

[0149] Memory 501 may include read-only memory and random access memory, and provides instructions and data to processor 502. Some or all of memory 501 may also include non-volatile random access memory. For example, memory 501 may also store device type information.

[0150] As can be seen from the above, this application proposes a node-based template management approach. Specifically, the smallest controllable object in template management is a node. This application uses custom information to edit selected nodes, ultimately resulting in an edited node. It can be understood that, on the one hand, the custom information defines the node's task, allowing the node to perform tasks according to the user's personalized needs; on the other hand, the custom information also defines the node's attributes, ensuring that the node's attributes match the tasks it is to perform, guaranteeing that the tasks corresponding to the node can be executed smoothly. The electronic device publishes the customized edited nodes as custom templates, which can be reused during workflow creation. In summary, this application proposes template management during the workflow engine orchestration stage, thereby simplifying the workflow creation process and improving workflow creation efficiency.

[0151] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the above device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0152] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0153] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of external device software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0154] In the embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the system embodiments described above are merely illustrative. For instance, the division of modules or units described above is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection between devices or units through some interfaces, and may be electrical, mechanical, or other forms.

[0155] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0156] If the integrated units described above are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing associated hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable storage medium can include: any entity or device capable of carrying the computer program code, a recording medium, a USB flash drive, a portable hard drive, a magnetic disk, an optical disk, a computer-readable storage device, a read-only memory (ROM), a random access memory (RAM), an electrical carrier signal, a telecommunication signal, and a software distribution medium, etc. It should be noted that the contents of the aforementioned computer-readable storage media may be appropriately added to or subtracted from the contents according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable storage media may not include electrical carrier signals and telecommunication signals.

[0157] The above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.

Claims

1. A template management method characterized by, The method comprises: in response to a first selection instruction, determining a node to be edited; in response to the node to be edited, obtaining custom information, and determining an edited node based on the custom information, wherein the custom information is used to define a task and / or an attribute of the node to be edited to obtain the edited node; publishing a custom template based on the edited node.

2. The template management method of claim 1, wherein, The publishing of the custom template based on the edited node comprises: in a case where the number of the edited nodes is one, publishing the edited node as a custom node template; in a case where the number of the edited nodes is more than two, publishing the more than two edited nodes as a custom process template according to a connection relationship between the edited nodes.

3. The template management method according to claim 1 or 2, wherein The custom information comprises code information and / or attribute information, the code information being used to define the task of the node to be edited, and the attribute information being used to define the attribute of the node to be edited; the obtaining of the custom information in response to the node to be edited and the determination of the edited node based on the custom information comprise: displaying an information editing page of the node to be edited, the information editing page comprising a code editing page and / or an attribute editing page, the code editing page being in the form of a text input box, and the attribute editing page being in the form of a form drawer; obtaining the custom information through the information editing page; and editing the node to be edited based on the custom information to obtain the edited node.

4. The template management method of claim 3, wherein, In a case where the information editing page comprises the attribute editing page, the obtaining of the custom information through the information editing page comprises: determining a special attribute associated with the node to be edited according to a node type of the node to be edited; and receiving attribute information of the special attribute through the attribute editing page.

5. The template management method of claim 1 or 2, wherein, The method further comprises: in response to a second selection instruction, determining a plurality of objects to be edited; in response to at least two connection instructions, determining an execution order of the plurality of objects to be edited to generate a workflow.

6. The template management method of claim 5, wherein, The determination of the execution order of the plurality of objects to be edited in response to the at least two connection instructions comprises: determining, according to a preset connection rule, whether a directed connection indicated by each of the connection instructions is valid; in a case where there is a valid directed connection, determining, according to a direction of each valid directed connection, an execution order of two objects to be edited connected by each valid directed connection.

7. The template management method of claim 6, wherein, The determination of whether the directed connection indicated by each of the connection instructions is valid according to the preset connection rule comprises: determining, according to a preset connection quantity rule and a preset connection start and end position rule, whether the directed connection indicated by each of the connection instructions is valid.

8. A template management apparatus characterized by comprising: The method comprises: a first determination module configured to determine a node to be edited in response to a first selection instruction; an editing module configured to obtain custom information in response to the node to be edited, and determine an edited node based on the custom information, wherein the custom information is used to define a task and / or an attribute of the node to be edited to obtain the edited node; and A publishing module is configured to publish the customized template based on the edited node.

9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, The computer program is executed by the processor to implement the method in any one of claims 1 to 7.

10. A computer-readable storage medium storing a computer program, the computer program comprising instructions that, when executed by a computer, cause the computer to perform the method of any one of claims 1 to 9. The computer program is executed by the processor to implement the method in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Method, device and equipment for obtaining business process

    CN112561386A

  • Instrument digital object construction system and method based on data dictionary

    CN113435174A