OTA upgrading method, device and equipment and computer readable storage medium
By uploading before the OTA upgrade and including user settings information in the upgrade task, the problem that the user settings parameter values may be modified during the OTA upgrade process is solved, and the effectiveness of parameter values and user experience after the OTA upgrade is improved.
Patent Information
- Application Number
- CN202411301586.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-18
- Publication Date
- 2025-02-25
AI Technical Summary
The prior art cannot determine whether the parameter values set by the user for the vehicle are modified during the OTA upgrade process, resulting in poor user experience.
Before the target vehicle undergoes OTA upgrade, upload user settings information to the server and include user settings information in the OTA upgrade task so that after the upgrade, it can determine whether there is any parameter value modification through consistency verification.
Through consistency verification, ensure that the parameter values set by the user are still valid after the OTA is upgraded, avoiding the user resetting parameters and improving the user experience.
Smart Images

Figure CN119512588A_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present invention relate to the field of vehicle technology, and specifically to an OTA upgrade method, apparatus, device, and computer-readable storage medium. Background Art
[0002] With the development of software-defined vehicles (SDVs), over-the-air technology (OTA) is becoming increasingly common. OTA technology allows automakers to remotely update a vehicle's software systems, including operating systems, applications, firmware, and vehicle control units. This allows for rapid bug fixes, performance improvements, new features, and even improved vehicle energy efficiency.
[0003] Currently, the OTA upgrade process mainly involves the automaker sending the OTA upgrade package to the target vehicle through a secure communication channel. After receiving the OTA upgrade package, the target vehicle automatically starts the OTA upgrade process under appropriate circumstances (such as when the target vehicle is parked and the battery is fully charged), or the user can choose to perform the OTA upgrade on the target vehicle at an appropriate time. The target vehicle automatically performs a series of steps during the OTA upgrade process, including downloading the OTA upgrade package, verifying its integrity, backing up existing settings, installing the new software, and restarting the system.
[0004] However, the existing technology cannot determine whether the parameter values set by the user for the vehicle are modified during the OTA upgrade process, which affects the user experience when they are modified. Summary of the Invention
[0005] In view of the above problems, embodiments of the present invention provide an OTA upgrade method, apparatus, device and computer-readable storage medium to solve the problem that the existing technology cannot determine whether the parameter values set by the user for the vehicle are modified during the OTA upgrade process.
[0006] According to one aspect of an embodiment of the present invention, there is provided an OTA upgrade method, which is applied to an electronic device, the method comprising:
[0007] When it is detected that an OTA upgrade is required for the target vehicle, an OTA upgrade request is sent to the server, wherein the OTA upgrade request includes user setting information of each controller;
[0008] Receive OTA upgrade information returned by the server, where the OTA upgrade information includes OTA upgrade tasks for each controller and the user setting information;
[0009] Execute corresponding OTA upgrade tasks on each controller according to the OTA upgrade information;
[0010] For any controller that has completed the corresponding OTA upgrade task, perform a consistency check on the first user setting data in the controller according to the user setting information corresponding to the controller to obtain a first verification result;
[0011] If the first verification result indicates that the verification is passed, it is determined that the controller upgrade is successful.
[0012] According to another aspect of an embodiment of the present invention, an OTA upgrade method is provided, which is applied to a server, and the method includes:
[0013] Receiving an OTA upgrade request sent by an electronic device, wherein the OTA upgrade request includes user setting information of each controller;
[0014] Generate OTA upgrade information according to the OTA upgrade request, where the OTA upgrade information includes the OTA upgrade tasks of each controller and the user setting information;
[0015] The OTA upgrade information is sent to the electronic device.
[0016] According to another aspect of an embodiment of the present invention, an OTA upgrade device is provided, which is applied to an electronic device, and the device includes:
[0017] A sending module is used to send an OTA upgrade request to the server when it is detected that an OTA upgrade is required for the target vehicle, wherein the OTA upgrade request includes user setting information of each controller;
[0018] A receiving module, configured to receive the OTA upgrade information returned by the server, wherein the OTA upgrade information includes the OTA upgrade tasks of each controller and the user setting information;
[0019] An execution module, configured to execute corresponding OTA upgrade tasks on each controller according to the OTA upgrade information;
[0020] a verification module, configured to, for any controller that has completed the corresponding OTA upgrade task, perform a consistency check on first user setting data in the controller according to user setting information corresponding to the controller, and obtain a first verification result;
[0021] A determination module is configured to determine that the controller upgrade is successful if the first verification result indicates that the verification is passed.
[0022] According to another aspect of an embodiment of the present invention, an OTA upgrade device is provided, which is applied to a server, and the device includes:
[0023] A receiving module, configured to receive an OTA upgrade request sent by an electronic device, wherein the OTA upgrade request includes user setting information of each controller;
[0024] A generating module, configured to generate OTA upgrade information according to the OTA upgrade request, wherein the OTA upgrade information includes the OTA upgrade tasks of each controller and the user setting information;
[0025] The sending module is used to send the OTA upgrade information to the electronic device.
[0026] According to another aspect of an embodiment of the present invention, there is provided an electronic device, comprising: a processor, a memory, a communication interface, and a communication bus, wherein the processor, the memory, and the communication interface communicate with each other via the communication bus;
[0027] The memory is used to store at least one executable instruction, and the executable instruction enables the processor to execute the operation of the above-mentioned OTA upgrade method on the electronic device side.
[0028] According to another aspect of an embodiment of the present invention, a server includes: a processor, a memory, a communication interface, and a communication bus, wherein the processor, the memory, and the communication interface communicate with each other via the communication bus;
[0029] The memory is used to store at least one executable instruction, and the executable instruction enables the processor to execute the operation of the above-mentioned server-side OTA upgrade method.
[0030] According to another aspect of an embodiment of the present invention, a computer-readable storage medium is provided, wherein the storage medium stores at least one executable instruction. When the executable instruction is executed on an electronic device or an OTA upgrade apparatus applied to the electronic device, the electronic device or the OTA upgrade apparatus applied to the electronic device performs the following operations:
[0031] When it is detected that an OTA upgrade is required for the target vehicle, an OTA upgrade request is sent to the server, wherein the OTA upgrade request includes user setting information of each controller;
[0032] Receive OTA upgrade information returned by the server, where the OTA upgrade information includes OTA upgrade tasks for each controller and the user setting information;
[0033] Execute corresponding OTA upgrade tasks on each controller according to the OTA upgrade information;
[0034] For any controller that has completed the corresponding OTA upgrade task, perform a consistency check on the first user setting data in the controller according to the user setting information corresponding to the controller to obtain a first verification result;
[0035] If the first verification result indicates that the verification is passed, it is determined that the controller upgrade is successful.
[0036] or,
[0037] When the executable instructions are executed on the server / the OTA upgrade device applied to the server, the server / the OTA upgrade device applied to the server performs the following operations:
[0038] Receiving an OTA upgrade request sent by an electronic device, wherein the OTA upgrade request includes user setting information of each controller;
[0039] Generate OTA upgrade information according to the OTA upgrade request, where the OTA upgrade information includes the OTA upgrade tasks of each controller and the user setting information;
[0040] The OTA upgrade information is sent to the electronic device.
[0041] The embodiment of the present invention proposes an OTA upgrade method, device, equipment and computer-readable storage medium. In this method, when it is detected that an OTA upgrade is required for a target vehicle, the electronic device can report the user setting information of each controller before the upgrade to the server. Then, when the server sends the OTA upgrade task to the target vehicle, it also sends the user setting information of each controller, so that after the OTA upgrade task is executed, the first user setting data of the controller is checked for consistency according to the user setting information. When the check passes, it is determined that the controller upgrade is successful, that is, it is determined that the parameter values set by the user for the vehicle have not been modified during the OTA upgrade process, ensuring that the parameter values set by the user can be applied, thereby improving the user experience.
[0042] The above description is only an overview of the technical solutions of the embodiments of the present invention. In order to more clearly understand the technical means of the embodiments of the present invention, they can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the embodiments of the present invention more obvious and easy to understand, the specific implementation methods of the present invention are specifically listed below. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] The accompanying drawings are only used to illustrate the embodiments and are not to be considered as limiting the present invention. In addition, the same reference symbols are used to represent the same components throughout the drawings. In the drawings:
[0044] Figure 1 A schematic diagram showing a flow chart of a first embodiment of the OTA upgrade method provided by the present invention is shown;
[0045] Figure 2 A schematic diagram showing a flow chart of a second embodiment of the OTA upgrade method provided by the present invention is shown;
[0046] Figure 3 FIG2 shows a flow chart of a third embodiment of the OTA upgrade method provided by the present invention;
[0047] Figure 4 A schematic structural diagram of a first embodiment of an OTA upgrade device provided by the present invention is shown;
[0048] Figure 5 A schematic structural diagram of a second embodiment of an OTA upgrade device provided by the present invention is shown;
[0049] Figure 6 A schematic structural diagram of an embodiment of an electronic device provided by the present invention is shown;
[0050] Figure 7 A schematic structural diagram of an embodiment of a server provided by the present invention is shown. DETAILED DESCRIPTION
[0051] The exemplary embodiments of the present invention will be described in more detail below with reference to the accompanying drawings. Although exemplary embodiments of the present invention are shown in the drawings, it should be understood that the present invention can be implemented in various forms and should not be limited to the embodiments set forth herein.
[0052] It should be noted that the user information (including but not limited to user device information, user personal information, information set by the user in the vehicle, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in the present invention are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant laws, regulations and standards, and provide corresponding operation entrances for users to choose to authorize or refuse.
[0053] First, the application background of the present invention is explained.
[0054] In actual applications, a vehicle contains multiple controllers, such as the climate control module, infotainment system controller, and body control module (BCM). Each controller has its own specific parameters to achieve the specific role and function of the controller according to the corresponding parameter values.
[0055] In order to make the vehicle meet the personalized needs of users as much as possible, some parameters of some controllers support users to set parameter values. For example, the climate control module can control the vehicle's air conditioning and heating systems to maintain a comfortable internal temperature. Users can customize the default temperature value, default wind speed and other parameter values. The infotainment system controller can manage the vehicle's multimedia, navigation, communication and vehicle information display. Users can customize the interface layout, shortcut key settings, voice commands and other parameter values. The BCM can manage the vehicle's electronic systems, such as lights, door locks, windows, anti-theft systems, etc. Users can customize parameter values such as automatic door locking time and light delay shutdown time.
[0056] With the development of SDVs, the frequency of vehicle OTA updates is increasing, and even dedicated OTA iteration management teams have been established. To ensure that the vehicle retains the user's personalized settings after an OTA upgrade, OEMs have established management requirements for the upgrade process, requiring component manufacturers to avoid erasing user-set parameter values when performing OTA upgrades. Therefore, during the OTA upgrade process, the vehicle must back up its existing settings so that the backed-up settings can be restored after the OTA upgrade.
[0057] However, due to the wide variety of controllers in vehicles, user-set parameter values are dispersed across these controllers. The increasing demand from users leads to an increase in the number of controllers involved and the need to store user-set parameter values, making parameter value backup difficult. Furthermore, some controllers lack a dedicated static data area, or their software code and data areas are partially coupled. Each OTA upgrade, because the user data area is not distinguished during software package creation, erases the user-set parameter values.
[0058] Therefore, based on the above two aspects, the existing OTA upgrade process will cause the user to lose the parameter values set for the vehicle. The user needs to re-set the parameters after the upgrade, which will cause users to complain about the vehicle software upgrade and the user experience is poor.
[0059] In summary, how to determine whether the user's vehicle setting parameter values are lost during the OTA upgrade process, and how to restore the user-set parameter values after loss, are issues that need to be urgently addressed.
[0060] Based on the above technical problems, the technical concept of the present invention is as follows: before performing an OTA upgrade on the target vehicle, user setting information can be uploaded to the server. When performing an OTA upgrade on the target vehicle, the user setting information can be synchronously sent to the target vehicle along with the OTA upgrade task. After each controller is upgraded according to the OTA upgrade task, it is determined based on the user setting information whether the user setting data (that is, the parameter values that the user can set) has been modified during the upgrade process.
[0061] Figure 1 A flow chart of a first embodiment of the OTA upgrade method provided by the present invention is shown, and the method is jointly performed by an electronic device and a server. It should be understood that the electronic device can be a terminal device, such as a user's mobile phone, tablet, laptop computer, vehicle-mounted terminal, or a server. In actual application, whether the electronic device is specifically implemented as a terminal device or a server can be determined according to actual conditions, and no specific restrictions are imposed on this. When the electronic device is implemented as a terminal device, the electronic device can interact with the target vehicle through Bluetooth, wireless local area network (WLAN), wired connection, etc.
[0062] like Figure 1 As shown, the OTA upgrade method includes the following steps:
[0063] Step 110: When the electronic device detects that an OTA upgrade is required for the target vehicle, it sends an OTA upgrade request to the server.
[0064] Among them, the OTA upgrade request includes the user setting information of each controller, which is used to request the server to upgrade the current vehicle version of the target vehicle to the corresponding latest vehicle version.
[0065] The user setting information includes third user setting data and / or a first user setting summary value. The third user setting data is the parameter value that the user can set in each controller before performing an OTA upgrade on the target vehicle, and the first user setting summary value is the summary value corresponding to the third user setting data.
[0066] Optionally, the OTA upgrade request may further include the software and hardware versions of each controller, so that the server can determine the OTA upgrade task of each controller.
[0067] It should be understood that the third user setting data of each controller may have one parameter value or may include multiple parameter values. The embodiment of the present invention does not specifically limit the number of parameters in the third user setting data included in each controller.
[0068] In one possible implementation, for each controller, the software and hardware versions and third user setting data of the controller are first obtained. A digest value corresponding to the third user setting data is then calculated and used as the first user setting digest value. Finally, the user setting information of each controller (the third user setting data and / or the first user setting digest value) is associated with the software and hardware versions corresponding to the controller to generate an OTA upgrade request.
[0069] In this implementation, the software and hardware versions of each controller are obtained so that the server can determine whether the software of the controller needs to be upgraded; the user setting information of each controller is obtained so that it can be subsequently determined whether the parameter values set by the user themselves after the upgrade of the controller have been changed or lost, providing a basis for subsequently correcting the first user setting data of the upgraded controller.
[0070] In another possible implementation, for each controller, the software and hardware version, the third user setting data, and the first user setting summary value corresponding to the third user setting data can be directly obtained from the controller. In this implementation, the first user setting summary value is calculated by the controller itself based on the third user setting data. Furthermore, for each controller, the first user setting summary value corresponding to the third user setting data is recalculated, and the recalculated first user setting summary value is checked for consistency with the first user setting summary value obtained from the controller. If the check passes, the user setting information (third user setting data and / or first user setting summary value) is associated with the software and hardware version, and an OTA upgrade request is generated.
[0071] Optionally, the third user setting data may be stored as the second user setting data before the controller is upgraded, and the first user setting summary value may be stored as the third user setting summary value before the controller is upgraded.
[0072] When storing the second user setting data and the third user setting summary value, the second user setting data and the third user setting summary value may be encrypted. Optionally, the second user setting data may be signed and protected using the private key of the privacy service certificate, and the third user setting summary value may be encrypted and stored using the key.
[0073] In actual applications, the second user setting data and the third user setting summary value can be stored locally in the target vehicle, for example, in a controller with relatively abundant storage resources in the target vehicle, such as a seat controller, or stored locally in an electronic device, or stored in a target storage device. The target storage device can be a terminal device used by the user, such as a mobile phone, tablet, laptop computer, etc. It should be understood that the location for storing the second user setting data and the third user setting summary value can be determined based on the storage resources of each controller in the target vehicle and other actual conditions, and the embodiment of the present invention does not impose any specific restrictions on this.
[0074] It should be understood that when the target storage device is implemented as a terminal device, the terminal device can obtain and store data from each controller in the target vehicle through Bluetooth, WLAN, wired connection, etc., thereby ensuring that the user setting data in the target vehicle remains in a device that the user can control, so as to ensure that the user's own data does not leave the user.
[0075] It should be understood that the target storage device and the electronic device that executes the OTA upgrade method can be the same device or different devices, and there is no specific limitation on this.
[0076] In the above implementation method, the second user setting data and the third user setting summary value of each controller are stored in the target storage device, so that the parameter values set by the user in the controller can be restored later according to the stored second user setting data and the third user setting summary value. The user does not need to set the parameter value again, thereby ensuring the integrity of the parameter value set by the user and improving the user's usage experience.
[0077] Optionally, if the verification fails, repeat the above steps, that is, re-obtain the third user setting data of the controller and the first user setting summary value corresponding to the third user setting data, recalculate the first user setting summary value corresponding to the third user setting data, and perform a consistency check on the recalculated first user setting summary value and the first user setting summary value obtained from the controller until the consistency check passes or the number of repetitions exceeds the preset number of times.
[0078] Optionally, if the number of repetitions exceeds the preset number, it means that an accident occurred in the acquisition process, resulting in changes in the third user setting data of the controller and the corresponding first user setting summary value. At this time, if the target vehicle continues to be OTA upgraded, it cannot be guaranteed whether the parameter values set by the user in the controller have changed after the upgrade, and it is impossible to correct them when they change. Therefore, the target vehicle will not be OTA upgraded.
[0079] Optionally, an error message can also be output.
[0080] Optionally, a hash function may be used to map the third user setting data into a message of fixed length, which may be referred to as a hash value. The message is the summary value of the first user setting.
[0081] In actual applications, to detect whether an OTA upgrade is required for the target vehicle, the following steps can be used:
[0082] The electronic device sends a vehicle version query request to the server, where the vehicle version query request is used to query whether a new vehicle version has been released. Accordingly, the server receives the vehicle version query request sent by the electronic device, and queries whether a new vehicle version exists based on the vehicle version query request, and sends the query result to the electronic device. Accordingly, the electronic device receives the query result sent by the server. If the query result indicates that a new vehicle version exists, it means that an OTA upgrade is required for the target vehicle; conversely, if the query result indicates that no new vehicle version exists, it means that an OTA upgrade is not required for the target vehicle.
[0083] For example, a vehicle version query request may include the target vehicle's vehicle identification number (VIN) and the target vehicle's current vehicle version. Based on the target vehicle's VIN, the server may query the latest vehicle version corresponding to the VIN and compare it with the target vehicle's current vehicle version. If the two versions are inconsistent, a query result indicating the existence of a newer vehicle version is generated; otherwise, if the two versions are consistent, a query result indicating the absence of a newer vehicle version is generated.
[0084] It should be understood that the server stores at least multiple vehicle versions corresponding to the VIN of the target vehicle. In other words, the server may also store multiple vehicle versions corresponding to the VINs of other vehicles, without specific limitation.
[0085] Correspondingly, the server receives the OTA upgrade request sent by the electronic device.
[0086] Step 120: The server generates OTA upgrade information according to the OTA upgrade request.
[0087] The OTA upgrade information includes the OTA upgrade tasks of each controller and user setting information.
[0088] In a possible implementation, the server generates OTA upgrade information according to the software and hardware versions of the controller.
[0089] Optionally, the OTA upgrade information may include the latest software version corresponding to each controller, a software download link, and an upgrade sequence for each controller.
[0090] In one possible implementation, the server determines the latest vehicle version based on the target vehicle's VIN. It then determines the latest software version for each controller based on the latest vehicle version and the hardware version of each controller in the controller information. This latest software version is compared with the software version of the controller in the controller information. If there is a discrepancy, the server obtains the latest software version of the controller and the software download address corresponding to the latest software version. Finally, based on the determined associations between the controllers requiring software updates, the order in which these controllers should be updated is determined.
[0091] Step 130: The server sends the OTA upgrade information to the electronic device.
[0092] Among them, OTA upgrade information can be issued based on the private key of the OTA certificate.
[0093] Correspondingly, the electronic device receives the OTA upgrade information returned by the server.
[0094] Step 140: The electronic device executes the corresponding OTA upgrade task on each controller according to the OTA upgrade information.
[0095] In one possible implementation, after receiving the OTA upgrade information, the electronic device obtains the latest software version of each controller from the software download address and then executes the corresponding OTA upgrade task on each controller in sequence based on the upgrade order.
[0096] Step 150: For any controller that has completed the corresponding OTA upgrade task, the electronic device performs a consistency check on the first user setting data in the controller according to the user setting information corresponding to the controller to obtain a first check result.
[0097] In a possible implementation, if the user setting information includes third user setting data, a consistency check may be performed between the third user setting data and the first user setting data to obtain a first check result.
[0098] In the above implementation, the first verification result indicates whether the third user-set data is identical to the first user-set data. If so, the user-set parameter values are consistent after the controller upgrade. Conversely, if they are different, the user-set parameter values have changed after the controller upgrade and are no longer consistent with those before the upgrade.
[0099] In another possible implementation, if the user setting information includes a first user setting summary value, a second user setting summary value corresponding to the first user setting data can be calculated, and then the first user setting data and the second user setting data are checked for consistency to obtain a first check result.
[0100] In the above implementation, the first verification result indicates whether the first user-set data and the second user-set summary value are identical. If they are identical, the user-set parameter values are consistent after the controller upgrade. Conversely, if they are different, the user-set parameter values have changed after the controller upgrade and are no longer consistent with those before the upgrade.
[0101] In this implementation, since the digest value field length is fixed and relatively short, performing consistency verification based on the digest value can effectively reduce the amount of data processing and improve verification efficiency.
[0102] Step 160: If the first verification result indicates that the verification is passed, the electronic device determines that the controller upgrade is successful.
[0103] In an OTA upgrade method provided by an embodiment of the present invention, upon detecting that an OTA upgrade is required for a target vehicle, an electronic device sends an OTA upgrade request to a server. The OTA upgrade request includes user settings information for each controller. Based on the OTA upgrade request, the server generates OTA upgrade information and sends it to the electronic device. The OTA upgrade information includes the OTA upgrade task and user settings information for each controller. Based on the OTA upgrade information, the electronic device executes the corresponding OTA upgrade task for each controller. For any controller that has completed the corresponding OTA upgrade task, a consistency check is performed on the first user settings data in the controller based on the corresponding user settings information of the controller, and a first check result is obtained. If the first check result indicates that the check passed, the controller upgrade is determined to be successful. In this technical solution, before performing an OTA upgrade on the target vehicle, the user settings information of each controller is uploaded to the server. When the server sends the OTA upgrade task for each controller to the target vehicle, it also sends the user settings information. This allows the server to determine whether the parameter values set by the user for the controller have changed before and after the upgrade. If no changes have occurred, the controller upgrade is determined to be successful. This ensures that the user can apply the parameter values set by the user when using the controller, thereby improving the user experience.
[0104] Next, the processing procedure when the first verification result indicates that the verification fails is explained.
[0105] Figure 2 FIG2 shows a flow chart of a second embodiment of the OTA upgrade method provided by the present invention, which is executed by an electronic device. Figure 2 As shown, the method may further include the following steps:
[0106] Step 210: If the first verification result indicates that the verification fails, obtain the second user setting data before the controller is upgraded and write it into the controller.
[0107] In a possible implementation, assuming that the OTA upgrade request carries third user setting data, the third user setting data carried in the OTA upgrade request is directly written into the controller.
[0108] It should be understood that the third user setting data carried in the OTA upgrade request is the second user setting data before the controller is upgraded.
[0109] In another possible implementation, assuming that the OTA upgrade request carries a first user setting summary value, pre-stored second user setting data is obtained and written into the controller.
[0110] Optionally, the second user setting data before the controller upgrade can be obtained locally. A consistency check is then performed between the user setting information corresponding to the controller and the second user setting data to obtain a third verification result. If the third verification result indicates a pass, the second user setting data is written to the controller.
[0111] Specifically, a third user setting digest value corresponding to the previously stored second user setting data may be obtained or calculated, and a consistency check may be performed between the third user setting digest value and the first user setting digest value to obtain a third verification result.
[0112] Optionally, if the third verification result indicates that the verification fails, the controller is upgraded and rolled back.
[0113] It should be understood that upgrade rollback refers to restoring the controller to the state before the OTA upgrade.
[0114] In this implementation, before writing the local second user setting data into the controller, it may be further determined whether the second user setting data has been tampered with during storage to ensure the correctness of the input data.
[0115] Step 220: Perform a consistency check on the current user setting data in the controller according to the user setting information corresponding to the controller to obtain a second verification result.
[0116] After the second user sets the data and writes it into the controller, it is also necessary to determine whether a problem occurs during the writing process, causing an error in the written data, so that timely processing can be performed when a problem occurs.
[0117] It should be understood that the consistency check of the current user setting data in the controller based on the user setting information corresponding to the controller is consistent with the process and principle of the consistency check of the first user setting data in the controller based on the user setting information corresponding to the controller in step 150, and will not be repeated here.
[0118] Step 230: If the second verification result indicates that the verification is passed, it is determined that the controller upgrade is successful.
[0119] Step 240: If the second verification result indicates that the verification fails, the controller is upgraded and rolled back.
[0120] In the above embodiment, if the first verification result indicates that the verification failed, it means that the user-set parameter values in the controller have changed during the execution of the OTA upgrade task. By writing the second user setting data before the upgrade into the controller, the user-set parameter values in the controller are restored, avoiding the user from having to manually re-set the parameters, further improving the user experience.
[0121] Based on the OTA upgrade method shown in any of the above embodiments, the implementation process of the OTA upgrade method is further described in detail below through a specific example.
[0122] Figure 3 The figure shows a flow chart of the third embodiment of the OTA upgrade method provided by the present invention, which is jointly executed by a cloud-based OTA server and a target vehicle. The cloud-based OTA server is the server in the above embodiment, and the target vehicle includes a vehicle-side OTA upgrade management center, a vehicle-side OTA user data management center, and various controllers. Optionally, the vehicle-side OTA upgrade management center and the vehicle-side OTA user data management center can be implemented as different controllers in the target vehicle.
[0123] like Figure 3 As shown, the OTA upgrade method includes the following steps:
[0124] Step 301: The vehicle-side OTA upgrade management center sends a query for vehicle upgrade tasks to the cloud-side OTA server.
[0125] Among them, the query vehicle upgrade task carries the VIN of the target vehicle and the current vehicle version.
[0126] Correspondingly, the cloud-based OTA server receives the vehicle upgrade task query sent by the vehicle-side OTA upgrade management center.
[0127] Step 302: The cloud OTA server queries the latest vehicle major version corresponding to the VIN based on the vehicle upgrade task, and compares it with the current vehicle major version.
[0128] Step 303: The cloud OTA server sends the query result to the vehicle-side OTA upgrade management center.
[0129] The query result indicates whether there is a latest major version of the vehicle.
[0130] Correspondingly, the vehicle-side OTA upgrade management center receives the query results sent by the cloud-based OTA server.
[0131] Step 304: When the query result indicates that the latest major version of the vehicle exists, each controller sends the third user setting data to the vehicle-side OTA user data management center.
[0132] Optionally, each controller may also send the first user summary value of the third user setting data to the vehicle-side OTA user data management center.
[0133] It should be understood that whether each controller sends the first user setting summary value to the vehicle-side OTA user data management depends on its own chip capabilities.
[0134] Correspondingly, the vehicle-side OTA user data management center receives the third user setting data uploaded by each controller, and can also receive the first user setting summary value corresponding to the third user setting data uploaded by each controller.
[0135] Step 305: The vehicle-side OTA user data management center recalculates the first user setting summary value corresponding to the third user setting data of the target parameter, and uses the private key of the privacy business certificate to sign and protect the first user setting summary value, while securely storing the current parameter value.
[0136] Step 306: The vehicle-side OTA user data management center feeds back the first user setting summary value of each controller to the vehicle-side OTA upgrade management center.
[0137] Step 307: The vehicle-side OTA upgrade management center obtains the software and hardware versions from each controller.
[0138] Step 308: The vehicle-side OTA upgrade management center generates an OTA upgrade request based on the software and hardware versions and the summary value set by the first user.
[0139] Step 309: The vehicle-side OTA upgrade management center uploads the OTA upgrade request to the cloud OTA server.
[0140] Correspondingly, the cloud-based OTA server receives the OTA upgrade request sent by the vehicle-side OTA upgrade management center.
[0141] Step 310: The cloud OTA server issues OTA upgrade information based on the OTA upgrade request.
[0142] Step 311: The cloud OTA server sends the OTA upgrade information to the vehicle-side OTA upgrade management center.
[0143] Correspondingly, the vehicle-side OTA upgrade management center receives OTA upgrade information sent by the cloud-based OTA server.
[0144] Step 312: The vehicle-side OTA upgrade management center executes the corresponding OTA upgrade task on each controller based on the OTA upgrade information.
[0145] Step 313: The vehicle-side OTA upgrade management center performs a consistency check on the first user setting data in the controller according to the first user setting summary value corresponding to the controller, and obtains a first verification result.
[0146] Step 314: If the first verification result indicates that the verification is passed, the vehicle-side OTA upgrade management center determines that the controller upgrade is successful.
[0147] Step 315: If the first verification result indicates that the verification fails, the vehicle-side OTA upgrade management center obtains the second user setting data before the upgrade from the vehicle-side OTA user data management center.
[0148] Step 316: The vehicle-side OTA upgrade management center performs a consistency check between the third user setting summary value corresponding to the second user setting data and the first user setting data carried in the OTA upgrade information.
[0149] Step 317: If the consistency check fails, the vehicle-side OTA upgrade management center will roll back the software corresponding to the controller to the version before the upgrade.
[0150] Step 318: If the consistency check passes, the vehicle-side OTA upgrade management center writes the second user setting data into the controller.
[0151] Step 319: The vehicle-side OTA upgrade management center performs a consistency check on the current user setting data in the controller and the first user setting data.
[0152] Step 320: If the consistency check fails, the vehicle-side OTA upgrade management center will roll back the software corresponding to the controller to the version before the upgrade.
[0153] Step 321: If the consistency check passes, the vehicle-side OTA upgrade management center determines that the controller upgrade is successful.
[0154] The OTA upgrade method provided in any of the above embodiments incorporates verification of user-set parameter values into the OTA upgrade process and provides a mechanism for restoring the user-set parameter values. At the same time, to avoid security risks and ensure privacy compliance, local secure storage of user-set parameter values can be used to ensure that user data does not leave the user's vehicle or terminal device used by the user, avoiding the risk of user data leakage. It also ensures that the OTA upgrade process does not erase or overwrite the user-set parameter values.
[0155] Figure 4FIG1 shows a schematic diagram of the structure of the first embodiment of the OTA upgrade device provided by the present invention. Figure 4 As shown, the OTA upgrade device 400 is applied to an electronic device, and includes: a sending module 410 , a receiving module 420 , an execution module 430 , a verification module 440 and a determination module 450 .
[0156] The sending module 410 is used to send an OTA upgrade request to the server when it is detected that the target vehicle needs to be upgraded via OTA. The OTA upgrade request includes user setting information of each controller;
[0157] The receiving module 420 is configured to receive OTA upgrade information returned by the server, where the OTA upgrade information includes OTA upgrade tasks of each controller and user setting information;
[0158] An execution module 430 is configured to execute a corresponding OTA upgrade task on each controller according to the OTA upgrade information;
[0159] A verification module 440 is configured to perform a consistency check on first user setting data in any controller that has completed the corresponding OTA upgrade task according to user setting information corresponding to the controller, and obtain a first verification result;
[0160] The determination module 450 is configured to determine that the controller upgrade is successful if the first verification result indicates that the verification is passed.
[0161] In an optional manner, the OTA upgrade device 400 further includes:
[0162] an acquisition module, configured to acquire second user setting data before the controller is upgraded and write the data into the controller if the first verification result indicates that the verification fails;
[0163] The verification module 440 is further configured to perform a consistency check on the current user setting data in the controller according to the user setting information corresponding to the controller to obtain a second verification result;
[0164] The determination module 450 is further configured to determine that the controller upgrade is successful if the second verification result indicates that the verification is passed.
[0165] In an optional manner, a module is obtained, specifically for:
[0166] Obtain the second user setting data before the controller upgrade from the local;
[0167] Performing a consistency check between the user setting information corresponding to the controller and the second user setting data to obtain a third verification result;
[0168] If the third verification result indicates that the verification is passed, the second user setting data is written into the controller.
[0169] In an optional manner, the OTA upgrade device 400 further includes:
[0170] The upgrade rollback module performs upgrade rollback on the controller if the second verification result or the third verification result indicates that the verification fails.
[0171] In an optional manner, the user setting information includes third user setting data;
[0172] In an optional manner, the user setting information includes third user setting data, and the verification module 440 is specifically configured to:
[0173] A consistency check is performed on the third user setting data and the first user setting data to obtain a first check result.
[0174] In an optional manner, the user setting information includes a first user setting summary value, and the verification module 440 is specifically configured to:
[0175] Calculating a second user setting summary value corresponding to the first user setting data;
[0176] A consistency check is performed on the first user setting data and the second user setting data to obtain a first check result.
[0177] Figure 5 FIG2 shows a schematic diagram of the structure of the second embodiment of the OTA upgrade device provided by the present invention. Figure 5 As shown, the OTA upgrade device 500 is applied to a server and includes: a receiving module 510 , a generating module 520 and a sending module 530 .
[0178] A receiving module 510 is configured to receive an OTA upgrade request sent by an electronic device, where the OTA upgrade request includes user setting information of each controller;
[0179] A generating module 520 is configured to generate OTA upgrade information according to the OTA upgrade request, where the OTA upgrade information includes OTA upgrade tasks for each controller and user setting information;
[0180] The sending module 530 is used to send OTA upgrade information to the electronic device.
[0181] As can be seen from the above, the OTA upgrade apparatus 400 and OTA upgrade apparatus 500 provided in the embodiments of the present invention can not only verify whether the parameter values set by the user have been changed after the OTA upgrade, but also correct the parameter values after they have been modified. This ensures that the parameter values set by the user are retained after the upgrade, eliminating the need for the user to reconfigure them and ensuring a better user experience.
[0182] Figure 6The schematic diagram of the structure of an embodiment of the electronic device provided by the present invention is shown. The specific embodiment of the present invention does not limit the specific implementation of the electronic device.
[0183] like Figure 6 As shown, the electronic device may include: a processor (processor) 602 , a communication interface (Communications Interface) 604 , a memory (memory) 606 , and a communication bus 608 .
[0184] Processor 602, communication interface 604, and memory 606 communicate with each other via communication bus 608. Communication interface 604 is used to communicate with other devices, such as clients or other server network elements. Processor 602 is used to execute program 610, which may specifically perform the steps described in the embodiment of the OTA upgrade method for electronic devices.
[0185] Specifically, the program 610 may include program code including computer-executable instructions.
[0186] Processor 602 may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement embodiments of the present invention. The one or more processors included in an electronic device may be processors of the same type, such as one or more CPUs, or processors of different types, such as one or more CPUs and one or more ASICs.
[0187] The memory 606 is used to store the program 610. The memory 606 may include a high-speed RAM memory, and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.
[0188] Program 610 may be specifically invoked by processor 602 to enable electronic device / OTA upgrade apparatus 400 to perform the following operations:
[0189] When it is detected that an OTA upgrade is required for the target vehicle, an OTA upgrade request is sent to the server, and the OTA upgrade request includes user setting information of each controller;
[0190] Receive OTA upgrade information returned by the server, which includes OTA upgrade tasks and user settings for each controller;
[0191] According to the OTA upgrade information, execute the corresponding OTA upgrade task for each controller;
[0192] For any controller that has completed the corresponding OTA upgrade task, perform a consistency check on the first user setting data in the controller according to the user setting information corresponding to the controller to obtain a first verification result;
[0193] If the first verification result indicates that the verification is passed, it is determined that the controller upgrade is successful.
[0194] In an optional manner, the program 610 may be specifically called by the processor 602 to enable the electronic device / OTA upgrade apparatus 400 to further perform the following operations:
[0195] If the first verification result indicates that the verification fails, obtaining the second user setting data before the controller is upgraded and writing it into the controller;
[0196] Performing a consistency check on the current user setting data in the controller according to the user setting information corresponding to the controller to obtain a second verification result;
[0197] If the second verification result indicates that the verification is passed, it is determined that the controller upgrade is successful.
[0198] In an optional manner, obtaining the second user setting data before the controller is upgraded and writing it into the controller includes:
[0199] Obtain the second user setting data before the controller upgrade from the local;
[0200] Performing a consistency check between the user setting information corresponding to the controller and the second user setting data to obtain a third verification result;
[0201] If the third verification result indicates that the verification is passed, the second user setting data is written into the controller.
[0202] In an optional manner, the program 610 may be specifically called by the processor 602 to enable the electronic device / OTA upgrade apparatus 400 to further perform the following operations:
[0203] If the second verification result or the third verification result indicates that the verification fails, the controller is upgraded and rolled back.
[0204] In an optional manner, the user setting information includes third user setting data; performing a consistency check on the first user setting data in the controller according to the user setting information corresponding to the controller to obtain a first check result includes:
[0205] A consistency check is performed on the third user setting data and the first user setting data to obtain a first check result.
[0206] In an optional manner, the user setting information includes a first user setting summary value; performing a consistency check on the first user setting data in the controller according to the user setting information corresponding to the controller to obtain a first check result includes:
[0207] Calculating a second user setting summary value corresponding to the first user setting data;
[0208] A consistency check is performed on the first user setting data and the second user setting data to obtain a first check result.
[0209] Figure 7 The schematic diagram of the structure of an embodiment of the server provided by the present invention is shown. The specific embodiment of the present invention does not limit the specific implementation of the server.
[0210] like Figure 7 As shown, the server may include: a processor (processor) 702 , a communications interface (Communications Interface) 704 , a memory (memory) 706 , and a communication bus 708 .
[0211] Processor 702, communication interface 704, and memory 706 communicate with each other via communication bus 708. Communication interface 704 is used to communicate with other devices, such as clients or other server network elements. Processor 702 is used to execute program 710, which may specifically perform the steps described in the above-mentioned server-side OTA upgrade method embodiment.
[0212] Specifically, the program 710 may include program code including computer-executable instructions.
[0213] Processor 702 may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement embodiments of the present invention. The one or more processors included in the server may be processors of the same type, such as one or more CPUs, or processors of different types, such as one or more CPUs and one or more ASICs.
[0214] The memory 706 is used to store the program 710. The memory 706 may include a high-speed RAM memory, and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.
[0215] Program 710 may be specifically invoked by processor 702 to cause server / OTA upgrade device 500 to perform the following operations:
[0216] Receiving an OTA upgrade request sent by an electronic device, the OTA upgrade request including user setting information of each controller;
[0217] Generate OTA upgrade information based on OTA upgrade request, which includes OTA upgrade tasks of each controller and user setting information;
[0218] Send OTA upgrade information to electronic devices.
[0219] Thus, the electronic device and server provided by the embodiments of the present invention can not only verify whether the parameter values set by the user have been changed after an OTA upgrade, but can also correct the parameter values after they have been modified. This ensures that the parameter values set by the user are retained after the upgrade, eliminating the need for the user to reconfigure them and ensuring a better user experience.
[0220] An embodiment of the present invention provides a computer-readable storage medium storing at least one executable instruction. When the executable instruction runs on an electronic device or a server, the electronic device or the server executes the corresponding OTA upgrade information method in any of the above method embodiments.
[0221] The executable instructions may be specifically used to enable the electronic device / OTA upgrade apparatus 400 to perform the following operations:
[0222] When it is detected that an OTA upgrade is required for the target vehicle, an OTA upgrade request is sent to the server, and the OTA upgrade request includes user setting information of each controller;
[0223] Receive OTA upgrade information returned by the server, which includes OTA upgrade tasks and user settings for each controller;
[0224] According to the OTA upgrade information, execute the corresponding OTA upgrade task for each controller;
[0225] For any controller that has completed the corresponding OTA upgrade task, perform a consistency check on the first user setting data in the controller according to the user setting information corresponding to the controller to obtain a first verification result;
[0226] If the first verification result indicates that the verification is passed, it is determined that the controller upgrade is successful.
[0227] In an optional manner, the executable instructions may also be used to enable the electronic device / OTA upgrade apparatus 400 to perform the following operations:
[0228] If the first verification result indicates that the verification fails, obtaining the second user setting data before the controller is upgraded and writing it into the controller;
[0229] Performing a consistency check on the current user setting data in the controller according to the user setting information corresponding to the controller to obtain a second verification result;
[0230] If the second verification result indicates that the verification is passed, it is determined that the controller upgrade is successful.
[0231] In an optional manner, obtaining the second user setting data before the controller is upgraded and writing it into the controller includes:
[0232] Obtain the second user setting data before the controller upgrade from the local;
[0233] Performing a consistency check between the user setting information corresponding to the controller and the second user setting data to obtain a third verification result;
[0234] If the third verification result indicates that the verification is passed, the second user setting data is written into the controller.
[0235] In an optional manner, in an optional manner, the executable instructions may be further used to enable the electronic device / OTA upgrade apparatus 400 to perform the following operations:
[0236] If the second verification result or the third verification result indicates that the verification fails, the controller is upgraded and rolled back.
[0237] In an optional manner, the user setting information includes third user setting data; performing a consistency check on the first user setting data in the controller according to the user setting information corresponding to the controller to obtain a first check result includes:
[0238] A consistency check is performed on the third user setting data and the first user setting data to obtain a first check result.
[0239] In an optional manner, the user setting information includes a first user setting summary value; performing a consistency check on the first user setting data in the controller according to the user setting information corresponding to the controller to obtain a first check result includes:
[0240] Calculating a second user setting summary value corresponding to the first user setting data;
[0241] A consistency check is performed on the first user setting data and the second user setting data to obtain a first check result.
[0242] Alternatively, the executable instructions may be specifically configured to cause the server / OTA upgrade device 500 to perform the following operations:
[0243] Receiving an OTA upgrade request sent by an electronic device, the OTA upgrade request including user setting information of each controller;
[0244] Generate OTA upgrade information based on OTA upgrade request, which includes OTA upgrade tasks of each controller and user setting information;
[0245] Send OTA upgrade information to electronic devices.
[0246] Therefore, in this embodiment of the present invention, it is not only possible to verify whether the parameter values set by the user have been changed after the OTA upgrade, but also to correct the parameter values after they have been modified. This ensures that the parameter values set by the user are retained after the upgrade, eliminating the need for the user to re-set them, thus ensuring a better user experience.
[0247] The algorithms or displays provided herein are not inherently related to any particular computer, virtual system or other device. In addition, the embodiments of the present invention are not directed to any particular programming language.
[0248] In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the present invention may be practiced without these specific details. Similarly, in order to streamline the present invention and aid in understanding one or more of the various inventive aspects, in the above description of exemplary embodiments of the present invention, various features of embodiments of the present invention are sometimes grouped together into a single embodiment, figure, or description thereof. The claims that follow the detailed description are hereby expressly incorporated into that detailed description, with each claim itself being identified as a separate embodiment of the present invention.
[0249] Those skilled in the art will appreciate that the modules in the devices of the embodiments can be adaptively changed and installed in one or more devices different from the embodiments. The modules, units, or components in the embodiments can be combined into one module, unit, or component, and furthermore, they can be divided into multiple submodules, subunits, or subcomponents. Except that at least some of such features and / or processes or units are mutually exclusive.
[0250] It should be noted that the above embodiments illustrate rather than limit the invention, and that alternative embodiments may be devised by a person skilled in the art without departing from the scope of the appended claims. In the claims, any reference signs placed between brackets should not be construed as limiting the claims. The word "comprising" does not exclude the presence of elements or steps not listed in the claims. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The present invention may be implemented by means of hardware comprising several different elements and by means of appropriately programmed computers. In a unit claim enumerating several means, several of these means may be embodied by the same item of hardware. The use of the words first, second, and third etc. does not indicate any order. These words may be interpreted as names. The steps in the above embodiments should not be understood as limiting the order of execution unless otherwise specified.
Claims
1. An OTA upgrade method, characterized in that: Applied to electronic equipment, the method comprises: When it is detected that the target vehicle needs to be upgraded by over-the-air download technology OTA, an OTA upgrade request is sent to the server, wherein the OTA upgrade request includes user setting information of each controller; Receiving OTA upgrade information returned by the server, wherein the OTA upgrade information includes OTA upgrade tasks of each controller and the user setting information; According to the OTA upgrade information, execute corresponding OTA upgrade tasks on each controller; For any controller that has completed the corresponding OTA upgrade task, performing a consistency check on first user setting data in the controller according to user setting information corresponding to the controller to obtain a first check result; If the first verification result indicates that the verification is passed, it is determined that the controller is upgraded successfully.
2. The method according to claim 1, characterized in that The method further comprises: If the first verification result indicates that the verification fails, obtaining the second user setting data before the controller is upgraded and writing it into the controller; According to the user setting information corresponding to the controller, a consistency check is performed on the current user setting data in the controller to obtain a second check result; If the second verification result indicates that the verification is passed, it is determined that the controller is upgraded successfully.
3. The method according to claim 2, characterized in that The obtaining the second user setting data before the controller is upgraded and writing it into the controller comprises: locally obtain the second user setting data before the controller is upgraded; Performing a consistency check between the user setting information corresponding to the controller and the second user setting data to obtain a third verification result; If the third verification result indicates that the verification is passed, the second user setting data is written into the controller.
4. The method according to claim 3, characterized in that The method further comprises: If the second verification result or the third verification result indicates that the verification fails, the controller is upgraded and rolled back.
5. The method according to claim 1, characterized in that The user setting information includes third user setting data; and performing consistency verification on the first user setting data in the controller according to the user setting information corresponding to the controller to obtain a first verification result, including: Perform a consistency check on the third user setting data and the first user setting data to obtain the first check result.
6. The method according to claim 1, characterized in that The user setting information includes a first user setting summary value; and performing consistency verification on the first user setting data in the controller according to the user setting information corresponding to the controller to obtain a first verification result, including: Calculating a second user setting summary value corresponding to the first user setting data; A consistency check is performed on the first user setting data and the second user setting data to obtain the first check result.
7. An OTA upgrade method, characterized in that: Applied to a server, the method comprises: Receiving an over-the-air (OTA) upgrade request sent by an electronic device, wherein the OTA upgrade request includes user setting information of each controller; Generate OTA upgrade information according to the OTA upgrade request, wherein the OTA upgrade information includes the OTA upgrade tasks of each controller and the user setting information; The OTA upgrade information is sent to the electronic device.
8. An electronic device, characterized in that: include: A processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface communicate with each other via the communication bus; The memory is used to store at least one executable instruction, and the executable instruction enables the processor to perform the operation of the OTA upgrade method as described in any one of claims 1-6.
9. A server, characterized in that: include: A processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface communicate with each other via the communication bus; The memory is used to store at least one executable instruction, and the executable instruction enables the processor to perform the operation of the OTA upgrade method as described in claim 7.
10. A computer-readable storage medium, characterized in that: The storage medium stores at least one executable instruction. When the executable instruction is executed on an electronic device or a server, the electronic device executes the operation of the OTA upgrade method as described in any one of claims 1 to 6, or the server executes the operation of the OTA upgrade method as described in claim 7.