Distributed laser point cloud data processing methods and systems, servers, and computing nodes

By employing a distributed laser point cloud data processing method and utilizing the modular design of servers and computing nodes, the problem of low efficiency in point cloud data processing was solved, and an efficient point cloud data processing workflow was achieved.

CN119938320BActive Publication Date: 2026-01-06BEIJING GREEN VALLEY TECH CO LTD +2
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411971282.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-30
Publication Date
2026-01-06
Estimated Expiration
2044-12-30

AI Technical Summary

Technical Problem

Existing technologies lack distributed processing solutions for point cloud data for general-purpose computing, resulting in low efficiency in point cloud data processing.

Method used

A distributed laser point cloud data processing method is adopted. Through the highly modular design of servers and computing nodes, the point cloud data can be read, divided, transmitted and merged, and processed in parallel using multiple computing nodes.

Benefits of technology

It improves the versatility and efficiency of point cloud data processing, and realizes an efficient point cloud data processing workflow.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119938320B_ABST
    Figure CN119938320B_ABST
Patent Text Reader

Abstract

The present disclosure provides a distributed laser point cloud data processing method and system, a server and a computing node. The network space of the present disclosure comprises a plurality of computing nodes and servers. The server is used for source point cloud data reading, blocking, transmission and result merging. The computing node is used for point cloud data processing. The server comprises 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 writer, a postprocessor, a command transmitter and a command processor. The computing node comprises a source point cloud block receiver, a source point cloud block writer, a source point cloud block calculator, a result point cloud file reader, a result point cloud block transmitter, a command transmitter and a command processor. The present disclosure effectively improves the universality of the scheme through the high modularity of the server and the computing node and the communication design between the modules. Meanwhile, the present disclosure effectively improves the data processing efficiency by setting multiple computing nodes for point cloud data processing.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This 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 Technology

[0002] Laser point cloud technology has been widely used in many fields due to its high-precision and high-efficiency data acquisition 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 surveys, and earthwork calculation.

[0003] However, existing technical solutions mainly focus on processing or managing a specific aspect of point cloud data, and have not yet proposed a complete distributed processing flow and method for point cloud data oriented towards general computing. Summary of the Invention

[0004] This disclosure provides at least one distributed laser point cloud data processing method and system, server, and computing node, to propose a distributed point cloud data processing scheme for general computing.

[0005] According to one aspect of this disclosure, a distributed laser point cloud data processing method is provided, applied to a server, the server including a source point cloud file reader. master Source Cloud Block Scheduler master Source Cloud Block Sender master Result point cloud receiver master Result Point Cloud Writer master Post_Processor master ,include:

[0006] The server reads source point cloud data from the source point cloud file, segments the source point cloud data, and obtains multiple point cloud data blocks.

[0007] The source point cloud file reader reads each point cloud data block sequentially, and sends the read point cloud data block to the source point cloud block scheduler after reading each point cloud data block.

[0008] The source point cloud block scheduler pushes the received point cloud data blocks into a scheduling queue; and sequentially sends each point cloud data block in the scheduling queue to the source point cloud block sender: based on the resource occupancy and computing speed information of each computing node in the network space, it determines the target computing node for the point cloud data blocks in the scheduling queue, and sends the point cloud data blocks to the sending point cloud block queue in the source point cloud block sender corresponding to the target computing node; wherein, the source point cloud block sender is configured with multiple sending point cloud block queues;

[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 node, so that the computing node processes the received point cloud data blocks and returns 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 writeback device.

[0011] The result point cloud writeback unit 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 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.

[0012] The post-processor pushes the received paths into the result block path queue; and obtains each result point cloud block according to each path in the result block path queue, and merges the obtained result point cloud blocks to obtain the target point cloud processing result.

[0013] In one possible implementation, the server further includes a first command sender. master ;

[0014] The method further includes:

[0015] The first command sender sends a first command to the computing node to control the corresponding computing node to execute the processing corresponding to the first command;

[0016] The first command includes at least one of the following:

[0017] Task configuration command; reset command; failed point cloud block reprocessing command.

[0018] In one possible implementation, the server further includes a first command processor, Responser. master ;

[0019] The method further includes:

[0020] The first command processor receives the 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] This includes heartbeat commands for the current status of computing nodes; commands for the current processing stage of point cloud data blocks; and commands for the processing results of point cloud data blocks.

[0023] According to another aspect of this disclosure, a distributed laser point cloud data processing method is provided, applied to a computing node, the computing node including a source point cloud block receiver. slave Source Point Cloud Block Writer slave Source Cloud Block Calculator Computer slave Result point cloud file reader slave Resulting 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 writeback unit receives point cloud data blocks, pushes the point cloud data blocks 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 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.

[0026] The source point cloud block calculator pushes the received path into the block path queue to be processed, and obtains the point cloud data block according to the path stored in the block path queue to be processed, and creates a corresponding computing single cloud to process the point cloud data block, stores the generated result point cloud block in 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.

[0027] The result point cloud file reader stores the received path into a queue to be read, and 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 result point cloud blocks, pushes the result point cloud blocks into the queue to be sent, and reads result point cloud blocks sequentially from the queue to be sent and feeds them back to the result point cloud receiver of the server.

[0029] In one possible implementation, the computing node includes a second command transmitter. slave ;

[0030] The method further includes:

[0031] The second command sender sends a second command to the server to control the server to execute the processing corresponding to the second command;

[0032] The second command includes at least one of the following:

[0033] This includes heartbeat commands for the current status of computing nodes; commands for the current processing stage of point cloud data blocks; and commands for the processing results of point cloud data blocks.

[0034] In one possible implementation, the current status information of the computing node includes the current resource usage and computing speed information of the computing node.

[0035] In one possible implementation, the computing node includes a second command processor, Responser. slave ;

[0036] The method further includes:

[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 command; reset command; failed point cloud block reprocessing command.

[0040] According to another aspect of this disclosure, a server is provided, comprising:

[0041] Source point cloud file reader, source point cloud block scheduler, source point cloud block sender, result point cloud receiver, result point cloud writeback unit, post-processor.

[0042] According to another aspect of this disclosure, a computing node is provided, 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 this disclosure, a distributed laser point cloud data processing system is provided, comprising:

[0045] The server described in any of the above items;

[0046] At least one computing node as described in any of the above.

[0047] This disclosure presents a distributed laser point cloud data processing method and system, including a server and computing nodes. The network space includes multiple computing nodes and the server. The server is primarily used for reading, segmenting, transmitting, and merging source point cloud data. Each computing node is primarily used for processing the point cloud data to obtain results. The server includes a source point cloud file reader, a source point cloud block scheduler, a source point cloud block sender, a result point cloud receiver, a result point cloud write-back device, a post-processor, a first command sender, and a first command processor. Each computing node includes a source point cloud block receiver, a source point cloud block write-back device, a source point cloud block calculator, a result point cloud file reader, a result point cloud block sender, a second command sender, and a second command processor. This disclosure effectively improves the versatility of the solution through the high modularity of the server and computing nodes and the communication design between modules. Furthermore, by setting up multiple computing nodes for point cloud data processing, this disclosure effectively improves data processing efficiency.

[0048] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0049] The accompanying drawings are provided to better understand this solution and do not constitute a limitation of this disclosure. Wherein:

[0050] Figure 1A This is one of the flowcharts for the distributed laser point cloud data processing method according to this disclosure;

[0051] Figure 1B A schematic diagram of a server according to this disclosure;

[0052] Figure 2A This is the second flowchart of the distributed laser point cloud data processing method according to this disclosure;

[0053] Figure 2B A schematic diagram of a computing node according to this disclosure;

[0054] Figure 3 This is flowchart three of the distributed laser point cloud data processing method according to this disclosure;

[0055] Figure 4 This is a schematic diagram of an electronic device according to the present disclosure. Detailed Implementation

[0056] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.

[0057] This disclosure addresses the lack of a distributed point cloud data processing solution for general-purpose computing in the existing technology, proposing a distributed laser point cloud data processing method and system, server, and computing nodes. The network space in this disclosure includes multiple computing nodes and a server. The server is mainly used for reading, segmenting, transmitting, and merging source point cloud data. Each computing node is mainly used for processing point cloud data to obtain results. The server includes a source point cloud file reader, a source point cloud block scheduler, a source point cloud block sender, a result point cloud receiver, a result point cloud write-back device, a post-processor, a first command sender, and a first command processor. The computing nodes include a source point cloud block receiver, a source point cloud block write-back device, a source point cloud block calculator, a result point cloud file reader, a result point cloud block sender, a second command sender, and a second command processor. This disclosure effectively improves the versatility of the solution through the high modularity of the server and computing nodes and the communication design between modules. Furthermore, by setting up multiple computing nodes for point cloud data processing, this disclosure effectively improves data processing efficiency.

[0058] The technical solution of this disclosure will be described below through specific embodiments.

[0059] like Figure 1A The diagram shown is a flowchart of the distributed laser point cloud data processing method in this embodiment. Figure 1B The diagram shown is a structural schematic of the server in this embodiment. The execution entity in this embodiment is a server with data processing capabilities, including a source point cloud file reader. master Source Cloud Block Scheduler master Source Cloud Block Sender master Result point cloud receiver master Result Point Cloud Writer master Post_Processor master The server can also be called the master node, and the compute nodes can be called slaves. The functional modules of the master and slave are highly pipelined.

[0060] Specifically, the method in this embodiment may include the following steps:

[0061] S110. The server reads source point cloud data from the source point cloud file, segments the source point cloud data, and obtains multiple point cloud data blocks. The source point cloud file reader reads each point cloud data block sequentially, and sends the read point cloud data block to the source point cloud block scheduler after reading each point cloud data block.

[0062] Reader master This is used to implement the source point cloud file reading function. The complete source point cloud file often has a large data volume, requiring it to be divided into blocks on the master node (server). Then, the Reader... master Read each point cloud data block sequentially. master After reading a point cloud data block, it will be pushed into the Scheduler. master The queue to be scheduled.

[0063] S120, the source point cloud block scheduler pushes the received point cloud data blocks into the scheduling queue; and sequentially sends each point cloud data block in the scheduling queue to the source point cloud block sender: based on the resource occupancy and computing speed information of each computing node in the network space, a target computing node is determined for the point cloud data blocks in the scheduling queue, and the point cloud data blocks are sent to the point cloud block queue corresponding to the target computing node in the source point cloud block sender.

[0064] The source point cloud block transmitter is configured with multiple queues of point cloud blocks to be sent, each queue corresponding to a computing node. The network space includes multiple computing nodes, which are used to achieve distributed computing of point cloud data, thereby improving data processing efficiency.

[0065] Each slave can be multiple independent computers distributed across cyberspace. After reading in a point cloud data block, the scheduler... master One of the slaves needs to be selected to perform calculations on this point cloud data block. Scheduler master The point cloud data block can be pushed into the Sender based on one or more of the following information: the resource usage and computing speed of each Slave in the current network space. master The queue to be sent in the system.

[0066] S130, the point cloud block queue to be sent receives and stores point cloud data blocks; the source point cloud block transmitter sends the point cloud data blocks in the point cloud block queue to the corresponding computing node, so that the computing node processes the received point cloud data blocks and returns the result point cloud blocks.

[0067] Sender masterA queue of point cloud blocks to be sent was maintained with the same number of slaves, meaning that 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 writeback unit.

[0069] Receiver master Receive the point cloud blocks sent back to the Master from each Slave and push them into the Writer. master The queue of point cloud blocks awaiting write-back results.

[0070] S150, the result point cloud writeback unit 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 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 its own independent first result point cloud block file.

[0072] S160. The post-processor pushes the received paths into the result block path queue; and obtains each result point cloud block according to each path in the result block path queue, and merges the obtained result point cloud blocks to obtain the target point cloud processing result.

[0073] Post_Processor master Writer master The generated point cloud block files are merged to generate a complete 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 further include the following steps:

[0075] The first command sender sends a first command to the computing node to control the corresponding computing node to execute the processing corresponding to the first command; the first command includes at least one of the following: a task configuration command; a reset command; and 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 further 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 the current status information of the computing node; a command for the current processing stage of the point cloud data block; and a command for the processing result of the point cloud data block.

[0079] Responser 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 The diagram shown is a flowchart of the distributed laser point cloud data processing method in this embodiment. Figure 2B The diagram shown is a structural schematic of the computing node in this embodiment. The execution entity in this embodiment is a computing node with data processing capabilities, including a source point cloud block receiver. slave Source Point Cloud Block Writer slave Source Cloud Block Calculator Computer slave Result point cloud file reader slave Resulting point cloud block sender Sender slave .

[0081] Specifically, the method in 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 writeback unit.

[0083] Receiver slave Receive point cloud data blocks sent from the Master and push them into the Writer. slave The queue of source point cloud blocks awaiting writeback.

[0084] S220, the source point cloud block writeback unit receives point cloud data blocks, pushes the point cloud data blocks 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 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 their respective independent source point cloud block files, and push the file paths into the Computer. slave The queue of pending block paths.

[0086] S230, the source point cloud block calculator pushes the received path into the block path queue to be processed, and obtains the point cloud data block according to the path stored in the block path queue to be processed, and creates a corresponding computing single cloud to process the point cloud data block, stores the generated result point cloud block in 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 Retrieve the path of the file containing the point cloud data block from the queue of pending block paths, and create a Computer_Unit. slave Process the point cloud data block. If the path queue for the block to be processed contains multiple paths, multiple Computer_Units can be created. slave Processing is required. Computer_Unit slave After processing a point cloud data block, a corresponding second result point cloud block file will be generated. (Computer) slave The path to 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 the queue to be read, and 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 Retrieve the path to the file containing the result point cloud block 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, pushes the result point cloud block into the queue to be sent, and reads the result point cloud block sequentially from the queue to be sent and feeds it back to the result point cloud receiver of the server.

[0091] Sender slave A queue of result point cloud blocks to be sent is maintained, Sender slave It will continuously retrieve the resulting point cloud blocks and send them to the Master's Receiver. master .

[0092] In some embodiments, the compute node further includes a second command sender (Commander). slave The above-mentioned distributed laser point cloud data processing method may further include the following steps:

[0093] The second command sender sends a second command to the server to control the server to execute the corresponding processing.

[0094] The second command includes at least one of the following:

[0095] This includes heartbeat commands indicating the current status of the compute node; commands indicating the current processing stage of the point cloud data block; and commands indicating the processing results of the point cloud data block. The current status information of the compute node includes its current resource usage and computing speed.

[0096] Commander slave It is the command sending module of the Slave, which can send commands to the Master.

[0097] In some embodiments, the compute node further includes a second command sender (Commander). slave The above-mentioned distributed laser point cloud data processing method may further 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 command; reset command; failed point cloud block reprocessing command.

[0101] Responser slave It is the command processing module of the compute 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, it includes the following steps:

[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 the system.

[0104] Step 2, Scheduler master Continuously retrieve point cloud data blocks from the scheduling queue, select a computing node based on information such as the resource usage and computing speed of each computing node in the current network space, and push the point cloud data block into Sender.master This corresponds to the queue of point cloud blocks to be sent for that Slave. Information such as the resource usage and computing speed of each Slave in the current network space is communicated by the Commander via heartbeat commands. slave Send periodically, and through Responser master Obtained through parsing.

[0105] Step 3, Send master A queue of point cloud blocks to be sent, with the number of blocks equal to the number of slave nodes, is maintained, with one queue for each slave node. master The system continuously checks whether each queue of point cloud blocks to be sent is not empty. If it is not empty, it retrieves point cloud data blocks and sends them to the corresponding Slave's Receiver. slave .

[0106] Step 4, Receiver slave Receive point cloud data blocks sent from the Master and push them into the Writer. slave .

[0107] Step 5, Writer slave Write the point cloud data blocks in the pending write-back source point cloud block queue to their respective independent source point cloud block files, and push the paths of the source point cloud block files into the Computer. slave .

[0108] Step Six, Computer slave Retrieve paths from the pending block path queue and create a Computer_Unit. slave Process the point cloud data block and push the path of the resulting point cloud block file into the Reader. slave .

[0109] Step 7, Reader slave Retrieve the result path from the queue to be read, read the result point cloud block according to the path, and push it into Sender. slave The queue to be sent in the system.

[0110] Step 8, Send slave A queue of result point cloud blocks to be sent, i.e., a queue to be read, is maintained. This module continuously retrieves result point cloud blocks from this queue and sends them to the Receiver of the master node. master .

[0111] Step Nine, 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 the result point cloud blocks in the queue to be written back to the individual result point cloud block files.

[0113] Step 11, Post_Processor master Writer master The generated point cloud blocks or files containing the point cloud blocks are written back and merged to generate a complete point cloud file, which includes the target point cloud processing results.

[0114] This embodiment provides a complete distributed processing flow and method for point cloud data, oriented towards general-purpose computing. The entire flow is highly pipelined and has strong task configuration capabilities. The test results of task execution time in this solution and single-machine environments are shown in the table below:

[0115]

[0116]

[0117] It is evident that this disclosed solution is applicable to a variety of tasks and effectively improves speed.

[0118] Based on the same inventive concept, this disclosure provides a server in which the steps performed by the components are the same as or similar to the methods described above. Therefore, similar aspects will not be repeated. The server in this embodiment includes:

[0119] Source point cloud file reader master Source Cloud Block Scheduler master Source Cloud Block Sender master Result point cloud receiver master Result Point Cloud 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, this disclosure provides a computing node in which the steps performed by the components are the same as or similar to the methods described above. Therefore, similar aspects will not be repeated. The computing node in this embodiment includes:

[0122] Source Cloud Block Receiver slaveSource Point Cloud Block Writer slave Source Cloud Block Calculator Computer slave Result point cloud file reader slave Resulting point cloud block sender Sender slave .

[0123] In some embodiments, the compute node further includes a second command processing Responser. slave Second command transmitter (Commander) slave .

[0124] Based on the same inventive concept, this 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 embodiments of this disclosure, this 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 embodiments of the present disclosure, the electronic device being used to perform any of the methods described above. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0127] like Figure 4 As shown, device 400 includes a computing unit 410, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 420 or a computer program loaded from storage unit 480 into random access memory (RAM) 430. RAM 430 may also store various programs and data required for the operation of device 400. The computing unit 410, ROM 420, and RAM 430 are interconnected via bus 440. Input / output (I / O) interface 450 is also connected to bus 440.

[0128] Multiple components in device 400 are connected to I / O interface 450, including: input unit 460, such as keyboard, mouse, etc.; output unit 470, such as various types of monitors, speakers, etc.; storage unit 480, such as disk, optical disk, etc.; and communication unit 490, such as network card, modem, wireless transceiver, etc. Communication unit 490 allows device 400 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0129] The computing unit 410 can be a variety of general-purpose and / or special-purpose 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 special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 410 performs the various methods and processes described above. For example, in some embodiments, any of the methods described above can be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 480. In some embodiments, part or all of the computer program can be loaded and / or installed on device 400 via ROM 420 and / or 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 can be performed. Alternatively, in other embodiments, the computing unit 410 can be configured to perform any of the methods described above by any other suitable means (e.g., by means of firmware).

[0130] Various embodiments 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-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0131] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0132] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, 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 for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, 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 sound input, voice input, or tactile input).

[0134] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.

[0135] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.

[0136] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.

[0137] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this 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 writer, and a post-processor, characterized in that, The server reads source point cloud data from a source point cloud file, 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 turn, and sends the read point cloud data block to the source point cloud block scheduler after reading each point cloud data block; The source point cloud block scheduler pushes the received point cloud data block into a pending queue; and sends each point cloud data block in the pending queue to the source point cloud block sender in turn: determines a target computing node for the point cloud data block in the pending queue according to the resource occupation and computing speed information of each computing node in the network space, and sends the point cloud data block to the pending point cloud block queue corresponding to the target computing node in the source point cloud block sender; wherein the source point cloud block sender is provided with a plurality of pending point cloud block queues, and the network space includes a plurality of computing nodes; The pending point cloud block queue receives and stores the point cloud data block; the source point cloud block sender sends the point cloud data block in the pending point cloud block queue to the corresponding computing node, so that the computing node processes the received point cloud data block and feeds back a result point cloud block; The result point cloud receiver receives the result point cloud block sent by each computing node, and sends the result point cloud block to the result point cloud writer; The result point cloud writer receives the result point cloud block, pushes the result point cloud block into a pending result point cloud block queue, and writes each result point cloud block in the pending result point cloud block queue into an independent first result point cloud block file, and sends the path of each first result point cloud block file to the postprocessor; The postprocessor pushes each received path into a result block path queue, and acquires each result point cloud block according to each path in the result block path queue, and merges the acquired result point cloud blocks to obtain a target point cloud processing result; The server further comprises a first command processor; The method further comprises: The first command processor receives a second command sent by the computing node, analyzes the second command, and performs corresponding processing based on the analysis result; The second command comprises at least one of: A heartbeat command including current state information of the computing node; a command of a current processing stage of the point cloud data block; and a command of a point cloud data block processing result. The server further comprises a first command sender; 2. The distributed laser point cloud data processing method of claim 1, wherein, The method further comprises: The first command sender sends a first command to the computing node to control the corresponding computing node to perform the processing corresponding to the first command; The first command comprises at least one of: A task configuration command; a reset command; and a failed point cloud block reprocessing command. 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; 3. A distributed laser point cloud data processing method applied to a computing node, the computing node comprising a source point cloud block receiver, a source point cloud block writer, a source point cloud block calculator, a result point cloud file reader, a result point cloud block transmitter, characterized in that, The source point cloud block writer receives the point cloud data block, pushes the point cloud data block into a pending source point cloud block queue, and writes each point cloud data block in the pending source point cloud block queue 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; ​ ​ The source point cloud block calculator stores the received path into a to-be-processed block path queue, obtains a point cloud data block according to a path stored in the to-be-processed block path queue, and creates a corresponding calculation unit to process the point cloud data block, stores a generated result point cloud block into a separate second result point cloud block file, and sends a path of the second result point cloud block file to the result point cloud file reader; The result point cloud file reader stores the received path into a to-be-read queue, and reads a result point cloud block according to a path in the to-be-read queue and sends the result point cloud block to the result point cloud block sender; The result point cloud block sender receives the result point cloud block, stores the result point cloud block into a to-be-sent queue, and reads the result point cloud block from the to-be-sent queue in sequence and feeds back to the result point cloud receiver of the server; The calculation node comprises a second command sender; The method further comprises: The second command sender sends a second command to the server to control the server to perform processing corresponding to the second command; The second command comprises at least one of: a heartbeat command comprising current state information of the calculation node, a command of a current processing stage of the point cloud data block, and a command of a processing result of the point cloud data block.

4. The distributed laser point cloud data processing method of claim 3, wherein, The current state information of the calculation node comprises current resource occupation and calculation speed information of the calculation node.

5. The distributed laser point cloud data processing method of claim 3, wherein, The calculation node comprises a second command processor; The method further comprises: The second command processor receives a first command sent by the server, analyzes the first command, and performs corresponding processing based on an analysis result; The first command comprises at least one of: a task configuration command, a reset command, and a failed point cloud block reprocessing command.

6. A server, characterized by Comprise: The source point cloud file reader in the distributed laser point cloud data processing method according to any one of claims 1 to 2, the source point cloud block scheduler in the distributed laser point cloud data processing method according to any one of claims 1 to 2, the source point cloud block sender in the distributed laser point cloud data processing method according to any one of claims 1 to 2, the result point cloud receiver in the distributed laser point cloud data processing method according to any one of claims 1 to 2, the result point cloud writer in the distributed laser point cloud data processing method according to any one of claims 1 to 2, and the postprocessor in the distributed laser point cloud data processing method according to any one of claims 1 to 2.

7. A computing node, characterized in that, Comprise: The source point cloud block receiver in the distributed laser point cloud data processing method according to any one of claims 3 to 5, the source point cloud block writer in the distributed laser point cloud data processing method according to any one of claims 3 to 5, the source point cloud block calculator in the distributed laser point cloud data processing method according to any one of claims 3 to 5, the result point cloud file reader in the distributed laser point cloud data processing method according to any one of claims 3 to 5, and the result point cloud block sender in the distributed laser point cloud data processing method according to any one of claims 3 to 5.

8. A distributed laser point cloud data processing system, characterized in that, Comprise: The server in the distributed laser point cloud data processing method according to any one of claims 1 to 2; At least one of the computing nodes of the distributed laser point cloud data processing method of any one of claims 3 to 5.

Citation Information

Patent Citations

  • Massive point cloud filtering method based on cloud calculating

    CN106600570A

  • Cloud platform task allocation method based on queues

    CN107301085A