CN114840539A - Data processing method, device, equipment and storage medium - Google Patents
Data processing method, device, equipment and storage medium Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version 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, device, device, and storage medium, and relates to the technical field of computers, in particular to the technical fields of automatic driving, intelligent transportation, and the like. The data processing method comprises: in response to an update message sent by the server, requesting the server for incremental data of the current version number from the server, the update message is that the server adds the current version number to the server that generated the current version number. The incremental data of the server of the current version number is the map data that has changed in the current cycle corresponding to the current version number; based on the acquisition of the incremental data of the server of the current version number, Determine the client-side incremental data of the current version number; add the client-side incremental data of the current version number in addition to the client-side map data before the update to obtain the updated client-side map data. The present disclosure can improve the timeliness of client map data.
Description
技术领域technical field
本公开涉及计算机技术领域,具体涉及自动驾驶、智能交通等技术领域,尤其涉及一种数据处理方法、装置、设备和存储介质。The present disclosure relates to the field of computer technologies, in particular to the technical fields of autonomous driving, intelligent transportation, and the like, and in particular, to a data processing method, apparatus, device, and storage medium.
背景技术Background technique
自动驾驶车辆(Autonomous vehicles;Self-driving automobile)又称无人驾驶车辆、电脑驾驶车辆或轮式移动机器人,是一种通过电脑系统实现无人驾驶的智能车辆。Self-driving vehicles (Autonomous vehicles; Self-driving automobile), also known as unmanned vehicles, computer-driven vehicles or wheeled mobile robots, are intelligent vehicles that realize unmanned driving through computer systems.
自动驾驶车辆行驶时可以采用车端内的地图数据。相关技术中,一般是定期更新车端内的全量数据,比如,定期从服务端下载全量数据或者到指定地点进行线下更新。但是,定期更新全量数据的方式限制了数据更新的频率,一般为季度级,进而导致车端地图数据的时效性较差。The map data in the car can be used when the autonomous vehicle is driving. In the related art, the full amount of data in the vehicle terminal is generally updated regularly, for example, the full amount of data is regularly downloaded from the server side or offline update is performed at a designated location. However, the method of regularly updating the full amount of data limits the frequency of data updating, generally at the quarterly level, resulting in poor timeliness of on-board map data.
发明内容SUMMARY OF THE INVENTION
本公开提供了一种数据处理方法、装置、设备和存储介质。The present disclosure provides a data processing method, apparatus, device and storage medium.
根据本公开的一方面,提供了一种数据处理方法,包括:响应于服务端发送的更新消息,向所述服务端请求当前版本号的服务端增量数据,所述更新消息是所述服务端在产生所述当前版本号的服务端增量数据后发送的,所述当前版本号的服务端增量数据是所述当前版本号对应的当前周期内发生变化的地图数据;基于所述当前版本号的服务端增量数据的获取情况,确定所述当前版本号的客户端增量数据;在更新前的客户端地图数据之外,添加所述当前版本号的客户端增量数据,以获取更新后的客户端地图数据。According to an aspect of the present disclosure, a data processing method is provided, comprising: in response to an update message sent by a server, requesting the server for incremental data of the current version number, wherein the update message is the service Sent by the terminal 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 changes in the current cycle corresponding to the current version number; based on the current version number The acquisition situation of the server-side incremental data of the version number, determine the client-side incremental data of the current version number; in addition to the client-side map data before the update, add the client-side incremental data of the current version number to Get updated client-side map data.
根据本公开的另一方面,提供了一种数据处理装置,包括:请求模块,用于响应于服务端发送的更新消息,向所述服务端请求当前版本号的服务端增量数据,所述更新消息是所述服务端在产生所述当前版本号的服务端增量数据后发送的,所述当前版本号的服务端增量数据是所述当前版本号对应的当前周期内发生变化的地图数据;确定模块,用于基于所述当前版本号的服务端增量数据的获取情况,确定所述当前版本号的客户端增量数据;更新模块,用于在更新前的客户端地图数据之外,添加所述当前版本号的客户端增量数据,以获取更新后的客户端地图数据。According to another aspect of the present disclosure, a data processing apparatus is provided, comprising: a request module, configured to request the server for incremental data of the current version number from the server in response to an update message sent by the server, the The update message is sent by the server after generating the server incremental data of the current version number, and the server incremental data of the current version number is the map that has changed in the current cycle corresponding to the current version number data; a determination module, used for determining the client incremental data of the current version number based on the acquisition of the server incremental data of the current version number; an update module, used for between the client map data before the update In addition, the client incremental data of the current version number is added to obtain updated client map data.
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述任一方面的任一项所述的方法。According to another aspect of the present disclosure, there is provided an electronic device, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores information that can be used by the at least one processor Instructions that are executed, the instructions being executed by the at least one processor to enable the at least one processor to perform the method of any of the preceding aspects.
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据上述任一方面的任一项所述的方法。According to another aspect of the present disclosure, there is provided a non-transitory computer-readable storage medium having computer instructions stored thereon, wherein the computer instructions are used to cause the computer to perform any one of the preceding aspects. method.
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据上述任一方面的任一项所述的方法。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 of the preceding aspects.
根据本公开的另一方面,提供了一种自动驾驶车辆,包括如上述任一方面的任一项所述的电子设备。According to another aspect of the present disclosure, there is provided an autonomous vehicle comprising the electronic device of any one of the preceding aspects.
根据本公开的技术方案,可以提高客户端地图数据的时效性。According to the technical solutions of the present disclosure, the timeliness of the client map data can be improved.
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。It should be understood that what is described in this section is not intended to identify key or critical features of embodiments of the disclosure, nor is it intended to limit the scope of the disclosure. Other features of the present disclosure will become readily understood from the following description.
附图说明Description of drawings
附图用于更好地理解本方案,不构成对本公开的限定。其中:The accompanying drawings are used for better understanding of the present solution, and do not constitute a limitation to the present disclosure. in:
图1是根据本公开第一实施例的示意图;1 is a schematic diagram according to a first embodiment of the present disclosure;
图2是本公开实施例中服务端增量数据和车端增量数据的示意图;FIG. 2 is a schematic diagram of server-side incremental data and vehicle-side incremental data in an embodiment of the present disclosure;
图3是根据本公开第二实施例的示意图;3 is a schematic diagram according to a second embodiment of the present disclosure;
图4是图3对应的系统交互图;Fig. 4 is the system interaction diagram corresponding to Fig. 3;
图5是本公开实施例中网格交界处的地图元素的示意图;5 is a schematic diagram of map elements at grid junctions in an embodiment of the present disclosure;
图6是本公开实施例各个版本号对应的增量索引的示意图;6 is a schematic diagram of incremental indexes corresponding to each version number according to an embodiment of the present disclosure;
图7是本公开实施例增量索引的更新过程示意图;7 is a schematic diagram of an update process of an incremental index according to an embodiment of the present disclosure;
图8是本公开实施例中车端地图数据的存储示意图;8 is a schematic diagram of storage of vehicle-end map data in an embodiment of the present disclosure;
图9是本公开实施例中数据库的组成示意图;9 is a schematic diagram of the composition of a database in an embodiment of the present disclosure;
图10是本公开实施例中空间索引的示意图;10 is a schematic diagram of a spatial index in an embodiment of the present disclosure;
图11是本公开实施例中执行查询操作的流程示意图;FIG. 11 is a schematic flowchart of performing a query operation in an embodiment of the present disclosure;
图12a~图12c是本公开实施例中执行合并操作的过程示意图;12a-12c are schematic diagrams of a process of performing a merge operation in an embodiment of the present disclosure;
图13是根据本公开第三实施例的示意图;13 is a schematic diagram according to a third embodiment of the present disclosure;
图14是根据本公开第四实施例的示意图;14 is a schematic diagram of a fourth embodiment according to the present disclosure;
图15是用来实现本公开实施例的数据处理方法的电子设备的示意图。FIG. 15 is a schematic diagram of an electronic device used to implement the data processing method of an embodiment of the present disclosure.
具体实施方式Detailed ways
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。Exemplary embodiments of the present disclosure are described below with reference to the accompanying drawings, which include various details of the embodiments of the present disclosure to facilitate understanding and should be considered as exemplary only. 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 from the following description for clarity and conciseness.
相关技术中,车端地图数据一般是采用定期更新全量数据的方式,这种方式限制了数据更新的频率,一般为季度级。In the related art, in-vehicle map data generally adopts the method of regularly updating the full amount of data, which limits the frequency of data updating, generally at the quarterly level.
但是,季度级的数据更新方式,会导致车端地图数据的时效性较差,车端地图数据与现实世界的不一致,进而影响车辆的正常行驶。However, the quarter-level data update method will lead to poor timeliness of the car-end map data, and the inconsistency between the car-end map data and the real world, which will affect the normal driving of the vehicle.
为了提高车端地图数据的时效性,本公开提供如下实施例。In order to improve the timeliness of vehicle-end map data, the present disclosure provides the following embodiments.
图1是根据本公开第一实施例的示意图,本实施例提供一种数据处理方法,本实施例提供的方法包括:FIG. 1 is a schematic diagram according to a first embodiment of the present disclosure. This embodiment provides a data processing method. The method provided by this embodiment includes:
101、响应于服务端发送的更新消息,向所述服务端请求当前版本号的服务端增量数据,所述更新消息是所述服务端在产生所述当前版本号的服务端增量数据后发送的,所述当前版本号的服务端增量数据是所述当前版本号对应的当前周期内发生变化的地图数据。101. In response to an update message sent by the server, request the server for incremental data of the current version number from the server, and the update message is after the server generates the server incremental data of the current version number. Sent, the server-side incremental data of the current version number is map data that has changed in the current cycle corresponding to the current version number.
102、基于所述当前版本号的服务端增量数据的获取情况,确定所述当前版本号的客户端增量数据。102. Determine the client incremental data of the current version number based on the acquisition situation of the server incremental data of the current version number.
103、在更新前的客户端地图数据之外,添加所述当前版本号的客户端增量数据,以获取更新后的客户端地图数据。103. In addition to the client-side map data before the update, add the client-side incremental data of the current version number to obtain the updated client-side map data.
本实施例的方法可以应用于客户端,客户端可以包括:车端、移动端(如手机、平板电脑、可穿戴式设备)等。The method in this embodiment may be applied to a client, and the client may include: a vehicle terminal, a mobile terminal (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 the vehicle end as an example, for example, it may be performed by an automatic driving system on a vehicle, and/or performed by an on-board system on the vehicle.
服务端,用于生产多个版本的地图数据,生产周期是较小的,比如小时级。The server is used to produce multiple versions of map data, and the production cycle is small, such as hourly.
不同版本的地图数据可以用不同的版本号进行标识,比如,多个版本的地图数据的版本号分别是101、102和103。Different versions of map data may be identified by different version numbers. For example, the version numbers of multiple versions of map data are 101, 102, and 103, respectively.
增量数据是指当前周期内发生变化的地图数据,当前周期是指当前版本号的地图数据的产生时间点与上一版本号的地图数据的产生时间点之间的时间段。Incremental data refers to map data that has changed in the current cycle, and the current cycle refers to the 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 and processed in units of grids (or called tiles).
比如,服务端在t1产生上一版本号的地图数据,在t2产生当前版本号的地图数据,若在[t1,t2]这个时间段内,某个或某些网格内的网格数据发生了变化(比如,对应网格内的地图元素发生了变化),则将发生变化的网格数据作为当前版本号的服务端增量数据。For example, the server generates the map data of the previous version number at t1, and generates the map data of the current version number at t2. If there is a change (for example, the map element in the corresponding grid has changed), the changed grid data is used as the server-side incremental data of the current version number.
服务端和车端在存储地图数据时,可以采用增量数据的形式进行存储。相应地,增量数据可以分为服务端增量数据和车端增量数据。When the server and vehicle end store map data, they can be stored in the form of incremental data. Correspondingly, incremental data can be divided into server-side incremental data and vehicle-side incremental data.
初始的全量地图数据可以称为基线地图数据。服务端的基线地图数据可以称为服务端基线数据,车端的基线地图数据可以称为车端基线数据。The initial full amount of map data may be referred to as baseline map data. The baseline map data on the server side may be referred to as server baseline data, and the baseline map data on the vehicle side may be referred to as vehicle baseline data.
如图2所示,服务端的地图数据可以包括:服务端基线数据和服务端增量数据,服务端基线数据的版本号为101,服务端增量数据可以对应一个或多个版本号,图2中,服务端增量数据的版本号分别为102和103。As shown in Figure 2, the map data on the server can include: server baseline data and server incremental data, the version number of the server baseline data is 101, and the server incremental data can correspond to one or more version numbers, as shown in Figure 2 , the version numbers of the incremental data on the server are 102 and 103 respectively.
版本号为102的服务端增量数据用粗实线且用102标记;版本号为103的服务端增量数据用粗实线且用103标记。The server-side incremental data with
服务端在发生版本更新时,比如,将101版本更新为102版本,或者,将102版本更新为103版本,可以向车端发送更新消息。When a version update occurs, for example, the
车端响应于服务端发送的更新消息,可以向服务端请求服务端增量数据。比如,服务端地图数据从101版本更新为102版本后,车端可以向服务端请求版本号为102的服务端增量数据。In response to the update message sent by the server, the car end may request the server for incremental data from the server. For example, after the server-side map data is updated from
虽然车端可以向服务端请求数据,但是,由于车端与服务端之间的网络连接可能较差甚至无网络,因此,车端可能获取到所请求的数据或者获取不到所请求的数据。Although the car end can request data from the server, because the network connection between the car end and the server end may be poor or even no network, the car end may or may not obtain the requested data.
基于车端所请求的服务端增量数据的获取情况,可以确定车端增量数据。即,由于网络的不确定性,同一版本好的车端增量数据与服务端增量数据可能一致或不一致,Based on the acquisition of incremental data of the server requested by the vehicle, the incremental data of the vehicle can be determined. That is, due to the uncertainty of the network, the car-side incremental data and the server-side incremental data of the same version may be consistent or inconsistent.
比如,如图2所示,假设获取不到的数据称为未知数据,用x表示,针对版本号102,版本号为102的服务端增量数据为5个标记为102的网格数据,但是,版本号为102的车端增量数据包括2个标记为102的网格数据,还包括3个为未知数据(用x标记)。针对版本号103,假设车端从服务端获取到全部的对应版本的增量数据,则版本号为103的服务端增量数据和版本号为103的车端增量数据均包括两个标记为103的网格数据。For example, as shown in Figure 2, assuming that the data that cannot be obtained is called unknown data, which is represented by x, for
确定当前版本号对应的车端增量数据后,可以采用添加的方式,进行车端地图数据的更新。After the vehicle-side incremental data corresponding to the current version number is determined, the vehicle-side map data can be updated by adding.
依然参考图2,假设当前版本号为102,则更新前的车端地图数据为版本号为101的车端基线地图数据,获取版本号为102的车端增量数据后,可以添加版本号为102的车端增量数据,从而更新后的车端地图数据包括:版本号为101的车端基线地图数据,以及版本号为102的车端增量数据。Still referring to Figure 2, assuming that the current version number is 102, the on-board map data before the update is the on-board baseline map data with
假设当前版本号为103,则更新前的车端地图数据包括:版本号为101的车端基线地图数据,以及版本号为102的车端增量数据,获取版本号为103的车端增量数据后,可以添加版本号为103的车端增量数据,从而更新后的车端地图数据包括:版本号为101的车端基线地图数据、版本号为102的车端增量数据,以及,版本号为103的车端增量数据。Assuming that the current version number is 103, the on-board map data before the update includes: on-board baseline map data with
由于车端地图数据更新时,是采用添加的方式,将当前版本号的车端增量数据,添加到更新前的车端地图数据之外,并不是覆盖某个或某些网格数据的方式,因此,车端地图数据将包括多个版本号的车端地图数据。Because when the car-end map data is updated, the method of adding is adopted, and the car-end incremental data of the current version number is added to the car-end map data before the update, and it is not a way of covering one or some grid data. , therefore, the on-board map data will include on-board map data with multiple version numbers.
本实施例中,采用当前版本号的车端增量数据更新车端地图数据,当前版本号的车端增量数据是响应于服务端的更新消息,基于服务端增量数据的获取情况确定的,更新消息是服务端产生新版本的增量地图数据后发送的,因此,车端增量数据的更新周期与服务端增量地图数据的产生周期一致,一般为小时级,相对于季度级的全量数据更新方式,可以保证车端地图数据及时被更新,提高车端地图数据的时效性,进而在后续查询地图数据时可以查询到最新数据;通过请求增量数据而不是全量数据,可以较快地进行车端地图数据的更新,还可以降低数据传输量,提高传输效率,节省资源开销;通过在更新前的车端地图数据之外,添加新版本对应的车端增量数据,而不是采用覆盖更新前的车端地图数据的方式,可以避免车端与服务端之间的网络连接不佳导致的数据缺失情况,保证车端地图数据的完整性和准确性,以及,在后续查询车端地图数据时还可以起到最优降级,即尽量查询最新版本的车端地图数据的效果。In this embodiment, the car-end map data is updated by using the car-end incremental data of the current version number, and the car-end incremental data of the current version number is determined based on the acquisition of the server-end incremental data in response to the update message of the server end, The update message is sent after the server generates a new version of the incremental map data. Therefore, the update cycle of the car-end incremental data is consistent with the generation cycle of the server-end incremental map data, which is generally hourly, compared to the quarterly full volume. The data update method can ensure that the car-end map data is updated in time, improve the timeliness of the car-end map data, and then the latest data can be queried when the map data is subsequently queried; by requesting incremental data instead of full data, it can be faster. Updating the car-end map data can also reduce the amount of data transmission, improve transmission efficiency, and save resource overhead; by adding the car-end incremental data corresponding to the new version in addition to the car-end map data before the update, instead of using coverage The method of updating the car-end map data before the update can avoid the data loss caused by the poor network connection between the car-end and the server, ensure the integrity and accuracy of the car-end map data, and query the car-end map in the follow-up. It can also play an optimal downgrade when it comes to data, that is, try to query the latest version of the on-board map data.
上述描述了车端地图数据的更新过程,更新后的车端地图数据可以供后续流程使用。比如,车端上安装的应用可以在更新后的车端地图数据中进行查询,基于查询的车端地图数据进行路径导航等操作。又比如,由于更新后的车端地图数据是多个版本的地图数据,为了节省存储资源,提升查询效率等,可以定期对多个版本的地图数据进行合并操作。The above describes the update process of the on-board map data, and the updated on-board map data can be used for subsequent processes. For example, an application installed on the car end can query the updated car end map data, and perform operations such as route navigation based on the queried car end map data. For another example, since the updated on-board map data is map data of multiple versions, in order to save storage resources and improve query efficiency, the map data of multiple versions can be merged regularly.
图3是根据本公开第二实施例的示意图,本实施例提供一种数据处理方法,图4是图3对应的系统交互图。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 .
参见图3,本实施例提供的方法包括:Referring to FIG. 3, the method provided by this embodiment includes:
301、服务端生产当前版本号的服务端增量数据。301. The server produces incremental server data of the current version number.
其中,服务端的生产周期一般为小时级,即,可以每小时生产一个新版本的服务端地图数据。Among them, the production cycle of the server is generally an hour level, that is, a new version of the server map data can be produced every hour.
具体地,参见图4,服务端可以分为离线服务和在线服务,离线服务内的地图数据生产模块可以离线生成各个版本的服务端地图数据。离线服务生成新版本的服务端地图数据后,可以将新版本的服务端地图数据推送给在线地图数据服务,在图7中表示为发布最新版本数据。Specifically, referring to FIG. 4 , the server can be divided into offline services and online services, and the map data production module in the offline service can generate various versions of server map data offline. After the offline service generates a 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 represented as publishing the latest version of data in FIG. 7 .
当前版本号是指服务端所发布的最新版本数据的版本号。The current version number refers to the version number of the latest version data published by the server.
初始版本的服务端地图数据可以称为服务端基线数据,非初始版本的服务端地图数据可以称为服务端增量数据。另外,服务端基线数据的增量数据可以认为是服务端基线数据本身。The initial version of the server-side map data can be called server-side baseline data, and the non-initial version of server-side map data can be called server-side incremental data. In addition, the incremental data of the server-side baseline data can be considered as the server-side baseline data itself.
多个版本的服务端地图数据可以如图2的左侧所示,包括版本号为101的服务端基线数据,版本号为102的服务端增量数据,以及版本号为103的服务端增量数据。Multiple versions of server-side map data can be shown on the left side of Figure 2, including server-side baseline data with
各个版本的服务端地图数据可以采用如下方式生产:The server-side map data of each version can be produced in the following ways:
地图数据以网格(或称为瓦片)为单位进行处理,地图数据可以分为n(n为正整数)层,n越大,单个网格的大小越小,比如,m=18,网格的边长为150m,m=15,网格的边长为1200m,具体数值可以根据实际需求调整。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 is. The side length of the grid is 150m, m=15, and the side length of the grid is 1200m, and the specific value can be adjusted according to actual needs.
针对同一版本的地图数据,每个网格对应网格数据可以采用该版本内的唯一ID进行标识。上述的唯一ID可以采用GeoHash算法获得,GeoHash算法是一种地址编码方法,能够把二维的空间经纬度数据编码成一维的字符串。For the map data of the same version, the grid data corresponding to each grid can be identified by the unique ID in the version. The above unique ID can be obtained by using the GeoHash algorithm. The GeoHash algorithm is an address encoding method that can encode two-dimensional spatial latitude and longitude data into a one-dimensional character string.
地图元素可以包括点、线、面,网格交界处的点、线、面,可以如图5的(a)~(c)所示。The map elements may include points, lines, and surfaces, and points, lines, and surfaces at the intersection of grids, as shown in (a) to (c) of FIG. 5 .
针对上述的点、线、面,对应的地图数据可以如下生成:For the above points, lines and areas, the corresponding map data can be generated as follows:
点数据,在相邻的两个网格的网格数据中各存储一份,并互相标记为同位点Point data, store one copy in the grid data of two adjacent grids, and mark each other as the same point
线数据,在相邻的网格交界处打断,断点处关联的网格数据中分别生成新的节点(node),并互相标记为同位点。The line data is interrupted at the junction of adjacent grids, and new nodes (nodes) are generated in the grid data associated with the breakpoints, and are marked with each other as the same site.
面数据,在相邻的网格交界处打断,断点处关联的网格数据中分别生成新的node,并互相标记为同位点,与网格的顶点构成新的面数据。The surface data is interrupted at the junction of adjacent meshes, and new nodes are generated in the mesh data associated with the breakpoints, which are marked as co-located points with each other, and form new surface data with the vertices of the mesh.
302、服务端向车端发送更新消息。302. The server sends an update message to the vehicle.
其中,如图4所示,在线地图数据服务接收到新版本的地图数据后,可以将新版本的版本号发送到消息队列。车机中台服务订阅版本号,消息队列向车机中台服务推送版本更新消息。车机中台服务接收到版本更新消息后向车端的地图应用程序编程接口(Application Programming Interface,API)推送最新版本号。Among them, as shown in FIG. 4 , after receiving the map data of the new version, the online map data service can send the version number of the new version to the message queue. The in-vehicle middle-end service subscribes to the version number, and the message queue pushes version update messages to the in-vehicle middle-end service. After receiving the version update message, the vehicle-machine middle-station service pushes the latest version number to the map application programming interface (Application Programming Interface, API) on the vehicle side.
303、车端响应于服务端发送的更新消息,向所述服务端请求当前版本号的服务端增量数据。303. The vehicle terminal, in response to the update message sent by the server terminal, requests the server terminal for the server-side incremental data of the current version number.
其中,当前版本号即为服务端所推送的最新版本号。The current version number is the latest version number pushed by the server.
更新消息为推送消息,其中包含当前版本号。Update messages are push messages that contain the current version number.
车端接收到包含当前版本号的推送消息后,可以向服务端请求该当前版本号的服务端增量数据。After receiving the push message containing the current version number, the vehicle terminal can request the server-side incremental data of the current version number from the server side.
其中,如图4所示,车端地图数据服务可以包括基线地图数据模块、地图数据缓存模块、在线数据模块。车端基线数据可以存储在基线地图数据模块内;车端从服务端获取的增量数据可以存储在地图数据缓存模块内;在线数据模块用于从服务端实时获取数据。Wherein, as shown in FIG. 4 , the vehicle-end 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 can be stored in the baseline map data module; the incremental data obtained by the vehicle-end from the server can be stored in the map data cache module; the online data module is used to obtain data from the server in real time.
地图API接收到服务端的更新消息后,可以向车端地图数据服务发送地图数据的读取指令,车端地图数据服务内的在线数据模块可以基于读取指令从在线地图数据服务内拉取最新版本数据。After the map API receives the update message from the server, it can send the map data read command to the car-end map data service. The online data module in the car-end map data service can pull the latest version from the online map data service based on the read command. data.
可以理解的是,地图API的读取指令也可以是基于应用的触发生成,比如,应用需要使用地图数据时,应用可以向地图API发送查询请求,地图API基于查询请求生成读取指令。It is understandable that the read command of the map API can also be generated based on the trigger of the application. For example, when the application needs to use map data, the application can send a query request to the map API, and the map API generates the read command based on the query request.
由于车端地图数据一般是按照网格组织的,通过地图API可以将车端地图数据的组织结构屏蔽,建立逻辑上的无缝地图,并对上层应用提供地图数据。例如,通过地图API查询某条道路(link)的详情时,上层应用可以不必关注这个link所属的网格,可以根据link_id查询到对应版本的车端地图数据。Since the car-end map data is generally organized according to grids, the organizational structure of the car-end map data can be shielded through the map API, a logically seamless map can be established, and map data can be provided to upper-layer applications. For example, when querying the details of a certain road (link) through the map API, the upper-layer application does not need to pay attention to the grid to which the link belongs, and can query the corresponding version of the on-board 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. Since the baseline map data is full data, the update cycle is generally longer than the production cycle of incremental data produced by the server.
服务端基线数据固定周期生成,能够减少在线地图数据服务在下发增量数据的时候需要查询的数据层级,减少旧版本数据的存储规模。车端基线数据也定期更新,减少在没有网络的情况使用基线数据过旧导致的badcase。The server-side baseline data is generated in a fixed period, which can reduce the data level that the online map data service needs to query when delivering incremental data, and reduce the storage scale of old version data. On-board baseline data is also regularly updated to reduce the bad case of using outdated baseline data without a network.
服务端基线数据和车端基线数据的版本号可以一致或不一致,用户可以指定一个版本号的全量数据作为车端基线数据。但增量数据对应的版本号需要一致。比如,车端基线数据的版本号为102,服务端基线数据的版本号为101,第一个版本的车端增量数据的版本号为103,则版本号103的车端增量数据需要基于版本号103的服务端增量数据的获取情况确定。The version numbers of the server-side baseline data and the vehicle-side baseline data can be consistent or inconsistent. The user can specify the full data of a version number as the vehicle-side baseline data. However, the version numbers corresponding to incremental data need to be consistent. For example, 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 vehicle-side incremental data of the first version is 103, then the vehicle-side incremental data of
304、车端基于所述当前版本号的服务端增量数据的获取情况,确定所述当前版本号的车端增量数据,以及,生成所述当前版本号对应的增量索引,所述增量索引用于表明全量网格中各个网格的车端网格数据的最新版本号。304. The vehicle terminal determines the vehicle-side incremental data of the current version number based on the acquisition of the server-side incremental data of the current version number, and generates an incremental index corresponding to the current version number, the incremental data of the current version number. The volume index is used to indicate the latest version number of the vehicle-end mesh data of each mesh in the full mesh.
关于车端增量数据:About car-end incremental data:
其中,由于车端与服务端之间的网络连接的不确定性,同一版本号的服务端增量数据与车端增量数据可以一致或不一致。Among them, due to the uncertainty of the network connection between the vehicle terminal and the server terminal, the incremental data of the server terminal and the incremental data of the vehicle terminal of the same version number may be consistent or inconsistent.
具体地,所述服务端增量数据包括:至少一个网格的服务端网格数据;所述车端增量数据包括:至少一个网格的车端网格数据;所述基于所述当前版本号的服务端增量数据的获取情况,确定所述当前版本号的车端增量数据,包括:针对第一网格,将所述当前版本号的所述第一网格的服务端网格数据,作为所述当前版本号的所述第一网格的车端网格数据;针对第二网格,将所述当前版本号的所述第二网格的车端网格数据,设置为未知数据;其中,所述第一网格是获取到的服务端网格数据所属的网格,所述第二网格是未获取到的服务端网格数据所属的网格。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; The acquisition situation of the server-side incremental data of the current version number, and determining the vehicle-side incremental data of the current version number, including: for the first grid, converting the server-side grid of the first grid of the current version number data, as the vehicle-end grid data of the first grid of the current version number; for the second grid, set the vehicle-end 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.
比如,各个版本号的车端增量数据,与对应版本号的服务端增量数据的关系可以如图2所示。其中,未知数据用x标识,非未知数据用对应的版本号(如101、102、103)标识。车端基线数据的增量数据可以认为是车辆基线数据本身。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 corresponding version numbers (
上述示例中,将第一网格的服务端增量数据作为第一网格的车端网格数据,可以及时更新第一网格的网格数据,保证对应网格的车端网格数据与服务端网格数据的一致性;将第二网格的车端网格数据设置为未知数据,由于第二网格是未获取到的服务端网格数据所属的网格,可以反映出真实的数据获取情况,保证车端地图数据的真实性。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, and the grid data of the first grid can be updated in time to ensure that the vehicle-side grid data of the corresponding grid is the same as the grid data of the first grid. Consistency of server-side grid data; set the vehicle-side grid data of the second grid to unknown data, since the second grid is the grid to which the server-side grid data that has not been obtained belongs, it can reflect the real Data acquisition to ensure the authenticity of the car-end map data.
关于增量索引:Regarding incremental indexing:
其中,可以将所述当前版本号的上一版本号对应的增量索引,作为初始值;基于所述当前版本号的服务端增量数据的获取情况,对所述初始值进行更新,以生成所述当前版本号对应的增量索引。Wherein, 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 the server incremental data of the current version number, the initial value is updated to generate The incremental index corresponding to the current version number.
其中,如图6所示,车端基线数据的版本号为101,其对应的增量索引用第一增量索引601表示,具体数值可以全部为其版本号,即第一增量索引601的各个网格对应的版本号均为101。Among them, as shown in FIG. 6 , the version number of the vehicle-end baseline data is 101, and the corresponding incremental index is represented by the first
若当前版本号为102,可以对版本号101对应的第一增量索引601进行更新后,生成版本号102对应的第二增量索引602。If the current version number is 102, after updating the first
若当前版本号为103,可以对版本号102对应的第二增量索引602进行更新后,生成版本号103对应的第三增量索引603。If the current version number is 103, after updating the second
上述示例中,通过逐个版本号对应的增量索引的更新,可以获得各个版本号对应的增量索引。In the above example, the incremental index corresponding to each version number can be obtained by updating the incremental index corresponding to each version number one by one.
具体地,针对第一网格,将所述第一网格的车端网格数据的最新版本号更新为所述当前版本号;针对第二网格,将所述所述第二网格的车端网格数据的最新版本号,设置为未知标记。Specifically, for the first grid, update the latest version number of the vehicle-end grid data of the first grid to the current version number; for the second grid, update the latest version number of the vehicle-end grid data of the first grid to the current version number; The latest version number of the grid data on the vehicle end, set as the unknown flag.
其中,基于图2所示的各个版本号的服务端增量数据的获取情况,可以获得图6所示的各个版本号对应的增量索引。Wherein, based on the acquisition of incremental data of the server of each version number shown in FIG. 2 , the incremental index corresponding to each version number shown in FIG. 6 can be obtained.
比如,当前版本号为102时,针对第一行第二列的网格,由于该网格未获取到数据,因此其对应的版本号用未知标记x表示。针对第二行第三列的网格,由于该网格获取到数据,因此其对应的版本号更新为当前版本号,即102。For example, when the current version number is 102, for the grid in the first row and the second column, since the grid has not acquired data, the corresponding version number is represented by an unknown mark x. For the grid in the second row and the third column, since the grid obtains data, the corresponding version number is updated to the current version number, that is, 102.
又比如,当前版本号为103时,针对第三行第二列的网格,以及第三行第三列的网格,由于这两个网格均获取到数据,因此其对应的版本号更新为当前版本号,即103。For another example, when the current version number is 103, for the grid in the third row, the second column, and the grid in the third row and third column, since both grids obtain data, their corresponding version numbers are updated. is the current version number,
上述示例中,将第一网格对应的版本号更新为当前版本号,将第二网格对应的版本号设置为未知标记,这与车端网格数据的获取情况是一致的,也就是当前版本号对应的增量索引能够反映当前版本号的车端增量数据的最新情况,可以保证增量索引的准确性。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 acquisition of the grid data at the vehicle end, that is, the current The incremental index corresponding to the version number can reflect the latest situation of the vehicle-end incremental data of the current version number, which can ensure the accuracy of the incremental index.
从初始值更新为当前版本号对应的增量索引的具体更新过程可以参见图7。为了更好地说明更新过程,其引入了更新标识。车端基线数据对应的更新标识可以设置为全1。图7以当前版本号为102为例。The specific update process of updating from the initial value to the incremental index corresponding to the current version number may refer to FIG. 7 . To better illustrate the update process, it introduces update flags. The update flag corresponding to the vehicle-end baseline data can be set to all 1s. Figure 7 takes the current version number as 102 as an example.
如图7所示,初始状态,可以获得101对应的增量索引以及更新标识,分别是全101和全。As shown in FIG. 7 , in the initial state, the incremental index and update identifier corresponding to 101 can be obtained, which are all 101 and all respectively.
中间状态,针对更新标识,将发生变化的网格的更新标识设置为0,以及,将发生变化的网格的版本号设置为未知标记。其中,车端接收的更新消息中可以包含发生变化的网格的网格ID,因此,车端可以获知发生变化的网格,从而将其更新标识设置为0,对应的版本号设置为x。The intermediate state, for the update flag, sets the update flag of the changed mesh to 0, and sets the version number of the changed mesh to the unknown flag. The update message received by the vehicle terminal may include the mesh ID of the changed mesh. Therefore, the vehicle terminal can know the changed mesh, and set its update identifier to 0 and the corresponding version number to x.
最终状态,车端基于各个网格的网格数据的获取情况,若获取到网格数据,将对应网格的更新标识更新为1,以及,将对应网格的版本号更新为当前版本号102。若未获取到网格数据,保持对应网格的更新标识和版本号不变,即分别保持为0和x。In the final state, based on the acquisition of grid data of each grid, if the 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
最终状态获得的增量索引,即为当前版本号对应的增量索引。The incremental index obtained in the final state is the incremental index corresponding to the current version number.
305、车端在更新前的车端地图数据之外,添加所述当前版本号的车端增量数据,以获取更新后的车端地图数据。305. The vehicle terminal adds the vehicle terminal incremental data of the current version number in addition to the vehicle terminal map data before the update, so as to obtain the updated vehicle terminal map data.
由于车端地图数据更新时,是采用添加的方式,将当前版本号的车端增量数据,添加到更新前的车端地图数据之外,并不是覆盖某个或某些网格数据的方式,因此,车端地图数据将包括多个版本号的车端地图数据。Because when the car-end map data is updated, the method of adding is adopted, and the car-end incremental data of the current version number is added to the car-end map data before the update, and it is not a way of covering one or some grid data. , therefore, the on-board map data will include on-board map data with multiple version numbers.
其中,多个版本的车端地图数据可以存储在不同的数据库中。Among them, multiple versions of the on-board map data can be stored in different databases.
假设更新前的车端地图数据存储在已有数据库内,则可以将所述当前版本号的车端增量数据存储到当前数据库内,所述当前数据库与所述已有数据库不同。Assuming that the car-end map data before the update is stored in the existing database, the car-end incremental data of the current version number may be stored in the current database, and the current database is different from the existing database.
比如,如图8所示,版本号为101~103的车端地图数据分别存储在101~103对应对应的数据库中。具体地,版本号为101的数据库中存储版本号为101的车端基线数据,版本号为102的数据库中存储版本号为102的车端增量数据,版本号为103的数据库中存储版本号为103的车端增量数据。For example, as shown in FIG. 8 , the in-vehicle map data with
上述示例中,多个版本的车端地图数据存储在不同的数据库中,由于不同版本的数据是分别独立存储的,可以在离线应用时提供最优的降级效果。比如无网络状态下,当103版本数据查询不到所需网格数据时,可以向前降级,查询102的网格数据。In the above example, multiple versions of the on-board map data are stored in different databases. Since the data of different versions are stored separately and independently, the optimal downgrade effect can be provided in offline application. For example, when there is no network state, when the grid data of
地图数据可以分为多种图层,各个图层的数据存储结构可以如下:Map data can be divided into various layers, and the data storage structure of each layer can be as follows:
针对路网图层数据,其存储结构可以如表1和表2所示:For road network layer data, its storage structure can be shown in Table 1 and Table 2:
表1Table 1
表2Table 2
针对兴趣点(Point of Interest,POI)图层数据,其存储结构可以如表3所示:For Point of Interest (POI) layer data, its storage structure can be shown in Table 3:
表3table 3
针对区域面图层数据,其存储结构可以如表4所示:For the area layer data, its storage structure can be shown in Table 4:
表4Table 4
上述说明了各个版本的车端增量数据可以存储在不同的数据库内,各个版本对应的增量索引也可以存储在对应版本的数据库内。The above shows that 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 of the corresponding version.
比如,参见图9,多个数据库分别用第一数据库、第二数据库和第三数据库表示;每个数据库对应一个版本号,分别对应版本号101、102、103;每个数据库内包括对应版本号的增量索引和车端增量数据。另外,每个数据库内还可以存储相应的空间索引,用于空间检索。For example, referring to FIG. 9 , a plurality of databases are represented by a first database, a second database and a third database; each database corresponds to a version number, respectively corresponding to
其中,空间索引可以基于对应数据库内的车端增量数据的上述图层数据中的相关标识构建,其结构可以如图10所示。The spatial index may be constructed based on the relevant identifiers in the above-mentioned layer data corresponding to the vehicle-end incremental data in the database, and its structure may be as shown in FIG. 10 .
如图10所示,空间索引表明网格标识(geohash)与路网(用link_id和node_id标识)、POI(用poi_id标识)以及区域面(用polygon_id标识)之间的关联关系。As shown in Figure 10, 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 area face (identified by polygon_id).
基于空间索引,可以查询地图元素之间的空间关系,比如,查询某个POI的空间关系时,可以基于最新版本号对应的空间索引中的关联关系,获取该POI同一网格或周围网格内的其他地图元素的信息。Based on the spatial index, you can query the spatial relationship between map elements. For example, when querying the spatial relationship of a POI, you can obtain the POI in the same grid or surrounding grids based on the association relationship in the spatial index corresponding to the latest version number. information about other map elements.
车端获得如图9所示的多个数据库后,后续可以基于该多个数据库执行相关操作,比如,地图数据的查询操作、地图数据的合并操作、空间关系的检索操作等。从而可以基于最新数据进行相关操作,保证操作准确度。After obtaining the multiple databases shown in FIG. 9 , the vehicle end can subsequently perform related operations based on the multiple databases, for example, map data query operations, map data merging operations, and spatial relationship retrieval operations. In this way, relevant operations can be performed based on the latest data to ensure operation accuracy.
参见图3,以查询操作为例,该方法还可以包括:Referring to Fig. 3, taking the query operation as an example, the method may further include:
306、车端接收车端上安装的应用发送的查询请求。306. The vehicle terminal receives a query request sent by an application installed on the vehicle terminal.
307、车端响应于所述查询请求,基于所述查询请求对应的增量索引执行查询操作。307. In response to the query request, the vehicle terminal performs a query operation based on the incremental index corresponding to the query request.
具体地,针对查询操作,如图11所示,可以执行:Specifically, for the query operation, as shown in Figure 11, you can execute:
1101、响应于查询请求,确定第一版本号,所述第一版本号是服务端增量数据的最新版本号。1101. In response to the query request, determine a first version number, where the first version number is the latest version number of the incremental data of the server.
1102、确定所述第一版本号对应的增量索引。1102. Determine the incremental index corresponding to the first version number.
1103、基于所述第一版本号对应的增量索引,确定当前网格对应的第二版本号,所述当前网格为所述查询请求所查询的地图数据所属的网格,所述第二版本号为所述增量索引表明的所述当前网格对应的版本号。1103. Determine a second version number corresponding to the current grid based on the incremental index corresponding to the first version number, where the current grid is the grid to which the map data queried by the query request belongs, and the second version number corresponds to the current grid. The version number is the version number corresponding to the current grid indicated by the incremental index.
1104、基于所述第二版本号,获取所述查询请求所查询的地图数据。1104. Obtain the map data queried by the query request based on the second version number.
上述示例中,第二版本号是所查询的地图数据所属的网格对应的版本号,该对应的版本号基于增量索引确定,增量索引用于表明各个网格的车端网格数据的最新版本号,因此,第二版本号是所查询的地图数据的最新版本号,进而基于第二版本号获得的地图数据是最新数据;另外,增量索引是基于第一版本号确定的,第一版本号是服务端增量数据的最新版本号,因此增量索引也是最新的。因此,可以提升所查询的地图数据与现实世界的一致性,比如,在车端与服务端的网络连接良好时,所查询的地图数据与服务端生成的最新数据是一致的。In the above example, the second version number is the version number corresponding to the grid to which the queried map data belongs, and the corresponding version number is determined based on the incremental index. The latest version number, therefore, the second version number is the latest version number of the queried map data, and then 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, and the first A version number is the latest version number of the incremental data on the server, so the incremental index is also the latest. Therefore, the consistency between the queried 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 queried map data is consistent with the latest data generated by the server end.
其中,查询请求可以是车端上安装的应用(APP)产生的,比如,APP响应于用户的路线规划、绑路(确定车辆当前所处的道路)、检索(比如检索目的地的地址)等操作,产生查询请求。The query request may be generated by an application (APP) installed on the vehicle. For example, the APP responds to the user's route planning, road binding (determining the road where the vehicle is currently located), retrieval (such as retrieving the address of the destination), etc. operation to generate a query request.
服务端可以产生不同版本的地图数据,比如,以小时级进行地图数据的更新,产生不同版本的地图数据。The server can generate different versions of map data. For example, map data can be updated on an hourly basis to generate different versions of map data.
服务端每次产生一个新版本的地图数据后,可以将新版本号推送给车端,从而车端可以获知服务端地图数据的最新版本号。为了区分,服务端地图数据的最新版本号可以称为第一版本号。Each time the server generates a new version of map data, it can push the new version number to the car, so that the car can know the latest version number of the server's map data. For distinction, the latest version number of the server-side map data may be referred to as the first version number.
车端可以基于第一版本号的服务端增量数据的获取情况,生成第一版本号对应的增量索引。增量索引用于表明全量网格中各个网格的车端网格数据的最新版本号。The vehicle end may generate an incremental index corresponding to the first version number based on the acquisition of incremental data of the server of the first version number. The incremental index is used to indicate the latest version number of the vehicle-end mesh data of each mesh in the full mesh.
不同版本号可以分别对应一组增量索引,比如,参见图6,版本号101对应第一增量索引601,版本号102对应第二增量索引602,版本号103对应第三增量索引603,假设第一版本号为103,则第一版本号对应的增量索引为第三增量索引603。Different version numbers may respectively correspond to a set of incremental indexes. For example, referring to FIG. 6 , the
当前网格是指查询请求所请求的地图数据所属的网格,当前网格的数量可以为一个或多个。The current grid refers to the grid to which the map data requested by the query request belongs, and the number of the current grid can be one or more.
比如,假设全量网格为图6所示的9个网格,当前网格是指这9个网格中的部分或者全部,具体可以基于已有算法确定,比如,查询请求中携带经纬度信息,通过对经纬度进行计算确定出当前网格。For example, assuming that the full grid is the 9 grids shown in Figure 6, the current grid refers to some or all of the 9 grids, which can be determined based on existing algorithms. For example, the query request carries longitude and latitude information. The current grid is determined by calculating the latitude and longitude.
基于第一版本号对应的增量索引,可以确定当前网络对应的第二版本号。Based on the incremental index corresponding to the first version number, the second version number corresponding to the current network may be determined.
比如,参见图6,假设第一版本号对应的增量索引为第三增量索引603,假设当前网格是图6所示的9个网格中的第一行第一列的网格,则当前网格对应的第二版本号为101。又比如,假设当前网格包括图9所示的9个网格中的全部网格,则当前网格对应的第二版本号分别为101、x、101、x、x、102、101、103、103。For example, referring to FIG. 6 , assuming that the incremental index corresponding to the first version number is the third
确定当前网格对应的第二版本号后,可以基于所述第二版本号,获取所述查询请求所查询的地图数据。After the second version number corresponding to the current grid is determined, the map data queried by the query request may be acquired based on the second version number.
其中,可以从车端获取上述所查询的地图数据,和/或,从服务端获取上述所查询的地图数据。The above queried map data may be obtained from the vehicle end, and/or the above queried map data may be obtained from the server end.
具体地,若所述第二版本号不是未知标记,在所述第二版本号的车端增量数据中,获取所述当前网格对应的数据,作为所述查询请求所查询的地图数据;或者,若所述第二版本号是未知标记,且车端与服务端存在网格连接,从所述服务端获取所述第一版本号的服务端增量数据中的所述当前网格对应的数据,作为所述查询请求所查询的地图数据;或者,若所述第二版本号是未知标记,且车端与服务端不存在网络连接,按序查询所述第一版本号之前的版本号对应的增量索引中所述当前网格对应的版本号,直至所查询的版本号不是所述未知标记,在所述不是所述未知标记的所查询的版本号对应的车端增量数据中,获取所述当前网格对应的数据,作为所述查询请求所查询的地图数据。Specifically, if the second version number is not an unknown mark, obtain the data corresponding to the current grid in the vehicle-end 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 there is a grid connection between the vehicle end and the server end, the current grid corresponding to the current grid in the server incremental data of the first version number is obtained from the server end. , as the map data queried by the query request; or, if the second version number is an unknown mark, and there is no network connection between the vehicle end and the server end, query the version before the first version number in sequence The version number corresponding to the current grid in the incremental index corresponding to the number of , obtain the data corresponding to the current grid as the map data queried by the query request.
比如,当前网格是9个网格中的第一行第一列的网格,由于该网格对应的第二版本号为101,则可以在101对应的车端增量数据中,获取当前网格(第一行第一列的网格)对应的数据,作为所查询的地图数据。For example, the current grid is the grid of the first row and the first column of the 9 grids. Since the second version number corresponding to the grid is 101, the current incremental data corresponding to 101 can be used to obtain the current grid. The data corresponding to the grid (the grid of the first row and the first column) is used as the queried map data.
又比如,当前网格是9个网格中的全部网格,可以获取全部网格中各个网格对应的最新数据,将各个网格对应的最新数据组成所查询的地图数据。For another example, if the current grid is all of the nine grids, the latest data corresponding to each grid in all the grids can be obtained, and the latest data corresponding to each grid can be formed into the queried map data.
针对各个网格,比如,针对其中对应的第二版本号为102的网格,可以从102对应的车端增量数据中,获取该网格(第二行第三列的网格)对应的数据,作为该网格(第二行第三列的网格)对应的最新数据。又比如,针对其中的最后一个网格(对应的第二版本号为103),可以从103对应的车端增量数据中,获取该网格(第三行第三列的网格)对应的数据,作为该网格(第三行第三列的网格)对应的最新数据。For each grid, for example, for the grid whose corresponding second version number is 102, the corresponding grid (the grid in the second row and the third column) can be obtained from the vehicle-end incremental data corresponding to 102. data, 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 (the corresponding second version number is 103), the corresponding grid (the grid in the third row and third column) can be obtained from the vehicle-end incremental data corresponding to 103. data, as the latest data corresponding to the grid (the grid in the third row and third column).
另外,由于当前网格对应的第二版本号可能为未知标记(如x),此情况下,若车端与服务端存在网络连接,则可以从服务端获取数据,比如,当前网格是第一行第二列的网格,其对应的第二版本号为x,假设第一版本号为103,若车端与服务端存在网络连接,则可以从版本号为103的服务端增量数据中获取该网格(第一行第二列的网格)的网格数据,参考图2,该数据是标记为102的网格数据,服务端可以将该数据返回给车端作为该网格对应的最新数据。或者,若车端与服务端不存在网络连接,可以在车端降级查询,依然以该网格(第一行第二列的网格)为例,假设车端与服务端不存在网络连接,则可以按序查询下一个版本号对应的增量索引,比如,版本号103对应的增量索引中该网格对应的第二版本号为x,则查询版本号102对应的增量索引中该网格对应的第二版本号,参见图5,版本号为102对应的增量索引中该网格对应的第二版本号依然为x,再查询版本号为101对应的增量索引中该网格对应的第二版本号,该对应的第二版本号为101,不是未知标记x,则可以在版本号为101的车端增量数据(即车端基线数据)中,获取该网格对应的数据作为该网格的最新数据。In addition, since the second version number corresponding to the current grid may be an unknown mark (such as x), in this case, if there is a network connection between the vehicle and the server, the data can be obtained from the server. For example, the current grid is the first For a grid in a row and a second column, the corresponding second version number is x. Suppose the first version number is 103. If there is a network connection between the vehicle and the server, the data can be incremented from the server whose version number is 103. The grid data of the grid (the grid in the first row and the second column) is obtained in , referring to Figure 2, the data is the grid data marked as 102, the server can return the data to the vehicle as the grid The corresponding latest data. Or, if there is no network connection between the vehicle and the server, you can downgrade the query on the vehicle. Still take this 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, Then you can query the incremental index corresponding to the next version number in sequence. For example, if the second version number corresponding to the grid in the incremental index corresponding to
上述示例中,基于第二版本号获取所查询的地图数据时,可以从车端获取到最新数据,或者从服务端获取到最新数据,或者从车端获取到尽量新的数据,因此,可以基于实际情况,在车端存储最新数据或者车端未存储最新数据但存在良好网络连接时,能够获取到最新数据,进而可以使用最新数据;在车端未存储最新数据且不存在良好网络连接时,也可以获取到尽量新的数据,实现最优降级查询,最大程度的保证所查询的地图数据与现实世界的一致性。In the above example, when the queried map data is obtained based on the second version number, the latest data can be obtained from the car end, the latest data can be obtained from the server end, or the newest data can be obtained from the car end. In actual situations, when the latest data is stored on the vehicle end or the vehicle does not store the latest data but there is a good network connection, the latest data can be obtained and the latest data can be used; when the latest data is not stored on the vehicle end and there is no good network connection, It is also possible to obtain as new data as possible, to achieve optimal degradation query, and to ensure the consistency of the queried map data with the real world to the greatest extent.
针对合并操作,可以执行:For merge operations, you can do:
所述更新前的地图数据包括:初始版本号的车端基线数据;所述基于所述增量索引,执行地图数据的合并操作,包括:对所述初始版本号的车端基线数据进行复制操作,以获得复制数据;基于所述各个版本号对应的增量索引,对所述复制数据进行更新处理,以获得合并后的车端基线数据,并设置所述合并后的车端基线数据的版本号为所述多个版本号中的最新版本号。The map data before the update includes: the vehicle-end baseline data of the initial version number; the performing a merging operation of the map data based on the incremental index includes: performing a copying operation on the vehicle-end baseline data of the initial version number , to obtain duplicate data; based on the incremental index corresponding to each version number, update the duplicate data to obtain the merged vehicle-end baseline data, and set the version of the merged vehicle-end baseline data The number is the latest version number among the plurality of version numbers.
其中,合并操作可以定期执行,假设初始版本号为101,对版本号为101~103版本号的车端地图数据进行合并操作。合并操作的过程可以参见图12a~图12c。Wherein, the merge operation may be performed periodically, assuming that the initial version number is 101, and the merge operation is performed on the vehicle-end map data whose version numbers are from 101 to 103. The process of the merging operation can be referred to FIG. 12a to FIG. 12c.
具体地,第一步,如图12a所示,将初始版本号101的车端基线数据复制一份作为复制数据,该复制数据也是待生成的合并后的车端基线数据的数据初始值。另外,将初始版本号101对应的增量索引作为合并后的车端基线数据的增量索引初始值。合并后的车端基线数据的版本号为最新版本号103。Specifically, in the first step, as shown in FIG. 12a , copy the vehicle-end baseline data with the
第二步,如图12b所示,对复制数据及其对应的增量索引进行更新。更新可以包括:采用车端增量数据(版本号为102和103)更新对应的网格数据,以及,针对缺失数据(用x标识)可以从服务端获取对应的网格数据。The second step, as shown in Figure 12b, is to update the replicated data and its corresponding incremental index. The updating may include: updating the corresponding grid data by using the vehicle-end incremental data (
第三步,如图12c所示,经过更新过程,可以获得合并后的车端基线数据及其对应的增量索引,增量索引表明的各个网格对应的版本号被更新为最新版本号。In the third step, as shown in Figure 12c, after the update process, the merged vehicle-end baseline data and its corresponding incremental index can be obtained, and the version number corresponding to each grid indicated by the incremental index is updated to the latest version number.
另外,之前的版本号为101的车端基线数据以及版本号为102的车端增量数据可以删除或保留,保留可以用于合并后获得的版本号为103的车端基线数据的回滚。In addition, the previous in-vehicle baseline data with
上述示例中,通过对多个版本号的车端地图数据进行合并操作,可以减少数据库的数量,降低存储冗余;还可以在查询数据时,减少查询层级,提升查询效率。In the above example, by merging on-vehicle map data of multiple version numbers, the number of databases can be reduced and storage redundancy can be reduced; the query level can also be reduced and the query efficiency can be improved when querying data.
图13是根据本公开第三实施例的示意图,本实施例提供一种数据处理装置。如图13所示,数据处理装置1300包括:获取模块1301、确定模块1302和更新模块1303。FIG. 13 is a schematic diagram of a third embodiment of the present disclosure, which provides a data processing apparatus. As shown in FIG. 13 , the
获取模块1301用于响应于服务端发送的更新消息,向所述服务端请求当前版本号的服务端增量数据,所述更新消息是所述服务端在产生所述当前版本号的服务端增量数据后发送的,所述当前版本号的服务端增量数据是所述当前版本号对应的当前周期内发生变化的地图数据;确定模块1302用于基于所述当前版本号的服务端增量数据的获取情况,确定所述当前版本号的客户端增量数据;更新模块1303用于在更新前的客户端地图数据之外,添加所述当前版本号的客户端增量数据,以获取更新后的客户端地图数据。The acquiring
本实施例中,采用当前版本号的客户端增量数据更新客户端地图数据,当前版本号的客户端增量数据是响应于服务端的更新消息,基于服务端增量数据的获取情况确定的,更新消息是服务端产生新版本的地图数据后发送的,因此,客户端增量数据的更新周期与服务端产生地图数据的产生周期一致,一般为小时级,相对于季度级的全量数据更新方式,可以保证客户端地图数据及时被更新,提高客户端地图数据的时效性,进而在后续查询地图数据时可以查询到最新数据;通过请求增量数据而不是全量数据,可以降低数据传输量,提高传输效率,节省资源开销;通过在更新前的客户端地图数据之外,添加新版本对应的客户端增量数据,而不是采用覆盖更新前的客户端地图数据的方式,可以避免客户端与服务端之间的网络连接不佳导致的数据缺失情况,保证客户端地图数据的完整性和准确性,以及,在后续查询客户端地图数据时还可以起到最优降级,即尽量查询最新版本的客户端地图数据的效果。In this embodiment, the client-side map data is updated using the client-side incremental data of the current version number, and the client-side incremental data of the current version number is determined based on the acquisition of the server-side incremental data in response to an update message from the server side, The update message is sent after the server generates a new version of the map data. Therefore, the update cycle of the incremental data on the client side is the same as the generation cycle of the map data generated by the server, which is generally hourly, compared to the quarterly full data update method. , which can ensure that the client map data is updated in time, improve the timeliness of the client map data, and then the latest data can be queried when querying the map data later; by requesting incremental data instead of full data, the amount of data transmission can be reduced and improved. Transmission efficiency saves resource overhead; by adding the client incremental data corresponding to the new version in addition to the client map data before the update, instead of overwriting the client map data before the update, the client and the service can be avoided. The data loss caused by the poor network connection between the terminals ensures the integrity and accuracy of the client map data, and it can also perform optimal degradation when querying the client map data subsequently, that is, try to query the latest version of the map data as much as possible. The effect of client-side map data.
一些实施例中,所述服务端增量数据包括:至少一个网格的服务端网格数据;所述客户端增量数据包括:至少一个网格的客户端网格数据;所述确定模块1302进一步用于:针对第一网格,将所述当前版本号的所述第一网格的服务端网格数据,作为所述当前版本号的所述第一网格的客户端网格数据;针对第二网格,将所述当前版本号的所述第二网格的客户端网格数据,设置为未知数据;其中,所述第一网格是获取到的服务端网格数据所属的网格,所述第二网格是未获取到的服务端网格数据所属的网格。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
上述示例中,将第一网格的服务端增量数据作为第一网格的客户端网格数据,可以及时更新第一网格的网格数据,保证对应网格的客户端网格数据与服务端网格数据的一致性;将第二网格的客户端网格数据设置为未知数据,由于第二网格是未获取到的服务端网格数据所属的网格,可以反映出真实的数据获取情况,保证客户端地图数据的真实性。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, and the grid data of the first grid can be updated in time to ensure that the client-side grid data of the corresponding grid is the same as the grid data of the first grid. Consistency of server-side grid data; set the client-side grid data of the second grid as unknown data, since the second grid is the grid to which the server-side grid data that has not been acquired belongs, it can reflect the real Data acquisition to ensure the authenticity of the client map data.
一些实施例中,所述更新前的客户端地图数据存储在已有数据库内;所述更新模块1303进一步用于:将所述当前版本号的客户端增量数据存储到当前数据库内,所述当前数据库与所述已有数据库不同。In some embodiments, the client map data before the update is stored in an existing database; the
上述示例中,多个版本的客户端地图数据存储在不同的数据库中,由于不同版本的数据是分别独立存储的,可以在离线应用时提供最优的降级效果。In the above example, multiple versions of the client-side map data are stored in different databases. Since the data of different versions are stored separately and independently, the optimal degradation effect can be provided in offline application.
一些实施例中,所述更新后的客户端地图数据包括多个版本号的客户端地图数据,所述多个版本号的客户端地图数据中各个版本号的客户端地图数据包括至少一个网格的客户端网格数据;所述装置还包括:生成模块,用于生成所述各个版本号对应的增量索引,所述所述增量索引用于表明全量网格中各个网格的客户端网格数据的最新版本号;处理模块,用于基于所述增量索引,执行查询操作或者合并操作。In some embodiments, the updated client map data includes client map data of multiple version numbers, and the client map data of each version number of the client map data of multiple versions includes at least one grid. The client grid data; the device further includes: a generating module for generating an incremental index corresponding to each version number, the incremental index is used to indicate the client of each grid in the full grid The latest version number of the grid data; the processing module is used to perform a query operation or a merge operation based on the incremental index.
上述示例中,可以基于最新数据进行相关操作,保证操作准确度。In the above example, relevant operations can be performed based on the latest data to ensure operation accuracy.
一些实施例中,所述各个版本号对应的增量索引包括:所述当前版本号对应的增量索引;所述生成模块进一步用于:将所述当前版本号的上一版本号对应的增量索引,作为初始值;基于所述当前版本号的服务端增量数据的获取情况,对所述初始值进行更新,以生成所述当前版本号对应的增量索引。In some embodiments, the incremental index corresponding to each version number includes: the incremental index corresponding to the current version number; the generating module is further configured to: generate the incremental index corresponding to the previous version number of the current version number. The amount index is used as the initial value; based on the acquisition of the incremental data of the server of the current version number, the initial value is updated to generate the incremental index corresponding to the current version number.
上述示例中,通过逐个版本号对应的增量索引的更新,可以获得各个版本号对应的增量索引。In the above example, the incremental index corresponding to each version number can be obtained by updating the incremental index corresponding to each version number one by one.
一些实施例中,所述当前版本号的服务端增量数据包括:至少一个网格的服务端网格数据;所述生成模块进一步用于:针对第一网格,将所述第一网格的客户端网格数据的最新版本号更新为所述当前版本号;针对第二网格,将所述所述第二网格的客户端网格数据的最新版本号,设置为未知标记;其中,所述第一网格是获取到的服务端网格数据所属的网格,所述第二网格是未获取到的服务端网格数据所属的网格。In some embodiments, the server-side incremental data of the current version number includes: server-side grid data of at least one grid; the generating module is further configured to: The latest version number of the client grid data of the second grid is updated to the current version number; for the second grid, the latest version number of the client grid data of the second grid is set as the unknown mark; 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 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 acquisition of the client grid data, that is, the current The incremental index corresponding to the version number can reflect the latest situation of the client incremental data of the current version number, which can ensure the accuracy of the incremental index.
一些实施例中,所述处理模块进一步用于:响应于查询请求,确定第一版本号,所述第一版本号是服务端增量数据的最新版本号;确定所述第一版本号对应的增量索引;基于所述第一版本号对应的增量索引,确定当前网格对应的第二版本号,所述当前网格为所述查询请求所查询的地图数据所属的网格,所述第二版本号为所述增量索引表明的所述当前网格对应的版本号;基于所述第二版本号,获取所述查询请求所查询的地图数据。In some embodiments, the processing module is further configured to: in response to the query request, determine a first version number, where the first version number is the latest version number of the incremental data of the server; determine the corresponding value of the first version number. Incremental index; based on the incremental index corresponding to the first version number, determine the second version number corresponding to the current grid, where the current grid is the grid to which the map data queried by the query request belongs, and the The second version number is the version number corresponding to the current grid indicated by the incremental index; based on the second version number, the map data queried by the query request is acquired.
上述示例中,第二版本号是所查询的地图数据所属的网格对应的版本号,该对应的版本号基于增量索引确定,增量索引用于表明各个网格的客户端网格数据的最新版本号,因此,第二版本号是所查询的地图数据的最新版本号,进而基于第二版本号获得的地图数据是最新数据;另外,增量索引是基于第一版本号确定的,第一版本号是服务端增量数据的最新版本号,因此增量索引也是最新的。因此,可以提升所查询的地图数据与现实世界的一致性。In the above example, the second version number is the version number corresponding to the grid to which the queried map data belongs, the corresponding version number is determined based on the incremental index, and the incremental index is used to indicate the client grid data of each grid. The latest version number, therefore, the second version number is the latest version number of the queried map data, and then 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, and the first A version number is the latest version number of the incremental data on the server, so the incremental index is also the latest. Therefore, the consistency of the queried map data with the real world can be improved.
一些实施例中,所述处理模块进一步用于:若所述第二版本号不是未知标记,在所述第二版本号的客户端增量数据中,获取所述当前网格对应的数据,作为所述查询请求所查询的地图数据;或者,若所述第二版本号是未知标记,且客户端与服务端存在网络连接,从所述服务端获取所述第一版本号的服务端增量数据中的所述当前网格对应的数据,作为所述查询请求所查询的地图数据;或者,若所述第二版本号是未知标记,且客户端与服务端不存在网络连接,按序查询所述第一版本号之前的版本号对应的增量索引中所述当前网格对应的版本号,直至所查询的版本号不是所述未知标记,在不是所述未知标记的所查询的版本号对应的客户端增量数据中,获取所述当前网格对应的数据,作为所述查询请求所查询的地图数据。In some embodiments, the processing module is further configured to: if the second version number is not an unknown mark, obtain data corresponding to the current grid in 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 the client and the server have a network connection, obtain the server increment of the first version number from the server The data corresponding to the current grid in the data is used as the map data queried by the query request; or, if the second version number is an unknown mark, and there is no network connection between the client and the server, query in order 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 the queried version number that is not the unknown mark In the corresponding client incremental data, the data corresponding to the current grid is obtained as the map data queried by the query request.
上述示例中,基于第二版本号获取所查询的地图数据时,可以从客户端获取到最新数据,或者从服务端获取到最新数据,或者从客户端获取到尽量新的数据,因此,可以基于实际情况,在客户端存储最新数据或者客户端未存储最新数据但存在良好网络连接时,能够获取到最新数据,进而可以使用最新数据;在客户端未存储最新数据且不存在良好网络连接时,也可以获取到尽量新的数据,实现最优降级查询,最大程度的保证所查询的地图数据与现实世界的一致性。In the above example, when the queried map data is obtained based on the second version number, the latest data can be obtained from the client, or the latest data can be obtained from the server, or the newest data can be obtained from the client. In fact, when the client stores the latest data or the client does not store the latest data but there is a good network connection, the latest data can be obtained, and then the latest data can be used; when the client does not store the latest data and there is no good network connection, It is also possible to obtain as new data as possible, to achieve optimal degradation query, and to ensure the consistency of the queried map data with the real world to the greatest extent.
一些实施例中,所述处理模块进一步用于:所述更新前的地图数据包括:初始版本号的客户端基线数据;所述基于所述增量索引,执行地图数据的合并操作,包括:对所述初始版本号的客户端基线数据进行复制操作,以获得复制数据;基于所述各个版本号对应的增量索引,对所述复制数据进行更新处理,以获得合并后的客户端基线数据,并设置所述合并后的客户端基线数据的版本号为所述多个版本号中的最新版本号。In some embodiments, the processing module is further configured to: the map data before the update includes: the client-side baseline data of the initial version number; the performing a merging operation of the map data based on the incremental index, including: The client baseline data of the initial version number is replicated to obtain replicated data; based on the incremental index corresponding to each version number, the replicated data is updated to obtain merged client baseline data, and setting the version number of the merged client baseline data as the latest version number among the multiple version numbers.
上述示例中,通过对多个版本号的客户端地图数据进行合并操作,可以减少数据库的数量,降低存储冗余;还可以在查询数据时,减少查询层级,提升查询效率。In the above example, by merging the client map data of multiple versions, the number of databases can be reduced, and the storage redundancy can be reduced; when querying data, the query level can be reduced and the query efficiency can be improved.
可以理解的是,本公开实施例中,不同实施例中的相同或相似内容可以相互参考。It can be understood that, in the embodiments of the present disclosure, the same or similar contents in different embodiments may refer to each other.
可以理解的是,本公开实施例中的“第一”、“第二”等只是用于区分,不表示重要程度高低、时序先后等。It can be understood that, in the embodiments of the present disclosure, "first", "second", etc. are only used for distinction, and do not indicate the level of importance, the order of time sequence, and the like.
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。In the technical solutions of the present disclosure, the collection, storage, use, processing, transmission, provision, and disclosure of the user's personal information involved are all in compliance with relevant laws and regulations, and do not violate public order and good customs.
图14是根据本公开第四实施例的示意图,本实施例提供一种自动驾驶车辆。参见图14,自动驾驶车辆1400包括电子设备1401。关于电子设备1401的说明可以参见相关实施例。FIG. 14 is a schematic diagram of a fourth embodiment according to the present disclosure, which provides an autonomous driving vehicle. Referring to FIG. 14 , an
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。According to embodiments of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium, and a computer program product.
图15示出了可以用来实施本公开的实施例的示例电子设备1500的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。15 shows a schematic block diagram of an example
如图15所示,电子设备1500包括计算单元1501,其可以根据存储在只读存储器(ROM)1502中的计算机程序或者从存储单元1508加载到随机访问存储器(RAM)1503中的计算机程序,来执行各种适当的动作和处理。在RAM 1503中,还可存储电子设备1500操作所需的各种程序和数据。计算单元1501、ROM 1502以及RAM 1503通过总线1504彼此相连。输入/输出(I/O)接口1505也连接至总线1504。As shown in FIG. 15 , the
电子设备1500中的多个部件连接至I/O接口1505,包括:输入单元1506,例如键盘、鼠标等;输出单元1507,例如各种类型的显示器、扬声器等;存储单元1508,例如磁盘、光盘等;以及通信单元1509,例如网卡、调制解调器、无线通信收发机等。通信单元1509允许电子设备1500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。Various components in the
计算单元1501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1501的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1501执行上文所描述的各个方法和处理,例如数据处理方法。例如,在一些实施例中,数据处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1502和/或通信单元1509而被载入和/或安装到电子设备1500上。当计算机程序加载到RAM 1503并由计算单元1501执行时,可以执行上文描述的数据处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元1501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。Various implementations of the systems and techniques described herein above may be implemented in digital electronic circuitry, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOC), complex programmable logic device (CPLD), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include being implemented in one or more computer programs executable and/or interpretable on a programmable system including at least one programmable processor that The processor, which may be a special purpose or general-purpose programmable processor, may receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device an 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 code, when executed by the processor or controller, performs the functions/functions specified in the flowcharts and/or block diagrams. Action is implemented. The program code may execute entirely on the machine, partly on the machine, partly on the machine and partly on a remote machine as a stand-alone software package or entirely on the remote machine or server.
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in connection with the instruction execution system, apparatus or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. Machine-readable media may include, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media would include one or more wire-based electrical connections, portable computer disks, hard disks, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or flash memory), fiber optics, compact disk read only memory (CD-ROM), optical storage, magnetic storage, or any suitable combination of the foregoing.
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。To provide interaction with a user, the systems and techniques described herein may be implemented on a computer having a display device (eg, a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user ); and a keyboard and pointing device (eg, a mouse or trackball) through which a user can provide input to the computer. Other kinds of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (eg, visual feedback, auditory feedback, or tactile feedback); and can be in any form (including acoustic input, voice input, or tactile input) to receive input from the user.
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。The systems and techniques described herein may be implemented on a computing system that includes back-end components (eg, as a data server), or a computing system that includes middleware components (eg, an application server), or a computing system that includes front-end components (eg, a user's computer having a graphical user interface or web browser through which a user may interact with implementations of the systems and techniques described herein), or including such backend components, middleware components, Or any combination of front-end components in a computing system. The components of the system may be interconnected by any form or medium of digital data communication (eg, a communication network). Examples of communication networks include: Local Area Networks (LANs), Wide Area Networks (WANs), and the Internet.
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。A computer system can include clients and servers. Clients and servers are generally remote from each other and usually interact through a communication network. The relationship of client and server arises by computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, also known as a cloud computing server or a cloud host. It is a host product in the cloud computing service system to solve the traditional physical host and VPS service ("Virtual Private Server", or "VPS" for short). , there are the defects of difficult management and weak business expansion. The server can also be a server of a distributed system, or a server combined with a blockchain.
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。It should be understood that steps may be reordered, added or deleted using the various forms of flow shown above. For example, the steps described in the present disclosure can 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, there is no limitation herein.
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。The above-mentioned specific embodiments do not constitute a limitation on the protection scope of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may occur depending on design requirements and other factors. Any modifications, equivalent replacements, and improvements made within the spirit and principles of the present disclosure should be included within the protection scope of the present disclosure.
Claims (22)
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)
| 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 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1967151A (en) * | 2005-11-16 | 2007-05-23 | 日产自动车株式会社 | Map data updating system and map data updating method |
| CN104615453A (en) * | 2014-09-26 | 2015-05-13 | 腾讯科技(深圳)有限公司 | Map data processing method, device and system |
| CN105808627A (en) * | 2014-12-31 | 2016-07-27 | 高德软件有限公司 | POI information updating method and device, POI information search method and device as well as POI data packet generation method and device |
| CN109189796A (en) * | 2018-08-20 | 2019-01-11 | 武汉中海庭数据技术有限公司 | Accurately diagram data management method and device |
| CN110140026A (en) * | 2017-03-28 | 2019-08-16 | 歌乐株式会社 | Vehicle-mounted device, map update system |
-
2022
- 2022-04-21 CN CN202210426148.6A patent/CN114840539A/en active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1967151A (en) * | 2005-11-16 | 2007-05-23 | 日产自动车株式会社 | Map data updating system and map data updating method |
| CN104615453A (en) * | 2014-09-26 | 2015-05-13 | 腾讯科技(深圳)有限公司 | Map data processing method, device and system |
| CN105808627A (en) * | 2014-12-31 | 2016-07-27 | 高德软件有限公司 | POI information updating method and device, POI information search method and device as well as POI data packet generation method and device |
| CN110140026A (en) * | 2017-03-28 | 2019-08-16 | 歌乐株式会社 | Vehicle-mounted device, map update system |
| CN109189796A (en) * | 2018-08-20 | 2019-01-11 | 武汉中海庭数据技术有限公司 | Accurately diagram data management method and device |
Non-Patent Citations (1)
| Title |
|---|
| 周晓光: "地籍数据库增量更新", 31 October 2007, 测绘出版社, pages: 12 * |
Cited By (1)
| 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 |
|---|---|---|
| CN114036253B (en) | High-precision map data processing method, device, electronic equipment and medium | |
| CN110705800B (en) | Mixed travel route determination method, device, device and storage medium | |
| CN114626169B (en) | Traffic network optimization method, device, equipment, readable storage medium and product | |
| CN111553844A (en) | Method and device for updating point cloud | |
| CN111813787B (en) | Map data distribution method, update method, storage medium and electronic device | |
| CN110888963B (en) | Data acquisition method and device, electronic equipment and storage medium | |
| CN113868273B (en) | Metadata snapshot method and device | |
| CN114880337B (en) | Map data integrated update method, device, equipment and storage medium | |
| CN113139258B (en) | Road data processing method, device, equipment and storage medium | |
| CN113364877B (en) | Data processing method, device, electronic equipment and medium | |
| CN112883041A (en) | Data updating method and device, electronic equipment and storage medium | |
| CN113868555A (en) | Track retrieval method, device, device and storage medium | |
| CN114840539A (en) | Data processing method, device, equipment and storage medium | |
| CN114356951A (en) | Method and device for updating associated information of guidance points | |
| CN114201562A (en) | High-precision map online data processing method, device, electronic device and storage medium | |
| CN114036166A (en) | High-precision map data updating method and device, electronic equipment and storage medium | |
| CN113344074A (en) | Model training method, device, equipment and storage medium | |
| CN116486614B (en) | Vehicle speed control method, device and computer equipment in rainstorm conditions | |
| CN113656144B (en) | Data release system, method and device, electronic equipment and storage medium | |
| CN112818024B (en) | A map data processing method, device, equipment and storage medium | |
| CN113835728A (en) | A data update method, device, electronic device and storage medium | |
| CN114185908A (en) | A map data processing method, device, electronic device and storage medium | |
| CN114661738A (en) | A method, apparatus, device and storage medium for adding index | |
| CN115481170A (en) | Vehicle track processing method and device, electronic equipment and storage medium | |
| CN112948461A (en) | Method, apparatus, storage medium, and program product for schedule data processing |
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 |