Workflow creation method and apparatus, device, and storage medium

By defining a loop process in the workflow, the problem of low development efficiency caused by sequential execution of nodes is solved, and the efficiency of workflow development is improved.

WO2026017021A1PCT designated stage Publication Date: 2026-01-22BEIJING ZITIAO NETWORK TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/108501
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-07-18
Filing Date
2025-07-14
Publication Date
2026-01-22

Smart Images

  • Figure CN2025108501_22012026_PF_FP_ABST
    Figure CN2025108501_22012026_PF_FP_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure relate to a workflow creation method and apparatus, a device, and a storage medium. The method proposed herein comprises: in response to a received editing operation, adding a first node to a node-link diagram; acquiring configuration information associated with a first node, wherein the configuration information at least indicates a group of nodes corresponding to a cyclic process; and creating a target workflow on the basis of the node-link diagram, such that during running of the target workflow, in response to the first node being triggered, a processing process corresponding to said group of nodes is cyclically executed. In this way, the embodiments of the present disclosure can support definition of a cyclic process in a workflow, so as to support one or more nodes being triggered for cyclic execution.
Need to check novelty before this filing date? Find Prior Art

Description

Methods, apparatus, devices, and storage media for creating workflows

[0001] This application claims priority to Chinese Patent Application No. 202410968862.7, filed on July 18, 2024, entitled “Method, Apparatus, Device and Storage Medium for Creating Workflows”, the entire contents of which are incorporated herein by reference. Technical Field

[0002] The exemplary embodiments disclosed herein relate generally to the field of computers, and more particularly to methods, apparatus, devices, and computer-readable storage media for creating workflows. Background Technology

[0003] With the development of computer technology, people can create and publish various types of applications through various platforms. In the application development process, workflow creation and management is an important task. For example, users can edit nodes in a workflow to indicate the processing flow of a request. Summary of the Invention

[0004] In a first aspect of this disclosure, a method for creating a workflow is provided. The method includes: adding a first node to a node connection graph in response to a received edit operation; obtaining configuration information associated with the first node, the configuration information indicating at least a set of nodes corresponding to a cyclic process; and creating a target workflow based on the node connection graph, such that: during the execution of the target workflow, in response to the first node being triggered, a process corresponding to a set of nodes is cyclically executed.

[0005] In a second aspect of this disclosure, an apparatus for creating a workflow is provided. The apparatus includes: an add module configured to add a first node to a node connection graph in response to a received edit operation; an acquire module configured to acquire configuration information associated with the first node, the configuration information indicating at least a set of nodes corresponding to a cyclic process; and a create module configured to create a target workflow based on the node connection graph, such that: during the execution of the target workflow, in response to the first node being triggered, a process corresponding to a set of nodes is cyclically executed.

[0006] In a third aspect of this disclosure, an electronic device is provided. The device includes at least one processing unit; and at least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit. When executed by the at least one processing unit, the instructions cause the device to perform the method of the first aspect.

[0007] In a fourth aspect of this disclosure, a computer-readable storage medium is provided. The computer-readable storage medium stores a computer program that can be executed by a processor to implement the method of the first aspect.

[0008] It should be understood that the content described in this content section is not intended to limit the key or essential features of the embodiments of this disclosure, nor is it intended to restrict the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0009] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. In the drawings, the same or similar reference numerals denote the same or similar elements, wherein:

[0010] Figure 1 shows a schematic diagram of an example environment in which embodiments of the present disclosure may be implemented;

[0011] Figure 2 illustrates a flowchart of an example process for creating a workflow according to some embodiments of the present disclosure;

[0012] Figures 3A to 3D illustrate example interfaces according to some embodiments of the present disclosure;

[0013] Figure 4 shows a schematic structural block diagram of an example apparatus for creating a workflow according to some embodiments of the present disclosure; and

[0014] Figure 5 shows a block diagram of an electronic device capable of implementing several embodiments of the present disclosure. Detailed Implementation

[0015] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.

[0016] It should be noted that the headings of any section / subsection provided herein are not limiting. Various embodiments are described throughout this document, and embodiments of any type may be included under any section / subsection. Furthermore, embodiments described in any section / subsection may be combined in any way with any other embodiments described in the same section / subsection and / or different sections / subsections.

[0017] In the description of embodiments of this disclosure, the term "comprising" and similar terms should be understood as open-ended inclusion, i.e., "including but not limited to". The term "based on" should be understood as "at least partially based on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The term "some embodiments" should be understood as "at least some embodiments". Other explicit and implicit definitions may also be included below. The terms "first", "second", etc., may refer to different or the same objects. Other explicit and implicit definitions may also be included below.

[0018] The embodiments of this disclosure may involve user data, data acquisition, and / or use. All of these aspects comply with applicable laws, regulations, and relevant provisions. In the embodiments of this disclosure, all data collection, acquisition, processing, manipulation, forwarding, and use are conducted with the user's knowledge and confirmation. Accordingly, in implementing the embodiments of this disclosure, the type, scope of use, and usage scenarios of any data or information that may be involved should be communicated to the user and their authorization obtained in accordance with relevant laws and regulations through appropriate means. The specific methods of notification and / or authorization may vary depending on the actual situation and application scenario, and the scope of this disclosure is not limited in this respect.

[0019] In this specification and the embodiments, any processing of personal information will be carried out only under the premise of legality (such as obtaining the consent of the personal information subject, or being necessary for the performance of a contract), and will only be carried out within the scope stipulated or agreed upon. A user's refusal to process personal information other than that necessary for basic functions will not affect the user's use of basic functions.

[0020] Traditionally, users can quickly create workflows, for example, by configuring different processing nodes within the workflow. However, during workflow execution, multiple nodes are typically executed sequentially. Developers need to add the corresponding nodes multiple times to complete the definition of repetitive processes in the workflow, which significantly impacts workflow development efficiency.

[0021] Embodiments of this disclosure propose a workflow creation scheme. The scheme includes: adding a first node to a node connection graph in response to a received edit operation; obtaining configuration information associated with the first node, the configuration information indicating at least a set of nodes corresponding to a cyclic process; and creating a target workflow based on the node connection graph, such that: during the execution of the target workflow, in response to the first node being triggered, a processing procedure corresponding to a set of nodes is cyclically executed.

[0022] In this way, embodiments of the present disclosure can support defining cyclic processes in a workflow to support the cyclic execution of one or more nodes, thereby improving the development efficiency of the workflow.

[0023] The following section provides a detailed description of various example implementations of this scheme, with reference to the accompanying drawings.

[0024] Example Environment

[0025] Figure 1 illustrates a schematic diagram of an example environment 100 in which embodiments of the present disclosure can be implemented. As shown in Figure 1, the example environment 100 may include an electronic device 110.

[0026] In this example environment 100, electronic device 110 can run an application 120 that supports user interface interaction. Application 120 can be any suitable type of application for user interface interaction, and examples may include, but are not limited to, development applications or other suitable applications that support workflow creation. User 140 can interact with application 120 via electronic device 110 and / or its attached devices.

[0027] In environment 100 of Figure 1, if application 120 is active, electronic device 110 can present interface 150 through application 120 to support the creation of workflows.

[0028] In some embodiments, electronic device 110 communicates with server 130 to provide services to application 120. Electronic device 110 can be any type of mobile terminal, fixed terminal, or portable terminal, including mobile phones, desktop computers, laptop computers, notebook computers, netbook computers, tablet computers, media computers, multimedia tablets, handheld computers, portable gaming terminals, VR / AR devices, personal communication system (PCS) devices, personal navigation devices, personal digital assistants (PDAs), audio / video players, digital cameras / camcorders, positioning devices, television receivers, radio receivers, e-book devices, gaming devices, or any combination thereof, including accessories and peripherals of these devices or any combination thereof. In some embodiments, electronic device 110 can also support any type of user-facing interface (such as "wearable" circuitry).

[0029] Server 130 can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks, and big data and artificial intelligence platforms. Server 130 may include, for example, computing systems / servers such as mainframes, edge computing nodes, computing devices in a cloud environment, etc. Server 130 can provide backend services for applications 120 that support virtual scenarios in electronic devices 110.

[0030] A communication connection can be established between server 130 and electronic device 110. This communication connection can be established via wired or wireless means. The communication connection may include, but is not limited to, Bluetooth, mobile network, Universal Serial Bus (USB), and Wireless Fidelity (WiFi) connections; the embodiments of this disclosure are not limited in this respect. In the embodiments of this disclosure, server 130 and electronic device 110 can achieve signaling interaction through the communication connection between them.

[0031] It should be understood that the structure and function of the various elements in environment 100 are described for illustrative purposes only and do not imply any limitation on the scope of this disclosure.

[0032] The following description will continue with reference to the accompanying drawings, which will provide some exemplary embodiments of this disclosure.

[0033] Example process

[0034] Figure 2 illustrates a flowchart of a workflow creation process 200 according to some embodiments of the present disclosure. In the context of this disclosure, "creating a workflow" can include various forms; for example, a new workflow can be created using the example process 200, or an existing workflow can be opened and edited using the editing interface described below. Process 200 can be implemented at electronic device 110. Process 200 will now be described with reference to Figure 1.

[0035] As shown in Figure 2, in box 210, electronic device 110 responds to the received editing operation by adding a first node to the node connection graph.

[0036] The process 200 will now be described with reference to FIG3A. FIG3A shows an example editing interface 300A according to some embodiments of the present disclosure.

[0037] As shown in Figure 3A, interface 300A can be a node editing interface for creating workflows. As shown, electronic device 110 can present multiple interface elements corresponding to various node types in interface 300A, such as interface elements 305-1 to 305-6. For example, interface element 305-1 can be used to add a knowledge base node, interface element 305-2 can be used to add a code node, interface element 305-3 can be used to add a message node, interface element 305-4 can be used to add a loop node, interface element 305-5 can be used to add an image stream node, and interface element 305-6 can be used to add a database node.

[0038] In some embodiments, in addition to the specific nodes described above, the embodiments of this disclosure may also support the addition of other suitable types of nodes. For example, the electronic device 110 may allow users to add other created workflows as single processing nodes to the node connection graph.

[0039] As an example, electronic device 110 can receive a user's selection of interface elements 305-4 to add a first node 315 to the node connection graph. The first node 315 is also called a loop node to configure looping processes in the workflow.

[0040] In box 220, electronic device 110 acquires configuration information associated with the first node, the configuration information indicating at least a set of nodes corresponding to the cyclic process.

[0041] In some embodiments, as shown in FIG3A, the electronic device 110 may provide a canvas component 335 associated with the first node 315. The electronic device 110 may configure one or more nodes associated with the loop process, such as nodes 340 and 345, via the canvas component 335.

[0042] In some embodiments, the electronic device 110 may receive user selections of interface elements 305-1 to 305-6 to add one or more nodes to the canvas component 335. Such one or more nodes may indicate the specific processing flow of a loop process.

[0043] In this disclosure, a single loop may include executing a processing procedure defined by the canvas component 335 once. In some scenarios, the canvas component 335 may include multiple branches, in which case the nodes corresponding to some branches in the canvas component 335 may not be triggered for execution during a single loop.

[0044] In some embodiments, the electronic device 110 can also configure loop control parameters associated with the loop process via a first node 315. As shown in FIG3A, the first node 315 may be associated with an input control 320, which can be used to configure loop control parameters to indicate the termination condition of the loop process.

[0045] In some embodiments, the loop control parameters configured via input control 320 may include an array object, such as "A_List". Accordingly, the loop process can be controlled based on the array length of the array object (e.g., A_List), so that the loop process can be controlled based on a comparison between the number of loop iterations and the array length. Specifically, when the number of loop iterations reaches the array length, the next loop process will no longer be triggered, and the workflow can proceed to the next node after loop node 315, such as node 355.

[0046] In some embodiments, as shown in FIG3A, the electronic device 110 can reference a second node (e.g., node 310) associated with the first node 315 via an input control 320, thereby configuring an array object (e.g., A_List) associated with the loop process.

[0047] In some embodiments, such a second node may include any appropriate predecessor node of the first node 315, without requiring such a predecessor node to be directly connected to the first node 315.

[0048] In some embodiments, if the user does not configure loop control parameters, the loop process associated with the first node 315 can be triggered to execute repeatedly until the exit node is triggered. The specific configuration process for the exit node will be described in detail below.

[0049] Alternatively, if the user does not configure loop control parameters, the loop process associated with the first node 315 may be triggered to execute a predetermined number of times and automatically exit the loop.

[0050] In some embodiments, the electronic device 110 can also configure global variables for the loop process via a first node 315. As shown in FIG3A, the first node 315 may be associated with an input control 325, which can be used to configure one or more global variables. During the execution of the loop process, such global variables can be accessed and / or updated by a set of nodes associated with the loop process.

[0051] In some embodiments, as shown in FIG3A, such a global variable can be defined by referencing a third node (e.g., node 310) associated with the first node 315. Alternatively, such a global variable can also be declared by input control 325, and its initial value can be determined based on user input.

[0052] In some embodiments, such a third node may include any appropriate predecessor node of the first node 315, without requiring such a predecessor node to be directly connected to the first node 315.

[0053] Additionally, the first node 315 may be associated with an input control 330, which can be used for the output of the first node 330. In some embodiments, such output can be provided to one or more subsequent nodes of the first node 315, without requiring such subsequent nodes to be directly connected to the first node 315.

[0054] The following details the specific process of configuring one or more nodes corresponding to the loop process via the canvas component 335. In some embodiments, such a canvas component 335 can, for example, expand, collapse, zoom in, zoom out, or move based on user actions.

[0055] In some embodiments, the canvas component 335 may support configuring one or more nodes specific to the loop process. In some embodiments, as shown in FIG3B, the canvas component 335 may, for example, support adding settings nodes.

[0056] As shown in Figure 3B, the setting node may include an input control 370 for setting the value of a predetermined variable associated with the loop process. For example, the electronic device 110 may specify the variable to be set via control 375, and may specify the specific value of the variable via control 380. In some embodiments, the variable set via control 375 may include a global variable associated with the loop process.

[0057] Therefore, embodiments of this disclosure can support dynamic modification of the values ​​of global variables during looping, thereby improving the control flexibility of the looping process.

[0058] In some embodiments, the canvas component 335 may also support the addition of an exit node to trigger the exit of the loop process corresponding to the canvas component 335. As shown in FIG3C, the input of the exit node 396 may correspond to the condition for exiting the loop process.

[0059] Taking Figure 3C as an example, exit node 396 can be connected to condition node 385. Accordingly, condition node 385 may include one or more branches, such as branch 390 and branch 392. Accordingly, when branch 390 is satisfied, condition node 385 can trigger the execution of node 394; conversely, when branch 392 is satisfied, condition node 385 can trigger exit node 396, thereby exiting the loop process.

[0060] Referring again to Figure 2, in box 230, electronic device 110 creates a target workflow based on the node connection graph. Accordingly, during the execution of the target workflow, in response to the triggering of the first node, the processing procedures corresponding to a set of nodes are executed cyclically.

[0061] Referring again to Figure 3A, in some embodiments, after editing the node connection diagram, the electronic device 110 can, for example, trigger a corresponding debugging process based on control 360. Additionally, the electronic device 110 can also create and publish a corresponding target workflow based on triggering control 365.

[0062] In some embodiments, during the debugging workflow, the electronic device 110 may also display debugging information related to the loop process.

[0063] Figure 3D shows a debug window 300D for a node associated with a loop process. The debug window 300D can be used to display debug information for the first node 315 or nodes in the canvas component (e.g., node 340 or node 345).

[0064] As shown in Figure 3D, the debug window 300D can display multiple viewing entries 398. Each viewing entry 398 can correspond to multiple rounds of execution of the processing procedure corresponding to the canvas component 335, also known as multiple rounds of loops or multiple rounds of iterations. As shown in Figure 3D, this processing procedure may, for example, include 10 rounds of execution.

[0065] Furthermore, the electronic device 110 can receive the selection of a target viewing entry among multiple viewing entries (e.g., the selection of the viewing entry corresponding to the second loop), and can accordingly display debugging information associated with the execution of that loop in the debugging window 300D. For example, the electronic device 110 can accordingly display the debugging information of the node in the second loop process, such as the node's input and output information.

[0066] In this way, embodiments of this disclosure can further support debugging of cyclic processes, thereby improving the efficiency of workflow development.

[0067] As an example, electronic device 110 can create a corresponding target workflow based on the configuration information of each node in the node connection diagram and the connections between nodes. Such a target workflow can be published or shared to other users, for example.

[0068] In some embodiments, such a target workflow can be published independently, or it can trigger the creation and / or publication of applications based on the target workflow, such as bots or agents.

[0069] Accordingly, during the execution of the target workflow, in response to the triggering of the first node 315, the loop process corresponding to the canvas component 335 can be triggered for execution. Accordingly, the target workflow can terminate the execution of the loop process based on the exit condition of the loop process.

[0070] Based on the process described above, embodiments of this disclosure can support defining cyclic processes in a workflow to support the cyclic execution of one or more nodes, thereby improving the development efficiency of the workflow.

[0071] Example devices and equipment

[0072] Embodiments of this disclosure also provide corresponding apparatus for implementing the methods or processes described above. Figure 4 shows a schematic structural block diagram of an example apparatus 400 for creating a workflow according to certain embodiments of this disclosure. Apparatus 400 may be implemented as or included in electronic device 110. The various modules / components in apparatus 400 may be implemented by hardware, software, firmware, or any combination thereof.

[0073] As shown in Figure 4, the device 400 includes: an adding module 410 configured to add a first node to a node connection graph in response to a received editing operation; an acquiring module 420 configured to acquire configuration information associated with the first node, the configuration information indicating at least a set of nodes corresponding to a cyclic process; and a creating module 430 configured to create a target workflow based on the node connection graph, such that during the execution of the target workflow, in response to the first node being triggered, a processing procedure corresponding to a set of nodes is executed cyclically.

[0074] In some embodiments, the adding module 410 is further configured to: add a first node to the node connection graph in response to the selection of a target interface element among a plurality of interface elements, wherein the target interface element corresponds to a loop node and the plurality of interface elements correspond to a plurality of node types.

[0075] In some embodiments, the apparatus 400 further includes a node determination module configured to: present a canvas component associated with a first node; and determine a set of nodes corresponding to a loop process via the canvas component.

[0076] In some embodiments, the apparatus 400 further includes a configuration module configured to configure loop control parameters associated with a loop process via a first input control associated with a first node, the loop control parameters indicating the termination condition of the loop process.

[0077] In some embodiments, the configuration module is further configured to configure an array object associated with a loop process such that the loop process is associated with the length of the array object.

[0078] In some embodiments, the configuration module is further configured to configure an array object by referencing a second node associated with the first node.

[0079] In some embodiments, the configuration module is further configured to configure global variables for the loop process via a second input control associated with the first node, the global variables being accessible and / or updated by a set of nodes.

[0080] In some embodiments, the configuration module is further configured to: configure a global variable by referencing a third node associated with the first node via a second input control; or configure a global variable via a second input control, wherein the initial value of the global variable is determined based on user input.

[0081] In some embodiments, a set of nodes includes: a setting node for setting the value of a predetermined variable associated with the loop process; or an exit node for triggering the exit of the loop process.

[0082] In some embodiments, the input information of the exit node indicates the conditions for exiting the loop process.

[0083] In some embodiments, the apparatus 400 further includes a debugging module configured to: receive a request to debug a target workflow; associate with a target node and provide multiple viewing entries corresponding to multiple rounds of execution of the process, wherein the target node is a first node or one of the group of nodes; and in response to the selection of a target viewing entry among the multiple viewing entries, present debugging information associated with the target node and the target round of execution of the process, wherein the target round corresponds to the target viewing entry.

[0084] Figure 5 shows a block diagram of an electronic device 500 in which one or more embodiments of the present disclosure may be implemented. It should be understood that the electronic device 500 shown in Figure 5 is merely exemplary and should not constitute any limitation on the functionality and scope of the embodiments described herein. The electronic device 500 shown in Figure 5 can be used to implement the electronic device 110 of Figure 1.

[0085] As shown in Figure 5, the electronic device 500 is in the form of a general-purpose electronic device. Components of the electronic device 500 may include, but are not limited to, one or more processors or processing units 510, memory 520, storage devices 530, one or more communication units 540, one or more input devices 550, and one or more output devices 560. The processing unit 510 may be a physical or virtual processor and is capable of performing various processes according to programs stored in the memory 520. In a multiprocessor system, multiple processing units execute computer-executable instructions in parallel to improve the parallel processing capability of the electronic device 500.

[0086] Electronic device 500 typically includes multiple computer storage media. Such media can be any accessible media that is accessible to electronic device 500, including but not limited to volatile and non-volatile media, removable and non-removable media. Memory 520 can be volatile memory (e.g., registers, cache, random access memory (RAM)), non-volatile memory (e.g., read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory), or some combination thereof. Storage device 530 can be removable or non-removable media and can include machine-readable media, such as flash drives, disks, or any other media that can be used to store information and / or data and can be accessed within electronic device 500.

[0087] Electronic device 500 may further include additional removable / non-removable, volatile / non-volatile storage media. Although not shown in FIG. 5, disk drives for reading from or writing to removable, non-volatile disks (e.g., "floppy disks") and optical disk drives for reading from or writing to removable, non-volatile optical disks may be provided. In these cases, each drive may be connected to a bus (not shown) via one or more data media interfaces. Memory 520 may include computer program product 525 having one or more program modules configured to perform various methods or actions of various embodiments of the present disclosure.

[0088] Communication unit 540 enables communication with other electronic devices via a communication medium. Additionally, the functionality of components of electronic device 500 can be implemented using a single computing cluster or multiple computing machines capable of communicating via communication connections. Therefore, electronic device 500 can operate in a networked environment using logical connections to one or more other servers, network personal computers (PCs), or another network node.

[0089] Input device 550 can be one or more input devices, such as a mouse, keyboard, trackball, etc. Output device 560 can be one or more output devices, such as a monitor, speaker, printer, etc. Electronic device 500 can also communicate with one or more external devices (not shown) via communication unit 540 as needed. These external devices include storage devices, display devices, etc., and can communicate with one or more devices that enable user interaction with electronic device 500, or with any device that enables electronic device 500 to communicate with one or more other electronic devices (e.g., network card, modem, etc.). Such communication can be performed via input / output (I / O) interface (not shown).

[0090] According to an exemplary implementation of this disclosure, a computer-readable storage medium is provided that stores computer-executable instructions thereon, wherein the computer-executable instructions are executed by a processor to implement the methods described above. According to an exemplary implementation of this disclosure, a computer program product is also provided, which is tangibly stored on a non-transitory computer-readable medium and includes computer-executable instructions, which are executed by a processor to implement the methods described above.

[0091] Various aspects of this disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatuses, devices, and computer program products implemented according to this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0092] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processing unit of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner. Thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.

[0093] Computer-readable program instructions can be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions that execute on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.

[0094] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction, which contains one or more executable instructions for implementing the specified logical function. In some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.

[0095] Various implementations of this disclosure have been described above. These descriptions are exemplary and not exhaustive, nor are they limited to the disclosed implementations. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described implementations. The terminology used herein is chosen to best explain the principles, practical applications, or improvements to technology in the market, or to enable others skilled in the art to understand the various implementations disclosed herein.

Claims

1. A method of creating a workflow, comprising: adding a first node to a node connection graph in response to a received edit operation; obtaining configuration information associated with the first node, the configuration information indicating at least a set of nodes corresponding to a loop process; and creating a target workflow based on the node connection graph, such that during a runtime of the target workflow, in response to the first node being triggered, a processing process corresponding to the set of nodes is looped.

2. The method of claim 1, wherein adding a first node to a node connection graph in response to a received edit operation comprises: adding the first node to the node connection graph in response to a selection of a target interface element of a plurality of interface elements, the target interface element corresponding to a loop node, the plurality of interface elements corresponding to a plurality of node types.

3. The method of claim 1, wherein obtaining configuration information associated with the first node comprises: presenting a canvas component associated with the first node; and determining, via the canvas component, the set of nodes corresponding to the loop process.

4. The method of claim 1, wherein obtaining configuration information associated with the first node further comprises: configuring, via a first input control associated with the first node, a loop control parameter associated with the loop process, the loop control parameter indicating an end condition of the loop process.

5. The method of claim 4, wherein configuring, via a first input control associated with the first node, a loop control parameter associated with the loop process comprises: configuring an array object associated with the loop process, such that the loop process is associated with a length of the array object.

6. The method of claim 5, wherein configuring an array object associated with the loop process comprises: configuring the array object by referencing a second node associated with the first node.

7. The method of claim 1, wherein obtaining configuration information associated with the first node further comprises: configuring, via a second input control associated with the first node, a global variable for the loop process, the global variable being accessible and / or updatable by the set of nodes.

8. The method of claim 7, wherein configuring, via a second input control associated with the first node, a global variable for the loop process comprises: configuring, via the second input control, the global variable by referencing a third node associated with the first node; or configuring, via the second input control, the global variable, an initial value of the global variable being determined based on a user input.

9. The method of claim 1, wherein the set of nodes comprises: a setup node for setting a value of a predetermined variable associated with the loop process; or an exit node for triggering an exit of the loop process.

10. The method of claim 9, wherein input information of the exit node indicates a condition for exiting the loop process.

11. The method of claim 1, further comprising: ​ ​ ​ receiving a request to debug the target workflow; providing, in association with a target node, a plurality of viewing entries corresponding to a plurality of round executions of the processing procedure, the target node being the first node or one of the set of nodes; and in response to a selection of a target viewing entry of the plurality of viewing entries, presenting debugging information of the target node in association with a target round execution of the processing procedure, the target round corresponding to the target viewing entry.

12. An apparatus for creating a workflow, comprising: an adding module configured to add a first node to a node connection graph in response to a received edit operation; an obtaining module configured to obtain configuration information associated with the first node, the configuration information indicating at least a set of nodes corresponding to a loop procedure; and a creating module configured to create a target workflow based on the node connection graph, such that during a runtime of the target workflow, a processing procedure corresponding to the set of nodes is looped executed in response to the first node being triggered.

13. An electronic device, comprising: at least one processing unit; and at least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, the instructions when executed by the at least one processing unit cause the electronic device to perform the method according to any one of claims 1-11.

14. A computer readable storage medium having stored thereon a computer program, the computer program being executable by a processor to implement the method according to any one of claims 1-11.

15. A computer program product tangibly stored in a computer storage medium and comprising computer executable instructions that, when executed by a device, cause the device to perform the method according to any one of claims 1-11. ​

Citation Information

Patent Citations

  • Program development method based on workflow, electronic equipment and storage medium

    CN111208991A

  • Configuration method and device for circulation process in automatic process and electronic equipment

    CN115640073A

  • Directed acyclic graph workflow engine cycle scheduling method, device and equipment

    CN117610320A

  • Data processing method, device and equipment and readable storage medium

    CN117667322A