Process creation and execution method and device, electronic equipment and storage medium
By configuring filter conditions in the BPM system to determine the execution results of nodes, the problems of complexity and low efficiency of business action configuration in the existing system are solved, and the efficiency of process creation and execution is achieved.
Patent Information
- Application Number
- CN202411258131.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-09
- Publication Date
- 2024-12-13
AI Technical Summary
The existing BPM system requires more than two nodes when configuring business operations, resulting in increased user burden and low process creation and execution efficiency.
By configuring filter conditions when adding and editing nodes in the target process to determine whether the execution result of the node meets specific conditions, thereby ending or continuing to execute branches, reducing the number of configurations of branch nodes.
It improves the efficiency of process creation and execution, reduces the configuration and execution number of branch nodes, and reduces the operational burden of users.
Smart Images

Figure CN119130101A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a process creation and execution method, device, electronic device and storage medium. Background Art
[0002] BPM (Business Process Management) is a combination of a series of orderly activities and tasks designed and executed to achieve specific business goals.
[0003] In the current mainstream traditional BPM, users usually need more than two nodes to complete a business action. For example, whether to continue the process after completing a service task requires at least two branch nodes to be introduced in mainstream BPM. This design increases the burden on users: the user's purpose is only to filter, but they need to handle the scenarios of branch success and failure.
[0004] It can be seen that how to improve the efficiency of process creation is a technical issue worthy of attention. Summary of the invention
[0005] In view of this, in order to solve some or all of the above-mentioned technical problems, the embodiments of the present application provide a process creation and execution method, device, electronic device and storage medium.
[0006] In a first aspect, an embodiment of the present application provides a process creation method, the method comprising:
[0007] In the case of choreographing a target process, receiving an add instruction;
[0008] In response to the adding instruction, adding a first node in the target process;
[0009] receiving an editing instruction for the first node;
[0010] In response to the editing instruction, a first filtering condition is configured in the first node, and the first filtering condition is used to: during the execution of the target process, if it is determined that the execution result of the first node does not meet the first filtering condition, end the execution of the branch where the first node is located in the target process.
[0011] In a possible implementation manner, adding the first node in the target process includes:
[0012] In the case where it is determined that the first node is a branch node, determining a parent node of the first node, wherein the first node is a child node of the parent node;
[0013] Determining a second filtering condition configured in the parent node;
[0014] A first node that meets the second filtering condition is added under the parent node.
[0015] In a possible implementation, after receiving the editing instruction for the first node, the method further includes:
[0016] In response to the editing instruction, input parameters are configured in the first node.
[0017] In a possible implementation manner, configuring the input parameter in the first node includes one of the following:
[0018] In the case where the first node is a triggering node, selecting at least some parameters from the parameters pre-associated with the triggering node to configure input parameters of the first node; or,
[0019] In the case that the first node has a parent node, at least part of the parameters are selected from the output parameters of the parent node to configure the input parameters of the first node.
[0020] In a possible implementation, the way of configuring the input parameters includes at least one of the following:
[0021] configuring the part of parameters as input parameters of the first node; and / or,
[0022] The partial parameters are processed to obtain processed parameters, and the processed parameters are configured as input parameters of the first node.
[0023] In a possible implementation manner, before adding the first node to the target process, the method further includes:
[0024] Determine a second node in the target process, where the second node is a node that has been arranged in the target process;
[0025] Determine a candidate sub-process set based on the node information of the second node, wherein the candidate sub-process in the candidate sub-process set includes at least one node;
[0026] A candidate sub-process to be added to the target process is determined from the candidate sub-process set, and a node in the candidate sub-process to be added to the target process is used as a first node to be added to the target process.
[0027] In a possible implementation manner, determining the candidate sub-process to be added to the target process from the candidate sub-process set includes:
[0028] Determine the historical execution times of each candidate sub-process in the candidate sub-process set;
[0029] The candidate sub-process with the largest number of historical execution times in the candidate sub-process set is determined as the candidate sub-process to be added to the target process.
[0030] In a possible implementation manner, determining the candidate sub-process to be added to the target process from the candidate sub-process set includes:
[0031] Determining the execution probability of each candidate sub-process in the set of candidate sub-processes;
[0032] A candidate sub-process with the highest execution probability in the candidate sub-process set is determined as a candidate sub-process to be added to the target process.
[0033] In a second aspect, an embodiment of the present application provides a process execution method, the method comprising:
[0034] Receive trigger events;
[0035] In response to the trigger event, executing a target process corresponding to the trigger event, wherein the target process includes a trigger node corresponding to the trigger event;
[0036] During the execution of the target process, determining a target node currently being executed in the target process;
[0037] Determining a first filtering condition configured in the target node;
[0038] When the execution result of the target node does not satisfy the first filtering condition, the execution of the branch where the target node is located in the target process is terminated.
[0039] In a possible implementation, after determining the first filtering condition configured in the target node, the method further includes:
[0040] When the execution result of the target node satisfies the first filtering condition, the child nodes of the target node continue to be executed, or when the target node has no child nodes, the branch where the target node is located in the target process is terminated.
[0041] In a third aspect, an embodiment of the present application provides a process creation device, the device comprising:
[0042] A first receiving unit, configured to receive an add instruction when arranging a target process;
[0043] an adding unit, configured to add a first node in the target process in response to the adding instruction;
[0044] A second receiving unit, configured to receive an editing instruction for the first node;
[0045] A first configuration unit is used to configure a first filtering condition in the first node in response to the editing instruction, wherein the first filtering condition is used to: during the execution of the target process, if it is determined that the execution result of the first node does not satisfy the first filtering condition, terminate the execution of the branch where the first node is located in the target process.
[0046] In a possible implementation manner, adding the first node in the target process includes:
[0047] In the case where it is determined that the first node is a branch node, determining a parent node of the first node, wherein the first node is a child node of the parent node;
[0048] Determining a second filtering condition configured in the parent node;
[0049] A first node that meets the second filtering condition is added under the parent node.
[0050] In a possible implementation manner, after receiving the editing instruction for the first node, the apparatus further includes:
[0051] The second configuration unit is used to configure input parameters in the first node in response to the editing instruction.
[0052] In a possible implementation manner, configuring the input parameter in the first node includes one of the following:
[0053] In the case where the first node is a triggering node, selecting at least some parameters from the parameters pre-associated with the triggering node to configure input parameters of the first node; or,
[0054] In the case that the first node has a parent node, at least part of the parameters are selected from the output parameters of the parent node to configure the input parameters of the first node.
[0055] In a possible implementation, the way of configuring the input parameters includes at least one of the following:
[0056] configuring the part of parameters as input parameters of the first node; and / or,
[0057] The partial parameters are processed to obtain processed parameters, and the processed parameters are configured as input parameters of the first node.
[0058] In a possible implementation manner, before adding the first node to the target process, the device further includes:
[0059] A first determining unit, configured to determine a second node in the target process, where the second node is a node that has been arranged in the target process;
[0060] A second determining unit, configured to determine a set of candidate sub-processes based on the node information of the second node, wherein the candidate sub-processes in the set of candidate sub-processes include at least one node;
[0061] The third determining unit is used to determine a candidate sub-process to be added to the target process from the candidate sub-process set, and use a node in the candidate sub-process to be added to the target process as a first node to be added to the target process.
[0062] In a possible implementation manner, determining the candidate sub-process to be added to the target process from the candidate sub-process set includes:
[0063] Determine the historical execution times of each candidate sub-process in the candidate sub-process set;
[0064] The candidate sub-process with the largest number of historical execution times in the candidate sub-process set is determined as the candidate sub-process to be added to the target process.
[0065] In a possible implementation manner, determining the candidate sub-process to be added to the target process from the candidate sub-process set includes:
[0066] Determining the execution probability of each candidate sub-process in the set of candidate sub-processes;
[0067] A candidate sub-process with the highest execution probability in the candidate sub-process set is determined as a candidate sub-process to be added to the target process.
[0068] In a fourth aspect, an embodiment of the present application provides a process execution device, the device comprising:
[0069] A third receiving unit, configured to receive a trigger event;
[0070] A first execution unit, configured to execute, in response to the trigger event, a target process corresponding to the trigger event, wherein the target process includes a trigger node corresponding to the trigger event;
[0071] A fourth determining unit, configured to determine, during the execution of the target process, a target node currently being executed in the target process;
[0072] a fifth determining unit, configured to determine a first filtering condition configured in the target node;
[0073] The second execution unit is used to terminate the execution of the branch where the target node is located in the target process if the execution result of the target node does not meet the first filtering condition.
[0074] In a possible implementation, after determining the first filtering condition configured in the target node, the apparatus further includes:
[0075] The third execution unit is used to continue executing the child nodes of the target node when the execution result of the target node meets the first filtering condition, or to end the execution of the branch where the target node is located in the target process when the target node has no child nodes.
[0076] In a fifth aspect, an embodiment of the present application provides an electronic device, including:
[0077] Memory for storing computer programs;
[0078] The processor is used to execute the computer program stored in the memory, and when the computer program is executed, it implements the process creation method of the first aspect of the present application, or the method of any embodiment of the process execution method of the second aspect.
[0079] In a sixth aspect, an embodiment of the present application provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, it implements a method of the process creation method of the first aspect described above, or a method of any embodiment of the process execution method of the second aspect described above.
[0080] In the seventh aspect, an embodiment of the present application provides a computer program product, which includes a computer-readable code. When the computer-readable code runs on a device, the processor in the device implements the process creation method of the first aspect above, or the method of any embodiment of the process execution method of the second aspect above.
[0081] The process creation method provided in the embodiment of the present application can receive an add instruction in the case of arranging a target process, and then, in response to the add instruction, add a first node in the target process, and then, receive an edit instruction for the first node, and then, in response to the edit instruction, configure a first filter condition in the first node, the first filter condition is used to: during the execution of the target process, when it is determined that the execution result of the first node does not meet the first filter condition, end the execution of the branch where the first node in the target process is located. Thus, by configuring the first filter condition in the first node, it is achieved that when the execution result of the first node does not meet the first filter condition, the branch where the first node in the target process is located is ended, that is, there is no need to configure the branch node when the execution result of the first node does not meet the first filter condition. In this way, since the number of configurations of branch nodes is reduced, the efficiency of process creation can be improved.
[0082] The process execution method provided by the embodiment of the present application can receive a trigger event, and then, in response to the trigger event, execute the target process corresponding to the trigger event, the target process includes the trigger node corresponding to the trigger event, and then, during the execution of the target process, determine the target node currently executed in the target process, then determine the first filtering condition configured in the target node, and finally, when the execution result of the target node does not meet the first filtering condition, end the execution of the branch where the target node in the target process is located. Thus, when the execution result of the target node currently executed by the target process does not meet the first filtering condition, end the execution of the branch where the target node in the target process is located, without having to execute the branch node where the execution result of the target node does not meet the first filtering condition. In this way, since the number of executed branch nodes is reduced, the execution efficiency of the process can be improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0083] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.
[0084] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.
[0085] One or more embodiments are exemplarily described by pictures in the corresponding drawings, and these exemplified descriptions do not constitute limitations on the embodiments. Elements with the same reference numerals in the drawings represent similar elements, and unless otherwise stated, the figures in the drawings do not constitute proportional limitations.
[0086] Figure 1 A flowchart of a process creation method provided in an embodiment of the present application;
[0087] Figure 2 A flowchart of another process creation method provided in an embodiment of the present application;
[0088] Figure 3 A flowchart of a process execution method provided in an embodiment of the present application;
[0089] Figure 4 A flowchart of another process execution method provided in an embodiment of the present application;
[0090] Figure 5 A flowchart of a process execution method based on data recommendation provided in an embodiment of the present application;
[0091] Figure 6 A backend system architecture diagram of a process execution method provided in an embodiment of the present application;
[0092] Figure 7 A flowchart of another process execution method provided in an embodiment of the present application;
[0093] Figure 8 A flow chart of generation, arrangement and triggering execution of a dynamic request node provided in an embodiment of the present application;
[0094] Fig. 9 A schematic diagram of an application scenario of converting an interface document into a visual form provided in an embodiment of the present application;
[0095] Fig.10 A schematic diagram for describing a node type provided in an embodiment of the present application;
[0096] Fig.11 A schematic diagram of a business process creation process provided in an embodiment of the present application;
[0097] Fig.12 A schematic diagram of a business flow task driving process provided in an embodiment of the present application;
[0098] Fig.13 A schematic diagram of an input box visible to a user during reference context management provided by an embodiment of the present application;
[0099] Fig.14A business flow task processing flow chart provided for an embodiment of the present application;
[0100] Fig.15 A business flow task processing interaction diagram provided in an embodiment of the present application;
[0101] Fig.16 A schematic diagram of the structure of a process creation device provided in an embodiment of the present application;
[0102] Fig.17 A schematic diagram of the structure of a process execution device provided in an embodiment of the present application;
[0103] Fig.18 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0104] Various exemplary embodiments of the present application will now be described in detail with reference to the accompanying drawings. Obviously, the described embodiments are part of the embodiments of the present application, rather than all of the embodiments. It should be noted that unless otherwise specifically stated, the relative arrangement of the components and steps, the numerical expressions and the numerical values described in these embodiments do not limit the scope of the present application.
[0105] Those skilled in the art will understand that the terms "first" and "second" in the embodiments of the present application are only used to distinguish between different steps, devices, modules and other objects, and do not represent any specific technical meanings, nor do they indicate the logical order between them.
[0106] It should also be understood that in this embodiment, “plurality” may refer to two or more than two, and “at least one” may refer to one, two or more than two.
[0107] It should also be understood that any component, data or structure mentioned in the embodiments of the present application can generally be understood as one or more, unless explicitly limited or otherwise indicated in the context.
[0108] In addition, the term "and / or" in this application is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this application generally indicates that the associated objects before and after are in an "or" relationship.
[0109] It should also be understood that the description of the various embodiments in this application focuses on the differences between the various embodiments, and the same or similar aspects thereof can be referenced to each other, and for the sake of brevity, they will not be described one by one.
[0110] The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the present application, its application, or uses.
[0111] Technologies, methods, and equipment known to ordinary technicians in the relevant art may not be discussed in detail, but where appropriate, the above-mentioned technologies, methods, and equipment should be considered as part of the specification.
[0112] It should be noted that like reference numerals and letters refer to similar items in the following figures, and therefore, once an item is defined in one figure, it need not be further discussed in subsequent figures.
[0113] It should be noted that, in the absence of conflict, the embodiments in this application and the features in the embodiments can be combined with each other. To facilitate the understanding of the embodiments of the present application, the present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments. Obviously, the described embodiments are part of the embodiments of the present application, rather than all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.
[0114] In order to solve the technical problem of how to improve the efficiency of process creation in the prior art, the present application provides a process creation method, device, electronic device and storage medium, which can improve the efficiency of process creation.
[0115] Figure 1 A flow chart of a process creation method provided for an embodiment of the present application. This method can be applied to one or more electronic devices such as smart phones, laptops, desktop computers, portable computers, servers, etc. In addition, the execution subject of this method can be hardware or software. When the above-mentioned execution subject is hardware, the execution subject can be one or more of the above-mentioned electronic devices. For example, a single electronic device can execute this method, or multiple electronic devices can cooperate with each other to execute this method. When the above-mentioned execution subject is software, this method can be implemented as multiple software or software modules, or it can be implemented as a single software or software module. It is not specifically limited here.
[0116] like Figure 1 As shown, the method specifically includes:
[0117] Step 101: receiving an add instruction when arranging a target process.
[0118] In this embodiment, the target process is a process triggered by a predetermined event, and is used to perform a predetermined task in response to the predetermined event. The target process may refer to a series of steps or operations performed in a specific order to achieve the predetermined task. As an example, the target process may be a leave application, a purchase application, a reimbursement application, a business trip application, etc. in an office automation (OA) system.
[0119] The target process may include one or more nodes. The nodes in the target process may represent the steps or operations to be performed. For example, the nodes in the target process may represent sending a text message to a user, obtaining enterprise information, etc.
[0120] In addition, a first filtering condition may be configured in the node. When a first filtering condition is configured in a node (e.g., a first node, a target node), and the node has child nodes, when the execution result of the node satisfies the first filtering condition in the node, the child nodes of the node may continue to be executed; when a first filtering condition is configured in a node (e.g., a first node, a target node), when the execution result of the node does not satisfy the first filtering condition in the node, the branch in which the node is located in the target process may be terminated.
[0121] Here, if the node does not have any child nodes, the branch where the node is located in the target process can be terminated.
[0122] The adding instruction may be, but is not limited to, instructing to add a node in the target process, or to add a process including a node.
[0123] Step 102: In response to the adding instruction, add a first node in the target process.
[0124] In this embodiment, the first node may represent a node added in the target process. For example, the first node may represent sending a text message to a user, obtaining enterprise information, etc.
[0125] The first node may be one or more. When there are multiple first nodes, it means adding a process including multiple first nodes to the target process.
[0126] Step 103: Receive an editing instruction for the first node.
[0127] In this embodiment, the editing instruction can be used to edit a node. For example, the editing instruction can be, but is not limited to, instructing to configure a filtering condition (such as a first filtering condition) in the first node. In addition, the editing instruction can also be, but is not limited to, configuring an input parameter in the first node.
[0128] Step 104, in response to the editing instruction, configure a first filtering condition in the first node, wherein the first filtering condition is used to: during the execution of the target process, if it is determined that the execution result of the first node does not satisfy the first filtering condition, terminate the execution of the branch where the first node is located in the target process.
[0129] In this embodiment, the first filtering condition may represent a filtering condition configured in the first node. The first filtering condition may be used to determine whether to terminate the execution of the branch where the first node is located in the target process.
[0130] In some optional implementations of this embodiment, the following method may be used to add a first node to the target process:
[0131] In the first step, when it is determined that the first node is a branch node, a parent node of the first node is determined, wherein the first node is a child node of the parent node.
[0132] Among them, when a node (for example, the first node) has a sibling node, it can be determined that the node and the other sibling nodes are branch nodes executed in parallel; when a node (for example, the first node) does not have a sibling node, it can be determined that the node is not a branch node.
[0133] Here, a sibling node refers to at least two nodes with the same parent node. Taking a tree structure as an example, each node in the tree can have multiple child nodes, but for a given node, it is a sibling node with other nodes under the same parent node.
[0134] A parent node may be a node's immediate superior node. For example, a first node's parent node may be a node's immediate superior node.
[0135] In this embodiment, after the step or operation represented by the parent node of the first node is executed, the step or operation represented by the first node may be (but not necessarily) executed.
[0136] Specifically, when the execution result of the parent node of the first node meets the first filtering condition in the parent node, the first node can continue to be executed; when the execution result of the parent node of the first node does not meet the first filtering condition in the parent node, the execution of the branch where the parent node is located can be terminated, that is, there is no need to execute the first node.
[0137] The second step is to determine the second filtering condition configured in the parent node.
[0138] The second filtering condition may be used to determine one or at least two child nodes to be executed after the parent node is executed.
[0139] The third step is to add the first node that meets the second filtering condition under the parent node.
[0140] The first node that meets the second filtering condition is one or more sub-nodes that are executed when the second filtering condition is met. In other words, the number of the first nodes can be 1 or at least two.
[0141] Here, different second filtering conditions may be configured in the parent node to determine different branch nodes to be executed, that is, the first node.
[0142] In practice, a node may have one child node or multiple child nodes. When a node has multiple child nodes, different execution results for the parent node may be achieved by configuring one or at least two second filtering conditions in the parent node, and further executing different child nodes (first nodes). The second filtering conditions may correspond one to one with the child nodes, or one second filtering condition may correspond to at least two child nodes (first nodes).
[0143] For example, in the case where the above-mentioned predetermined event is an order triggering event, there may be multiple event types of order triggering events: creation, payment, cancellation, etc. In the case where the output parameter of the parent node is the event type, if you want to achieve the effect of executing different steps (corresponding to the first node) according to different event types, you can set it in the following way: if the second filtering condition "the event type is creation" is met, then execute the first node A (the child node of the parent node); if the second filtering condition "the event type is payment" is met, then execute the first node B (the child node of the parent node); if the second filtering condition "the event type is cancellation" is met, then execute the first node C (the child node of the parent node).
[0144] Among them, the first node A, the first node B and the first node C may respectively correspond to a branch in the target process.
[0145] Further, if the second filtering condition "the event type is creation" is met, the first node A (the child node of the parent node) is executed, and then the child node of the first node A in the branch where the first node A is located can be executed; if the second filtering condition "the event type is payment" is met, the first node B (the child node of the parent node) is executed, and then the child node of the first node B in the branch where the first node B is located can be executed; if the second filtering condition "the event type is cancellation" is met, the first node C (the child node of the parent node) is executed, and then the child node of the first node C in the branch where the first node C is located can be executed.
[0146] In addition, during execution, if the execution result of the parent node does not satisfy any second filtering condition configured in the parent node, the execution of the target process may be terminated.
[0147] In addition, when a second filtering condition corresponds to at least two sub-nodes, the at least two sub-nodes corresponding to the second filtering condition may be executed in parallel according to a preset parallel execution strategy.
[0148] It can be understood that in the above optional implementation, when the execution result of the parent node meets different second filtering conditions, different branch nodes can be executed, thereby improving the creation efficiency of the target process including the branch process.
[0149] In one embodiment, the first filtering condition and the second filtering condition may be the same or different, and the second filtering condition may be a subset of the first filtering condition.
[0150] In some optional implementations of this embodiment, before adding the first node to the target process, the following steps may also be performed:
[0151] The first step is to determine a second node in the target process, where the second node is an orchestrated node in the target process.
[0152] In a second step, a candidate sub-process set is determined based on the node information of the second node, wherein the candidate sub-processes in the candidate sub-process set include at least one node.
[0153] The node information may include at least one of the following: the step, output parameter or operation represented by the second node, the step, output parameter or operation represented by the parent node of the second node, whether the second node is a branch node, etc.
[0154] The candidate sub-process set may include at least one candidate sub-process. Each candidate sub-process may include at least one node. For example, the candidate sub-process may include only one node, one process branch, or at least two process branches. Each process branch may represent a process path, and each process branch may include at least two nodes. When the candidate sub-process includes at least two process branches, there is a common node between the at least two process branches included in the candidate sub-process.
[0155] Here, multiple methods may be used to determine the candidate sub-process set based on the node information of the second node.
[0156] For example, each node information may be pre-associated with at least one candidate sub-process, and thus, through the above association relationship, a set of candidate sub-processes may be determined based on the node information of the second node.
[0157] For another example, for each preset sub-process in the preset sub-process set, the execution probability of the preset sub-process can be determined based on the node information of the second node. Then, the preset sub-processes with execution probabilities greater than or equal to the preset probability threshold are determined as candidate sub-processes, thereby obtaining a candidate sub-process set; or, in descending order of execution probabilities, a preset number of preset sub-processes are selected from the preset sub-process set, thereby obtaining a candidate sub-process set.
[0158] The third step is to determine a candidate sub-process to be added to the target process from the candidate sub-process set, and use a node in the candidate sub-process to be added to the target process as a first node to be added to the target process.
[0159] Here, the third step above can be performed in a variety of ways. Please refer to the following description for details, which will not be described here.
[0160] It can be understood that in the above optional implementation, the sub-process in the target process can be automatically recommended through the node information of the second node, thereby further improving the creation efficiency of the target process.
[0161] In some application scenarios of the above optional implementations, the following method may be used to determine the candidate sub-process to be added to the target process from the candidate sub-process set:
[0162] The first step is to determine the historical execution times of each candidate sub-process in the candidate sub-process set.
[0163] The historical execution times may represent the execution times of the candidate sub-process in the historical time period.
[0164] In the second step, the candidate sub-process with the largest number of historical execution times in the candidate sub-process set is determined as the candidate sub-process to be added to the target process.
[0165] It can be understood that in the above application scenario, the candidate sub-process with the largest number of historical execution times in the candidate sub-process set can be determined as the candidate sub-process to be added to the target process, thereby improving the accuracy of determining the candidate sub-process.
[0166] In some application scenarios of the above optional implementations, the following method may also be used to determine the candidate sub-process to be added to the target process from the candidate sub-process set:
[0167] The first step is to determine the execution probability of each candidate sub-process in the candidate sub-process set.
[0168] The execution probability of the candidate sub-process may be determined based on at least one of the following: the number of historical executions of the candidate sub-process, the historical execution frequency of the candidate sub-process, the node information of the second node, and the like.
[0169] As an example, the execution probability of the candidate sub-flow may be positively correlated with the historical execution times of the candidate sub-flow. Alternatively, the execution probability of the candidate sub-flow may be positively correlated with the historical execution frequency of the candidate sub-flow.
[0170] In the second step, the candidate sub-process with the highest execution probability in the candidate sub-process set is determined as the candidate sub-process to be added to the target process.
[0171] It can be understood that in the above application scenario, the candidate sub-process with the highest execution probability in the candidate sub-process set can be determined as the candidate sub-process to be added to the target process, thereby improving the accuracy of determining the candidate sub-process.
[0172] The process creation method provided in the embodiment of the present application can receive an add instruction in the case of arranging a target process, and then, in response to the add instruction, add a first node in the target process, and then, receive an edit instruction for the first node, and then, in response to the edit instruction, configure a first filter condition in the first node, the first filter condition is used to: during the execution of the target process, when it is determined that the execution result of the first node does not meet the first filter condition, end the execution of the branch where the first node in the target process is located. Thus, by configuring the first filter condition in the first node, it is achieved that when the execution result of the first node does not meet the first filter condition, the branch where the first node in the target process is located is ended, that is, there is no need to configure the branch node when the execution result of the first node does not meet the first filter condition. In this way, since the number of configurations of branch nodes is reduced, the efficiency of process creation can be improved.
[0173] Figure 2 A flowchart of another process creation method provided in an embodiment of the present application. Figure 2 As shown, the method specifically includes:
[0174] Step 201: receiving an add instruction when arranging a target process.
[0175] In this embodiment, step 201 and Figure 1 Step 101 in the corresponding embodiment is basically the same and will not be described again here.
[0176] Step 202: In response to the adding instruction, add a first node in the target process.
[0177] In this embodiment, step 202 and Figure 1 Step 102 in the corresponding embodiment is basically the same and will not be described again here.
[0178] Step 203: receiving an editing instruction for the first node.
[0179] In this embodiment, step 203 and Figure 1 Step 103 in the corresponding embodiment is basically the same and will not be described again here.
[0180] Step 204, in response to the editing instruction, configure input parameters in the first node, configure a first filtering condition in the first node, and the first filtering condition is used for: during the execution of the target process, if it is determined that the execution result of the first node does not satisfy the first filtering condition, ending the execution of the branch where the first node is located in the target process.
[0181] In this embodiment, a node (eg, a first node) may obtain an output parameter of the first node by processing an input parameter.
[0182] Here, multiple methods can be used to configure input parameters in the first node. Please refer to the following description for details, which will not be described here.
[0183] In addition, step 204 and Figure 1 Step 104 in the corresponding embodiment is basically the same and will not be described again here.
[0184] In some optional implementations of this embodiment, at least one of the following methods may be used to configure the input parameters in the first node:
[0185] Method 1: when the first node is a triggering node, at least some parameters are selected from the parameters pre-associated with the triggering node to configure the input parameters of the first node.
[0186] The trigger node may represent the first executed node in the target process.
[0187] In the first embodiment of the above optional implementation, the configuration of the input parameters includes at least one of the following:
[0188] The first method is to configure the part of parameters as input parameters of the first node.
[0189] The second method is to process the part of the parameters to obtain processed parameters, and configure the processed parameters as input parameters of the first node.
[0190] Here, the selected partial parameters may be directly configured as the input parameters of the first node. Alternatively, the selected partial parameters may be processed, and the processing results may be configured as the input parameters of the first node. Alternatively, the selected partial parameters may be configured as a part of the input parameters of the first node, and the processing results obtained by processing the selected partial parameters may be configured as another part of the input parameters of the first node.
[0191] Among them, UDF (User-Defined Function) can be used to process some of the selected parameters. Scenario example: The input parameter can be a link. The configurer needs to configure a link that is not transmitted in plain text, but does not want to pay attention to the specific encryption rules during configuration; Implementation plan: Predefine UDF: Link encryption function. When configuring the input parameter, use the actual plain text link as the input parameter of the function, and use the output result of the function as the input parameter configured for the first node.
[0192] In addition, the input parameters and / or output parameters of the node (e.g., the first node, the trigger node, the parent node, etc.) may have a JSON (JavaScript Object Notation) data exchange format. Here, compared with other data exchange formats (e.g., XML (Extensible Markup Language) format), the use of the JSON data exchange format can improve data parsing efficiency and reduce data transmission and maintenance costs.
[0193] It can be understood that the parameters pre-associated with the trigger node can be directly used as the input parameters of the first node, and / or the input parameters of the first node can be obtained by processing the parameters pre-associated with the trigger node, thereby determining the input parameters of the first node more flexibly and efficiently.
[0194] Mode 2: When the first node has a parent node (that is, the first node is not a triggering node), the first node inherits the output parameters of all parent nodes, including: the parent node directly connected to the first node and the parent node indirectly connected to the first node. At least some parameters are selected from the output parameters of the parent nodes to configure the input parameters of the first node.
[0195] In the second embodiment of the above optional implementation, the configuration of the input parameters includes at least one of the following:
[0196] The first method is to configure the part of parameters as input parameters of the first node.
[0197] The second method is to process the part of the parameters to obtain processed parameters, and configure the processed parameters as input parameters of the first node.
[0198] Here, the output parameters of the selected parent node can be directly configured as the input parameters of the first node. Alternatively, the output parameters of the selected parent node can be processed, so that the processing results can be configured as the input parameters of the first node. Alternatively, the output parameters of the selected parent node can be configured as part of the input parameters of the first node, and the processing results obtained by processing the output parameters of the selected parent node can be configured as another part of the input parameters of the first node.
[0199] Among them, UDF can be used to process the output parameters of the selected parent node. Scenario example: The input parameter can be a link, and the configurer needs to configure a link that is not transmitted in plain text, but does not want to pay attention to the specific encryption rules during configuration; Implementation plan: Predefine UDF: Link encryption function, and use the actual plain text link as the input parameter of the function when configuring the input parameter.
[0200] In addition, the input parameters and / or output parameters of the node (e.g., the first node, the trigger node, the parent node, etc.) may have a JSON data exchange format. Here, compared with other data exchange formats (e.g., XML format), the use of the JSON data exchange format can improve the data parsing efficiency and reduce the data transmission cost and maintenance cost.
[0201] It can be understood that the output parameters of the parent node can be directly used as the input parameters of the first node, and / or the input parameters of the first node can be obtained by processing the output parameters of the parent node, thereby determining the input parameters of the first node more flexibly and efficiently.
[0202] It should be noted that, in addition to the above contents, this embodiment may also include Figure 1 The corresponding technical features described in the corresponding embodiments are realized Figure 1 For details, please refer to the technical effect of the process creation method shown in Figure 1 For the sake of brevity, the relevant description is not repeated here.
[0203] The process creation method provided in the embodiment of the present application further improves the efficiency of process creation by configuring input parameters in the first node.
[0204] In order to solve the technical problem of how to improve the execution efficiency of a process in the prior art, the present application provides a process execution method, device, electronic device and storage medium, which can improve the execution efficiency of the process.
[0205] Figure 3A flow chart of a process execution method provided for an embodiment of the present application. This method can be applied to one or more electronic devices such as smart phones, laptops, desktop computers, portable computers, servers, etc. In addition, the execution subject of this method can be hardware or software. When the above-mentioned execution subject is hardware, the execution subject can be one or more of the above-mentioned electronic devices. For example, a single electronic device can execute this method, or multiple electronic devices can cooperate with each other to execute this method. When the above-mentioned execution subject is software, this method can be implemented as multiple software or software modules, or it can be implemented as a single software or software module. It is not specifically limited here.
[0206] like Figure 3 As shown, the method specifically includes:
[0207] Step 301: receiving a trigger event.
[0208] In this embodiment, the trigger event can be used to trigger the execution of the target process. The trigger event usually carries some information, such as a user registering an enterprise event, which carries the enterprise number; a user placing an order event, which carries the order number, etc.
[0209] Here, please refer to the above description for the specific meaning of the target process, which will not be repeated here.
[0210] Step 302: In response to the trigger event, execute a target process corresponding to the trigger event, wherein the target process includes a trigger node corresponding to the trigger event.
[0211] In this embodiment, the trigger node may represent the first executed node in the target process.
[0212] Step 303: during the execution of the target process, determine the target node currently being executed in the target process.
[0213] In this embodiment, the target node may be a node currently executed in the target process. The target node may be configured with a first filtering condition.
[0214] The first filtering condition may be used to determine whether to terminate the execution of the branch where the target node in the target process is located.
[0215] Step 304: Determine the first filtering condition configured in the target node.
[0216] Step 305: When the execution result of the target node does not satisfy the first filtering condition, terminate the execution of the branch where the target node is located in the target process.
[0217] In some optional implementations of the present embodiment, after determining the first filtering condition configured in the target node, the execution of the child nodes of the target node may continue if the execution result of the target node satisfies the first filtering condition, or the execution of the branch in the target process where the target node is located may end if there are no child nodes of the target node.
[0218] It can be understood that in the above optional implementation, only when the execution result of the target node meets the first filtering condition and the target node has child nodes, the child nodes of the target node can continue to be executed, thereby ensuring the correct execution of the target process.
[0219] It should be noted that, in addition to the above contents, this embodiment may also include Figure 1 , Figure 2 The corresponding technical features described in the corresponding embodiments are realized Figure 1 , Figure 2 For the technical effects of the process creation method shown, please refer to the above related description. For the sake of brevity, it will not be repeated here.
[0220] The process execution method provided by the embodiment of the present application can receive a trigger event, and then, in response to the trigger event, execute the target process corresponding to the trigger event, the target process includes the trigger node corresponding to the trigger event, and then, during the execution of the target process, determine the target node currently executed in the target process, then determine the first filtering condition configured in the target node, and finally, when the execution result of the target node does not meet the first filtering condition, end the execution of the branch where the target node in the target process is located. Thus, when the execution result of the target node currently executed by the target process does not meet the first filtering condition, end the execution of the branch where the target node in the target process is located, without having to execute the branch node where the execution result of the target node does not meet the first filtering condition. In this way, since the number of executed branch nodes is reduced, the execution efficiency of the process can be improved.
[0221] The following is an illustrative description of the embodiments of the present application, but it should be noted that the embodiments of the present application may have the features described below, but the following description does not constitute a limitation on the scope of protection of the embodiments of the present application.
[0222] Before introducing this solution, the following terms and definitions are given:
[0223] Business flow refers to the automation of business processes in a computer application environment. In this process, business information or tasks flow through certain process rules to achieve the coordination and connection of different application systems and ultimately achieve business goals (i.e. the predetermined tasks mentioned above).
[0224] Business flows are widely used in enterprises, such as leave applications, purchase applications, reimbursement applications, business trip applications, etc. in office automation (OA) systems. Business flows can be automated by visually choreographing and combining multiple nodes.
[0225] Trigger events are the result of user operations on the application system. Events usually carry some information, such as user registration of enterprise events (carrying enterprise number), user order placement events (carrying order number), etc.
[0226] The ability to execute actions and call internal / external systems, such as sending text messages to users, obtaining corporate information, etc.
[0227] Node is the smallest indivisible unit in a business flow, such as a trigger event, execution action, conditional branch, etc. It can be expanded according to business needs.
[0228] A process instance is a defined business flow that is executed each time it is triggered.
[0229] Process debugging, simulating the occurrence of trigger events, and observing the execution status of each node in the business flow.
[0230] Traffic flow guidance is a way to dynamically guide user requests.
[0231] In current enterprise applications, mainstream open source process engines such as Activiti, Flowable, and Camunda are usually used. Most of these frameworks are derivatives of JBpm4.
[0232] BPMN (Business Process Model and Notation) is a set of graphical representations that aims to provide a standard notation that is easy to understand for all business stakeholders. Therefore, the symbols and syntax provided are numerous, which are redundant for product applications, making it difficult for beginners and non-professionals to understand and apply.
[0233] The basic working principle of the process engine: Draw a business process diagram based on the BPMN-like specification and generate data products XML (Extensible Markup Language) for the process engine to drive tasks.
[0234] In summary, the business flow implementation of the existing solution has the following defects:
[0235] 1. BPMN has a high learning and learning cost for users;
[0236] 2. Based on XML as data drive, it has poor readability and low parsing efficiency;
[0237] 3. Mainstream implementations all rely on the Java (a programming language) ecosystem, which limits users’ freedom of choice and the unification of technology stacks;
[0238] 4. Mainstream frameworks are bloated, require independent operation and deployment services, and have historical baggage.
[0239] As the enterprise iterates and the user base reaches a certain scale, the business system faces a growth bottleneck; at this time, the business's operational strategy for users urgently needs to be transformed from a unified and general one to a flexible and refined one.
[0240] In view of this, this solution uses lightweight integration, high-performance drive, and easy-to-use design concepts to solve the problems of slow iteration of enterprise business operation needs, untimely contact, and low level of user operation refinement. By abstracting business operation needs, a series of actions are executed when a certain triggering time is met, so that the production and operation parties can complete the pre-filtering (corresponding to the second filter condition mentioned above) with low learning cost visual orchestration: the rapid iteration of business operation needs greatly reduces communication costs and manpower investment, while improving business growth and retention effects.
[0241] This solution is applicable to all event-driven automated business flows.
[0242] The idea of this solution is to provide an online model (representing the above-mentioned target process) designer that is easy to orchestrate, allowing the production and operation parties in the enterprise to focus on business process design. For different event types, pre-orchestrated process models are used to guide user traffic flow, thereby achieving fine-grained, highly flexible and refined operation capabilities.
[0243] Figure 4 A flowchart of another process execution method provided in an embodiment of the present application. Figure 4 In the process, the trigger event is first monitored, wherein the event carries context information. After that, all process models (i.e., the candidate sub-process set) that meet the trigger event are taken out from the publishing process (i.e., the preset sub-process set). Then, according to the trigger event context information, the tasks of all process nodes of the target process model (i.e., the candidate sub-process to be added to the target process) are driven to execute.
[0244] Figure 5 A flowchart of a process execution method based on data recommendation provided in an embodiment of the present application. Figure 5In the process, the trigger event is first listened, where the event carries context information. After that, all process models that meet the trigger event (that is, the above-mentioned candidate sub-process set) are taken out from the release process (that is, the above-mentioned preset sub-process set). Subsequently, the target process model (that is, the above-mentioned candidate sub-process to be added to the target process) is evaluated using the recommendation algorithm based on the historical instance execution times (that is, the above-mentioned historical execution times) and the touch transfer data (that is, the above-mentioned execution probability). Finally, the task execution of the target process model is driven according to the trigger event context information.
[0245] Figure 6 A background system architecture diagram of a process execution method provided in an embodiment of the present application. The background system is a system for the application of the task processing method, which is mainly divided into four layers: the application layer, which provides standard triggering methods externally or internally, mainly in the form of HTTP (HyperText Transfer Protocol) or Event Hook (event hook); the engine layer, which executes the task processing request flow in the business flow and manages the data of the entire process; the design layer, which is the designer of the process model; the basic module layer, which makes visual management of the reference capability to reduce the cost of getting started for users, such as the execution action module describes the meaning and optional values of the specific input and output parameters (that is, the above-mentioned output parameters and input parameters), and the process management module records the data of all triggered processes in history.
[0246] At present, mainstream BPM adopts XML as data driver. On the one hand, the mainstream engines have a long history and are inherited from the same origin. On the other hand, XML supports complex data structures due to metadata support, so it focuses more on information storage and driving in OA scenarios. However, in the context of enterprise automated operations and massive user access, especially in recent years, mainstream enterprises have adopted the design style of RESTful API (Representational State Transfer API (Application Programming Interface)). For example, in the operation of pushing SMS, the original XML storage needs to be converted into the JSON format required by RESTful, exposing problems such as XML parsing efficiency, high transmission cost and maintenance cost.
[0247] This solution constructs a process engine with a JSON tree structure through dynamic request nodes, and uses the compatibility of JSON with mainstream RESTful and the characteristics of the tree: branching and recursion, to construct a description of complex business processes, and uses DSL (Domain Specific Language) to stream reference and heterogeneous serial business data to achieve the business modeling needs of enterprises with high performance and refined operations. Figure 7A flowchart of another process execution method provided in an embodiment of the present application. Here, two parts are mainly understood: dynamic request node and model execution process.
[0248] The following describes the dynamic request node:
[0249] In the current mainstream traditional BPM, users face two problems when configuring nodes:
[0250] 1. Configuring nodes requires R&D knowledge; that is, to configure and trigger a business action, developers need to write code, which can be used in process design only after being injected through Spring (an open source framework for Java development) annotations.
[0251] 2. Configuring a business action usually requires more than two nodes to complete. For example, whether the process can continue to be executed after the service task is completed requires the introduction of branch node judgment in mainstream BPM. This design increases the mental burden on users: the user's purpose is only to filter, but therefore needs to handle the scenarios of branch success and failure. In terms of execution performance, a single action is spread into two nodes, especially in the BPMN design with database-driven process execution, which has low performance efficiency.
[0252] Based on the above problems, this solution designs a dynamic request node. Figure 8 A flow chart for the generation, arrangement and triggering of a dynamic request node provided in the embodiment of the present application. The input parameters and output parameters of the dynamic request node are all in JSON format. Users can select the interface capability list online and dynamically render the front-end form. This not only decouples and standardizes the responsibilities between application development and users, but also allows users to visually arrange application capabilities through automated, standardized and easier-to-understand front-end interactions.
[0253] Fig. 9 A schematic diagram of an application scenario of converting an interface document to a visual form provided in an embodiment of the present application. At this point, the application development side only needs to focus on the iteration of basic business capabilities. Whether it is new capabilities or existing capabilities within the enterprise, they can be automatically synchronized to the business flow platform through the interface document for users to arrange, allowing R&D and business flow designers to focus on their respective fields.
[0254] The dynamic request node is the smallest executable and orchestrated unit of the business flow model. Its life cycle is designed to include: processing input, executing node logic, processing output, executing filtering conditions, and storing data on disk. This ensures that the node has the characteristics of repeatable input and data traceability.
[0255] Furthermore, the business layer can be further expanded based on this to implement nodes that meet its own business needs. Fig.10A schematic diagram describing a node type provided for an embodiment of the present application. Among them, the trigger event node (that is, the trigger node mentioned above) is usually the first node of the business flow, serving as a trigger and data driver for the target model; this node usually has only output, or the input is equal to the output. In addition, trigger events are not limited to known message queue events. Any data entity can be converted into an event stream as a trigger, such as HTTP requests, SQL (Structured Query Language) execution results, etc. Operational needs within the enterprise and abstract processes can basically be applied Fig.10 The idea is that when a user operation meets a certain timing, after a series of conditional judgments, certain actions are triggered. However, in actual business needs, the conditional judgments and actions here can be freely combined. This product function that refines the abstract model idea according to the characteristics of the enterprise is called a business flow task in this solution.
[0256] The node that executes an action represents the ability to call an external system. It needs to accept specific input parameters and return specific output parameters after being processed by the node. In enterprise operations, common actions include: SMS push, in-terminal message reach, social media reach, etc.
[0257] Each conditional branch node represents a feasible branch of the business flow model. It is used to determine whether to execute the current branch process. The principle is to combine the node data and the configured input parameter expression, and release it only when the execution result is True.
[0258] In addition, you can also expand nodes that suit your business needs by implementing node interfaces, such as loops, light strips, variable declarations, etc.
[0259] The following describes the business flow model execution process:
[0260] Fig.11 A schematic diagram of a business process creation process provided for an embodiment of the present application, as shown in the figure, the business is described in a tree-like hierarchical manner between nodes, and the designer can freely expand the branches or adjust the order of task nodes.
[0261] exist Fig.11 In the example, the trigger event node is used as the starting node, providing the execution timing and data drive for the business flow model. The process engine combines the characteristics of the node to manage the data of each node in the model as a context, providing each subsequent node with the ability to reference JSON DSL data streams and heterogeneity. Based on this, the process designer in the implementation case realizes the generation of DSL data that references all parent nodes of the current node by dragging and dropping configuration personnel.
[0262] Fig.12A business flow task-driven process diagram is provided for an embodiment of the present application. The three input parameters of node 3 in the figure are three different input types: template id, i.e. template_id, which is purely manually input by the user; message receiver, i.e. user_id, which is the output of the user referencing the parent node; content, i.e. content, which is mixed input by the user (manual input + parent node reference).
[0263] This solution avoids the need to parse XML into JSON in traditional BPM to adapt to the current mainstream enterprise RESTful API style by designing a DSL for JSON processing. It can directly convert the form submitted by the user into the target JSON execution logic, avoiding unnecessary performance consumption and process.
[0264] Fig.13 A schematic diagram of an input box visible to a user when referencing context management provided by an embodiment of the present application. Fig.13 In, based on Fig.12 The template id in the template is used to display the corresponding template. The user fills, references, and constructs the value (Value) of the input box for each form item (Key) in the template. Finally, the front-end is submitted to the server and stored as a JSON object. Each Value in the object is a DSL expression. In the actual triggering process, the heterogeneous rendering process is executed according to the node context and the preset JSON DSL object to obtain the input parameters required by the node. Similarly, the filter expression in the conditional branch is also based on DSL, but its execution result is different from the ordinary Value. Its rendering result will be used for logical judgment, which is either true or false, to determine whether the subsequent process can continue.
[0265] Fig.14 A business flow task processing flowchart provided for an embodiment of the present application.
[0266] Fig.15 A schematic diagram of a business flow task processing interaction provided in an embodiment of the present application.
[0267] According to the process model definition, process instantiation can clearly locate, trace back and track the task processing status by recording model snapshots, operating status and process data. At the same time, the existence of process instances also helps operators analyze the operating effects of the model and timely optimize the business flow model by analyzing historical instance data.
[0268] It should be noted that, in addition to the contents recorded above, this embodiment may also include the technical features described in the above embodiments, so as to achieve the technical effects of the process creation method shown above. Please refer to the above description for details. For the sake of brevity, it will not be repeated here.
[0269] This solution can improve the efficiency of operational needs: compared with the previous operation->product->R&D / testing, switching to the operation->event flow platform of this solution can shorten the communication link, online orchestration, WYSIWYG, and modify hot release, saving more than 100% of manpower input costs (taking the end-to-end message push as an example). The traditional enterprise development iteration cycle: from operation to demand, product design draft, and then to R&D testing; advantages: high degree of customization; disadvantages: high communication cost and long iteration cycle. The operational needs within the enterprise are usually a combination of different times, conditions, and actions, but the ideas are similar, and can be abstracted into a unified model, and have high requirements for timeliness and need to be quickly launched. It is reflected in: topic popularity (AI, college entrance examination), various activity promotion nodes (618, Double 11). Therefore, a way to arrange business flow tasks online is provided, allowing the demand proposer to complete the configuration of the business flow by himself, and R&D only needs to focus on the provision of specific task actions. In addition, this solution provides unified platform management: in the past, each operational business demand point was scattered and coupled to various projects. Such demand often invaded the original project, forcing it to focus on the irrelevant parts of the original business, resulting in increased costs for subsequent management, maintenance and iteration. This solution has a wide range of applications and can quickly connect to many existing application systems within the enterprise, such as: by connecting multiple existing capabilities to encapsulate them into new standard capabilities or templates; at the same time, the accessed business flow has its own data backtracking, call replay and other capabilities. In addition, this solution has strong scalability and provides a method for visually arranging and processing structured data. For example, in combination with the current AIGC (Artificial Intelligence Generated Content) era, LLM (Large Language Model) is applied to generate structured data to quickly implement AI (Artificial Intelligence) business flows. For solutions that do not require coding in related technologies: the execution of tasks is independent, and there is only a scheduling relationship between tasks; for solutions that require coding in related technologies: the input parameters of the task come from the output parameters of the previous task. In this solution, by defining input and output parameters for each task, the user can set the input parameter when configuring a task to obtain the output parameter reference for the subsequent task, solving the problem of needing coding. For example, task node 1: Get order information, requires input parameter: order id; output parameter: order amount, order purchaser; task node 2: SMS push, requires input parameter: pusher id; output parameter: push id; in task node 2, the input parameter of "pusher id" can reference the "order purchaser" of task node 1.
[0270] Fig.16 A schematic diagram of the structure of a process creation device provided in an embodiment of the present application. Specifically comprising:
[0271] The first receiving unit 401 is used to receive an add instruction when arranging a target process;
[0272] An adding unit 402, configured to add a first node in the target process in response to the adding instruction;
[0273] A second receiving unit 403, configured to receive an editing instruction for the first node;
[0274] The first configuration unit 404 is used to configure a first filtering condition in the first node in response to the editing instruction, and the first filtering condition is used to: during the execution of the target process, if it is determined that the execution result of the first node does not satisfy the first filtering condition, end the execution of the branch where the first node is located in the target process.
[0275] In a possible implementation manner, adding the first node in the target process includes:
[0276] In the case where it is determined that the first node is a branch node, determining a parent node of the first node, wherein the first node is a child node of the parent node;
[0277] Determining a second filtering condition configured in the parent node;
[0278] A first node that meets the second filtering condition is added under the parent node.
[0279] In a possible implementation manner, after receiving the editing instruction for the first node, the apparatus further includes:
[0280] The second configuration unit (not shown in the figure) is used to configure input parameters in the first node in response to the editing instruction.
[0281] In a possible implementation manner, configuring the input parameter in the first node includes one of the following:
[0282] In the case where the first node is a triggering node, selecting at least some parameters from the parameters pre-associated with the triggering node to configure input parameters of the first node; or,
[0283] In the case that the first node has a parent node, at least part of the parameters are selected from the output parameters of the parent node to configure the input parameters of the first node.
[0284] In a possible implementation, the way of configuring the input parameters includes at least one of the following:
[0285] configuring the part of parameters as input parameters of the first node; and / or,
[0286] The partial parameters are processed to obtain processed parameters, and the processed parameters are configured as input parameters of the first node.
[0287] In a possible implementation manner, before adding the first node to the target process, the device further includes:
[0288] A first determining unit (not shown in the figure), configured to determine a second node in the target process, where the second node is a node that has been arranged in the target process;
[0289] a second determining unit (not shown in the figure), configured to determine a set of candidate sub-processes based on the node information of the second node, wherein the candidate sub-processes in the set of candidate sub-processes include at least one node;
[0290] The third determination unit (not shown in the figure) is used to determine the candidate sub-process to be added to the target process from the candidate sub-process set, and to use the node in the candidate sub-process to be added to the target process as the first node to be added to the target process.
[0291] In a possible implementation manner, determining the candidate sub-process to be added to the target process from the candidate sub-process set includes:
[0292] Determine the historical execution times of each candidate sub-process in the candidate sub-process set;
[0293] The candidate sub-process with the largest number of historical execution times in the candidate sub-process set is determined as the candidate sub-process to be added to the target process.
[0294] In a possible implementation manner, determining the candidate sub-process to be added to the target process from the candidate sub-process set includes:
[0295] Determining the execution probability of each candidate sub-process in the set of candidate sub-processes;
[0296] A candidate sub-process with the highest execution probability in the candidate sub-process set is determined as a candidate sub-process to be added to the target process.
[0297] The process creation device provided in this embodiment can be as follows Fig.16 The process creation device shown in can execute all the steps of the process creation methods described above, thereby achieving the technical effects of the process creation methods described above. Please refer to the above related description for details. For the sake of brevity, it will not be repeated here.
[0298] Fig.17A schematic diagram of the structure of a process execution device provided in an embodiment of the present application. Specifically comprising:
[0299] The third receiving unit 411 is used to receive a trigger event;
[0300] A first execution unit 412, configured to execute, in response to the trigger event, a target process corresponding to the trigger event, wherein the target process includes a trigger node corresponding to the trigger event;
[0301] A fourth determining unit 413 is used to determine a target node currently being executed in the target process during the execution of the target process;
[0302] A fifth determining unit 414, configured to determine a first filtering condition configured in the target node;
[0303] The second execution unit 415 is configured to terminate the execution of the branch where the target node is located in the target process if the execution result of the target node does not satisfy the first filtering condition.
[0304] In a possible implementation, after determining the first filtering condition configured in the target node, the apparatus further includes:
[0305] The third execution unit is used to continue executing the child nodes of the target node when the execution result of the target node meets the first filtering condition, or to end the execution of the branch where the target node is located in the target process when the target node has no child nodes.
[0306] The process execution device provided in this embodiment may be as follows Fig.17 The process execution device shown in can execute all the steps of the process execution methods described above, thereby achieving the technical effects of the process execution methods described above. Please refer to the above related description for details. For the sake of brevity, it will not be repeated here.
[0307] Fig.18 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application, Fig.18 The electronic device 500 shown includes: at least one processor 501, a memory 502, at least one network interface 504 and other user interfaces 503. The various components in the electronic device 500 are coupled together via a bus system 505. It is understood that the bus system 505 is used to achieve connection and communication between these components. In addition to the data bus, the bus system 505 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, the bus system 505 is not shown in FIG. Fig.18 Various buses are labeled as bus system 505 .
[0308] The user interface 503 may include a display, a keyboard, or a pointing device (eg, a mouse, a trackball, a touch pad, or a touch screen).
[0309] It can be understood that the memory 502 in the embodiment of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM) and direct RAM bus random access memory (DRRAM). The memory 502 described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0310] In some implementations, the memory 502 stores the following elements, executable units or data structures, or a subset thereof, or an extended set thereof: an operating system 5021 and an application program 5022 .
[0311] Among them, the operating system 5021 includes various system programs, such as a framework layer, a core library layer, a driver layer, etc., which are used to implement various basic services and process hardware-based tasks. The application 5022 includes various application programs, such as a media player (Media Player), a browser (Browser), etc., which are used to implement various application services. The program for implementing the method of the embodiment of the present application can be included in the application 5022.
[0312] In this embodiment, by calling the program or instruction stored in the memory 502, specifically, the program or instruction stored in the application 5022, the processor 501 is used to execute the method steps provided by each method embodiment, for example, including:
[0313] In the case of choreographing a target process, receiving an add instruction;
[0314] In response to the adding instruction, adding a first node in the target process;
[0315] receiving an editing instruction for the first node;
[0316] In response to the editing instruction, a first filtering condition is configured in the first node, and the first filtering condition is used to: during the execution of the target process, if it is determined that the execution result of the first node does not meet the first filtering condition, end the execution of the branch where the first node is located in the target process.
[0317] or,
[0318] Receive trigger events;
[0319] In response to the trigger event, executing a target process corresponding to the trigger event, wherein the target process includes a trigger node corresponding to the trigger event;
[0320] During the execution of the target process, determining a target node currently being executed in the target process;
[0321] Determining a first filtering condition configured in the target node;
[0322] When the execution result of the target node does not satisfy the first filtering condition, the execution of the branch where the target node is located in the target process is terminated.
[0323] The method disclosed in the above embodiment of the present application can be applied to the processor 501, or implemented by the processor 501. The processor 501 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the hardware integrated logic circuit or software instructions in the processor 501. The above processor 501 can be a general processor, a digital signal processor (Digital Signal Processor, DSP), an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field programmable gate array (Field Programmable Gate Array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The methods, steps and logic block diagrams disclosed in the embodiments of the present application can be implemented or executed. The general processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in the embodiment of the present application can be directly embodied as a hardware decoding processor to execute, or the hardware and software units in the decoding processor can be executed. The software unit can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory 502, and the processor 501 reads the information in the memory 502 and completes the steps of the above method in combination with its hardware.
[0324] It is understood that the embodiments described herein may be implemented in hardware, software, firmware, middleware, microcode, or a combination thereof. For hardware implementation, the processing unit may be implemented in one or more application specific integrated circuits (ASIC), digital signal processors (DSP), digital signal processing devices (DSPDevice, DSPD), programmable logic devices (PLD), field programmable gate arrays (FPGA), general purpose processors, controllers, microcontrollers, microprocessors, other electronic units for performing the above functions of the present application, or a combination thereof.
[0325] For software implementation, the technology described above in this article can be implemented by a unit that performs the functions described above in this article. The software code can be stored in a memory and executed by a processor. The memory can be implemented in the processor or outside the processor.
[0326] The electronic device provided in this embodiment may be Fig.18 The electronic device shown in can execute all the steps of the above-mentioned process creation methods, thereby achieving the technical effects of the above-mentioned process creation methods. Please refer to the above related description for details. For the sake of brevity, it will not be repeated here.
[0327] The embodiment of the present application also provides a storage medium (computer-readable storage medium). The storage medium here stores one or more programs. The storage medium may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a read-only memory, a flash memory, a hard disk or a solid-state drive; the memory may also include a combination of the above-mentioned types of memory.
[0328] When one or more programs in the storage medium can be executed by one or more processors, the process creation method or process execution method executed on the electronic device side can be implemented.
[0329] The processor is used to execute the process creation program or process execution program stored in the memory to implement the following steps of the process creation method or process execution method executed on the electronic device side:
[0330] In the case of choreographing a target process, receiving an add instruction;
[0331] In response to the adding instruction, adding a first node in the target process;
[0332] receiving an editing instruction for the first node;
[0333] In response to the editing instruction, a first filtering condition is configured in the first node, and the first filtering condition is used to: during the execution of the target process, if it is determined that the execution result of the first node does not meet the first filtering condition, end the execution of the branch where the first node is located in the target process.
[0334] or,
[0335] Receive trigger events;
[0336] In response to the trigger event, executing a target process corresponding to the trigger event, wherein the target process includes a trigger node corresponding to the trigger event;
[0337] During the execution of the target process, determining a target node currently being executed in the target process;
[0338] Determining a first filtering condition configured in the target node;
[0339] When the execution result of the target node does not satisfy the first filtering condition, the execution of the branch where the target node is located in the target process is terminated.
[0340] The professionals should also be further aware that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented with electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in terms of function in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0341] The steps of the method or algorithm described in conjunction with the embodiments disclosed herein may be implemented using hardware, a software module executed by a processor, or a combination of the two. The software module may be placed in a random access memory (RAM), a memory, a read-only memory (ROM), an electrically programmable ROM, an electrically erasable programmable ROM, a register, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
[0342] It should be understood that the terms used herein are only for the purpose of describing specific example embodiments and are not intended to be limiting. Unless the context clearly indicates otherwise, the singular forms "one", "an" and "said" as used herein may also be meant to include plural forms. The terms "include", "comprise", "contain", and "have" are inclusive, and therefore specify the existence of stated features, steps, operations, elements and / or parts, but do not exclude the existence or addition of one or more other features, steps, operations, elements, parts, and / or combinations thereof. The method steps, processes, and operations described herein are not interpreted as necessarily requiring them to be performed in the specific order described or illustrated, unless the execution order is clearly indicated. It should also be understood that additional or alternative steps may be used.
[0343] The above description is only a specific implementation of the present application, so that those skilled in the art can understand or implement the present application. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, the present application will not be limited to the embodiments shown herein, but will conform to the widest range consistent with the principles and novel features applied for herein.
Claims
1. A process creation method, characterized in that: The method comprises: In the case of choreographing a target process, receiving an add instruction; In response to the adding instruction, adding a first node in the target process; receiving an editing instruction for the first node; In response to the editing instruction, a first filtering condition is configured in the first node, and the first filtering condition is used to: during the execution of the target process, if it is determined that the execution result of the first node does not meet the first filtering condition, end the execution of the branch where the first node is located in the target process.
2. The method according to claim 1, characterized in that Adding the first node in the target process includes: In the case where it is determined that the first node is a branch node, determining a parent node of the first node, wherein the first node is a child node of the parent node; Determining a second filtering condition configured in the parent node; A first node that meets the second filtering condition is added under the parent node.
3. The method according to claim 1, characterized in that After receiving the editing instruction for the first node, the method further includes: In response to the editing instruction, input parameters are configured in the first node.
4. The method according to claim 3, characterized in that The configuring the input parameter in the first node includes one of the following: In the case where the first node is a triggering node, selecting at least some parameters from the parameters pre-associated with the triggering node for configuring input parameters of the first node; or, In the case that the first node has a parent node, at least part of the parameters are selected from the output parameters of the parent node to configure the input parameters of the first node.
5. The method according to claim 4, characterized in that The method of configuring the input parameters includes at least one of the following: configuring the part of parameters as input parameters of the first node; and / or, The partial parameters are processed to obtain processed parameters, and the processed parameters are configured as input parameters of the first node.
6. The method according to claim 1, characterized in that Before adding the first node in the target process, the method further includes: Determine a second node in the target process, where the second node is a node that has been arranged in the target process; Determine a candidate sub-process set based on the node information of the second node, wherein the candidate sub-process in the candidate sub-process set includes at least one node; A candidate sub-process to be added to the target process is determined from the candidate sub-process set, and a node in the candidate sub-process to be added to the target process is used as a first node to be added to the target process.
7. The method according to claim 6, characterized in that The step of determining a candidate sub-process to be added to the target process from the candidate sub-process set includes: Determine the historical execution times of each candidate sub-process in the candidate sub-process set; The candidate sub-process with the largest number of historical execution times in the candidate sub-process set is determined as the candidate sub-process to be added to the target process.
8. The method according to claim 6, characterized in that The step of determining a candidate sub-process to be added to the target process from the candidate sub-process set includes: Determining the execution probability of each candidate sub-process in the set of candidate sub-processes; A candidate sub-process with the highest execution probability in the candidate sub-process set is determined as a candidate sub-process to be added to the target process.
9. A process execution method, characterized in that: The method comprises: Receive trigger events; In response to the trigger event, executing a target process corresponding to the trigger event, wherein the target process includes a trigger node corresponding to the trigger event; During the execution of the target process, determining a target node currently being executed in the target process; Determining a first filtering condition configured in the target node; When the execution result of the target node does not satisfy the first filtering condition, the execution of the branch where the target node is located in the target process is terminated.
10. The method according to claim 9, characterized in that After determining the first filtering condition configured in the target node, the method further includes: When the execution result of the target node satisfies the first filtering condition, the child nodes of the target node continue to be executed, or when the target node has no child nodes, the branch where the target node is located in the target process is terminated.
11. A process creation device, characterized in that: The device comprises: A first receiving unit, configured to receive an add instruction when arranging a target process; an adding unit, configured to add a first node in the target process in response to the adding instruction; A second receiving unit, configured to receive an editing instruction for the first node; A first configuration unit is used to configure a first filtering condition in the first node in response to the editing instruction, wherein the first filtering condition is used to: during the execution of the target process, if it is determined that the execution result of the first node does not satisfy the first filtering condition, terminate the execution of the branch where the first node is located in the target process.
12. A process execution device, characterized in that: The device comprises: A third receiving unit, configured to receive a trigger event; A first execution unit, configured to execute, in response to the trigger event, a target process corresponding to the trigger event, wherein the target process includes a trigger node corresponding to the trigger event; A fourth determining unit, configured to determine, during the execution of the target process, a target node currently being executed in the target process; a fifth determining unit, configured to determine a first filtering condition configured in the target node; The second execution unit is used to terminate the execution of the branch where the target node is located in the target process if the execution result of the target node does not meet the first filtering condition.
13. An electronic device, characterized in that: include: Memory for storing computer programs; A processor, configured to execute a computer program stored in the memory, and to implement the method of any one of claims 1 to 10 when the computer program is executed.
14. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method of any one of claims 1 to 10 is implemented.
