Distributed laser point cloud data processing method and system, server and computing node
By designing distributed laser point cloud data processing methods and systems, and using the modular design of servers and computing nodes, the problem of point cloud data processing in the existing technology is solved, and efficient point cloud data processing and management is achieved.
Patent Information
- Application Number
- CN202411971282.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-30
- Publication Date
- 2025-05-06
- Estimated Expiration
- 2044-12-30
AI Technical Summary
The existing technology has not yet proposed a set of distributed processing processes and methods for point cloud data for general computing, and it is difficult to effectively process and manage large-scale point cloud data.
A distributed laser point cloud data processing method and system is designed to realize distributed processing of point cloud data through highly modularization of servers and computing nodes and communication between modules. The server is responsible for the reading, chunking, transmission and result merging of source point cloud data, while the computing node is responsible for the processing of point cloud data.
It improves the universality and efficiency of point cloud data processing, and can effectively process and manage large-scale point cloud data.
Smart Images

Figure CN119938320A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of laser point cloud data processing, and in particular to a distributed laser point cloud data processing method and system, server, and computing node. Background Art
[0002] Laser point cloud technology has been widely used in many fields due to its high-precision and high-efficiency data collection and processing capabilities, such as geographic information, manufacturing and intelligent manufacturing, autonomous driving and intelligent transportation, medical field, cultural heritage protection and architectural design, agricultural and forestry census, and earthwork calculation.
[0003] However, existing technical solutions mainly focus on the processing or management of a certain aspect of point cloud data, and have not yet proposed a complete set of distributed processing processes and methods for point cloud data for general computing. Summary of the invention
[0004] The present disclosure at least provides a distributed laser point cloud data processing method and system, server, and computing node to propose a set of point cloud data distributed processing solutions for general computing.
[0005] According to one aspect of the present disclosure, a distributed laser point cloud data processing method is provided, which is applied to a server, wherein the server includes a source point cloud file reader Reader master , Source point cloud block scheduler master , Source point cloud block sender Sender master , Result point cloud receiver Receiver master , Result point cloud writer Writer master , Post_Processor master ,include:
[0006] The server reads source point cloud data from a source point cloud file, and segments the source point cloud data to obtain a plurality of point cloud data blocks;
[0007] The source point cloud file reader reads each point cloud data block in sequence, and sends the read point cloud data block to the source point cloud block scheduler after each point cloud data block is read;
[0008] The source point cloud block scheduler pushes the received point cloud data block into a queue to be scheduled; and sends each point cloud data block in the queue to be scheduled to the source point cloud block transmitter in turn: according to the resource occupancy and computing speed information of each computing node in the network space, determines the target computing node for the point cloud data block in the queue to be scheduled, and sends the point cloud data block to the queue to be sent corresponding to the target computing node in the source point cloud block transmitter; wherein the source point cloud block transmitter is provided with a plurality of queues of point cloud blocks to be sent;
[0009] The queue of point cloud blocks to be sent receives and stores point cloud data blocks; the source point cloud block transmitter sends the point cloud data blocks in the queue of point cloud blocks to be sent to the corresponding computing nodes, so that the computing nodes process the received point cloud data blocks and feed back the result point cloud blocks;
[0010] The result point cloud receiver receives the result point cloud blocks sent by each computing node, and sends the result point cloud blocks to the result point cloud writer;
[0011] The result point cloud writer receives the result point cloud block and pushes the result point cloud block into a queue of result point cloud blocks to be written back; and, writes back each result point cloud block in the queue of result point cloud blocks to be written back to each independent first result point cloud block file, and sends the path of each first result point cloud block file to a post-processor;
[0012] The post-processor pushes each received path into a result block path queue; and, according to each path in the result block path queue, obtains each result point cloud block, and merges the obtained result point cloud blocks to obtain a target point cloud processing result.
[0013] In a possible implementation manner, the server further includes a first command sender Commander master ;
[0014] The method further comprises:
[0015] The first command transmitter sends a first command to a computing node to control the corresponding computing node to execute a process corresponding to the first command;
[0016] The first command includes at least one of the following:
[0017] Task configuration commands; reset commands; failed point cloud block reprocessing commands.
[0018] In a possible implementation, the server further includes a first command processor Responser master ;
[0019] The method further comprises:
[0020] The first command processor receives a second command sent by the computing node, parses the second command, and performs corresponding processing based on the parsing result;
[0021] The second command includes at least one of the following:
[0022] Including heartbeat commands for computing the current status information of the node; commands for the current processing stage of the point cloud data block; commands for the processing results of the point cloud data block.
[0023] According to another aspect of the present disclosure, a distributed laser point cloud data processing method is provided, which is applied to a computing node, wherein the computing node includes a source point cloud block receiver Receiver slave , Source point cloud block writer Writer slave 、Source point cloud block calculatorComputer slave , Result point cloud file reader Reader slave , Result point cloud block sender Sender slave ,include:
[0024] The source point cloud block receiver receives the point cloud data block, and sends the received point cloud data block to the source point cloud block writer;
[0025] The source point cloud block writer receives the point cloud data block and pushes the point cloud data block into a queue of source point cloud blocks to be written back; and writes each point cloud data block in the queue of source point cloud blocks to be written back into an independent source point cloud block file, and sends the path of each source point cloud block file to a source point cloud block calculator;
[0026] The source point cloud block calculator pushes the received path into a queue of block paths to be processed, and acquires a point cloud data block according to the path stored in the queue of block paths to be processed, creates a corresponding calculation single cloud to process the point cloud data block, stores the generated result point cloud block into an independent second result point cloud block file, and sends the path of the second result point cloud block file to a result point cloud file reader;
[0027] The result point cloud file reader stores the received path into a queue to be read, reads the result point cloud block according to the path in the queue to be read, and sends it to the result point cloud block sender;
[0028] The result point cloud block transmitter receives the result point cloud block and pushes the result point cloud block into a queue to be sent, and reads the result point cloud blocks from the queue to be sent in sequence and feeds them back to the result point cloud receiver of the server.
[0029] In a possible implementation manner, the computing node includes a second command sender Commander slave ;
[0030] The method further comprises:
[0031] The second command transmitter sends a second command to the server to control the server to execute a process corresponding to the second command;
[0032] The second command includes at least one of the following:
[0033] Including heartbeat commands for computing the current status information of the node; commands for the current processing stage of the point cloud data block; commands for the processing results of the point cloud data block.
[0034] In a possible implementation, the current state information of the computing node includes current resource occupancy and computing speed information of the computing node.
[0035] In a possible implementation, the computing node includes a second command processor Responser slave ;
[0036] The method further comprises:
[0037] The second command processor receives the first command sent by the server, parses the first command, and performs corresponding processing based on the parsing result;
[0038] The first command includes at least one of the following:
[0039] Task configuration commands; reset commands; failed point cloud block reprocessing commands.
[0040] According to another aspect of the present disclosure, there is provided a server, comprising:
[0041] Source point cloud file reader, source point cloud block scheduler, source point cloud block sender, result point cloud receiver, result point cloud writer, post-processor.
[0042] According to another aspect of the present disclosure, there is provided a computing node, comprising:
[0043] Source point cloud block receiver, source point cloud block writer, source point cloud block calculator, result point cloud file reader, result point cloud block sender.
[0044] According to another aspect of the present disclosure, a distributed laser point cloud data processing system is provided, comprising:
[0045] A server as described in any of the above items;
[0046] At least one computing node as described in any of the above.
[0047] The present invention discloses a distributed laser point cloud data processing method and system, a server, and a computing node. The network space includes multiple computing nodes and servers. The server is mainly used for reading, dividing, transmitting and merging source point cloud data, and each computing node is mainly used for processing point cloud data to obtain results; wherein the server includes a source point cloud file reader, a source point cloud block scheduler, a source point cloud block transmitter, a result point cloud receiver, a result point cloud writeback device, a post-processor, a first command transmitter, and a first command processor; the computing node includes a source point cloud block receiver, a source point cloud block writeback device, a source point cloud block calculator, a result point cloud file reader, a result point cloud block transmitter, a second command transmitter, and a second command processor. The present invention effectively improves the versatility of the scheme through the high modularization of the server and computing nodes and the communication design between modules. At the same time, the present invention effectively improves the data processing efficiency by setting multiple computing nodes for point cloud data processing.
[0048] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0049] The accompanying drawings are used to better understand the present solution and do not constitute a limitation of the present disclosure.
[0050] Figure 1A is one of the flow charts of the distributed laser point cloud data processing method according to the present disclosure;
[0051] Figure 1B is a schematic diagram of a server according to the present disclosure;
[0052] Figure 2A This is a second flowchart of the distributed laser point cloud data processing method according to the present disclosure;
[0053] Figure 2B is a schematic diagram of a computing node according to the present disclosure;
[0054] Figure 3 The third flowchart of the distributed laser point cloud data processing method according to the present disclosure;
[0055] Figure 4 is a schematic diagram of an electronic device according to the present disclosure. DETAILED DESCRIPTION
[0056] The following is a description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.
[0057] Since there is no distributed processing solution for point cloud data for general computing in the prior art, the present disclosure proposes a distributed laser point cloud data processing method and system, server, and computing node. In the present disclosure, the network space includes multiple computing nodes and servers. The server is mainly used for reading, blocking, transmitting and merging the source point cloud data, and each computing node is mainly used for processing the point cloud data to obtain the result; wherein the server includes a source point cloud file reader, a source point cloud block scheduler, a source point cloud block transmitter, a result point cloud receiver, a result point cloud writeback device, a post-processor, a first command transmitter, and a first command processor; the computing node includes a source point cloud block receiver, a source point cloud block writeback device, a source point cloud block calculator, a result point cloud file reader, a result point cloud block transmitter, a second command transmitter, and a second command processor. The present disclosure effectively improves the versatility of the solution through the high modularization of the server and computing nodes and the communication design between modules. At the same time, the present disclosure effectively improves the data processing efficiency by setting multiple computing nodes for point cloud data processing.
[0058] The technical solution of the present disclosure is described below through specific embodiments.
[0059] like Figure 1A As shown in FIG. 1 , it is a flow chart of the distributed laser point cloud data processing method of this embodiment. Figure 1B The server of this embodiment is shown as a schematic diagram of the structure of the server. The execution subject of this embodiment is a server with data processing capabilities, and the server includes a source point cloud file reader Reader master , Source point cloud block scheduler master , Source point cloud block sender Sender master , Result point cloud receiver Receiver master , Result point cloud writer Writer master , Post_Processor master The server can also be called the master node, and the computing node can be called the slave. The functional modules of the master and slave are highly pipelined.
[0060] Specifically, the method of this embodiment may include the following steps:
[0061] S110, the server reads source point cloud data from a source point cloud file, and segments the source point cloud data to obtain a plurality of point cloud data blocks. The source point cloud file reader reads each point cloud data block in sequence, and sends the read point cloud data block to the source point cloud block scheduler after each point cloud data block is read.
[0062] Reader master It is used to realize the source point cloud file reading function. The data volume of the complete source point cloud file is often large, so the source point cloud file needs to be processed in blocks on the master node, i.e., the server. master Read each point cloud data block in turn. master After a point cloud data block is read, it will be pushed into the Scheduler master The queue to be dispatched.
[0063] S120, the source point cloud block scheduler pushes the received point cloud data blocks into the queue to be scheduled; and, sends each point cloud data block in the queue to be scheduled to the source point cloud block transmitter in turn: according to the resource occupancy and computing speed information of each computing node in the network space, determines the target computing node for the point cloud data block in the queue to be scheduled, and sends the point cloud data block to the queue to be sent corresponding to the target computing node in the source point cloud block transmitter.
[0064] The source point cloud block transmitter is provided with a plurality of queues of point cloud blocks to be sent, and each queue of point cloud blocks to be sent corresponds to a computing node. The network space includes a plurality of computing nodes, and the distributed computing of point cloud data is realized by using the plurality of computing nodes to improve the data processing efficiency.
[0065] Each slave can be multiple independent computers distributed in the network space. After reading a point cloud data block, Scheduler master You need to select one of the slaves to calculate the point cloud data block. master According to one or more of the information such as resource occupancy and calculation speed of each Slave in the current network space, the point cloud data block can be pushed into the Sender master The queue to be sent.
[0066] S130, the queue of point cloud blocks to be sent receives and stores point cloud data blocks; the source point cloud block transmitter sends the point cloud data blocks in the queue of point cloud blocks to be sent to the corresponding computing nodes, so that the computing nodes process the received point cloud data blocks and feed back the result point cloud blocks.
[0067] Sender masterThe queues of point cloud blocks to be sent are maintained with the same number as the number of Slaves, that is, one queue of point cloud blocks to be sent corresponds to one Slave.
[0068] S140. The result point cloud receiver receives the result point cloud blocks sent by each computing node, and sends the result point cloud blocks to the result point cloud writer.
[0069] Receiver master Receive the result point cloud blocks sent back to the Master from each Slave and push them into the Writer master The queue of result point cloud blocks to be written back.
[0070] S150, the result point cloud writer receives the result point cloud block and pushes the result point cloud block into the queue of result point cloud blocks to be written back; and, writes back each result point cloud block in the queue of result point cloud blocks to be written back to each independent first result point cloud block file, and sends the path of each first result point cloud block file to the post-processor.
[0071] Writer master Write back each result point cloud block in the queue of result point cloud blocks to be written back to each independent first result point cloud block file.
[0072] S160, the post-processor pushes each received path into a result block path queue; and, according to each path in the result block path queue, obtains each result point cloud block, and merges the obtained result point cloud blocks to obtain a target point cloud processing result.
[0073] Post_Processor master Writer master The generated result point cloud block files are written back and merged to generate a complete result point cloud file, which stores the above target point cloud processing results.
[0074] In some embodiments, the server further includes a first command sender Commander master ; The above-mentioned distributed laser point cloud data processing method may also include the following steps:
[0075] The first command transmitter sends a first command to the computing node to control the corresponding computing node to perform processing corresponding to the first command; the first command includes at least one of the following: a task configuration command; a reset command; a failed point cloud block reprocessing command.
[0076] Commander master It is the command sending module of the Master, which can send commands to each Slave.
[0077] In some embodiments, the server further includes a first command processor Responser master ; The above-mentioned distributed laser point cloud data processing method may also include the following steps:
[0078] The first command processor receives a second command sent by the computing node, parses the second command, and performs corresponding processing based on the parsing result; the second command includes at least one of the following: a heartbeat command including current status information of the computing node; a command of the current processing stage of the point cloud data block; a command of the processing result of the point cloud data block.
[0079] Responder master It is the command processing module of the Master, which can parse and process the commands sent by each Slave.
[0080] like Figure 2A As shown in FIG. 1 , it is a flow chart of the distributed laser point cloud data processing method of this embodiment. Figure 2B The figure is a schematic diagram of the structure of the computing node of this embodiment. The execution subject of this embodiment is a computing node with data processing capability, including a source point cloud block receiver Receiver slave , Source point cloud block writer Writer slave 、Source point cloud block calculatorComputer slave , Result point cloud file reader Reader slave , Result point cloud block sender Sender slave .
[0081] Specifically, the method of this embodiment may include the following steps:
[0082] S210. The source point cloud block receiver receives the point cloud data block and sends the received point cloud data block to the source point cloud block writer.
[0083] Receiver slave Receive the point cloud data block sent from the Master and push it into the Writer slave The queue of source point cloud blocks to be written back.
[0084] S220, the source point cloud block writer receives the point cloud data block and pushes the point cloud data block into the source point cloud block queue to be written back; and, writes each point cloud data block in the source point cloud block queue to be written back into an independent source point cloud block file, and sends the path of each source point cloud block file to the source point cloud block calculator.
[0085] Writer slaveWrite the point cloud data blocks in the queue of source point cloud blocks to be written back to each independent source point cloud block file, and push the file path into Computer slave The queue of pending block paths.
[0086] S230, the source point cloud block calculator pushes the received path into the queue of block paths to be processed, and obtains the point cloud data block according to the path stored in the queue of block paths to be processed, creates a corresponding calculation single cloud to process the point cloud data block, stores the generated result point cloud block into an independent second result point cloud block file, and sends the path of the second result point cloud block file to the result point cloud file reader.
[0087] Computer slave Take the path of the file where the point cloud data block is located from the queue of blocks to be processed, and create a computing unit Computer_Unit slave Process the point cloud data block. If multiple paths are saved in the queue of the block to be processed, multiple Computer_Units can be created. slave Processing. Computer_Unit slave After completing the processing of a point cloud data block, the corresponding second result point cloud block file will be generated. slave The path of the second result point cloud block file will be pushed into the Reader slave The queue to be read.
[0088] S240: The result point cloud file reader stores the received path into a queue to be read, reads the result point cloud block according to the path in the queue to be read, and sends it to the result point cloud block sender.
[0089] Reader slave Get the path of the file where the result point cloud block is located from the queue to be read, read the result point cloud block and push it into Sender slave The queue to be sent.
[0090] S250, the result point cloud block transmitter receives the result point cloud block, and pushes the result point cloud block into the queue to be sent, and reads the result point cloud blocks from the queue to be sent in sequence, and feeds back the result point cloud blocks to the result point cloud receiver of the server.
[0091] Sender slave Maintains a queue of result point cloud blocks to be sent, Sender slave The result point cloud blocks will be continuously taken from it and sent to the Master's Receiver master .
[0092] In some embodiments, the computing node further includes a second command sender Commander slave ; The above-mentioned distributed laser point cloud data processing method may also include the following steps:
[0093] The second command transmitter sends a second command to the server to control the server to execute a process corresponding to the second command.
[0094] The second order includes at least one of the following:
[0095] The heartbeat command includes the current status information of the computing node; the command of the current processing stage of the point cloud data block; the command of the processing result of the point cloud data block. The current status information of the computing node includes the current resource usage of the computing node and the computing speed information.
[0096] Commander slave It is the command sending module of the Slave, which can send commands to the Master.
[0097] In some embodiments, the computing node further includes a second command sender Commander slave ; The above-mentioned distributed laser point cloud data processing method may also include the following steps:
[0098] The second command processor receives the first command sent by the server, parses the first command, and performs corresponding processing based on the parsing result;
[0099] The first command includes at least one of the following:
[0100] Task configuration commands; reset commands; failed point cloud block reprocessing commands.
[0101] Responder slave It is the command processing module of the computing node, which can parse and process the commands sent by the Master.
[0102] In some embodiments, a distributed laser point cloud data processing method is provided, such as Figure 3 As shown, the following steps are included:
[0103] Step 1: Reader master Continuously read each point cloud data block and push it into the Scheduler master The queue to be scheduled in.
[0104] Step 2: Scheduler master Continuously take point cloud data blocks from the queue to be scheduled, select a computing node based on the resource usage and computing speed of each computing node in the current network space, and push the point cloud data block into the Sendermaster The resource usage and computing speed of each Slave in the current network space are transmitted by Commander through the heartbeat command. slave Sent periodically and through the Responder master Obtained by analysis.
[0105] Step 3: Sender master Maintains the same number of queues of point cloud blocks to be sent as the number of Slave nodes, and each Slave corresponds to a queue of point cloud blocks to be sent. master Continuously test whether the queue of each point cloud block to be sent is not empty. If it is not empty, take out the point cloud data block and send it to the corresponding Slave Receiver slave .
[0106] Step 4: Receiver slave Receive the point cloud data block sent from the Master and push it into the Writer slave .
[0107] Step 5. Writer slave Write the point cloud data blocks in the queue of source point cloud blocks to be written back to each independent source point cloud block file, and push the path of the source point cloud block file into Computer slave .
[0108] Step 6. Computer slave Take the path from the queue of pending block paths and create Computer_Unit slave Process the point cloud data block and push the path of the generated point cloud block file into the Reader slave .
[0109] Step 7: Reader slave Take the result path from the queue to be read, read the result point cloud block according to the path, and push it into the Sender slave The queue to be sent.
[0110] Step 8. Sender slave Maintains a queue of result point cloud blocks to be sent, that is, the waiting to be read queue. This module will continuously take result point cloud blocks from it and send them to the Receiver of the master node master .
[0111] Step 9: Receiver master Receive the result point cloud blocks sent back to the master node from each slave, and push the received result point cloud blocks into the Writer master .
[0112] Step 10: Writermaster writes back the result point cloud blocks in the queue of result point cloud blocks to be written back to each independent result point cloud block file.
[0113] Step 11. Post_Processor master Writer master Write back the generated result point cloud blocks or files including the result point cloud blocks to merge and generate a complete result point cloud file, which includes the target point cloud processing results.
[0114] This embodiment provides a complete set of distributed point cloud data processing procedures and methods for general computing. The entire process is highly pipelined and has strong task configuration capabilities. The test results of task time consumption in this solution and stand-alone environments are shown in the following table:
[0115]
[0116]
[0117] It can be seen that the disclosed solution is applicable to a variety of tasks, and the speed is effectively improved.
[0118] Based on the same inventive concept, the present disclosure provides a server, and the steps performed by the components in the server are the same or similar to those in the above method, so similar parts are not repeated. The server of this embodiment includes:
[0119] Source point cloud file reader master , Source point cloud block scheduler master , Source point cloud block sender Sender master , Result point cloud receiver Receiver master , Result point cloud writer Writer master , Post_Processor master .
[0120] In some embodiments, the server further includes a first command sender Commander master 、First command processor Responser master .
[0121] Based on the same inventive concept, the present disclosure provides a computing node, in which the steps performed by the components are the same or similar to those of the above method, so similar parts are not repeated. The computing node of this embodiment includes:
[0122] Source point cloud block receiver Receiver slave, Source point cloud block writer Writer slave 、Source point cloud block calculatorComputer slave , Result point cloud file reader Reader slave , Result point cloud block sender Sender slave .
[0123] In some embodiments, the computing node further includes a second command processing Responder slave , Second Commander slave .
[0124] Based on the same inventive concept, the present disclosure provides a distributed laser point cloud data processing system, including: a server as described in any of the above embodiments; and at least one computing node as described in any of the above embodiments.
[0125] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device and a computer-readable storage medium.
[0126] Figure 4 A schematic block diagram of an example electronic device 400 that can be used to implement an embodiment of the present disclosure is shown, and the electronic device is used to perform any one of the above methods. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workbenches, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.
[0127] like Figure 4 As shown, the device 400 includes a computing unit 410, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 420 or a computer program loaded from a storage unit 480 into a random access memory (RAM) 430. In the RAM 430, various programs and data required for the operation of the device 400 can also be stored. The computing unit 410, the ROM 420, and the RAM 430 are connected to each other via a bus 440. An input / output (I / O) interface 450 is also connected to the bus 440.
[0128] A number of components in the device 400 are connected to the I / O interface 450, including: an input unit 460, such as a keyboard, a mouse, etc.; an output unit 470, such as various types of displays, speakers, etc.; a storage unit 480, such as a disk, an optical disk, etc.; and a communication unit 490, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 490 allows the device 400 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0129] The computing unit 410 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 410 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 410 performs the various methods and processes described above. For example, in some embodiments, any of the above methods may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 480. In some embodiments, part or all of the computer program may be loaded and / or installed on the device 400 via ROM 420 and / or a communication unit 490. When the computer program is loaded into RAM 430 and executed by the computing unit 410, one or more steps of any of the methods described above may be performed. Alternatively, in other embodiments, the computing unit 410 may be configured to perform any of the methods described above in any other appropriate manner (e.g., by means of firmware).
[0130] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0131] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0132] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer 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 of the foregoing.
[0133] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0134] The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.
[0135] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship of client and server is generated by computer programs running on respective computers and having a client-server relationship with each other. The server may be a cloud server, a server of a distributed system, or a server combined with a blockchain.
[0136] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.
[0137] The above specific implementations do not constitute a limitation on the protection scope of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present disclosure shall be included in the protection scope of the present disclosure.
Claims
1. A distributed laser point cloud data processing method, applied to a server, the server comprising a source point cloud file reader, a source point cloud block scheduler, a source point cloud block transmitter, a result point cloud receiver, a result point cloud write-back device, and a post-processor, characterized in that: include: The server reads source point cloud data from a source point cloud file, and segments the source point cloud data to obtain a plurality of point cloud data blocks; The source point cloud file reader reads each point cloud data block in sequence, and sends the read point cloud data block to the source point cloud block scheduler after each point cloud data block is read; The source point cloud block scheduler pushes the received point cloud data block into a queue to be scheduled; and sends each point cloud data block in the queue to be scheduled to the source point cloud block transmitter in turn: according to the resource occupancy and computing speed information of each computing node in the network space, determines the target computing node for the point cloud data block in the queue to be scheduled, and sends the point cloud data block to the queue to be sent corresponding to the target computing node in the source point cloud block transmitter; wherein, the source point cloud block transmitter is provided with a plurality of queues of point cloud blocks to be sent, and the network space includes a plurality of computing nodes; The queue of point cloud blocks to be sent receives and stores point cloud data blocks; the source point cloud block transmitter sends the point cloud data blocks in the queue of point cloud blocks to be sent to the corresponding computing nodes, so that the computing nodes process the received point cloud data blocks and feed back the result point cloud blocks; The result point cloud receiver receives the result point cloud blocks sent by each computing node, and sends the result point cloud blocks to the result point cloud writer; The result point cloud writer receives the result point cloud block and pushes the result point cloud block into a queue of result point cloud blocks to be written back; and, writes back each result point cloud block in the queue of result point cloud blocks to be written back to each independent first result point cloud block file, and sends the path of each first result point cloud block file to a post-processor; The post-processor pushes each received path into a result block path queue; and, according to each path in the result block path queue, obtains each result point cloud block, and merges the obtained result point cloud blocks to obtain a target point cloud processing result.
2. The distributed laser point cloud data processing method according to claim 1, characterized in that: The server also includes a first command transmitter; The method further comprises: The first command transmitter sends a first command to a computing node to control the corresponding computing node to execute a process corresponding to the first command; The first command includes at least one of the following: Task configuration commands; reset commands; failed point cloud block reprocessing commands.
3. The distributed laser point cloud data processing method according to claim 1, characterized in that: The server also includes a first command processor; The method further comprises: The first command processor receives a second command sent by the computing node, parses the second command, and performs corresponding processing based on the parsing result; The second command includes at least one of the following: Including heartbeat commands for computing the current status information of the node; commands for the current processing stage of the point cloud data block; commands for the processing results of the point cloud data block.
4. A distributed laser point cloud data processing method, applied to a computing node, wherein the computing node includes a source point cloud block receiver, a source point cloud block writer, a source point cloud block calculator, a result point cloud file reader, and a result point cloud block transmitter, characterized in that: include: The source point cloud block receiver receives the point cloud data block and sends the received point cloud data block to the source point cloud block writer; The source point cloud block writer receives the point cloud data block and pushes the point cloud data block into a queue of source point cloud blocks to be written back; and writes each point cloud data block in the queue of source point cloud blocks to be written back into an independent source point cloud block file, and sends the path of each source point cloud block file to a source point cloud block calculator; The source point cloud block calculator pushes the received path into a queue of block paths to be processed, and acquires a point cloud data block according to the path stored in the queue of block paths to be processed, creates a corresponding calculation single cloud to process the point cloud data block, stores the generated result point cloud block into an independent second result point cloud block file, and sends the path of the second result point cloud block file to a result point cloud file reader; The result point cloud file reader stores the received path into a queue to be read, reads the result point cloud block according to the path in the queue to be read, and sends it to the result point cloud block sender; The result point cloud block transmitter receives the result point cloud block and pushes the result point cloud block into a queue to be sent, and reads the result point cloud blocks from the queue to be sent in sequence and feeds them back to the result point cloud receiver of the server.
5. The distributed laser point cloud data processing method according to claim 4, characterized in that: The computing node includes a second command transmitter; The method further comprises: The second command transmitter sends a second command to the server to control the server to execute a process corresponding to the second command; The second command includes at least one of the following: Including heartbeat commands for computing the current status information of the node; commands for the current processing stage of the point cloud data block; commands for the processing results of the point cloud data block.
6. The distributed laser point cloud data processing method according to claim 5, characterized in that: The current status information of the computing node includes the current resource occupancy and computing speed information of the computing node.
7. The distributed laser point cloud data processing method according to claim 4, characterized in that: The computing node includes a second command processor; The method further comprises: The second command processor receives the first command sent by the server, parses the first command, and performs corresponding processing based on the parsing result; The first command includes at least one of the following: Task configuration commands; reset commands; failed point cloud block reprocessing commands.
8. A server, characterized in that: include: A source point cloud file reader in the distributed laser point cloud data processing method according to any one of claims 1 to 3, a source point cloud block scheduler in the distributed laser point cloud data processing method according to any one of claims 1 to 3, a source point cloud block transmitter in the distributed laser point cloud data processing method according to any one of claims 1 to 3, a result point cloud receiver in the distributed laser point cloud data processing method according to any one of claims 1 to 3, a result point cloud writer in the distributed laser point cloud data processing method according to any one of claims 1 to 3, and a post-processor in the distributed laser point cloud data processing method according to any one of claims 1 to 3.
9. A computing node, characterized in that: include: A source point cloud block receiver in the distributed laser point cloud data processing method according to any one of claims 4 to 7, a source point cloud block writer in the distributed laser point cloud data processing method according to any one of claims 4 to 7, a source point cloud block calculator in the distributed laser point cloud data processing method according to any one of claims 4 to 7, a result point cloud file reader in the distributed laser point cloud data processing method according to any one of claims 4 to 7, and a result point cloud block transmitter in the distributed laser point cloud data processing method according to any one of claims 4 to 7.
10. A distributed laser point cloud data processing system, characterized in that: include: The server in the distributed laser point cloud data processing method according to any one of claims 1 to 3; At least one computing node in the distributed laser point cloud data processing method according to any one of claims 4 to 7.
Citation Information
Patent Citations
User job scheduling method and device
CN103309738A
Distributed scheduling system and method for big data processing
CN106095572A
Massive point cloud filtering method based on cloud calculating
CN106600570A
Cloud platform task allocation method based on queues
CN107301085A
Point cloud data parallel processing method and device based on cluster environment, equipment and storage medium
CN112363837A