Data update method, device, computer program product and storage medium
By providing data users with a variety of data hot update methods and allowing independent customization of target data hot update methods, the problem of single data update methods in the existing technology is solved, and the flexibility and timeliness of data updates are achieved.
Patent Information
- Application Number
- CN202110007861.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-01-05
- Publication Date
- 2025-07-18
- Estimated Expiration
- 2041-01-05
AI Technical Summary
In the prior art, data update methods are single and have poor flexibility, which cannot meet the personalized needs of different data users.
Provide a variety of data hot update methods, allowing data users to independently customize target data hot update methods, and perform data hot switching processes based on configuration information, so as to realize personalized customization of data update methods by data users.
It improves the flexibility of data updates, can meet the personalized needs of different data users, and improves the timeliness and efficiency of data updates.
Smart Images

Figure CN112732735B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular, to a data update method, device, computer program product, and storage medium. Background Art
[0002] With the development of Internet technology and the popularization of intelligent terminals, more and more application software has been widely installed and used. These application software need to run based on relevant data. For example, travel application software needs to implement functions such as navigation and map rendering based on map data.
[0003] In practical applications, in order to improve the service performance of application software, relevant data will be updated regularly or irregularly. In the prior art, only a single method can be used for data update, with poor flexibility and unable to meet the needs of different data users. Therefore, how to enable data users to customize the update method independently has become a technical problem to be solved urgently. Summary of the Invention
[0004] Multiple aspects of this application provide a map data update method, device, computer program product, and storage medium to realize the personalized customization of the data update method by data users and improve the flexibility of data update.
[0005] An embodiment of this application provides a map data update method for updating the map data stored on a navigation object, including:
[0006] Obtain new map data;
[0007] Obtain the status of the navigation object;
[0008] If the status of the navigation object meets the hot update condition, update the map data locally stored on the navigation object to the new map data.
[0009] An embodiment of this application also provides a data update method, including:
[0010] Obtain the target data hot update method customized by the data user;
[0011] Obtain new data;
[0012] According to the configuration information of the target data hot update method, execute the process related to data hot switching to switch the local data to the new data.
[0013] An embodiment of this application also provides a computer program product, including: a computer-readable storage medium storing computer instructions, when the computer instructions are executed by one or more processors, causing the one or more processors to execute the steps in the above map data update and / or data update method.
[0014] An embodiment of the present application further provides a terminal device, which includes: a memory and a processor; the memory is used for storing a computer program;
[0015] The processor is coupled to the memory and is used for executing the computer program to perform the steps in the above map data update and / or data update method.
[0016] An embodiment of the present application further provides a computer-readable storage medium storing computer instructions, wherein when the computer instructions are executed by one or more processors, the one or more processors are caused to perform the steps in the above map data update and / or data update method.
[0017] In the embodiments of the present application, multiple data hot update methods can be provided for flexible customization by data users. When new data is generated, the target data hot update method customized by the data user can be obtained, and according to the configuration information of the target data hot update method, the relevant data hot switch process is executed, and then the local data is switched to the new data, realizing data hot update according to the data hot update method customized by the data user, thereby realizing the personalized customization of the data update method by the data user, improving the flexibility of data update, and helping to meet the requirements of different data users. Description of the Drawings
[0018] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation to the present application. In the drawings:
[0019] Figure 1a and Figure 1b is a schematic structural diagram of the data processing system provided by the embodiment of the present application;
[0020] Figure 1c is a schematic diagram of the data update process without the authorization of the data user provided by the embodiment of the present application;
[0021] Figures 1d - 1h is a schematic diagram of several map data update processes that require the authorization of the data user provided by the embodiment of the present application;
[0022] Figure 1i is a schematic structural diagram of the map data system provided by the embodiment of the present application;
[0023] Figure 2 is a schematic flowchart of the data update method provided by the embodiment of the present application;
[0024] Figure 3a and Figure 3bSchematic flowchart of another data update method provided by an embodiment of the present application;
[0025] Figure 4 Schematic flowchart of a map data update method provided by an embodiment of the present application;
[0026] Figure 5 Schematic structural diagram of a terminal device provided by an embodiment of the present application. Detailed implementation manners
[0027] To make the objectives, technical solutions and advantages of the present application clearer, the technical solutions of the present application will be clearly and completely described below in conjunction with specific embodiments of the present application and the corresponding drawings. Obviously, the described embodiments are only a part rather than all of the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.
[0028] In practical applications, to improve the service performance of application software, relevant data will be updated regularly or irregularly. In the prior art, only a single method can be used for data update, with poor flexibility and unable to meet the requirements of different data users. Therefore, how to enable data users to customize the update method independently has become a technical problem to be solved urgently.
[0029] To solve the above technical problem, in some embodiments of the present application, multiple data hot update methods can be provided for data users to flexibly customize. When new data is generated, the target data hot update method customized by the data user can be obtained, and according to the configuration information of the target data hot update method, the relevant data hot switching process can be executed, and then the local data can be switched to the new data, realizing data hot update according to the data hot update method customized by the data user, and further realizing the personalized customization of the data update method by the data user, improving the flexibility of data update and helping to meet the requirements of different data users.
[0030] The following will detail the technical solutions provided by each embodiment of the present application in conjunction with the drawings.
[0031] It should be noted that the same reference numerals represent the same object in the following drawings and embodiments. Therefore, once an object is defined in one drawing or embodiment, it does not need to be further discussed in the subsequent drawings and embodiments.
[0032] Figure 1a Schematic structural diagram of a data processing system provided for implementation of the present application. As Figure 1a shown, the system includes: a data provider 11 and a data user 12.
[0033] In this embodiment, the data provider 11 refers to a software functional module that can provide data. In addition to providing data, this functional module can also request data from the data server 13 to update the data.
[0034] The data user 12 refers to a software functional module that calls data for use. This functional module can also implement specific functions based on the called data.
[0035] Among them, for different applications, the data provided by the data provider 11 and the functions implemented by the data user 12 based on the data are different. For example, for a map application, the data provider can provide map data, obtain new map data from the map server, and update the map data, etc. Correspondingly, the data user 12 can implement functions such as positioning, navigation, and route planning based on the map data. Optionally, the data user 12 can be a car machine system or a travel application software integrated in the car machine device.
[0036] Optionally, the data provider 11 and the data user 12 can be different functional modules in a software product or functional modules in different software products. Among them, the software product can be a client, an application program (APP), or a software development kit (SDK), etc.
[0037] In practical applications, as Figure 1b shown, the data provider 11 can request data from the data server 13 and can update the locally stored data to the newly requested data (defined as new data).
[0038] In this embodiment, the data provider 11 supports multiple data hot update methods. Among them, multiple means two or more. Optionally, the multiple data hot update methods can be: a method without the authorization of the data user, synchronous authorization update of the data user (referred to as synchronous mode), asynchronous authorization method of the data user (including: event-based asynchronous and / or periodic asynchronous), a method combining synchronous and periodic asynchronous authorization methods of the data user, and a method combining synchronous and event-based asynchronous authorization methods of the data user, and at least two of these methods.
[0039] The data user 12 can customize the data hot update method according to its own application requirements and provide the customization information for the data hot update method to the data provider 11. The data provider 11 can obtain the customization information for the data hot update method and determine the target data hot update method from multiple supported data hot update methods according to the customization information; then, set the data hot update method of the data to the target data hot update method. Optionally, the data provider 11 can obtain the configuration information corresponding to the target data hot update method; and set the data hot update method of the data to the target data hot update method according to the configuration information corresponding to the target data hot update method. Among them, the configuration information corresponding to the target data hot update method may include: the configuration information of the target data hot update method, etc.
[0040] Among them, the target data hot update methods are different, and their corresponding configuration information is different. For example, for the method that does not require the authorization of the data user, the configuration information may include: the flag bit information indicating whether the data user's authorization is required, whether the data user supports data hot update, etc. For the synchronous authorization of the data user, the configuration information may include: the flag bit information indicating whether the data user's authorization is required, the identifier of the data hot update method, whether the data user supports data hot update, etc.
[0041] For the event-based asynchronous authorization method of the data user, the configuration information may include: the flag bit information indicating whether the data user's authorization is required, the identifier of the data hot update method, the timeout for update authorization (denoted as the first timeout T1), whether the data user supports data hot update, etc. Among them, the timeout for update authorization refers to: the time threshold allowed from the data provider's acquisition of new data until it receives the update authorization notice from the data user; if the data provider does not receive the authorization success notice from the acquisition of new data until reaching the above timeout, it will not perform data update; correspondingly; if the data provider receives the update success notice within the timeout from the acquisition of new data, it will perform data update.
[0042] For the periodic asynchronous authorization method of the data user, the configuration information may include: the flag bit information indicating whether the data user's authorization is required, the identifier of the data hot update method, the timeout for update authorization
[0043] (denoted as the second timeout T2), the threshold number N of the received authorization success notices within the second timeout T2, whether the data user supports data hot update, etc. Among them, if the data provider 11 receives N authorization success notices within the second timeout T2, it will perform data update; if the data provider 11 does not receive N authorization success notices within the second timeout T2, it will not perform data update. Among them, N is a positive integer. Optionally, N≥2.
[0044] For the data hot update method that combines synchronization of the above data users and periodic asynchronous authorization, its configuration information includes the configuration information of the synchronization of the above data users and the configuration information of periodic asynchronous authorization; for the data hot update method that combines synchronization of data users and event-based asynchronous authorization, its configuration information may include the configuration information of the synchronization of the above data users and the configuration information of event-based asynchronous authorization.
[0045] Further, for data user 12, when data provider 11 obtains new data, it can obtain the target data hot update method customized by data user 12; and according to the configuration information of the target data hot update method, execute the process related to data hot switching to switch the locally stored data to the new data.
[0046] In the data processing system provided in this embodiment, the data provider can provide various data hot update methods for data users to flexibly customize. The data provider can determine the selected target data hot update method from the supported data hot update methods in response to the customization information for the data hot update method, and set the data hot update method of the data to the target data hot update method; for the data user, it can authorize the data provider to update the data according to the target data hot update method, realizing the personalized customization of the data hot update method by the data user, improving the flexibility of data update, and helping to meet the requirements of different data users.
[0047] In this embodiment, the specific implementation manner of data user 12 customizing the data hot update method is not limited. Among them, several optional implementation manners are taken as examples below for exemplary illustration.
[0048] Optional implementation manner 1: Data user 12 can customize the data hot update method through a configuration file. Among them, the configuration file includes: the configuration information for the selected data hot update method. The description of the configuration information for the data hot update method can refer to the relevant content of the above embodiment and will not be elaborated here. In optional implementation manner 1, the configuration information of the data hot update method includes: the identifier of the selected data hot update method.
[0049] Furthermore, the data provider 11 may provide the data user 12 with a configuration file for the data hot update method (hereinafter referred to as the hot update configuration file). The configuration file includes: the identifier of the selected data hot update method. The data provider 11 may receive the hot update configuration file provided by the data user as customization information. Further, the data provider 11 may obtain the configuration information for the data hot update method from the hot update configuration file; and determine the target update method according to the configuration information of the hot update method. Optionally, the configuration information of the hot update configuration file includes the identifier of the customized data hot update method. Accordingly, the data provider 11 may determine, from multiple data hot update methods, the data hot update method corresponding to the identifier of the data hot update method customized by the data user 12 as the target data hot update method.
[0050] Furthermore, the data provider 11 may also parse the target data hot update method from the configuration file; and set the data hot update method of the data to the target data hot update method according to the configuration information corresponding to the target data hot update method.
[0051] Alternative Embodiment 2: The data provider 11 may provide application programming interfaces (APIs) for multiple data hot update methods. The data user 12 may customize the data hot update method through the APIs. For the data provider 11, in response to the call operation of the data user for the application programming interfaces for multiple data hot update methods, the data hot update method corresponding to the called application programming interface may be used as the target data hot update method.
[0052] Furthermore, the data provider 11 may also obtain the configuration information corresponding to the called application programming interface as the configuration information corresponding to the target data hot update method; and set the data hot update method to the target data hot update method according to the configuration information corresponding to the target data hot update method.
[0053] Alternative Embodiment 3: The data provider 11 may provide a human-computer interaction interface to the data user 12, and the interface may display the identifiers of multiple data hot update methods. For the developers of the data user 12, they may customize the data hot update method through the human-computer interaction interface.
[0054] For the data provider 11, the identifiers of multiple data hot update methods may be displayed. The developers of the data user 12 may customize the data hot update method by touching and selecting the identifier of the data hot update method. Accordingly, for the data provider 12, in response to the touch operation on the identifier of the data hot update method, the data hot update method selected by the touch operation may be used as the target data hot update method.
[0055] For the data provider 11, the corresponding relationship between the identifier of the data hot update method and the configuration information can also be preset. In this way, the data provider 11 can obtain the configuration information corresponding to the target data hot update method according to the identifier of the target data hot update method and the preset corresponding relationship between the identifier of the data hot update method and the configuration information. That is, the data provider 11 can match the identifier of the target data hot update method in the preset corresponding relationship between the identifier of the data hot update method and the configuration information to obtain the configuration information corresponding to the target data hot update method.
[0056] Furthermore, the data provider 11 can set the data hot update method of the data to the target data hot update method according to the configuration information corresponding to the target data hot update method.
[0057] The process of the data user 12 customizing the data hot update method provided in the above embodiments can be completed before the terminal where the data user 12 is located leaves the factory, or can be remotely customized by the developer of the data user 12 after leaving the factory. For example, the developer can remotely customize the data hot update method of the data user 12 through OTA technology.
[0058] For the terminal with the customized data hot update method, during actual use, the data can be updated according to the customized target data hot update method. The data update process during actual use will be exemplarily described below.
[0059] During actual use, the data provider 11 can obtain the target hot update method. According to the configuration information of the target data hot update method, it is judged whether the target data hot update method requires the authorization of the data user; if the authorization of the data user is required, then interact with the data user according to the authorization method included in the configuration information to obtain the data hot switch authorization; and execute the process related to the data hot switch in the case of obtaining the data hot switch authorization; if the authorization of the data user is not required, then as Figure 1c shown, the process related to the data hot switch can be directly executed.
[0060] Optionally, the data provider 11 can obtain the flag bit information indicating whether the authorization of the data user is required from the target data hot update method; if the flag bit information indicates that the authorization of the data user is required, then it is determined to interact with the data user according to the authorization method included in the configuration information to obtain the data hot switch authorization. Correspondingly, if the flag bit information indicates that the authorization of the data user is not required, then the process related to the data hot switch is directly executed.
[0061] Optionally, before the data provider 11 determines whether the authorization of the data user is required for the target data hot update method, it can also determine whether the data user 12 supports hot update according to the configuration information of the target data hot update method. If the judgment result is yes, the operation of determining whether the authorization of the data user is required for the target data hot update method is performed; if the judgment result is no, data hot switching is not performed.
[0062] Among them, for the target data hot update method that requires the authorization of the data user, the configuration information includes different authorization methods, and the interaction methods between the data provider and the data user are different. The following is an exemplary description in combination with specific authorization methods.
[0063] The following is an exemplary description of the above interaction process in combination with several methods that require the authorization of the map data user for update.
[0064] Authorization method 1: For the synchronous method, as Figure 1d shown, in authorization method 1, the data provider 11 can obtain the configuration information of the target data hot update method; the configuration information contains a flag indicating whether the data user supports hot update. Determine whether the flag is in the enabled state; if the judgment result is yes, it is determined that the data user 12 supports hot update, and a hot switch authorization request is sent to the data user 12 through the synchronous API. Correspondingly, if the data user 12 determines that the data provider 11 can perform data hot switching, an authorization success notification can be provided to the data provider 11 through the synchronous API; if the data user 12 determines that the data provider 11 cannot perform data hot switching, an authorization failure notification can be provided to the data provider 11 through the synchronous API or no authorization success notification is provided.
[0065] Correspondingly, the data provider 11 can obtain the authorization result notification returned by the data provider 12 through the synchronous API. If the authorization result notification is an authorization success, it is determined that the data hot switch authorization is obtained. Correspondingly, if the authorization result notification is an authorization failure notification or no authorization result notification is received, it is determined that the data hot switch authorization is not obtained, and the relevant process of data hot switching is abandoned.
[0066] Authorization method 2: For the event-based asynchronous authorization method, as Figure 1eAs shown in the figure, in authorization mode 2, the data provider 11 can also determine whether the data user 12 supports hot update. For the description of this process, please refer to the relevant content in the above authorization mode 1, which will not be elaborated here. Further, when the data user 12 supports hot update, the data provider 11 can send a hot switch authorization request to the data user 12 through the asynchronous API. Correspondingly, the data user 12 receives this hot switch authorization request. If the data user 12 determines that the data provider 11 can perform data hot switch, it can provide an authorization success notification to the data provider 11 through the synchronous API; if the data user 12 determines that the data provider 11 cannot perform data hot switch, it can provide an authorization failure notification to the data provider 11 through the synchronous API or not provide an authorization success notification.
[0067] Correspondingly, for the data provider 11, it can start timing when obtaining new data. If it receives an authorization result notification returned by the data user within the above-mentioned preset first duration T1 (i.e., the above-mentioned first timeout duration T1), and the authorization result notification is an authorization success, it obtains the data hot switch authorization.
[0068] If no authorization result notification sent by the data provider 11 is received or the received authorization result notification is an authorization failure from the start of timing when obtaining new data until the timing duration exceeds or reaches the above-mentioned first duration T1, the current data hot switch is cancelled, that is, the operation of switching the local data to the new data is not performed.
[0069] Authorization mode 3: Periodic asynchronous mode. As Figure 1f shown in the figure, in authorization mode 3, the data provider 11 can also determine whether the data user 12 supports hot update. For the description of this process, please refer to the relevant content in the above authorization mode 1, which will not be elaborated here. Further, when the data user 12 supports hot update, the data provider 11 can send a hot switch authorization request to the data user 12 through the asynchronous API.
[0070] If the data user 12 determines that the data provider 11 can perform data hot switch, it can periodically provide an authorization success notification to the data provider 11 through the synchronous API; if the data user 12 determines that the data provider 11 cannot perform data hot switch, it can periodically provide an authorization failure notification to the data provider 11 through the synchronous API or not provide an authorization success notification.
[0071] For the data provider 11, the timing can start when new data is obtained, and the number of authorization result notifications received within the timing duration is counted; if N authorization result notifications are received within the preset second duration (i.e., the second timeout time) T2, and all N authorization result notifications are successful authorizations, then data hot - switch authorization is obtained. Here, N is the threshold (lower limit) of the number of updated authorization notifications received within the second timeout time T2. If there is an authorization failure in the N authorization result notifications, or N authorization result notifications are not received, then this data hot - switch is cancelled, that is, the operation of switching the local data to new data is not performed.
[0072] Authorization method 4: a combination of synchronous and periodic asynchronous authorization. As Figure 1g shown, in authorization method 4, the data provider 11 can also determine whether the data user 12 supports hot update. For the description of this process, reference can be made to the relevant content in the above - mentioned authorization method 1 and will not be elaborated here. Further, when the data user 12 supports hot update, the interaction method between the data provider 11 and the data user 12 can refer to the above - mentioned authorization method 1 and authorization method 3. In this embodiment, the synchronous authorization and periodic asynchronous authorization of the data user can be executed in parallel or sequentially. When they are executed sequentially, the execution order of the synchronous authorization and periodic asynchronous authorization of the data user is not limited. Figure 1g Only the case of first executing the synchronous authorization method and then the periodic asynchronous authorization method is illustrated, but it does not constitute a limitation.
[0073] Optionally, in authorization method 4, as long as there is an authorization method that meets the authorization conditions for the synchronous authorization and periodic asynchronous authorization of the data user, the data provider 11 can obtain data hot - switch authorization; or, when both the synchronous authorization and periodic asynchronous authorization of the data user are satisfied, the data provider 11 obtains data hot - switch authorization; and so on. Among them, for the case where as long as there is an authorization method that meets the authorization conditions for the synchronous authorization and periodic asynchronous authorization of the data user, the data provider 11 obtains hot - switch authorization, if the synchronous authorization method is executed first and then the periodic asynchronous authorization method, the data provider 11 can send a hot - switch authorization request to the data user 12 through the asynchronous API after receiving the authorization success notification obtained through the synchronous authorization method. Correspondingly, if the authorization success notification obtained through the synchronous authorization method is not received, this data hot - switch is cancelled.
[0074] Similarly, for the case where the periodic asynchronous authorization method is executed first and then the synchronous authorization is executed, when the data provider 11 receives N authorization result notifications within the above-mentioned second time period T2 and all N authorization result notifications are successful authorizations, the data provider 11 sends a hot-switch authorization request to the data user 12 through the synchronous API. Correspondingly, if N authorization result notifications are not received within the above-mentioned second time period T2 or there is a case of authorization failure in the N authorization result notifications, this data hot-switch is cancelled.
[0075] Authorization method 5: Synchronous authorization of the data user and event-based asynchronous authorization. As Figure 1h shown, in authorization method 5, the data provider 11 can also determine whether the data user 12 supports hot update. For the description of this process, reference can be made to the relevant content in the above-mentioned authorization method 1 and will not be elaborated here. Further, when the data user 12 supports hot update, the interaction method between the data provider 11 and the data user 12 can be referred to the above-mentioned authorization method 1 and authorization method 2. In this embodiment, the synchronous authorization of the data user and the event-based asynchronous authorization can be executed in parallel or sequentially. When they are executed sequentially, the execution order of the synchronous authorization of the data user and the periodic asynchronous authorization is not limited. Figure 1g Only the case where the synchronous authorization method is executed first and then the event-based asynchronous authorization method is executed is illustrated, but it does not constitute a limitation.
[0076] Optionally, in authorization method 5, as long as there is an authorization method that meets the authorization conditions for the synchronous authorization of the data user and the event-based asynchronous authorization, the data provider 11 can obtain the data hot-switch authorization; it can also be the case that when both the synchronous authorization of the data user and the periodic asynchronous authorization are satisfied, the data provider 11 obtains the data hot-switch authorization; and so on. Among them, for the authorization method where as long as there is an authorization method that meets the authorization conditions for the synchronous authorization of the data user and the event-based asynchronous authorization, the data provider 11 obtains the data hot-switch authorization. If the synchronous authorization method is executed first and then the event-based asynchronous authorization method, the data provider 11 can send a hot-switch authorization request to the data user 12 through the asynchronous API after receiving the successful authorization notification obtained through the synchronous authorization method. Correspondingly, if the updated authorization notification obtained through the synchronous authorization method is not received, this data update is cancelled.
[0077] Similarly, for the case where the event-based asynchronous authorization method is executed first and then the synchronous authorization is executed, when the data provider 11 receives a successful authorization notification within the above-mentioned first time period T1, the data provider 11 sends a hot-switch authorization request to the data user 12 through the synchronous API. Correspondingly, if a successful authorization notification is not received within the above-mentioned first time period T1 or an authorization failure notification is received, this data update is cancelled.
[0078] It should be noted that the data update method provided in the embodiments of the present application is suitable for data updates of any application, such as map data, online shopping data, video data, etc. Among them, since the content reflected by the data is different, the method for the data user 12 to determine whether to allow the data provider 11 to perform data hot switching is different. Hereinafter, taking map data as an example, an exemplary description will be given.
[0079] Figure 1i It is a schematic structural diagram of a map data processing system provided in the embodiments of the present application. As Figure 1a shown, the map data processing system includes: a map data provider 11 and a map data user 12.
[0080] In this embodiment, the map data provider 11 refers to a software function module that can provide map data. In addition to providing map data, this function module can also request map data from the map application server to update the map data.
[0081] The map data user 12 refers to a software function module that calls map data for use, and this function module can also implement specific functions based on the map data. For example, the positioning function module can call map data for positioning, and the navigation function module can call map data for navigation, etc.
[0082] Optionally, the map data user 12 can be a car machine system or a travel application software integrated in a car machine device.
[0083] In this embodiment, the map data provider 11 and the map data user 12 can be integrated in the car machine device, and the car machine device is mounted on the object to be navigated and moves as the object to be navigated moves. Among them, the car machine device can be a navigation terminal, etc. The object to be navigated can be any movable object. For example, the object to be navigated can be a motor vehicle, such as a car, a taxi, a truck, a motorcycle, an electric vehicle, etc., or an autonomous mobile device, such as a robot, a driverless vehicle, etc.
[0084] In actual use, the above-mentioned map data provider 11 and map data user 12 can be loaded on the car machine device, and the car machine device can be mounted on the object to be navigated, and the above-mentioned map data provider 11 and map data user 12 are used to provide services such as positioning and navigation for the object to be navigated.
[0085] In this embodiment, the map data provider 11 can obtain new map data. Hereinafter, several implementation manners for the map data provider 11 to obtain new map data will be exemplarily described.
[0086] Embodiment A: When the object to be navigated enters a new geographical area, the map data provider 11 can obtain the new map data of this geographical area. Optionally, the map data user 12 can perform real-time positioning on the object to be navigated based on the map data, obtain the real-time positioning information of the object to be navigated, and provide the real-time positioning information of the object to be navigated to the map data provider 11. The map data provider 11 can determine whether the object to be navigated enters a new geographical area according to the real-time positioning information of the object to be navigated; and when the object to be navigated enters a new geographical area, request the map data corresponding to the new geographical area from the map application server. The map application server queries whether the map data of the new geographical area has been updated. If the new map data has been updated, it will send the new map data corresponding to the new geographical area to the map data provider 11. The map data provider 11 receives the new map data corresponding to the new geographical area provided by the map application server as the above-mentioned new map data.
[0087] Embodiment B: When the in-vehicle device is started each time, the map data provider 11 can request new map data from the map application server. The map application server queries whether the map data has been updated. If the map data has been updated, it will send the new map data to the map data provider 11. The map data provider 11 receives the new map data corresponding to the new geographical area provided by the map application server as the above-mentioned new map data.
[0088] Among them, in some embodiments, the in-vehicle device can be automatically started during the startup process of the object to be navigated. For example, for autonomous mobile devices such as robots and driverless vehicles, the in-vehicle device can be automatically started during the startup process of the autonomous mobile device. For another example, for some motor vehicles, the in-vehicle device can also be automatically started when the motor vehicle starts. In other embodiments, the in-vehicle device can be started independently by the user. For example, for some motor vehicles, the user of the motor vehicle can start the in-vehicle device independently. In this case, when the in-vehicle device is started, the object to be navigated may be in the process of traveling or may be in a stopped state.
[0089] Embodiment C: When the map data is updated each time, the map application server can push the new map data to the in-vehicle device. For the map data provider 11, it can obtain the new map data pushed by the map application server. In this Embodiment C, when the map application server pushes the new map data, the object to be navigated may be in the process of traveling or may be in a stopped state.
[0090] For the map data provider 11, when the object being navigated is in a stopped state, new map data is obtained. The map data user 12 can directly authorize the map data provider 11 to update the map data according to the target data hot update method. The map data update method when the object being navigated is in a stopped state is the cold update method, which has relatively high security.
[0091] In the actual application process, the map data provider 11 can obtain new map data while the object being navigated is moving based on the map data. For the situation where the map data provider 11 obtains new map data while the object being navigated is moving based on the map data, due to security considerations, the map data update often waits until the object being navigated stops moving. This map data update method has low update timeliness and efficiency, and may cause the object being navigated to take the wrong route when moving based on the map data. For example, in a long-distance driving scenario, if the version of the map data provided by the map data provider 11 is too old, but the actual road has changed, this will cause the user to take the wrong route. Another example is that in some scenarios, the administrative region has changed, but the map data provided by the map data provider 11 is still the old version of the map data, and so on.
[0092] To reduce the probability that the user's use of map data is poor due to untimely map data update, the embodiment of the present application provides a map data hot update method, that is, if the map data provider 11 obtains new map data while the object being navigated is moving based on the map data, the map data is updated while the object being navigated is moving. The specific implementation is as follows:
[0093] The map data provider 11 obtains new map data; the map data user 12 obtains the state of the object being navigated; and when the state of the object being navigated meets the hot update condition, authorizes the map data provider 11 to update the locally stored map data to the new map data.
[0094] In some embodiments, the map data provider 11 obtains new map data while the object being navigated is moving based on the map data. The map data user 12 authorizes the map data provider 11 to update the map data according to the target data hot update method customized by the map data user 12 while the object being navigated is still in a moving state. When the map data provider 11 obtains the map data update authorization, it switches the locally stored map data to the new map data, and completes the map data update during the movement of the object being navigated, that is, realizes the hot update of the map data, and improves the timeliness and efficiency of the map data update. In this way, the map data user 12 can complete related operations based on the new map data, such as positioning, navigation, etc., which helps to reduce the probability that the object being navigated takes the wrong route due to untimely map data update, and further helps to improve the user experience.
[0095] In this embodiment, the map data provider 11 can obtain the configuration information of the target data hot update method and obtain new map data in parallel, or can obtain the configuration information of the target data hot update method and obtain new map data serially. When the map data provider 11 obtains the configuration information of the target data hot update method and obtains new map data serially, the order of obtaining the configuration information of the target data hot update method and obtaining new map data is not limited.
[0096] In some other embodiments, if the above-mentioned customized target update authorization method requires authorization from the map data user, the map data provider 11 can use the application program interface corresponding to the target update authorization method to send a hot switch authorization request to the map data user 12. Optionally, the map data provider 11 can obtain the configuration information of the target update authorization method; this configuration information includes a flag indicating whether the map data user supports hot update. Determine whether this flag is in an enabled state; if the determination result is yes, it is determined that the map data user 12 supports hot update, and use the application program interface (API) corresponding to the target update authorization method to send a hot switch authorization request to the map data user 12.
[0097] Correspondingly, as Figures 1d - 1h , the map data user 12 receives this hot switch authorization request and obtains the status of the object to be navigated; and when the status of the object to be navigated meets the hot update condition, sends a notification of successful authorization to the map data provider 11 to authorize the map data provider 11 to update the map data.
[0098] Optionally, the map data user 12 can obtain the real-time positioning information of the object to be navigated; and determine whether the real-time positioning information of the object to be navigated is within the area where map data update is allowed; if the determination result is yes, it is determined that the status of the object to be navigated is an updatable status; correspondingly, if the determination result is no, it is determined that the status of the object to be navigated is a non-updatable status. Further, the map data provider 11 can determine that the object to be navigated meets the hot update condition when the status of the object to be navigated is an updatable status.
[0099] Among them, the application scenarios are different, and the areas where map data update is allowed are different. In some embodiments, the object to be navigated is an autonomous vehicle, and the area where map data update is allowed can be an area that does not support autonomous driving. In some other embodiments, the object to be navigated is a motor vehicle, and the area where map data update is allowed can be a non-highway driving area, or a non-turning area, etc.
[0100] Alternatively, the map data user 12 can also obtain the traveling speed of the object to be navigated. Optionally, the object to be navigated can be equipped with a speed sensor, which can collect the traveling speed of the object to be navigated. The map data user 12 can obtain the traveling speed of the object to be navigated collected by the speed sensor.
[0101] Further, if the traveling speed of the object to be navigated is less than or equal to the set speed threshold, it is determined that the state of the object to be navigated is an updatable state; correspondingly, if the judgment result is no, it is determined that the state of the object to be navigated is a non-updatable state. Further, the map data provider 11 can determine that the object to be navigated meets the hot update condition when the state of the object to be navigated is an updatable state. Among them, the speed threshold can be flexibly set according to the actual scenario.
[0102] It should be noted that the above two methods for judging whether the state of the object to be navigated meets the hot update condition can be implemented separately or in combination. When the two are implemented in combination, the object to be navigated is within the area where map data update is allowed, and the traveling speed is less than or equal to the set speed threshold, which is the state that meets the hot update condition.
[0103] Further, when the state of the object to be navigated meets the hot update condition, the map data user 12 sends a successful authorization notice to the map data provider to authorize the map data provider 11 to update the map data. Correspondingly, when the map data provider 11 receives the successful authorization notice, it updates the locally stored map data to the new map data.
[0104] Among them, the above customized target data hot update methods are different, and the interaction process between the map data provider 11 and the map data user 12 is different when authorizing map data update. For the interaction process between the map data provider 11 and the map data user 12, reference can be made to the relevant content in the above authorization methods 1-5, which will not be elaborated here.
[0105] In addition to the above data processing system, the present application also provides a data update method. An exemplary description is given below.
[0106] Figure 2 It is a schematic flowchart of the data update method provided by the embodiment of the present application. As Figure 2 shown, the method includes:
[0107] 201. Obtain the target data hot update method customized by the data user.
[0108] 202. Obtain new data.
[0109] 203. According to the configuration information of the target data hot update method, execute the process related to data hot switching to switch the local data to the new data.
[0110] In this embodiment, multiple data hot update methods can be provided. The multiple data hot update methods can be: a method without authorization from the data user, synchronous authorization update by the data user (abbreviated as synchronous type), asynchronous authorization method by the data user (including: event-based asynchronous and / or periodic asynchronous), a method combining synchronous and periodic asynchronous authorization by the data user, and a method combining synchronous and event-based asynchronous authorization by the data user, at least two of which are used.
[0111] The data user can customize the data hot update method according to its own application requirements and provide the customization information for the data hot update method to the data provider. Optionally, the customization information for the data hot update method can be obtained, and according to the customization information, the target data hot update method can be determined from the multiple supported data hot update methods; then, the data hot update method of the data is set to the target data hot update method. Optionally, the configuration information corresponding to the target data hot update method can be obtained; and according to the configuration information corresponding to the target data hot update method, the data hot update method of the data is set to the target data hot update method. Among them, the configuration information corresponding to the target data hot update method can include: the configuration information of the target data hot update method, etc.
[0112] Among them, for different target data hot update methods, their corresponding configuration information is different. For the description of the configuration information, reference can be made to the relevant content of the above embodiment, which will not be elaborated here.
[0113] Furthermore, in step 201, the target data hot update method customized by the data user can be obtained; in step 202, new data can be obtained, and in step 203, according to the configuration information of the target data hot update method, the process related to data hot switching is executed to switch the locally stored data to the new data. In the embodiment of the present application, step 201 and step 202 can be executed in parallel or serially. When step 201 and 202 are executed serially, the execution order of the two is not limited. Optionally, the target data hot update method customized by the data user can be obtained after obtaining the new data.
[0114] This embodiment can provide multiple data hot update methods for the data user to flexibly customize. In this way, when new data is obtained, the process related to data hot switching can be executed according to the configuration information of the target data hot update method to switch the locally stored data to the new data, realizing the personalized customization of the data hot update method, improving the flexibility of data update, and helping to meet the requirements of different data users.
[0115] In this embodiment, the specific implementation manner of the customized data hot update method is not limited. Among them, several optional implementation manners are taken as examples below for exemplary illustration.
[0116] Optional implementation manner 1: The customized data hot update method can be configured through a configuration file. Among them, the configuration file includes: configuration information for the selected data hot update method. The description of the configuration information about the data hot update method can refer to the relevant content of the above embodiment and will not be elaborated here. In optional implementation manner 1, the configuration information of the data hot update method includes: the identifier of the customized data hot update method.
[0117] Furthermore, a hot update configuration file provided by the data user can be obtained, and the configuration information for the data hot update method can be obtained from the hot update configuration file; according to the configuration information of the hot update method, the target update method can be determined. Optionally, the configuration information of the hot update configuration file includes the identifier of the customized data hot update method. Correspondingly, among multiple data hot update methods, the data hot update method corresponding to the identifier of the data hot update method customized by the data user can be determined as the target data hot update method.
[0118] Furthermore, the target data hot update method can also be parsed from the configuration file; and according to the configuration information corresponding to the target data hot update method, the data hot update method of the data can be set to the target data hot update method.
[0119] Optional implementation manner 2: Application programming interfaces (APIs) for multiple data hot update methods can be provided. The data hot update method can be customized through the APIs. For the call operation of the data user for the application programming interfaces of multiple data hot update methods, the data hot update method corresponding to the called application programming interface is used as the target data hot update method.
[0120] Furthermore, the configuration information corresponding to the called application programming interface can also be obtained as the configuration information corresponding to the target data hot update method; and according to the configuration information corresponding to the target data hot update method, the data hot update method is set to the target data hot update method.
[0121] Optional implementation manner 3: A human-machine interaction interface can be provided to the data user, and this interface can display the identifiers of multiple data hot update methods. For the developers of the data user, the data hot update method can be customized through this human-machine interaction interface.
[0122] For the data provider, the identifiers of multiple data hot update methods can be displayed. The developers of the data user can touch and select the identifier of the data hot update method to customize the data hot update method. Correspondingly, in response to the touch operation on the identifier of the data hot update method, the data hot update method selected by the touch operation is used as the target data hot update method.
[0123] Optionally, a correspondence between the identifier of the data hot update method and the configuration information can also be preset. In this way, according to the identifier of the target data hot update method and the preset correspondence between the identifier of the data hot update method and the configuration information, the configuration information corresponding to the target data hot update method can be obtained. Further, according to the configuration information corresponding to the target data hot update method, the data hot update method of the data can be set to the target data hot update method.
[0124] For a terminal for which the customized data hot update method has been completed, during actual use, data can be updated according to the customized target data hot update method. The data update process during actual use will be described below by way of example. As Figure 3a shown, the data update process may include:
[0125] 301. Obtain the configuration information of the target hot update method.
[0126] 302. According to the configuration information of the target data hot update method, determine whether the target data hot update method requires authorization from the data user. If the determination result is yes, then step 303 is executed; if the determination result is no, then step 304 is executed.
[0127] 303. Interact with the data user according to the authorization method included in the configuration information to obtain data hot switch authorization; and when the data hot switch authorization is obtained, step 304 is executed.
[0128] 304. Execute the process related to data hot switch.
[0129] Optionally, as Figure 3b shown, before step 302, step 305 can also be executed: According to the configuration information of the target data hot update method, determine whether the data user supports hot update. If the determination result is yes, then the above step 302 is executed; if the determination result is no, then step 306 is executed: Abandon this data hot switch.
[0130] Among them, for the target data hot update method that requires authorization from the data user, different authorization methods included in the configuration information result in different interaction methods between the data provider and the data user. The following will be described by way of example in combination with specific authorization methods.
[0131] The following will describe the above interaction process by way of example in combination with several methods that require authorization for map data user updates.
[0132] Authorization method 1: For the synchronous method, as Figure 1dAs shown, in authorization method 1, the configuration information of the target data hot update method can be obtained; this configuration information includes a flag indicating whether the data user supports hot update. Determine whether this flag is in the enabled state; if the determination result is yes, it is determined that the data user supports hot update, and a hot switch authorization request is sent to the data user through the synchronization API. Correspondingly, if the data user determines that the data provider can perform data hot switching, an authorization success notification can be provided to the data provider through the synchronization API; if the data user determines that the data provider cannot perform data hot switching, an authorization failure notification can be provided to the data provider through the synchronization API or no authorization success notification is provided.
[0133] Correspondingly, for the data provider, the authorization result notification returned by the data provider through the synchronization API can be obtained. If the authorization result notification is authorization success, it is determined that the data hot switch authorization is obtained. Correspondingly, if the authorization result notification is an authorization failure notification or no authorization result notification is received, it is determined that the data hot switch authorization is not obtained, and the relevant process of performing data hot switching is abandoned.
[0134] Authorization method 2: For the event-based asynchronous authorization method, as Figure 1e As shown, in authorization method 2, the data provider can send a hot switch authorization request to the data user through the asynchronous API. Correspondingly, the data user receives this hot switch authorization request. If the data user determines that the data provider can perform data hot switching, an authorization success notification can be provided to the data provider through the synchronization API; if the data user determines that the data provider cannot perform data hot switching, an authorization failure notification can be provided to the data provider through the synchronization API or no authorization success notification is provided.
[0135] Correspondingly, for the data provider, timing can start when new data is obtained. If an authorization result notification returned by the data user is received within the above-mentioned preset first duration T1 (i.e., the above-mentioned first timeout duration T1), and the authorization result notification is authorization success, the data hot switch authorization is obtained.
[0136] If, starting from when new data is obtained, the timing duration exceeds or reaches the above-mentioned first duration T1 and no authorization result notification sent by the data provider is received or the received authorization result notification is authorization failure, this data hot switch is cancelled, that is, the operation of switching the local data to new data is not performed.
[0137] Authorization method 3: Periodic asynchronous method. As Figure 1f As shown, in authorization method 3, the data provider can send a hot switch authorization request to the data user through the asynchronous API.
[0138] If the data user determines that the data provider can perform data hot switching, it can periodically provide a successful authorization notice to the data provider through the synchronization API; if the data user determines that the data provider cannot perform data hot switching, it can periodically provide a failed authorization notice to the data provider through the synchronization API or not provide a successful authorization notice.
[0139] For the data provider, it can start timing when obtaining new data and count the number of received authorization result notifications within the timing duration; if N authorization result notifications are received within the preset second duration (i.e., the above-mentioned second timeout time) T2, and all N authorization result notifications are successful authorizations, then obtain data hot switching authorization. Wherein, N is the threshold value (lower limit) of the number of received updated authorization notifications within the second timeout time T2. If there is a failed authorization among the N authorization result notifications, or N authorization result notifications are not received, then cancel the current data hot switching, that is, do not perform the operation of switching the local data to the new data.
[0140] Authorization method 4: a combination of synchronous and periodic asynchronous authorization. As Figure 1g shown, for the interaction method between the data provider and the data user, reference can be made to the relevant content of the above-mentioned authorization method 1 and authorization method 3 and the system embodiments, which will not be elaborated here.
[0141] Authorization method 5: data user synchronous and event-based asynchronous authorization. As Figure 1h shown, for the interaction method between the data provider and the data user, reference can be made to the relevant content of the above-mentioned authorization method 1 and authorization method 2 and the system embodiments, which will not be elaborated here.
[0142] It should be noted that the data update method provided in the embodiments of the present application is suitable for data updates of any application. Such as map data, online shopping data, video data, etc. Among them, since the content reflected by the data is different, the judgment method for whether the data user allows the data provider to perform data hot switching is different. Here, taking map data as an example, an exemplary description is given.
[0143] Optionally, the state of the object to be navigated can be obtained; and when the state of the object to be navigated meets the hot update condition, a successful authorization notice is sent to the map data provider to authorize the map data provider to update the map data.
[0144] Optionally, the real-time positioning information of the object to be navigated can be obtained; and it is judged whether the real-time positioning information of the object to be navigated is within the area where map data update is allowed; if the judgment result is yes, it is determined that the state of the object to be navigated is in an updatable state; correspondingly, if the judgment result is no, it is determined that the state of the object to be navigated is in a non-updatable state. Further, when the state of the object to be navigated is in an updatable state, it is determined that the object to be navigated meets the hot update condition.
[0145] Among them, the areas where map data updates are allowed vary depending on the application scenarios. For the areas where map data updates are allowed, refer to the relevant content of the above system embodiments, which will not be elaborated here.
[0146] Alternatively, the traveling speed of the object being navigated can be obtained. Further, if the traveling speed of the object being navigated is less than or equal to a set speed threshold, it is determined that the state of the object being navigated is an updatable state; correspondingly, if the judgment result is negative, it is determined that the state of the object being navigated is a non-updatable state. Further, when the state of the object being navigated is an updatable state, it can be determined that the object being navigated meets the hot update condition. Among them, the speed threshold can be flexibly set according to the actual scenario.
[0147] It should be noted that the above two methods for determining whether the state of the object being navigated meets the hot update condition can be implemented independently or in combination. When the two are implemented in combination, the object being navigated is within the area where map data updates are allowed, and the traveling speed is less than or equal to the set speed threshold, which is the state of meeting the hot update condition.
[0148] Further, when the state of the object being navigated meets the hot update condition, a successful authorization notice is sent to the map data provider to authorize the map data provider to update the map data. Correspondingly, when receiving the successful authorization notice, the locally stored map data is updated to the new map data.
[0149] Among them, since the above customized target data hot update methods are different, the interaction process between the map data provider and the map data user is different during map data update authorization. For the interaction process between the map data provider and the map data user, refer to the relevant content in the above authorization methods 1-5, which will not be elaborated here.
[0150] The embodiment of the present application also provides a map data update method, which is used to update the map data stored on the object being navigated. As Figure 4 shown, this method includes:
[0151] 401. Obtain new map data.
[0152] 402. Obtain the state of the object being navigated.
[0153] 403. If the state of the object being navigated meets the hot update condition, update the locally stored map data to the new map data.
[0154] The map data update method provided in this embodiment is applicable to in-vehicle devices. This in-vehicle device can be mounted on the object being navigated. For the description of the implementation form of the object being navigated, refer to the relevant content of the above system embodiments, which will not be elaborated here.
[0155] In this embodiment, when new map data is generated, the status of the navigation object can be obtained, and when the status of the navigation object meets the hot update condition, the locally stored map data can be updated to the new map data. Among them, when the status of the navigation object meets the hot update condition, performing the hot update of the map data can achieve the hot update of the map data without affecting the use of the map data by the navigation object or the travel application software on the navigation object, which helps to improve the timeliness of map data update.
[0156] Optionally, obtain the real-time positioning information of the navigation object; and determine whether the real-time positioning information of the navigation object is within the area where map data update is allowed; if the judgment result is yes, determine that the status of the navigation object is an updatable status; correspondingly, if the judgment result is no, determine that the status of the navigation object is a non-updatable status. Further, when the status of the navigation object is an updatable status, it can be determined that the navigation object meets the hot update condition.
[0157] Among them, the application scenarios are different, and the areas where map data update is allowed are different. For the areas where map data update is allowed, refer to the relevant content of the above system embodiment, which will not be elaborated here.
[0158] Or, the traveling speed of the navigation object can be obtained. Further, if the traveling speed of the navigation object is less than or equal to the set speed threshold, determine that the status of the navigation object is an updatable status; correspondingly, if the judgment result is no, determine that the status of the navigation object is a non-updatable status. Further, when the status of the navigation object is an updatable status, it can be determined that the navigation object meets the hot update condition. Among them, the speed threshold can be flexibly set according to the actual scenario.
[0159] It should be noted that the above two methods for judging whether the status of the navigation object meets the hot update condition can be implemented separately or in combination. When the two are implemented in combination, the navigation object is within the area where map data update is allowed, and the traveling speed is less than or equal to the set speed threshold, which is the status that meets the hot update condition.
[0160] Optionally, the customized target data hot update method of the map data user can also be obtained. Further, when the status of the navigation object meets the hot update condition, according to the configuration information of the target data hot update method, perform the relevant process of data hot switching to switch the locally stored map data to the new map data. For the specific implementation method of performing the relevant process of data hot switching according to the configuration information of the target data hot update method, refer to the relevant content of the above embodiment, which will not be elaborated here.
[0161] Optionally, customized information for the map data hot update method can also be obtained; and based on the customized information, the target data hot update method is determined from the supported data hot update methods. For the specific implementation manner, reference can be made to the relevant content of the above embodiments, which will not be elaborated here.
[0162] It should be noted that the execution subject of each step of the method provided in the above embodiments can be the same device, or the method can also be executed by different devices as the execution subject. For example, the execution subjects of steps 301 and 302 can be device A; for another example, the execution subject of step 301 can be device A, and the execution subject of step 302 can be device B; and so on.
[0163] In addition, in some of the processes described in the above embodiments and the accompanying drawings, there are multiple operations that appear in a specific order. However, it should be clearly understood that these operations can be executed not in the order in which they appear in this article or in parallel. The operation numbers such as 301 and 302 are only used to distinguish different operations, and the numbers themselves do not represent any execution order. In addition, these processes can include more or fewer operations, and these operations can be executed in sequence or in parallel.
[0164] Correspondingly, an embodiment of the present application also provides a computer-readable storage medium storing computer instructions, which when executed by one or more processors, cause the one or more processors to execute the steps in the above map data update and / or data update method.
[0165] An embodiment of the present application also provides a computer program product, including: a computer-readable storage medium storing computer instructions, which when executed by one or more processors, cause the steps in the above map data update and / or data update method.
[0166] Figure 5 It is a schematic structural diagram of a terminal device provided by an embodiment of the present application. As Figure 5 shown, the terminal device includes: a memory 50a and a processor 50b. The memory 50a is used to store computer programs.
[0167] The processor 50b is coupled to the memory 50a and is used to execute the computer program to: obtain new map data; obtain the status of the object to be navigated; if the status of the object to be navigated meets the hot update condition, update the locally stored map data to the new map data.
[0168] Optionally, when obtaining the state of the object to be navigated, the processor 50b is specifically configured to: obtain the real-time positioning information of the object to be navigated; determine whether the real-time positioning information of the object to be navigated is located in a preset geographical location area where map data update is allowed; if the determination result is yes, determine that the state of the object to be navigated is an updatable state; and when the state of the object to be navigated is an updatable state, determine that the state of the object to be navigated meets the hot update condition.
[0169] Optionally, when obtaining the state of the object to be navigated, the processor 50b is specifically configured to: obtain the traveling speed of the object to be navigated; determine whether the traveling speed of the object to be navigated is less than a preset speed threshold; if the determination result is yes, determine that the state of the object to be navigated is an updatable state; and when it is determined that the state of the object to be navigated is an updatable state, determine that the state of the object to be navigated meets the hot update condition.
[0170] Optionally, when updating the locally stored map data to new map data, the processor 50b is specifically configured to: obtain the target data hot update method customized by the map data user; and execute the process related to data hot switching according to the configuration information of the target data hot update method, so as to update the locally stored map data to new map data.
[0171] The terminal device provided in this embodiment can obtain the state of the object to be navigated when new map data is generated, and update the map data locally stored by the object to be navigated to new map data when the state of the object to be navigated meets the hot update condition. Among them, when the state of the object to be navigated meets the hot update condition, performing map data hot update can achieve hot update of map data without affecting the use of map data by the object to be navigated or the travel application software on the object to be navigated, which helps to improve the timeliness of map data update.
[0172] In some embodiments of the present application, the processor 50b is further configured to: obtain the target data hot update method customized by the data user; and obtain new data; and execute the process related to data hot switching according to the configuration information of the target data hot update method, so as to switch the local data to new data.
[0173] Optionally, when executing the process related to data hot switching, the processor 50b is specifically configured to: determine whether the target data hot update method requires authorization from the data user according to the configuration information of the target data hot update method; if data user authorization is required, interact with the data user according to the authorization method included in the configuration information to obtain data hot switching authorization; and when the data hot switching authorization is obtained, execute the process related to data hot switching. Accordingly, if the target data hot update method does not require data user authorization, directly execute the process related to data hot switching.
[0174] Optionally, the processor 50b is further configured to: before determining whether the authorization of the data user is required for the data hot update method, determine whether the data user supports data hot switching according to the configuration information of the target data hot update method; if the data user supports data hot switching, perform the above operation of determining whether the authorization of the data user is required for the target data hot update method.
[0175] In some embodiments, the authorization method includes a synchronous method. Correspondingly, when the processor 30b interacts with the data user according to the authorization method included in the configuration information, it is specifically configured to: send a hot switching authorization request to the synchronous interface of the data user through the communication component 30c to request data hot switching authorization from the data user; and obtain the authorization result notification returned by the data provider through the synchronous interface; if the authorization result notification is authorization success, it is determined that the data hot switching authorization is obtained.
[0176] Further, optionally, the authorization method further includes: an event-based asynchronous method, then the processor 50b is further configured to: after obtaining the authorization success notification returned by the data provider through the synchronous interface, send a hot switching authorization request to the asynchronous interface of the data user through the communication component 50c to request data hot switching authorization from the data user; if within a preset third time period, the authorization result notification returned by the data user is received and the authorization result notification is authorization success, the hot switching authorization is obtained.
[0177] Alternatively, the authorization method further includes: a periodic asynchronous method, then the processor 50b is further configured to: after obtaining the authorization success notification returned by the data user through the synchronous interface, send a hot switching authorization request to the asynchronous interface of the data user through the communication component 50c to request data hot switching authorization from the data user; if within a preset fourth time period, N authorization result notifications returned by the data user are received and all N authorization result notifications are authorization success, the data hot switching authorization is obtained.
[0178] In some other embodiments, the authorization method includes an event-based asynchronous method. When the processor 50b interacts with the data user according to the authorization method included in the configuration information, it is specifically configured to: send a hot switching authorization request to the asynchronous interface of the data user through the communication component 50c to request data hot switching authorization from the data user; if within a preset first time period, the authorization result notification returned by the data user is received and the authorization result notification is authorization success, the data hot switching authorization is obtained.
[0179] In some other embodiments, the authorization method includes a periodic asynchronous method. When the processor 50b interacts with the data user according to the authorization method included in the configuration information, it is specifically configured to: send a hot-switch authorization request to the asynchronous interface of the data user through the communication component 50c to request data hot-switch authorization from the data user; if within a preset second duration, N authorization result notifications returned by the data user are received and all N authorization result notifications are successful authorizations, then obtain the data hot-switch authorization; where N is a positive integer.
[0180] In the embodiments of the present application, the data can be map data. The processor 50b is further configured to: obtain the state of the navigated object carried by the terminal storing the map data; if the state of the navigated object meets the hot update condition, then execute the configuration information according to the target data hot update method and execute the process related to data hot switching to switch the locally stored map data to new map data.
[0181] Optionally, when the processor 50b obtains the state of the navigated object carried by the terminal storing the map data, it is specifically configured to: obtain the real-time positioning information of the navigated object; determine whether the real-time positioning information of the navigated object is located in a preset geographical location area allowing map data update; if the determination result is yes, then determine that the state of the navigated object is an updatable state; and when the state of the navigated object is an updatable state, determine that the state of the navigated object meets the hot update condition.
[0182] Optionally, when the processor 50b obtains the state of the navigated object, it is specifically configured to: obtain the traveling speed of the navigated object; determine whether the traveling speed of the navigated object is less than a preset speed threshold; if the determination result is yes, then determine that the state of the navigated object is an updatable state; and when the state of the navigated object is an updatable state, determine that the state of the navigated object meets the hot update condition.
[0183] In some embodiments, the processor 50b is further configured to: obtain a hot update configuration file provided by the data user; obtain the configuration information for the data hot update method from the hot update configuration file; determine the target hot update method according to the configuration information for the data hot update method; or, in response to a call operation on the application programming interface for the data hot update method by the data user, use the data hot update method corresponding to the called application programming interface as the target hot update method; or, display the identifier of at least one data hot update method through the display component 50d; and in response to a touch operation on the identifier of the data hot update method, use the data hot update method selected by the touch operation as the target hot update method.
[0184] In some alternative embodiments, such as Figure 5As shown, the terminal device may further include optional components such as a power supply component 50e, an audio component 50f, etc. Figure 5 Only some components are schematically shown, which does not mean that the terminal device must include Figure 5 all the components shown, nor does it mean that the terminal device can only include Figure 5 the components shown.
[0185] In the embodiment of the present application, the memory is used to store computer programs and can be configured to store various other data to support operations on the device where it is located. Among them, the processor can execute the computer programs stored in the memory to implement corresponding control logic. The memory can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.
[0186] In the embodiment of the present application, the processor can be any hardware processing device capable of executing the above method logic. Optionally, the processor can be a central processing unit (CPU), a graphics processing unit (GPU), or a microcontroller unit (MCU); it can also be a field-programmable gate array (FPGA), a programmable array logic device (PAL), a general array logic device (GAL), a complex programmable logic device (CPLD), etc.; or an advanced reduced instruction set (RISC) processor (Advanced RISC Machines, ARM) or a system on chip (SOC), etc., but not limited thereto.
[0187] In the embodiments of the present application, the communication component is configured to facilitate communication between the device where it is located and other devices in a wired or wireless manner. The device where the communication component is located can access a wireless network based on communication standards, such as WiFi, 2G or 3G, 4G, 5G, or a combination thereof. In an exemplary embodiment, the communication component receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component can also be implemented based on technologies such as Near Field Communication (NFC) technology, Radio Frequency Identification (RFID) technology, Infrared Data Association (IrDA) technology, Ultra Wideband (UWB) technology, Bluetooth (BT) technology, or other technologies.
[0188] In the embodiments of the present application, the display component may include a Liquid Crystal Display (LCD) and a Touch Panel (TP). If the display component includes a touch panel, the display component can be implemented as a touch screen to receive input signals from a user. The touch panel includes one or more touch sensors to sense touches, swipes, and gestures on the touch panel. The touch sensors can sense not only the boundaries of touch or swipe actions but also detect the duration and pressure associated with the touch or swipe operation.
[0189] In the embodiments of the present application, the power supply component is configured to provide power to various components of the device where it is located. The power supply component may include a power management system, one or more power sources, and other components associated with generating, managing, and distributing power for the device where the power supply component is located.
[0190] In the embodiments of the present application, the audio component can be configured to output and / or input audio signals. For example, the audio component includes a microphone (MIC). When the device where the audio component is located is in an operating mode, such as a call mode, a recording mode, and a voice recognition mode, the microphone is configured to receive external audio signals. The received audio signals can be further stored in the memory or sent via the communication component. In some embodiments, the audio component also includes a speaker for outputting audio signals. For example, for a device with a language interaction function, voice interaction with the user can be implemented through the audio component.
[0191] In the terminal device provided in this embodiment, multiple data hot update methods can be provided for data users to customize flexibly. When updating data, the target data hot update method customized by the data user can be obtained, and according to the configuration information of the target data hot update method customized by the data user, the process related to data hot switching can be executed, and then the local data can be switched to new data, realizing data update according to the data hot update method customized by the data user, realizing the personalized customization of the data hot update method by the data user, improving the flexibility of data authorization, and helping to meet the requirements of different data users.
[0192] It should be noted that the descriptions such as "first" and "second" in this article are used to distinguish different messages, devices, modules, etc., and do not represent a sequence, nor do they limit that "first" and "second" are of different types.
[0193] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a system, or a computer program product. Therefore, the present application can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk memory, CD-ROM, optical memory, etc.) containing computer-usable program code.
[0194] The present application is described with reference to the flowcharts and / or block diagrams of methods, apparatuses (systems), and computer program products according to the embodiments of the present application. It should be understood that each flow and / or block in the flowchart and / or block diagram can be implemented by computer program instructions, and the combination of the flows and / or blocks in the flowchart and / or block diagram can also be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing devices generate a device for implementing the functions specified in one or more flows in the flowchart and / or one or more blocks in the block diagram.
[0195] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory generate a manufactured article including an instruction device, and the instruction device implements the functions specified in one or more flows in the flowchart and / or one or more blocks in the block diagram.
[0196] These computer program instructions can also be loaded onto a computer or other programmable data processing device, so that a series of operation steps are executed on the computer or other programmable device to generate a computer-implemented process, and thus the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more flows in the flowchart and / or one or more blocks in the block diagram.
[0197] In a typical configuration, a computing device includes one or more processors (CPUs), an input / output interface, a network interface, and a memory.
[0198] The memory may include non-permanent memory in the form of computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. The memory is an example of computer-readable media.
[0199] Computer-readable media includes both permanent and non-permanent, removable and non-removable media and can store information by any method or technology. The information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassette tapes, disk storage or other magnetic storage devices, or any other non-transitory media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory media, such as modulated data signals and carrier waves.
[0200] It should also be noted that the term "comprising", "including" or any other variation thereof is intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but also other elements not expressly listed, or elements that are inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the statement "comprising an..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus that comprises the element.
[0201] The above description is only for the embodiments of the present application and is not intended to limit the present application. For those skilled in the art, various changes and modifications can be made to the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of the present application should be included within the scope of the claims of the present application.
Claims
1. A data update method, which is applied to the update of application-related data, wherein, The method includes: Obtaining a target data hot update method customized by a data user; the target data hot update method includes: a method without the authorization of the data user, a data user synchronous authorization method, a data user event-based asynchronous authorization method, a data user periodic asynchronous authorization method, a method combining the data user synchronous and periodic asynchronous authorization methods, or a method combining the data user synchronous and event-based asynchronous authorization methods; Obtaining new data; According to the configuration information of the target data hot update method, executing a process related to data hot switching to switch the local data to the new data.
2. The method according to claim 1, wherein The executing the process related to data hot switching according to the configuration information of the target data hot update method specifically includes: According to the configuration information of the target data hot update method, determining whether the target data hot update method requires the authorization of the data user; If the authorization of the data user is required, interacting with the data user according to the authorization method included in the configuration information to obtain data hot switching authorization; and when the data hot switching authorization is obtained, executing a process related to data hot switching.
3. The method according to claim 2, wherein Before determining whether the data hot update method requires the authorization of the data user, it further includes: According to the configuration information of the target data hot update method, determining whether the data user supports data hot switching; If data hot switching is supported, perform the operation of determining whether the target data hot update method requires the authorization of the data user.
4. The method according to claim 2, wherein, The authorization method includes a synchronous method. The interacting with the data user according to the authorization method included in the configuration information to obtain data hot switching authorization specifically includes: Sending a hot switching authorization request to the synchronous interface of the data user to request data hot switching authorization from the data user; Obtaining an authorization result notification returned by the data provider through the synchronous interface; If the authorization result notification is authorization success, it is determined that the data hot switching authorization is obtained.
5. The method according to claim 2, wherein The authorization method includes an event-based asynchronous method. The interacting with the data user according to the authorization method included in the configuration information to obtain data hot switching authorization specifically includes: Sending a hot switching authorization request to the asynchronous interface of the data user to request data hot switching authorization from the data user; If within a preset first time period, an authorization result notification returned by the data user is received and the authorization result notification is authorization success, the data hot switching authorization is obtained.
6. The method according to claim 2, wherein The authorization method includes a periodic asynchronous method. The interacting with the data user according to the authorization configuration included in the configuration information to obtain data hot switching authorization specifically includes: Sending a hot switching authorization request to the asynchronous interface of the data user to request data hot switching authorization from the data user; If within a preset second time period, N authorization result notifications returned by the data user are received and all the N authorization result notifications are authorization success, the data hot switching authorization is obtained; wherein, N is a positive integer.
7. The method according to claim 4, wherein The authorization method further includes: an event-based asynchronous method. After obtaining the authorization success notification returned by the data provider through the synchronous interface, it further includes: Sending a hot-switch authorization request to the asynchronous interface of the data user to request data hot-switch authorization from the data user; If, within a preset third time period, an authorization result notification returned by the data user is received and the authorization result notification is an authorization success, then obtain hot-switch authorization.
8. The method according to claim 4, wherein, The authorization method further includes: a periodic asynchronous method. After obtaining the authorization success notification returned by the data user through the synchronous interface, the method further includes: Sending a hot-switch authorization request to the asynchronous interface of the data user to request data hot-switch authorization from the data user; If, within a preset fourth time period, N authorization result notifications returned by the data user are received and all N authorization result notifications are authorization successes, then obtain data hot-switch authorization.
9. The method according to any one of claims 1-8, wherein, The data is map data, and the method further includes: Obtaining the state of the navigation object carried by the terminal storing the map data; If the state of the navigation object meets the hot-update condition, then execute the process related to data hot-switch according to the configuration information of the target data hot-switch method to switch the locally stored map data to new map data.
10. The method according to claim 9, wherein, The obtaining the state of the navigation object carried by the terminal storing the map data includes: Obtaining the real-time positioning information of the navigation object; Judging whether the real-time positioning information of the navigation object is located in a preset geographical location area allowing map data update; If the judgment result is yes, then determine that the state of the navigation object is an updatable state; and when the state of the navigation object is an updatable state, determine that the state of the navigation object meets the hot-update condition.
11. The method according to claim 9, wherein, The obtaining the state of the navigation object includes: Obtaining the traveling speed of the navigation object; Judging whether the traveling speed of the navigation object is less than a preset speed threshold; If the judgment result is yes, then determine that the state of the navigation object is an updatable state; and when the state of the navigation object is an updatable state, determine that the state of the navigation object meets the hot-update condition.
12. The method according to any one of claims 1-8, wherein, The method further includes: Obtaining the hot-update configuration file provided by the data user; obtaining the configuration information for the data hot-switch method from the hot-update configuration file; and determining the target data hot-switch method according to the configuration information of the data hot-switch method; Or, In response to a call operation on the application programming interface for the data hot-switch method by the data user, taking the data hot-switch method corresponding to the called application programming interface as the target data hot-switch method; Or, In response to a touch operation on the identifier for the data hot-switch method, taking the data hot-switch method selected by the touch operation as the target data hot-switch method.
13. The method according to claim 2, wherein, It further includes: If the target data hot-switch method does not require authorization from the data user, then directly execute the process related to data hot-switch.
14. A method for updating map data, wherein, For updating the map data stored on a navigated object, including: Obtaining new map data; Obtaining the state of the navigated object; If the state of the navigated object meets the hot update condition, using the method according to any one of claims 1-13 to update the locally stored map data to the new map data.
15. The method according to claim 14, wherein, The obtaining the state of the navigated object includes: Obtaining the real-time positioning information of the navigated object; Judging whether the real-time positioning information of the navigated object is located in a preset geographical location area allowing map data update; If the judgment result is yes, determining that the state of the navigated object is an updatable state; and when the state of the navigated object is an updatable state, determining that the state of the navigated object meets the hot update condition.
16. The method according to claim 14, wherein, The obtaining the state of the navigated object includes: Obtaining the traveling speed of the navigated object; Judging whether the traveling speed of the navigated object is less than a preset speed threshold; If the judgment result is yes, determining that the state of the navigated object is an updatable state; and when it is determined that the state of the navigated object is an updatable state, determining that the state of the navigated object meets the hot update condition.
17. The method according to claim 14, wherein Updating the locally stored map data to the new map data includes: Obtaining a target data hot update method customized by a map data user; According to the configuration information of the target data hot update method, executing a process related to data hot switching to update the locally stored map data to the new map data.
18. The method according to claim 17, wherein, Further including: Obtaining customization information for the map data hot update method; According to the customization information, determining a target data hot update method from the supported data hot update methods.
19. A computer program product, wherein, Including: A computer-readable storage medium storing computer instructions, when the computer instructions are executed by one or more processors, causing the one or more processors to execute the steps in the method according to any one of claims 1-18.
20. A terminal device, wherein, Including: A memory and a processor; The memory is used for storing a computer program; The processor is coupled to the memory and is used for executing the computer program to execute the steps in the method according to any one of claims 1-18.
21. A computer-readable storage medium storing computer instructions, wherein, When the computer instructions are executed by one or more processors, causing the one or more processors to execute the steps in the method according to any one of claims 1-18.
Citation Information
Patent Citations
Application updating method and equipment
CN107239301A
Application program updating method and system
CN107729086A