Map data generation method and apparatus, related devices, and medium

CN118897869BActive Publication Date: 2026-10-30AUTONAVI SOFTWARE CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410851647.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-06-27
Publication Date
2026-10-30
Estimated Expiration
2044-06-27

AI Technical Summary

Technical Problem

但这种处理方式的时效性差,无法及时实现高精地图数据的发布

Benefits of technology

[0007]本申请提供的方案,将获取的采集数据切分为多个处理任务,每个处理任务包括多个地图资料包。进一步的,在每个处理任务对应的多个地图资料包中抽取关键位置的地图资料包作为钥匙位资料包。通过并行处理所有非钥匙位资料包,以及状态为可处理的钥匙位资料包,提升了采集数据处理过程中的并发性,与现有技术中按照道路的延伸方向依次进行处理采集数据的方案相比,本申请方案中,处于中间的处理任务的非钥匙位资料包可以提前进行处理,进而当相邻的在先的处理任务完成处理时,在后的处理任务可能仅剩余钥匙位资料包未被处理,或者仅剩余钥匙位资料包以及部分少量的非钥匙位资料包未被处理,因此可以更快的完成在后的处理任务,进而能够更加及时地发布地图数据。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118897869B_ABST
    Figure CN118897869B_ABST
Patent Text Reader

Abstract

A map data generation method and device, computer device cluster and storage medium, relate to the technical field of map data production. The method comprises: determining a plurality of processing tasks and a plurality of map data packages corresponding to each processing task according to road collection data, the road segments corresponding to each processing task are continuous, and each processing task is used to generate map data of the corresponding road segment; determining at least one key bit data package from the plurality of map data packages corresponding to each processing task according to the extension direction of the road segment; the key bit data package is the first map data package in the extension direction of the corresponding processing task, and the key bit data package is processable when it is the first uncompleted processing map data package in the extension direction of the road segment, otherwise it is unprocessable; and performing parallel processing on all non-key bit data packages and key bit data packages in a processable state. The method ensures the integrity of the map data while improving the timeliness, and can timely publish the map data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of map data production technology, and in particular to a method, apparatus, computer equipment cluster and storage medium for generating map data. Background Technology

[0002] With the development of technology, the application of high-precision maps is becoming increasingly widespread. The main use cases for high-precision maps include autonomous driving and high-precision positioning.

[0003] Currently, after acquiring real-world road data, the data is processed to obtain publishable high-precision map data. Published high-precision map data needs to be complete. Completeness requires that the real-world roads corresponding to the published high-precision map data are connected, reflecting continuous road changes, rather than corresponding to isolated road segments.

[0004] To ensure the integrity of map data, existing solutions typically process the collected data of a complete road sequentially along its direction of extension. Only after all processing is complete will the high-precision map data corresponding to the entire road be released. However, this processing method is not timely and cannot achieve the timely release of high-precision map data. Summary of the Invention

[0005] To address the aforementioned problems in the existing technology, this application provides a method, apparatus, computer equipment cluster, and storage medium for generating map data, which improves timeliness while ensuring the integrity of map data, enabling the timely release of map data.

[0006] Firstly, this application provides a method for generating map data. The method includes: determining multiple processing tasks and multiple map data packages corresponding to each processing task based on collected data. The road segments corresponding to each processing task are continuous. Each processing task generates map data for its corresponding road segment. Each map data package includes a portion of the collected data from the corresponding processing task. Based on the road segment extension direction, at least one key position data package is determined from the multiple map data packages corresponding to each processing task. The key position data package is the first map data package of the corresponding processing task in the road segment extension direction. If the key position data package is the first unprocessed map data package in the road segment extension direction, its state is "processable"; otherwise, its state is "unprocessable". All non-key position data packages and the key position data packages in the "processable" state are processed in parallel.

[0007] The solution provided in this application divides the acquired data into multiple processing tasks, each of which includes multiple map data packages. Furthermore, map data packages representing key locations are extracted from the multiple map data packages corresponding to each processing task as key location data packages. By processing all non-key location data packages and key location data packages in a parallel manner, the concurrency of the data acquisition process is improved. Compared with the existing technology that processes data acquisition sequentially according to the road's extension direction, in this application's solution, non-key location data packages in intermediate processing tasks can be processed earlier. Therefore, when adjacent, earlier processing tasks are completed, subsequent processing tasks may only have key location data packages remaining unprocessed, or only key location data packages and a small number of non-key location data packages remaining unprocessed. This allows for faster completion of subsequent processing tasks and more timely release of map data.

[0008] The key position data packet is the first map data packet of the corresponding processing task in the road segment extension direction. When the key position data packet is the first unprocessed map data packet in the road segment extension direction, its status is "processable". It only switches to the "processable" status after the adjacent preceding processing task is completed and the map data of the preceding processing task is accessed. This avoids the map data obtained by processing the key position data packet first from the map data obtained by the preceding processing task, thus ensuring the integrity of the map data while ensuring concurrent processing.

[0009] Secondly, this application also provides a map data generation apparatus, comprising: a determining unit, a selecting unit, and a processing unit. The determining unit is used to determine multiple processing tasks and multiple map data packages corresponding to each processing task based on collected data. The road segments corresponding to each processing task are continuous, each processing task generates map data for the corresponding road segment, and each map data package includes a portion of the collected data for the corresponding processing task. The selecting unit is used to determine at least one key position data package from the multiple map data packages corresponding to each processing task based on the road segment extension direction. The key position data package is considered processable if it is the first unprocessed map data package in the road segment extension direction; otherwise, it is considered unprocessable. The processing unit is used to process all non-key position data packages and the key position data packages that are considered processable in parallel.

[0010] Thirdly, this application also provides a computer device cluster, which includes at least one computer device. The at least one computer device includes at least one processor and at least one memory, wherein the at least one memory stores computer-readable instructions. The at least one processor executes the computer-readable instructions to cause the computer device cluster to perform the map data generation method provided in the first aspect above.

[0011] Fourthly, this application also provides a storage medium storing computer-readable instructions for implementing the map data generation method provided in the first aspect above. Attached Figure Description

[0012] Figure 1 Scenario illustration provided for embodiments of this application Figure 1 ;

[0013] Figure 2 Scenario illustration provided for embodiments of this application Figure 2 ;

[0014] Figure 3 Scenario illustration provided for embodiments of this application Figure 3 ;

[0015] Figure 4 Scenario illustration provided for embodiments of this application Figure 4 ;

[0016] Figure 5 A flowchart illustrating a method for generating map data provided in an embodiment of this application;

[0017] Figure 6 Schematic diagram of the principle provided for the embodiments of this application Figure 1 ;

[0018] Figure 7 A flowchart illustrating another method for generating map data provided in this application embodiment;

[0019] Figure 8 A flowchart illustrating yet another method for generating map data provided in this application embodiment;

[0020] Figure 9 Schematic diagram of the principle provided for the embodiments of this application Figure 2 ;

[0021] Figure 10 Schematic diagram of the principle provided for the embodiments of this application Figure 3 ;

[0022] Figure 11 A schematic diagram of a map data generation device provided in an embodiment of this application;

[0023] Figure 12 A schematic diagram of a computing device provided in an embodiment of this application;

[0024] Figure 13 A schematic diagram of a computing device cluster provided in an embodiment of this application;

[0025] Figure 14 A schematic diagram of the connection method of the computing device cluster provided in the embodiments of this application. Figure 1 ;

[0026] Figure 15 A schematic diagram of the connection method of the computing device cluster provided in the embodiments of this application. Figure 2 . Detailed Implementation

[0027] To enable those skilled in the art to better understand the present application, the application scenarios of the present application will be described below.

[0028] See Figure 1 This figure is a schematic diagram of a scenario provided in an embodiment of this application. Figure 1 .

[0029] Suppose a new road L is opened between location A and location B, with location A as the starting point and location B as the ending point. In practical applications, locations A and B are connected to other roads that already have high-precision map data.

[0030] In order to generate high-precision map data for this road, it is necessary to acquire the data of road L through acquisition device 10.

[0031] The data acquisition device 10 in this embodiment can be a vehicle equipped with a LiDAR and / or a camera. The LiDAR can acquire point cloud data of the vehicle's surrounding environment, and the camera can acquire image data of the vehicle's surrounding environment. The point cloud data and image data are collectively referred to as the acquisition data of the acquisition device. During data acquisition, the positioning device 10 records the spatial location information of the device's travel trajectory points. This spatial location information includes longitude, latitude, and elevation information (e.g., altitude). Based on these travel trajectory points, the travel trajectory of the acquisition device can be determined; the travel trajectory can be understood as the acquisition trajectory of the acquisition device. Figure 1 The image only shows a scenario where one acquisition device 10 is collecting data.

[0032] Figure 1 After acquiring data, the data acquisition device 10 can upload the data to the map data processing server 20. The map data processing server 20 processes the data and obtains high-precision map data, which can then be published to the navigation server 30. Subsequently, when a vehicle uses a navigation application on road L for in-vehicle navigation, the navigation server 30 can provide the corresponding navigation data to the in-vehicle navigation application. Ultimately, road L and its map elements can be visualized on the navigation interface of the navigation application.

[0033] Map elements are the components used to construct high-precision maps, and may include, but are not limited to, ground elements and above-ground elements. Ground elements include, but are not limited to, directional arrows, lane lines, stop lines, and ground text. Above-ground elements include, but are not limited to, signs, traffic lights, speed cameras, traffic cameras, intersections, toll booths, and overpasses.

[0034] The map data processing server 20 processes data, including but not limited to processing collected data and processing other road data. After generating high-precision map data through data processing, the map data processing server 20 can merge the generated high-precision map data with the parent database data, thus realizing the import of high-precision map data into the parent database.

[0035] The data processing of high-precision map data needs to consider the integrity of the map data, which will be explained in detail below with reference to the attached diagram.

[0036] See Figure 2 This figure is a schematic diagram of a scenario provided in an embodiment of this application. Figure 2 .

[0037] Currently, when the map data processing server 20 processes the collected data, the map data processing task needs to process all the collected data of road L. The collected data of segments A-L1, L1-L2, L2-L3, L3-L4, and L4-B can be collected as a sub-batch of collected data.

[0038] A batch is a granularity of data collection and submission to the data processing platform. Typically, a batch will aggregate geospatial data collected by multiple collection devices within a predetermined collection period. A batch may typically cover hundreds of kilometers of road length.

[0039] Subbatches represent the smallest unit of map data integrity. They can be split according to algorithms and strategies based on actual conditions. A subbatch is a smaller task formed by splitting a batch, and it has a corresponding relationship with the batch. A subbatch typically covers a road length of tens of kilometers. A subbatch can be regarded as a processing task.

[0040] The integrity requirement of map data is that high-precision map data should be complete and coherent, and should be able to reflect the continuous changes in real roads, without isolated road data.

[0041] See also Figure 3 and Figure 4 .in, Figure 3 Scenario illustration provided for embodiments of this application Figure 3 ; Figure 4 Scenario illustration provided for embodiments of this application Figure 4 .

[0042] To ensure the integrity of high-precision map data, map data processing tasks are currently scheduled by processing them sequentially according to the direction of road extension, such as... Figure 3 As shown, once the data collection and processing of segment A-L1 is completed, the data collection and processing of segment L1-L2 is started, and the processing results of segment A-L1 are connected to segment L1-L2; once the data collection and processing of segment L1-L2 is completed, the data collection and processing of segment L2-L3 is started, and the processing results of segment L1-L2 are connected to segment L2-L3, and so on, until all tasks are completed, and then the high-precision map data of the entire road is released in a unified manner.

[0043] This method of processing and publishing high-precision map data ensures the integrity of the high-precision map data, meaning that the high-precision map data can reflect the characteristics of continuous real roads and avoids the published high-precision map data becoming data silos.

[0044] Data silos refer to roads depicted in high-definition map data that are isolated, meaning they are not connected to other road segments, and consequently, the high-definition map data corresponding to that road is also not connected to the high-definition map data corresponding to other roads. For example... Figure 4 If the task for the L3-L4 segment is processed directly and the high-precision map data for the L3-L4 segment is published separately, the high-precision map data for the L3-L4 segment will become a data silo because the high-precision map data corresponding to the adjacent road segments before and after the L3-L4 segment are not published. This would render the high-precision map data for the L3-L4 segment meaningless in actual navigation and unable to reflect the continuous changes in real-world roads. Furthermore, the L3-L4 map data may conflict with the subsequently obtained L2-L3 and L4-B segment map data at their connecting endpoints, such as misalignment or overlap, leading to a decrease in the quality of the high-precision map data.

[0045] However, for Figure 3 The processing method shown above suffers from poor timeliness during data acquisition and processing. Because subsequent tasks require the completion of preceding tasks and the integration of their processing results before execution can begin, the scheduling of multiple processing tasks is sequential, with later tasks waiting in the queue for a considerable time before execution can commence. This results in poor timeliness and hinders the timely publication of high-precision map data.

[0046] To address the above issues, this application provides a method, apparatus, computer cluster, and storage medium for generating map data. In this solution, the acquired data is divided into multiple processing tasks, each including multiple map data packets. The first map data packet in the road segment extension direction of each processing task is designated as the key position data packet. When the key position data packet is the first unprocessed map data packet in the road segment extension direction, its status is "processable"; otherwise, its status is "unprocessable." By processing all non-key position data packets and the processable key position data packets in parallel, the concurrency of the data acquisition process is improved, and contradictions between map data obtained from processing key position data packets first and map data obtained from preceding processing tasks are avoided. This ensures both concurrency and the integrity and timeliness of map data publication.

[0047] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be described below with reference to the accompanying drawings.

[0048] The terms "first," "second," etc., used in this application description are for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated.

[0049] This application provides a method for scheduling map data operation tasks, which will be described in detail below with reference to the accompanying drawings.

[0050] See Figure 1 The figure is a flowchart of a map data generation method provided in an embodiment of this application.

[0051] The method includes the following steps:

[0052] S11: Based on the collected data, determine multiple processing tasks and multiple map data packages corresponding to each processing task.

[0053] The collected data refers to the data of the real road collected by the collection device. In this embodiment of the application, the collected data may include point cloud data of the vehicle's surrounding environment collected by LiDAR and image data of the vehicle's surrounding environment collected by camera.

[0054] In this embodiment of the application, the collected data of one road can be considered as a batch. The batch is the granularity of the collected data submitted to the data processing platform. A batch of collected data can cover roads with a length of hundreds of kilometers.

[0055] See Figure 6 This figure is a schematic diagram of the principle provided in the embodiment of this application. Figure 1 .

[0056] The processing task represents the smallest granularity for map data integrity and can be broken down according to algorithms and strategies based on actual conditions. A processing task is essentially a smaller task formed after splitting a batch, and it has a corresponding relationship with the batch. A processing task typically covers road lengths of tens of kilometers. In this embodiment, the specific amount of data for each processing task is not limited and can be determined based on the actual road length. The road length covered by each processing task can be within a preset first length range. Figure 6 The following explanation uses the example of dividing the collected data into processing tasks S1-S4.

[0057] Each processing task contains a certain amount of collected data and / or intermediate data after preprocessing. By scheduling tasks, the job order, priority, inter-task relationships, and job availability of each processing task can be managed.

[0058] In this embodiment, after dividing a batch of collected data into multiple processing tasks, the collected data included in each processing task can be further divided into multiple map data packages. Each map data package includes collected data of a certain length of road. That is, each map data package includes a portion of the collected data for the corresponding processing task. Completing the processing of the collected data in one processing task is equivalent to completing the processing of all map data packages. The map data package is the basic unit for manual processing or algorithmic processing by the map data processing platform. In this embodiment, the specific number of map data packages included in each processing task is not limited. Furthermore, the number of map data packages included in each processing task can be the same or different.

[0059] For ease of explanation, Figure 6 The example given is that each processing task includes the same five map data packages, but this does not constitute a limitation on the technical solution of this application.

[0060] In this application embodiment, the road length covered by each map data package is not limited. Through a large number of experiments, the suggested range of road length covered by the map data package given in this application is 1-2 kilometers, but this does not constitute a limitation on the technical solution of this application.

[0061] Since the real-world roads corresponding to the collected data are continuous, the road segments corresponding to each processing task are also continuous, and the road segments corresponding to each map data package are also continuous.

[0062] Figure 6Taking the processing of road segments A-L1 for task S1, L1-L2 for task S2, L2-L3 for task S3, and L3-L4 for task S4 as an example, map data packages S1-1 to S1-5 include collected data for road segments A-L1, S2-1 to S2-5 include collected data for road segments L1-L2, S3-1 to S3-5 include collected data for road segments L2-L3, and S4-1 to S4-5 include collected data for road segments L3-L4.

[0063] In this embodiment of the application, each processing task is used to generate map data for the corresponding road segment. That is, after processing each map data package of the processing task by the algorithm, the map data for the corresponding road segment can be obtained.

[0064] S12: Based on the direction of the actual road segment extension, determine at least one key location data package from the multiple map data packages corresponding to each processing task.

[0065] This application, for example, improves the concurrency of map data package processing by redesigning the scheduling scheme for processing tasks. Scheduling refers to controlling the start or stop of processing units on the map data processing platform using certain algorithms and strategies.

[0066] In this embodiment of the application, the key location data package is the first map data package of the corresponding processing task in the road segment extension direction. Figure 6 This batch of collected data covers roads from A to L4. The road segments shown in the diagram extend from A to L4.

[0067] Figure 6 The key location data packets are S1-1, S2-1, S3-1, and S4-1, respectively.

[0068] When the key position data packet is the first incomplete map data packet in the road segment extension direction, its status is "processable"; otherwise, it is "unprocessable." This setting ensures that the map data reflects continuous real-world road features. When the key position data packet is the first incomplete map data packet in the road segment extension direction, it indicates that the map data packets of the preceding adjacent processing tasks have all been processed, and the map data packets of the preceding non-adjacent processing tasks have also been processed. In other words, both the preceding adjacent and non-adjacent tasks have been completed, and the processing task containing the key position data packet is the first incomplete processing task in the road segment extension direction.

[0069] Since the preceding adjacent processing task has been completed, the processing result of the preceding adjacent processing task can be accessed at this time, avoiding contradictions between the processing result of the key location data package and the processing result of the preceding processing task, and ensuring the continuity of map data.

[0070] S13: Perform parallel processing on all non-key bit data packets and key bit data packets in the processable state.

[0071] Parallel processing of all non-key location data packets and key location data packets in a processable state improves concurrency, thereby shortening the overall data processing time and enabling faster acquisition of map data for the entire road, thus improving the timeliness of map data release.

[0072] In one possible implementation, map data for the road segments corresponding to completed processing tasks can be published in real time. That is, in this embodiment, the map data can be published in segments rather than as a whole road segment, thus enabling faster publication of processed map data and improving timeliness.

[0073] The key position data packet is the first map data packet of the corresponding processing task in the direction of road segment extension. The key position data packet needs to be connected to the processing results of the adjacent preceding task before processing can be started. Therefore, the key position data packet is used to realize the control of the processing task.

[0074] Specifically, for S1-1, since S1-1 is the first unprocessed map data packet in the road segment extension direction, its state is currently processable. Meanwhile, S2-1, S3-1, and S4-1 are not the first unprocessed map data packets in the road segment extension direction, therefore their states are unprocessable. S1-1 to S1-5 can be processed in parallel with other non-key position data packets for processing tasks. Before S1-1 to S1-5 are completed, that is, before processing task S1 is completed, other subsequent processing tasks cannot be completed because the key position data packets are in an unprocessable state. Therefore, the map data for the road segments corresponding to other subsequent processing tasks will not be published, preventing the published map data from becoming data silos.

[0075] Once S1-1 to S1-5 are completed, processing task S1 is finished, and the map data for road segment A-L1 corresponding to processing task S1 is published. S2-1 is the first unprocessed map data packet in the road segment extension direction, and the state of S2-1 switches to processable. For processing task S2, since map data packets S2-2 to S2-5 have already started parallel processing in advance, processing task S2 may only have key position data packet S2-1 remaining unprocessed, or only key position data packet S2-1 and a small number of non-key position data packets remaining unprocessed. Therefore, the remaining processing time for processing task S2 can be significantly shortened, and processing task S2 can be completed quickly, allowing the map data for road segment L1-L2 to be published relatively quickly.

[0076] After that, S3-1 is the first unprocessed map data package in the direction of road segment extension. The status of S3-1 is switched to processable. This process continues until the map data of road segments L2-L3 and L3-L4 are all released. At this point, the processing of the entire batch of collected data is complete.

[0077] In summary, the solution provided by the embodiments of this application can promptly publish the map data of the road segments corresponding to the completed processing tasks, thereby improving timeliness. Furthermore, by setting key location data packages, the integrity of the map data is ensured while concurrent processing of collected data is maintained.

[0078] The following section will explain the specific implementation method.

[0079] A complete L1 road can be like Figure 1 As shown, points A and B are included. This road can be a highway, and its total length is relatively long, allowing for numerous highway entrances and exits to connect L1 with other roads and form a network. The starting point A and ending point B of L1 are the endpoints where L1 connects with other roads.

[0080] In the embodiments of this application, the road extension direction refers to the direction extending from the starting point of the road to the ending point, or the direction extending from the ending point to the starting point.

[0081] If all the collected data between points A and B is obtained, then the road segment extension direction corresponding to road L1 at this time includes the first extension direction and the second extension direction.

[0082] The first extension direction extends from the first segment of the actual road to the last segment, that is, from the starting point to the end point. The second extension direction extends from the last segment of the actual road to the first segment, that is, from the end point to the starting point.

[0083] However, there may be instances where not all data for road L1 has been acquired. Incomplete data collection could be due to the road not being fully open to traffic, or data collection for certain sections not yet being completed. For example, data for road A to L4 may have been acquired, but data for section L4-B may not yet be available. While it's possible to process the data from A to L4 to obtain map data for that section, since L4 is not connected to other roads, the road segment's extension direction only includes the first extension direction, i.e., from the starting point to the end point.

[0084] The solution of this application embodiment can be applied to the two scenarios described above: complete data collection and incomplete data collection. The implementation method when applied to the scenario of incomplete data collection is described first below.

[0085] See Figure 7The figure is a flowchart of another method for generating map data provided in an embodiment of this application.

[0086] The method includes the following steps:

[0087] S21: Based on the road connectivity attributes and the road data collected, determine multiple processing tasks.

[0088] The connectivity attribute of a road is used to indicate road ramps and intersections. A road ramp typically refers to a short auxiliary lane providing access to and from a main road. The main road can be a highway, elevated road, bridge, or tunnel. An intersection refers to the point where the current road intersects with other roads. The connectivity attribute of a road can characterize the spatial shape features of the road. In one possible implementation, the collected data for a certain length of road can be divided into a single processing task. This road segment may include multiple road sections, and may also include one or more ramps and intersections, or it may include multiple road sections but not ramps and intersections. It is important to note that in practical applications, the collected data for the same ramp or intersection should be grouped into a single processing task as much as possible to ensure the data integrity of map elements.

[0089] The road length corresponding to each processing task is within the first length range. The suggested value range for the first length range given in this application embodiment is 10km-25km, but this does not constitute a limitation on the first length range.

[0090] This application does not limit the specific number of processing tasks. The road lengths covered by the data collected in each processing task may be the same or different.

[0091] S22: Based on the map elements on the road segments corresponding to each processing task, divide each processing task into multiple map data packages.

[0092] Map elements are the components used to construct a map. Map elements include, but are not limited to, one or more of the following: intersections, ramps, and toll booths.

[0093] It is important to note that in practical applications, data collected for the same map element should ideally be grouped into a single map data package to ensure the integrity of the map element's data. This avoids a decrease in the accuracy of the processing results if the collected data for the same map element is divided into two separate map data packages for processing.

[0094] The road length corresponding to each map data package is in the second length range. The suggested value range for the second length range given in this application embodiment is 1km-2km, but this does not constitute a limitation on the first length range.

[0095] It is understandable that the first length interval is greater than the second length interval, meaning that the road length corresponding to the map data package is less than the road length corresponding to the processing task.

[0096] This application does not limit the specific number of map data packages included in each processing task. The road lengths covered by the collected data in each map data package may be the same or different. The number of map data packages included in each processing task may be the same or different.

[0097] S23: Based on the spatial continuity of the road segments corresponding to each processing task, sort the processing tasks according to the direction of road segment extension.

[0098] When sorting the processing tasks and their corresponding map data packages according to the direction of road segment extension, since the road segments are spatially continuous, the processing tasks can be sorted according to the direction of road segment extension. See also... Figure 6 Examples.

[0099] Data collected from segment A-L1 corresponds to processing task S1, data collected from segment L1-L2 corresponds to processing task S2, data collected from segment L2-L3 corresponds to processing task S3, and data collected from segment L3-L4 corresponds to processing task S4.

[0100] The processing tasks are sorted in the order of the road segment extension direction as S1-S2-S3-S4.

[0101] S24: Based on the location data included in each map data package, sort the multiple map data packages corresponding to each processing task according to the direction of road segment extension.

[0102] Location data includes at least latitude and longitude coordinates, and may further include altitude. Taking location data that includes both latitude and longitude coordinates and altitude as an example, location data can be represented as coordinate points in the form of (X, Y, Z), where X represents the longitude coordinate, Y represents the latitude coordinate, and Z represents the altitude.

[0103] Since the distance between the coordinates indicated by two adjacent location data is the shortest, adjacent map data packages can be determined based on the first and last location data included in each map data package.

[0104] For example, for the same processing task, the last location data of a certain map data packet is (X0, Y0, Z0), and the first spatial data of all other map data packets are (X1, Y1, Z1), (X2, Y2, Z2), ..., (X... M Y M Z M M is a positive integer.

[0105] When a map data package is identified as adjacent to this map data package, the distance Li between the spatial data (X0, Y0, Z0) and the coordinate points indicated by other spatial data is calculated:

[0106] Li=√(X i -X0) 2 +(Y i -Y0) 2 +(Z0-Z1) 2 (1)

[0107] In equation (1) above, i = 1, 2, ..., M. When Li is at its minimum, the map data packets corresponding to the two coordinate points are adjacent.

[0108] The map data packages are sorted according to the direction of road segment extension as follows: Figure 6 , in order: S1-1, S1-2, S1-3, S1-4, S1-5, S2-1, S2-2, S2-3, S2-4, S2-5, S3-1, S3-2, S3-3, S3-4, S3-5, S4-1, S4-2, S4-3, S4-4, S4-5.

[0109] S25: Identify the first map data package corresponding to each processing task as the key location data package.

[0110] The key location data packet is the first map data packet in the road segment extension direction for the corresponding processing task. When the key location data packet is also the first unprocessed map data packet in the road segment extension direction, the status is "processable"; otherwise, the status is "unprocessable".

[0111] Figure 6 The key location data packets are S1-1, S2-1, S3-1, and S4-1, respectively.

[0112] S26: Perform parallel processing on all non-key bit data packets and key bit data packets in the processable state.

[0113] To ensure the integrity of map data, the map data contained in each map data package must be connected with the map data contained in adjacent map data packages and be able to reflect the continuous changes in the real roads, rather than becoming data silos. This application embodiment, by setting up key-position data packages, ensures that other adjacent or non-adjacent subsequent processing tasks cannot be completed before the earlier processing task is finished. Therefore, the map data of road segments corresponding to other subsequent processing tasks will not be published separately in advance, avoiding the publication of data silos.

[0114] For example, since S1-1 is the first incomplete map data package in the direction of road segment extension, the state of S1-1 is processable at this time, while the other key position data packages are unprocessable.

[0115] S1-1 is processed in parallel with all other non-key slot data packets. Before task S1 is completed, the other key slot data packets are in an unprocessable state. Once task S1 is completed, key slot data packet S2-1 becomes processable. Since map data packets S2-2 to S2-5 have already begun parallel processing, the remaining processing time for task S2 can be significantly reduced, and task S2 can be completed quickly. Other processing tasks are similar and will not be described further here.

[0116] S27: Publish map data for the road segments corresponding to the completed processing tasks.

[0117] By publishing the map data of the road segments corresponding to the completed processing tasks in a timely manner, the timeliness is improved, and the published map data will not be isolated.

[0118] The above embodiments illustrate the implementation method when the road segment extension direction includes one direction. The following describes the implementation method when the road segment extension direction includes a first extension direction and a second extension direction.

[0119] See Figure 8 The figure is a flowchart of another map data generation method provided in the embodiments of this application.

[0120] The method includes the following steps:

[0121] S31: Based on the road connectivity attributes and the road data collected, determine multiple processing tasks.

[0122] The method for determining the processing task can be found in the explanation in S21 above, and will not be repeated here.

[0123] S32: Based on the map elements on the road segments corresponding to each processing task, divide each processing task into multiple map data packages.

[0124] The method for determining the map data package can be found in the explanation in S22 above, and will not be repeated here.

[0125] S33: Based on the spatial continuity of the road segments corresponding to each processing task, sort the processing tasks according to the first extension direction.

[0126] The road segments in this scenario extend in two directions: a first direction and a second direction. Therefore, they can also be sorted according to the second direction. In practical applications, since the collected data for the road segments remains unchanged, the results of sorting according to the first direction and the second direction should be the same.

[0127] For details on the specific task sorting method, please refer to the explanation in S23, which will not be repeated here.

[0128] S34: Based on the location data included in each map data package, sort the multiple map data packages corresponding to each processing task according to the first extension direction.

[0129] The road segments in this scenario extend in two directions: a first direction and a second direction. Therefore, they can also be sorted according to the second direction. In practical applications, since the collected data for the road segments remains unchanged, the results of sorting according to the first direction and the second direction should be the same.

[0130] For details on the specific sorting method of the map data packages, please refer to the explanation in S24, which will not be repeated here.

[0131] S35: Determine the key location data package for each processing task based on the number of processing tasks.

[0132] When a road segment extends in both directions (first and second), to ensure processing efficiency in parallel processing and the integrity of map data obtained by each processing task, the number of key location data packets is related to the specific location and the number of processing tasks. A key location data packet is the first map data packet for the corresponding processing task in at least one road segment extension direction.

[0133] The following explanations are provided in conjunction with the accompanying drawings.

[0134] The number of tasks to be processed is N, where N is a positive integer greater than 2. It is understood that when the number of tasks to be processed is less than 2, a key data package may not be required; alternatively, the first or last map data package of any processed task may be designated as the key data package. Both approaches can avoid data silos in the published map data.

[0135] The following section will first explain the case when N is an odd number.

[0136] See also Figure 9 This figure is a schematic diagram of the principle provided in the embodiment of this application. Figure 2 .

[0137] When N is odd, round down N / 2 to get M. Use the first map data package of the first M processing tasks as the key location data package, the last map data package of the next M processing tasks as the key location data package, and the first and last map data packages of the (M+1)th processing task as the key location data packages. The following explanation uses N=5 as an example.

[0138] Figure 9 Taking the processing of road segments A-L1 corresponding to task S1, L1-L2 corresponding to task S2, L2-L3 corresponding to task S3, L3-L4 corresponding to task S4, and L4-B corresponding to task S5 as an example.

[0139] The first extension direction in the diagram is from A to B, and the second extension direction is from B to A.

[0140] When N is 5, there are five processing tasks, N / 2 equals 2.5, and M is 2 after rounding down.

[0141] At this point, the first map data package of the first two processing tasks is used as the key location data package, the last map data package of the last two processing tasks is used as the key location data package, and the first and last map data packages of the third processing task are used as the key location data packages.

[0142] When the key location data package is the first incomplete map data package in any road segment extension direction, its status can be processed; otherwise, its status is unprocessable.

[0143] When scheduling processing tasks, S1-1 is the first unprocessed map data package in the first extension direction, so the state of S1-1 is processable; at the same time, S5-3 is the first unprocessed map data package in the second extension direction, so the state of S5-3 is processable; the states of S2-1, S3-1, S3-3 and S4-3 are unprocessable.

[0144] When processing all non-key location data packets and key location data packets in a processable state in parallel, processing tasks S1 and S5 can be completed first. At this time, the map data for segments A-L1 and L4-B is published. Since both A and B are connected to other roads except road L, the map data for segments A-L1 and L4-B will not become data silos.

[0145] After tasks S1 and S5 are completed, S2-1 becomes the first unprocessed map data package in the first extension direction, and its status changes to processable; S4-3 becomes the first unprocessed map data package in the second extension direction, and its status changes to processable; S3-1 and S3-3 become unprocessable.

[0146] Because S2-2, S2-3, and S2-4 are processed in advance, processing task S2 can be completed faster; similarly, because S4-1 and S4-2 are processed in advance, processing task S4 can be completed faster. In this embodiment, since processing task S4 has a smaller number of data packets, it is assumed that processing task S4 completes before processing task S2. At this time, the map data for segment L3-L4 is published. Since segment L4 is connected to segment L4-B, the map data for segment L3-L4 will not become isolated data.

[0147] Then, task S2 is completed, and the map data for segment L1-L2 is published. Since L1 is connected to segment A-L1, the map data for segment L1-L2 will not become isolated data.

[0148] After task S2 is completed, S2-1 becomes the first unprocessed map data packet in the first extension direction, and its status changes to processable. After task S4 is completed, S3-3 becomes the first unprocessed map data packet in the second extension direction, and its status changes to processable. At this time, task S3 can access the processing results of tasks S2 and S4. After task S3 is completed, the map data for segment L2-L3 is published. Since L2 is connected to segment L1-L2 and L3 is connected to segment L3-L4, the map data for segment L2-L3 will not become isolated data.

[0149] It is important to note that the reason for setting two key data packets for the M+1th, or 3rd, processing task is twofold: Firstly, for intermediate processing tasks, since there are two road segment extension directions, data from both directions needs to be accessed to ensure that the map data reflects the continuous changes in the real roads. Secondly, since the completion speed of the processing tasks in the two road segment extension directions cannot be predicted in advance, setting two key data packets for the intermediate processing task, through a binary search approach, can basically balance the map data release speed in the two road segment extension directions. This means that the time interval between the states of S3-1 and S3-3 in the figure switching to processable is relatively short, improving the timeliness of map data release.

[0150] To facilitate understanding, let's illustrate with an example. Suppose that the current processing task S3 selects only S3-1 as the key data packet, while S3-3 is a non-key data packet. S3-3 can be processed in parallel normally, which would result in S3-3 and S4-1 being processed in parallel. S3-3 and S4-1 are adjacent map data packets, but they belong to different processing tasks. In this case, when processing S3-3, the map data for road segment L3-L4 of its connected processing task S4 cannot be obtained (because S4 is not yet complete). This could lead to contradictions or abrupt changes between the map data of S3-3 and S4-1, failing to reflect the continuous changes in the real-world roads. Therefore, it is necessary to designate both S3-1 and S3-3 as key data packets.

[0151] For example, if task S3 selects only S3-1 as the key location data package, but task S4 selects both S4-1 and S4-3 as key location data packages, it will lead to an imbalance in the map data publishing speed of the two extension directions. Specifically, after task S5 is completed, the state of S4-3 becomes processable, but since tasks S2 and S3 may not be completed at this time, S4-1 remains in an unprocessable state, and therefore task S4 cannot be completed. This causes map data in the second extension direction to no longer be published, and S4 can only be completed after S2 and S3 in the first extension direction are completed in sequence, which reduces the timeliness of map data publishing.

[0152] See also Figure 10 This figure is a schematic diagram of the principle provided in the embodiment of this application. Figure 3 .

[0153] When N is even, the first map data packet of the first N / 2-1 processing tasks is used as the key data packet, the last map data packet of the next N / 2-1 processing tasks is used as the key data packet, and the first and last map data packets of the N / 2th and N / 2+1th processing tasks are used as the key data packets. The following explanation uses N=4 as an example.

[0154] Figure 10 Taking the processing of task S1 corresponding to road segment A-L1, S2 corresponding to road segment L1-L2, S3 corresponding to road segment L2-L3, and S4 corresponding to road segment L3-B as an example.

[0155] The first extension direction in the diagram is from A to B, and the second extension direction is from B to A.

[0156] When N is 4, there are 4 processing tasks, N / 2 equals 2, and N / 2-1 equals 1.

[0157] At this point, the first map data packet of the first processing task is used as the key slot data packet, and the last map data packet of the last processing task is used as the key slot data packet. The first and last map data packets of the second and third processing tasks are used as key slot data packets. The key slot data packets at this point are: S1-1, S2-1, S2-4, S3-1, S3-3, S4-3.

[0158] When scheduling processing tasks, S1-1 is the first unprocessed map data packet in the first extension direction, so the state of S1-1 is processable; at the same time, S4-3 is the first unprocessed map data packet in the second extension direction, so the state of S4-3 is processable; the states of S2-1, S2-4, S3-1 and S3-3 are unprocessable.

[0159] When processing all non-key location data packets and key location data packets in a processable state in parallel, processing tasks S1 and S4 can be completed first. At this time, the map data for segments A-L1 and L3-B are published. Since both A and B are connected to other roads besides road L, the map data for segments A-L1 and L3-B will not become data silos.

[0160] After tasks S1 and S4 are completed, S2-1 becomes the first unprocessed map data package in the first extension direction, and its status changes to processable; S3-3 becomes the first unprocessed map data package in the second extension direction, and its status changes to processable; S2-4 and S3-1 become unprocessable.

[0161] In this embodiment, since the number of map data packets in processing task S3 is relatively small, it is assumed that map data packets S3-2 and S3-3 in processing task S3 can be processed before map data packets S2-1, S2-2, and S2-3. At this time, S3-1 is the first unprocessed map data packet in the second extension direction, and its state changes to processable.

[0162] Once S3-1 is completed, task S3 is finished. At this point, map data for segment L2-L3 is published. Because L3 is connected to road segment L3-B, the map data for segment L2-L3 will not become isolated data silos. Furthermore, because S3-2 was processed in advance, task S3 can be completed more quickly.

[0163] At this point, S2-4 becomes the only unprocessed map data packet in the two extended directions, and its status changes to processable. Because S2-2 and S2-3 were processed earlier, processing task S2 can be completed more quickly. Once processing task S2 is complete, the map data for segment L1-L2 is published. Since L1 is connected to segment A-L1, and L2 is connected to segment L2-L3, the map data for segment L1-L2 will not become isolated data.

[0164] It is important to note that for the N / 2 and N / 2+1th processing tasks, i.e., the 2nd and 3rd processing tasks, two key data packages are set up for the following reasons: Firstly, for the intermediate processing tasks, since there are two road segment extension directions, data from both processing directions needs to be accessed to ensure that the map data can reflect the continuous changes in the real roads. Secondly, setting two key data packages for the two intermediate processing tasks can basically balance the map data release speed in the two road segment extension directions, thereby improving the timeliness of map data release.

[0165] S36: Perform parallel processing on all non-key bit data packets and key bit data packets in the processable state.

[0166] S37: Publish map data for the road segments corresponding to completed processing tasks.

[0167] In summary, the solution provided by the embodiments of this application can publish the map data of the road segments corresponding to the completed processing tasks in a timely manner, realize the publication of map data in the extension direction of two road segments, improve timeliness, and ensure the integrity of map data while ensuring concurrent processing by setting key position data packages.

[0168] Based on the map data generation method provided in the above embodiments, this application also provides a map data generation device, which will be described in detail below with reference to the accompanying drawings.

[0169] See Figure 11 The figure is a schematic diagram of a map data generation device provided in an embodiment of this application.

[0170] The device includes a determining unit 61, a selecting unit 62, and a processing unit 63.

[0171] The determining unit 61 is used to determine multiple processing tasks and multiple map data packages corresponding to each processing task based on the collected data.

[0172] The road segments corresponding to each processing task are continuous, each processing task is used to generate map data for the corresponding road segment, and each map data package includes part of the collected data for the corresponding processing task.

[0173] Selection unit 62 is used to determine at least one key location data package from multiple map data packages corresponding to each processing task, based on the road segment extension direction.

[0174] When the key location data packet is the first unprocessed map data packet in the direction of road segment extension, its status is "processable"; otherwise, its status is "unprocessable".

[0175] The processing unit 63 is used to process all non-key bit data packets and key bit data packets in a processable state in parallel.

[0176] The processing unit 63 is also used to publish map data of the road segments corresponding to the completed processing tasks.

[0177] The specific functions of the determining unit 61, the selecting unit 62, and the processing unit 63 can be found in the steps of the above method embodiments, and will not be repeated here.

[0178] For example, the aforementioned determining unit 61, selecting unit 62, and processing unit 63 can be implemented in hardware or in software.

[0179] When implemented in software, the above units are applications running on computing devices, such as computing engines. These applications can be provided as virtualization services. Virtualization services can include virtual machine (VM) services, bare metal server (BMS) services, and container services. VM services utilize virtualization technology to create virtual machine resource pools across multiple physical hosts, providing VMs to users on demand. BMS services create virtual BMS resource pools across multiple physical hosts, providing BMS services to users on demand. Container services create virtual container resource pools across multiple physical hosts, providing containers to users on demand. A VM is a simulated virtual computer, or logically a computer. A BMS is a scalable, high-performance computing service with computing performance indistinguishable from traditional physical machines, featuring secure physical isolation. A container is a kernel virtualization technology that provides lightweight virtualization to isolate user space, processes, and resources. It should be understood that the VM service, BMS service, and container service mentioned above are merely specific examples. In practical applications, virtualization services can also include other lightweight or heavyweight virtualization services, which are not specifically limited here.

[0180] When implemented in hardware, the above units may include at least one computing device, such as a server. Alternatively, the above units may also be devices implemented using application-specific integrated circuits (ASICs) or programmable logic devices (PLDs). The PLD may be a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), generic array logic (GAL), or any combination thereof.

[0181] This application also provides a computing device, which will be described in detail below with reference to the accompanying drawings.

[0182] See Figure 12 This figure is a schematic diagram of a computing device provided in an embodiment of this application.

[0183] The computing device 1000 includes: a bus 1002, a processor 1004, a memory 1006, and a communication interface 1008.

[0184] The processor 1004, memory 1006, and communication interface 1008 communicate via bus 1002. The computing device 1000 can be a server or a terminal device. It should be understood that this application does not limit the number of processors and memories in the computing device 1000.

[0185] Bus 1002 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be divided into address buses, data buses, control buses, etc. Figure 12 The bus 1002 may be represented by a single line, but this does not mean that there is only one bus or one type of bus. The bus 1002 may include a path for transmitting information between various components of the computing device 1000 (e.g., memory 1006, processor 1004, communication interface 1008).

[0186] The processor 1004 may include any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).

[0187] The memory 1006 may include volatile memory, such as random access memory (RAM). The memory 1006 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD).

[0188] The memory 1006 stores executable program code, which the processor 1004 executes to implement the aforementioned map data generation method. Specifically, the memory 1006 stores instructions for executing the map data generation method.

[0189] The communication interface 1008 uses transceiver modules such as, but not limited to, network interface cards and transceivers to enable communication between the computing device 1000 and other devices or communication networks.

[0190] This application also provides a computing device cluster, which will be described in detail below with reference to the accompanying drawings.

[0191] See Figure 13 This figure is a schematic diagram of a computing device cluster provided in an embodiment of this application.

[0192] The computing device cluster includes at least one computing device. This computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smartphone.

[0193] like Figure 13 As shown, the computing device cluster includes multiple computing devices 1000. The memory 1006 of the computing devices 1000 in the computing device cluster may store the same instructions for executing the map data generation method.

[0194] In some possible implementations, one or more computing devices 1000 in the computing device cluster can also be used to execute some instructions of the map data generation method. In other words, a combination of one or more computing devices 1000 can jointly execute the instructions of the map data generation method.

[0195] Figure 14 One possible implementation is shown. For example... Figure 14 As shown, the two computing devices 1000A and 1000B are connected via a communication interface 1008. The memory in computing device 1000A stores instructions for executing the functions of processing unit 63. That is, computing device 1000A is used to process all non-key position data packets and key position data packets in a processable state in parallel, and can also publish map data of road segments corresponding to completed processing tasks.

[0196] The memory in computing device 1000B stores instructions for performing the functions of determination unit 61 and selection unit 62. In other words, the memory 1006 of computing devices 1000A and 1000B jointly stores instructions for determining multiple processing tasks and multiple map data packages corresponding to each processing task based on collected data, and for determining at least one key position data package from the multiple map data packages corresponding to each processing task based on the road segment extension direction of the actual road.

[0197] Furthermore, the computing device 1000A may also store instructions for determining the functions of the unit 61 and the selection unit 62, and the computing device 1000B may also process instructions for the functions of the unit 63.

[0198] Figure 14The connection method between the computing device clusters shown may be based on the fact that the map data generation method provided in this application may involve massive amounts of collected data, which may require huge computing power as support, and therefore may involve a large number of computing device nodes.

[0199] In another possible implementation, the functions implemented by the determining unit 61, the selecting unit 62, and the processing unit 63 can be respectively executed by three different computing devices.

[0200] It should be understood that Figure 14 The functions of computing device 1000A shown can also be performed by multiple computing devices 1000. Similarly, the functions of computing device 1000B can also be performed by multiple computing devices 1000.

[0201] In some possible implementations, one or more computing devices in a computing device cluster can be connected via a network. This network can be a wide area network (WAN) or a local area network (LAN), etc. Figure 15 One possible implementation is shown. For example... Figure 15 As shown, the two computing devices 1000C and 1000D are connected via a network. Specifically, they are connected to the network through the communication interfaces in each computing device. In this possible implementation, the memory 1006 in computing device 1000C stores instructions for performing the function of processing 63. Simultaneously, the memory 1006 in computing device 1000D stores instructions for performing the functions of determining unit 61 and selecting unit 62.

[0202] It should be understood that Figure 15 The functions of the computing device 1000C shown can also be performed by multiple computing devices 1000. Similarly, the functions of the computing device 1000D can also be performed by multiple computing devices 1000.

[0203] This application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium capable of being stored by a computing device, or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive). The computer-readable storage medium includes instructions that instruct a computing device to perform the above-described method for generating map data. This application also provides another computer-readable storage medium. This computer-readable storage medium includes instructions that instruct a computing device to perform the above-described method for generating map data.

[0204] This application also provides a computer program product containing instructions. The computer program product may be software or program products containing instructions, capable of running on a computing device or stored on any usable medium. When the computer program product is run on at least one computing device, it causes the at least one computing device to perform the above-described method for generating map data. This application also provides a computer program product containing instructions. When the computer program product is run on at least one computing device, it causes the at least one computing device to perform the above-described method for generating map data.

[0205] It should be understood that in this application, "at least one (item)" means one or more, and "more than" means two or more. "And / or" is used to describe the relationship between related objects, indicating that three relationships can exist. For example, "A and / or B" can represent three cases: only A exists, only B exists, and both A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one (item) of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items.

[0206] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to interchangeably. Each embodiment focuses on its differences from other embodiments. The device embodiments described above are merely illustrative, and the units and modules described as separate components may or may not be physically separate. Furthermore, some or all of the units and modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without creative effort.

[0207] The above description is only a specific embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications should also be considered within the scope of protection of this application.

Claims

1. A method for generating map data, characterized in that, The method includes: Based on the road data collected, multiple processing tasks and multiple map data packages corresponding to each processing task are determined. The road segments corresponding to each processing task are continuous. Each processing task is used to generate map data for the corresponding road segment. Each map data package includes a portion of the collected data for the corresponding processing task. Based on the direction of road segment extension, at least one key position data package is determined from multiple map data packages corresponding to each processing task; the key position data package is the first map data package of the corresponding processing task in the direction of road segment extension; when the key position data package is the first unprocessed map data package in the direction of road segment extension, the status is processable; otherwise, the status is unprocessable. All non-key bit data packets and key bit data packets in a processable state are processed in parallel.

2. The method according to claim 1, characterized in that, The road segment extends from the first road segment to the last road segment; The step of determining at least one key location data package from multiple map data packages corresponding to each processing task based on the road segment extension direction includes: The processing tasks and the multiple map data packages corresponding to each processing task are sorted according to the direction of road segment extension. The first map data package corresponding to each of the aforementioned processing tasks is identified as the key location data package.

3. The method according to claim 2, characterized in that, The step of sorting each processing task and the multiple map data packages corresponding to each processing task according to the road segment extension direction specifically includes: Based on the spatial continuity of the road segments corresponding to each processing task, the processing tasks are sorted according to the extension direction of the road segments. Based on the location data included in each map data package, the multiple map data packages corresponding to each processing task are sorted according to the direction of road segment extension.

4. The method according to claim 1, characterized in that, The road segment extension direction includes a first extension direction and a second extension direction. The first extension direction extends from the first road segment to the last road segment, and the second extension direction extends from the last road segment to the first road segment. The number of processing tasks is N, where N is a positive integer greater than 2. The step of determining at least one key location data package from multiple map data packages corresponding to each processing task, based on the road segment extension direction, includes: The processing tasks and the multiple map data packages corresponding to each processing task are sorted according to the first extension direction; When N is odd, the result of rounding down N / 2 is determined as M. The first map data package of the first M processing tasks is used as the key position data package, the last map data package of the last M processing tasks is used as the key position data package, and the first and last map data packages of the (M+1)th processing task are used as the key position data package. When N is even, the first map data packet of the first N / 2-1 processing tasks is used as the key location data packet, the last map data packet of the last N / 2-1 processing tasks is used as the key location data packet, and the first and last map data packets of the N / 2th and N / 2+1th processing tasks are used as the key location data packets.

5. The method according to claim 4, characterized in that, The step of sorting each of the processing tasks and the multiple map data packages corresponding to each processing task according to the first extension direction specifically includes: Based on the spatial continuity of the road segments corresponding to each processing task, the processing tasks are sorted according to the first extension direction. Based on the location data included in each of the map data packages, the multiple map data packages corresponding to each processing task are sorted according to the first extension direction.

6. The method according to any one of claims 1-5, characterized in that, The step of determining multiple processing tasks and multiple map data packages corresponding to each processing task based on road data collection includes: Based on the connectivity attributes of the road and the road data collected, multiple processing tasks are determined. The road length corresponding to each processing task is within a first length range. The connectivity attributes are used to indicate the ramps and intersections of the road. Based on the map elements on the road segments corresponding to each processing task, each processing task is divided into multiple map data packages. The road length corresponding to each map data package is in a second length interval, and the first length interval is greater than the second length interval. The map elements are one or more of the following: intersections, ramps, and toll stations.

7. The method according to claim 1, characterized in that, The parallel processing of all non-key bit data packets and key bit data packets in a processable state includes: The collected data included in all non-key position data packets and key position data packets in the processable state are processed in parallel. Specifically, the key position data packets in the processable state are processed as follows: The completed processing task adjacent to the key position data packet is identified as the first processing task. The key location data packet is processed using map data of the road segment corresponding to the first processing task.

8. The method according to claim 1, characterized in that, After performing parallel processing on all non-key bit data packets and the key bit data packets in a processable state, the method further includes: Publish map data for the road segments corresponding to the completed processing tasks.

9. A map data generation device, characterized in that, The map data generation device includes: a determining unit, a selecting unit, and a processing unit; The determining unit is used to determine multiple processing tasks and multiple map data packages corresponding to each processing task based on the road collection data. The road segments corresponding to each processing task are continuous. Each processing task is used to generate map data for the corresponding road segment. Each map data package includes a portion of the collection data of the corresponding processing task. The selection unit is used to determine at least one key location data package from multiple map data packages corresponding to each processing task according to the road segment extension direction; when the key location data package is the first unprocessed map data package in the road segment extension direction, the status is processable, otherwise the status is unprocessable. The processing unit is used to process all non-key bit data packets and key bit data packets in a processable state in parallel.

10. A computer equipment cluster, characterized in that, The computer equipment cluster includes at least one computer device; The at least one computer device includes at least one processor and at least one memory, wherein the at least one memory stores computer-readable instructions; The at least one processor executes the computer-readable instructions to cause the computer device cluster to perform the method for generating map data according to any one of claims 1 to 8.

11. A storage medium, characterized in that, It stores computer-readable instructions; The computer-readable instructions are used to implement the method for generating map data according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Map making method, device and system

    CN112632205A

  • Map data operation task processing method and device, medium and computer equipment

    CN115827806A