Distributed space calculation method and system, terminal and readable storage medium
By segmenting and allocating the spatial computing tasks to multiple distributed child nodes for processing, a single terminal is solved, and efficient, accurate and real-time spatial computing is achieved, and large-scale computing needs are met.
Patent Information
- Application Number
- CN202411279534.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-12
- Publication Date
- 2025-01-10
AI Technical Summary
Traditional single terminals are difficult to meet the high-complexity and high-precision computing needs in spatial computing, and are limited by physical limitations such as power supply and equipment heat dissipation.
The distributed spatial computing method is adopted to divide the spatial computing tasks into multiple subtasks and allocate them to multiple distributed subnodes for processing. Through unified management and scheduling, a virtual hardware resource pool is formed to achieve efficient, accurate and real-time computing.
By integrating the computing resources, storage resources and network resources of multiple terminal devices, the efficiency and accuracy of spatial computing are improved, and the needs of large-scale spatial computing tasks are met.
Smart Images

Figure CN119292766A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of spatial computing technology, and in particular to a distributed spatial computing method, system, terminal and readable storage medium. Background Art
[0002] Spatial computing is a computing model that integrates virtual reality (VR), augmented reality (AR), mixed reality (MR) and other technologies, aiming to merge digital information with the real world. This fusion creates a new computing environment that can perceive and understand the space around us and interweave digital content with real scenes. Spatial computing has a wide range of applications, such as geographic information systems (GIS), intelligent transportation systems, urban planning and other fields.
[0003] It simulates things in the real world in a virtual digital space to build a digital model that is very realistic with reality. This type of task requires a lot of computing power to support filtering, rendering and other computing tasks on the model to obtain the final virtual model.
[0004] Traditional computing devices usually rely on the capabilities of a single terminal when performing spatial computing. However, due to physical limitations such as power supply and equipment heat dissipation, the computing power of a single terminal cannot grow indefinitely. Therefore, when a single terminal is used in spatial computing tasks, it is difficult to meet the high-complexity and high-precision spatial computing requirements. To this end, it is necessary to introduce multi-terminal collaborative computing technology in the field of spatial computing to integrate the computing resources, storage resources and network resources of multiple terminal devices to improve the efficiency and accuracy of spatial computing. Summary of the invention
[0005] The purpose of the present invention is to provide a distributed spatial computing method, system, terminal and readable storage medium, which is intended to solve the problem that the performance of existing single devices is difficult to meet large-scale spatial computing tasks.
[0006] The technical solution adopted by the present invention to solve the technical problem is as follows:
[0007] The present invention provides a distributed spatial computing method, the distributed spatial computing method comprising:
[0008] Acquire the collected spatial computing data, and generate a spatial computing task according to the spatial computing data;
[0009] Divide the spatial computing task into multiple subtasks, and assign a distributed subnode to each subtask;
[0010] The execution results of each of the distributed sub-nodes are obtained, and each of the execution results is fused to obtain and output a spatial calculation result.
[0011] Further, the acquiring of the collected spatial computing data and generating a spatial computing task according to the spatial computing data specifically includes:
[0012] Acquire original spatial calculation data collected by an external device, and preprocess the original spatial calculation data to obtain preprocessed spatial data;
[0013] The pre-processed spatial data is used as the spatial computing data, and a spatial computing task is generated according to the spatial computing data.
[0014] Furthermore, the preprocessing of the original spatial calculation data to obtain preprocessed spatial data specifically includes:
[0015] Performing missing value processing and outlier detection and correction on the original spatial calculation data to obtain cleaned data;
[0016] Converting the cleaned data into a unified format to obtain converted data;
[0017] The converted data is subjected to denoising processing to obtain denoised data, and the denoised data is used as the pre-processed spatial data.
[0018] Furthermore, dividing the spatial computing task into a plurality of subtasks specifically includes:
[0019] Analyze the computing resources, storage resources and network resources required for the spatial computing task;
[0020] The spatial computing task is divided into multiple computing subtasks according to the computing resources, the spatial computing task is divided into multiple storage subtasks according to the storage resources, and the spatial computing task is divided into multiple network subtasks according to the network resources.
[0021] Furthermore, allocating a distributed sub-node to each of the sub-tasks specifically includes:
[0022] Obtain a digital twin model describing the capabilities of each distributed sub-node, and divide each of the distributed sub-nodes into a computing sub-node, a storage sub-node, and a network sub-node according to the digital twin model;
[0023] A computing subnode is allocated to each computing subtask, a storage subnode is allocated to each storage subtask, and a network subnode is allocated to each network subtask.
[0024] Further, the spatial computing task includes a model computing task;
[0025] The dividing of the spatial computing task into a plurality of computing subtasks according to the computing resources specifically includes:
[0026] Dividing the model of the model calculation task into a plurality of model subcomponents according to the structure;
[0027] It is determined in turn whether the computing resources required by each model sub-component are less than the set threshold. If the computing resources required by the model sub-component are not less than the set threshold, the corresponding model sub-component is divided into multiple new model sub-components according to the structure and added to the judgment queue.
[0028] Furthermore, the fusion processing includes one or more of Bayesian fusion processing, weighted average fusion processing and machine learning model fusion processing.
[0029] In addition, to achieve the above-mentioned purpose, the present invention further provides a distributed spatial computing system, the distributed spatial computing system comprising:
[0030] A task generation module, used to obtain the collected spatial computing data and generate a spatial computing task according to the spatial computing data;
[0031] A subtask allocation module, used for dividing the spatial computing task into multiple subtasks, and allocating a distributed subnode to each of the subtasks;
[0032] The result fusion module is used to obtain the execution results of each of the distributed sub-nodes, fuse the execution results, obtain the spatial calculation results and output them.
[0033] In addition, to achieve the above-mentioned purpose, the present invention also provides a terminal, which includes: a memory, a processor, and a distributed spatial computing program stored in the memory and executable on the processor, and when the distributed spatial computing program is executed by the processor, the terminal is controlled to implement the steps of the distributed spatial computing method as described above.
[0034] In addition, to achieve the above-mentioned purpose, the present invention also provides a readable storage medium, which stores a distributed spatial computing program, and when the distributed spatial computing program is executed by a processor, the steps of the distributed spatial computing method as described above are implemented.
[0035] The present invention adopts the above technical solution to achieve the following effects:
[0036] The present invention integrates the capabilities of multiple distributed node devices through distributed technology to form a virtual hardware resource pool, and divides the spatial computing tasks and assigns them to the devices of each distributed node for processing, and performs unified management and scheduling to achieve efficient, accurate and real-time spatial computing and display. BRIEF DESCRIPTION OF THE DRAWINGS
[0037] Figure 1is a flow chart of steps of a distributed spatial computing method in a preferred embodiment of the present invention;
[0038] Figure 2 It is a schematic diagram of the principle of a distributed spatial computing system in a preferred embodiment of the present invention;
[0039] Figure 3 It is a schematic diagram of the operating environment of a preferred embodiment of the terminal of the present invention. DETAILED DESCRIPTION
[0040] In order to make the purpose, technical solution and advantages of the present invention clearer and more specific, the present invention is further described in detail with reference to the accompanying drawings and examples. It should be understood that the described embodiments are only part of the embodiments of the present disclosure, rather than all the embodiments. The specific embodiments described herein are only used to explain the present invention, and are not used to limit the present invention. All other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present disclosure.
[0041] Embodiment 1
[0042] See also Figure 1 , Embodiment 1 of the present application is a distributed spatial computing method, which comprises the steps of:
[0043] S1. Acquire collected spatial computing data, and generate a spatial computing task according to the spatial computing data.
[0044] In this embodiment, the acquired spatial data is acquired by collecting raw spatial calculation data through multiple sensors and terminal devices, wherein the sensors include GPS, camera and depth sensor.
[0045] Among them, the original spatial calculation data includes position information, depth data, image data, and device status information.
[0046] After the original spatial computing data is collected, it is necessary to integrate and preprocess the data to obtain high-quality data after cleaning and format conversion. Specifically, the original spatial computing data is cleaned, format converted and denoised in turn.
[0047] Among them, data cleaning includes missing value processing and outlier detection and correction. Missing value processing is a data processing method that fills missing data by using interpolation or mean, and outlier detection and correction is a data processing method that detects outliers using box plot analysis, Z-score method, etc., and corrects them.
[0048] Format conversion refers to converting data from different sources into a unified standard format. In this embodiment, GPS data is converted into WGS84 format, image data is unified into RGB format, and depth data is converted into a standard depth map format for subsequent analysis and use.
[0049] De-noising refers to the use of filtering technology to remove noise from data and improve data quality. It includes Kalman filtering and wavelet transform. Kalman filtering performs state estimation based on the sensor model and measurement model for filtering. Wavelet transform decomposes data into different frequency components to remove high-frequency noise and retain useful signals.
[0050] After preprocessing the data, spatial computing tasks can be generated based on the preprocessed spatial computing data.
[0051] S2. Divide the spatial computing task into multiple subtasks, and assign a distributed subnode to each subtask.
[0052] In this embodiment, the spatial computing task is divided. Specifically, the spatial computing task is first analyzed to determine the computing, storage, and bandwidth resources required, and then the spatial computing task is divided into multiple subtasks. The subtasks are then analyzed in turn to determine the resource requirements of the subtasks, that is, the computing, storage, and bandwidth resources required by the subtasks.
[0053] For the allocation subtask, first obtain the super-object model used to describe the computing power, storage capacity, network bandwidth and other resources of each node in the computing system. The super-object model is a digital twin model of the entire computing system, which describes the capabilities of each physical hardware node of the computing system and is also used to describe the capabilities of the software intermediate nodes.
[0054] Among them, in this embodiment, the capabilities of the hardware nodes are described specifically by dividing each node into computing nodes, storage nodes and network nodes according to performance, wherein the computing nodes include multiple high-performance computing servers and terminal devices, which are used to provide computing resources for the system, the storage nodes are used to store and manage large-scale spatial data and augmented reality content, and the network nodes are used to ensure high-speed data transmission and low-latency communication between each node.
[0055] The soft bus technology is used between each node to integrate each computing node, storage node and network node into a virtual hardware resource pool. The soft bus technology is used between each node to realize data exchange and task distribution between different nodes, so as to achieve unified management and scheduling of each node's capabilities, thereby providing spatial computing services to the outside world, such as realizing augmented reality display.
[0056] Finally, each subtask is assigned to different subnodes for calculation according to the super object model. Specifically, it is a method that combines static and dynamic methods. Static means that before task allocation, different nodes have determined whether the node performs computing tasks, storage tasks or network tasks through the description of the super object model. Dynamic means that the scheduling algorithm selects nodes that meet the task requirements and have lower loads based on the resources required by the subtask, so as to dynamically adjust task allocation and optimize resource utilization according to the real-time status and load of the node during task execution.
[0057] For example, for a complex model, this embodiment analyzes it and splits it into multiple model sub-components. Each sub-component is assigned to a computing node as a computing subtask. The differentiated storage of spatial computing data and the subsequent upload and storage of the model are the responsibility of the corresponding network nodes and storage nodes.
[0058] During the calculation process of each sub-node, the real-time monitoring data provided by the management platform can be used to understand the calculation process and system status in real time, so as to monitor the task execution of each computing node in real time, ensure the stability and efficiency of the calculation process, and perform fault recovery and task reallocation in a timely manner when a node failure is found.
[0059] S3. Obtain the execution results of each of the distributed sub-nodes, fuse the execution results, obtain the spatial calculation results, and output them.
[0060] Specifically, in this embodiment, each distributed node performs parallel computing according to the assigned subtasks, wherein the computing nodes perform computing using multi-threading and asynchronous computing technology, and the computing nodes exchange and synchronize data between the computing nodes through network nodes using a soft bus to ensure the consistency of the computing results.
[0061] For a complex model, such as a human body model, it can be decomposed into the torso and limbs, and each of them is assigned to a computing node for calculation. During the calculation, the computing node that performs the torso subtask calculation gives priority to calculating the connection between the torso and the limbs. Similarly, the computing node that calculates the limbs gives priority to calculating the connection between the limbs and the torso. When calculating the connection part, each computing node synchronizes data to ensure the consistency of the calculation, so as to ensure the alignment of each connection position during parallel calculation, thereby ensuring the consistency of subsequent fusion results.
[0062] When each sub-node completes a sub-task, it further slices the sub-task into multiple task fragments through multi-threading and asynchronous processing technology, so that each sub-node can further speed up the processing speed through parallel processing when processing the sub-task. For example, for a computing sub-task, the computing sub-node can further divide the sub-components of the model into multiple component fragments to render the component fragments separately, thereby speeding up the rendering of the entire model through multi-threaded rendering.
[0063] After obtaining the execution results of each distributed node, it is necessary to fuse the execution results of each distributed node to obtain the final spatial calculation result. The fusion first needs to fuse the overlapping parts between each node, that is, the overlapping parts used for connection between the sub-components of each model, which can be fused through weighted average fusion, Bayesian fusion or fusion through machine learning model.
[0064] Weighted average fusion refers to the weighted average of the execution results of each sub-node according to the credibility of the sub-node, so as to obtain the fusion result. Among them, the credibility of each sub-node is calculated based on the historical performance data of the sub-node, the computing power and stability of the node, and the specific scoring criteria are set according to actual needs.
[0065] Bayesian fusion uses Bayesian theory to fuse the prior probabilities and execution results of each node.
[0066] Machine learning model fusion uses machine learning models such as neural networks and random forests to input the execution results of each sub-node into the machine learning model, and the machine learning model outputs the final fusion result as the spatial calculation result.
[0067] Finally, augmented reality or virtual reality output is performed based on the spatial computing results to complete the entire spatial computing task.
[0068] Embodiment 2
[0069] See also Figure 2 Based on the above method, the present invention also provides a distributed spatial computing system, the distributed spatial computing system comprising:
[0070] A task generation module 51 is used to obtain the collected spatial computing data and generate a spatial computing task according to the spatial computing data;
[0071] Further, the acquiring of the collected spatial computing data and generating a spatial computing task according to the spatial computing data specifically includes:
[0072] Acquire original spatial calculation data collected by an external device, and preprocess the original spatial calculation data to obtain preprocessed spatial data;
[0073] The pre-processed spatial data is used as the spatial computing data, and a spatial computing task is generated according to the spatial computing data.
[0074] Furthermore, the preprocessing of the original spatial calculation data to obtain preprocessed spatial data specifically includes:
[0075] Performing missing value processing and outlier detection and correction on the original spatial calculation data to obtain cleaned data;
[0076] Converting the cleaned data into a unified format to obtain converted data;
[0077] The converted data is subjected to denoising processing to obtain denoised data, and the denoised data is used as the pre-processed spatial data.
[0078] A subtask allocation module 52, used for dividing the spatial computing task into a plurality of subtasks, and allocating a distributed subnode to each of the subtasks;
[0079] Furthermore, dividing the spatial computing task into a plurality of subtasks specifically includes:
[0080] Analyze the computing resources, storage resources and network resources required for the spatial computing task;
[0081] The spatial computing task is divided into multiple computing subtasks according to the computing resources, the spatial computing task is divided into multiple storage subtasks according to the storage resources, and the spatial computing task is divided into multiple network subtasks according to the network resources.
[0082] Furthermore, allocating a distributed sub-node to each of the sub-tasks specifically includes:
[0083] Obtain a digital twin model describing the capabilities of each distributed sub-node, and divide each of the distributed sub-nodes into a computing sub-node, a storage sub-node, and a network sub-node according to the digital twin model;
[0084] A computing subnode is allocated to each computing subtask, a storage subnode is allocated to each storage subtask, and a network subnode is allocated to each network subtask.
[0085] Further, the spatial computing task includes a model computing task;
[0086] The dividing of the spatial computing task into a plurality of computing subtasks according to the computing resources specifically includes:
[0087] Dividing the model of the model calculation task into a plurality of model subcomponents according to the structure;
[0088] It is determined in turn whether the computing resources required by each model sub-component are less than the set threshold. If the computing resources required by the model sub-component are not less than the set threshold, the corresponding model sub-component is divided into multiple new model sub-components according to the structure and added to the judgment queue.
[0089] The result fusion module 53 is used to obtain the execution results of each of the distributed sub-nodes, fuse the execution results, obtain the spatial calculation results, and output them.
[0090] Furthermore, the fusion processing includes one or more of Bayesian fusion processing, weighted average fusion processing and machine learning model fusion processing.
[0091] Embodiment 3
[0092] See also Figure 3 Based on the above method, the present invention also provides a terminal, which includes a processor 10, a memory 20 and a display 30. Figure 3 Only some components of the terminal are shown, but it should be understood that it is not required to implement all of the components shown, and more or fewer components may be implemented instead.
[0093] In some embodiments, the memory 20 may be an internal storage unit of the terminal, such as a hard disk or memory of the terminal. In other embodiments, the memory 20 may also be an external storage device of the terminal, such as a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (SecureDigital, SD) card, a flash card (Flash Card), etc. equipped on the terminal. Further, the memory 20 may also include both an internal storage unit of the terminal and an external storage device. The memory 20 is used to store application software and various types of data installed in the terminal, such as the program code of the installation terminal. The memory 20 may also be used to temporarily store data that has been output or is to be output. In one embodiment, a distributed spatial computing program 40 is stored on the memory 20, and the distributed spatial computing program 40 can be executed by the processor 10.
[0094] In some embodiments, the processor 10 may be a central processing unit (CPU), a microprocessor or other data processing chip, used to run the program code or process data stored in the memory 20, such as executing related programs of the distributed spatial computing method.
[0095] In some embodiments, the display 30 may be an LED display, a liquid crystal display, a touch-sensitive liquid crystal display, an OLED (Organic Light-Emitting Diode) touch device, etc. The display 30 is used to display information on the terminal and to display a visual user interface. The components of the terminal communicate with each other via a system bus.
[0096] In one embodiment, when the processor 10 executes the distributed spatial computing program 40 in the memory 20 , the steps of the distributed spatial computing method described above are implemented.
[0097] In some embodiments, the memory 20 may be an internal storage unit of the terminal, such as a hard disk or memory of the terminal. In other embodiments, the memory 20 may also be an external storage device of the terminal, such as a plug-in hard disk, a smart memory card (SmartMediaCard, SMC), a secure digital (SecureDigital, SD) card, a flash card (FlashCard), etc. equipped on the terminal. Furthermore, the memory 20 may also include both an internal storage unit of the terminal and an external storage device. The memory 20 is used to store application software and various types of data installed on the terminal, such as the program code of the installation terminal. The memory 20 may also be used to temporarily store data that has been output or is to be output. In one embodiment, a distributed spatial computing program is stored on the memory 20, and the distributed spatial computing program can be executed by the processor 10, thereby realizing the distributed spatial computing method in the present application.
[0098] In some embodiments, the processor 10 may be a central processing unit (CPU), a microprocessor or other data processing chip, used to run the program code or process data stored in the memory 20, such as executing the distributed spatial computing method.
[0099] Embodiment 4
[0100] This embodiment provides a storage medium, wherein the readable storage medium stores a distributed spatial computing program, and when the distributed spatial computing program is executed by a processor, the steps of the distributed spatial computing method described above are implemented.
[0101] To sum up, the distributed technology of the present invention integrates the capabilities of multiple distributed node devices to form a virtual hardware resource pool, and divides the spatial computing tasks and assigns them to the devices of each distributed node for processing, and performs unified management and scheduling to achieve efficient, accurate and real-time spatial computing and display.
[0102] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or terminal including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or terminal. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the presence of other identical elements in the process, method, article or terminal including the element.
[0103] Of course, those skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be implemented by instructing related hardware (such as a processor, a controller, etc.) through a computer program, and the program can be stored in a computer-readable storage medium, and the program can include the processes of the above-mentioned method embodiments when executed. The storage medium can be a memory, a disk, an optical disk, etc.
[0104] It should be understood that the application of the present invention is not limited to the above examples. For ordinary technicians in this field, improvements or changes can be made based on the above description. All these improvements and changes should fall within the scope of protection of the claims attached to the present invention.
Claims
1. A distributed spatial computing method, characterized in that: The distributed spatial computing method comprises: Acquire the collected spatial computing data, and generate a spatial computing task according to the spatial computing data; Divide the spatial computing task into multiple subtasks, and assign a distributed subnode to each subtask; The execution results of each of the distributed sub-nodes are obtained, and each of the execution results is fused to obtain and output a spatial calculation result.
2. A distributed spatial computing method according to claim 1, characterized in that: The acquiring of the collected spatial computing data and generating a spatial computing task according to the spatial computing data specifically includes: Acquire original spatial calculation data collected by an external device, and preprocess the original spatial calculation data to obtain preprocessed spatial data; The pre-processed spatial data is used as the spatial computing data, and a spatial computing task is generated according to the spatial computing data.
3. A distributed spatial computing method according to claim 2, characterized in that: The preprocessing of the original spatial calculation data to obtain preprocessed spatial data specifically includes: Performing missing value processing and outlier detection and correction on the original spatial calculation data to obtain cleaned data; Converting the cleaned data into a unified format to obtain converted data; The converted data is subjected to denoising processing to obtain denoised data, and the denoised data is used as the pre-processed spatial data.
4. A distributed spatial computing method according to claim 1, characterized in that: The dividing the spatial computing task into a plurality of subtasks specifically includes: Analyze the computing resources, storage resources and network resources required for the spatial computing task; The spatial computing task is divided into multiple computing subtasks according to the computing resources, the spatial computing task is divided into multiple storage subtasks according to the storage resources, and the spatial computing task is divided into multiple network subtasks according to the network resources.
5. A distributed spatial computing method according to claim 4, characterized in that: Allocating a distributed sub-node to each of the sub-tasks specifically includes: Obtain a digital twin model describing the capabilities of each distributed sub-node, and divide each of the distributed sub-nodes into a computing sub-node, a storage sub-node, and a network sub-node according to the digital twin model; A computing subnode is allocated to each computing subtask, a storage subnode is allocated to each storage subtask, and a network subnode is allocated to each network subtask.
6. A distributed spatial computing method according to claim 4, characterized in that: The spatial computing tasks include model computing tasks; The dividing of the spatial computing task into a plurality of computing subtasks according to the computing resources specifically includes: Dividing the model of the model calculation task into a plurality of model subcomponents according to the structure; It is determined in turn whether the computing resources required by each model sub-component are less than the set threshold. If the computing resources required by the model sub-component are not less than the set threshold, the corresponding model sub-component is divided into multiple new model sub-components according to the structure and added to the judgment queue.
7. A distributed spatial computing method according to claim 1, characterized in that: The fusion processing includes one or more of Bayesian fusion processing, weighted average fusion processing and machine learning model fusion processing.
8. A distributed spatial computing system, characterized in that: The distributed spatial computing system comprises: A task generation module, used to obtain the collected spatial computing data and generate a spatial computing task according to the spatial computing data; A subtask allocation module, used for dividing the spatial computing task into multiple subtasks, and allocating a distributed subnode to each of the subtasks; The result fusion module is used to obtain the execution results of each of the distributed sub-nodes, fuse the execution results, obtain the spatial calculation results and output them.
9. A terminal, characterized in that: The terminal includes: a memory, a processor, and a distributed spatial computing program stored in the memory and executable on the processor. When the distributed spatial computing program is executed by the processor, the terminal is controlled to implement the steps of the distributed spatial computing method as described in any one of claims 1 to 7.
10. A readable storage medium, characterized in that: The readable storage medium stores a distributed spatial computing program, and when the distributed spatial computing program is executed by a processor, the steps of the distributed spatial computing method according to any one of claims 1 to 7 are implemented.