Map data processing method and device, equipment, storage medium and program product
By receiving and matching the client's terminal identification, we ensure that map data is sent to activated and authenticated terminals. Using honeypot data and negative response mechanisms, we solve the problem of unreliable and security risks of data acquisition requests in map services, and improve data security and the cost of use of partners.
Patent Information
- Application Number
- CN202310760360.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-26
- Publication Date
- 2024-12-27
AI Technical Summary
In the prior art, map services directly send map data to partner clients, resulting in unreliable data acquisition requests, security risks, and malicious requests are difficult to pursue.
By receiving the client's terminal identification and matching the target terminal identification, ensuring that data is sent to the activated and authenticated terminal, using honeypot data and negative response mechanisms to prevent unauthorized data acquisition, and improving client request reliability and data security.
It effectively ensures the reliability of client requests and the security of map data, prevents data theft, reduces the crawling cost and difficulty of partners, and enhances data protection measures.
Smart Images

Figure CN119210742A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a method, device, equipment, storage medium and program product for processing map data. Background Art
[0002] With the development of computer technology, map data is widely used in various fields, such as autonomous driving and navigation. Map data in different fields often need to request corresponding map data from map services for use. Therefore, map services need to effectively ensure the security of map data.
[0003] In the related technology, map services usually directly send relevant map data to the clients run by the related partners so that the clients run by the related partners can use the map data. In this way, the relevant partners can request a large amount of map data operated by the map service through data crawling and other forms, and when evidence of malicious requests for map data is captured, the responsibility for the malicious requests is transferred to an unknown third party by declaring that the client software is lost. This results in a greater security risk to the map data operated by the map service due to the unreliability of the client's data acquisition request. Summary of the invention
[0004] The embodiments of the present application provide a method, device, electronic device, computer-readable storage medium, and computer program product for processing map data, which can improve the data security of map data by ensuring the reliability of client requests.
[0005] The technical solution of the embodiment of the present application is implemented as follows:
[0006] The present application embodiment provides a method for processing map data, including:
[0007] Receiving a data acquisition request carrying a terminal identifier sent by a client;
[0008] The data acquisition request is used to request to acquire target map data, and the terminal identifier is used to indicate the terminal on which the client is currently installed;
[0009] In response to the data acquisition request, acquiring a target terminal identifier corresponding to the client, the target terminal identifier being used to indicate the terminal where the client is located when it is activated;
[0010] Matching the terminal identifier with the target terminal identifier to obtain a matching result;
[0011] When the matching result indicates that the terminal identifier matches the target terminal identifier, the target map data is acquired and sent to the client.
[0012] The present application provides a map data processing device, including:
[0013] A receiving module, configured to receive a data acquisition request carrying a terminal identifier sent by a client; wherein the data acquisition request is used to request acquisition of target map data, and the terminal identifier is used to indicate a terminal on which the client is currently installed;
[0014] A response module, configured to obtain a target terminal identifier corresponding to the client in response to the data acquisition request, wherein the target terminal identifier is used to indicate the terminal where the client is located when being activated;
[0015] A matching module, used for matching the terminal identifier with the target terminal identifier to obtain a matching result;
[0016] The acquisition module is used to acquire the target map data and send the target map data to the client when the matching result indicates that the terminal identifier matches the target terminal identifier.
[0017] In the above scheme, the processing device of the above map data also includes: an activation module, which is used to respond to the activation request carrying the reference terminal identifier sent by the client, and obtain multiple authentication terminal identifiers, wherein the authentication terminal identifier is used to indicate the terminal authenticated by the partner of the map data; wherein the activation request is used to request activation of the client in an unactivated state, and the reference terminal identifier is used to indicate the terminal where the client is located when sending the activation request; the reference terminal identifier is matched with each of the authentication terminal identifiers to obtain an authentication matching result; when the authentication matching result indicates that there is an authentication terminal identifier matching the reference terminal identifier among the multiple authentication terminal identifiers, a positive response instruction is sent to the client, and the reference terminal identifier is determined as the target terminal identifier, and the positive response instruction is used to trigger activation of the client.
[0018] In the above scheme, the above activation module is also used to send a negative response instruction to the client when the authentication matching result indicates that there is no authentication terminal identifier matching the target terminal identifier among the multiple authentication terminal identifiers; wherein the negative response instruction is used to trigger the uninstallation of the client.
[0019] In the above scheme, the above activation module is also used to receive an activation request sent by the client to be verified, and the activation request carries the first client identifier of the client to be verified; obtain multiple second client identifiers, and the second client identifier is used to indicate an authenticated client authenticated by the operator of the map data; match the first client identifier with each of the second client identifiers to obtain an identifier matching result; when the identifier matching result indicates that there is a second client identifier that matches the first client identifier, the client to be verified is determined as the client.
[0020] In the above scheme, the above activation module is also used to obtain the honeypot map data corresponding to the target map data and send the honeypot map data to the client when the matching result indicates that the terminal identifier does not match the target terminal identifier; wherein the honeypot map data is different from the target map data, and the honeypot map data is used to respond to the data acquisition request instead of the target map data.
[0021] In the above scheme, the acquisition module is also used to send a negative response prompt information to the client when the matching result indicates that the terminal identifier does not match the target terminal identifier; the negative response prompt information is used to instruct to uninstall the corresponding client.
[0022] In the above scheme, the above data acquisition request carries the current map location of the terminal where the client is located. The above acquisition module is also used to obtain the target map, and determine the target map grid where the map location is located from multiple map grids of the target map, and obtain the first map data corresponding to the target map grid; obtain at least one reference map grid associated with the target map grid from multiple map grids of the target map, and obtain the second map data corresponding to each reference map grid; and determine the target map data by combining the first map data and the second map data.
[0023] In the above scheme, the above acquisition module is also used to perform data analysis on the first map data corresponding to the target map grid to obtain data composition information of the first map data, and the data composition information is used to indicate whether the first map data includes road data; the acquisition module is also used to merge the first map data and the second map data to obtain the target map data when the data composition information indicates that the first map data includes road data.
[0024] In the above scheme, the above acquisition module is also used to acquire first honeypot map data corresponding to the first map data and second honeypot map data corresponding to each second map data when the first map data does not include the road data; wherein the first honeypot map data is different from the first map data, and the first honeypot map data is used to replace the first map data to respond to the data acquisition request, and the second honeypot map data is different from the second map data, and the second honeypot map data is used to replace the second map data to respond to the second map data; the first honeypot map data and the second honeypot map data are merged to obtain the target map data.
[0025] In the above scheme, the above acquisition module is also used to acquire a target map, wherein the target map includes a plurality of non-overlapping map grids; acquire a historical data request record of the client, wherein the historical data request record records a historical data acquisition request of the client for the target quantity of the target map; compare the target quantity with the maximum quantity that can be recorded in the historical data request record to obtain a comparison result; when the comparison result indicates that the target quantity is less than the maximum quantity, determine the target map grid where the map position is located from the map grids of the target map, and acquire first map data corresponding to the target map grid; and acquire at least one reference map grid associated with the target map grid from the plurality of map grids of the target map, and acquire second map data corresponding to each of the reference map grids; and determine the target map data in combination with the first map data and the second map data.
[0026] In the above scheme, the above acquisition module is also used to perform data analysis on the first map data corresponding to the target map grid to obtain data composition information of the first map data, and the data composition information is used to indicate whether the first map data includes road data; the acquisition module is also used to merge the first map data and the second map data to obtain the target map data when the data composition information indicates that the first map data includes road data.
[0027] An embodiment of the present application provides an electronic device, including:
[0028] A memory for storing computer executable instructions or computer programs;
[0029] The processor is used to implement the map data processing method provided in the embodiment of the present application when executing the computer executable instructions or computer programs stored in the memory.
[0030] An embodiment of the present application provides a computer-readable storage medium storing computer-executable instructions for causing a processor to execute instructions to implement the map data processing method provided in the embodiment of the present application.
[0031] The embodiment of the present application provides a computer program product, which includes a computer program or a computer executable instruction, and the computer program or the computer executable instruction is stored in a computer readable storage medium. The processor of the electronic device reads the computer executable instruction from the computer readable storage medium, and the processor executes the computer executable instruction, so that the electronic device executes the above-mentioned method for processing map data in the embodiment of the present application.
[0032] The embodiments of the present application have the following beneficial effects:
[0033] By responding to a data acquisition request for requesting to acquire target map data, acquiring the target terminal identifier corresponding to the client, and matching the terminal identifier with the target terminal identifier, when the terminal identifier matches the target terminal identifier, sending the acquired target map data to the client. Since the terminal identifier indicates the terminal on which the client is currently installed, and the target terminal identifier indicates the terminal on which the client is located when it is activated, when the terminal identifier matches the target terminal identifier, it indicates that the terminal on which the client is currently installed and the terminal on which the client is located when it is activated are the same terminal, thereby effectively ensuring that no terminal migration occurs between the activation of the client and the sending of the data acquisition request. At the same time, by ensuring that the data acquisition request generated when the client sends the data acquisition request after being activated originates from the same terminal, it is ensured that the data acquisition request sent by the client received is sent by the client under the operating environment of the same terminal, thereby effectively ensuring the reliability of the client's request. While ensuring the reliability of the client's request, the target map data is sent to the client, thereby effectively ensuring the data security of the map data. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] Figure 1 is a schematic diagram of the architecture of a map data processing system provided in an embodiment of the present application;
[0035] Figure 2 is a schematic diagram of the structure of an electronic device for processing map data provided by an embodiment of the present application;
[0036] Figures 3 to 6 is a flowchart of a method for processing map data provided in an embodiment of the present application;
[0037] Figures 7 to 10 is a schematic diagram of the principle of a method for processing map data provided in an embodiment of the present application;
[0038] Fig.11It is a flowchart of a method for processing map data provided in an embodiment of the present application. DETAILED DESCRIPTION
[0039] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings. The described embodiments should not be regarded as limiting the present application. All other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of this application.
[0040] In the following description, reference is made to “some embodiments”, which describe a subset of all possible embodiments, but it will be understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0041] In the following description, the terms "first\second\third" involved are merely used to distinguish similar objects and do not represent a specific ordering of the objects. It can be understood that "first\second\third" can be interchanged with a specific order or sequence where permitted, so that the embodiments of the present application described here can be implemented in an order other than that illustrated or described here.
[0042] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.
[0043] Before further describing the embodiments of the present application in detail, the nouns and terms involved in the embodiments of the present application are explained. The nouns and terms involved in the embodiments of the present application are subject to the following interpretations.
[0044] 1) Location-based Services (LBS): It uses various types of positioning technologies to obtain the current location of the positioning device, and provides information resources and basic services to the positioning device through the mobile Internet. First, users can use positioning technology to determine their own spatial location, and then users can obtain location-related resources and information through the mobile Internet. LBS services integrate multiple information technologies such as mobile communications, the Internet, spatial positioning, location information, and big data, and use mobile Internet service platforms to update and interact with data, so that users can obtain corresponding services through spatial positioning.
[0045] 2) Intelligent Connected Vehicle (ICV): refers to the organic combination of Internet of Vehicles and smart cars, and is a new generation of cars that can eventually replace human operation. Intelligent connected vehicles are equipped with advanced on-board sensors, controllers, actuators and other devices, integrating modern communication and network technologies to achieve intelligent information exchange and sharing between vehicles, people, roads, and background, and are safe, comfortable, energy-saving and efficient.
[0046] 3) Geolocation encoding: The geolocation is usually expressed in the form of longitude and latitude. In some LBS applications, the longitude and latitude are usually encoded with the help of some encoding methods to achieve the conversion between multi-dimensional representation and one-dimensional representation. For example, we agree on an encoding rule to combine the longitude and latitude values into a string after retaining 4 decimal places respectively. Then the longitude and latitude (113.1111, 3.2222) can be encoded as 1131111932222. After that, this string of numbers can be used to represent the position of a two-dimensional plane. This is the simplest geolocation encoding. In practice, commonly used geolocation encoding methods include Morton code, GeoHash, etc.
[0047] 4) Data engine: An engine that can obtain road network data and is provided to customers in the form of SDK. By integrating the SDK, customers can call the interfaces exposed by the SDK to use the provided map data capabilities. For example, obtain road data within a 500-meter range. Based on this, customers can develop upper-level applications, such as route radar, assisted driving, etc.
[0048] 5) Data broadcasting: When the data engine needs data for a certain area, it will request it from the server. This process is called data broadcasting, and the data request is in tiles.
[0049] 6) Honeypot: Honeypot technology is an active defense technology that deploys systems without real business data to lure attackers into launching attacks, record their attack behaviors, and record, retain evidence and conduct in-depth analysis of the attack behaviors.
[0050] 7) In-vehicle terminal: also known as car computer, it refers to the abbreviation of the in-vehicle infotainment product installed in the car. The car computer can functionally realize information communication between people and cars, and between cars and the outside world (cars and cars).
[0051] 8) Non-repudiation: refers to the guarantee of the source and integrity of data or services provided through a reliable mechanism so that it cannot be denied.
[0052] During the implementation of the embodiments of the present application, the applicant discovered that the related technology has the following problems:
[0053] In the related technology, map services usually directly send relevant map data to the clients run by the related partners so that the clients run by the related partners can use the map data. In this way, the relevant partners can request a large amount of map data operated by the map service through data crawling and other forms, and when evidence of malicious requests for map data is captured, the responsibility for the malicious requests is transferred to an unknown third party by declaring that the client software is lost. This results in a greater security risk to the map data operated by the map service due to the unreliability of the client's data acquisition request.
[0054] The embodiments of the present application provide a method, device, electronic device, computer-readable storage medium, and computer program product for processing map data, which can improve the data security of map data by ensuring the reliability of client requests. The following describes an exemplary application of a media information recommendation system provided by the embodiments of the present application.
[0055] See also Figure 1 , Figure 1 It is a schematic diagram of the architecture of a map data processing system 100 provided in an embodiment of the present application. A terminal (terminal 400 is shown as an example) is connected to a server 200 via a network 300. The network 300 may be a wide area network or a local area network, or a combination of the two.
[0056] The terminal 400 is used for the user to use the client 410 to display the target map on the graphical interface 410-1 (graphic interface 410-1 is shown as an example). The terminal 400 and the server 200 are connected to each other via a wired or wireless network.
[0057] In some embodiments, the server 200 may be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDN), and big data and artificial intelligence platforms. The terminal 400 may be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart TV, a smart watch, a car terminal, etc., but is not limited thereto. The electronic device provided in the embodiment of the present application may be implemented as a terminal or as a server. The terminal and the server may be directly or indirectly connected via wired or wireless communication, which is not limited in the embodiment of the present application.
[0058] In some embodiments, the server 200 receives a data acquisition request carrying a terminal identifier sent by a client, and in response to the data acquisition request, obtains a target terminal identifier corresponding to the client, matches the terminal identifier with the target terminal identifier, and when the matching result indicates that the terminal identifier matches the target terminal identifier, obtains the target map data and sends the target map data to the client.
[0059] In some embodiments, terminal 400 receives a data acquisition request carrying a terminal identifier sent by a client, and in response to the data acquisition request, obtains a target terminal identifier corresponding to the client, matches the terminal identifier with the target terminal identifier, and when the matching result indicates that the terminal identifier matches the target terminal identifier, obtains target map data and sends the target map data to the client.
[0060] In some embodiments, the server 200 receives a data acquisition request carrying a terminal identifier sent by a client, and in response to the data acquisition request, obtains a target terminal identifier corresponding to the client, matches the terminal identifier with the target terminal identifier, and when the matching result indicates that the terminal identifier matches the target terminal identifier, obtains the target map data and sends the target map data to the terminal 400, and the terminal 400 sends the target map data to the client.
[0061] In other embodiments, the embodiments of the present application can be implemented with the aid of cloud technology. Cloud technology refers to a hosting technology that unifies a series of resources such as hardware, software, and networks within a wide area network or a local area network to achieve data computing, storage, processing, and sharing.
[0062] Cloud technology is a general term for network technology, information technology, integration technology, management platform technology, and application technology based on the cloud computing business model. It can form a resource pool that can be used on demand and is flexible and convenient. Cloud computing technology will become an important support. The background services of the technical network system require a large amount of computing and storage resources.
[0063] See also Figure 2 , Figure 2 is a schematic diagram of the structure of an electronic device 500 for processing map data provided by an embodiment of the present application, wherein: Figure 2 The electronic device 500 shown may be Figure 1 The server 200 or the terminal 400 in Figure 2The electronic device 500 shown includes: at least one processor 410, a memory 450, and at least one network interface 420. The various components in the electronic device 500 are coupled together via a bus system 440. It is understood that the bus system 440 is used to achieve connection and communication between these components. In addition to the data bus, the bus system 440 also includes a power bus, a control bus, and a status signal bus. However, for the sake of clarity, the bus system 440 is not described in detail. Figure 2 Various buses are labeled as bus system 440 .
[0064] Processor 410 can be an integrated circuit chip with signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc., where the general-purpose processor can be a microprocessor or any conventional processor, etc.
[0065] The memory 450 may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state memory, hard disk drives, optical disk drives, etc. The memory 450 may optionally include one or more storage devices that are physically remote from the processor 410.
[0066] The memory 450 includes a volatile memory or a non-volatile memory, and may also include both volatile and non-volatile memories. The non-volatile memory may be a read-only memory (ROM), and the volatile memory may be a random access memory (RAM). The memory 450 described in the embodiments of the present application is intended to include any suitable type of memory.
[0067] In some embodiments, memory 450 can store data to support various operations, examples of which include programs, modules, and data structures, or a subset or superset thereof, as exemplarily described below.
[0068] Operating system 451, including system programs for processing various basic system services and performing hardware-related tasks, such as a framework layer, a core library layer, a driver layer, etc., for implementing various basic services and processing hardware-based tasks;
[0069] The network communication module 452 is used to reach other electronic devices via one or more (wired or wireless) network interfaces 420. Exemplary network interfaces 420 include: Bluetooth, Wireless Fidelity (WiFi), and Universal Serial Bus (USB).
[0070] In some embodiments, the map data processing device provided in the embodiments of the present application may be implemented in a software manner. Figure 2 A processing device 455 of map data stored in a memory 450 is shown, which may be software in the form of a program or a plug-in, and includes the following software modules: a receiving module 4551, a response module 4552, a matching module 4553, and an acquisition module 4554. These modules are logical, and thus may be arbitrarily combined or further split according to the functions implemented. The functions of each module will be described below.
[0071] In other embodiments, the map data processing device provided in the embodiments of the present application may be implemented in hardware. As an example, the map data processing device provided in the embodiments of the present application may be a processor in the form of a hardware decoding processor, which is programmed to execute the map data processing method provided in the embodiments of the present application. For example, the processor in the form of a hardware decoding processor may adopt one or more application specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field programmable gate arrays (FPGAs), or other electronic components.
[0072] In some embodiments, the terminal or server can implement the map data processing method provided in the embodiments of the present application by running a computer program or computer executable instructions. For example, the computer program can be a native program (e.g., a dedicated map data processing program) or a software module in the operating system, for example, a map data processing module that can be embedded in any program (such as an instant messaging client, an album program, an electronic map client, a navigation client); for example, it can be a native application (APP, Application), that is, a program that needs to be installed in the operating system to run. In short, the above-mentioned computer program can be an application, module or plug-in in any form.
[0073] The method for processing map data provided in the embodiment of the present application will be described in conjunction with the exemplary application and implementation of the server or terminal provided in the embodiment of the present application.
[0074] See also Figure 3 , Figure 3 is a flowchart of a method for processing map data provided in an embodiment of the present application, which will be combined with Figure 3Steps 101 to 105 are shown for illustration. The method for processing map data provided in the embodiment of the present application can be implemented by a server or a terminal alone, or by a server and a terminal in collaboration. The following description will be made by taking the implementation by a server alone as an example.
[0075] In step 101, a data acquisition request carrying a terminal identification sent by a client is received.
[0076] In some embodiments, the data acquisition request is used to request acquisition of target map data, and the terminal identifier is used to indicate the terminal on which the client is currently installed.
[0077] In some embodiments, the terminal identifier is used to indicate the terminal where the client is currently installed, that is, to indicate the terminal where the client sending the data acquisition request is located.
[0078] In some embodiments, the data acquisition request carries the current map location of the client terminal, and the current map location of the terminal is associated with the target map data, that is, the target map data is map data associated with the current map location of the terminal.
[0079] In some embodiments, see Figure 4 , Figure 4 is a flowchart of a method for processing map data provided by an embodiment of the present application. Figure 3 Before step 101 shown, the Figure 4 Steps 105 to 108 are shown to implement the determination of the target terminal identity.
[0080] In step 105, in response to an activation request carrying a reference terminal identifier sent by the client, multiple authentication terminal identifiers are obtained.
[0081] In some embodiments, the authentication terminal identifier is used to indicate a terminal that has been authenticated by a partner of the map data.
[0082] As an example, in the application scenario of the Internet of Vehicles, the authentication terminal identifier is used to indicate a terminal (e.g., an on-board terminal of a vehicle produced by a vehicle production company) that has been authenticated by a partner of map data (e.g., a vehicle manufacturer). The authentication terminal identifier can be a terminal identifier that is uniquely matched for each on-board terminal produced by a vehicle manufacturer when producing the on-board terminal of a vehicle.
[0083] In some embodiments, the activation request is used to request activation of a client in an inactivated state, and the reference terminal identifier is used to indicate the terminal where the client is located when the activation request is sent.
[0084] In some embodiments, the activation request is used to request activation of a client in an unactivated state, the client sending the activation request is a client in an unactivated state, and the reference terminal identifier is used to indicate the terminal where the client is located when the activation request is sent, and the terminal where the client is located when the activation request is sent is in an unactivated state.
[0085] In some embodiments, before the above-mentioned step 105, the above-mentioned client can be determined in the following manner: receiving an activation request sent by the client to be verified, the activation request carrying the first client identifier of the client to be verified; obtaining multiple second client identifiers; matching the first client identifier with each second client identifier to obtain an identifier matching result; when the identifier matching result indicates that there is a second client identifier that matches the first client identifier, determining the client to be verified as the client.
[0086] In some embodiments, the second client identifier is used to indicate an authenticated client that has been authenticated by an operator of the map data.
[0087] In some embodiments, the operator of the map data is the owner of the production of the map data and has the right to use and distribute the map data. The operator of the map data can send the map data to the user of the map data (that is, the partner of the map data mentioned above) in various forms for use. The operator of the map data can authorize the partner of the map data to use the map data, or the partner of the map data can send a data acquisition request to the operator of the map data, and the operator of the map data sends the map data associated with the data acquisition request to the partner of the map data.
[0088] In some embodiments, the second client identifier is used to indicate an authenticated client that has been authenticated by the operator of the map data. When the first client identifier of the client to be authenticated carried in the activation request matches the second client identifier, it indicates that the client to be authenticated is an authenticated client that has been authenticated by the operator of the map data. Then, the client to be authenticated can be determined as the above-mentioned client.
[0089] As an example, the first client identifier of the client to be verified carried in the activation request sent by the client to be verified is client identifier A, and the second client identifier of the authentication client authenticated by the operator of the map data includes client identifier A, client identifier B and client identifier C. The first client identifier and each second client identifier are matched to obtain an identifier matching result, and the identifier matching result is used to indicate whether there is a second client identifier that matches the first client identifier. Obviously, there is a second client identifier (client identifier A) that matches the first client identifier, then the corresponding identifier matching result indicates that there is a second client identifier that matches the first client identifier, indicating that the client to be verified is an authentication client authenticated by the operator of the map data, then, the client to be verified can be determined as the above-mentioned client.
[0090] In this way, by determining whether the client to be verified is an authenticated client authenticated by the operator of the map data, the authenticated client is determined as the corresponding client that can send the target map data, thereby effectively identifying the client by effectively utilizing the second client identifier already available to the operator of the map data, and by sending the target map data to the client that has passed the screening, map data is not sent to the client that has not passed the screening, thereby effectively improving the security of the map data and achieving effective protection of the map data.
[0091] In step 106, the reference terminal identifier is matched with each authentication terminal identifier to obtain an authentication matching result.
[0092] In some embodiments, the authentication matching result is used to indicate whether there is an authentication terminal identifier among multiple authentication terminal identifiers that matches the reference terminal identifier.
[0093] In some embodiments, the above-mentioned step 106 can be implemented in the following manner: the following processing is performed for each authentication terminal identifier respectively: the authentication terminal identifier is matched with the reference terminal identifier to obtain a sub-authentication matching result corresponding to the authentication terminal identifier, the sub-authentication matching result is used to indicate whether the authentication terminal identifier is the same as the reference terminal identifier, the sub-authentication matching result includes a first sub-authentication matching result and a second sub-authentication matching result, the first sub-authentication matching result is used to indicate that the authentication terminal identifier is the same as the reference terminal identifier, and the second sub-authentication matching result is used to indicate that the authentication terminal identifier is not the same as the reference terminal identifier; when the number of first sub-authentication matching results is one, the authentication matching result is determined as a first authentication matching result, and the first authentication matching result is used to indicate that there is an authentication terminal identifier among multiple authentication terminal identifiers that matches the reference terminal identifier.
[0094] In step 107, when the authentication matching result indicates that there is an authentication terminal identifier matching the reference terminal identifier among the multiple authentication terminal identifiers, a positive response instruction is sent to the client.
[0095] In some embodiments, the positive response instruction is used to trigger the activation of the client.
[0096] In some embodiments, when the authentication matching result indicates that there is an authentication terminal identifier among multiple authentication terminal identifiers that matches the reference terminal identifier, it means that the terminal where the client sending the activation request is located is a terminal authenticated by the partner of the map data, so that a positive response can be given to the activation request, and a positive response instruction can be sent to the client to activate the client that sent the activation request.
[0097] In this way, by determining whether the terminal where the client is located when sending the activation request is a terminal authenticated by the partner of the map data, the authenticated terminal is determined as the corresponding terminal that can send a positive response instruction. Thus, by effectively utilizing the existing authentication terminal identifier of the partner of the map data, effective identification of the terminal is achieved, thereby effectively improving the security of the target map data and achieving effective protection of the target map data.
[0098] In this way, on the one hand, by determining whether the client to be verified is an authenticated client authenticated by the operator of the map data, the authenticated client is determined as the corresponding client that can send the target map data, thereby effectively identifying the client by effectively utilizing the second client identifier already available to the operator of the map data. On the other hand, by determining whether the terminal where the client is located when sending the activation request is a terminal authenticated by the partner of the map data, the authenticated terminal is determined as the corresponding terminal that can send a positive response instruction, thereby effectively identifying the terminal by effectively utilizing the authenticated terminal identifier already available to the partner of the map data. From the above two aspects, dual protection of the security of the target map data is achieved, effectively enhancing the security of the map data.
[0099] In some embodiments, when the authentication matching result indicates that there is no authentication terminal identifier matching the target terminal identifier among the multiple authentication terminal identifiers, a negative response instruction is sent to the client.
[0100] In some embodiments, a negative response instruction is used to trigger uninstallation of the client.
[0101] In some embodiments, when the authentication matching result indicates that there is no authentication terminal identifier that matches the target terminal identifier among multiple authentication terminal identifiers, it means that the terminal where the client is located when sending the activation request is not a terminal authenticated by the partner of the map data. At this time, a negative response instruction can be sent to the client to trigger the uninstallation of the terminal that has not been authenticated by the partner of the map data to uninstall the client, so as to prevent the terminal that has not been authenticated by the partner from stealing the map data, thereby effectively improving the security of the map data and achieving effective protection of the map data.
[0102] In step 108, the reference terminal identifier is determined as the target terminal identifier.
[0103] In some embodiments, when the authentication matching result indicates that there is an authentication terminal identifier that matches the reference terminal identifier among multiple authentication terminal identifiers, the client is effectively activated by sending a positive response instruction to the client. Then, the terminal where the client is located when it is activated is the terminal carrying the reference terminal identifier. The reference terminal identifier can be determined as the target terminal identifier, and the terminal can be effectively identified by effectively utilizing the existing authentication terminal identifiers of the partner of the map data.
[0104] In some embodiments, the determined target terminal identification may be recorded so as to enable effective reading of the target terminal identification when responding to a data acquisition request later.
[0105] In this way, on the one hand, by determining whether the client to be verified is an authenticated client authenticated by the operator of the map data, the authenticated client is determined as the corresponding client that can send the target map data, thereby effectively identifying the client by effectively utilizing the second client identifier already available to the operator of the map data. On the other hand, by determining whether the terminal where the client is located when sending the activation request is a terminal authenticated by the partner of the map data, the authenticated terminal is determined as the corresponding terminal that can send a positive response instruction, thereby effectively identifying the terminal by effectively utilizing the authenticated terminal identifier already available to the partner of the map data. From the above two aspects, dual protection of the security of the target map data is achieved, effectively enhancing the security of the map data.
[0106] In this way, by effectively determining the terminal where the client is located when it is activated, it is convenient to subsequently accurately determine whether the terminal where the client is located when it is activated is the same terminal where the client is located when it sends a data acquisition request, thereby providing effective basis support for subsequent accurate response to data acquisition requests and effectively improving the security of map data.
[0107] In step 102, in response to a data acquisition request, a target terminal identifier corresponding to the client is acquired, where the target terminal identifier is used to indicate the terminal where the client is located when it is activated.
[0108] In some embodiments, the above-mentioned target terminal identifier is used to indicate the terminal where the client is located when it is activated. The terminal where the client is located when it is activated is a terminal authenticated by the partner of the map data. The client can only be activated if it runs on the authenticated terminal, and cannot be activated if it runs on a terminal that has not passed the authentication.
[0109] In step 103, the terminal identifier is matched with the target terminal identifier to obtain a matching result.
[0110] In some embodiments, the matching result is used to indicate whether the terminal identification matches the target terminal identification, that is, to indicate whether the terminal identification is the same as the target terminal identification.
[0111] In some embodiments, when there are multiple target terminal identifiers, the following processing is performed for each target terminal identifier: the terminal identifier is matched with the target terminal identifier to obtain a sub-matching result corresponding to the target terminal identifier, and the above matching result is determined based on the sub-matching results of each target terminal identifier.
[0112] In step 104, when the matching result indicates that the terminal identifier matches the target terminal identifier, the target map data is acquired and sent to the client.
[0113] In some embodiments, when the terminal identifier represented by the matching result matches the target terminal identifier, it means that the terminal where the client is activated and the terminal where the client is currently installed are the same terminal, which means that the client is running in the same terminal when it is activated and when it sends a data acquisition request, which means that the client has not been migrated to other terminals when sending data acquisition requests. Since there are great security risks when it is migrated to other terminals for operation, therefore, when the terminal identifier represented by the matching result matches the target terminal identifier, it means that the terminal where the client is activated and the terminal where the client is currently installed are the same terminal, and the security risk is relatively low, so the target map data is obtained and sent to the client, effectively ensuring the security of the target map data.
[0114] In some embodiments, when the matching result indicates that the terminal identifier does not match the target terminal identifier, honeypot map data corresponding to the target map data is obtained, and the honeypot map data is sent to the client.
[0115] In some embodiments, the honeypot map data is different from the target map data, and the honeypot map data is used to respond to the data acquisition request instead of the target map data.
[0116] In some embodiments, when the matching result indicates that the terminal identifier does not match the target terminal identifier, it indicates whether the client was running in the same terminal when it was activated and when it sent the data acquisition request, and it indicates that the client was not migrated to other terminals when sending the data acquisition request. Since there are great security risks when it is migrated to other terminals for operation, in order to achieve effective protection of the target map data, honeypot map data different from the target map data can be sent to the client, so that the honeypot map data replaces the target map data to respond to the data acquisition request, thereby achieving data protection for the target map data and effectively improving the data security of the target map data.
[0117] In some embodiments, when the matching result indicates that the terminal identifier does not match the target terminal identifier, a negative response prompt message is sent to the client.
[0118] In some embodiments, the negative response prompt information is used to indicate uninstalling the corresponding client.
[0119] In some embodiments, when the matching result indicates that the terminal identifier does not match the target terminal identifier, it indicates whether the client was running in the same terminal when it was activated and when it sent the data acquisition request, and it indicates that the client was not migrated to other terminals when sending the data acquisition request. Since there are great security risks when it is migrated to other terminals for operation, in order to effectively protect the target map data, a negative response prompt message can be sent to the client to prompt it to uninstall the corresponding client in the migrated terminal, so as to avoid the other terminals to which it is migrated from stealing the target map data, thereby achieving effective protection of the target map data and effectively improving the data security of the target map data.
[0120] In some embodiments, see Figure 5 , Figure 5 is a flowchart of a method for processing map data provided in an embodiment of the present application. The data acquisition request carries the current map location of the client terminal. Figure 3 The target map data can be obtained in step 104 by Figure 5 Steps 1041A to 1043A are implemented as shown.
[0121] In step 1041A, a target map is obtained, and a target map grid where a map position is located is determined from a plurality of map grids of the target map, and first map data corresponding to the target map grid is obtained.
[0122] In some embodiments, the sum of the sizes of a plurality of non-overlapping map grids included in the target map is equal to the size of the target map.
[0123] In some embodiments, the target map includes a plurality of complementary and overlapping map grids, which are a general term for geographic coordinate grids and rectangular coordinate grids on the target map, and are used to assist in calculating directions and distances, recording and retrieving information, and the like.
[0124] In some embodiments, because the target map is too large, the target terminal often only needs map data around its target location to meet its needs for map data. Therefore, in response to a data acquisition request sent by the target terminal, the target map grid where the map location is located can be determined from multiple map grids of the target map, thereby achieving precise positioning of the target terminal and accurately determining the target map grid where the map location of the target terminal is located, which facilitates the subsequent sending of map data around the target terminal to the target terminal. This can not only meet the target terminal's needs for map data, but also effectively reduce the amount of data in the data transmission process. For application scenarios such as autonomous driving, it can effectively improve the data transmission speed and effectively improve the safety of autonomous driving.
[0125] After step 1041A, the composition of the first map data may be analyzed in the following manner: data analysis is performed on the first map data corresponding to the target map grid to obtain data composition information of the first map data, where the data composition information is used to indicate whether the first map data includes road data.
[0126] In some embodiments, when there is a road at the location of the client, when the terminal where the target client is located is a vehicle-mounted terminal, it means that when the vehicle corresponding to the vehicle-mounted terminal is driving on the road, the vehicle-mounted terminal initiates a data acquisition request, which indirectly reflects that the possibility of the target terminal maliciously requesting map data is small, and it is more likely that the map data is requested during normal driving.
[0127] In some embodiments, when there is no road at the location of the client terminal, when the terminal where the client is located is a vehicle-mounted terminal, it means that the vehicle corresponding to the vehicle-mounted terminal is not driving in the drivable area. It can be understood that vehicles usually only drive on roads. If there is no road at the location of the vehicle-mounted terminal, it is obviously not in line with the actual application scenario. For example, the vehicle will not drive in buildings, and the vehicle will not drive in waters. There are obviously no roads at the map locations of waters, buildings, etc., then it indirectly reflects that the target terminal may be reporting a false location, maliciously requesting map data, and obtaining map data for its own use to reduce its own data operation costs, which will cause the security of the map data to be seriously threatened.
[0128] In step 1042A, at least one reference map grid associated with the target map grid is obtained from a plurality of map grids of the target map, and second map data corresponding to each reference map grid is obtained.
[0129] In some embodiments, the at least one reference map grid associated with the target map grid may be a map grid of the target map whose distance to the target map grid is less than a distance threshold among multiple map grids of the target map.
[0130] In this way, the map data corresponding to the target map grid, since the target map grid is the map grid where the map position of the target terminal is located, is determined by determining at least one reference map grid corresponding to the target map grid, and the first map data of the target map grid and the second map data corresponding to the reference map grid are fed back to the target terminal. Therefore, when the target terminal needs to use the map data of the reference map grid, there is no need to request and receive the returned map data again, and the data can be directly obtained from the target terminal locally, which effectively reduces the delay in the data transmission process and effectively improves the data usage time of the target terminal.
[0131] In step 1043A, the first map data and the second map data are combined to determine the target map data.
[0132] In some embodiments, the above step 1043A may be implemented in the following manner: when the data composition information indicates that the first map data includes road data, the first map data and the second map data are merged to obtain the target map data.
[0133] In some embodiments, when the data composition information indicates that the first map data includes road data, it means that there is a road at the location of the client. When the terminal where the target client is located is a vehicle-mounted terminal, it means that when the vehicle corresponding to the vehicle-mounted terminal is driving on the road, the vehicle-mounted terminal initiates a data acquisition request. This indirectly reflects that the possibility of the target terminal maliciously requesting map data is small, and it is likely that the map data is requested during normal driving. At this time, the real first map data and the real second map data can be merged to obtain the target map data, and the target map data can be sent to the client, effectively avoiding the security of the target map data being affected by malicious requests for the target map data.
[0134] In some embodiments, when the first map data includes or does not include road data, first honeypot map data corresponding to the first map data and second honeypot map data corresponding to each second map data are obtained; the first honeypot map data and the second honeypot map data are merged to obtain target map data.
[0135] In some embodiments, the first honeypot map data is different from the first map data, and the first honeypot map data is used to respond to the data acquisition request instead of the first map data, and the second honeypot map data is different from the second map data, and the second honeypot map data is used to respond to the second map data instead of the second map data.
[0136] In some embodiments, when the first map data includes or does not include road data, when the terminal where the client is located is a vehicle-mounted terminal, it means that the vehicle corresponding to the vehicle-mounted terminal is not traveling in the drivable area. It is understandable that vehicles usually only travel on roads. If there is no road at the location where the vehicle-mounted terminal is located, it is obviously not in line with the actual application scenario. For example, the vehicle will not travel in a building, and the vehicle will not travel in a water area. There will obviously be no roads at the map locations where water areas, buildings, etc. are located. This indirectly reflects that the target terminal may be reporting a false location, maliciously requesting map data, and obtaining map data for its own use to reduce its own data operation costs. This will cause the security of the map data to be seriously threatened. In order to avoid the security of the map data being threatened, the first honeypot map data corresponding to the first map data and the second honeypot map data corresponding to each second map data can be obtained, and the first honeypot map data and the second honeypot map data can be merged to obtain the target map data, so that the obtained target map data does not contain the real first map data and the second map data, thereby achieving effective protection of the first map data and the second map data.
[0137] In some embodiments, see Figure 6 , Figure 6 is a flowchart of a method for processing map data provided in an embodiment of the present application. The data acquisition request carries the current map location of the client terminal. Figure 3 The target map data can be obtained in step 104 by Figure 6 Steps 1041B to 1046B are implemented as shown.
[0138] In step 1041B, obtain the target map.
[0139] In some embodiments, the target map includes a plurality of non-overlapping map grids.
[0140] In some embodiments, the sum of the sizes of a plurality of non-overlapping map grids included in the target map is equal to the size of the target map.
[0141] As an example, see Figure 7 , Figure 7 is a schematic diagram of the principle of the method for processing map data provided in the embodiment of the present application. Figure 7 The target map shown includes a plurality of non-overlapping map grids, for example, map grid 1 , map grid 2 , map grid 3 , map grid 4 , map grid 5 , map grid 6 , map grid 7 and map grid 8 .
[0142] In step 1042B, the historical data request record of the client is obtained.
[0143] In some embodiments, the historical data request record records the historical data acquisition request of the client for the target quantity of the target map.
[0144] As an example, if the client has requested the target map three times in history, the historical data request record will record the client's three historical data acquisition requests for the target map, that is, the historical data request record will record at most the maximum number of historical data acquisition requests that can be recorded in the historical data request record.
[0145] In step 1043B, the target quantity is compared with the maximum quantity that can be recorded in the historical data request record to obtain a comparison result.
[0146] In some embodiments, the comparison result is used to indicate whether the target quantity is less than the maximum quantity that can be recorded in the historical data request.
[0147] In step 1044B, when the comparison result indicates that the target quantity is less than the maximum quantity, the target map grid where the map position is located is determined from the map grids of the target map, and the first map data corresponding to the target map grid is obtained.
[0148] In some embodiments, when the comparison result indicates that the number of targets is less than the maximum number, it means that the number of targets recorded in the historical data request record has not reached the maximum number, which means that the number of historical requests from the client is less than the maximum number. In order to respond to the client's data acquisition request as much as possible, regardless of whether the data acquisition request is a malicious request for map data, when the number of historical requests from the client is less than the maximum number, in order to reflect a certain degree of fault tolerance, a positive response can be made to the current data acquisition request, and the target map grid where the map location is located can be determined from the map grid of the target map, and the first map data corresponding to the target map grid can be obtained.
[0149] In some embodiments, after step 1041B above, the composition of the first map data may be analyzed in the following manner: data analysis is performed on the first map data corresponding to the target map grid to obtain data composition information of the first map data, where the data composition information is used to indicate whether the first map data includes road data.
[0150] In some other embodiments, after the above step 1041B, the composition of the first map data may not be analyzed, and the following step 1045B may be directly executed.
[0151] In step 1045B, at least one reference map grid associated with the target map grid is obtained from the multiple map grids of the target map, and second map data corresponding to each reference map grid is obtained.
[0152] In some embodiments, the at least one reference map grid associated with the target map grid may be a map grid of the target map whose distance to the target map grid is less than a distance threshold among multiple map grids of the target map.
[0153] In this way, the map data corresponding to the target map grid, since the target map grid is the map grid where the map position of the target terminal is located, is determined by determining at least one reference map grid corresponding to the target map grid, and the first map data of the target map grid and the second map data corresponding to the reference map grid are fed back to the target terminal. Therefore, when the target terminal needs to use the map data of the reference map grid, there is no need to request and receive the returned map data again, and the data can be directly obtained from the target terminal locally, which effectively reduces the delay in the data transmission process and effectively improves the data usage time of the target terminal.
[0154] In step 1046B, the first map data and the second map data are combined to determine target map data.
[0155] In some embodiments, when the composition of the first map data is analyzed after the above step 1041B, the above step 1046B can be implemented as follows: when the data composition information indicates that the first map data includes road data, the first map data and the second map data are merged to obtain the target map data. When the first map data includes or does not include road data, the first honeypot map data corresponding to the first map data and the second honeypot map data corresponding to each second map data are obtained; the first honeypot map data and the second honeypot map data are merged to obtain the target map data.
[0156] In some embodiments, when the data composition information indicates that the first map data includes road data, it means that there is a road at the location of the client. When the terminal where the target client is located is a vehicle-mounted terminal, it means that when the vehicle corresponding to the vehicle-mounted terminal is driving on the road, the vehicle-mounted terminal initiates a data acquisition request. This indirectly reflects that the possibility of the target terminal maliciously requesting map data is small, and it is likely that the map data is requested during normal driving. At this time, the real first map data and the real second map data can be merged to obtain the target map data, and the target map data can be sent to the client, effectively avoiding the security of the target map data being affected by malicious requests for the target map data.
[0157] In some embodiments, when the composition of the first map data is not analyzed after the above step 1041B, the above step 1046B can be implemented in the following manner: the first map data and the second map data are merged to obtain the target map data.
[0158] In this way, by responding to a data acquisition request for requesting to acquire target map data, the target terminal identifier corresponding to the client is acquired, and the terminal identifier is matched with the target terminal identifier. When the terminal identifier matches the target terminal identifier, the acquired target map data is sent to the client. Since the terminal identifier indicates the terminal on which the client is currently installed, and the target terminal identifier indicates the terminal on which the client is located when it is activated, when the terminal identifier matches the target terminal identifier, it indicates that the terminal on which the client is currently installed and the terminal on which the client is located when it is activated are the same terminal, thereby effectively ensuring that no terminal migration occurs between the activation of the client and the sending of the data acquisition request. At the same time, by ensuring that the data acquisition request generated when the client sends the data acquisition request after being activated originates from the same terminal, it is ensured that the data acquisition request sent by the client received is sent by the client under the operating environment of the same terminal, thereby effectively ensuring the reliability of the client's request. While ensuring the reliability of the client's request, the target map data is sent to the client, thereby effectively ensuring the data security of the map data.
[0159] Below, an exemplary application of the embodiments of the present application in an actual application scenario of the Internet of Vehicles will be described.
[0160] As the requirements for data security become increasingly stringent. Data security is crucial to the Internet of Vehicles business (intelligent connected cars), and it has also become the core bottom line and value barrier of the Internet of Vehicles business. Unlike traditional map application scenarios represented by mobile maps, Chetu Cloud is an open form of cooperation. By providing a data engine SDK for partners to use (with the logic of data loading encapsulated internally), an interface for obtaining relevant data is provided. If the partner uses this underlying cooperation method with ulterior motives, there is a risk that the map data will be completely crawled by traversing the data tiles. As a result, the data collected and produced with the help of surveying and mapping qualifications, with a lot of effort and huge costs, will be crawled. The losses and costs are very significant. Therefore, it is expected that the behavior of cooperative customers can be restricted so that they can use data within the expected scope. At the same time, there are monitoring means for customers' ulterior motives and illegal use, and timely detection and necessary measures can be taken to stop it.
[0161] This application embodiment is based on the current hot topic of car image cloud in the industry, and restricts the way partners use data through data anti-crawling restrictions and monitoring strategies. Figure 8 , Figure 8 This is a schematic diagram of the principle of the map data processing method provided by the embodiment of the present application. It forms a three-dimensional multi-dimensional constraint blockade from the perspectives of spatial dimension induction, temporal dimension frequency control, and device association restrictions, which increases the difficulty and cost of crawling exponentially and solves the key problems of the current industry's car map cloud service form. Figure 8As shown, the strategy involves both active restrictions and passive defense. The "target client identity restriction" and "speed constraint" strategies are active protection mechanisms, which restrict the crawling equipment and frequency, greatly increasing the equipment cost and time cost of the partner's crawling, making its crawling behavior lose its application value. The embodiment of the present application mainly uses the "target client identity restriction" strategy to perform active defense, and the "client identity binding" strategy to implement behavioral constraints on partners by restricting the operating environment of the data engine software. The essential purpose of the embodiment of the present application is to further raise the crawling threshold and solve the problem of customers denying illegal crawling behavior. It is specifically divided into two dimensions: further raising the crawling threshold, through strategies such as "honeypot tiles" and "speed constraints", the difficulty of crawling can be effectively increased, and the illegal behavior of partners can be monitored and even entrapped. "Client identity binding" can further constrain the operating environment of the data engine to a restricted environment, preventing thieves from extracting the software and performing it at high The possibility of running a distributed computing platform. Solve the "non-repudiation" problem. If the partner insists that these actions are not done by the partner itself, but because the client software is lost and used by a third party to crawl, it will fall into endless disputes. The partner will most likely only need to bear the responsibility for not properly keeping the software (it may not be possible to ask the partner to assist in properly preserving the software during the cooperation), and does not have to bear the responsibility of crawling, which has a more serious impact. Client identity binding, that is, by activating authentication and device binding, each data request is confirmed to come from the customer's device, which is self-certifying. Once the illegal behavior of a client identity is mastered, the partner cannot deny the source of the client's behavior.
[0162] The data anti-crawling strategy provided by the embodiment of the present application mainly includes three basic strategies: honeypot tile trapping monitoring, vehicle speed constraint restriction, and target client permission binding. The three basic strategies respectively impose three-dimensional restrictions and constraints from multiple dimensions, namely spatial distribution (based on honeypot tile trapping monitoring), time frequency (based on vehicle speed constraint restriction), and difficulty of implementing distributed crawling (based on target client permission binding), which greatly increases the difficulty and cost of crawling map data for partners with ulterior motives. It should be noted that the embodiment of the present application focuses on the explanation based on target client permission binding.
[0163] The industry model of Chetuyun will transform from the closed-loop service model of Internet map manufacturers to an open cooperation model, which provides a broader industry space for traditional Internet map applications. However, most traditional technical solutions are not applicable to technical scenarios under the new form. Such changes also put forward higher requirements and new challenges.
[0164] The primary issue in the cooperation model is data security. By entrusting data assets to partners for use, raw data is provided to the target client's data engine in the form of data broadcasting. Because of the cooperation, the partners are fully aware of the above information, and the partners can intervene in the use of data during the data life cycle, which will make it much easier for partners to crawl map data than in the traditional model.
[0165] However, the data security issue itself is an important issue for the industry to provide car map cloud services. The embodiments of this application hope to limit the behavior of partners so that they use data within the expected scope. Otherwise, if the partner has ulterior motives to obtain a complete data set through crawling at a lower economic and time cost, and can use the complete data without supply, it will bring a huge threat to data benefits.
[0166] It is particularly worth noting that increasing the time cost for partners to obtain data is also in line with expectations, because road information in the objective physical world is constantly changing (such as road opening, closure, lane changes, etc.).
[0167] The embodiment of the present application can perform data version updates at a higher frequency (e.g., daily, weekly, monthly, and quarterly), and distribute them to the target client for data application by broadcasting, to ensure the timeliness and accuracy of the data. If the partner can quickly crawl complete data at a sufficiently low time cost, for example, it only takes one day to complete data crawling and provide applications after weekly updates, the cost and competitiveness paid will be greatly reduced. However, if the time cost of the partner crawling data can be increased to 1 week or even longer, when the partner completely obtains one version of data, the embodiment of the present application has updated another (or even several) versions to provide more accurate and fresh data, and the meaning and value of the data crawled by the partner will be greatly reduced.
[0168] Combined with strategies such as "honeypot tiles" and "speed constraints", the embodiments of the present application can effectively monitor and even trap customers' illegal behavior. At the same time, based on the "speed constraint" strategy, it becomes very difficult for a single client device to complete data crawling (there is a quantitative calculation in the corresponding patent, and the crawling time is at the monthly level). "Client identity binding" limits the operating environment of the data engine to the vehicle terminal, blocking the possibility of extracting the software and running it in a distributed manner. At the same time, the embodiments of the present application can solve a serious problem in the security field - the problem of non-repudiation, that is, when misconduct by a partner is discovered, if there is no way to prove that these behaviors are intentional from the customer, there is no way to conduct more powerful accountability. Client identity binding is the last but indispensable brick of this data security fortress.
[0169] The embodiment of this application focuses on the "client identity binding" strategy. The "client identity binding" strategy, by designing a suitable identity authentication and activation process, realizes the association and binding between the data engine software and the client device, thereby preventing the software from being copied and extracted, thereby blocking the possibility of distributed crawling, and forming a complete chain of evidence. Below, we will start from the principle and difficulty of non-repudiation, distributed crawling, and the principle of client identity binding.
[0170] In some embodiments, see Fig. 9 , Fig. 9 This is a schematic diagram of the principle of the method for processing map data provided in the embodiment of the present application. Non-repudiation (or anti-repudiation) is an important issue in the field of security. Any security measure will become meaningless once it is denied by the implementer. For example, data transmission, mobile payment, etc., even if sufficient encryption and other security guarantees are implemented to ensure that data or transaction information is not leaked or tampered with, if the source cannot be guaranteed to be verifiable, then simple denial can completely overturn all previous efforts. Many examples in life actually epitomize this principle, such as denying that the transaction was not initiated by the user himself, denying that the express delivery was not signed, and so on. In life, the reliability of the data source is usually guaranteed in a verifiable and non-stealable way. For example, fingerprint verification when paying, signature when receiving express delivery, and so on.
[0171] However, this idea cannot be simply applied to the data engine cooperation model to constrain the customer's denial behavior. Fig. 9 The core difficulty of the data engine in solving this problem lies in: client software ( Fig. 9 Data Engine Software shown) and Fig. 9 The user shown is separable. After a simple analysis, it can be seen that whether it is a fingerprint or a signature, the evidence has an unbreakable association with the person responsible, forming a complete logical chain, and it is difficult for the user to deny that his fingerprint is illegally used when it is not in his hand. However, the data engine software delivered to the customer lacks this link of association with the user. When delivering the software, an unforgeable confidentiality certificate can be added to the software to generate a digital signature as proof of the irrefutable source of its behavior. When we monitor abnormal behavior on the service side, we can effectively prove that the illegal behavior comes from a specific data engine software. However, due to the copyability of the software, the illegal behavior of the software cannot be extended to the specific person responsible. Therefore, in order to solve this problem, the embodiment of the present application combines its own business characteristics (including cooperation mode and feasibility) to design appropriate mechanisms and processes to ensure the non-repudiation of data without incurring too much cost in the current delivery model. Add restrictions at the software level, and form restrictions and associations at the usage level.
[0172] In some embodiments, the normal operating environment of the data engine is a vehicle-mounted terminal. Usually for cost considerations, the computing power and performance of the vehicle-mounted terminal system of the cooperating car companies are relatively limited. Its computing power is usually lower than that of a mobile phone, much lower than that of a personal PC, and even more incomparable with professional server equipment. The vehicle-mounted terminal equipment is sufficient for normal use by vehicle-mounted terminal users such as drivers, but it cannot perform complex tasks. In addition, many vehicle-mounted terminals do not provide debugging interfaces (such as USB debugging interfaces, etc.) after leaving the factory. They are relatively closed environments, and the cost of transformation after purchase by the partners is high. Large-scale data crawling requires sufficient computing power and storage space, especially for complex distributed crawling, which requires task planning, scheduling and operation. These tasks usually need to be performed in professional servers. Since ordinary software is copyable, by copying and extracting the software, it is placed in a high-computing distributed system. Through task scheduling and process management, brute force crawling can be performed based on the extracted software. Client identity binding is used to restrict the software to run in devices that meet the expectations (vehicle terminals), and it cannot run on non-target machines, thereby ensuring that the data engine cannot be copied or extracted to a high-computing platform, thereby avoiding distributed crawling in an environment that is easy to manage, orchestrate, and schedule. At the same time, with the help of mechanisms such as "speed constraints" introduced in the previous patent, the threshold for brute force crawling in a single device is extremely high. Multiple strategies complement each other and raise the threshold for crawling in various ways from different dimensions.
[0173] In some embodiments, see Fig.10 , Fig.10 It is a schematic diagram of the principle of the method for processing map data provided in the embodiment of the present application. The method for processing map data provided in the embodiment of the present application can be implemented through the interaction between the vehicle terminal and the server and the car company server. The vehicle terminal includes a data engine and an operating system. The operating system includes a device unique identification system interface and identity information encryption storage. The data engine business system includes a HAL hardware adaptation layer and a channel number private key. The server includes a data service, and the car company-server includes a device unique identification authentication service.
[0174] In some embodiments, see Fig.11 , Fig.11 is a flowchart of a method for processing map data provided in an embodiment of the present application. The method for processing map data provided in an embodiment of the present application can be performed by Fig.11 Steps 201 to 216 are shown to be implemented.
[0175] In step 201, the data engine is started.
[0176] In some embodiments, the data playback service performs a data engine startup.
[0177] In step 202, activation information is read from the device system storage.
[0178] In step 203, the device identification is read from the device system storage.
[0179] In step 204, it is determined whether there is historical activation information.
[0180] In some embodiments, the above step 204 can be implemented in the following manner: combining the read activation information and the device identification to determine whether there is historical activation information.
[0181] In step 205, when there is no historical activation information, activation is performed to the server.
[0182] In some embodiments, the above activation to the server can be implemented in the following manner: sending a device identifier to an activation service so that the activation service performs activation.
[0183] In step 206, the service receiving device identification is activated.
[0184] In step 207, the legitimacy of the device identification is verified.
[0185] In some embodiments, the above step 207 can be implemented in the following manner: sending a verification request to the data engine, so that the data engine verifies the device identification by reading the information in the device representation library.
[0186] In step 208, device information is recorded.
[0187] In step 209, the activation is successful and feedback is given to the data broadcast service.
[0188] In some embodiments, the data broadcast service records the activation information and stores the activation information in the device system storage.
[0189] In step 210, when there is activation information, it is determined whether the historical activation information matches the current device identification.
[0190] In step 211, when a match is found, activation information is read to the data service.
[0191] In step 212, when there is no match, the data service is terminated.
[0192] In step 213, the data service in the data broadcast service sends the device identifier to the data service in the data engine.
[0193] In step 214, the data service in the data engine receives the device identification.
[0194] In step 215, abnormal behavior monitoring is performed.
[0195] In step 216, the data service responds.
[0196] The following is a detailed description of the client identity binding strategy. When cooperation is reached, a unique channel number and a corresponding private key are generated for the cooperative customer. When the data engine is delivered, the corresponding customer's delivery software has a built-in channel number and private key. All requests initiated by the data engine software carry the digital signature calculated by the channel number and the private key. When the data engine software is started for the first time, the system unique identifier is obtained through the interface provided by the vehicle system, and the system identifier is carried to the server for registration and activation. The server verifies the legitimacy of the system identifier with the car company, completes the activation and generates the identity information of the client (including the internal unique ID, etc.), and returns the identity information and the result of successful activation to the client. After the client receives the identity information from the server, it is encrypted and stored in the vehicle device together with the system unique identifier, which is called activation information. After that, each time the data engine software runs, it reads the activation information and obtains the system unique identifier through the interface provided by the vehicle system (the same as when registering and activating), and checks whether the two are consistent. If they are consistent, the service is provided normally, otherwise the service is rejected. After the data engine is activated, each data request carries the distributed identity information (internal unique ID), and a digital signature is calculated based on the private key for the key information of the request.
[0197] In some embodiments, a channel number is generated and a private key is issued during cooperation. When the data engine of a specific channel requests data, it carries the channel number information and uses the private key for digital signature. The server saves the channel numbers and keys of all channels, verifies the channel number after receiving the request, and uses the corresponding key stored on the server to perform the same calculation, and compares it with the signature in the request to see if it is consistent. This strategy can ensure that the data download request received by the server comes from the data engine software of a specific customer. Avoid the communication process being captured through request hijacking, etc., and simulate the data engine identity to request data from the server. However, this step does not guarantee that the user of the data engine is legitimate. For example, a third party can obtain the data engine software by copying it and gain access.
[0198] In some embodiments, the partner provides a unique identification interface in the vehicle computer and provides the ability to verify the unique identification. This logic ensures that the data engine is installed in a device approved by the customer. This process is self-consistent on the partner side, and the partner can design strategies arbitrarily, as long as it ensures that each vehicle produced has a unique identification and can authenticate the legitimacy of the unique identification. For example, 1,000 confidential random codes are generated in advance, and the software system of the vehicle production line assigns one of them. During verification, it is determined whether the identification is a pre-generated random code.
[0199] In some embodiments, the data engine calls the unique identification interface each time it starts and compares it with the encrypted activation information to ensure that the information obtained is consistent with the activation information. This strategy ensures that the data engine cannot be copied to other devices for operation after activation. Combined with the description in 2, the data engine can only be activated in the customer's vehicle device and cannot be copied to other devices after activation. These two conditions combine to form a logical chain, which can ensure that the data engine can only run on customer-approved devices (i.e., vehicle devices) at any time.
[0200] In some embodiments, the consistency of rights and responsibilities is self-consistent. The customer provides a unique identification interface and a verification interface at the same time, and does not interfere with its logic. Based on their own technical reserves, car companies have the ability to independently design verification logic to lower the access threshold for different customers to use the data engine. At the same time, while the right to verify the device is given to the customer, the responsibility for device authentication is also given to the customer. Based on the "non-repudiation" association chain mentioned above, the abnormal behavior monitored by the server can be determined to come from the customer's device based on the "client identity binding" logic, which has the characteristic of non-repudiation.
[0201] In some embodiments, during each request between the data engine and the server, a digital signature needs to be calculated. The server performs the calculation in the same way and compares the calculation results to ensure consistency, so as to prevent the client's data engine software from being impersonated and achieve two-way authentication capabilities (i.e., while the client authenticates the server, the server also needs to confirm the client's identity). The digital signature calculation method currently used by the car-connected data engine is as follows: sort the names of the business parameters (except the sign parameter itself) in ASCII order (ignoring the case of the parameters) and concatenate them into a string format of `${key}${value}${key}${value}`. Note: When calculating the sign parameter, do not perform URL encoding conversion, and Chinese characters are calculated in utf-8 encoding format. Add the private key to the end of the string generated in the previous step to form the final string. Perform the HMAC-SHA256 algorithm to calculate the digital signature of the above result string, and convert the result to lowercase as the value of the sign parameter.
[0202] The client identity binding mechanism introduced in the embodiment of the present application can be used to achieve the purpose of making the data engine software run reliably in the target device environment under the cooperation mode of car map cloud, and the overall process is feasible in practice. By binding the operating environment, the software can be prevented from being copied and extracted, thereby preventing the extracted software from crawling data in the scheduling system with higher computing power. At the same time, the operating environment of the software is bound to the device approved by the customer, which further constrains the customer's cooperation obligations. When the server detects illegal behavior of a specific data engine, it has an irrefutable chain of evidence and can trace the responsibility to the customer's specific device. In conjunction with the management mechanism of the device on the customer side, the offender can be further obtained. The security of the data interface is further improved from multiple dimensions. More importantly, the client identity binding mechanism is a supplement and improvement to other patent strategies, and cooperates with other strategies to form a more comprehensive protection, forming a 1+1>2 effect. The autonomous driving cloud zone is of great value to relevant manufacturers engaged in the autonomous driving and smart travel industries. At the same time, the service form of car map cloud is a new track with great new attraction for Internet service providers with surveying and mapping qualifications, which can make full use of Internet infrastructure and data value to obtain significant benefits of billions. However, this new track has brought new opportunities and challenges to all practitioners. The technology and experience accumulated in traditional navigation applications often cannot be directly applied due to differences in usage backgrounds. It is necessary to design and improve supporting strategies and systems based on the current new form of Internet map service. In the form of car map cloud service, data security is the core issue. If the data provider cannot use necessary means to ensure that its own data is not crawled and used for other purposes, this service form will have obvious security loopholes, and the interests of the cooperating party are completely unprotected, and huge benefits may be lost during the cooperation period. The anti-crawling strategy for the broadcasting of car map cloud data in the embodiment of the present application solves the fundamental problem of this new track and provides a basic line of defense for the map data cooperation form. Using the strategies and systems described in the embodiments of the present application can effectively increase the cost and difficulty of crawling and using the delivered data for other purposes for customers, and ensure the interests of the data provider. The data security issue is a must for the car map cloud industry model, and the technical solutions and systems of the embodiments of the present application are effective explorations and practices of this issue.
[0203] It is understandable that in the embodiments of the present application, map data and other related data are involved. When the embodiments of the present application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of relevant data need to comply with relevant laws, regulations and standards of relevant countries and regions.
[0204] The following is a description of an exemplary structure of a map data processing device 455 provided in an embodiment of the present application implemented as a software module. In some embodiments, for example, Figure 2As shown, the software modules in the map data processing device 455 stored in the memory 450 may include: a receiving module 4551, used to receive a data acquisition request carrying a terminal identifier sent by a client; wherein the data acquisition request is used to request to obtain target map data, and the terminal identifier is used to indicate the terminal on which the client is currently installed; a responding module 4552, used to respond to the data acquisition request and obtain the target terminal identifier corresponding to the client, and the target terminal identifier is used to indicate the terminal where the client is located when it is activated; a matching module 4553, used to match the terminal identifier with the target terminal identifier to obtain a matching result; and an acquisition module 4554, used to obtain the target map data and send the target map data to the client when the matching result indicates that the terminal identifier matches the target terminal identifier.
[0205] In some embodiments, the processing device for the above-mentioned map data also includes: an activation module, which is used to obtain multiple authentication terminal identifiers in response to an activation request carrying a reference terminal identifier sent by the client, and the authentication terminal identifier is used to indicate a terminal authenticated by a partner of the map data; wherein the activation request is used to request activation of the client in an unactivated state, and the reference terminal identifier is used to indicate the terminal where the client is located when sending the activation request; the reference terminal identifier is matched with each of the authentication terminal identifiers to obtain an authentication matching result; when the authentication matching result indicates that there is an authentication terminal identifier that matches the reference terminal identifier among the multiple authentication terminal identifiers, a positive response instruction is sent to the client, and the reference terminal identifier is determined as the target terminal identifier, and the positive response instruction is used to trigger activation of the client.
[0206] In some embodiments, the above-mentioned activation module is also used to send a negative response instruction to the client when the authentication matching result indicates that there is no authentication terminal identifier among the multiple authentication terminal identifiers that matches the target terminal identifier; wherein the negative response instruction is used to trigger the uninstallation of the client.
[0207] In some embodiments, the above-mentioned activation module is also used to receive an activation request sent by the client to be verified, and the activation request carries the first client identifier of the client to be verified; obtain multiple second client identifiers, and the second client identifier is used to indicate an authenticated client authenticated by the operator of the map data; match the first client identifier with each of the second client identifiers to obtain an identifier matching result; when the identifier matching result indicates that there is a second client identifier that matches the first client identifier, the client to be verified is determined as the client.
[0208] In some embodiments, the above-mentioned activation module is also used to obtain the honeypot map data corresponding to the target map data and send the honeypot map data to the client when the matching result indicates that the terminal identifier does not match the target terminal identifier; wherein the honeypot map data is different from the target map data, and the honeypot map data is used to respond to the data acquisition request instead of the target map data.
[0209] In some embodiments, the acquisition module is further used to send a negative response prompt message to the client when the matching result indicates that the terminal identifier does not match the target terminal identifier; the negative response prompt message is used to instruct to uninstall the corresponding client.
[0210] In some embodiments, the above-mentioned data acquisition request carries the current map location of the terminal where the client is located, and the above-mentioned acquisition module is also used to obtain the target map, and determine the target map grid where the map location is located from multiple map grids of the target map, and obtain the first map data corresponding to the target map grid; obtain at least one reference map grid associated with the target map grid from multiple map grids of the target map, and obtain the second map data corresponding to each reference map grid; determine the target map data in combination with the first map data and the second map data.
[0211] In some embodiments, the acquisition module is further used to perform data analysis on the first map data corresponding to the target map grid to obtain data composition information of the first map data, wherein the data composition information is used to indicate whether the first map data includes road data; the acquisition module is further used to merge the first map data and the second map data to obtain the target map data when the data composition information indicates that the first map data includes road data.
[0212] In some embodiments, the above-mentioned acquisition module is also used to acquire first honeypot map data corresponding to the first map data and second honeypot map data corresponding to each second map data when the first map data includes or does not include the road data; wherein the first honeypot map data is different from the first map data, and the first honeypot map data is used to replace the first map data to respond to the data acquisition request, and the second honeypot map data is different from the second map data, and the second honeypot map data is used to replace the second map data to respond to the second map data; the first honeypot map data and the second honeypot map data are merged to obtain the target map data.
[0213] In some embodiments, the above-mentioned acquisition module is also used to acquire a target map, wherein the target map includes multiple non-overlapping map grids; acquire a historical data request record of the client, wherein the historical data request record records the historical data acquisition request of the client for the target quantity of the target map; compare the target quantity with the maximum quantity that can be recorded in the historical data request record to obtain a comparison result; when the comparison result indicates that the target quantity is less than the maximum quantity, determine the target map grid where the map location is located from the map grids of the target map, and acquire first map data corresponding to the target map grid; and acquire at least one reference map grid associated with the target map grid from multiple map grids of the target map, and acquire second map data corresponding to each reference map grid; and determine the target map data in combination with the first map data and the second map data.
[0214] In some embodiments, the acquisition module is further used to perform data analysis on the first map data corresponding to the target map grid to obtain data composition information of the first map data, wherein the data composition information is used to indicate whether the first map data includes road data; the acquisition module is further used to merge the first map data and the second map data to obtain the target map data when the data composition information indicates that the first map data includes road data.
[0215] The embodiment of the present application provides a computer program product, which includes a computer program or a computer executable instruction, and the computer program or the computer executable instruction is stored in a computer readable storage medium. The processor of the electronic device reads the computer executable instruction from the computer readable storage medium, and the processor executes the computer executable instruction, so that the electronic device executes the above-mentioned method for processing map data in the embodiment of the present application.
[0216] The embodiment of the present application provides a computer-readable storage medium storing computer-executable instructions, wherein the computer-executable instructions are stored. When the computer-executable instructions are executed by a processor, the processor will execute the method for processing map data provided by the embodiment of the present application, for example, Figure 3 A method of processing map data is shown.
[0217] In some embodiments, the computer-readable storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEP ROM, flash memory, magnetic surface storage, optical disk, or CD-ROM; or it may be various electronic devices including one or any combination of the above memories.
[0218] In some embodiments, computer executable instructions may be in the form of a program, software, software module, script or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as a stand-alone program or as a module, component, subroutine or other unit suitable for use in a computing environment.
[0219] As an example, computer-executable instructions may, but need not, correspond to a file in a file system, may be stored as part of a file storing other programs or data, such as in one or more scripts in a HyperText Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files storing one or more modules, subroutines, or code portions).
[0220] As an example, computer executable instructions may be deployed to be executed on one electronic device, or on multiple electronic devices located at one site, or on multiple electronic devices distributed at multiple sites and interconnected by a communication network.
[0221] In summary, the embodiments of the present application have the following beneficial effects:
[0222] (1) In response to a data acquisition request for requesting to acquire target map data, a target terminal identifier corresponding to the client is acquired, and the terminal identifier is matched with the target terminal identifier. When the terminal identifier matches with the target terminal identifier, the acquired target map data is sent to the client. Since the terminal identifier indicates the terminal on which the client is currently installed and the target terminal identifier indicates the terminal on which the client is located when it is activated, when the terminal identifier matches with the target terminal identifier, it indicates that the terminal on which the client is currently installed and the terminal on which the client is located when it is activated are the same terminal, thereby effectively ensuring that no terminal migration occurs between the time when the client is activated and before the data acquisition request is sent. At the same time, by ensuring that the data acquisition request generated when the client sends the data acquisition request after being activated originates from the same terminal, it is ensured that the data acquisition request sent by the client is sent by the client in the operating environment of the same terminal, thereby effectively ensuring the reliability of the client's request. While ensuring the reliability of the client's request, the target map data is sent to the client, thereby effectively ensuring the data security of the map data.
[0223] (2) By determining whether the client to be verified is an authenticated client authenticated by the operator of the map data, the authenticated client is determined as the corresponding client that can send the target map data, thereby effectively identifying the client by effectively utilizing the second client identifier already owned by the operator of the map data. By sending the target map data to the client that has passed the screening, map data is not sent to the client that has not passed the screening, thereby effectively improving the security of the map data and achieving effective protection of the map data.
[0224] (3) Map data corresponding to the target map grid. Since the target map grid is the map grid where the target terminal is located, by determining at least one reference map grid corresponding to the target map grid, and feeding back the first map data of the target map grid and the second map data corresponding to the reference map grid to the target terminal, when the target terminal needs to use the map data of the reference map grid, it is not necessary to request and receive the returned map data again, but can directly obtain it from the target terminal locally, thereby effectively reducing the delay in the data transmission process and effectively improving the data usage time of the target terminal.
[0225] (4) By effectively determining the terminal where the client is located when it is activated, it is convenient to accurately determine whether the terminal where the client is located when it is activated is the same terminal where the client is located when it sends the data acquisition request, thereby providing effective basis support for the subsequent accurate response to the data acquisition request, and effectively improving the security of the map data.
[0226] (5) On the one hand, by determining whether the client to be verified is an authenticated client authenticated by the operator of the map data, the authenticated client is determined as the corresponding client that can send the target map data, thereby effectively identifying the client by effectively utilizing the second client identifier already owned by the operator of the map data. On the other hand, by determining whether the terminal where the client is located when sending the activation request is a terminal authenticated by the partner of the map data, the authenticated terminal is determined as the corresponding terminal that can send the positive response instruction, thereby effectively identifying the terminal by effectively utilizing the authenticated terminal identifier already owned by the partner of the map data. From the above two aspects, dual protection of the security of the target map data is achieved, effectively enhancing the security of the map data.
[0227] (6) When the authentication matching result indicates that there is no authentication terminal identifier matching the target terminal identifier among multiple authentication terminal identifiers, it means that the terminal where the client is located when sending the activation request is not a terminal authenticated by the partner of the map data. At this time, a negative response instruction can be sent to the client to trigger the uninstallation of the terminal that has not been authenticated by the partner of the map data to uninstall the client, so as to prevent the terminal that has not been authenticated by the partner from stealing the map data, thereby effectively improving the security of the map data and achieving effective protection of the map data.
[0228] (7) By determining whether the terminal where the client is located when sending the activation request is a terminal authenticated by the partner of the map data, the authenticated terminal is determined as the corresponding terminal that can send a positive response instruction, thereby effectively identifying the terminal by effectively utilizing the existing authentication terminal identifier of the partner of the map data, thereby effectively improving the security of the target map data and achieving effective protection of the target map data.
[0229] (8) When the data composition information indicates that the first map data includes road data, it means that there is a road at the location of the client. When the terminal where the target client is located is a vehicle-mounted terminal, it means that when the vehicle corresponding to the vehicle-mounted terminal is driving on the road, the vehicle-mounted terminal initiates a data acquisition request. This indirectly reflects that the target terminal is less likely to maliciously request map data, and it is more likely that the map data is requested during normal driving. At this time, the real first map data and the real second map data can be merged to obtain the target map data, and the target map data can be sent to the client, which effectively avoids the security of the target map data being affected by malicious requests for the target map data.
[0230] (9) When the comparison result indicates that the number of targets is less than the maximum number, it means that the number of targets recorded in the historical data request record has not reached the maximum number, which means that the number of historical requests from the client is less than the maximum number. In order to respond to the client's data acquisition request as much as possible, regardless of whether the data acquisition request is a malicious request for map data, when the number of historical requests from the client is less than the maximum number, in order to reflect a certain degree of fault tolerance, a positive response can be made to the current data acquisition request, and the target map grid where the map position is located is determined from the map grid of the target map, and the first map data corresponding to the target map grid is obtained.
[0231] The above is only an embodiment of the present application and is not intended to limit the protection scope of the present application. Any modifications, equivalent substitutions and improvements made within the spirit and scope of the present application are included in the protection scope of the present application.
Claims
1. A method for processing map data, characterized in that: The method comprises: Receiving a data acquisition request carrying a terminal identifier sent by a client; The data acquisition request is used to request to acquire target map data, and the terminal identifier is used to indicate the terminal on which the client is currently installed; In response to the data acquisition request, acquiring a target terminal identifier corresponding to the client, the target terminal identifier being used to indicate the terminal where the client is located when it is activated; Matching the terminal identifier with the target terminal identifier to obtain a matching result; When the matching result indicates that the terminal identifier matches the target terminal identifier, the target map data is acquired and sent to the client.
2. The method according to claim 1, characterized in that: Before receiving the data acquisition request carrying the terminal identification sent by the client, the method further includes: In response to an activation request carrying a reference terminal identifier sent by the client, a plurality of authentication terminal identifiers are acquired, wherein the authentication terminal identifiers are used to indicate terminals authenticated by a partner of the map data; The activation request is used to request activation of the client in an inactivated state, and the reference terminal identifier is used to indicate the terminal where the client is located when sending the activation request; Matching the reference terminal identifier with each of the authentication terminal identifiers to obtain an authentication matching result; When the authentication matching result indicates that there is an authentication terminal identifier matching the reference terminal identifier among the multiple authentication terminal identifiers, a positive response instruction is sent to the client, and the reference terminal identifier is determined as the target terminal identifier. The positive response instruction is used to trigger activation of the client.
3. The method according to claim 2, characterized in that The method further comprises: When the authentication matching result indicates that there is no authentication terminal identifier matching the target terminal identifier among the multiple authentication terminal identifiers, sending a negative response instruction to the client; The negative response instruction is used to trigger uninstallation of the client.
4. The method according to claim 2, characterized in that: Before acquiring a plurality of authentication terminal identifiers in response to the activation request carrying the reference terminal identifier sent by the client, the method further includes: Receiving an activation request sent by a client to be authenticated, wherein the activation request carries a first client identifier of the client to be authenticated; Acquire multiple second client identifiers, where the second client identifiers are used to indicate authentication clients that have been authenticated by the operator of the map data; Matching the first client identifier with each of the second client identifiers to obtain an identifier matching result; When the identification matching result indicates that there is a second client identification that matches the first client identification, the client to be verified is determined as the client.
5. The method according to claim 1, characterized in that The method further comprises: When the matching result indicates that the terminal identifier does not match the target terminal identifier, obtaining honeypot map data corresponding to the target map data, and sending the honeypot map data to the client; The honeypot map data is different from the target map data, and the honeypot map data is used to respond to the data acquisition request instead of the target map data.
6. The method according to claim 1, characterized in that The method further comprises: When the matching result indicates that the terminal identifier does not match the target terminal identifier, sending a negative response prompt message to the client; The negative response prompt information is used to instruct to uninstall the corresponding client.
7. The method according to claim 1, characterized in that The data acquisition request carries the current map location of the terminal where the client is located, and the acquiring of the target map data includes: Acquire a target map, and determine the target map grid where the map position is located from a plurality of map grids of the target map, and acquire first map data corresponding to the target map grid; Acquire at least one reference map grid associated with the target map grid from a plurality of map grids of the target map, and acquire second map data corresponding to each of the reference map grids; The target map data is determined by combining the first map data and the second map data.
8. The method according to claim 7, characterized in that After obtaining the first map data corresponding to the target map grid, the method further includes: Performing data analysis on the first map data corresponding to the target map grid to obtain data composition information of the first map data, wherein the data composition information is used to indicate whether the first map data includes road data; The combining the first map data and the second map data to determine the target map data includes: When the data composition information indicates that the first map data includes road data, the first map data and the second map data are merged to obtain the target map data.
9. The method according to claim 8, characterized in that The method further comprises: When the first map data includes or does not include the road data, obtaining first honeypot map data corresponding to the first map data and second honeypot map data corresponding to each of the second map data; The first honeypot map data is different from the first map data, and the first honeypot map data is used to replace the first map data to respond to the data acquisition request, and the second honeypot map data is different from the second map data, and the second honeypot map data is used to replace the second map data to respond to the second map data; The first honeypot map data and the second honeypot map data are merged to obtain the target map data.
10. The method according to claim 1, characterized in that The data acquisition request carries the current map location of the terminal where the client is located, and the acquiring of the target map data includes: Acquire a target map, wherein the target map includes a plurality of non-overlapping map grids; Acquire a historical data request record of the client, wherein the historical data request record records a historical data acquisition request of the client for the target quantity of the target map; Compare the target quantity with the maximum quantity that can be recorded in the historical data request record to obtain a comparison result; When the comparison result indicates that the target number is less than the maximum number, determining the target map grid where the map position is located from the map grids of the target map, and acquiring first map data corresponding to the target map grid; and acquiring at least one reference map grid associated with the target map grid from a plurality of map grids of the target map, and acquiring second map data corresponding to each of the reference map grids; The target map data is determined by combining the first map data and the second map data.
11. The method according to claim 10, characterized in that After obtaining the first map data corresponding to the target map grid, the method further includes: Performing data analysis on the first map data corresponding to the target map grid to obtain data composition information of the first map data, wherein the data composition information is used to indicate whether the first map data includes road data; The combining the first map data and the second map data to determine the target map data includes: When the data composition information indicates that the first map data includes road data, The first map data and the second map data are merged to obtain the target map data.
12. A map data processing device, characterized in that: The device comprises: A receiving module, configured to receive a data acquisition request carrying a terminal identifier sent by a client; wherein the data acquisition request is used to request acquisition of target map data, and the terminal identifier is used to indicate a terminal on which the client is currently installed; A response module, configured to obtain a target terminal identifier corresponding to the client in response to the data acquisition request, wherein the target terminal identifier is used to indicate the terminal where the client is located when being activated; A matching module, used for matching the terminal identifier with the target terminal identifier to obtain a matching result; The acquisition module is used to acquire the target map data and send the target map data to the client when the matching result indicates that the terminal identifier matches the target terminal identifier.
13. An electronic device, characterized in that: The electronic device comprises: A memory for storing computer executable instructions or computer programs; The processor is used to implement the map data processing method according to any one of claims 1 to 11 when executing the computer executable instructions or computer programs stored in the memory.
14. A computer-readable storage medium storing computer-executable instructions, characterized in that: When the computer executable instructions are executed by a processor, the map data processing method according to any one of claims 1 to 11 is implemented.
15. A computer program product comprising a computer program or computer executable instructions, characterized in that: When the computer program or computer executable instructions are executed by a processor, the method for processing map data according to any one of claims 1 to 11 is implemented.
