CN114840539A - Data processing method, device, equipment and storage medium - Google Patents

Data processing method, device, equipment and storage medium Download PDF

Info

Publication number
CN114840539A
CN114840539A CN202210426148.6A CN202210426148A CN114840539A CN 114840539 A CN114840539 A CN 114840539A CN 202210426148 A CN202210426148 A CN 202210426148A CN 114840539 A CN114840539 A CN 114840539A
Authority
CN
China
Prior art keywords
data
version number
grid
server
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210426148.6A
Other languages
Chinese (zh)
Inventor
殷太洲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202210426148.6A priority Critical patent/CN114840539A/en
Publication of CN114840539A publication Critical patent/CN114840539A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Remote Sensing (AREA)
  • Navigation (AREA)

Abstract

The present disclosure provides a data processing method, apparatus, device and storage medium, and relates to the technical field of computers, in particular to the technical fields of automatic driving, intelligent transportation, etc. The data processing method comprises the following steps: responding to an update message sent by a server, and requesting server incremental data of a current version number from the server, wherein the update message is sent by the server after the server generates the server incremental data of the current version number, and the server incremental data of the current version number is map data which changes in a current period corresponding to the current version number; determining client incremental data of the current version number based on the acquisition condition of the server incremental data of the current version number; and adding the client incremental data of the current version number in addition to the client map data before updating to obtain the updated client map data. The method and the device can improve timeliness of the map data of the client.

Description

Data processing method, device, equipment and storage medium
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to the technical fields of automatic driving, intelligent transportation, and the like, and in particular, to a data processing method, apparatus, device, and storage medium.
Background
An automatic vehicle (Self-driving automatic vehicle) is also called as an unmanned vehicle, a computer-driven vehicle or a wheeled mobile robot, and is an intelligent vehicle which realizes unmanned driving through a computer system.
The map data in the vehicle end may be used when the autonomous vehicle is running. In the related art, the full amount of data in the vehicle end is generally updated periodically, for example, the full amount of data is downloaded from the service end periodically or is updated offline to a specified location. However, the way of regularly updating the whole amount of data limits the frequency of data updating, generally to the quarterly level, and further causes the timeliness of the map data at the vehicle end to be poor.
Disclosure of Invention
The disclosure provides a data processing method, apparatus, device and storage medium.
According to an aspect of the present disclosure, there is provided a data processing method including: responding to an update message sent by a server, and requesting server incremental data of a current version number from the server, wherein the update message is sent by the server after the server generates the server incremental data of the current version number, and the server incremental data of the current version number is map data which changes in a current period corresponding to the current version number; determining client incremental data of the current version number based on the acquisition condition of the server incremental data of the current version number; and adding the client incremental data of the current version number in addition to the client map data before updating to obtain the updated client map data.
According to another aspect of the present disclosure, there is provided a data processing apparatus including: the request module is used for responding to an update message sent by a server and requesting the server incremental data of a current version number from the server, wherein the update message is sent by the server after the server generates the server incremental data of the current version number, and the server incremental data of the current version number is map data which changes in a current period corresponding to the current version number; the determining module is used for determining the client incremental data of the current version number based on the acquisition condition of the server incremental data of the current version number; and the updating module is used for adding the client incremental data of the current version number in addition to the client map data before updating so as to obtain the updated client map data.
According to another aspect of the present disclosure, there is provided an electronic device including: at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of the above aspects.
According to another aspect of the present disclosure, there is provided a non-transitory computer readable storage medium having stored thereon computer instructions for causing the computer to perform the method according to any one of the above aspects.
According to another aspect of the present disclosure, there is provided a computer program product comprising a computer program which, when executed by a processor, implements the method according to any one of the above aspects.
According to another aspect of the present disclosure, there is provided an autonomous vehicle comprising an electronic device according to any one of the above aspects.
According to the technical scheme, the timeliness of the map data of the client can be improved.
It should be understood that the statements in this section do not necessarily identify key or critical features of the embodiments of the present disclosure, nor do they limit the scope of the present disclosure. Other features of the present disclosure will become apparent from the following description.
Drawings
The drawings are included to provide a better understanding of the present solution and are not to be construed as limiting the present disclosure. Wherein:
FIG. 1 is a schematic diagram according to a first embodiment of the present disclosure;
FIG. 2 is a schematic diagram of server-side incremental data and vehicle-side incremental data in an embodiment of the disclosure;
FIG. 3 is a schematic diagram according to a second embodiment of the present disclosure;
FIG. 4 is a system interaction diagram corresponding to FIG. 3;
FIG. 5 is a schematic diagram of a map element at a grid boundary in an embodiment of the present disclosure;
FIG. 6 is a diagram illustrating incremental indexes corresponding to various version numbers according to an embodiment of the present disclosure;
FIG. 7 is a schematic diagram illustrating an update process of an incremental index according to an embodiment of the present disclosure;
FIG. 8 is a schematic illustration of a storage of map data at a vehicle end in an embodiment of the disclosure;
FIG. 9 is a schematic diagram of the composition of a database in an embodiment of the disclosure;
FIG. 10 is a schematic diagram of spatial indexing in an embodiment of the present disclosure;
FIG. 11 is a schematic flow chart diagram illustrating a query operation performed in an embodiment of the present disclosure;
12 a-12 c are process diagrams illustrating a merge operation performed in an embodiment of the disclosure;
FIG. 13 is a schematic diagram according to a third embodiment of the present disclosure;
FIG. 14 is a schematic diagram according to a fourth embodiment of the present disclosure;
fig. 15 is a schematic diagram of an electronic device for implementing the data processing method of the embodiment of the present disclosure.
Detailed Description
Exemplary embodiments of the present disclosure are described below with reference to the accompanying drawings, in which various details of the embodiments of the disclosure are included to assist understanding, and which are to be considered as merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the present disclosure. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
In the related art, the map data at the vehicle end is generally updated by periodically updating the whole amount of data, which limits the frequency of data updating, generally in the quarterly.
However, the seasonal data updating method causes poor timeliness of the map data of the vehicle end, and the map data of the vehicle end is inconsistent with the real world, so that normal driving of the vehicle is affected.
In order to improve the timeliness of the vehicle-end map data, the present disclosure provides the following embodiments.
Fig. 1 is a schematic diagram according to a first embodiment of the present disclosure, where this embodiment provides a data processing method, and the method provided by this embodiment includes:
101. responding to an update message sent by a server, and requesting server incremental data of a current version number from the server, wherein the update message is sent by the server after the server generates the server incremental data of the current version number, and the server incremental data of the current version number is map data which changes in a current period corresponding to the current version number.
102. And determining the client incremental data of the current version number based on the acquisition condition of the server incremental data of the current version number.
103. And adding the client incremental data of the current version number in addition to the client map data before updating to obtain the updated client map data.
The method of this embodiment may be applied to a client, and the client may include: a vehicle end, a mobile end (such as a mobile phone, a tablet computer, a wearable device), and the like.
The data processing method in the following embodiments is described by taking a vehicle end as an example, and may be executed by an automatic driving system on a vehicle and/or a vehicle-mounted system on the vehicle, for example.
And the server is used for producing a plurality of versions of map data, and the production period is small, such as an hour level.
Different versions of map data may be identified with different version numbers, for example, version numbers of the multiple versions of map data are 101, 102, and 103, respectively.
The incremental data refers to map data that changes in the current cycle, which is a time period between the generation time point of the map data of the current version number and the generation time point of the map data of the previous version number.
Map data is generally organized, processed, and the like in units of meshes (or called tiles).
For example, the server generates map data of the previous version number at t1, generates map data of the current version number at t2, and if the grid data in a certain grid or grids changes (for example, the map elements in the corresponding grid change) in the time period [ t1, t2], takes the changed grid data as the server incremental data of the current version number.
When the map data are stored by the server and the vehicle, the map data can be stored in an incremental data form. Accordingly, the incremental data can be divided into server-side incremental data and vehicle-side incremental data.
The initial full-scale map data may be referred to as baseline map data. The baseline map data of the server can be called as server baseline data, and the baseline map data of the vehicle end can be called as vehicle end baseline data.
As shown in fig. 2, the map data of the server may include: the server baseline data has a version number of 101, and the server incremental data may correspond to one or more version numbers, where in fig. 2, the version numbers of the server incremental data are 102 and 103, respectively.
Server-side incremental data with version number 102 is marked with a thick solid line and 102; the server side delta data with version number 103 is marked with a thick solid line and with 103.
When the version of the server is updated, for example, the version 101 is updated to the version 102, or the version 102 is updated to the version 103, an update message may be sent to the vehicle.
The vehicle end responds to the update message sent by the server end and can request the server end incremental data from the server end. For example, after the version of the server map data is updated from the version 101 to the version 102, the vehicle end may request the server incremental data with the version number of 102 from the server.
Although the vehicle end may request data from the server end, the vehicle end may acquire the requested data or may not acquire the requested data because the network connection between the vehicle end and the server end may be poor or even no network.
And determining the increment data of the vehicle end based on the acquisition condition of the increment data of the service end requested by the vehicle end. That is, due to the uncertainty of the network, the vehicle-end incremental data and the service-end incremental data of the same version may be consistent or inconsistent,
for example, as shown in fig. 2, it is assumed that the data that is not obtained is called unknown data, which is denoted by x, and for a version number 102, the server-side incremental data with the version number 102 is 5 pieces of grid data marked with 102, but the vehicle-side incremental data with the version number 102 includes 2 pieces of grid data marked with 102, and also includes 3 pieces of unknown data (marked with x). For the version number 103, assuming that the vehicle end acquires all incremental data of corresponding versions from the server end, the server end incremental data with the version number 103 and the vehicle end incremental data with the version number 103 both include two pieces of grid data marked as 103.
After the vehicle-end incremental data corresponding to the current version number is determined, updating of the vehicle-end map data can be performed in an adding mode.
Still referring to fig. 2, assuming that the current version number is 102, the vehicle-end map data before updating is vehicle-end baseline map data with the version number of 101, and after obtaining the vehicle-end incremental data with the version number of 102, the vehicle-end incremental data with the version number of 102 may be added, so that the updated vehicle-end map data includes: the vehicle-end baseline map data with the version number of 101 and the vehicle-end incremental data with the version number of 102.
Assuming that the current version number is 103, the vehicle-end map data before updating includes: the method includes the steps that vehicle-end baseline map data with a version number of 101 and vehicle-end incremental data with a version number of 102 are obtained, after vehicle-end incremental data with a version number of 103 are obtained, vehicle-end incremental data with a version number of 103 can be added, and accordingly updated vehicle-end map data include: the vehicle-end baseline map data with the version number of 101, the vehicle-end incremental data with the version number of 102, and the vehicle-end incremental data with the version number of 103.
When the vehicle-end map data is updated, the vehicle-end incremental data with the current version number is added to the vehicle-end map data before updating, but not in a mode of covering some grid data, so that the vehicle-end map data comprises the vehicle-end map data with a plurality of version numbers.
In the embodiment, the vehicle-end incremental data with the current version number is adopted to update the vehicle-end map data, the vehicle-end incremental data with the current version number is an update message responding to the server and is determined based on the acquisition condition of the server-end incremental data, and the update message is sent after the server generates a new version of incremental map data, so that the update cycle of the vehicle-end incremental data is consistent with the generation cycle of the server-end incremental map data, generally in a small level, and compared with a quarterly full-data update mode, the vehicle-end map data can be ensured to be updated in time, the timeliness of the vehicle-end map data is improved, and the latest data can be inquired in the subsequent inquiry of the map data; by requesting incremental data instead of full data, the map data at the vehicle end can be updated quickly, the data transmission quantity can be reduced, the transmission efficiency is improved, and the resource overhead is saved; by adding the vehicle end incremental data corresponding to the new version in addition to the vehicle end map data before updating instead of covering the vehicle end map data before updating, the data loss condition caused by poor network connection between the vehicle end and the server end can be avoided, the integrity and the accuracy of the vehicle end map data are ensured, and optimal degradation can be achieved when the vehicle end map data are subsequently inquired, namely the effect of inquiring the vehicle end map data of the latest version as much as possible is achieved.
The above describes the updating process of the vehicle-end map data, and the updated vehicle-end map data can be used in the subsequent process. For example, the application installed on the vehicle end may perform operations such as querying in the updated vehicle end map data, and performing route navigation based on the queried vehicle end map data. For another example, since the updated map data at the vehicle end is map data of multiple versions, the map data of multiple versions may be periodically merged to save storage resources and improve query efficiency.
Fig. 3 is a schematic diagram according to a second embodiment of the present disclosure, which provides a data processing method, and fig. 4 is a system interaction diagram corresponding to fig. 3.
Referring to fig. 3, the method provided in this embodiment includes:
301. and the server side produces the server side incremental data of the current version number.
The production cycle of the server is generally on the hour level, that is, a new version of the server map data can be produced every hour.
Specifically, referring to fig. 4, the server may be divided into an offline service and an online service, and the map data production module in the offline service may generate the server map data of each version offline. After the offline service generates the new version of the server-side map data, the new version of the server-side map data can be pushed to the online map data service, which is shown in fig. 7 as the latest version data is released.
The current version number refers to the version number of the latest version data issued by the server.
The initial version of the server-side map data may be referred to as server-side baseline data, and the non-initial version of the server-side map data may be referred to as server-side incremental data. In addition, the incremental data of the server-side baseline data may be considered as the server-side baseline data itself.
Multiple versions of server-side map data may be shown on the left side of fig. 2, including server-side baseline data with version number 101, server-side incremental data with version number 102, and server-side incremental data with version number 103.
The server map data of each version can be produced in the following way:
the map data is processed in a unit of a grid (or called a tile), the map data may be divided into n (n is a positive integer) layers, the larger n is, the smaller the size of a single grid is, for example, m is 18, the side length of the grid is 150m, m is 15, the side length of the grid is 1200m, and the specific value may be adjusted according to actual needs.
For the same version of map data, the mesh data corresponding to each mesh may be identified with a unique ID within that version. The unique ID can be obtained by adopting a GeoHash algorithm, and the GeoHash algorithm is an address coding method and can code two-dimensional space longitude and latitude data into a one-dimensional character string.
The map elements may include points, lines, and planes, and points, lines, and planes at the mesh boundary, which may be shown in fig. 5 (a) to (c).
For the above points, lines, and planes, the corresponding map data may be generated as follows:
the point data stores one copy in the grid data of two adjacent grids respectively and marks the data as same points
And line data is broken at the boundary of adjacent grids, and new nodes (nodes) are respectively generated in the grid data associated with the break points and are mutually marked as the same position points.
And the surface data is broken at the junction of the adjacent grids, new nodes are respectively generated in the grid data associated with the break points, the nodes are mutually marked as the same position points, and the new nodes and the vertexes of the grids form new surface data.
302. And the server side sends an update message to the vehicle side.
As shown in fig. 4, after receiving the new version of map data, the online map data service may send the version number of the new version to the message queue. And the in-vehicle and in-vehicle service subscribes the version number, and the message queue pushes the version updating message to the in-vehicle and in-vehicle service. The vehicle-in-vehicle service pushes the latest version number to a map Application Programming Interface (API) of the vehicle end after receiving the version update message.
303. And the vehicle end responds to the update message sent by the server end and requests the server end incremental data with the current version number from the server end.
The current version number is the latest version number pushed by the server.
The update message is a push message that contains the current version number.
After receiving the push message containing the current version number, the vehicle end can request the server incremental data of the current version number from the server.
As shown in fig. 4, the vehicle-side map data service may include a baseline map data module, a map data cache module, and an online data module. The vehicle-end baseline data may be stored in a baseline map data module; incremental data acquired by the vehicle end from the server end can be stored in a map data cache module; the online data module is used for acquiring data from the server side in real time.
After receiving the update message of the server, the map API can send a reading instruction of the map data to the vehicle-end map data service, and an online data module in the vehicle-end map data service can pull the latest version data from the online map data service based on the reading instruction.
It is to be understood that the reading instruction of the map API may also be generated based on a trigger of the application, for example, when the application needs to use the map data, the application may send a query request to the map API, and the map API generates the reading instruction based on the query request.
Because the vehicle-end map data is generally organized according to the grids, the organization structure of the vehicle-end map data can be shielded through the map API, a logically seamless map is established, and the map data is provided for upper-layer application. For example, when the details of a certain road (link) are queried through the map API, the upper layer application may not need to pay attention to the mesh to which the link belongs, and may query the corresponding version of the vehicle-end map data according to the link _ id.
In addition, both the server-side baseline data and the vehicle-side baseline data can be updated regularly, and because the baseline map data are full data, the updating period is generally longer than the production period of the incremental data produced by the server.
The server-side online data is generated in a fixed period, so that the data hierarchy required to be inquired when the online map data service issues incremental data can be reduced, and the storage scale of old version data is reduced. The vehicle-end baseline data is updated regularly, and badcase caused by overuse of the baseline data in the case of no network is reduced.
The version numbers of the server-side baseline data and the vehicle-side baseline data can be consistent or inconsistent, and a user can designate the full amount of data with one version number as the vehicle-side baseline data. But the corresponding version numbers of the incremental data need to be consistent. 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, the vehicle-side incremental data with the version number of 103 needs to be determined based on the acquisition condition of the server-side incremental data with the version number of 103.
304. And the vehicle end determines the vehicle end incremental data with the current version number based on the acquisition condition of the server end incremental data with the current version number, and generates an incremental index corresponding to the current version number, wherein the incremental index is used for indicating the latest version number of the vehicle end grid data of each grid in the full grid.
For vehicle end incremental data:
due to the uncertainty of network connection between the vehicle end and the service end, the service end incremental data with the same version number and the vehicle end incremental data can be consistent or inconsistent.
Specifically, the server incremental data includes: server grid data for at least one grid; the vehicle end incremental data comprises: vehicle-end grid data for at least one grid; the determining of the vehicle-end incremental data of the current version number based on the obtaining condition of the server-end incremental data of the current version number comprises the following steps: regarding a first grid, using the server-side grid data of the first grid with the current version number as the vehicle-side grid data of the first grid with the current version number; aiming at a second grid, setting the vehicle-end grid data of the second grid with the current version number as unknown data; the first grid is a grid to which the acquired server grid data belongs, and the second grid is a grid to which the non-acquired server grid data belongs.
For example, the relationship between the vehicle-side incremental data of each version number and the server-side incremental data of the corresponding version number may be as shown in fig. 2. Wherein unknown data is identified by x and non-unknown data is identified by a corresponding version number (e.g., 101, 102, 103). The incremental data of the vehicle-end baseline data may be considered to be the vehicle baseline data itself.
In the above example, the server-side incremental data of the first grid is used as the vehicle-side grid data of the first grid, so that the grid data of the first grid can be updated in time, and consistency between the vehicle-side grid data of the corresponding grid and the server-side grid data is ensured; the vehicle-end grid data of the second grid are set as unknown data, and the second grid is the grid to which the service-end grid data which is not acquired belongs, so that the real data acquisition condition can be reflected, and the authenticity of the vehicle-end map data is ensured.
With respect to the incremental index:
the increment index corresponding to the last version number of the current version number can be used as an initial value; and updating the initial value based on the acquisition condition of the server-side incremental data of the current version number to generate an incremental index corresponding to the current version number.
As shown in fig. 6, the version number of the vehicle-end baseline data is 101, the increment index corresponding to the version number is represented by referring to the first increment index 601, and the specific numerical values may all be the version numbers, that is, the version numbers corresponding to the grids of the first increment index 601 are 101.
If the current version number is 102, the first incremental index 601 corresponding to the version number 101 may be updated, and then the second incremental index 602 corresponding to the version number 102 may be generated.
If the current version number is 103, the second incremental index 602 corresponding to the version number 102 may be updated, and then a third incremental index 603 corresponding to the version number 103 is generated.
In the above example, the increment indexes corresponding to the respective version numbers may be obtained by updating the increment indexes corresponding to the respective version numbers one by one.
Specifically, for a first grid, updating the latest version number of the vehicle-end grid data of the first grid to the current version number; and aiming at a second grid, setting the latest version number of the vehicle-end grid data of the second grid as an unknown mark.
Based on the obtaining situation of the server-side incremental data of each version number shown in fig. 2, the incremental index corresponding to each version number shown in fig. 6 can be obtained.
For example, when the current version number is 102, for the trellis in the first row and the second column, since the trellis does not acquire data, the corresponding version number is represented by an unknown mark x. For the grids in the second row and the third column, since the grid acquires data, the corresponding version number is updated to the current version number, that is, 102.
For another example, when the current version number is 103, for the grids in the third row and the second column and the grids in the third row and the third column, since both grids acquire data, the corresponding version number is updated to the current version number, that is, 103.
In the above example, 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 the unknown mark, which is consistent with the obtaining situation of the grid data at the vehicle end, that is, the increment index corresponding to the current version number can reflect the latest situation of the increment data at the vehicle end with the current version number, and the accuracy of the increment index can be ensured.
The specific updating process of updating from the initial value to the increment index corresponding to the current version number can be seen in fig. 7. To better illustrate the update process, it introduces an update identification. The update flag corresponding to the vehicle-end baseline data may be set to all 1 s. Fig. 7 takes the current version number as 102 as an example.
As shown in fig. 7, in the initial state, the increment index corresponding to 101 and the update identifier may be obtained, which are all 101 and all, respectively.
And the intermediate state sets the update identifier of the changed grid to 0 aiming at the update identifier and sets the version number of the changed grid to an unknown mark. The update message received by the vehicle end may include the grid ID of the changed grid, so that the vehicle end may know the changed grid, set the update identifier of the changed grid to 0, and set the corresponding version number to x.
And in the final state, the vehicle end updates the update identifier of the corresponding grid to 1 and updates the version number of the corresponding grid to the current version number 102 based on the acquisition condition of the grid data of each grid if the grid data is acquired. If the grid data is not acquired, keeping the update identifier and the version number of the corresponding grid unchanged, namely keeping the update identifier and the version number as 0 and x respectively.
And the increment index obtained in the final state is the increment index corresponding to the current version number.
305. And adding the vehicle end incremental data with the current version number to the vehicle end before the vehicle end map data is updated so as to obtain the updated vehicle end map data.
When the vehicle-end map data is updated, the vehicle-end incremental data with the current version number is added to the vehicle-end map data before updating, but not in a mode of covering some grid data, so that the vehicle-end map data comprises the vehicle-end map data with a plurality of version numbers.
Wherein, the vehicle end map data of a plurality of versions can be stored in different databases.
And if the vehicle-end map data before updating is stored in the existing database, the vehicle-end incremental data with the current version number can be stored in the current database, and the current database is different from the existing database.
For example, as shown in fig. 8, vehicle-end map data with version numbers of 101 to 103 are stored in corresponding databases of 101 to 103, respectively. Specifically, the database with the version number of 101 stores the vehicle-end baseline data with the version number of 101, the database with the version number of 102 stores the vehicle-end incremental data with the version number of 102, and the database with the version number of 103 stores the vehicle-end incremental data with the version number of 103.
In the above example, the multiple versions of the map data of the vehicle end are stored in different databases, and since the different versions of the data are respectively and independently stored, the optimal degradation effect can be provided during offline application. For example, in the no-network state, when the 103 version data does not query the required grid data, the grid data of query 102 can be degraded forward.
The map data can be divided into a plurality of layers, and the data storage structure of each layer can be as follows:
for the road network layer data, the storage structure can be as shown in table 1 and table 2:
TABLE 1
Figure BDA0003608552490000111
Figure BDA0003608552490000121
TABLE 2
Figure BDA0003608552490000122
For Point of Interest (POI) layer data, a storage structure thereof may be as shown in table 3:
TABLE 3
Figure BDA0003608552490000123
For the area surface layer data, the storage structure thereof may be as shown in table 4:
TABLE 4
Figure BDA0003608552490000124
The incremental data of the vehicle end of each version can be stored in different databases, and the incremental index corresponding to each version can also be stored in the database corresponding to the version.
For example, referring to fig. 9, a plurality of databases are represented by a first database, a second database, and a third database, respectively; each database corresponds to a version number and corresponds to version numbers 101, 102 and 103 respectively; each database comprises increment indexes of corresponding version numbers and vehicle-end increment data. In addition, each database may also store a corresponding spatial index for spatial retrieval.
The spatial index may be constructed based on the relevant identifier in the layer data corresponding to the vehicle-end incremental data in the database, and the structure of the spatial index may be as shown in fig. 10.
As shown in fig. 10, the spatial index indicates the association relationship between the mesh identifier (geohash) and the road network (identified by link _ id and node _ id), the POI (identified by POI _ id), and the region plane (identified by polygon _ id).
Based on the spatial index, the spatial relationship between map elements may be queried, for example, when querying the spatial relationship of a certain POI, the information of other map elements in the same grid or a surrounding grid of the POI may be obtained based on the association relationship in the spatial index corresponding to the latest version number.
After the vehicle end obtains the multiple databases as shown in fig. 9, the vehicle end may subsequently perform related operations based on the multiple databases, such as an operation of querying map data, an operation of merging map data, an operation of retrieving spatial relationships, and the like. Therefore, relevant operation can be performed based on the latest data, and the operation accuracy is ensured.
Referring to fig. 3, taking a query operation as an example, the method may further include:
306. and the vehicle end receives an inquiry request sent by an application installed on the vehicle end.
307. And the vehicle end responds to the query request and executes query operation based on the increment index corresponding to the query request.
Specifically, for the query operation, as shown in fig. 11, it may be performed:
1101. and responding to the query request, and determining a first version number, wherein the first version number is the latest version number of the server-side incremental data.
1102. And determining the increment index corresponding to the first version number.
1103. And determining a second version number corresponding to the current grid based on the increment index corresponding to the first version number, wherein the current grid is the grid to which the map data inquired by the inquiry request belongs, and the second version number is the version number corresponding to the current grid indicated by the increment index.
1104. And obtaining the map data inquired by the inquiry request based on the second version number.
In the above example, the second version number is a version number corresponding to a grid to which the queried map data belongs, and the corresponding version number is determined based on an incremental index that is used to indicate a latest version number of vehicle-end grid data of each grid, so that the second version number is the latest version number of the queried map data, and further the map data obtained based on the second version number is the latest data; in addition, the incremental index is determined based on the first version number, which is the latest version number of the server-side incremental data, and therefore, the incremental index is also latest. Therefore, the consistency of the inquired map data and the real world can be improved, for example, when the network connection between the vehicle end and the server end is good, the inquired map data is consistent with the latest data generated by the server end.
The query request may be generated by an Application (APP) installed on the vehicle side, for example, the APP generates the query request in response to the user's route planning, road binding (determining the road where the vehicle is currently located), retrieval (for example, retrieving the address of the destination), and the like.
The server may generate different versions of map data, for example, update the map data at an hour level to generate different versions of map data.
After the server generates a new version of map data each time, the new version number can be pushed to the vehicle end, so that the vehicle end can know the latest version number of the map data of the server. For the sake of distinction, the latest version number of the server-side map data may be referred to as a first version number.
The vehicle end can generate the increment index corresponding to the first version number based on the acquisition condition of the server end increment data of the first version number. The incremental index is used to indicate the latest version number of the vehicle-end grid data of each grid in the full grid.
For example, referring to fig. 6, the version number 101 corresponds to a first increment index 601, the version number 102 corresponds to a second increment index 602, the version number 103 corresponds to a third increment index 603, and if the first version number is 103, the increment index corresponding to the first version number is the third increment index 603.
The current grid refers to a grid to which the map data requested by the query request belongs, and the number of the current grids may be one or more.
For example, assuming that the full grid is the 9 grids shown in fig. 6, the current grid refers to part or all of the 9 grids, and may be determined specifically based on an existing algorithm, for example, the query request carries latitude and longitude information, and the current grid is determined by calculating the latitude and longitude.
Based on the increment index corresponding to the first version number, a second version number corresponding to the current network can be determined.
For example, referring to fig. 6, assuming that the increment index corresponding to the first version number is the third increment index 603, and assuming that the current grid is the grid in the first row and the first column of the 9 grids shown in fig. 6, the second version number corresponding to the current grid is 101. For another example, assuming that the current grid includes all of the 9 grids shown in fig. 9, the second version numbers corresponding to the current grid are 101, x, 102, 101, 103, and 103, respectively.
After the second version number corresponding to the current grid is determined, the map data queried by the query request can be obtained based on the second version number.
The queried map data can be acquired from a vehicle end, and/or the queried map data can be acquired from a server end.
Specifically, if the second version number is not an unknown mark, obtaining data corresponding to the current grid from the vehicle-end incremental data with the second version number, and using the data as the map data queried by the query request; or if the second version number is an unknown mark and a vehicle end is connected with a server end in a grid mode, acquiring data corresponding to the current grid in the server end incremental data of the first version number from the server end to serve as map data inquired by the inquiry request; or if the second version number is an unknown mark and no network connection exists between the vehicle end and the service end, sequentially inquiring the version number corresponding to the current grid in the increment index corresponding to the version number before the first version number until the inquired version number is not the unknown mark, and acquiring data corresponding to the current grid from the vehicle end increment data corresponding to the inquired version number which is not the unknown mark to serve as the map data inquired by the inquiry request.
For example, the current grid is a grid in a first row and a first column of 9 grids, and since the second version number corresponding to the grid is 101, data corresponding to the current grid (the grid in the first row and the first column) may be obtained from the vehicle-end incremental data corresponding to 101 as the queried map data.
For another example, the current grid is all of the 9 grids, and the latest data corresponding to each grid in all the grids can be obtained, and the latest data corresponding to each grid is composed into the queried map data.
For each grid, for example, for the grid with the corresponding second version number of 102, the data corresponding to the grid (the grid in the second row and the third column) may be obtained from the vehicle-end incremental data corresponding to 102, and is used as the latest data corresponding to the grid (the grid in the second row and the third column). For another example, for the last grid (corresponding to the second version number of 103), the data corresponding to the grid (the grid in the third row and the third column) may be obtained from the vehicle-end incremental data corresponding to 103, and is used as the latest data corresponding to the grid (the grid in the third row and the third column).
In addition, since the second version number corresponding to the current grid may be an unknown mark (e.g., x), in this case, if there is a network connection between the vehicle end and the server end, the data may be obtained from the server end, for example, if the current grid is a grid in the first row and the second column, the corresponding second version number is x, assuming that the first version number is 103, if there is a network connection between the vehicle end and the server end, the grid data of the grid (the grid in the first row and the second column) may be obtained from the server end incremental data with the version number of 103, referring to fig. 2, the data is the grid data marked as 102, and the server end may return the data to the vehicle end as the latest data corresponding to the grid. Or, if there is no network connection between the vehicle and the server, the query may be downgraded at the vehicle, still taking the grid (the grid in the first row and the second column) as an example, assuming that there is no network connection between the vehicle and the server, the increment index corresponding to the next version number may be queried in order, for example, the second version number corresponding to the grid in the increment index corresponding to version number 103 is x, then the second version number corresponding to the grid in the increment index corresponding to the version number 102 is queried, referring to fig. 5, the second version number corresponding to the grid in the increment index with the version number of 102 is still x, the second version number corresponding to the grid in the increment index with the version number of 101 is queried, if the corresponding second version number is 101 and the second version number is not the unknown mark x, the data corresponding to the grid may be acquired as the latest data of the grid from the vehicle-end incremental data (i.e., the vehicle-end baseline data) with the version number of 101.
In the above example, when the queried map data is obtained based on the second version number, the latest data may be obtained from the vehicle end, or the latest data may be obtained from the server end, or the data as new as possible may be obtained from the vehicle end, so that, based on the actual situation, when the vehicle end stores the latest data or the vehicle end does not store the latest data but has good network connection, the latest data may be obtained, and the latest data may be used; when the latest data is not stored at the vehicle end and good network connection does not exist, the data as new as possible can be obtained, the optimal degradation query is realized, and the consistency of the queried map data and the real world is ensured to the greatest extent.
For the merge operation, it may be performed:
the pre-update map data includes: vehicle end baseline data of an initial version number; the executing the merging operation of the map data based on the increment index comprises: copying the vehicle-end baseline data with the initial version number to obtain copied data; and updating the copied data based on the increment indexes corresponding to the version numbers to obtain combined vehicle-end baseline data, and setting the version number of the combined vehicle-end baseline data as the latest version number of the plurality of version numbers.
The merging operation can be executed periodically, and assuming that the initial version number is 101, merging operation is performed on the vehicle-end map data with the version numbers of 101-103. The process of the merge operation can be seen in fig. 12 a-12 c.
Specifically, in the first step, as shown in fig. 12a, a copy of the vehicle-end baseline data with the initial version number 101 is made as the copied data, and the copied data is also the initial data value of the merged vehicle-end baseline data to be generated. In addition, the increment index corresponding to the initial version number 101 is used as the initial value of the increment index of the merged vehicle-end baseline data. The version number of the merged vehicle-end baseline data is the latest version number 103.
Second, as shown in FIG. 12b, the copied data and its corresponding incremental index are updated. The updating may include: the corresponding grid data is updated with the vehicle-end incremental data (version numbers 102 and 103), and the corresponding grid data can be obtained from the server for the missing data (identified by x).
Thirdly, as shown in fig. 12c, through the updating process, the merged vehicle-end baseline data and the incremental indexes corresponding thereto can be obtained, and the version numbers corresponding to the grids indicated by the incremental indexes are updated to the latest version numbers.
In addition, the previous vehicle-end baseline data with the version number of 101 and the vehicle-end incremental data with the version number of 102 may be deleted or reserved, and the reserved data may be used for rolling back of the vehicle-end baseline data with the version number of 103 obtained after merging.
In the above example, the number of databases can be reduced and the storage redundancy can be reduced by performing a merging operation on the vehicle-end map data with a plurality of version numbers; and when data is queried, query levels can be reduced, and query efficiency is improved.
Fig. 13 is a schematic diagram according to a third embodiment of the present disclosure, which provides a data processing apparatus. As shown in fig. 13, the data processing apparatus 1300 includes: an obtaining module 1301, a determining module 1302 and an updating module 1303.
The obtaining module 1301 is configured to respond to an update message sent by a server, and request the server incremental data of a current version number from the server, where the update message is sent by the server after the server generates the server incremental data of the current version number, and the server incremental data of the current version number is map data that changes in a current period corresponding to the current version number; the determining module 1302 is configured to determine, based on an acquisition condition of the server incremental data of the current version number, the client incremental data of the current version number; the updating module 1303 is configured to add the client incremental data of the current version number to the client map data before updating to obtain the updated client map data.
In the embodiment, the client-side incremental data with the current version number is adopted to update the client-side map data, the client-side incremental data with the current version number is an update message responding to the server-side, and is determined based on the acquisition condition of the server-side incremental data, and the update message is sent after the server-side generates the new version of map data, so that the update cycle of the client-side incremental data is consistent with the generation cycle of the server-side generated map data, generally in an hour level, and compared with a quarterly full data update mode, the update of the client-side map data can be ensured to be updated in time, the timeliness of the client-side map data is improved, and the latest data can be inquired when the map data is inquired subsequently; by requesting incremental data instead of full data, the data transmission amount can be reduced, the transmission efficiency is improved, and the resource overhead is saved; by adding the client incremental data corresponding to the new version in addition to the client map data before updating instead of covering the client map data before updating, the data loss condition caused by poor network connection between the client and the server can be avoided, the integrity and the accuracy of the client map data are ensured, and optimal degradation can be achieved when the client map data are subsequently inquired, namely the effect of inquiring the latest version of the client map data as much as possible is achieved.
In some embodiments, the server-side incremental data includes: server grid data for at least one grid; the client delta data includes: client grid data for at least one grid; the determining module 1302 is further configured to: regarding a first grid, using the server grid data of the first grid with the current version number as the client grid data of the first grid with the current version number; setting the client grid data of the second grid with the current version number as unknown data aiming at the second grid; the first grid is a grid to which the acquired server grid data belongs, and the second grid is a grid to which the non-acquired server grid data belongs.
In the above example, the server-side incremental data of the first grid is used as the client-side grid data of the first grid, so that the grid data of the first grid can be updated in time, and consistency between the client-side grid data and the server-side grid data of the corresponding grid is ensured; the client grid data of the second grid is set as unknown data, and the second grid is the grid to which the server grid data which is not acquired belongs, so that the real data acquisition condition can be reflected, and the authenticity of the client map data is ensured.
In some embodiments, the pre-update client map data is stored within an existing database; the update module 1303 is further configured to: and storing the client incremental data of the current version number into a current database, wherein the current database is different from the existing database.
In the above example, the multiple versions of the client map data are stored in different databases, and since the different versions of the data are respectively and independently stored, an optimal degradation effect can be provided when the data are applied offline.
In some embodiments, the updated client map data includes a plurality of version numbers of client map data, each version number of the plurality of version numbers of client map data including at least one grid of client grid data; the device further comprises: a generating module, configured to generate an incremental index corresponding to each version number, where the incremental index is used to indicate a latest version number of client grid data of each grid in the full-scale grid; and the processing module is used for executing query operation or combination operation based on the increment index.
In the above example, the correlation operation may be performed based on the latest data, and the operation accuracy is ensured.
In some embodiments, the increment index corresponding to each version number includes: the increment index corresponding to the current version number; the generation module is further to: taking the increment index corresponding to the last version number of the current version number as an initial value; and updating the initial value based on the acquisition condition of the server-side incremental data of the current version number to generate an incremental index corresponding to the current version number.
In the above example, the increment indexes corresponding to the respective version numbers may be obtained by updating the increment indexes corresponding to the respective version numbers one by one.
In some embodiments, the server-side incremental data of the current version number includes: server grid data for at least one grid; the generation module is further to: updating the latest version number of the client grid data of the first grid to the current version number aiming at the first grid; setting a latest version number of client mesh data of a second mesh as an unknown mark for the second mesh; the first grid is a grid to which the acquired server grid data belongs, and the second grid is a grid to which the non-acquired server grid data belongs.
In the above example, 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 the unknown mark, which is consistent with the obtaining situation of the grid data of the client, that is, the increment index corresponding to the current version number can reflect the latest situation of the increment data of the client with the current version number, and the accuracy of the increment index can be ensured.
In some embodiments, the processing module is further to: responding to a query request, and determining a first version number, wherein the first version number is the latest version number of the server-side incremental data; determining an increment index corresponding to the first version number; determining a second version number corresponding to a current grid based on the increment index corresponding to the first version number, wherein the current grid is the grid to which the map data inquired by the inquiry request belongs, and the second version number is the version number corresponding to the current grid indicated by the increment index; and obtaining the map data inquired by the inquiry request based on the second version number.
In the above example, the second version number is a version number corresponding to a grid to which the queried map data belongs, the corresponding version number is determined based on an incremental index, and the incremental index is used to indicate a latest version number of client-side grid data of each grid, so that the second version number is a latest version number of the queried map data, and further the map data obtained based on the second version number is latest data; in addition, the incremental index is determined based on the first version number, which is the latest version number of the server-side incremental data, and therefore, the incremental index is also latest. Therefore, the consistency of the queried map data with the real world can be improved.
In some embodiments, the processing module is further to: if the second version number is not an unknown mark, acquiring data corresponding to the current grid from the client incremental data of the second version number as the map data queried by the query request; or if the second version number is an unknown mark and a network connection exists between a client and a server, acquiring data corresponding to the current grid in the server incremental data of the first version number from the server as map data queried by the query request; or, if the second version number is an unknown mark and no network connection exists 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 mark, and obtaining data corresponding to the current grid from the client incremental data corresponding to the queried version number which is not the unknown mark, as the map data queried by the query request.
In the above example, when obtaining the queried map data based on the second version number, the latest data may be obtained from the client, or the latest data may be obtained from the server, or the data as new as possible may be obtained from the client, so that, based on the actual situation, when the client stores the latest data or the client does not store the latest data but has good network connection, the latest data may be obtained, and the latest data may be used; when the client does not store the latest data and has no good network connection, the data as new as possible can be obtained, the optimal degradation query is realized, and the consistency of the queried map data and the real world is ensured to the greatest extent.
In some embodiments, the processing module is further to: the pre-update map data includes: client baseline data of an initial version number; the executing the merging operation of the map data based on the increment index comprises: copying the client baseline data of the initial version number to obtain copied data; and updating the copied data based on the increment indexes corresponding to the version numbers to obtain combined client baseline data, and setting the version number of the combined client baseline data as the latest version number in the plurality of version numbers.
In the above example, by performing a merge operation on the client map data with multiple version numbers, the number of databases can be reduced, and the storage redundancy can be reduced; and when data is queried, query levels can be reduced, and query efficiency is improved.
It is to be understood that in the disclosed embodiments, the same or similar elements in different embodiments may be referenced.
It is to be understood that "first", "second", and the like in the embodiments of the present disclosure are used for distinction only, and do not indicate the degree of importance, the order of timing, and the like.
In the technical scheme of the disclosure, the collection, storage, use, processing, transmission, provision, disclosure and other processing of the personal information of the related user are all in accordance with the regulations of related laws and regulations and do not violate the good customs of the public order.
Fig. 14 is a schematic diagram according to a fourth embodiment of the present disclosure, which provides an autonomous vehicle. Referring to fig. 14, an autonomous vehicle 1400 includes an electronic device 1401. For a description of the electronic device 1401 reference may be made to the related embodiments.
The present disclosure also provides an electronic device, a readable storage medium, and a computer program product according to embodiments of the present disclosure.
FIG. 15 shows a schematic block diagram of an example electronic device 1500 that may be used to implement embodiments of the present disclosure. Electronic devices are intended to represent various forms of digital computers, such as laptops, desktops, workstations, servers, blade servers, mainframes, and other appropriate computers. The electronic device may also represent various forms of mobile devices, such as personal digital assistants, cellular telephones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be examples only, and are not meant to limit implementations of the disclosure described and/or claimed herein.
As shown in fig. 15, the electronic device 1500 includes a calculation unit 1501 which can perform various appropriate actions and processes in accordance with 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. In the RAM 1503, various programs and data necessary for the operation of the electronic device 1500 can also be stored. The calculation unit 1501, the ROM 1502, and the RAM 1503 are connected to each other by a bus 1504. An input/output (I/O) interface 1505 is also connected to bus 1504.
Various components in the electronic device 1500 connect to the I/O interface 1505, including: an input unit 1506 such as a keyboard, a mouse, and the like; an output unit 1507 such as various types of displays, speakers, and the like; a storage unit 1508, such as a magnetic disk, optical disk, or the like; and a communication unit 1509 such as a network card, a modem, a wireless communication transceiver, and the like. The communication unit 1509 allows the electronic device 1500 to exchange information/data with other devices via a computer network such as the internet and/or various telecommunication networks.
The computing unit 1501 may be various general and/or special purpose processing components having processing and computing capabilities. Some examples of the computation unit 1501 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various dedicated Artificial Intelligence (AI) computation chips, various computation units running machine learning model algorithms, a Digital Signal Processor (DSP), and any suitable processor, controller, microcontroller, or the like. The calculation unit 1501 executes the respective methods and processes described above, such as the data processing method. For example, in some embodiments, the data processing method may be implemented as a computer software program tangibly embodied 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 onto the electronic device 1500 via the ROM 1502 and/or the communication unit 1509. When the computer program is loaded into the 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 the data processing method in any other suitable manner (e.g., by means of firmware).
Various implementations of the systems and techniques described here above may be implemented in digital electronic circuitry, integrated circuitry, Field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), system on a chip (SOCs), Complex Programmable Logic Devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, receiving data and instructions from, and transmitting data and instructions to, a storage system, at least one input device, and at least one output device.
Program code for implementing the methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the program codes, when executed by the processor or controller, cause the functions/operations specified in the flowchart and/or block diagram to be performed. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and a pointing device (e.g., a mouse or a trackball) by which a user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with a 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 may be received in any form, including acoustic, speech, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a back-end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), Wide Area Networks (WANs), and the Internet.
The computer system may include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The Server can be a cloud Server, also called a cloud computing Server or a cloud host, and is a host product in a cloud computing service system, so as to solve the defects of high management difficulty and weak service expansibility in the traditional physical host and VPS service ("Virtual Private Server", or simply "VPS"). The server may also be a server of a distributed system, or a server incorporating a blockchain.
It should be understood that various forms of the flows shown above may be used, with steps reordered, added, or deleted. For example, the steps described in the present disclosure may be executed in parallel, sequentially, or in different orders, as long as the desired results of the technical solutions disclosed in the present disclosure can be achieved, and the present disclosure is not limited herein.
The above detailed description should not be construed as limiting the scope of the disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may be made in accordance with design requirements and other factors. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present disclosure should be included in the scope of protection of the present disclosure.

Claims (22)

1. A method of data processing, comprising:
responding to an update message sent by a server, and requesting server incremental data of a current version number from the server, wherein the update message is sent by the server after the server generates the server incremental data of the current version number, and the server incremental data of the current version number is map data which changes in a current period corresponding to the current version number;
determining client incremental data of the current version number based on the acquisition condition of the server incremental data of the current version number;
and adding the client incremental data of the current version number in addition to the client map data before updating to obtain the updated client map data.
2. The method of claim 1, wherein,
the server incremental data comprises: server grid data for at least one grid;
the client delta data includes: client grid data for at least one grid;
the determining the client incremental data of the current version number based on the obtaining condition of the server incremental data of the current version number comprises the following steps:
regarding a first grid, using the server grid data of the first grid with the current version number as the client grid data of the first grid with the current version number;
setting the client grid data of the second grid with the current version number as unknown data aiming at the second grid;
the first grid is a grid to which the acquired server grid data belongs, and the second grid is a grid to which the non-acquired server grid data belongs.
3. The method of claim 1, wherein,
the map data of the client before updating is stored in an existing database;
adding the client incremental data of the current version number in addition to the client map data before updating, including:
and storing the client incremental data of the current version number into a current database, wherein the current database is different from the existing database.
4. The method according to any one of claims 1 to 3,
the updated client map data comprises client map data with a plurality of version numbers, and the client map data with each version number in the client map data with the plurality of version numbers comprises client grid data of at least one grid;
the method further comprises the following steps:
generating an increment index corresponding to each version number, wherein the increment index is used for indicating the latest version number of the client grid data of each grid in the full-scale grid;
based on the incremental index, a query operation or a merge operation is performed.
5. The method of claim 4, wherein,
the increment index corresponding to each version number comprises: the increment index corresponding to the current version number;
generating an increment index corresponding to the current version number, including:
taking the increment index corresponding to the last version number of the current version number as an initial value;
and updating the initial value based on the acquisition condition of the server-side incremental data of the current version number to generate an incremental index corresponding to the current version number.
6. The method of claim 5, wherein,
the server incremental data of the current version number includes: server grid data for at least one grid;
the updating the initial value based on the acquisition condition of the server incremental data of the current version number includes:
updating the latest version number of the client grid data of the first grid to the current version number aiming at the first grid;
setting a latest version number of client mesh data of a second mesh as an unknown mark for the second mesh;
the first grid is a grid to which the acquired server grid data belongs, and the second grid is a grid to which the non-acquired server grid data belongs.
7. The method of claim 4, wherein the performing a query operation based on the delta index comprises:
responding to a query request, and determining a first version number, wherein the first version number is the latest version number of the server-side incremental data;
determining an increment index corresponding to the first version number;
determining a second version number corresponding to a current grid based on the increment index corresponding to the first version number, wherein the current grid is the grid to which the map data inquired by the inquiry request belongs, and the second version number is the version number corresponding to the current grid indicated by the increment index;
and acquiring the map data inquired by the inquiry request based on the second version number and the updated client map data.
8. The method of claim 7, wherein the obtaining the map data queried by the query request based on the second version number comprises:
if the second version number is not an unknown mark, acquiring data corresponding to the current grid from the client incremental data of the second version number as the map data queried by the query request; or,
if the second version number is an unknown mark and network connection exists between the client and the server, acquiring data corresponding to the current grid in the server incremental data of the first version number from the server as map data inquired by the inquiry request; or,
if the second version number is an unknown mark and no network connection exists between the client and the server, sequentially inquiring the version number corresponding to the current grid in the incremental index corresponding to the version number before the first version number until the inquired version number is not the unknown mark, and acquiring data corresponding to the current grid from the client incremental data corresponding to the inquired version number which is not the unknown mark to serve as the map data inquired by the inquiry request.
9. The method of claim 4, wherein,
the pre-update map data includes: client baseline data of an initial version number;
the merging operation of the map data is executed based on the increment index, and comprises the following steps:
copying the client baseline data of the initial version number to obtain copied data;
and updating the copied data based on the increment indexes corresponding to the version numbers to obtain combined client baseline data, and setting the version number of the combined client baseline data as the latest version number in the plurality of version numbers.
10. A data processing apparatus comprising:
an obtaining module, configured to request, from a server, server incremental data of a current version number in response to an update message sent by the server, where the update message is sent by the server after the server incremental data of the current version number is generated, and the server incremental data of the current version number is map data that changes in a current period corresponding to the current version number;
the determining module is used for determining the client incremental data of the current version number based on the acquisition condition of the server incremental data of the current version number;
and the updating module is used for adding the client incremental data of the current version number in addition to the client map data before updating so as to obtain the updated client map data.
11. The apparatus of claim 10, wherein,
the server incremental data comprises: server grid data for at least one grid;
the client delta data includes: client grid data for at least one grid;
the determination module is further to:
regarding a first grid, using the server grid data of the first grid with the current version number as the client grid data of the first grid with the current version number;
setting the client grid data of the second grid with the current version number as unknown data aiming at the second grid;
the first grid is a grid to which the acquired server grid data belongs, and the second grid is a grid to which the non-acquired server grid data belongs.
12. The apparatus of claim 10, wherein,
the map data of the client before updating is stored in an existing database;
the update module is further to:
and storing the client incremental data of the current version number into a current database, wherein the current database is different from the existing database.
13. The apparatus of any one of claims 10-12,
the updated client map data comprises client map data with a plurality of version numbers, and the client map data with each version number in the client map data with the plurality of version numbers comprises client grid data of at least one grid;
the device further comprises:
a generating module, configured to generate an incremental index corresponding to each version number, where the incremental index is used to indicate a latest version number of client grid data of each grid in the full-scale grid;
and the processing module is used for executing query operation or combination operation based on the increment index.
14. The apparatus of claim 13, wherein,
the increment index corresponding to each version number comprises: the increment index corresponding to the current version number;
the generation module is further to:
taking the increment index corresponding to the last version number of the current version number as an initial value;
and updating the initial value based on the acquisition condition of the server incremental data of the current version number to generate an incremental index corresponding to the current version number.
15. The apparatus of claim 14, wherein,
the server incremental data of the current version number includes: server grid data for at least one grid;
the generation module is further to:
updating the latest version number of the client grid data of the first grid to the current version number aiming at the first grid;
setting a latest version number of client mesh data of a second mesh as an unknown mark for the second mesh;
the first grid is a grid to which the acquired server grid data belongs, and the second grid is a grid to which the non-acquired server grid data belongs.
16. The apparatus of claim 13, wherein the processing module is further to:
responding to a query request, and determining a first version number, wherein the first version number is the latest version number of the server-side incremental data;
determining an increment index corresponding to the first version number;
determining a second version number corresponding to a current grid based on an increment index corresponding to the first version number, wherein the current grid is a grid to which map data inquired by the inquiry request belongs, and the second version number is a version number corresponding to the current grid indicated by the increment index;
and obtaining the map data inquired by the inquiry request based on the second version number.
17. The apparatus of claim 13, wherein the processing module is further to:
if the second version number is not an unknown mark, acquiring data corresponding to the current grid from the client incremental data of the second version number as the map data queried by the query request; or,
if the second version number is an unknown mark and network connection exists between the client and the server, acquiring data corresponding to the current grid in the server incremental data of the first version number from the server as map data inquired by the inquiry request; or,
if the second version number is an unknown mark and no network connection exists 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 mark, and acquiring data corresponding to the current grid from the client incremental data corresponding to the queried version number which is not the unknown mark as the map data queried by the query request.
18. The apparatus of claim 13, wherein the processing module is further to:
the pre-update map data includes: client baseline data of an initial version number;
the executing the merging operation of the map data based on the increment index comprises:
copying the client baseline data of the initial version number to obtain copied data;
and updating the copied data based on the increment indexes corresponding to the version numbers to obtain combined client baseline data, and setting the version number of the combined client baseline data as the latest version number in the plurality of version numbers.
19. An electronic device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-9.
20. A non-transitory computer readable storage medium having stored thereon computer instructions for causing the computer to perform the method of any one of claims 1-9.
21. A computer program product comprising a computer program which, when executed by a processor, implements the method according to any one of claims 1-9.
22. An autonomous vehicle comprising: the electronic device of claim 19.
CN202210426148.6A 2022-04-21 2022-04-21 Data processing method, device, equipment and storage medium Pending CN114840539A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210426148.6A CN114840539A (en) 2022-04-21 2022-04-21 Data processing method, device, equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210426148.6A CN114840539A (en) 2022-04-21 2022-04-21 Data processing method, device, equipment and storage medium

Publications (1)

Publication Number Publication Date
CN114840539A true CN114840539A (en) 2022-08-02

Family

ID=82565897

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210426148.6A Pending CN114840539A (en) 2022-04-21 2022-04-21 Data processing method, device, equipment and storage medium

Country Status (1)

Country Link
CN (1) CN114840539A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115905266A (en) * 2022-12-29 2023-04-04 支付宝(杭州)信息技术有限公司 Processing method of graph structure data and storage engine for graph structure data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115905266A (en) * 2022-12-29 2023-04-04 支付宝(杭州)信息技术有限公司 Processing method of graph structure data and storage engine for graph structure data

Similar Documents

Publication Publication Date Title
CN109933585B (en) Data query method and data query system
US20210108931A1 (en) Method and apparatus for determining hybrid travel route, device and storage medium
CN113155141A (en) Map generation method and device, electronic equipment and storage medium
CN111339191B (en) Data storage method, device, equipment and medium of block chain
CN111859187A (en) POI query method, device, equipment and medium based on distributed graph database
CN114880337B (en) Map data integrated updating method, device, equipment and storage medium
CN114661736B (en) Electronic map updating method and device, electronic equipment, storage medium and product
CN114840539A (en) Data processing method, device, equipment and storage medium
CN113722600A (en) Data query method, device, equipment and product applied to big data
CN113344074A (en) Model training method, device, equipment and storage medium
CN111506586B (en) Incremental drawing method, device, electronic equipment and readable storage medium
CN112433757A (en) Method and device for determining interface calling relationship
CN111290714A (en) Data reading method and device
CN113656144B (en) Data release system, method and device, electronic equipment and storage medium
CN116320033A (en) Resource scheduling optimization method and device
CN113139258B (en) Road data processing method, device, equipment and storage medium
CN114036166A (en) High-precision map data updating method and device, electronic equipment and storage medium
CN113986866A (en) Processing method, device, equipment and medium for large-scale point cloud data
CN113868555A (en) Track retrieval method, device, equipment and storage medium
CN114138925A (en) Location point belonging area retrieval method, device, electronic equipment, medium and product
CN116547658B (en) Processing search requests
CN118035320B (en) Data query method, device, equipment and medium for fusion database
CN114416761A (en) Method, device, equipment, medium and product for updating statistical information
CN117194435A (en) Index data updating method, device, equipment and storage medium
CN114650222A (en) Parameter configuration method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination