A tcp-based distributed heterogeneous inter-language communication system and a control method thereof
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HARBIN ENG UNIV
- Filing Date
- 2023-03-24
- Publication Date
- 2026-06-09
AI Technical Summary
In existing scientific computing workflows, data formats of preprocessing and postprocessing software are incompatible, operations are complex and error-prone, disk I/O performance is poor, different simulation parameter settings in multiple disciplines lead to high experimental error rates, there is a lack of visualization interfaces, shared memory technology is not widely used between applications, and flowcharts lack data-level support.
We employ a TCP-based distributed heterogeneous language communication system that combines visual flowcharts with abstract scientific computing processes. Through shared memory and TCP/IP communication technology, we achieve data exchange between nodes, providing intuitive process customization and data-level connectivity, thus simplifying experimental operations.
It improves the intuitiveness and efficiency of scientific computing processes, reduces the error rate of command-line operations, enhances software reusability and data exchange efficiency, reduces disk I/O, and supports parameter switching for multidisciplinary simulations.
Smart Images

Figure CN116302614B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of scientific computing technology, specifically, it relates to a TCP-based distributed heterogeneous language communication system and its control method. Background Technology
[0002] In the current field of scientific computing, most fluid dynamics calculation software or post-processing software runs independently. In pre-processing software such as OpenFOAM, the data is usually statically set and cannot be changed after the simulation starts. Changes can only be made after the simulation is completed and the data is obtained. The obtained data is saved to the disk, and post-processing software such as ParaView reads it from the disk and performs visualization operations.
[0003] This operational process has several drawbacks: First, the format saved by the preprocessing software differs from the format required by the post-processing software. Furthermore, the post-processing software can only obtain the preprocessing software's settings through the files saved by the preprocessing software. Therefore, the compatibility between data, preprocessing software, preprocessing output, and post-processing software is very poor throughout the simulation process. Second, currently, most of the simulation process is manually operated by technicians, and most operations lack a visual interface. The entire visualization process is abstract and prone to errors. Third, most preprocessing software currently saves the simulation-generated data to the hard drive first, and then calls the post-processing software to read it. Disk read / write performance is worse than memory read / write performance. Fourth, in multidisciplinary simulations, such as the preprocessing settings for airflow fields in automobiles and waterflow fields in ships, the order of magnitude, units, and data formats of parameters often differ significantly. Existing preprocessing software is generally general-purpose simulation software without input restrictions on parameters. Therefore, technicians need to carefully compare the software with the experimental operation manual, increasing repetitive workload and the probability of experimental errors.
[0004] Shared memory is a highly efficient method of inter-process communication. Processes can directly read and write to memory without saving data to disk. Therefore, processes can read and write to this kernel memory area without any data copying. Its key feature is a memory area within the kernel for multiple processes to exchange information, which each process can map to its own private address space. Currently, shared memory technology between applications is quite mature, and more and more I / O-intensive devices are adopting shared memory to avoid unnecessary disk I / O.
[0005] A flowchart is a graphical representation of an algorithm, process, or system, widely used in various fields. It allows for the clear, easy-to-understand recording, study, planning, improvement, and communication of often complex processes. Currently, flowcharts are primarily used in the design phase, and the nodes within them are often abstract. The flowchart software lacks data-level support and only serves to guide development; it has no substantial practical use during software implementation.
[0006] TCP / IP, or Transmission Control Protocol / Internet Protocol, is an industry-standard protocol suite designed for wide area networks.
[0007] A socket is an intermediate software abstraction layer for communication between the application layer and the TCP / IP protocol suite; it's a set of interfaces. In design patterns, a socket is essentially a facade pattern, hiding the complexities of the TCP / IP protocol suite behind the socket interface. For the user, a simple set of interfaces is all that's needed; the socket handles the data organization to conform to the specified protocol. Simply put, a socket enables two programs on a network to exchange data through a bidirectional communication connection.
[0008] While shared memory technology can achieve efficient memory utilization, sharing memory between applications requires parameters such as the shared memory ID and the size of the shared memory. This necessitates establishing a robust message communication mechanism between software at the data layer, which requires the use of TCP / IP communication technology.
[0009] In today's simulation computing field, the entire simulation process is roughly divided into three steps: parameter setting, preprocessing, and postprocessing. Currently, each step is performed independently. Experimental technicians input the set parameters into the preprocessing software, wait for the preprocessing software to complete the calculation, and then save the data to the disk. Technicians then manually read the data into the postprocessing software for visualization. Furthermore, scientific computing simulation processes are usually conducted under Linux systems, and operators can only input and debug parameters via command lines, which is time-consuming and labor-intensive. Summary of the Invention
[0010] To address the aforementioned problems, this invention proposes a TCP-based distributed heterogeneous language communication system and its control method. It combines a visual flowchart with an abstract scientific computing process, allowing for flexible process customization. This simplifies experimental operations for technicians, reduces the likelihood of errors during command-line operations, and makes the entire process more intuitive.
[0011] This invention is achieved through the following technical solution:
[0012] A TCP-based distributed communication system for heterogeneous languages:
[0013] The communication system includes an external flowchart execution module, an internal node execution module, and a data flow execution module;
[0014] The external flowchart execution module is used to customize the attributes and functions of nodes;
[0015] The internal node operation module determines the function of the rendering window and the nodes in the tree table by passing parameters, thereby controlling the function of the system.
[0016] The data stream operation module includes TCP / IP protocol and computer magnetic memory;
[0017] The external flowchart execution module and the data flow execution module communicate through the view layer, while the internal node execution module and the data flow execution module communicate through the data layer.
[0018] Furthermore, in the external flowchart execution module, a flowchart is a Socket network responsible for communication, and also a graph responsible for connections and where the head and tail nodes can be found.
[0019] Each node in the flowchart is a client in the network and is maintained uniformly by the flowchart; each node has its own data area, which stores the memory ID and memory size of the data generated by this node.
[0020] Furthermore, the external flowchart execution module consists of tree nodes and a canvas;
[0021] The tree nodes include two types: component nodes and system nodes.
[0022] The component nodes include geometry nodes, material nodes, mesh nodes, data input nodes, analysis nodes, post-processing nodes, result analysis nodes, and report generation nodes;
[0023] The component nodes can be dragged and dropped from the tree node table onto the canvas to form a node in the visualization process, and all of them can be opened by double-clicking. The program opened varies depending on the function of the node. When some nodes that require input data lack the necessary data for calculation, a question mark will appear in the lower right corner of the node to remind the user that the data input is incomplete. If all the data for this node is ready, the question mark in the lower right corner will change into a checkmark.
[0024] Furthermore,
[0025] The main body of the internal node operation module consists of two parts: the tree table and the rendering window.
[0026] The internal node operation module is a general pre- and post-processing program that determines the function of the rendering window and the nodes in the tree table by passing external parameters.
[0027] Furthermore, in the data stream execution module
[0028] At the data layer, the exchange of input parameters and calculation results is carried out through Socket communication to complete the parameter transfer between nodes. Each node is a node in a doubly linked graph with multiple inputs and multiple outputs. The up and down related nodes / node list can be obtained through the getNext() and getPrevious() methods of each node. In addition to recording its own input nodes and output nodes, the node also records the memory ID of the output data of this node and the memory space occupied by the output data.
[0029] At the interface layer, different nodes are visually connected by setting input and output connections. Every time a connection is made or deleted at the interface layer, the data layer is updated. In the Socket network, new nodes are added or deleted and the node linked list is updated at the same time.
[0030] Furthermore,
[0031] The geometric node, when double-clicked, imports the geometry to be simulated into the simulation process. After importing, a shared space is allocated in memory, and the memory ID and size of the shared space are passed to the next node via Socket communication.
[0032] The material node is connected to the geometry node on the interface layer, and takes the output of the geometry node as its input. Double-clicking the node creates or imports material data. The material data related to the simulation includes material density, coefficient of expansion and initial temperature parameters. The parameters need to be entered manually. After the input is completed, the material node will allocate a shared space in memory to store the input or imported material parameter information, and pass the memory ID and the size of the allocated space to the next node through Socket communication.
[0033] The mesh node is connected to the material data node, and takes the output of the material data and the output of the geometry node as its input. When double-clicked, it opens an internal node running module with a visualization window and node tree. Visual operations can be performed on the interface of the internal node running module to ensure that the previously input geometry and mesh data parameters are correct. After confirming that they are correct, memory blocks and block information are generated in the data layer.
[0034] The data input node is used to open an application window with two menus. One menu is for input parameters, where the experimenter needs to input the grid size, format type, separator type, and coordinate system type parameters. The other menu is for analysis requirements, which lists the parameters that need to be calculated scientifically. The user needs to input the allowable values and reserve coefficients for the simulation. After the user clicks "OK" on the interface, the flowchart program puts the input parameters into memory and updates its node in the linked list.
[0035] In the analysis node, double-clicking a node in the canvas opens the internal node running module, which performs preprocessing calculations on the input data of the previous node and the grid, and saves the postprocessed data generated by the calculation to memory. The space ID and data size saved to memory are stored in the linked list node of the analysis node.
[0036] In the post-processing node, double-clicking the post-processing node opens the internal node running module. The internal node running module obtains the output of the previous analysis node in the linked list, obtains the post-processed data, and performs visualization operations to display it.
[0037] Double-clicking to open the result analysis node will open a table. The table will find the analysis node and data input node connected to it through a linked list, and compare the input allowable value with the calculated value obtained by the analysis node. Finally, it will determine whether the calculated value of the parameter is less than the allowable value, thereby judging whether the simulation is feasible. At the same time, the analysis results will be generated and saved to the disk in the form of a text document.
[0038] Double-clicking the "Generate Report" node will open the text document of the report generated by the "Results Analysis" node.
[0039] Furthermore,
[0040] The system nodes are applied to multiple disciplines. The child nodes under the system node tree cannot be dragged to the canvas. Double-clicking a node in the node tree will open a preset flowchart in the canvas. The basic parameters of this flowchart have been customized and preset according to different disciplines. Users only need to supplement the missing data in the simulation process according to the preset prompts to generate a report.
[0041] A control method for a TCP-based distributed heterogeneous inter-language communication system:
[0042] The method specifically includes the following steps:
[0043] Step 1: The user customizes the attributes and functions of nodes in the external flowchart running module and sets the simulation process in the view layer;
[0044] Step 2: Input parameters into the internal node running module to determine the functions of the data layer rendering window and the nodes in the tree table, thereby controlling the functions of the system.
[0045] Step 3: Connect the view layer of Step 1 and the data layer of Step 2 through the data flow execution module to realize data communication and interaction.
[0046] An electronic device includes a memory and a processor, the memory storing a computer program, the processor executing the computer program to implement the steps of the above method.
[0047] A computer-readable storage medium for storing computer instructions that, when executed by a processor, implement the steps of the above-described method.
[0048] Beneficial effects of the invention
[0049] In the field of scientific computing, this invention combines a visual flowchart with an abstract scientific computing process and allows for free customization of the process. It presents the entire scientific computing process in the form of a visual flowchart, simplifying the experimental operations of laboratory technicians, reducing the possibility of errors when operating the command line, and making the entire process more intuitive.
[0050] This invention separates the view layer and data layer of industrial simulation software. The process is defined on the view layer through nodes and connections, while data interaction is carried out in the data layer through shared memory and logical node data communication is carried out through TCP / IP communication. The interaction of data generated by scientific calculation is carried out through shared memory, which does not require saving to disk, thus greatly improving efficiency.
[0051] This invention achieves the purpose of switching between pre- and post-processing software and between multi-disciplinary simulation software by limiting software functions through parameter passing, thereby increasing the reusability of the software. Attached Figure Description
[0052] Figure 1 A flowchart for traditional scientific computing;
[0053] Figure 2 This is a visual flowchart of the scientific computing process of this invention;
[0054] Figure 3 This is a flowchart of the component nodes in the external process execution module of this invention;
[0055] Figure 4 This is a flowchart of a system node in the external process execution module of this invention. Detailed Implementation
[0056] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0057] Combination Figures 1 to 4 .
[0058] A TCP-based distributed communication system for heterogeneous languages:
[0059] The communication system includes an external flowchart execution module, an internal node execution module, and a data flow execution module;
[0060] The external flowchart execution module is used to customize the attributes and functions of nodes;
[0061] The internal node operation module determines the function of the rendering window and the nodes in the tree table by passing parameters, thereby controlling the function of the system.
[0062] The data stream operation module includes TCP / IP protocol and computer magnetic memory;
[0063] The external flowchart execution module and the data flow execution module communicate through the view layer, while the internal node execution module and the data flow execution module communicate through the data layer.
[0064] In the external flowchart execution module, a flowchart is a Socket network responsible for communication, and also a graph responsible for connections and where the head and tail nodes can be found.
[0065] Each node in the flowchart is a client in the network and is maintained uniformly by the flowchart; each node has its own data area, which stores the memory ID and memory size of the data generated by this node.
[0066] The external flowchart execution module consists of tree nodes and a canvas; the tree nodes mainly include two types: component nodes and system nodes.
[0067] The component nodes include geometry nodes, material nodes, mesh nodes, data input nodes, analysis nodes, post-processing nodes, result analysis nodes, and report generation nodes;
[0068] The component nodes can be dragged from the tree node table on the left to the canvas on the right to form a node in the visualization process, and they can all be opened by double-clicking. The program opened varies depending on the function of the node. When some nodes that require input data lack the necessary data for calculation, a question mark will appear in the lower right corner of the node to remind the user that the data input is incomplete. If all the data for this node is ready, the question mark in the lower right corner will change into a checkmark.
[0069] The main body of the internal node operation module consists of two parts: the tree table on the left and the rendering window on the right.
[0070] The internal node operation module is a general pre- and post-processing program that determines the function of the rendering window and the nodes in the tree table by passing external parameters.
[0071] In the data flow execution module, at the data layer, the following situations need to be explained in detail:
[0072] The first is the transmission of node parameters. Nodes exchange input parameters, calculation results, and other data with each other at the data level through Socket communication.
[0073] Secondly, there are the connections between nodes. Each node is a node in a doubly linked graph with multiple entries and exits. By using the getNext() and getPrevious() methods of each node, you can get the previous (or multiple) nodes (or a list of nodes) or the next (or multiple) nodes (or a list of nodes).
[0074] Thirdly, there are the class attributes of the nodes. In addition to recording their own input and output nodes, nodes also record the memory ID of the output data and the memory space occupied by the output data, so as to facilitate other operations.
[0075] At the interface layer, different nodes are visually connected by setting input and output connections. Each time a connection is made or deleted at the interface layer, the data layer is updated. In the Socket network, adding or deleting a node updates the node list simultaneously. Note that all nodes in the same flowchart form a Socket sub-network.
[0076] The geometric node, when double-clicked, imports the geometry to be simulated into the simulation process. After importation, its main function at the data level is to allocate a shared space in memory and pass the memory ID and size of the shared space to the next node via Socket communication.
[0077] The material node can be connected to the geometry node on the interface layer, and the output of the geometry node can be used as its input. Double-clicking the node can create or import material data. The material data related to the simulation includes parameters such as material density, coefficient of expansion and initial temperature. The parameters need to be entered by the experimental technicians. After the input is completed, the material node will allocate a shared space in memory to store the input or imported material parameter information, and pass the memory ID and the size of the allocated space to the next node through Socket communication.
[0078] The mesh node can be connected to the material data node, taking the output of the material data and the output of the geometry node as its input. When double-clicked, it opens an internal node running module with a visualization window and node tree. Simple visualization operations can be performed on the interface of the internal node running module to ensure that the geometry and mesh data parameters previously entered by the experimental technicians are correct. After confirming that they are correct, memory blocks and block information are generated in the data layer.
[0079] The data input node is used to open an application window with two menus. One menu is for input parameters, where the experimenter needs to input parameters such as mesh size, format type, separator type, and coordinate system type. The other menu is for analysis requirements, which mainly lists various parameters that need to be scientifically calculated, such as the maximum centrifugal radial stress. The user needs to input the allowable values and reserve coefficients for the simulation. After the user clicks "OK" on the interface, the flowchart program puts the design input parameters into memory and updates its node in the linked list.
[0080] In the analysis node, double-clicking a node in the canvas opens the internal node running module, which performs preprocessing calculations on the input data of the previous node and the grid, and saves the postprocessed data generated by the calculation to memory. The space ID and data size saved to memory are stored in the linked list node of the analysis node.
[0081] In the post-processing node, double-clicking the post-processing node opens the internal node running module. The internal node running module obtains the output of the previous analysis node in the linked list, obtains the post-processed data, and performs visualization operations to display it.
[0082] Double-clicking to open the result analysis node will open a table. The table will find the analysis node and data input node connected to it through a linked list, and compare the input allowable value with the calculated value obtained by the analysis node. Finally, it will determine whether the calculated value of the parameter is less than the allowable value, thereby judging whether the simulation is feasible. At the same time, the analysis results will be generated and saved to the disk in the form of a text document.
[0083] Double-clicking the "Generate Report" node will open the text document of the report generated by the "Results Analysis" node.
[0084] The system nodes described are primarily used across multiple disciplines. Child nodes under the system node tree cannot be dragged to the canvas on the right. Double-clicking a node in the node tree opens a preset flowchart on the canvas. The basic parameters of this flowchart are customized and preset according to different disciplines. Users only need to follow the preset prompts (described in the node introduction above) to supplement the missing data in the simulation process to generate a report. This node is primarily set up to save flowcharts that users need to use repeatedly.
[0085] A control method for a TCP-based distributed heterogeneous inter-language communication system:
[0086] The method specifically includes the following steps:
[0087] Step 1: The user customizes the attributes and functions of nodes in the external flowchart running module and sets the simulation process in the view layer;
[0088] Step 2: Input parameters into the internal node running module to determine the functions of the data layer rendering window and the nodes in the tree table, thereby controlling the functions of the system.
[0089] Step 3: Connect the view layer of Step 1 and the data layer of Step 2 through the data flow execution module to realize data communication and interaction.
[0090]
[0091]
[0092] Table 1 Parameter Table of Internal Node Running Module
[0093] An electronic device includes a memory and a processor, the memory storing a computer program, the processor executing the computer program to implement the steps of the above method.
[0094] A computer-readable storage medium for storing computer instructions that, when executed by a processor, implement the steps of the above-described method.
[0095] The memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate synchronous DRAM (DDR SDRAM), enhanced synchronous DRAM (ESDRAM), synchronous linked DRAM (SLDRAM), and direct rambus RAM (DRRAM). It should be noted that the memory of the methods described in this invention is intended to include, but is not limited to, these and any other suitable types of memory.
[0096] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired means such as coaxial cable, optical fiber, digital subscriber line (DSL), or wireless means such as infrared, wireless, or microwave. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. The available media can be magnetic media such as floppy disks, hard disks, magnetic tapes, optical media such as high-density digital video discs (DVDs), or semiconductor media such as solid-state drives (SSDs).
[0097] In implementation, each step of the above method can be completed by integrated logic circuits in the processor's hardware or by instructions in software. The steps of the method disclosed in the embodiments of this application can be directly implemented by a hardware processor, or by a combination of hardware and software modules in the processor. The software modules can reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method. To avoid repetition, detailed descriptions are omitted here.
[0098] It should be noted that the processor in the embodiments of this application can be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method embodiments can be completed by the integrated logic circuits in the processor's hardware or by instructions in software form. The processor can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied as execution by a hardware decoding processor, or as execution by a combination of hardware and software modules in the decoding processor. The software modules can be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory; the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above methods.
[0099] The foregoing has provided a detailed description of the TCP-based distributed heterogeneous language communication system and its control method proposed in this invention, and has elucidated the principles and implementation methods of this invention. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of this invention. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this invention. Therefore, the content of this specification should not be construed as a limitation of this invention.
Claims
1. A TCP-based distributed heterogeneous language communication system, characterized in that: The communication system includes an external flowchart execution module, an internal node execution module, and a data flow execution module; The external flowchart execution module is used to customize the attributes and functions of nodes; and to set the simulation process of the view layer. The internal node operation module determines the function of the data layer rendering window and the nodes in the tree table by passing parameters, thereby controlling the function of the system. The data stream operation module includes TCP / IP protocol and computer magnetic memory; The external flowchart execution module and the data flow execution module communicate through the view layer, while the internal node execution module and the data flow execution module communicate through the data layer.
2. The system according to claim 1, characterized in that: In the external flowchart execution module, a flowchart is a Socket network responsible for communication, and also a graph responsible for connections and where the head and tail nodes can be found. Each node in the flowchart is a client in the network and is maintained uniformly by the flowchart; each node has its own data area, which stores the memory ID and memory size of the data generated by this node.
3. The system according to claim 2, characterized in that: The external flowchart execution module consists of tree nodes and a canvas; The tree nodes include two types: component nodes and system nodes. The component nodes include geometry nodes, material nodes, mesh nodes, data input nodes, analysis nodes, post-processing nodes, result analysis nodes, and report generation nodes; The component nodes can be dragged and dropped from the tree node table onto the canvas to form a node in the visualization process, and all of them can be opened by double-clicking. The program opened varies depending on the function of the node. When some nodes that require input data lack the necessary data for calculation, a question mark will appear in the lower right corner of the node to remind the user that the data input is incomplete. If all the data for this node is ready, the question mark in the lower right corner will change into a checkmark.
4. The system according to claim 3, characterized in that: The main body of the internal node operation module consists of two parts: the tree table and the rendering window. The internal node operation module is a general pre- and post-processing program that determines the function of the rendering window and the nodes in the tree table by passing external parameters.
5. The system according to claim 4, characterized in that: In the data stream execution module At the data layer, The exchange of input parameters and calculation results is accomplished through socket communication to complete the parameter transfer between nodes; each node is a node in a doubly linked graph with multiple inputs and multiple outputs, and the upstream and downstream related nodes and the node list can be obtained through the getNext() and getPrevious() methods of each node; in addition to recording its own input node and output node, the node also records the memory ID of the output data of this node and the memory space occupied by the output data. At the interface layer, different nodes are visually connected by setting input and output connections. Every time a connection is made or deleted at the interface layer, the data layer is updated. In the socket network, new nodes are viewed, deleted, or added, and the node linked list is updated simultaneously.
6. The system according to claim 5, characterized in that: The geometric node, when double-clicked, imports the geometry to be simulated into the simulation process. After importing, a shared space is allocated in memory, and the memory ID and size of the shared space are passed to the next node via Socket communication. The material node is connected to the geometry node on the interface layer, and takes the output of the geometry node as its input. Double-clicking the node creates or imports material data. The material data related to the simulation includes material density, coefficient of expansion and initial temperature parameters. The parameters need to be entered manually. After the input is completed, the material node will allocate a shared space in memory to store the input or imported material parameter information, and pass the memory ID and the size of the allocated space to the next node through Socket communication. The mesh node is connected to the material data node, and takes the output of the material data and the output of the geometry node as its input. When double-clicked, it opens an internal node running module with a visualization window and node tree. Visual operations can be performed on the interface of the internal node running module to ensure that the previously input geometry and mesh data parameters are correct. After confirming that they are correct, memory blocks and block information are generated in the data layer. The data input node is used to open an application window with two menus. One menu is for input parameters, where the experimenter needs to input the grid size, format type, separator type, and coordinate system type parameters. The other menu is for analysis requirements, which lists the parameters that need to be calculated scientifically. The user needs to input the allowable values and reserve coefficients for the simulation. After the user clicks "OK" on the interface, the flowchart program puts the input parameters into memory and updates its node in the linked list. In the analysis node, double-clicking a node in the canvas opens the internal node running module, which performs preprocessing calculations on the input data of the previous node and the grid, and saves the postprocessed data generated by the calculation to memory. The space ID and data size saved to memory are stored in the linked list node of the analysis node. In the post-processing node, double-clicking the post-processing node opens the internal node running module. The internal node running module obtains the output of the previous analysis node in the linked list, obtains the post-processed data, and performs visualization operations to display it. Double-clicking to open the result analysis node will open a table. The table will find the analysis node and data input node connected to it through a linked list, and compare the input allowable value with the calculated value obtained by the analysis node. Finally, it will determine whether the calculated value of the parameter is less than the allowable value, thereby judging whether the simulation is feasible. Simultaneously, the analysis results are generated and saved to the disk as a text document; Double-clicking the "Generate Report" node will open the text document of the report generated by the "Results Analysis" node.
7. The system according to claim 6, characterized in that: The system nodes are applied to multiple disciplines. The child nodes under the system node tree cannot be dragged to the canvas. Double-clicking a node in the node tree will open a preset flowchart in the canvas. The basic parameters of this flowchart have been customized and preset according to different disciplines. Users only need to supplement the missing data in the simulation process according to the preset prompts to generate a report.
8. A control method for a TCP-based distributed heterogeneous inter-language communication system, characterized in that: The method is used to execute the TCP-based distributed heterogeneous language communication system as described in claim 1; The method specifically includes the following steps: Step 1: The user customizes the attributes and functions of nodes in the external flowchart running module and sets the simulation process in the view layer; Step 2: Input parameters into the internal node running module to determine the functions of the data layer rendering window and the nodes in the tree table, thereby controlling the functions of the system. Step 3: Connect the view layer of Step 1 and the data layer of Step 2 through the data flow execution module to realize data communication and interaction.
9. An electronic device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method of claim 8.
10. A computer-readable storage medium for storing computer instructions, characterized in that, When the computer instructions are executed by the processor, they implement the steps of the method of claim 8.