Process design methods, apparatus, equipment, storage media and program products
By detecting logical errors in process design in real time in the RPA designer, and generating error-free processes using node type judgment and DAG algorithm, the problem of low design efficiency in existing technologies is solved, and efficient and accurate process design is achieved.
Patent Information
- Application Number
- CN202310187277.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-21
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2043-02-21
AI Technical Summary
Existing RPA designers are prone to logical errors during process design, resulting in low design efficiency and an inability to detect and correct logical problems in real time during the design process.
Upon receiving a connection command, the algorithm determines whether a connection line is allowed to enter or exit the anchor point based on the type of the target node. It then utilizes a DAG irregular multi-directional mutual exclusion algorithm and syntax tree pruning operations to detect and correct logical errors in real time, generating an error-free process design.
It enables real-time detection and correction of logical errors during the process design, improving the accuracy and efficiency of process design and ensuring that the generated process is free of logical errors.
Smart Images

Figure CN116107625B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of artificial intelligence technology, and in particular relates to a process design method, apparatus, equipment, storage medium and program product. Background Technology
[0002] The RPA (Robotic Process Automation) designer is a tool for designing robotic process automation (RPA) workflows. After designing a workflow using this software tool, it is configured to run on client automation software, simulating human interaction within the software system to execute the business process. The RPA designer features a visual graphical user interface, allowing for intuitive operation during the design process. When designing business processes, users can drag and drop components to orchestrate various automated workflows, offering low-code advantages.
[0003] However, users may encounter logical errors during the design process using RPA designers. These errors are often undetectable during the process design phase. Only after the process design is completed and the entire process is run through a trial run can these logical errors be discovered and the process redesigned. This significantly reduces the efficiency of process design. Summary of the Invention
[0004] This application provides a process design method, apparatus, device, storage medium, and program product that can solve the problem of low efficiency in existing process designs.
[0005] In a first aspect, embodiments of this application provide a process design method, the method comprising:
[0006] Upon receiving a connection command for a target node, determine the node type of the target node;
[0007] The target anchor point on the target node is determined according to the connection instruction, wherein the target anchor point is the anchor point to be connected by the connection instruction;
[0008] Determine whether a connection line is allowed to enter from the target anchor point based on the node type; the entry includes both inbound and outbound connections.
[0009] If it is permissible to connect the connecting line from the target anchor point, add the connecting line to the target anchor point according to the connection instructions to generate the target flow.
[0010] In some embodiments, before adding a connecting line to the target anchor point according to the connecting instructions and generating the target flow, provided that the connecting line is allowed to access from the target anchor point, the method further includes:
[0011] Determine whether a connecting line extends from the target anchor point;
[0012] If a connecting line extends from the target anchor point, determine whether there is a connecting line segment on the target anchor point;
[0013] If there is no connecting line segment on the target anchor point, determine whether there is a connecting line extending from an anchor point other than the target anchor point on the target node;
[0014] If there is a connecting line extending from an anchor point other than the target anchor point on the target node, determine whether the node type of the target node is a regular node;
[0015] If the node type is not a regular node, a connecting line is allowed to extend from the target anchor point.
[0016] In some embodiments, after determining whether a connecting line extends from the target anchor point, the method further includes:
[0017] If no connecting line originates from the target anchor point, determine whether a connecting line originates from the target anchor point.
[0018] If a connecting line is connected to the target anchor point, determine whether the connection instruction is to add a connecting line to the target anchor point.
[0019] If the connection instruction is to add a connecting line to the target anchor point, then the connection instruction is executed.
[0020] In some embodiments, determining the node type of the target node includes:
[0021] Obtain the interface attribute values of the target node;
[0022] The node type of the target node is determined based on the interface attribute values.
[0023] In some embodiments, after generating the target process, the method further includes:
[0024] The nodes, anchor points, node groups, and thumbnails in the target process are defined as the first level;
[0025] The connecting lines in the target process are identified as the second level;
[0026] The background of the target process is defined as the third level;
[0027] The first layer, the second layer, and the third layer are rendered respectively.
[0028] In some embodiments, after generating the target process, the method further includes:
[0029] Obtain the parsing tree, which includes a root node, flow nodes, component nodes, and attribute nodes;
[0030] Wherein, the root node is the parent node of the process node, the process node is the parent node of the component node, the component node is the parent node of the attribute node, each root node corresponds to a business, each process node corresponds to a process in the business, each component node corresponds to a component in the process, and each attribute node corresponds to a string input by the user in the component.
[0031] Determine the target flow node corresponding to the target flow in the parsing tree;
[0032] The parsing tree is pruned using the target flow node to obtain a pruned tree, wherein the pruned tree includes all absolute paths where the target flow node is located.
[0033] Perform syntax analysis on all nodes in the pruned tree;
[0034] If a node in the pruned tree has a syntax error, an error message is generated to indicate the syntax error.
[0035] Secondly, embodiments of this application provide a process design apparatus, the apparatus comprising:
[0036] The receiving module is used to determine the node type of the target node upon receiving a connection instruction for the target node;
[0037] The determination module is used to determine the target anchor point on the target node according to the connection instruction, wherein the target anchor point is the anchor point to be connected by the connection instruction;
[0038] The judgment module is used to determine whether the connection line is allowed to enter from the target anchor point based on the node type, wherein the entry includes connection in and connection out;
[0039] The generation module is used to add connecting lines to the target anchor point according to the connection instructions, and generate the target flow, provided that connecting lines are allowed to be accessed from the target anchor point.
[0040] Thirdly, embodiments of this application provide a process design apparatus, the apparatus including: a processor and a memory storing computer program instructions;
[0041] The above process design method is implemented when the processor executes computer program instructions.
[0042] Fourthly, embodiments of this application provide a computer storage medium storing computer program instructions, which, when executed by a processor, implement the above-described process design method.
[0043] Fifthly, embodiments of this application provide a computer program product, the computer program product including computer program instructions, which, when executed by a processor, implement the above-described flow design method.
[0044] In this application, upon receiving an instruction to add a connection line to a target anchor point on a target node, the system determines whether the connection line is allowed to be connected to the target anchor point based on the node type. The connection instruction is only executed if the connection line is allowed to be connected to the target anchor point. This method allows for real-time detection of logical errors in the process design. Only logically correct connection instructions are executed, ensuring that the designed target process is free of logical errors, thus guaranteeing the accuracy of the process design and improving its efficiency. Attached Figure Description
[0045] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the embodiments of this application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0046] Figure 1 This is a flowchart illustrating a process design method provided in an embodiment of this application;
[0047] Figure 2 This is a flowchart illustrating a process design method provided in another embodiment of this application;
[0048] Figure 3 This is a flowchart illustrating a process design method provided in yet another embodiment of this application;
[0049] Figure 4 This is a flowchart illustrating a process design method provided in another embodiment of this application;
[0050] Figure 5 This is a flowchart illustrating a process design method provided in another embodiment of this application;
[0051] Figure 6 This is a flowchart illustrating a process design method provided in another embodiment of this application;
[0052] Figure 7 This is a schematic diagram of the hardware structure of a process design device provided in an embodiment of this application;
[0053] Figure 8 This is a schematic diagram of the structure of a process design device provided in an embodiment of this application. Detailed Implementation
[0054] The features and exemplary embodiments of various aspects of this application will be described in detail below. To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain this application and not to limit it. For those skilled in the art, this application can be implemented without some of these specific details. The following description of the embodiments is merely to provide a better understanding of this application by illustrating examples of this application.
[0055] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes the element.
[0056] It should be noted that, unless otherwise specified, the embodiments and features described in this application can be combined with each other. The embodiments will now be described in detail with reference to the accompanying drawings.
[0057] Specifically, in order to solve the problems of the prior art, embodiments of this application provide a process design method, apparatus, device, storage medium, and program product. The process design method provided by embodiments of this application will be described first below.
[0058] Figure 1 A flowchart illustrating a process design method according to an embodiment of this application is shown. The method includes the following steps:
[0059] S110, upon receiving a connection instruction for the target node, determine the node type of the target node.
[0060] In this embodiment, the process design method is applied to a low-code designer, a software tool that allows developers to easily create applications and processes. It provides a quick drag-and-drop method for assembling applications through a graphical interface, eliminating the need to write extensive code. Users can create applications in the low-code designer by selecting readily available components, setting configuration options, and defining processes using drag-and-drop methods.
[0061] In low-code designers, a node is a basic element that typically represents a step or task in a workflow, business process, or similar structure. A node is usually a visual graphic, such as a circle or rectangle, used to describe the various steps in a workflow.
[0062] Nodes can be connected to other nodes to describe the flow relationships within a workflow. For example, one or more subsequent nodes can be connected after a single node to describe the sequence of the workflow.
[0063] By using nodes, developers can quickly and intuitively build and manage workflows, business processes, and more within a low-code designer. Furthermore, nodes can be accompanied by attributes and rules to control the execution of each step within the workflow.
[0064] In this embodiment, the target node refers to the node that the user's connection command intends to connect to, and the connection command refers to the command that connects the target node to other nodes. Node types include two categories: regular nodes and non-regular nodes. Regular nodes refer to those that conform to common tasks in the process, such as data collection, computation, and report generation. These nodes typically provide a set of predefined operations for user use. Non-regular nodes refer to nodes needed in specific scenarios, such as custom operations or special data processing. These nodes can be customized according to user requirements.
[0065] S120, determine the target anchor point on the target node according to the connection instruction, wherein the target anchor point is the anchor point to be connected by the connection instruction.
[0066] In this embodiment, an anchor point refers to a connection point on a node that connects nodes to form a flowchart, used to establish the flow relationship between nodes. A target anchor point refers to the anchor point that the connection instruction is to connect to.
[0067] S130, determine whether the connection line is allowed to enter from the target anchor point based on the node type, the entry includes connection in and connection out.
[0068] In this embodiment, access typically includes two cases: inbound connection and outbound connection. An inbound connection indicates that the node is a subordinate node of other nodes and is the end point of the process; an outbound connection indicates that the node is a superior node of other nodes and is the starting point of the process.
[0069] To ensure the consistency and correctness of the process design, a regular node can only have one incoming connection and one outgoing connection. However, different node types have different restrictions. For example, the starting node of the process may only have one outgoing connection, while the ending node may only have one incoming connection.
[0070] Therefore, during the process design, it can be determined whether a connection line is allowed to enter from the target anchor point on the target node based on the node type of the target node and the existing connection lines on the target node.
[0071] For example, an irregular multi-directional mutual exclusion algorithm can be used to perform mutual exclusion checks for different node types, ensuring that the incoming and outgoing connections of each component are not contradictory, and generating an executable flow file without parsing error logic.
[0072] S140, if it is allowed for the connection line to be connected from the target anchor point, add the connection line to the target anchor point according to the connection instruction, and generate the target process.
[0073] In this embodiment, if the connection line is allowed to enter from the target anchor point, then the connection line can be added to the target anchor point directly according to the connection method of the connection instruction, and the connection relationship between the target node and other nodes can be established to generate the target process.
[0074] If connecting lines are not allowed to be connected from the target anchor point, then the connection can be made in a way that does not follow the connection instructions. Do not add connecting lines to the target anchor point, and issue a prompt message on the designer's canvas to inform the user that connecting lines cannot be added.
[0075] In this application, upon receiving an instruction to add a connection line to a target anchor point on a target node, the system determines whether the connection line is allowed to be connected to the target anchor point based on the node type. Only when the connection line is allowed to be connected to the target anchor point is the connection instruction executed. This method allows for real-time detection of logical errors in the process design. Only connection instructions that are logically correct are executed, ensuring that the designed target process will not contain logical errors, thereby guaranteeing the accuracy of the process design and improving its efficiency.
[0076] As an optional embodiment, before adding a connecting line to the target anchor point and generating the target flow, provided that the connecting line is allowed to access from the target anchor point, the method further includes:
[0077] Determine whether a connecting line extends from the target anchor point;
[0078] If a connecting line extends from the target anchor point, determine whether there is a connecting line segment on the target anchor point;
[0079] If there is no connecting line segment on the target anchor point, determine whether there is a connecting line extending from an anchor point other than the target anchor point on the target node;
[0080] If there is a connecting line extending from an anchor point other than the target anchor point on the target node, determine whether the node type of the target node is a regular node;
[0081] If the node type is not a regular node, a connecting line is allowed to extend from the target anchor point.
[0082] In this embodiment, a DAG (Directed Acyclic Graph) irregular multi-directional mutual exclusion algorithm can be used to determine whether a connecting line is allowed to originate from the target anchor point. Irregular multi-directional mutual exclusion means that the mutual exclusion relationship of each node does not follow a fixed pattern, but is customized according to the designer's requirements.
[0083] As an optional embodiment, the DAG algorithm can first determine whether there are connecting lines extending from the target anchor point. If there are connecting lines extending from the target anchor point, then it is not allowed to add connecting lines to the target anchor point. Then, it is further determined whether there are connecting segments on the target anchor point. If there are connecting segments on the target anchor point, then it can be considered that there is a mutual exclusion relationship, and connecting lines are not allowed to extend from the target anchor point.
[0084] In this context, a connecting line refers to a line extending from one node, while a connecting segment is a line segment connecting one node to another. A target anchor point having a connecting line indicates that a connecting line has been established from that anchor point; a target anchor point having a connecting segment indicates that the anchor point already has a connecting line connecting it, and if a segment is present, it means that the anchor point is no longer usable.
[0085] If there is no connecting line segment on the target anchor point, it can be determined whether there is a connecting line extending from an anchor point other than the target anchor point on the target node. If there is no connecting line extending from an anchor point other than the target anchor point on the target node, then it is allowed for the connecting line to extend from the target anchor point.
[0086] If a connecting line originates from an anchor point other than the target anchor point on the target node, it is necessary to further determine whether the target node is a regular node. If the target node is a regular node, connecting lines are not allowed to originate from the target anchor point; if the target node is a regular node, connecting lines are allowed to originate from the target anchor point.
[0087] This DAG mutual exclusion algorithm can verify target nodes of different node types according to user-defined rules, ensuring that the incoming and outgoing connections of each component are not contradictory during the user's process creation, and generating an executable process file without parsing error logic.
[0088] As an optional embodiment, after determining whether a connecting line extends from the target anchor point, the method further includes:
[0089] If no connecting line originates from the target anchor point, determine whether a connecting line originates from the target anchor point.
[0090] If a connecting line is connected to the target anchor point, determine whether the connection instruction is to add a connecting line to the target anchor point.
[0091] If the connection instruction is to add a connecting line to the target anchor point, then the connection instruction is executed.
[0092] In this embodiment, as described above, it is first determined whether there is an outgoing connecting line on the target anchor point. If there is no outgoing connecting line on the target anchor point, it can be further determined whether there is an incoming connecting line on the target anchor point. If there is an incoming connecting line on the target anchor point, it is allowed to add a connecting line on the target anchor point according to the connection instruction.
[0093] In other words, the DAG mutual exclusion algorithm can be used to specifically analyze whether the target anchor point allows connecting lines to enter or exit, and then combined with the connection command, it can be used to specifically analyze whether the connection command can be executed.
[0094] As an optional embodiment, determining the node type of the target node includes:
[0095] Obtain the interface attribute values of the target node;
[0096] The node type of the target node is determined based on the interface attribute values.
[0097] In this embodiment, interface attribute values refer to the relevant attributes of a node displayed in the user interface, such as the node's size, color, icon, and text. These attribute values determine the appearance of the node on the interface, helping users better understand and distinguish the meaning and function of each node.
[0098] For example, for each node, the context of the node can be used to determine whether the interface attribute value of each node meets the requirements. If the interface attribute value of a node meets the requirements, the node can be identified as a regular node; if the interface attribute value of a node does not meet the requirements, the node can be identified as an unregular node.
[0099] Typically, regular nodes include four anchor points: top, bottom, left, and right. Unconventional nodes fall into three categories: nodes with fewer than four anchor points, nodes with four or more anchor points, and nodes with more than four anchor points.
[0100] As an optional embodiment, after generating the target process, the method further includes:
[0101] The nodes, anchor points, node groups, and thumbnails in the target process are defined as the first level;
[0102] The connecting lines in the target process are identified as the second level;
[0103] The background of the target process is defined as the third level;
[0104] The first layer, the second layer, and the third layer are rendered respectively.
[0105] In this embodiment, after the target flow is generated, the designer saves the position information of nodes and line segments in memory in real time. When the user completes the flow generation and needs to view the generated flow, the components in the flow need to be rendered onto the canvas. Rendering allows the various elements on the canvas to form a unified and clear interface.
[0106] For example, such as Figure 2 As shown, the nodes, anchor points, node groups, and thumbnails in the target process can be defined as the first level; the connecting lines in the target process, as well as the line segment directions, line segment calculations, coordinate transformations, and line segment changes related to the connecting lines, can be defined as the second level; and the background of the target process, as well as the operations of selecting, zooming in or out, and their arrangement and layout, can be defined as the third level.
[0107] For example, the first level can be rendered using DOM (DocumentObjectModel) operations, the second level using SVG (ScalableVectorGraphics) operations, and the third level using Canvas operations.
[0108] Using layered rendering can improve performance during graphics rendering, making image rendering faster and more efficient.
[0109] As an optional embodiment, after generating the target process, the method further includes:
[0110] Obtain the parsing tree, which includes a root node, flow nodes, component nodes, and attribute nodes;
[0111] Wherein, the root node is the parent node of the process node, the process node is the parent node of the component node, the component node is the parent node of the attribute node, each root node corresponds to a business, each process node corresponds to a process in the business, each component node corresponds to a component in the process, and each attribute node corresponds to a string input by the user in the component.
[0112] Determine the target flow node corresponding to the target flow in the parsing tree;
[0113] The parsing tree is pruned using the target flow node to obtain a pruned tree, wherein the pruned tree includes all absolute paths where the target flow node is located.
[0114] Perform syntax analysis on all nodes in the pruned tree;
[0115] If a node in the pruned tree has a syntax error, an error message is generated to indicate the syntax error.
[0116] In this embodiment, a three-layer syntax analysis tree can be constructed based on the user-built target process. The syntax analysis tree is a tree structure, which may include a business start root node, first-layer process nodes, second-layer component nodes, and third-layer attribute nodes. According to the definition relationship of business entities, the syntax analysis tree is constructed from top to bottom, with each layer containing the others; that is, a process contains several nodes, and a node contains several attributes.
[0117] If we only need to analyze whether there are any errors in the syntax of the components and attributes under the target process, we can perform pruning operations on the syntax analysis tree, determine the pruning tree with the target process node as the root node, and perform syntax analysis on all nodes under the pruning tree.
[0118] Specifically, such as Figure 3 As shown, the parser corresponding to each node can be invoked for syntax analysis. This embodiment contains three types of parsers: a flow parser, a component parser, and an attribute parser, corresponding to each node in the three-layer parse tree. Each parser consists of several finite state automata. For example, the attribute parser automaton, for variable expression types, reads each character of the expression sequentially, jumping to the corresponding state node in the automaton until the end.
[0119] As an example, in the actual syntax analysis process, the target process node can be accessed, the process parser can be called, and the node compilation error information can be summarized; all component nodes under the process node can be obtained, and for any component node, the component node can be accessed, the component parser can be called, and the component error information can be printed; all attribute nodes of the component can be obtained, and for any attribute node, the attribute node can be accessed, the attribute parser can be called, and the corresponding state automaton can be executed according to the attribute type to determine whether the attribute is valid until the state ends.
[0120] As an optional implementation, the process syntax analysis, component syntax analysis, and attribute syntax analysis are detailed below: Figure 4 As shown, process-level syntax analysis primarily focuses on analyzing the syntax within the process file, specifically including the process's Nodes, edges, and global_vars, employing a top-down analysis approach. In the process, global_vars represents the global variables used by the process, paramVars are the process's input parameters, and graphData contains the node and connection data within the process. Each sub-process of the process can be divided into multiple blocks, and each sub-process or block contains multiple Nodes and Edges. The advantage of using blocks is that the graph can be decomposed into smaller parts, making it easier to process and analyze.
[0121] like Figure 5 As shown, component-level syntax analysis primarily focuses on the components within the process file, specifically analyzing their node anchors (endpoints), dependencies, and properties, employing a top-down analysis approach. Since dependencies typically refer to other programs or libraries required by a project or application to function correctly or compile, "common" indicates common dependencies required by all platforms, while "linux" and "windows" represent dependencies specific to Linux and Windows platforms, respectively. Furthermore, under the node anchor, "right" indicates the anchor is on the right side of the node, "left" indicates the anchor is on the left side, "top" indicates the anchor is at the top, and "bottom" indicates the anchor is at the bottom. Nodes can extend edges from these anchors.
[0122] like Figure 6As shown, the properties layer syntax analysis mainly focuses on the properties involved in the component, specifically including basic property information such as `base_params`, basic inputs `input_params`, and basic outputs `output_params`, using a top-down analysis approach. Specifically, under `base_params`, "basic" usually refers to the most basic or commonly used properties, while "senior" refers to more advanced or specialized properties; under `input_params`, `params1...paramsn` are the specific output items, and under `output_params`, `params1...paramsn` are the specific input items. There is usually a one-to-one correspondence between output and input items.
[0123] This embodiment uses tree-based recursive detection, which traverses different types of data one by one. This can detect faults in each link or branch node, avoid missing branch defects in conventional condition judgment, reduce abnormal risk points in the process inspection, and improve the robustness of process inspection.
[0124] In addition, to improve the cross-OS attributes of the application and reduce the coupling between various modules, this application can adopt cross-programming language communication based on Node.js and Python, and separate the designer main process and the executor. The graphical interface is a Node.js process and the execution engine is a Python process. The communication between the two processes relies on named pipe communication.
[0125] Like TCP / IP (Transmission Control Protocol or Internet Protocol), named pipes are a communication protocol. They are typically used in local area networks (LANs) because they require clients to have permission to access server resources.
[0126] The main steps of this cross-programming language named pipe communication method are as follows:
[0127] (1) The designer Node.js process writes the run instructions (or stop instructions, debug instructions) information data into pipe A;
[0128] (2) The executor Python process continuously polls and reads designer instruction information from pipe A and processes it (executes run, stop, and debug operations);
[0129] (3) The executor Python process writes the execution output log and execution end flag information data during the running process to pipe B;
[0130] (4) The designer Node.js process continuously polls from pipe B to read information such as logs and end flags returned by the executor, prints the logs, and finally ends the polling.
[0131] It adopts cross-programming language named pipe communication using Node.js and Python to achieve cross-OS communication, improve code versatility, and provide a foundation for designers to work across operating systems.
[0132] Based on the process design method provided in the above embodiments, this application also provides specific implementation methods of the process design apparatus. Please refer to the following embodiments.
[0133] First see Figure 7 The process design apparatus 700 provided in this application embodiment includes the following modules:
[0134] The receiving module 701 is used to determine the node type of the target node upon receiving a connection instruction for the target node;
[0135] The determining module 702 is used to determine the target anchor point on the target node according to the connection instruction, wherein the target anchor point is the anchor point to be connected by the connection instruction;
[0136] The judgment module 703 is used to determine whether the connection line is allowed to enter from the target anchor point according to the node type, and the entry includes connection in and connection out;
[0137] The generation module 704 is used to add a connecting line to the target anchor point according to the connection instruction, and generate a target flow, provided that the connecting line is allowed to be accessed from the target anchor point.
[0138] When the device receives an instruction to add a connection line to a target anchor point on a target node, it determines whether to allow the connection line to be connected to the target anchor point based on the node type. Only if the connection line is allowed to be connected to the target anchor point will the connection instruction be executed. In this way, logical errors in the process design can be detected in real time. Only connection instructions that are logically correct can be executed, thus ensuring that the designed target process will not have logical errors, thereby ensuring the accuracy of the process design and improving the efficiency of process design.
[0139] As one implementation of this application, the above-described process design apparatus 700 can also be used for:
[0140] Determine whether a connecting line extends from the target anchor point;
[0141] If a connecting line extends from the target anchor point, determine whether there is a connecting line segment on the target anchor point;
[0142] If there is no connecting line segment on the target anchor point, determine whether there is a connecting line extending from an anchor point other than the target anchor point on the target node;
[0143] If there is a connecting line extending from an anchor point other than the target anchor point on the target node, determine whether the node type of the target node is a regular node;
[0144] If the node type is not a regular node, a connecting line is allowed to extend from the target anchor point.
[0145] As one implementation of this application, the above-described process design apparatus 700 can also be used for:
[0146] If no connecting line originates from the target anchor point, determine whether a connecting line originates from the target anchor point.
[0147] If a connecting line is connected to the target anchor point, determine whether the connection instruction is to add a connecting line to the target anchor point.
[0148] If the connection instruction is to add a connecting line to the target anchor point, then the connection instruction is executed.
[0149] As one implementation of this application, the receiving module 701 may further include:
[0150] The acquisition unit is used to acquire the interface attribute values of the target node;
[0151] The determining unit is used to determine the node type of the target node based on the interface attribute values.
[0152] As one implementation of this application, the above-described process design apparatus 700 can also be used for:
[0153] The nodes, anchor points, node groups, and thumbnails in the target process are defined as the first level;
[0154] The connecting lines in the target process are identified as the second level;
[0155] The background of the target process is defined as the third level;
[0156] The first layer, the second layer, and the third layer are rendered respectively.
[0157] As one implementation of this application, the above-described process design apparatus 700 can also be used for:
[0158] Obtain the parsing tree, which includes a root node, flow nodes, component nodes, and attribute nodes;
[0159] Wherein, the root node is the parent node of the process node, the process node is the parent node of the component node, the component node is the parent node of the attribute node, each root node corresponds to a business, each process node corresponds to a process in the business, each component node corresponds to a component in the process, and each attribute node corresponds to a string input by the user in the component.
[0160] Determine the target flow node corresponding to the target flow in the parsing tree;
[0161] The parsing tree is pruned using the target flow node to obtain a pruned tree, wherein the pruned tree includes all absolute paths where the target flow node is located.
[0162] Perform syntax analysis on all nodes in the pruned tree;
[0163] If a node in the pruned tree has a syntax error, an error message is generated to indicate the syntax error.
[0164] The process design apparatus provided in this embodiment of the invention can implement the various steps in the above method embodiments, and will not be repeated here to avoid repetition.
[0165] Figure 8 A schematic diagram of the hardware structure of the process design device provided in an embodiment of this application is shown.
[0166] The process design device may include a processor 801 and a memory 802 storing computer program instructions.
[0167] Specifically, the processor 801 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.
[0168] Memory 802 may include mass storage for data or instructions. For example, and not limitingly, memory 802 may include a hard disk drive (HDD), floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, memory 802 may include removable or non-removable (or fixed) media. Where appropriate, memory 802 may be internal or external to the integrated gateway disaster recovery device. In a particular embodiment, memory 802 is non-volatile solid-state memory.
[0169] Memory may include read-only memory (ROM), random access memory (RAM), disk storage media devices, optical storage media devices, flash memory devices, and electrical, optical, or other physical / tangible memory storage devices. Therefore, typically, memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the methods according to one aspect of this disclosure.
[0170] The processor 801 reads and executes computer program instructions stored in the memory 802 to implement any of the flow design methods in the above embodiments.
[0171] In one example, the process design device may also include a communication interface 803 and a bus 810. For example, Figure 8 As shown, the processor 801, memory 802, and communication interface 803 are connected through bus 810 and complete communication with each other.
[0172] The communication interface 803 is mainly used to realize communication between various modules, devices, units and / or equipment in the embodiments of this application.
[0173] Bus 810 includes hardware, software, or both, that couples components of a process design device together. For example, and not limitingly, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an Infinite Bandwidth Interconnect, a Low Pin Count (LPC) bus, a memory bus, a Microchannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses, or combinations of two or more of these. Where appropriate, bus 810 may include one or more buses. Although specific buses are described and illustrated in embodiments of this application, any suitable bus or interconnect is contemplated herein.
[0174] The process design device can be based on the above embodiments, thereby realizing the combination of the above process design method and apparatus.
[0175] Furthermore, in conjunction with the process design methods described in the above embodiments, this application embodiment can provide a computer storage medium for implementation. This computer storage medium stores computer program instructions; when these computer program instructions are executed by a processor, they implement any of the process design methods described in the above embodiments and achieve the same technical effect. To avoid repetition, further details are omitted here. The aforementioned computer-readable storage medium may include non-transitory computer-readable storage media, such as read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks, etc., and is not limited thereto.
[0176] In addition, this application also provides a computer program product, including computer program instructions, which, when executed by a processor, can implement the steps and corresponding content of the aforementioned method embodiments.
[0177] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of this application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of this application.
[0178] The functional blocks shown in the above block diagram can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. Programs or code segments can be stored on a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried on a carrier wave. "Machine-readable medium" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio frequency (RF) links, etc. Code segments can be downloaded via computer networks such as the Internet, intranets, etc.
[0179] It should also be noted that the exemplary embodiments mentioned in this application describe methods or systems based on a series of steps or apparatus. However, this application is not limited to the order of the above steps; that is, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.
[0180] The aspects of this disclosure have been described above with reference to flowchart illustrations and / or block diagrams of methods, apparatus, and computer program products according to embodiments of this disclosure. It should be understood that each block in the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that these instructions, executable via the processor of the computer or other programmable data processing apparatus, enable the implementation of the functions / actions specified in one or more blocks of the flowchart illustrations and / or block diagrams. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field-programmable logic circuit. It is also understood that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can also be implemented by special-purpose hardware performing the specified functions or actions, or can be implemented by a combination of special-purpose hardware and computer instructions.
[0181] The above are merely specific embodiments of this application. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, modules, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. It should be understood that the protection scope of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the protection scope of this application.
Claims
1. A process design method, characterized in that, The method includes: Upon receiving a connection command for a target node, determine the node type of the target node; The target anchor point on the target node is determined according to the connection instruction, wherein the target anchor point is the anchor point to be connected by the connection instruction; Determine whether a connection line is allowed to enter from the target anchor point based on the node type; the entry includes both inbound and outbound connections. If connection lines are allowed to be connected from the target anchor point, connection lines are added to the target anchor point according to the connection instructions to generate the target flow; obtain the syntax analysis tree, which includes root node, flow node, component node and attribute node; Wherein, the root node is the parent node of the process node, the process node is the parent node of the component node, the component node is the parent node of the attribute node, each root node corresponds to a business, each process node corresponds to a process in the business, each component node corresponds to a component in the process, and each attribute node corresponds to a string input by the user in the component. Determine the target flow node corresponding to the target flow in the parsing tree; The parsing tree is pruned using the target flow node to obtain a pruned tree, wherein the pruned tree includes all absolute paths where the target flow node is located. Perform syntax analysis on all nodes in the pruned tree; If a node in the pruned tree has a syntax error, an error message is generated to indicate the syntax error.
2. The process design method according to claim 1, characterized in that, Before adding a connecting line to the target anchor point according to the connecting instructions and generating the target flow, provided that the connecting line is allowed to access from the target anchor point, the method further includes: Determine whether a connecting line extends from the target anchor point; If a connecting line extends from the target anchor point, determine whether there is a connecting line segment on the target anchor point; If there is no connecting line segment on the target anchor point, determine whether there is a connecting line extending from an anchor point other than the target anchor point on the target node; If there is a connecting line extending from an anchor point other than the target anchor point on the target node, determine whether the node type of the target node is a regular node; If the node type is not a regular node, a connecting line is allowed to extend from the target anchor point.
3. The process design method according to claim 2, characterized in that, After determining whether a connecting line originates from the target anchor point, the method further includes: If no connecting line originates from the target anchor point, determine whether a connecting line originates from the target anchor point. If a connecting line is connected to the target anchor point, determine whether the connection instruction is to add a connecting line to the target anchor point. If the connection instruction is to add a connecting line to the target anchor point, then the connection instruction is executed.
4. The process design method according to claim 1, characterized in that, Determining the node type of the target node includes: Obtain the interface attribute values of the target node; The node type of the target node is determined based on the interface attribute values.
5. The process design method according to claim 1, characterized in that, Following the target generation process, the method further includes: The nodes, anchor points, node groups, and thumbnails in the target process are defined as the first level; The connecting lines in the target process are identified as the second level; The background of the target process is defined as the third level; The first layer, the second layer, and the third layer are rendered respectively.
6. A process design device, characterized in that, The device includes: The receiving module is used to determine the node type of the target node upon receiving a connection instruction for the target node; The determination module is used to determine the target anchor point on the target node according to the connection instruction, wherein the target anchor point is the anchor point to be connected by the connection instruction; The judgment module is used to determine whether the connection line is allowed to enter from the target anchor point based on the node type, wherein the entry includes connection in and connection out; The generation module is used to add a connecting line to the target anchor point according to the connection instruction, and generate a target flow, provided that the connecting line is allowed to be accessed from the target anchor point; The acquisition module is used to acquire the syntax analysis tree, which includes root nodes, process nodes, component nodes, and attribute nodes; Wherein, the root node is the parent node of the process node, the process node is the parent node of the component node, the component node is the parent node of the attribute node, each root node corresponds to a business, each process node corresponds to a process in the business, each component node corresponds to a component in the process, and each attribute node corresponds to a string input by the user in the component. The determining module is further configured to determine the target flow node corresponding to the target flow in the parsing tree; The pruning module is used to prune the parsing tree using the target flow node to obtain a pruned tree, wherein the pruned tree includes all absolute paths where the target flow node is located. The analysis module is used to perform syntactic analysis on all nodes in the pruned tree; The prompt module is used to generate error prompts for the syntax errors when a node in the pruned tree has a syntax error.
7. A process design device, characterized in that, The process design device includes: a processor and a memory storing computer program instructions; When the processor executes the computer program instructions, it implements the flow design method as described in any one of claims 1-5.
8. A computer storage medium, characterized in that, The computer storage medium stores computer program instructions, which, when executed by a processor, implement the flow design method as described in any one of claims 1-5.
9. A computer program product, characterized in that, The computer program product includes computer program instructions, which, when executed by a processor, implement the flow design method according to any one of claims 1-5.
Citation Information
Patent Citations
Node connection line generation method and device, apparatus and storage medium
CN110675471A
Low-code-based process arrangement automatic execution method and device
CN114004477A
GraphSAGE and MLP-based software defect positioning method
CN114896163A