Data processing method and apparatus, device, and storage medium

By responding to update messages from the server in autonomous vehicles, requesting and adding incremental data from the server, the problem of poor timeliness of map data is solved, enabling timely updates and accuracy of map data, and improving the reliability of vehicle operation.

CN114840539BActive Publication Date: 2026-07-31BEIJING BAIDU NETCOM SCI & TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING BAIDU NETCOM SCI & TECH CO LTD
Filing Date
2022-04-21
Publication Date
2026-07-31

AI Technical Summary

Technical Problem

In existing technologies, the map data for autonomous vehicles is updated at a low frequency, resulting in poor timeliness and affecting the normal operation of the vehicles.

Method used

By responding to the server's update message, requesting the server's incremental data of the current version number, and determining the client's incremental data based on the obtained data, the client's map data is added to the previous map data to achieve timely updates of the map data.

Benefits of technology

It improves the timeliness of client-side map data, ensures consistency between map data and the real world, reduces data transmission volume, saves resource consumption, and avoids data loss when the network is poor, thus ensuring the integrity and accuracy of map data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114840539B_ABST
    Figure CN114840539B_ABST
Patent Text Reader

Abstract

This disclosure provides a data processing method, apparatus, device, and storage medium, relating to the field of computer technology, specifically to technologies such as autonomous driving and intelligent transportation. The data processing method includes: responding to an update message sent by a server, requesting server-side incremental data of the current version number from the server, wherein the update message is sent by the server after generating the server-side incremental data of the current version number, and the server-side incremental data of the current version number is map data that has changed within the current period corresponding to the current version number; determining client-side incremental data of the current version number based on the acquisition status of the server-side incremental data of the current version number; and adding the client-side incremental data of the current version number to the client-side map data before the update to obtain the updated client-side map data. This disclosure can improve the timeliness of client-side map data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of computer technology, specifically to the fields of autonomous driving and intelligent transportation, and in particular to a data processing method, apparatus, device, and storage medium. Background Technology

[0002] Autonomous vehicles (also known as driverless vehicles, computer-driven vehicles, or wheeled mobile robots) are intelligent vehicles that achieve driverless operation through computer systems.

[0003] Autonomous vehicles can utilize onboard map data while driving. In related technologies, the entire dataset on the vehicle is typically updated periodically, for example, by periodically downloading the full dataset from a server or performing offline updates at designated locations. However, periodically updating the entire dataset limits the frequency of data updates, generally to quarterly levels, resulting in poor timeliness of the onboard map data. Summary of the Invention

[0004] This disclosure provides a data processing method, apparatus, device, and storage medium.

[0005] According to one aspect of this disclosure, a data processing method is provided, comprising: responding to an update message sent by a server, requesting server-side incremental data of the current version number from the server, wherein the update message is sent by the server after generating the server-side incremental data of the current version number, and the server-side incremental data of the current version number is map data that has changed within the current period corresponding to the current version number; determining client-side incremental data of the current version number based on the acquisition status of the server-side incremental data of the current version number; and adding the client-side incremental data of the current version number to the client-side map data before the update to obtain the updated client-side map data.

[0006] According to another aspect of this disclosure, a data processing apparatus is provided, comprising: a request module, configured to request server-side incremental data of a current version number from the server in response to an update message sent by the server, wherein the update message is sent by the server after generating the server-side incremental data of the current version number, and the server-side incremental data of the current version number is map data that has changed within the current period corresponding to the current version number; a determination module, configured to determine client-side incremental data of the current version number based on the acquisition status of the server-side incremental data of the current version number; and an update module, configured to add the client-side incremental data of the current version number to the client-side map data before the update, so as to obtain updated client-side map data.

[0007] According to another aspect of this disclosure, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to said at least one processor; wherein the memory stores instructions executable by said at least one processor, said instructions being executed by said at least one processor to enable said at least one processor to perform the method as described in any of the foregoing aspects.

[0008] According to another aspect of this disclosure, a non-transitory computer-readable storage medium is provided storing computer instructions, wherein the computer instructions are configured to cause the computer to perform the method according to any of the preceding aspects.

[0009] According to another aspect of this disclosure, a computer program product is provided, comprising a computer program that, when executed by a processor, implements the method according to any of the preceding aspects.

[0010] According to another aspect of this disclosure, an autonomous vehicle is provided, including electronic devices as described in any of the foregoing aspects.

[0011] According to the technical solution disclosed herein, the timeliness of client-side map data can be improved.

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

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

[0014] Figure 1 This is a schematic diagram based on the first embodiment of the present disclosure;

[0015] Figure 2 This is a schematic diagram of incremental data on the server side and incremental data on the vehicle side in an embodiment of this disclosure;

[0016] Figure 3 This is a schematic diagram according to the second embodiment of the present disclosure;

[0017] Figure 4 yes Figure 3 Corresponding system interaction diagram;

[0018] Figure 5 This is a schematic diagram of map elements at the grid intersection in an embodiment of this disclosure;

[0019] Figure 6 This is a schematic diagram of the incremental index corresponding to each version number in the embodiments of this disclosure;

[0020] Figure 7 This is a schematic diagram illustrating the incremental index update process according to an embodiment of this disclosure;

[0021] Figure 8 This is a schematic diagram illustrating the storage of vehicle-side map data in an embodiment of this disclosure;

[0022] Figure 9 This is a schematic diagram of the database composition in an embodiment of this disclosure;

[0023] Figure 10 This is a schematic diagram of the spatial index in an embodiment of this disclosure;

[0024] Figure 11 This is a flowchart illustrating the execution of a query operation in an embodiment of this disclosure;

[0025] Figures 12a-12c This is a schematic diagram illustrating the process of performing the merging operation in an embodiment of this disclosure;

[0026] Figure 13 This is a schematic diagram according to the third embodiment of the present disclosure;

[0027] Figure 14 This is a schematic diagram according to the fourth embodiment of the present disclosure;

[0028] Figure 15 This is a schematic diagram of an electronic device used to implement the data processing method of the embodiments of this disclosure. Detailed Implementation

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

[0030] In related technologies, vehicle-side map data is generally updated periodically with full data. This method limits the frequency of data updates, typically to quarterly.

[0031] However, quarterly data updates can lead to poor timeliness of vehicle-side map data and inconsistencies between vehicle-side map data and the real world, which in turn affects the normal operation of vehicles.

[0032] To improve the timeliness of vehicle-side map data, this disclosure provides the following embodiments.

[0033] Figure 1 Based on the schematic diagram of the first embodiment of this disclosure, this embodiment provides a data processing method, which includes:

[0034] 101. In response to an update message sent by the server, request server incremental data of the current version number from the server. The update message is sent by the server after generating the server incremental data of the current version number. The server incremental data of the current version number is the map data that has changed within the current period corresponding to the current version number.

[0035] 102. Based on the acquisition of server-side incremental data for the current version number, determine the client-side incremental data for the current version number.

[0036] 103. In addition to the client map data before the update, add the client incremental data with the current version number to obtain the updated client map data.

[0037] The method in this embodiment can be applied to a client, which may include: vehicle terminal, mobile terminal (such as mobile phone, tablet computer, wearable device, etc.).

[0038] The data processing method in the following embodiments is illustrated using a vehicle as an example. For instance, it can be executed by the vehicle's autonomous driving system and / or by the vehicle's in-vehicle infotainment system.

[0039] The server is used to produce multiple versions of map data, with a short production cycle, such as hours.

[0040] Different versions of map data can be identified by different version numbers. For example, the version numbers of multiple versions of map data are 101, 102 and 103.

[0041] Incremental data refers to map data that changes within the current period. The current period refers to the time between the time when the map data of the current version number was generated and the time when the map data of the previous version number was generated.

[0042] Map data is typically organized and processed in units of grids (or tiles).

[0043] For example, the server generates map data of the previous version number at t1 and map data of the current version number at t2. If the grid data in one or more grids changes during the time period [t1, t2] (for example, the map elements in the corresponding grid change), the changed grid data will be used as the server's incremental data for the current version number.

[0044] Both the server and the vehicle can store map data in the form of incremental data. Accordingly, incremental data can be divided into server-side incremental data and vehicle-side incremental data.

[0045] The initial full map data can be called baseline map data. The baseline map data on the server side can be called server-side baseline data, and the baseline map data on the vehicle side can be called vehicle-side baseline data.

[0046] like Figure 2 As shown, the map data on the server side can include: server-side baseline data and server-side incremental data. The version number of the server-side baseline data is 101, and the server-side incremental data can correspond to one or more version numbers. Figure 2 In the data, the version numbers of the incremental data on the server side are 102 and 103, respectively.

[0047] Server-side incremental data with version number 102 is marked with a thick solid line and labeled with 102; server-side incremental data with version number 103 is marked with a thick solid line and labeled with 103.

[0048] When the server undergoes a version update, such as updating version 101 to version 102, or version 102 to version 103, it can send an update message to the vehicle.

[0049] When a vehicle responds to an update message sent by the server, it can request incremental data from the server. For example, after the server's map data is updated from version 101 to version 102, the vehicle can request incremental data with version number 102 from the server.

[0050] Although the vehicle can request data from the server, the network connection between the vehicle and the server may be poor or nonexistent. Therefore, the vehicle may or may not be able to obtain the requested data.

[0051] Based on the acquisition status of the incremental data requested by the vehicle, the incremental data on the vehicle can be determined. That is, due to network uncertainties, the incremental data on the vehicle and the incremental data on the server, even with the same version, may or may not be the same.

[0052] For example, such as Figure 2 As shown, assuming that unobtainable data is called unknown data, denoted by x, for version number 102, the server-side incremental data for version 102 consists of 5 grid data points marked as 102. However, the vehicle-side incremental data for version 102 includes 2 grid data points marked as 102 and 3 unknown data points (marked by x). For version number 103, assuming that the vehicle obtains all the incremental data for the corresponding version from the server, then both the server-side incremental data and the vehicle-side incremental data for version 103 include 2 grid data points marked as 103.

[0053] Once the incremental vehicle data corresponding to the current version number is determined, the vehicle map data can be updated by adding new data.

[0054] Still for reference Figure 2 Assuming the current version number is 102, the vehicle-side map data before the update is the vehicle-side baseline map data of version number 101. After obtaining the vehicle-side incremental data of version number 102, the vehicle-side incremental data of version number 102 can be added. Thus, the updated vehicle-side map data includes: the vehicle-side baseline map data of version number 101 and the vehicle-side incremental data of version number 102.

[0055] Assuming the current version number is 103, the vehicle-side map data before the update includes: the vehicle-side baseline map data of version number 101, and the vehicle-side incremental data of version number 102. After obtaining the vehicle-side incremental data of version number 103, the vehicle-side incremental data of version number 103 can be added. Thus, the updated vehicle-side map data includes: the vehicle-side baseline map data of version number 101, the vehicle-side incremental data of version number 102, and the vehicle-side incremental data of version number 103.

[0056] Because vehicle-side map data is updated by adding incremental data of the current version number to the vehicle-side map data before the update, rather than overwriting one or more grid data, the vehicle-side map data will include vehicle-side map data of multiple versions.

[0057] In this embodiment, the vehicle-side map data is updated using the vehicle-side incremental data of the current version number. The vehicle-side incremental data of the current version number is determined in response to the server's update message, based on the acquisition status of the server's incremental data. The update message is sent after the server generates the new version of the incremental map data. Therefore, the update cycle of the vehicle-side incremental data is consistent with the generation cycle of the server's incremental map data, generally on an hourly basis. Compared with the quarterly full data update method, this ensures that the vehicle-side map data is updated in a timely manner, improving the timeliness of the vehicle-side map data, and thus allowing the latest data to be retrieved when querying map data in the future. By requesting incremental data instead of full data, the vehicle-side map data can be updated faster, and the data transmission volume can be reduced, improving transmission efficiency and saving resource consumption. By adding the vehicle-side incremental data corresponding to the new version in addition to the vehicle-side map data before the update, instead of overwriting the vehicle-side map data before the update, data loss caused by poor network connection between the vehicle and the server can be avoided, ensuring the integrity and accuracy of the vehicle-side map data. In addition, it can also achieve optimal degradation when querying vehicle-side map data in the future, that is, to query the latest version of vehicle-side map data as much as possible.

[0058] The above describes the process of updating vehicle-side map data. The updated vehicle-side map data can be used in subsequent processes. For example, applications installed on the vehicle can query the updated vehicle-side map data and perform operations such as route navigation based on the queried data. Furthermore, since the updated vehicle-side map data consists of multiple versions, to save storage resources and improve query efficiency, the multiple versions of map data can be merged periodically.

[0059] Figure 3 Based on a schematic diagram of the second embodiment of this disclosure, this embodiment provides a data processing method. Figure 4 yes Figure 3 The corresponding system interaction diagram.

[0060] See Figure 3 The method provided in this embodiment includes:

[0061] 301. The server generates incremental server data with the current version number.

[0062] The server-side production cycle is typically on the hourly level, meaning that a new version of the server-side map data can be produced every hour.

[0063] Specifically, see Figure 4 The server-side can be divided into offline and online services. The map data production module within the offline service can generate various versions of server-side map data offline. After generating a new version of the server-side map data, the offline service can push this new version to the online map data service. Figure 7 The text indicates that the latest version of the data has been released.

[0064] The current version number refers to the version number of the latest version of data released by the server.

[0065] The initial version of the server-side map data can be called the server-side baseline data, while non-initial versions of the server-side map data can be called the server-side incremental data. Furthermore, the incremental data of the server-side baseline data can be considered as the server-side baseline data itself.

[0066] Multiple versions of server-side map data can be used as follows Figure 2 As shown on the left, it includes server baseline data with version number 101, server incremental data with version number 102, and server incremental data with version number 103.

[0067] The server-side map data for each version can be generated in the following ways:

[0068] Map data is processed in units of grids (or tiles). The map data can be divided into n (n is a positive integer) layers. The larger n is, the smaller the size of a single grid. For example, if m = 18, the side length of the grid is 150m, and if m = 15, the side length of the grid is 1200m. The specific values ​​can be adjusted according to actual needs.

[0069] For map data of the same version, each grid cell can be identified using a unique ID within that version. This unique ID can be obtained using the GeoHash algorithm, an address encoding method that encodes two-dimensional spatial latitude and longitude data into a one-dimensional string.

[0070] Map elements can include points, lines, and polygons; points, lines, and polygons at grid boundaries can be like... Figure 5 As shown in (a) to (c).

[0071] For the points, lines, and polygons mentioned above, the corresponding map data can be generated as follows:

[0072] Point data is stored in two separate grids, one for each adjacent grid, and they are marked as co-locations.

[0073] Line data is broken at the intersection of adjacent grids, and new nodes are generated in the associated grid data at the break point, and they are marked as co-locations.

[0074] The surface data is broken at the intersection of adjacent grids. New nodes are generated in the associated grid data at the break points and marked as co-location points. These nodes, together with the vertices of the grids, form new surface data.

[0075] 302. The server sends an update message to the vehicle.

[0076] Among them, such as Figure 4 As shown, after receiving a new version of map data, the online map data service can send the version number to the message queue. The vehicle infotainment platform service subscribes to the version number, and the message queue pushes version update messages to the vehicle infotainment platform service. After receiving the version update message, the vehicle infotainment platform service pushes the latest version number to the map application programming interface (API) on the vehicle.

[0077] 303. The vehicle responds to the update message sent by the server and requests the server's incremental data for the current version number.

[0078] The current version number is the latest version number pushed by the server.

[0079] The update message is a push notification that includes the current version number.

[0080] After receiving a push message containing the current version number, the vehicle can request incremental server data for that current version number from the server.

[0081] Among them, such as Figure 4 As shown, the vehicle-side map data service may include a baseline map data module, a map data cache module, and an online data module. Vehicle-side baseline data can be stored within the baseline map data module; incremental data obtained by the vehicle from the server can be stored within the map data cache module; and the online data module is used to obtain data from the server in real time.

[0082] After receiving the update message from the server, the map API can send a map data read command to the vehicle-side map data service. The online data module within the vehicle-side map data service can then retrieve the latest version of the data from the online map data service based on the read command.

[0083] Understandably, map API read commands can also be generated based on application triggers. For example, when an application needs to use map data, it can send a query request to the map API, and the map API will generate read commands based on the query request.

[0084] Since vehicle-side map data is typically organized in a grid, map APIs can abstract away this organizational structure, creating a logically seamless map and providing map data to upper-layer applications. For example, when querying details of a road (link) via the map API, upper-layer applications don't need to know the grid to which the link belongs; they can retrieve the corresponding version of the vehicle-side map data based on the link_id.

[0085] In addition, both server-side baseline data and vehicle-side baseline data can be updated regularly. Since baseline map data is full data, its update cycle is generally longer than the production cycle of incremental data produced by the server.

[0086] Server-side baseline data is generated at fixed intervals, which reduces the number of data layers that the online map data service needs to query when distributing incremental data, and reduces the storage scale of old version data. Vehicle-side baseline data is also updated regularly, reducing bad cases caused by using outdated baseline data in situations without network access.

[0087] The version numbers of the server-side baseline data and the vehicle-side baseline data can be the same or different. Users can specify a version number of full data as the vehicle-side baseline data. However, the version number of the incremental data must be the same. For example, if the version number of the vehicle-side baseline data is 102, the version number of the server-side baseline data is 101, and the version number of the first version of the vehicle-side incremental data is 103, then the vehicle-side incremental data with version number 103 needs to be determined based on the acquisition of the server-side incremental data with version number 103.

[0088] 304. Based on the acquisition of incremental data from the server with the current version number, the vehicle determines the incremental data for the current version number and generates an incremental index corresponding to the current version number. The incremental index is used to indicate the latest version number of the vehicle grid data for each grid in the full grid.

[0089] Regarding incremental data from the vehicle side:

[0090] Due to the uncertainty of the network connection between the vehicle and the server, incremental data on the server and the vehicle may be the same or different for the same version number.

[0091] Specifically, the server-side incremental data includes: server-side grid data of at least one grid; the vehicle-side incremental data includes: vehicle-side grid data of at least one grid; determining the vehicle-side incremental data of the current version number based on the acquisition status of the server-side incremental data of the current version number includes: for the first grid, taking the server-side grid data of the first grid of the current version number as the vehicle-side grid data of the first grid of the current version number; for the second grid, setting the vehicle-side grid data of the second grid of the current version number as unknown data; wherein, the first grid is the grid to which the acquired server-side grid data belongs, and the second grid is the grid to which the unacquired server-side grid data belongs.

[0092] For example, the relationship between the incremental data on the vehicle side for each version number and the incremental data on the server side for the corresponding version number can be as follows: Figure 2 As shown in the diagram. Unknown data is identified by 'x', and non-unknown data is identified by the corresponding version number (e.g., 101, 102, 103). The incremental data of the vehicle baseline can be considered as the vehicle baseline data itself.

[0093] In the example above, using the incremental server data of the first grid as the vehicle-side grid data of the first grid can update the grid data of the first grid in a timely manner, ensuring the consistency between the vehicle-side grid data and the server-side grid data of the corresponding grid; setting the vehicle-side grid data of the second grid as unknown data, since the second grid is the grid to which the unacquired server-side grid data belongs, can reflect the actual data acquisition situation and ensure the authenticity of the vehicle-side map data.

[0094] Regarding incremental indexes:

[0095] Specifically, the incremental index corresponding to the previous version number of the current version number can be used as the initial value; based on the acquisition of server-side incremental data of the current version number, the initial value is updated to generate the incremental index corresponding to the current version number.

[0096] Among them, such as Figure 6 As shown, the version number of the vehicle baseline data is 101, and its corresponding incremental index is represented by the first incremental index 601. The specific values ​​can all be its version number, that is, the version number corresponding to each grid of the first incremental index 601 is 101.

[0097] If the current version number is 102, the first incremental index 601 corresponding to version number 101 can be updated to generate the second incremental index 602 corresponding to version number 102.

[0098] If the current version number is 103, the second incremental index 602 corresponding to version number 102 can be updated to generate the third incremental index 603 corresponding to version number 103.

[0099] In the example above, the incremental index corresponding to each version number can be obtained by updating the incremental index corresponding to each version number.

[0100] Specifically, for the first grid, the latest version number of the vehicle-side grid data of the first grid is updated to the current version number; for the second grid, the latest version number of the vehicle-side grid data of the second grid is set to an unknown flag.

[0101] Among them, based on Figure 2 The server-side incremental data acquisition information for each version number shown can be obtained. Figure 6 The incremental indexes corresponding to each version number are shown.

[0102] For example, when the current version number is 102, for the grid in the first row and second column, since no data was obtained for this grid, its corresponding version number is represented by the unknown marker 'x'. For the grid in the second row and third column, since data was obtained for this grid, its corresponding version number is updated to the current version number, which is 102.

[0103] For example, when the current version number is 103, for the grid in the third row and second column, and the grid in the third row and third column, since both grids have obtained data, their corresponding version numbers are updated to the current version number, which is 103.

[0104] In the example above, the version number corresponding to the first grid is updated to the current version number, and the version number corresponding to the second grid is set to an unknown flag. This is consistent with the acquisition of vehicle-side grid data. In other words, the incremental index corresponding to the current version number can reflect the latest situation of vehicle-side incremental data for the current version number, which can ensure the accuracy of the incremental index.

[0105] For details on the update process of updating from the initial value to the incremental index corresponding to the current version number, please refer to [link / reference]. Figure 7 To better illustrate the update process, an update flag is introduced. The update flag corresponding to the vehicle-side baseline data can be set to all 1s. Figure 7 Take the current version number 102 as an example.

[0106] like Figure 7 As shown, in the initial state, we can obtain the incremental index and update identifier corresponding to 101, which are all 101 and all respectively.

[0107] In the intermediate state, regarding the update identifier, the update identifier of the changed grid is set to 0, and the version number of the changed grid is set to an unknown flag. The update message received by the vehicle may contain the grid ID of the changed grid; therefore, the vehicle can identify the changed grid and set its update identifier to 0 and the corresponding version number to x.

[0108] In the final state, based on the acquisition of grid data for each grid, if grid data is acquired, the update flag of the corresponding grid is updated to 1, and the version number of the corresponding grid is updated to the current version number 102. If grid data is not acquired, the update flag and version number of the corresponding grid remain unchanged, i.e., they remain 0 and x respectively.

[0109] The incremental index obtained in the final state is the incremental index corresponding to the current version number.

[0110] 305. In addition to the vehicle-side map data before the update, add the vehicle-side incremental data with the current version number to obtain the updated vehicle-side map data.

[0111] Because vehicle-side map data is updated by adding incremental data of the current version number to the vehicle-side map data before the update, rather than overwriting one or more grid data, the vehicle-side map data will include vehicle-side map data of multiple versions.

[0112] Multiple versions of vehicle-side map data can be stored in different databases.

[0113] Assuming that the vehicle-side map data before the update is stored in an existing database, the incremental vehicle-side data of the current version number can be stored in the current database, which is different from the existing database.

[0114] For example, such as Figure 8 As shown, the vehicle-side map data with version numbers 101 to 103 are stored in the corresponding databases for version 101 to 103, respectively. Specifically, the database with version number 101 stores the vehicle-side baseline data of version 101, the database with version number 102 stores the vehicle-side incremental data of version 102, and the database with version number 103 stores the vehicle-side incremental data of version 103.

[0115] In the example above, multiple versions of vehicle-side map data are stored in different databases. Because the data for different versions is stored independently, optimal degradation performance can be provided when the application is offline. For example, in the absence of a network connection, if the required grid data cannot be found in version 103, it can be downgraded to query the grid data of version 102.

[0116] Map data can be divided into multiple layers, and the data storage structure of each layer can be as follows:

[0117] The storage structure for road network layer data can be shown in Tables 1 and 2:

[0118] Table 1

[0119]

[0120]

[0121] Table 2

[0122]

[0123] The storage structure for Point of Interest (POI) layer data can be shown in Table 3:

[0124] Table 3

[0125]

[0126] The storage structure for region polygon layer data can be shown in Table 4:

[0127] Table 4

[0128]

[0129] The above explains that incremental data for different versions of the vehicle can be stored in different databases, and the incremental indexes corresponding to each version can also be stored in the database of the corresponding version.

[0130] For example, see Figure 9 The multiple databases are designated as Database 1, Database 2, and Database 3, respectively. Each database corresponds to a version number, namely version numbers 101, 102, and 103. Each database includes an incremental index corresponding to the version number and incremental data from the vehicle side. In addition, each database can also store a corresponding spatial index for spatial retrieval.

[0131] The spatial index can be constructed based on the relevant identifiers in the aforementioned layer data of the incremental vehicle data within the corresponding database, and its structure can be as follows: Figure 10 As shown.

[0132] like Figure 10 As shown, the spatial index indicates the association between the grid identifier (geohash) and the road network (identified by link_id and node_id), POI (identified by poi_id), and region surface (identified by polygon_id).

[0133] Based on spatial indexes, spatial relationships between map elements can be queried. For example, when querying the spatial relationships of a POI, information about other map elements in the same grid or surrounding grids of that POI can be obtained based on the association relationships in the spatial index corresponding to the latest version number.

[0134] Vehicle-side acquisition such as Figure 9 After setting up multiple databases, subsequent operations can be performed based on these databases, such as querying map data, merging map data, and retrieving spatial relationships. This ensures that operations are performed based on the latest data, guaranteeing accuracy.

[0135] See Figure 3 Taking a query operation as an example, this method may also include:

[0136] 306. The vehicle terminal receives query requests sent by applications installed on the vehicle terminal.

[0137] 307. The vehicle responds to the query request and performs a query operation based on the incremental index corresponding to the query request.

[0138] Specifically, regarding query operations, such as Figure 11 As shown, the following can be executed:

[0139] 1101. In response to the query request, determine the first version number, which is the latest version number of the incremental data on the server.

[0140] 1102. Determine the incremental index corresponding to the first version number.

[0141] 1103. Based on the incremental index corresponding to the first version number, determine the second version number corresponding to the current grid, wherein the current grid is the grid to which the map data queried by the query request belongs, and the second version number is the version number corresponding to the current grid indicated by the incremental index.

[0142] 1104. Based on the second version number, obtain the map data queried by the query request.

[0143] In the example above, the second version number is the version number corresponding to the grid to which the queried map data belongs. This version number is determined based on the incremental index, which indicates the latest version number of the vehicle-side grid data for each grid. Therefore, the second version number is the latest version number of the queried map data, and the map data obtained based on the second version number is the latest data. Additionally, the incremental index is determined based on the first version number, which is the latest version number of the server-side incremental data. Therefore, the incremental index is also up-to-date. This improves the consistency between the queried map data and the real world. For example, when the network connection between the vehicle and the server is good, the queried map data is consistent with the latest data generated by the server.

[0144] Among them, the query request can be generated by an application (APP) installed on the vehicle. For example, the APP generates a query request in response to the user's route planning, route binding (determining the road where the vehicle is currently located), and search (such as searching for the address of the destination).

[0145] The server can generate different versions of map data, for example, updating map data hourly to produce different versions of map data.

[0146] Each time the server generates a new version of map data, it can push the new version number to the vehicle, allowing the vehicle to know the latest version number of the map data from the server. For distinction, the latest version number of the map data from the server can be referred to as the first version number.

[0147] The vehicle-side system can generate an incremental index corresponding to the first version number based on the acquisition of incremental data from the server. The incremental index is used to indicate the latest version number of the vehicle-side grid data for each grid in the full grid.

[0148] Different version numbers can each correspond to a set of incremental indices, for example, see [link to example]. Figure 6 Version number 101 corresponds to the first incremental index 601, version number 102 corresponds to the second incremental index 602, and version number 103 corresponds to the third incremental index 603. Assuming the first version number is 103, the incremental index corresponding to the first version number is the third incremental index 603.

[0149] The current grid refers to the grid to which the map data requested by the query request belongs. There can be one or more current grids.

[0150] For example, assuming the full mesh is Figure 6 The nine grids shown refer to either some or all of these nine grids. The specific grid can be determined based on existing algorithms. For example, if the query request carries latitude and longitude information, the current grid can be determined by calculating the latitude and longitude.

[0151] Based on the incremental index corresponding to the first version number, the second version number corresponding to the current network can be determined.

[0152] For example, see Figure 6 Assuming the incremental index corresponding to the first version number is the third incremental index 603, and assuming the current grid is... Figure 6 The grid in the first row and first column of the nine grids shown is represented by a second version number of 101. For example, suppose the current grid includes... Figure 9 The second version numbers corresponding to all the grids in the nine grids shown are 101, x, 101, x, x, 102, 101, 103, and 103, respectively.

[0153] After determining the second version number corresponding to the current grid, the map data queried by the query request can be obtained based on the second version number.

[0154] Specifically, the map data requested can be obtained from the vehicle or from the server.

[0155] Specifically, if the second version number is not an unknown marker, the data corresponding to the current grid is obtained from the vehicle-side incremental data of the second version number, and used as the map data queried by the query request; or, if the second version number is an unknown marker and there is a grid connection between the vehicle and the server, the data corresponding to the current grid in the server-side incremental data of the first version number is obtained from the server, and used as the map data queried by the query request; or, if the second version number is an unknown marker and there is no network connection between the vehicle and the server, the version number corresponding to the current grid in the incremental index corresponding to the version number before the first version number is queried sequentially until the queried version number is not the unknown marker, and the data corresponding to the current grid is obtained from the vehicle-side incremental data corresponding to the queried version number that is not the unknown marker, and used as the map data queried by the query request.

[0156] For example, if the current grid is the first grid in the first row and first column of 9 grids, and the second version number corresponding to this grid is 101, then the data corresponding to the current grid (the first grid in the first row and first column) can be obtained from the vehicle-side incremental data corresponding to 101 and used as the queried map data.

[0157] For example, if the current grid is all grids out of 9, you can obtain the latest data for each grid in all grids and combine the latest data for each grid to form the queried map data.

[0158] For each grid cell, for example, for the grid cell with the second version number 102, the data corresponding to that grid cell (the grid in the second row and third column) can be obtained from the incremental data of the vehicle-side data corresponding to 102, and used as the latest data for that grid cell (the grid in the second row and third column). Similarly, for the last grid cell (corresponding to the second version number 103), the data corresponding to that grid cell (the grid in the third row and third column) can be obtained from the incremental data of the vehicle-side data corresponding to 103, and used as the latest data for that grid cell (the grid in the third row and third column).

[0159] Additionally, since the second version number corresponding to the current grid might be an unknown marker (such as x), in this case, if the vehicle and server have a network connection, data can be obtained from the server. For example, if the current grid is the grid in the first row and second column, and its corresponding second version number is x, assuming the first version number is 103, if the vehicle and server have a network connection, the grid data for that grid (the grid in the first row and second column) can be obtained from the incremental data of the server with version number 103. (See reference...) Figure 2 This data is grid data marked 102. The server can return this data to the vehicle as the latest data for that grid. Alternatively, if there is no network connection between the vehicle and the server, a fallback query can be performed on the vehicle. Using the same grid (the one in the first row and second column) as an example, assuming there is no network connection, the incremental index corresponding to the next version number can be queried sequentially. For instance, if the second version number corresponding to this grid in the incremental index for version number 103 is 'x', then the second version number corresponding to this grid in the incremental index for version number 102 can be queried. See [link to relevant documentation]. Figure 5 If the second version number of the grid corresponding to the incremental index with version number 102 is still x, and then the second version number of the grid corresponding to the incremental index with version number 101 is 101, which is not the unknown marker x, then the data corresponding to the grid can be obtained from the vehicle-side incremental data (i.e., vehicle-side baseline data) with version number 101 as the latest data of the grid.

[0160] In the above example, when retrieving the queried map data based on the second version number, the latest data can be obtained from the vehicle, the server, or as new as possible from the vehicle. Therefore, depending on the actual situation, the latest data can be obtained when the vehicle stores the latest data or when there is a good network connection but the vehicle does not store the latest data, and thus the latest data can be used; even when the vehicle does not store the latest data and there is no good network connection, the latest possible data can still be obtained, achieving optimal degraded query and maximizing the consistency between the queried map data and the real world.

[0161] For merge operations, you can execute:

[0162] The map data before the update includes: vehicle baseline data with an initial version number; the map data merging operation based on the incremental index includes: copying the vehicle baseline data with the initial version number to obtain copied data; updating the copied data based on the incremental index corresponding to each version number to obtain merged vehicle baseline data, and setting the version number of the merged vehicle baseline data to the latest version number among the multiple version numbers.

[0163] The merge operation can be performed periodically. Assuming the initial version number is 101, the merge operation will be performed on vehicle-side map data with version numbers 101 to 103. The merge operation process can be found in [link to documentation]. Figures 12a-12c .

[0164] Specifically, the first step, such as Figure 12a As shown, a copy of the vehicle baseline data with initial version number 101 is made as the copy data, which also serves as the initial value for the merged vehicle baseline data to be generated. Additionally, the incremental index corresponding to initial version number 101 is used as the initial value for the incremental index of the merged vehicle baseline data. The version number of the merged vehicle baseline data is the latest version number 103.

[0165] The second step, as Figure 12b As shown, the copied data and its corresponding incremental index are updated. Updates may include: updating the corresponding grid data using vehicle-side incremental data (versions 102 and 103), and retrieving the corresponding grid data from the server for missing data (indicated by 'x').

[0166] The third step, as Figure 12c As shown, after the update process, the merged vehicle baseline data and its corresponding incremental index can be obtained. The version number of each grid indicated by the incremental index is updated to the latest version number.

[0167] In addition, the previous vehicle baseline data with version number 101 and the vehicle incremental data with version number 102 can be deleted or retained. Retention can be used for the rollback of the vehicle baseline data with version number 103 obtained after merging.

[0168] In the example above, by merging vehicle-side map data from multiple versions, the number of databases can be reduced, and storage redundancy can be decreased. Furthermore, when querying data, the query hierarchy can be reduced, thereby improving query efficiency.

[0169] Figure 13 This is a schematic diagram based on a third embodiment of the present disclosure, which provides a data processing apparatus. For example... Figure 13 As shown, the data processing device 1300 includes: an acquisition module 1301, a determination module 1302, and an update module 1303.

[0170] The acquisition module 1301 is used to respond to an update message sent by the server and request server-side incremental data of the current version number from the server. The update message is sent by the server after generating the server-side incremental data of the current version number, and the server-side incremental data of the current version number is the map data that has changed within the current period corresponding to the current version number. The determination module 1302 is used to determine the client-side incremental data of the current version number based on the acquisition status of the server-side incremental data of the current version number. The update module 1303 is used to add the client-side incremental data of the current version number to the client-side map data before the update to obtain the updated client-side map data.

[0171] In this embodiment, the client map data is updated using incremental client data of the current version number. This incremental client data is determined in response to an update message from the server, based on the server's incremental data acquisition status. The update message is sent after the server generates a new version of the map data. Therefore, the update cycle of the client incremental data is consistent with the generation cycle of the server's map data, typically on an hourly basis. Compared to the quarterly full data update method, this ensures timely updates to the client map data, improving its timeliness and allowing for the retrieval of the latest data in subsequent map data queries. By requesting incremental data instead of full data, the data transmission volume is reduced, transmission efficiency is improved, and resource consumption is saved. By adding the new version's incremental client data in addition to the previous client map data, instead of overwriting the previous client map data, data loss due to poor network connectivity between the client and server can be avoided, ensuring the integrity and accuracy of the client map data. Furthermore, it also achieves optimal degradation in subsequent client map data queries, i.e., retrieving the latest version of the client map data whenever possible.

[0172] In some embodiments, the server-side incremental data includes: server-side grid data of at least one grid; the client-side incremental data includes: client-side grid data of at least one grid; the determining module 1302 is further configured to: for a first grid, use the server-side grid data of the first grid with the current version number as the client-side grid data of the first grid with the current version number; for a second grid, set the client-side grid data of the second grid with the current version number as unknown data; wherein, the first grid is the grid to which the acquired server-side grid data belongs, and the second grid is the grid to which the unacquired server-side grid data belongs.

[0173] In the example above, using the incremental server data of the first grid as the client grid data of the first grid can update the grid data of the first grid in a timely manner, ensuring the consistency between the client grid data and the server grid data of the corresponding grid. Setting the client grid data of the second grid as unknown data can reflect the actual data acquisition situation since the second grid is the grid to which the server grid data that has not been acquired belongs, thus ensuring the authenticity of the client map data.

[0174] In some embodiments, the client map data before the update is stored in an existing database; the update module 1303 is further configured to: store the client incremental data of the current version number in the current database, the current database being different from the existing database.

[0175] In the example above, multiple versions of client map data are stored in different databases. Since the data of different versions is stored independently, optimal degradation effect can be provided when the application is offline.

[0176] In some embodiments, the updated client map data includes client map data with multiple version numbers, and each version number of the client map data includes client grid data of at least one grid; the apparatus further includes: a generation module, used to generate an incremental index corresponding to each version number, the incremental index being used to indicate the latest version number of the client grid data of each grid in the full grid; and a processing module, used to perform a query operation or a merge operation based on the incremental index.

[0177] In the above example, relevant operations can be performed based on the latest data to ensure the accuracy of the operation.

[0178] In some embodiments, the incremental index corresponding to each version number includes: the incremental index corresponding to the current version number; the generation module is further configured to: take the incremental index corresponding to the previous version number of the current version number as an initial value; and update the initial value based on the acquisition of server-side incremental data of the current version number to generate the incremental index corresponding to the current version number.

[0179] In the example above, the incremental index corresponding to each version number can be obtained by updating the incremental index corresponding to each version number.

[0180] In some embodiments, the server-side incremental data of the current version number includes: server-side grid data of at least one grid; the generation module is further configured to: for a first grid, update the latest version number of the client-side grid data of the first grid to the current version number; for a second grid, set the latest version number of the client-side grid data of the second grid to an unknown flag; wherein, the first grid is the grid to which the acquired server-side grid data belongs, and the second grid is the grid to which the unacquired server-side grid data belongs.

[0181] In the example above, the version number corresponding to the first grid is updated to the current version number, and the version number corresponding to the second grid is set to an unknown flag. This is consistent with the acquisition of client grid data. In other words, the incremental index corresponding to the current version number can reflect the latest situation of the client incremental data for the current version number, which can ensure the accuracy of the incremental index.

[0182] In some embodiments, the processing module is further configured to: in response to a query request, determine a first version number, wherein the first version number is the latest version number of the incremental data on the server; determine the incremental index corresponding to the first version number; based on the incremental index corresponding to the first version number, determine a second version number corresponding to the current grid, wherein the current grid is the grid to which the map data queried by the query request belongs, and the second version number is the version number corresponding to the current grid indicated by the incremental index; and based on the second version number, obtain the map data queried by the query request.

[0183] In the example above, the second version number is the version number corresponding to the grid to which the queried map data belongs. This version number is determined based on the incremental index, which indicates the latest version number of the client-side grid data for each grid. Therefore, the second version number is the latest version number of the queried map data, and the map data obtained based on the second version number is the latest data. Furthermore, the incremental index is determined based on the first version number, which is the latest version number of the server-side incremental data; therefore, the incremental index is also up-to-date. This improves the consistency between the queried map data and the real world.

[0184] In some embodiments, the processing module is further configured to: if the second version number is not an unknown marker, obtain the data corresponding to the current grid from the client incremental data of the second version number, and use it as the map data queried by the query request; or, if the second version number is an unknown marker and the client and server have a network connection, obtain the data corresponding to the current grid from the server incremental data of the first version number, and use it as the map data queried by the query request; or, if the second version number is an unknown marker and the client and server do not have a network connection, sequentially query the version number corresponding to the current grid in the incremental index corresponding to the version number before the first version number, until the queried version number is not the unknown marker, and obtain the data corresponding to the current grid from the client incremental data corresponding to the queried version number that is not the unknown marker, and use it as the map data queried by the query request.

[0185] In the above example, when retrieving the queried map data based on the second version number, the latest data can be obtained from the client, the server, or as new as possible from the client. Therefore, depending on the actual situation, the latest data can be obtained when the client stores the latest data or when the client does not store the latest data but has a good network connection, and thus the latest data can be used; even when the client does not store the latest data and there is no good network connection, the latest possible data can still be obtained, achieving optimal degraded query and maximizing the consistency between the queried map data and the real world.

[0186] In some embodiments, the processing module is further configured to: the map data before the update includes: client baseline data with an initial version number; the step of performing a map data merging operation based on the incremental index includes: performing a copy operation on the client baseline data with the initial version number to obtain copied data; updating the copied data based on the incremental index corresponding to each version number to obtain merged client baseline data, and setting the version number of the merged client baseline data to the latest version number among the multiple version numbers.

[0187] In the example above, by merging client map data from multiple versions, the number of databases can be reduced, and storage redundancy can be decreased. Furthermore, when querying data, the query hierarchy can be reduced, thereby improving query efficiency.

[0188] It is understood that the same or similar content in different embodiments of this disclosure can be referred to each other.

[0189] It is understood that the terms "first" and "second" in the embodiments of this disclosure are only used for distinction and do not indicate the degree of importance or the order of events.

[0190] The collection, storage, use, processing, transmission, provision, and disclosure of user personal information involved in the technical solution disclosed herein comply with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0191] Figure 14 This is a schematic diagram based on the fourth embodiment of the present disclosure, which provides an autonomous driving vehicle. See also... Figure 14 The autonomous vehicle 1400 includes electronic equipment 1401. A description of electronic equipment 1401 can be found in the relevant embodiments.

[0192] According to embodiments of this disclosure, this disclosure also provides an electronic device, a readable storage medium, and a computer program product.

[0193] Figure 15 A schematic block diagram of an example electronic device 1500 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0194] like Figure 15 As shown, the electronic device 1500 includes a computing unit 1501, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 1502 or a computer program loaded from a storage unit 1508 into a random access memory (RAM) 1503. The RAM 1503 may also store various programs and data required for the operation of the electronic device 1500. The computing unit 1501, ROM 1502, and RAM 1503 are interconnected via a bus 1504. An input / output (I / O) interface 1505 is also connected to the bus 1504.

[0195] Multiple components in electronic device 1500 are connected to I / O interface 1505, including: input unit 1506, such as keyboard, mouse, etc.; output unit 1507, such as various types of monitors, speakers, etc.; storage unit 1508, such as disk, optical disk, etc.; and communication unit 1509, such as network card, modem, wireless transceiver, etc. Communication unit 1509 allows electronic device 1500 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0196] The computing unit 1501 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 1501 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 1501 performs the various methods and processes described above, such as data processing methods. For example, in some embodiments, the data processing method may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 1508. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 1500 via ROM 1502 and / or communication unit 1509. When the computer program is loaded into RAM 1503 and executed by the computing unit 1501, one or more steps of the data processing method described above may be performed. Alternatively, in other embodiments, the computing unit 1501 may be configured to perform data processing methods by any other suitable means (e.g., by means of firmware).

[0197] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

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

[0199] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0200] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

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

[0202] Computer systems can include clients and servers. Clients and servers are generally geographically separated and typically interact via communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. A server can be a cloud server, also known as a cloud computing server or cloud host, a hosting product within the cloud computing service ecosystem, addressing the shortcomings of traditional physical hosts and VPS (Virtual Private Server, or simply "VPS") services, such as high management difficulty and weak business scalability. Servers can also be servers for distributed systems or servers incorporating blockchain technology.

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

[0204] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.

Claims

1. A data processing method, comprising: In response to an update message sent by the server, request server incremental data of the current version number from the server. The update message is sent by the server after generating the server incremental data of the current version number. The server incremental data of the current version number is the map data that has changed within the current period corresponding to the current version number. The server-side incremental data includes: server-side grid data of at least one grid; Based on the acquisition of server-side incremental data for the current version number, the client-side incremental data for the current version number is determined, including: for the first grid, the server-side grid data of the first grid for the current version number is used as the client-side grid data of the first grid for the current version number; for the second grid, the client-side grid data of the second grid for the current version number is set as unknown data; wherein, the first grid is the grid to which the acquired server-side grid data belongs, and the second grid is the grid to which the unacquired server-side grid data belongs; In addition to the client map data before the update, add the client incremental data of the current version number to obtain the updated client map data; the updated client map data includes: client map data of multiple version numbers, and the client map data of each version number includes client grid data of at least one grid. The method further includes: Generate incremental indexes corresponding to each version number, wherein the incremental indexes are used to indicate the latest version number of the client grid data for each grid in the full grid; Based on the incremental index, a query operation is performed, including: if the second version number is an unknown marker and there is no network connection between the client and the server, sequentially querying the version number corresponding to the current grid in the incremental index corresponding to the version number before the first version number, until the queried version number is not the unknown marker; in the client map data corresponding to the queried version number that is not the unknown marker, obtaining the data corresponding to the current grid as the queried map data; the second version number is the version number corresponding to the current grid in the incremental index corresponding to the first version number, the current grid is the grid to which the queried map data belongs, and the first version number is the latest version number of the incremental data on the server.

2. The method according to claim 1, wherein, The client-side map data before the update was stored in an existing database; Adding incremental client data with the current version number in addition to the client map data before the update includes: The incremental client data of the current version number is stored in the current database, which is different from the existing database.

3. The method according to any one of claims 1-2, The method further includes: Based on the incremental index, a merge operation is performed.

4. The method according to claim 3, wherein, The incremental index corresponding to each version number includes: the incremental index corresponding to the current version number; Generating the incremental index corresponding to the current version number includes: Use the incremental index corresponding to the previous version number of the current version number as the initial value; Based on the acquisition of server-side incremental data for the current version number, the initial value is updated to generate the incremental index corresponding to the current version number.

5. The method according to claim 4, wherein, The process of updating the initial value based on the acquisition of incremental server data of the current version number includes: For the first grid, update the latest version number of the client grid data of the first grid to the current version number; For the second grid, the latest version number of the client grid data for the second grid is set to an unknown flag.

6. The method of claim 1, wherein, The step of performing a query operation based on the incremental index also includes: If the second version number is not an unknown marker, retrieve the data corresponding to the current grid from the client incremental data of the second version number, and use it as the queried map data; or, If the second version number is an unknown marker and there is a network connection between the client and the server, the data corresponding to the current grid in the server incremental data of the first version number is obtained from the server and used as the queried map data.

7. The method according to claim 3, wherein, The map data prior to the update includes: client baseline data with the initial version number; The step of performing a merge operation based on the incremental index includes: The client baseline data of the initial version number is copied to obtain copied data; Based on the incremental index corresponding to each version number, the copied data is updated to obtain the merged client baseline data, and the version number of the merged client baseline data is set to the latest version number among the multiple version numbers.

8. A data processing apparatus, comprising: The acquisition module is used to respond to the update message sent by the server and request the server incremental data of the current version number from the server. The update message is sent by the server after generating the server incremental data of the current version number. The server incremental data of the current version number is the map data that has changed within the current period corresponding to the current version number. The server-side incremental data includes: server-side grid data of at least one grid; The determination module is used to determine the client incremental data for the current version number based on the acquisition status of the server incremental data for the current version number, including: for the first grid, using the server grid data of the first grid for the current version number as the client grid data of the first grid for the current version number; for the second grid, setting the client grid data of the second grid for the current version number as unknown data; wherein, the first grid is the grid to which the acquired server grid data belongs, and the second grid is the grid to which the unacquired server grid data belongs; The update module is used to add incremental client data of the current version number to the client map data before the update, so as to obtain updated client map data; the updated client map data includes: client map data of multiple version numbers, and each version number of client map data includes client grid data of at least one grid. The generation module is used to generate incremental indexes corresponding to each version number. The incremental indexes are used to indicate the latest version number of the client grid data for each grid in the full grid. The processing module is used to perform a query operation based on the incremental index, including: if the second version number is an unknown marker and there is no network connection between the client and the server, sequentially querying the version number corresponding to the current grid in the incremental index corresponding to the version number before the first version number, until the queried version number is not the unknown marker; in the client map data corresponding to the queried version number that is not the unknown marker, obtaining the data corresponding to the current grid as the queried map data; the second version number is the version number corresponding to the current grid in the incremental index corresponding to the first version number, the current grid is the grid to which the queried map data belongs, and the first version number is the latest version number of the incremental data on the server.

9. The apparatus according to claim 8, wherein, The client-side map data before the update was stored in an existing database; The update module is further used for: The incremental client data of the current version number is stored in the current database, which is different from the existing database.

10. The apparatus according to any one of claims 8-9, wherein, The processing module is also used to perform a merge operation based on the incremental index.

11. The apparatus according to claim 10, wherein, The incremental index corresponding to each version number includes: the incremental index corresponding to the current version number; The generation module is further used for: Use the incremental index corresponding to the previous version number of the current version number as the initial value; Based on the acquisition of server-side incremental data for the current version number, the initial value is updated to generate the incremental index corresponding to the current version number.

12. The apparatus according to claim 11, wherein, The server-side incremental data for the current version number includes: server-side grid data for at least one grid; The generation module is further used for: For the first grid, update the latest version number of the client grid data of the first grid to the current version number; For the second grid, the latest version number of the client grid data for the second grid is set to an unknown flag.

13. The apparatus of claim 8, wherein, The processing module is also used for: If the second version number is not an unknown marker, the data corresponding to the current grid is obtained from the client incremental data of the second version number and used as the queried map data; or, If the second version number is an unknown marker and there is a network connection between the client and the server, the data corresponding to the current grid in the server incremental data of the first version number is obtained from the server and used as the queried map data.

14. The apparatus according to claim 10, wherein, The map data prior to the update includes: client baseline data with the initial version number; The processing module is further used for: The client baseline data of the initial version number is copied to obtain copied data; Based on the incremental index corresponding to each version number, the copied data is updated to obtain the merged client baseline data, and the version number of the merged client baseline data is set to the latest version number among the multiple version numbers.

15. An electronic device comprising: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-7.

16. A non-transitory computer readable storage medium having stored thereon computer instructions, wherein, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-7.

17. A computer program product comprising a computer program that, when executed by a processor, implements the method according to any one of claims 1-7.

18. An autonomous vehicle, comprising: The electronic device as claimed in claim 15.