Execution method and device based on visual programming, equipment and medium

By displaying functional nodes and calculating execution progress in a visual programming interface, the problem of being unable to accurately know the project execution status in existing technologies is solved, and the convenience and efficiency of node problem analysis are improved.

CN120653232APending Publication Date: 2025-09-16SHINING 3D TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410283798.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-03-13
Publication Date
2025-09-16

AI Technical Summary

Technical Problem

Existing visual programming platforms cannot accurately obtain the specific execution status of the project during the node execution process, and it is difficult to meet the needs of node problem analysis.

Method used

Display multiple function nodes in the visual programming interface, detect the trigger operation of the target function node, determine the associated function nodes, execute the function nodes to be executed, and calculate and display the execution progress according to the execution status.

Benefits of technology

Accurately display the execution progress of node projects, making it easier for users to observe process execution progress and analyze node problems, thereby improving processing efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120653232A_ABST
    Figure CN120653232A_ABST
Patent Text Reader

Abstract

The invention relates to an execution method and device based on visual programming, equipment and a medium, and the method comprises the steps: displaying a plurality of function nodes in a visual programming interface; when a trigger operation on a target function node in the plurality of function nodes is detected, determining at least one associated function node of the target function node from the plurality of function nodes; executing the to-be-executed function nodes, and in the execution process, calculating the execution progress according to the execution state of each to-be-executed function node; and displaying the execution progress in the visual programming interface. According to the technical scheme, the execution progress of the node project can be accurately displayed, and a user can conveniently observe the process execution progress and analyze node problems.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of data processing technology, and in particular to an execution method, apparatus, device, and medium based on visual programming. Background Art

[0002] Visual programming, also known as visual programming, is based on the "what you see is what you get" principle and strives to visualize programming, allowing users to see results at any time and adjust programs in sync with the results. Using a visual programming platform, users can implement functions without writing code or even requiring extensive knowledge of syntax or application programming interfaces.

[0003] The visual programming platform builds and executes projects through various plug-in nodes to complete specific functional processes. When a node execution error occurs, the erroneous node is prompted in the interface. The node is highly coupled with the visual programming platform. Currently, during the node execution process, only the current erroneous node can be known, and the specific execution status of the project cannot be known, which makes it difficult to meet the needs of visual programming for node problem analysis. Summary of the Invention

[0004] In order to solve the above technical problems, the present disclosure provides an execution method, apparatus, device and medium based on visual programming.

[0005] In a first aspect, an embodiment of the present disclosure provides an execution method based on visual programming, comprising:

[0006] In a visual programming interface, a plurality of function nodes are displayed; wherein the plurality of function nodes are displayed in the form of a connection diagram;

[0007] When a trigger operation on a target function node among the multiple function nodes is detected, at least one associated function node of the target function node is determined from the multiple function nodes; the target function node and the associated function node are function nodes to be executed;

[0008] Executing the function nodes to be executed, wherein during the execution process, the execution progress is calculated according to the execution status of each function node to be executed;

[0009] The execution progress is displayed in the visual programming interface.

[0010] In a second aspect, an embodiment of the present disclosure provides an execution device based on visual programming, comprising:

[0011] A first display module is used to display a plurality of function nodes in a visual programming interface; wherein the plurality of function nodes are displayed in the form of a connection diagram;

[0012] a determination module, configured to, upon detecting a trigger operation on a target function node among the plurality of function nodes, determine at least one associated function node of the target function node from the plurality of function nodes; the target function node and the associated function node being function nodes to be executed;

[0013] An execution module, configured to execute the function nodes to be executed, wherein during the execution process, the execution progress is calculated according to the execution status of each function node to be executed;

[0014] The second display module is used to display the execution progress in the visual programming interface.

[0015] In a third aspect, an embodiment of the present disclosure provides an electronic device, comprising: a processor; a memory for storing instructions executable by the processor; the processor for reading the executable instructions from the memory and executing the instructions to implement the execution method based on visual programming described in the first aspect above.

[0016] In a fourth aspect, an embodiment of the present disclosure provides a computer-readable storage medium, wherein the storage medium stores a computer program, and when the computer program is executed by a processor, the execution method based on visual programming described in the first aspect is implemented.

[0017] The technical solution provided by the embodiment of the present disclosure has the following advantages over the prior art: by displaying multiple function nodes in a visual programming interface, when a trigger operation on a target function node among the multiple function nodes is detected, at least one associated function node of the target function node is determined from the multiple function nodes, and the function node to be executed is executed. During the execution process, the execution progress is calculated according to the execution status of each function node to be executed, and the execution progress is displayed in the visual programming interface. According to the technical solution of the present disclosure, the execution progress of the node project can be accurately displayed, which is convenient for users to observe the process execution progress and perform node problem analysis, and solves the problem in the related art that the user's method of analyzing problems is single and difficult to meet the needs of visual programming for node problem analysis. In addition, the function node to be executed is calculated based on the selected target function node and associated function nodes at the editor level, thereby improving processing efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the present disclosure.

[0019] In order to more clearly illustrate the embodiments of the present disclosure or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0020] Figure 1 A flowchart of an execution method based on visual programming provided by an embodiment of the present disclosure;

[0021] Figure 2 A schematic diagram of a visual programming interface provided by an embodiment of the present disclosure;

[0022] Figure 3 A flowchart of another execution method based on visual programming provided by an embodiment of the present disclosure;

[0023] Figure 4 A schematic diagram of the structure of an execution device based on visual programming provided by an embodiment of the present disclosure. DETAILED DESCRIPTION

[0024] In order to more clearly understand the above-mentioned objectives, features and advantages of the present disclosure, the scheme of the present disclosure will be further described below. It should be noted that the embodiments of the present disclosure and the features therein can be combined with each other in the absence of conflict.

[0025] In the following description, many specific details are set forth to facilitate a full understanding of the present disclosure, but the present disclosure may also be implemented in other ways different from those described herein; it is obvious that the embodiments in the specification are only part of the embodiments of the present disclosure, rather than all of the embodiments.

[0026] Figure 1 This is a flow chart of an execution method based on visual programming provided in an embodiment of the present disclosure. The method provided in an embodiment of the present disclosure can be executed by an execution device based on visual programming, which can be implemented using software and / or hardware and can be integrated on any electronic device with computing capabilities.

[0027] like Figure 1 As shown, the execution method based on visual programming provided by the embodiment of the present disclosure may include:

[0028] Step 101: Display multiple function nodes in a visual programming interface.

[0029] The method of the disclosed embodiments can be applied to a visual programming platform, for example, a visual programming platform implemented based on the Qt plug-in technology in the application development framework Qt. Program developers use the various plug-in nodes provided by the visual programming platform software to build and complete various functional processes. Software functions are written and encapsulated into functional nodes. As an example, functional nodes include but are not limited to addition nodes, subtraction nodes, and value generation nodes. As another example, taking a scanning scene as an example, functional nodes include but are not limited to initialization project nodes, scanning parameter configuration nodes, scanning nodes, data storage nodes, 3D reconstruction nodes, and rendering nodes.

[0030] In the embodiment of the present disclosure, the visual programming interface is used to display multiple function nodes, wherein the multiple function nodes are displayed in the form of a connection diagram. For example, the visual programming interface is as follows: Figure 2 As shown, after generating the function nodes, build the project based on the function nodes in the visual programming interface. Figure 2 A schematic diagram of a connection diagram is shown in the figure, which includes seven functional nodes, namely node 1, node 2, node 3, node 4, node 5, node 6, and node 7. Node 7 is connected to output port B of node 6 through input port A. The connections of other nodes can refer to nodes 6 and 7. Nodes 1 to 7 correspond to a project. By executing each functional node of the project, an execution result is obtained after the execution is completed. Among them, the functions that can be realized after the execution is completed include automatic packaging and testing, etc., which are not specifically limited here.

[0031] Step 102: When a trigger operation on a target functional node among a plurality of functional nodes is detected, at least one associated functional node of the target functional node is determined from the plurality of functional nodes.

[0032] In this embodiment, the connection graph is used to represent the connection relationship between function nodes. Based on the connection relationship between function nodes, the associated function nodes of the target function node are determined. The associated function nodes are function nodes that the target function node depends on during execution. For example, a function node that is directly or indirectly connected to an input port of the target function node is an associated function node of the target function node.

[0033] The target function node and the associated function node are determined as the function nodes to be executed. Figure 2 As shown, if the target functional node is node 7, the associated functional nodes are nodes 1 to 6, and ultimately the functional nodes to be executed for the project are determined to be nodes 1 to 7.

[0034] When the graph data is serialized to the executor on the visual programming platform editor, the graph data is traversed, and all associated function nodes marked as target function nodes and the associated function nodes on which the input of the target function nodes depends are recorded as function nodes to be executed.

[0035] Optionally, based on the connection relationship between function nodes, a first associated function node connected to an input port of the target function node is determined, and the input ports of the first associated function node are traversed to determine a second associated function node indirectly connected to the target function node. In this embodiment, after selecting a target function node to be executed, the input ports of the target function node are traversed. When it is detected that a function node is connected to the input port of the target function node, the function nodes connected to the input port of the target function node are recursively traversed in the same manner. The above steps are repeated for subsequent function nodes until the traversal is complete, thereby obtaining all associated function nodes that the target function node depends on.

[0036] As an example, see Figure 2 When node 7 is selected as the target functional node, the input port of node 7 is traversed to determine that the associated functional node connected to node 7 is node 6. Then, the input port of node 6 is traversed to obtain the associated nodes 4 and 5. The input ports of nodes 4 and 5 are traversed to obtain the associated nodes 2 and 3. The input ports of nodes 2 and 3 are traversed to obtain the associated node 1. After the traversal is completed, the functional nodes to be executed are determined to be nodes 1 to 7.

[0037] Step 103 : executing the function nodes to be executed. During the execution process, the execution progress is calculated according to the execution status of each function node to be executed.

[0038] In this embodiment, each function node to be executed is executed in sequence according to the execution order shown in the connection diagram. During the execution of each function node, the function node reports execution information to the executor through the background process scheduling of the executor. The execution information includes error information, progress information, etc. When the function node is executed, an execution completion message is sent to determine that the execution status of the function node is changed to completed.

[0039] In one embodiment of the present disclosure, the execution progress is calculated based on the execution status of each to-be-executed functional node, including: for multiple to-be-executed functional nodes of a certain project, the total execution progress of the project is determined by the ratio between the first number of to-be-executed functional nodes with an execution status of completed and the second number of all to-be-executed functional nodes.

[0040] In this embodiment, before the executor calls the execution function of each functional node, it sends a start execution message, and after the functional node is executed, it sends an execution completion message. After the editor receives the start execution message, it sets the status of the corresponding functional node on the interface to being executed. After receiving the execution completion message, the editor sets the status of the corresponding functional node on the interface to being executed, and records the flag information of the functional node in the execution completion list. Then, the total execution progress of the current project is calculated according to the number of functional nodes that have been executed / the number of all functional nodes to be executed. The status of the functional nodes on the interface can be distinguished by different colors, for example, the functional node to be executed is red, changes to blue when the functional node to be executed is being executed, and changes to green after execution is completed. Different shapes can also be used for distinction, which is not limited here.

[0041] Step 104: Display the execution progress in the visual programming interface.

[0042] In this embodiment, the execution progress is displayed in the visual programming interface in a pre-set form, wherein the pre-set form includes a progress bar, a percentage value, etc. Figure 2 As shown, Figure 2 A progress bar and percentage value indicating the execution progress are displayed at the bottom of the interface.

[0043] According to the technical solution of the embodiment of the present disclosure, by displaying multiple function nodes in a visual programming interface, when a trigger operation is detected on a target function node among the multiple function nodes, at least one associated function node of the target function node is determined from the multiple function nodes, and the function node to be executed is executed. During the execution process, the execution progress is calculated according to the execution status of each function node to be executed, and the execution progress is displayed in the visual programming interface. According to the technical solution of the present disclosure, the execution progress of the node project can be accurately displayed, which is convenient for users to observe the process execution progress and perform node problem analysis. It solves the problem that the user's method of analyzing problems in related technologies is single and difficult to meet the needs of visual programming for node problem analysis. In addition, at the editor level, the function node to be executed is calculated based on the selected target function node and associated function nodes. In the case of multiple projects, there is no need to execute function nodes that do not have dependencies, thereby improving processing efficiency.

[0044] Based on the above embodiments, Figure 3 A flowchart of another execution method based on visual programming provided by an embodiment of the present disclosure is shown as follows: Figure 3 As shown, the method includes:

[0045] Step 301: Display multiple function nodes in a visual programming interface.

[0046] Step 302: When a trigger operation on a target functional node among the multiple functional nodes is detected, at least one associated functional node of the target functional node is determined from the multiple functional nodes.

[0047] Step 303: Execute the function nodes to be executed. During the execution process, the execution progress is calculated according to the execution status and execution time weight of each function node to be executed.

[0048] In this embodiment, each functional node has a corresponding execution time weight. During the execution process, the execution time weight of each functional node to be executed is obtained, the execution time weight of each functional node to be executed is summed to obtain the first target value, and the execution time weights of the functional nodes to be executed whose execution status is completed are summed to obtain the second target value. Then, based on the ratio between the second target value and the first target value, the total execution progress of the current project is determined.

[0049] As an example, a preset relationship is queried based on the type of the function node to be executed to obtain the execution time weight of the function node to be executed. As an example, the execution time weight of the generate value node is 1.0, the execution time weight of the subtraction node is 1.5, and the execution time weight of the addition node is 1.5. The function nodes to be executed in the project include 1 addition node, 2 subtraction nodes, and 4 generate value nodes. Among them, the execution status of the 4 generate value nodes and the 1 subtraction node is completed. Therefore, the execution progress is (1X4+1.5X1) / (1X4+1.5X2+1.5X1)=64.7%.

[0050] Optionally, the execution time weight is proportional to the execution time. When developing a plug-in node of a visual programming platform, the node execution time weight is set as an attribute of the functional node inside the node. At the same time, when implemented inside the node, a Qt signal for sending the execution progress of the node is defined to enable the node to report the execution progress information of the node when participating in the project.

[0051] Step 304: Display the execution progress of the project and / or the execution progress information of each function node to be executed in the visual programming interface.

[0052] In this embodiment, the execution progress includes the total execution progress of the current project and the execution progress of a single node. When displaying the execution progress of a project, the execution progress (the total execution progress of the current project) is calculated based on the execution status and execution time weight of each pending functional node of the project. When displaying the execution progress of a single node, the execution progress of the single node is determined based on the ratio of the workload to be executed and the workload completed for that single functional node. Furthermore, a progress bar corresponding to the execution progress is generated and displayed in the visual programming interface (the progress bar corresponding to the total execution progress of the current project and / or the progress bar corresponding to the execution progress of a single node).

[0053] For each function node to be executed, before the executor calls the execution function of each function node, a start execution message is sent. After the editor receives the start execution message, it sets the status of the corresponding function node on the interface to being executed. Through the background process scheduling of the executor, the function node reports execution information to the executor. The execution information includes error information, single node progress information (execution progress of a single function node), etc. The execution information is used to determine whether the function node to be executed is completed. After the function node is executed, an execution completion message is sent. After the editor receives the execution completion message, it sets the status of the corresponding function node on the interface to being executed. When it is detected that the execution information indicates that the function node to be executed is completed, the status of the function node to be executed is changed in the visual programming interface, for example, the color of the function node to be executed in the interface is changed or the progress bar corresponding to the single node progress information (execution progress of a single function node) is changed, and the function node to be executed is recorded in the execution completion list.

[0054] Examples of execution start messages and execution completion messages are as follows:

[0055] Start executing the message:

[0056] {

[0057] "action": "reportNodeRunState", / / Distinguish from other communication messages

[0058] "nodeid": "" / / current node id

[0059] "state":0 / / Current node execution state, 0 means start execution

[0060] }

[0061] Execution completion message:

[0062] {

[0063] "action": "reportNodeRunState", / / Distinguish from other communication messages

[0064] "nodeid": "" / / current node id

[0065] "state": 1 / / current node execution status, 1 means execution is completed

[0066] }

[0067] Alternatively, for example Figure 2As shown, in the visual programming display interface, a progress bar corresponding to the overall execution progress of the current project is displayed at the bottom, and a progress bar corresponding to the execution progress information of a single function node is displayed in each node box.

[0068] During the execution of a function node, the execution progress information of the function node is displayed in the display area of ​​the function node in the interface according to the execution information, so as to accurately and intuitively report the execution progress information of a single function node.

[0069] In one embodiment of the present disclosure, a single functional node reports its own execution progress information to the executor based on the ratio of its own workload to be executed and the workload completed, and displays the execution progress information of the single functional node in a visual interface as an execution progress bar or percentage.

[0070] In one embodiment of the present disclosure, in response to the start of execution of the function node to be executed, a timer is started. When the timing duration of the timer reaches a preset duration, if the execution status of the function node to be executed has not changed, a prompt message is generated to prompt the user to change the function node.

[0071] As an example, when a function node has been executed for a certain period of time, if the function node has not been completed or an error occurs during execution, a prompt message is generated. The prompt message can be information indicating that the function node has not been completed for a long time, or it can be information containing other function nodes with the same function, so as to prompt the user to replace the function node and improve execution efficiency.

[0072] In the disclosed embodiment, the execution progress of the project is calculated by the execution time weight of the functional node, so that the node project execution progress can be reported more accurately, and the execution progress information of a single functional node can be reported accurately and intuitively, so that users can know the points that can be optimized in the current process, such as whether the functional node needs to be replaced, whether the given input information is not correctly processed in the node execution function, whether there is code to be optimized in the execution function, whether an erroneous loop or deadlock is added to the execution function, etc., so that node developers can find defects in the node function.

[0073] In one embodiment of the present disclosure, developers can select different functional nodes or set different scenarios to customize different apps or client software based on the needs of different application scenarios. For example, they can customize different scanning start conditions, different scanning paths, and different post-scanning processes. Taking the scanning scenario as an example, functional nodes include but are not limited to initialization engineering nodes, scanning parameter configuration nodes, scanning nodes, data storage nodes, 3D reconstruction nodes, rendering nodes, etc. In some embodiments, functional nodes may also include: robot arm picking up parts nodes, cutting parts nodes, etc.

[0074] In this embodiment, functional nodes can be executed in parallel. Optionally, in response to the parallel execution of the scanning node, data storage node, 3D reconstruction node, and rendering node, the current scanning object is identified. The scanning object includes, but is not limited to, human body parts such as teeth or face, industrial parts, buildings, cultural relics, etc., and the implementation method for obtaining the current scanning object includes, but is not limited to, methods based on order information acquisition and artificial intelligence recognition. Furthermore, based on the historical data of the current scanning object during scanning, an estimated execution progress corresponding to the scanning object is generated. The historical data includes the previously recorded historical execution time of each functional node when performing functions on the scanning object. Taking teeth as an example, the historical data includes the time it takes to scan a tooth, the time it takes to reconstruct a 3D tooth model, and the time it takes to render the 3D tooth model. Based on the above historical execution time, an estimated execution progress of each functional node corresponding to the scanning object is generated, and the estimated execution progress is displayed in the visual programming interface for the user to refer to the current execution progress.

[0075] Optionally, after displaying the estimated execution progress, in response to the completion of the execution of the scanning node, data saving node, 3D reconstruction node and rendering node, the actual execution progress is compared with the estimated execution progress, for example, the actual execution completion time is compared with the estimated execution completion time. If the actual execution progress is inconsistent with the estimated execution progress, a prompt message is generated based on the comparison result. The prompt information is used as abnormal data for the user to analyze and troubleshoot the cause of the abnormality. For example, if the actual execution completion time of the scanning node is later than the estimated execution completion time, it can be used to analyze whether the operation during scanning needs to be optimized. For example, if the actual execution completion time of the 3D reconstruction node or the rendering node is later than the estimated execution completion time, it can be used to analyze whether the equipment performance meets the requirements. It should be noted that the above-mentioned implementation method of generating prompt information is not limited to dental scanning scenarios, but can also be used in other industrial product scanning scenarios, and no specific restrictions are made here.

[0076] Figure 4 This is a schematic diagram of the structure of an execution device based on visual programming provided by an embodiment of the present disclosure, such as Figure 4 As shown, the execution device based on visual programming includes: a first display module 41 , a determination module 42 , an execution module 43 , and a second display module 44 .

[0077] The first display module 41 is used to display multiple function nodes in a visual programming interface; wherein the multiple function nodes are displayed in the form of a connection diagram;

[0078] a determination module 42 configured to, upon detecting a trigger operation on a target function node among the plurality of function nodes, determine at least one associated function node of the target function node from the plurality of function nodes; the target function node and the associated function node being function nodes to be executed;

[0079] An execution module 43 is configured to execute the function nodes to be executed, wherein during the execution process, the execution progress is calculated according to the execution status of each function node to be executed;

[0080] The second display module 44 is used to display the execution progress in the visual programming interface.

[0081] In one embodiment of the present disclosure, the execution module 43 is specifically configured to:

[0082] Querying a preset relationship according to the type of the to-be-executed function node to obtain the execution time weight of each to-be-executed function node;

[0083] Summing the execution time weights of each of the to-be-executed function nodes to obtain a first target value; and

[0084] Summing the execution time weights of the pending function nodes whose execution status is completed to obtain a second target value;

[0085] The execution progress is determined according to a ratio between the second target value and the first target value.

[0086] In one embodiment of the present disclosure, the determination module 42 is specifically configured to:

[0087] Determining, according to the connection relationship between the functional nodes, a first associated functional node connected to the input port of the target functional node;

[0088] Traverse the input ports of the first associated function node to determine a second associated function node indirectly connected to the target function node.

[0089] In one embodiment of the present disclosure, the apparatus further comprises:

[0090] a prompt module, configured to start a timer in response to the to-be-executed function node starting execution;

[0091] When the timing duration of the timer reaches a preset duration, if the execution status of the to-be-executed function node has not changed, a prompt message is generated to prompt the user to change the function node.

[0092] In one embodiment of the present disclosure, the apparatus further comprises:

[0093] The third display module is used to obtain the execution information reported by the to-be-executed function node to the executor during the execution process;

[0094] When it is detected that the execution information indicates that the execution of the to-be-executed function node is completed, the state of the to-be-executed function node is changed in the visual programming interface, and the to-be-executed function node is recorded in an execution completion list.

[0095] In one embodiment of the present disclosure, the functional nodes include an initialization engineering node, a scanning parameter configuration node, a scanning node, a data storage node, a 3D reconstruction node, and a rendering node. The device also includes:

[0096] a third display module, configured to identify a current scanning object in response to the parallel execution of the scanning node, the data storage node, the 3D reconstruction node, and the rendering node;

[0097] Generate an estimated execution progress corresponding to the scan object based on historical data of the scan object during scanning;

[0098] The estimated execution progress is displayed in the visual programming interface.

[0099] In one embodiment of the present disclosure, the apparatus further comprises:

[0100] a prompt module, configured to compare an actual execution progress with the estimated execution progress in response to completion of execution of the scanning node, the data saving node, the 3D reconstruction node, and the rendering node;

[0101] If the actual execution progress is inconsistent with the estimated execution progress, a prompt message is generated according to the comparison result.

[0102] The visual programming-based execution device provided in the embodiments of the present disclosure can execute any visual programming-based execution method provided in the embodiments of the present disclosure, and has the corresponding functional modules and beneficial effects of the execution method. For any content not fully described in the embodiments of the device of the present disclosure, reference can be made to the description of any method embodiment of the present disclosure.

[0103] The present disclosure also provides an electronic device, which includes one or more processors and a memory. The processor can be a central processing unit (CPU) or other forms of processing units with data processing capabilities and / or instruction execution capabilities, and can control other components in the electronic device to perform desired functions. The memory can include one or more computer program products, and the computer program product can include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. Volatile memory can include, for example, random access memory (RAM) and / or cache memory (cache), etc. Non-volatile memory can include, for example, read-only memory (ROM), hard disk, flash memory, etc. One or more computer program instructions can be stored on the computer-readable storage medium, and the processor can run the program instructions to implement the method of the embodiment of the present disclosure above and / or other desired functions. Various contents such as input signals, signal components, noise components, etc. can also be stored in the computer-readable storage medium. In the embodiments of the present disclosure, the electronic device may be a mobile phone, a tablet computer, a smart wearable device, an augmented reality (AR) / virtual reality (VR) device, a laptop computer, a netbook, an energy storage device, a power distribution device, a vehicle-mounted device, a self-moving device, or other electronic device, and the graphical interaction interface is an interaction interface of the electronic device.

[0104] In one example, the electronic device may further include an input device and an output device, these components being interconnected via a bus system and / or other forms of connection mechanisms. Furthermore, the input device may include, for example, a keyboard, a mouse, and the like. The output device may output various information to the outside, including determined distance information, direction information, and the like. The output device may include, for example, a display, a speaker, a printer, a communication network, and remote output devices connected thereto. Furthermore, depending on the specific application, the electronic device may further include any other appropriate components, such as a bus, an input / output interface, and the like.

[0105] In addition to the above methods and devices, the embodiments of the present disclosure may also be a computer program product, which includes computer program instructions. When the computer program instructions are executed by a processor, the processor executes any method provided by the embodiments of the present disclosure.

[0106] The computer program product may be written in any combination of one or more programming languages ​​to implement the operations of the disclosed embodiments, including object-oriented programming languages ​​such as Java, C++, and conventional procedural programming languages ​​such as C or similar programming languages. The program code may be executed entirely on the user's computing device, partially on the user's computing device, as a stand-alone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server.

[0107] In addition, the embodiments of the present disclosure may also be a computer-readable storage medium having computer program instructions stored thereon. When the computer program instructions are executed by a processor, the processor is enabled to perform any method provided by the embodiments of the present disclosure.

[0108] Computer readable storage media can adopt any combination of one or more readable media. The readable medium can be a readable signal medium or a readable storage medium. The readable storage medium can, for example, include but is not limited to a system, device or component of electricity, magnetism, light, electromagnetic, infrared, or semiconductor, or any combination thereof. More specific examples (non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof.

[0109] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or device comprising the element.

[0110] The foregoing description is intended only to provide specific embodiments of the present disclosure, intended to enable those skilled in the art to understand and implement the present disclosure. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present disclosure. Therefore, the present disclosure is not intended to be limited to the embodiments described herein, but rather to be construed in the broadest manner consistent with the principles and novel features disclosed herein.

Claims

1. An execution method based on visual programming, characterized in that: include: In a visual programming interface, a plurality of function nodes are displayed; wherein the plurality of function nodes are displayed in the form of a connection diagram; When a trigger operation on a target function node among the multiple function nodes is detected, at least one associated function node of the target function node is determined from the multiple function nodes; the target function node and the associated function node are function nodes to be executed; Executing the function nodes to be executed, wherein during the execution process, the execution progress is calculated according to the execution status of each function node to be executed; The execution progress is displayed in the visual programming interface.

2. The method according to claim 1, wherein The execution progress includes the overall execution progress of the current project and the execution progress of a single node. The execution progress is calculated based on the execution status of each of the function nodes to be executed, including: Querying a preset relationship according to the type of the to-be-executed function node to obtain the execution time weight of each to-be-executed function node; Summing the execution time weights of each of the to-be-executed function nodes to obtain a first target value; and Summing the execution time weights of the pending function nodes whose execution status is completed to obtain a second target value; determining the overall execution progress of the current project based on a ratio between the second target value and the first target value; And / or, the execution progress of a single node is determined based on the ratio of the workload to be executed and the workload completed of a single functional node.

3. The method according to claim 1, wherein The determining at least one associated functional node of the target functional node from the multiple functional nodes includes: Determining, according to the connection relationship between the functional nodes, a first associated functional node connected to the input port of the target functional node; Traverse the input ports of the first associated function node to determine a second associated function node indirectly connected to the target function node.

4. The method according to claim 1, wherein After executing the function node to be executed, the method further includes: In response to the to-be-executed function node starting execution, starting a timer; When the timing duration of the timer reaches a preset duration, if the execution status of the to-be-executed function node has not changed, a prompt message is generated to prompt the user to change the function node.

5. The method according to claim 1, wherein After executing the function node to be executed, the method further includes: Obtaining execution information reported by the to-be-executed function node to the executor during execution; When it is detected that the execution information indicates that the execution of the to-be-executed function node is completed, the state of the to-be-executed function node is changed in the visual programming interface, and the to-be-executed function node is recorded in an execution completion list.

6. The method according to claim 1, wherein The functional nodes include an initialization project node, a scanning parameter configuration node, a scanning node, a data saving node, a 3D reconstruction node, and a rendering node; wherein, after executing the to-be-executed functional nodes, the following is further included: In response to the parallel execution of the scanning node, the data storage node, the 3D reconstruction node, and the rendering node, identifying a current scanning object; Generate an estimated execution progress corresponding to the scan object based on historical data of the scan object during scanning; The estimated execution progress is displayed in the visual programming interface.

7. The method according to claim 6, wherein After displaying the estimated execution progress, the following steps are also included: In response to completion of execution of the scanning node, the data saving node, the 3D reconstruction node, and the rendering node, comparing actual execution progress with the estimated execution progress; If the actual execution progress is inconsistent with the estimated execution progress, a prompt message is generated according to the comparison result.

8. An execution device based on visual programming, characterized in that: include: A first display module is used to display a plurality of function nodes in a visual programming interface; wherein the plurality of function nodes are displayed in the form of a connection diagram; a determination module, configured to, upon detecting a trigger operation on a target function node among the plurality of function nodes, determine at least one associated function node of the target function node from the plurality of function nodes; the target function node and the associated function node being function nodes to be executed; An execution module, configured to execute the function nodes to be executed, wherein during the execution process, the execution progress is calculated according to the execution status of each function node to be executed; The second display module is used to display the execution progress in the visual programming interface.

9. An electronic device, characterized in that: include: processor; a memory for storing instructions executable by the processor; The processor is configured to read the executable instructions from the memory and execute the instructions to implement the execution method based on visual programming described in any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that The storage medium stores a computer program, and when the computer program is executed by a processor, the execution method based on visual programming according to any one of claims 1 to 7 is implemented.