Point cloud mapping method, system and storage medium based on distributed storage

The distributed storage solution of the Minio system solves the problem of point cloud map data management and real-time update, realizes efficient point cloud data storage and management, and supports the development of autonomous driving technology.

CN120451421BActive Publication Date: 2025-09-23NEOLITHIC ZHIHUA (BEIJING) TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510947522.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-07-10
Publication Date
2025-09-23
Estimated Expiration
2045-07-10

AI Technical Summary

Technical Problem

In autonomous driving technology, how to effectively manage the basic version of the point cloud map with limited storage space, and achieve real-time updates and the fusion of multiple collected data to avoid stratification, especially the data management problem when multiple servers collaborate to build the point cloud map.

Method used

A distributed storage solution based on the Minio system is adopted. Mapping tasks are assigned through the scheduler. The server obtains point cloud data and applies for version numbers to perform mapping operations. The version number status is managed using the version database. The Minio repository is combined to store prior maps and the latest map data to achieve distributed point cloud data management.

Benefits of technology

It improves storage expansion capabilities and synchronous mapping capabilities, ensures data security and availability, supports elastic expansion and high-concurrency access of the system, and is suitable for L4 level autonomous driving technology.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120451421B_ABST
    Figure CN120451421B_ABST
Patent Text Reader

Abstract

The present application discloses a point cloud mapping method, system and storage medium based on distributed storage, which belongs to the field of image processing technology. The server obtains the point cloud data collected for the target area; the version database performs incremental calculation on the latest R&D version number assigned to the target area, and sends the obtained R&D version number to the server; the server performs a first mapping operation based on the point cloud data to obtain mapping data; the server obtains the prior map version number from the version database; the server obtains the prior map corresponding to the prior map version number from the Minio repository, and performs a second mapping operation based on the point cloud data, mapping data and prior map; if the second mapping operation is successfully executed, the server uploads the latest prior map and point cloud data to the Minio repository, and notifies the version database to set the status value of the R&D version number to success. The present application improves storage expansion capabilities and synchronous mapping capabilities through distributed Minio repositories.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of image processing technology, and in particular to a point cloud mapping method, system and storage medium based on distributed storage. Background Art

[0002] In the field of autonomous driving technology, Level 4 autonomous driving is particularly dependent on high-precision point cloud mapping technology. Point cloud mapping technology can provide autonomous vehicles with precise environmental perception capabilities, and offline point cloud mapping offers significant advantages. It can pre-build point cloud models of static buildings, allowing users to load point cloud data in real time for online positioning, greatly improving positioning accuracy and efficiency.

[0003] However, to achieve crowdsourced point cloud mapping, a point cloud map of the same area (e.g., a 100km x 100km area) cannot be constructed all at once. Instead, it must be built in stages and regions, necessitating that the same area be broken down into multiple mapping tasks. This raises the question of how to fuse point cloud data collected multiple times over the same area without layering to form a unified point cloud map version for online localization. Furthermore, due to storage limitations, all point cloud data for an area cannot be stored on a single server; multiple servers may be required to collaborate on mapping the area. This creates a requirement: the initial point cloud mapping data must be used as the base version. New point cloud data belonging to the area must be optimized based on this base version, with overlapping points as a constraint to ensure that the new point cloud data does not overlap with the existing base version. Therefore, managing the base version and enabling real-time version updates are crucial for this type of mapping. Summary of the Invention

[0004] This application provides a distributed storage-based point cloud mapping method, system, and storage medium to solve the problem of how to perform point cloud mapping on a basic version of point cloud map data. The technical solution is as follows:

[0005] According to a first aspect of the present application, a point cloud mapping method based on distributed storage is provided, which is used in a Minio system, wherein the Minio system includes at least one server, a version database, and a distributed Minio repository; the method includes:

[0006] The server receives the mapping task sent by the scheduler, and obtains the point cloud data collected by the crowdsourcing data collector for the target area from the external storage according to the mapping task;

[0007] The server sends a version number allocation request to the version database;

[0008] The version database performs incremental calculation on the latest R&D version number allocated to the target area according to the version number allocation request, and sends the calculated R&D version number to the server;

[0009] After receiving the R&D version number, the server performs a first mapping operation based on the point cloud data to obtain mapping data;

[0010] The server obtains a priori map version number from the version database, where the priori map version number is a development version number with a most recent status value of success in the target area, where the status value of success indicates that point cloud data corresponding to the development version number is successfully processed;

[0011] The server obtains the prior map corresponding to the prior map version number from the Minio repository, and performs a second mapping operation according to the point cloud data, the mapping data, and the prior map;

[0012] If the second mapping operation is successfully executed, the server will upload the latest prior map and the point cloud data to the Minio repository, and notify the version database to set the status value of the R&D version number to success, so as to identify the R&D version number as the latest prior map version number.

[0013] In a possible implementation, the method further includes:

[0014] If the second mapping operation fails, the server notifies the version database to set the status value corresponding to the development version number to failure, and the status value of failure indicates that the point cloud data corresponding to the development version number has not been successfully processed.

[0015] In a possible implementation, the version database performs incremental calculation on the latest development version number allocated to the target area according to the version number allocation request, and sends the calculated development version number to the server, including:

[0016] When the scheduler assigns multiple mapping tasks of the target area to multiple servers in parallel, the version database sorts the version number allocation requests in order of receipt time from earliest to latest, and cyclically executes the following steps in the sorted order:

[0017] For the version number allocation request currently being processed, the version database performs incremental calculations on the latest R&D version number allocated to the target area based on the version number allocation request, sends the calculated R&D version number to the server corresponding to the version number allocation request, and stores the R&D version number as the latest R&D version number allocated to the target area.

[0018] In a possible implementation, the server obtains the prior graph version number from the version database, including:

[0019] The server sends a version number acquisition request to the version database;

[0020] The version database determines the R&D version number corresponding to the server according to the version number acquisition request, searches for the R&D version number closest to the R&D version number and with a status value of success, and sends the found R&D version number as the prior graph version number to the server;

[0021] The server receives the a priori graph version number.

[0022] In a possible implementation, searching for a development version number that is closest to the development version number and has a status value of success, and sending the found development version number as the prior graph version number to the server includes:

[0023] The version database reads the status value of the previous R&D version number of the R&D version number;

[0024] If the status value of the previous development version number is success, the version database sends the previous development version number as the prior graph version number to the server;

[0025] If the status value of the previous development version number is failure, the version database reads the status value of the previous development version number of the previous development version number and makes a judgment;

[0026] If the status value of the previous development version number is empty, the version database waits to receive the processing result of the point cloud data corresponding to the previous development version number, sets the status value according to the processing result, and makes a judgment.

[0027] In a possible implementation, the method further includes:

[0028] The server sends the storage status of the point cloud data in the external memory, the physical path and Internet Protocol IP information of the server, and the processing status of whether the point cloud data is successfully processed to the acquisition database. The acquisition database is used to store the storage status, the physical path, the IP information and the processing status so as to trace the processing flow of the point cloud data.

[0029] In a possible implementation, the method further includes:

[0030] The Minio repository periodically synchronizes the prior map and the point cloud data to a local backup database.

[0031] According to a second aspect of the present application, a Minio system is provided, comprising at least one server, a version database, and a distributed Minio repository;

[0032] The server is configured to receive a mapping task sent by the scheduler, and obtain point cloud data collected by a crowdsourced data collector for a target area from an external memory according to the mapping task;

[0033] The server is further configured to send a version number allocation request to the version database;

[0034] The version database is configured to perform incremental calculation on the latest R&D version number allocated to the target area according to the version number allocation request, and send the calculated R&D version number to the server;

[0035] After receiving the R&D version number, the server is further configured to perform a first mapping operation based on the point cloud data to obtain mapping data;

[0036] The server is further configured to obtain a priori map version number from the version database, where the priori map version number is a development version number with a most recent status value of success in the target area, where the status value of success indicates that point cloud data corresponding to the development version number has been successfully processed;

[0037] The server is further configured to obtain a priori map corresponding to the priori map version number from the Minio repository, and perform a second mapping operation based on the point cloud data, the mapping data, and the priori map;

[0038] If the second mapping operation is successfully executed, the server is also used to upload the latest prior map and the point cloud data obtained to the Minio repository, and notify the version database to set the status value of the development version number to success, so as to identify the development version number as the latest prior map version number.

[0039] In one possible implementation, if the execution of the second mapping operation fails, the server is also used to notify the version database to set the status value corresponding to the development version number to failure, and the status value of failure indicates that the point cloud data corresponding to the development version number has not been successfully processed.

[0040] According to a third aspect of the present application, a computer-readable storage medium is provided, in which at least one instruction is stored. The at least one instruction is loaded and executed by a processor to implement the point cloud mapping method based on distributed storage as described above.

[0041] The beneficial effects of the technical solution provided by this application include at least:

[0042] The scheduler can be used to schedule multiple mapping tasks to one or more servers, and store the prior map in the distributed Minio repository. In this way, each server can download the prior map from the Minio repository and then execute the mapping task based on the prior map. It can also upload the new prior map obtained after the successful execution of the mapping task to the Minio repository, which can effectively improve the storage expansion capability and synchronous mapping capability. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0044] Figure 1 This is a flowchart of a point cloud mapping method based on distributed storage provided by an embodiment of the present application;

[0045] Figure 2 This is a flowchart of a point cloud mapping method based on distributed storage provided by an embodiment of the present application;

[0046] Figure 3 is a schematic diagram of a point cloud mapping method based on distributed storage provided by an embodiment of the present application;

[0047] Figure 4 This is a structural block diagram of the Minio system provided by an embodiment of the present application. DETAILED DESCRIPTION

[0048] In order to make the objectives, technical solutions and advantages of the embodiments of the present application clearer, the implementation methods of the present application will be further described in detail below with reference to the accompanying drawings.

[0049] The Minio system is a high-performance distributed object storage system designed for the storage and management of massive unstructured data. Its lightweight architecture, excellent scalability, and high availability have made it widely used in cloud computing, big data processing, artificial intelligence, and other fields.

[0050] In the construction of distributed point cloud maps, the Minio system can serve as a core storage component, providing efficient and secure data storage and management capabilities. Point cloud data is typically large and computationally intensive, and traditional storage methods are unable to meet its high throughput and low latency requirements. Using the Minio system for distributed storage can provide the following advantages:

[0051] High throughput and low latency: The Minio system's parallel storage mechanism and optimized data access path can accelerate the reading and writing of point cloud data, thereby improving mapping efficiency.

[0052] High availability and fault tolerance: Supports erasure coding and data sharding technologies to ensure data security and maintain normal system operation even if some nodes fail.

[0053] Elastic expansion: supports horizontal expansion, suitable for the storage of large-scale point cloud data, and meets the needs of multi-node collaborative computing.

[0054] S3 compatibility: Supports mainstream cloud storage interfaces, facilitating integration with existing distributed computing frameworks, such as the Robot Operating System (ROS), Spark, and Flink, for efficient streaming and distributed computing of point cloud data.

[0055] Access control and security: Supports user authentication, access rights control, and encrypted storage to ensure the security of point cloud data in a distributed environment.

[0056] To meet the needs of multi-server collaborative mapping, this paper designs a distributed mapping solution based on the distributed storage characteristics of the Minio system, which mainly includes:

[0057] 1. Distributed Mapping Task Scheduling

[0058] 2. Version number application and map creation

[0059] 3. Distributed prior graph storage based on Minio

[0060] 4. Upload results and save version information

[0061] Experiments have shown that the Minio system, combined with distributed point cloud mapping technology, can effectively improve the efficiency of data storage and management, providing a stable and scalable data storage solution for fields such as autonomous driving, smart cities, and 3D modeling. The Minio system enables efficient management of point cloud data, ensuring data security and availability, while supporting elastic system expansion and high-concurrency access, providing strong support for the development of Level 4 autonomous driving technology.

[0062] like Figure 1As shown, it shows a method flow chart of a distributed storage-based point cloud mapping method provided by an embodiment of the present application. The distributed storage-based point cloud mapping method can be applied to the Minio system, which includes at least one server, a version database, and a distributed Minio repository. The distributed storage-based point cloud mapping method may include:

[0063] In step 101 , the server receives a mapping task sent by the scheduler, and obtains point cloud data collected by the crowdsourcing data collector for the target area from an external memory according to the mapping task.

[0064] In this embodiment, crowdsourcing is used to collect point cloud data of the target area in batches, and all point cloud data is stored in external storage. The external storage here is used to store point cloud data collected by multiple crowdsourced data collectors. It can be a storage with any structure, such as object-based storage (OBS).

[0065] The scheduler (Azkaban) generates mapping tasks based on the point cloud data in external storage. When a batch of point cloud data is small (e.g., containing one or two point cloud sequences), the scheduler can directly generate a mapping task for that batch. When a batch of point cloud data is large, the scheduler can group the point cloud sequences within the batch and generate a mapping task for each group. For example, if a batch of point cloud data contains eight point cloud sequences, the scheduler can group them into four groups and generate four mapping tasks for each of the four groups.

[0066] The scheduler uses the interface provided by the Minio system to dispatch at least one mapping task to at least one server in the Minio system for processing. For example, the scheduler uses the principle of even distribution to rationally distribute each mapping task to different servers to achieve optimal resource utilization and efficient task execution.

[0067] After receiving the mapping task issued by the scheduler, each server obtains the storage status and storage path of the point cloud data to be processed from the mapping task. If it is determined according to the storage status that there is no abnormality in the storage of the point cloud data, the point cloud data is read from the external storage according to the storage path; if it is determined according to the storage status that there is an abnormality in the storage of the point cloud data, an error is reported.

[0068] It should be noted that the number of servers in the Minio system is not fixed, and servers can be increased or decreased according to business needs.

[0069] Step 102: The server sends a version number allocation request to the version database.

[0070] Each server needs to apply for a unique R&D version number from the version database. The R&D version number application process is asynchronous to prevent point cloud data processed on different servers from applying for the same version number.

[0071] Step 103: The version database performs incremental calculation on the latest R&D version number allocated to the target area according to the version number allocation request, and sends the calculated R&D version number to the server.

[0072] After receiving the version number allocation request, the version database searches for the latest R&D version number among the R&D version numbers allocated to the target area, increases the value of the latest R&D version number by an increment, obtains a R&D version number, and sends the R&D version number to the server.

[0073] The increment value can be set based on business needs. In one example, if the increment is set to 0.1, each assigned development version number will be 0.1 greater than the previous development version number. Assuming the latest development version number found is 1.3, the generated development version number will be 1.4.

[0074] Step 104: After receiving the R&D version number, the server performs a first mapping operation based on the point cloud data to obtain mapping data.

[0075] The first mapping operation refers to a mapping operation that does not rely on a priori map. The priori map is a point cloud map generated by the most recently successfully executed mapping task in the target area.

[0076] In step 105, the server obtains the prior map version number from the version database. The prior map version number is the development version number with the most recent status value of success in the target area. The status value of success indicates that the point cloud data corresponding to the development version number is successfully processed.

[0077] In the version database, each assigned R&D version number corresponds to a status value. If the point cloud data corresponding to the R&D version number is successfully processed, it can be considered that the corresponding mapping task is successfully executed. At this time, the status value is set to success, and the R&D version number can also be called the prior map version number; if the point cloud data corresponding to the R&D version number is not successfully processed, it can be considered that the execution of the corresponding mapping task has failed. At this time, the status value is set to failure; the point cloud data corresponding to the R&D version number has not been processed yet, and the status value is set to empty.

[0078] The server may send a version number acquisition request to the version database, and the version database may select a priori graph version number according to the state value and send the priori graph version number to the server.

[0079] In step 106, the server obtains the prior map corresponding to the prior map version number from the Minio repository, and performs a second mapping operation based on the point cloud data, the mapping data, and the prior map.

[0080] Minio repository is a distributed repository and every server can access the Minio repository.

[0081] The server sends a priori graph acquisition request to the Minio repository. Minio obtains the corresponding priori graph based on the priori graph version number in the priori graph acquisition request and sends the priori graph to the server.

[0082] The server needs to perform a second mapping operation based on the point cloud data, the mapping data, and the prior map. If the second mapping operation is successfully performed, step 107 is executed; if the second mapping operation fails, failure information is provided for subsequent analysis.

[0083] In step 107, if the second mapping operation is successfully executed, the server uploads the latest prior map and point cloud data to the Minio repository, and notifies the version database to set the status value of the R&D version number to success, so as to identify the R&D version number as the latest prior map version number.

[0084] The server can obtain the latest prior map after successfully executing the second mapping operation, and upload the latest prior map and point cloud data to the Minio repository so that it can subsequently perform mapping tasks based on the latest prior map; the server also needs to set the status value of the corresponding R&D version number to success so that it can subsequently find the latest prior map version number and obtain the latest prior map.

[0085] To sum up, the distributed storage-based point cloud mapping method provided in the embodiment of the present application can schedule multiple mapping tasks to one or more servers through a scheduler, and store the prior map in a distributed Minio repository. In this way, each server can download the prior map from the Minio repository, and then perform the mapping task based on the prior map. It can also upload the new prior map obtained after the successful execution of the mapping task to the Minio repository, which can effectively improve the storage expansion capability and synchronous mapping capability.

[0086] like Figure 2 As shown, it shows a flow chart of a point cloud mapping method based on distributed storage provided by an embodiment of the present application. The point cloud mapping method based on distributed storage can be applied to a computer device. The point cloud mapping method based on distributed storage can include:

[0087] In step 201 , the server receives a mapping task sent by the scheduler, and obtains point cloud data collected by the crowdsourcing data collector for the target area from an external memory according to the mapping task.

[0088] In this embodiment, a crowdsourcing method is used to collect point cloud data of the target area in batches, and all point cloud data are stored in an external memory. The external memory here is used to store point cloud data collected by multiple crowdsourcing data collectors, and it can be a memory of any structure, such as OBS.

[0089] The scheduler (Azkaban) generates mapping tasks based on the point cloud data in external storage. When a batch of point cloud data is small (e.g., containing one or two point cloud sequences), the scheduler can directly generate a mapping task for that batch. When a batch of point cloud data is large, the scheduler can group the point cloud sequences within the batch and generate a mapping task for each group. For example, if a batch of point cloud data contains eight point cloud sequences, the scheduler can group them into four groups and generate four mapping tasks for each of the four groups.

[0090] The scheduler uses the interface provided by the Minio system to send at least one mapping task to at least one server in the Mini system for processing. For example, the scheduler uses the principle of even distribution to reasonably distribute each mapping task to different servers to achieve optimal resource utilization and efficient task execution. Figure 3 As shown, the scheduler needs to allocate three mapping tasks, and allocates these three mapping tasks to the first server with an Internet Protocol (IP) of 164, the second server with an IP of 166, and the third server with an IP of 170.

[0091] In this embodiment, an acquisition database can also be set up, and each record in the acquisition database includes the storage status of the point cloud data of each target area in the external memory, the physical path and IP information of the server that processes the point cloud data, the processing status of whether the point cloud data is successfully processed, etc.

[0092] When assigning mapping tasks, the scheduler can determine the target area corresponding to the mapping task, retrieve the historical records of the target area from the collection database, and assign mapping tasks based on the historical records. For example, when the scheduler needs to assign a mapping task to a target area, it can use the historical records to determine the server that previously processed mapping tasks for the target area and assign the mapping task to that server.

[0093] After receiving the mapping task issued by the scheduler, each server obtains the storage status and storage path of the point cloud data to be processed from the mapping task. If it is determined according to the storage status that there is no abnormality in the storage of the point cloud data, the point cloud data is read from the external storage according to the storage path; if it is determined according to the storage status that there is an abnormality in the storage of the point cloud data, an error is reported.

[0094] It should be noted that the number of servers in the Minio system is not fixed, and servers can be increased or decreased according to business needs.

[0095] Step 202: The server sends a version number allocation request to the version database.

[0096] Each server needs to apply for a unique R&D version number from the version database. The R&D version number application process is asynchronous to prevent point cloud data processed on different servers from applying for the same version number.

[0097] In step 203 , the version database performs incremental calculation on the latest R&D version number allocated to the target area according to the version number allocation request, and sends the calculated R&D version number to the server.

[0098] Specifically, the version database performs incremental calculations on the latest R&D version number allocated to the target area based on the version number allocation request, and sends the calculated R&D version number to the server, which may include: when the scheduler allocates multiple mapping tasks of the target area to multiple servers in parallel, the version database sorts each version number allocation request in order of receipt time from early to late, and loops through the following steps in the sorted order: for the version number allocation request currently being processed, the version database performs incremental calculations on the latest R&D version number allocated to the target area based on the version number allocation request, sends the calculated R&D version number to the server corresponding to the version number allocation request, and stores the R&D version number as the latest R&D version number allocated to the target area.

[0099] After receiving the version number allocation request, the version database searches for the latest R&D version number among the R&D version numbers allocated to the target area, increases the value of the latest R&D version number by an increment, obtains a R&D version number, and sends the R&D version number to the server.

[0100] The increment value can be set based on business needs. In one example, if the increment is set to 0.1, each assigned development version number will be 0.1 greater than the previous development version number. Assuming the latest development version number found is 1.3, the generated development version number will be 1.4.

[0101] For example, there are three target area mapping tasks, which are evenly distributed to the first server 164, the second server 166, and the third server 170. The latest development version number of the target area is 1.2. Then the development version number that the first server 164 will apply for is 1.3, the development version number that the second server 166 will apply for is 1.4, and the development version number that the third server 170 will apply for is 1.5.

[0102] Step 204: After receiving the R&D version number, the server performs a first mapping operation based on the point cloud data to obtain mapping data.

[0103] The first mapping operation refers to a mapping operation that does not rely on a priori map. The priori map is a point cloud map generated by the most recently successfully executed mapping task in the target area.

[0104] In step 205, the server obtains the prior map version number from the version database. The prior map version number is the development version number with the most recent status value of success in the target area. The status value of success indicates that the point cloud data corresponding to the development version number is successfully processed.

[0105] In the version database, each assigned R&D version number corresponds to a status value. If the point cloud data corresponding to the R&D version number is successfully processed, it can be considered that the corresponding mapping task is successfully executed. At this time, the status value is set to success, and the R&D version number can also be called the prior map version number; if the point cloud data corresponding to the R&D version number is not successfully processed, it can be considered that the execution of the corresponding mapping task has failed. At this time, the status value is set to failure; the point cloud data corresponding to the R&D version number has not been processed yet, and the status value is set to empty.

[0106] Specifically, the server obtains the prior graph version number from the version database, which may include the following sub-steps:

[0107] (1) The server sends a request to the version database to obtain the version number.

[0108] (2) The version database determines the R&D version number corresponding to the server based on the version number acquisition request, searches for the R&D version number that is closest to the R&D version number and has a successful status value, and sends the found R&D version number to the server as the prior graph version number.

[0109] The process of searching for a development version number that is closest to the development version number and has a status value of success, and sending the found development version number as the prior graph version number to the server, may include:

[0110] The version database reads the status value of the previous R&D version number;

[0111] If the status value of the previous R&D version number is success, the version database sends the previous R&D version number as the prior graph version number to the server;

[0112] If the status value of the previous R&D version number is failure, the version database reads the status value of the previous R&D version number and makes a judgment;

[0113] If the status value of the previous R&D version number is empty, the version database waits to receive the processing result of the point cloud data corresponding to the previous R&D version number, sets the status value according to the processing result, and makes a judgment.

[0114] For example, if the server's R&D version number is 1.4, and if the status value of R&D version number 1.3 in the version database is success, 1.3 will be used as the prior image version number; if the status value of R&D version number 1.3 is failure, the status value of R&D version number 1.2 will be read; if the status value of R&D version number 1.2 is success, 1.2 will be used as the prior image version number; if the status value of R&D version number 1.2 is failure, the status value of R&D version number 1.1 will be read, and so on; if the status value of R&D version number 1.3 is empty, it means that the point cloud data corresponding to R&D version number 1.3 has not been processed yet, and it is necessary to wait for the processing result. After the processing is completed, the status value of R&D version number 1.3 will be set to success or failure, and the judgment will be made again.

[0115] (3) The server receives the prior graph version number.

[0116] In step 206 , the server obtains the prior map corresponding to the prior map version number from the Minio repository, and performs a second mapping operation based on the point cloud data, the mapping data, and the prior map.

[0117] Minio repository is a distributed repository and every server can access the Minio repository.

[0118] The server sends a priori graph acquisition request to the Minio repository. Minio obtains the corresponding priori graph based on the priori graph version number in the priori graph acquisition request and sends the priori graph to the server.

[0119] The server needs to perform a second mapping operation based on the point cloud data, the mapping data, and the prior map. If the second mapping operation is successfully performed, step 207 is executed; if the second mapping operation fails, step 208 is executed.

[0120] In step 207, if the second mapping operation is successfully executed, the server uploads the latest prior map and point cloud data to the Minio repository, and notifies the version database to set the status value of the R&D version number to success, so as to identify the R&D version number as the latest prior map version number.

[0121] The server can obtain the latest prior map after successfully executing the second mapping operation, and upload the latest prior map and point cloud data to the Minio repository so that it can subsequently perform mapping tasks based on the latest prior map; the server also needs to set the status value of the corresponding R&D version number to success so that it can subsequently find the latest prior map version number and obtain the latest prior map.

[0122] In step 208 , if the second mapping operation fails, the server notifies the version database to set the status value corresponding to the development version number to failure. The status value failure indicates that the point cloud data corresponding to the development version number has not been successfully processed.

[0123] If the second map construction operation fails, the server will not generate the latest prior map. At this time, it only needs to notify the version database to set the status value corresponding to the R&D version number to failure.

[0124] In step 209, the server sends the storage status of the point cloud data in the external memory, the physical path and IP information of the server, and the processing status of whether the point cloud data has been successfully processed to the acquisition database. The acquisition database is used to store the storage status, physical path, IP information and processing status to trace the processing flow of the point cloud data.

[0125] The server sends the storage status, physical path, IP information and processing status to the acquisition database, which stores this information as a record to provide a basis for the scheduler's task allocation.

[0126] It should be noted that if the mapping task includes at least two point cloud sequences, and some point cloud sequences are successfully processed while others are not, steps 207 and 209 are executed. When executing step 209, a corresponding processing status is set for each point cloud sequence, so that the staff can reprocess the point cloud sequences with a failed processing status.

[0127] In this embodiment, the Minio repository can also periodically synchronize the prior map and point cloud data to the local backup database.

[0128] In this embodiment, an exception capture mechanism may also be provided to ensure timely feedback and processing when an exception occurs, thereby improving the continuity and reliability of the system.

[0129] Afterward, the point cloud map can be synchronized with the high-precision point cloud production team for subsequent product development, such as using the intermediate data file for ground extraction and ground marking drawing. This step is the end of the entire process, marking the end of a complete point cloud version production process and providing basic data and information for subsequent product development.

[0130] To sum up, the distributed storage-based point cloud mapping method provided in the embodiment of the present application can schedule multiple mapping tasks to one or more servers through a scheduler, and store the prior map in a distributed Minio repository. In this way, each server can download the prior map from the Minio repository, and then perform the mapping task based on the prior map. It can also upload the new prior map obtained after the successful execution of the mapping task to the Minio repository, which can effectively improve the storage expansion capability and synchronous mapping capability.

[0131] like Figure 4 As shown, it shows a structural block diagram of the Minio system provided by an embodiment of the present application. The Minio system may include at least one server 410, a version database 420 and a distributed Minio repository 430;

[0132] The server 410 is configured to receive the mapping task sent by the scheduler and obtain the point cloud data collected by the crowdsourced data collector for the target area from the external storage according to the mapping task;

[0133] The server 410 is further configured to send a version number allocation request to the version database 420;

[0134] The version database 420 is used to perform incremental calculation of the latest R&D version number allocated to the target area according to the version number allocation request, and send the calculated R&D version number to the server 410;

[0135] After receiving the development version number, the server 410 is further configured to perform a first mapping operation based on the point cloud data to obtain mapping data;

[0136] The server 410 is further configured to obtain a priori map version number from the version database 420. The priori map version number is the development version number of the target area with the most recent status value of success. The status value of success indicates that the point cloud data corresponding to the development version number has been successfully processed.

[0137] The server 410 is further configured to obtain a priori map corresponding to the priori map version number from the Minio repository 430 and perform a second mapping operation based on the point cloud data, the mapping data, and the priori map;

[0138] If the second mapping operation is successfully executed, the server 410 is also used to upload the latest prior map and point cloud data obtained to the Minio repository 430, and notify the version database 420 to set the status value of the R&D version number to success, so as to identify the R&D version number as the latest prior map version number.

[0139] In an optional embodiment, if the second mapping operation fails, the server 410 is also used to notify the version database 420 to set the status value corresponding to the development version number to failure. The status value of failure indicates that the point cloud data corresponding to the development version number has not been successfully processed.

[0140] In an optional embodiment, when the scheduler assigns multiple mapping tasks of the target area to multiple servers 410 in parallel, the version database 420 is further configured to sort the version number allocation requests in order of receipt time from earliest to latest, and cyclically perform the following steps in the sorted order:

[0141] For the version number allocation request currently being processed, the version database 420 is also used to perform incremental calculations on the latest R&D version number allocated to the target area based on the version number allocation request, send the calculated R&D version number to the server 410 corresponding to the version number allocation request, and store the R&D version number as the latest R&D version number allocated to the target area.

[0142] In an optional embodiment, the server 410 is further configured to send a version number acquisition request to the version database 420;

[0143] The version database 420 is further used to determine the R&D version number corresponding to the server 410 according to the version number acquisition request, search for the R&D version number closest to the R&D version number and with a status value of success, and send the searched R&D version number as the prior graph version number to the server 410;

[0144] The server 410 is further configured to receive a priori graph version number.

[0145] In an optional embodiment, the version database 420 is further used to:

[0146] Read the status value of the previous R&D version number;

[0147] If the status value of the previous development version number is success, the previous development version number is sent to the server 410 as the prior graph version number;

[0148] If the status value of the previous R&D version number is failure, read the status value of the previous R&D version number and make a judgment;

[0149] If the status value of the previous R&D version number is empty, wait for the processing result of the point cloud data corresponding to the previous R&D version number, set the status value according to the processing result and make a judgment.

[0150] In an optional embodiment, the server 410 is further configured to:

[0151] The storage status of the point cloud data in the external memory, the physical path and IP information of the server 410, and the processing status of whether the point cloud data is successfully processed are sent to the acquisition database. The acquisition database is used to store the storage status, physical path, IP information and processing status to trace the processing flow of the point cloud data.

[0152] In an optional embodiment, the Minio repository 430 is used to periodically synchronize the prior map and point cloud data to a local backup database.

[0153] To sum up, the Minio system provided in the embodiment of the present application can schedule multiple mapping tasks to one or more servers through a scheduler, and store the prior map in a distributed Minio repository. In this way, each server can download the prior map from the Minio repository, and then execute the mapping task based on the prior map. It can also upload the new prior map obtained after successfully executing the mapping task to the Minio repository, which can effectively improve the storage expansion capability and synchronous mapping capability.

[0154] One embodiment of the present application provides a computer-readable storage medium, wherein the storage medium stores at least one instruction, and the at least one instruction is loaded and executed by a processor to implement the point cloud mapping method based on distributed storage as described above.

[0155] It should be noted that the above embodiments provide an example of the division of the above functional modules when performing distributed storage-based point cloud mapping in the Minio system. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the Minio system can be divided into different functional modules to complete all or part of the functions described above. In addition, the Minio system provided in the above embodiments and the embodiment of the method for point cloud mapping based on distributed storage are based on the same concept. The specific implementation process is detailed in the method embodiment and will not be repeated here.

[0156] Those skilled in the art will understand that all or part of the steps to implement the above embodiments may be accomplished by hardware, or by a program to instruct the relevant hardware, and the program may be stored in a computer-readable storage medium, which may be a read-only memory, a disk, or an optical disk, etc.

[0157] The above description is not intended to limit the embodiments of the present application. Any adjustments, equivalent replacements, improvements, etc. made within the spirit and principles of the embodiments of the present application should be included in the scope of protection of the embodiments of the present application.

Claims

1. A point cloud mapping method based on distributed storage, characterized in that: Used in a Minio system, the Minio system includes at least one server, a version database, and a distributed Minio repository; the method includes: The server receives the mapping task sent by the scheduler, and obtains the point cloud data collected by the crowdsourcing data collector for the target area from the external storage according to the mapping task; The server sends a version number allocation request to the version database; The version database performs incremental calculation on the latest R&D version number allocated to the target area according to the version number allocation request, and sends the calculated R&D version number to the server; After receiving the R&D version number, the server performs a first mapping operation based on the point cloud data to obtain mapping data; The server obtains a priori map version number from the version database, where the priori map version number is a development version number with a most recent status value of success in the target area, where the status value of success indicates that the point cloud data corresponding to the development version number is successfully processed; The server obtains the prior map corresponding to the prior map version number from the Minio repository, and performs a second mapping operation according to the point cloud data, the mapping data, and the prior map; If the second mapping operation is successfully executed, the server will upload the latest prior map and the point cloud data to the Minio repository, and notify the version database to set the status value of the R&D version number to success, so as to identify the R&D version number as the latest prior map version number.

2. The point cloud mapping method based on distributed storage according to claim 1, characterized in that: The method further comprises: If the second mapping operation fails, the server notifies the version database to set the status value corresponding to the development version number to failure, and the status value of failure indicates that the point cloud data corresponding to the development version number has not been successfully processed.

3. The point cloud mapping method based on distributed storage according to claim 1, characterized in that: The version database performs incremental calculation on the latest development version number allocated to the target area according to the version number allocation request, and sends the calculated development version number to the server, including: When the scheduler assigns multiple mapping tasks of the target area to multiple servers in parallel, the version database sorts the version number allocation requests in order of receipt time from earliest to latest, and cyclically executes the following steps in the sorted order: For the version number allocation request currently being processed, the version database performs incremental calculations on the latest R&D version number allocated to the target area based on the version number allocation request, sends the calculated R&D version number to the server corresponding to the version number allocation request, and stores the R&D version number as the latest R&D version number allocated to the target area.

4. The point cloud mapping method based on distributed storage according to claim 3 is characterized in that: The server obtains the prior graph version number from the version database, including: The server sends a version number acquisition request to the version database; The version database determines the R&D version number corresponding to the server according to the version number acquisition request, searches for the R&D version number closest to the R&D version number and with a status value of success, and sends the found R&D version number as the prior graph version number to the server; The server receives the a priori graph version number.

5. The point cloud mapping method based on distributed storage according to claim 4, characterized in that: The searching for a development version number that is closest to the development version number and has a status value of success, and sending the found development version number as the prior graph version number to the server, includes: The version database reads the status value of the previous R&D version number of the R&D version number; If the status value of the previous development version number is success, the version database sends the previous development version number as the prior graph version number to the server; If the status value of the previous development version number is failure, the version database reads the status value of the previous development version number of the previous development version number and makes a judgment; If the status value of the previous development version number is empty, the version database waits to receive the processing result of the point cloud data corresponding to the previous development version number, sets the status value according to the processing result, and makes a judgment.

6. The point cloud mapping method based on distributed storage according to claim 1, characterized in that: The method further comprises: The server sends the storage status of the point cloud data in the external memory, the physical path and Internet Protocol IP information of the server, and the processing status of whether the point cloud data is successfully processed to the acquisition database. The acquisition database is used to store the storage status, the physical path, the IP information and the processing status so as to trace the processing flow of the point cloud data.

7. The point cloud mapping method based on distributed storage according to any one of claims 1 to 6, characterized in that: The method further comprises: The Minio repository periodically synchronizes the prior map and the point cloud data to a local backup database.

8. A Minio system, characterized in that: The Minio system includes at least one server, a version database, and a distributed Minio repository; The server is configured to receive a mapping task sent by the scheduler, and obtain point cloud data collected by a crowdsourced data collector for a target area from an external memory according to the mapping task; The server is further configured to send a version number allocation request to the version database; The version database is configured to perform incremental calculation on the latest R&D version number allocated to the target area according to the version number allocation request, and send the calculated R&D version number to the server; After receiving the R&D version number, the server is further configured to perform a first mapping operation based on the point cloud data to obtain mapping data; The server is further configured to obtain a priori map version number from the version database, where the priori map version number is a development version number with a most recent status value of success in the target area, where the status value of success indicates that point cloud data corresponding to the development version number has been successfully processed; The server is further configured to obtain a priori map corresponding to the priori map version number from the Minio repository, and perform a second mapping operation based on the point cloud data, the mapping data, and the priori map; If the second mapping operation is successfully executed, the server is also used to upload the latest prior map and the point cloud data obtained to the Minio repository, and notify the version database to set the status value of the development version number to success, so as to identify the development version number as the latest prior map version number.

9. The Minio system according to claim 8, characterized in that If the second mapping operation fails, the server is further used to notify the version database to set the status value corresponding to the development version number to failure, and the status value of failure indicates that the point cloud data corresponding to the development version number has not been successfully processed.

10. A computer-readable storage medium, characterized in that The storage medium stores at least one instruction, and the at least one instruction is loaded and executed by the processor to implement the point cloud mapping method based on distributed storage according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Strip mine area map crowdsourcing acquisition and construction device

    CN116222593A

  • Laser point cloud map construction and retrieval system and method

    CN117251519A