Vehicle end software upgrading method and system of centralized architecture, medium and program product
Through the vehicle-side software upgrade method with a centralized architecture, the vehicle-side and cloud communication synchronize the upgrade task and download the software upgrade package, solving the problem of software upgrade dependence on controller system upgrade in the existing technology, and achieving higher software upgrade flexibility.
Patent Information
- Application Number
- CN202411684558.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-22
- Publication Date
- 2025-03-18
AI Technical Summary
In the existing technology, software upgrades can only be achieved by relying on controller system upgrades, and software upgrades cannot be upgraded separately, resulting in low flexibility in software upgrades.
By providing a centralized architecture, the vehicle terminal communicates with the cloud, synchronizes the upgrade and update tasks of the target software, downloads the software upgrade package, and performs software upgrade when preset conditions are met.
It realizes the ability to perform software upgrades separately, decouple the controller system upgrade and software upgrade, and improves the flexibility of software upgrades.
Smart Images

Figure CN119645450A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of automobile technology, and in particular to a vehicle-side software upgrade method, system, medium and program product with a centralized architecture. Background Art
[0002] With the continuous advancement of technology, the level of intelligence of vehicles is getting higher and higher. The level of intelligence of vehicles mainly depends on the software functions of various controllers on the vehicle, and the software of each controller needs to be updated from time to time to maintain or upgrade the software functions.
[0003] In the related art, the software update of each controller mainly adopts a centralized upgrade method, which mainly integrates the software to be upgraded into the controller system, and realizes the software upgrade and update in the process of upgrading the controller system. In other words, in the related art, the software upgrade can only be realized by relying on the controller system upgrade, and the software cannot be upgraded independently, resulting in low flexibility of software upgrade. Therefore, how to improve the flexibility of software upgrade is a problem that needs to be solved urgently. Summary of the invention
[0004] The embodiments of the present application provide a vehicle-side software upgrade method, system, medium and program product with a centrally centralized architecture, thereby solving the technical problem in the prior art that software upgrades can only be achieved by relying on controller system upgrades and the software cannot be upgraded independently, resulting in low flexibility in software upgrades. The embodiments of the present application achieve the technical effect of being able to upgrade the software independently, decoupling the controller system upgrade and the software upgrade, and improving the flexibility of the software upgrade.
[0005] In a first aspect, the present application provides a vehicle-side software upgrade method with a centralized architecture, which is applied to a vehicle-side, the vehicle-side communicates with the cloud, and the method includes:
[0006] In response to a vehicle-side power-on signal of the vehicle-side, synchronizing an upgrade task of target software from the cloud; the target software refers to software whose actual version in the vehicle-side is not the latest version;
[0007] In response to a download trigger signal from the vehicle end that meets a preset download condition, downloading a software upgrade package corresponding to the upgrade task from the cloud;
[0008] After responding to the download completion signal of the software upgrade package, it is determined that the target upgrade time has arrived and the vehicle end meets the preset vehicle upgrade conditions, and the software upgrade package is used to upgrade the target software.
[0009] Furthermore, in response to the vehicle-side power-on signal of the vehicle-side, synchronizing the upgrade and update task of the target software from the cloud includes:
[0010] In response to the vehicle-side power-on signal of the vehicle-side, receiving the upgrade task of the target software issued by the cloud; or,
[0011] In response to the vehicle-side power-on signal of the vehicle-side, query and obtain the upgrade task of the target software from the cloud.
[0012] Furthermore, in the process of downloading the software upgrade package corresponding to the upgrade task from the cloud, the method further includes:
[0013] Monitoring whether the vehicle terminal satisfies the preset downloading condition;
[0014] If the vehicle end does not meet the preset download condition, interrupt the download process of the software upgrade package, and continue to monitor whether the vehicle end meets the preset download condition again;
[0015] When the vehicle terminal meets the preset download condition again, the software upgrade package is downloaded at a breakpoint, and the step of monitoring whether the vehicle terminal meets the preset download condition is returned to be executed until the software upgrade package completes the download process;
[0016] An integrity check is performed on the software upgrade package that has completed the download process, and the download completion signal is generated when the software upgrade package passes the integrity check.
[0017] Further, after responding to a download completion signal of the software upgrade package, the method further includes:
[0018] Control the display interface of the vehicle end to display a reservation upgrade button and a temporary non-upgrade button;
[0019] In response to a reservation upgrade signal generated by the reservation upgrade button being triggered by the user, controlling the display interface to display a reservation parameter input interface, receiving the target upgrade time input by the user on the reservation parameter input interface, and generating and storing a reservation upgrade instruction including the target upgrade time;
[0020] In response to the user triggering the no upgrade signal generated by the no upgrade button, the display interface is controlled to return to the step of controlling the display interface of the vehicle to display the appointment upgrade button and the no upgrade button when the vehicle generates the vehicle power-on signal next time.
[0021] Further, in response to the target upgrade time being reached and the vehicle end meeting the preset upgrade condition of the vehicle to generate an upgrade trigger signal, using the software upgrade package to upgrade the target software of the corresponding controller includes:
[0022] When the target upgrade time is reached, detecting whether the vehicle terminal meets the preset upgrade conditions of the vehicle;
[0023] When the vehicle terminal satisfies the preset vehicle upgrade condition, generating the upgrade trigger signal;
[0024] In response to the upgrade trigger signal, controlling the vehicle end to switch to an upgrade mode;
[0025] Performing decryption and signature verification operations on the software upgrade package;
[0026] After the decryption operation and the signature verification operation, determining whether the controller corresponding to the target software meets a preset controller upgrade condition;
[0027] When the controller corresponding to the target software meets the preset upgrade condition of the controller, the target software is upgraded using the software upgrade package that has passed the decryption operation and the signature verification operation.
[0028] Further, in response to the upgrade trigger signal generated when the target upgrade time is reached and the vehicle end satisfies the preset upgrade condition of the vehicle, after the target software is upgraded using the software upgrade package, the method further includes:
[0029] Detecting whether the version corresponding to the target software is the same as the version corresponding to the software upgrade package;
[0030] When the version corresponding to the target software is the same as the version corresponding to the software upgrade package, a prompt message of successful software upgrade is sent to the cloud;
[0031] When the version corresponding to the target software is different from the version corresponding to the software upgrade package, a prompt message indicating that the software upgrade has failed is sent to the cloud.
[0032] In a second aspect, the present application provides a vehicle-side software upgrade method with a centralized architecture, which is applied to a cloud, the cloud communicating with the vehicle-side, and the method comprising:
[0033] In response to a vehicle-side power-on signal sent by the vehicle-side, collecting and storing actual versions corresponding to various software of the vehicle-side;
[0034] When the actual versions respectively corresponding to the software on the vehicle end include non-latest versions, generating an upgrade task for the target software corresponding to the non-latest version;
[0035] The upgrade and update task is synchronized with the vehicle end so that the vehicle end can execute the upgrade and update task.
[0036] In a third aspect, the present application provides a vehicle-side software upgrade system with a centralized architecture, the system is applied to a vehicle-side, the vehicle-side communicates with the cloud, and the system includes:
[0037] The vehicle-cloud communication service module is used to synchronize the upgrade and update tasks of the target software from the cloud in response to the vehicle-side power-on signal of the vehicle-side; the target software refers to the software whose actual version in the vehicle-side is not the latest version;
[0038] A task management service module, used for generating a download trigger signal and sending it to the software package download service module when the vehicle terminal meets the preset download conditions;
[0039] The software package download service module is used to respond to the download trigger signal of the vehicle end meeting the preset download condition, download the software upgrade package corresponding to the upgrade task from the cloud, and send a download completion signal to the task management service module after the download of the software upgrade package is completed;
[0040] The vehicle upgrade execution service module is used to determine that the target upgrade time has arrived and the vehicle side meets the preset vehicle upgrade conditions after responding to the download completion signal of the software upgrade package, and use the software upgrade package to upgrade the target software.
[0041] Furthermore, the system further comprises:
[0042] The vehicle mode management service module is used to receive the upgrade trigger signal generated by the task management service module when the target upgrade time is reached and the vehicle end meets the vehicle preset upgrade conditions, and control the vehicle end to switch to the upgrade mode, so that the vehicle upgrade execution service module receives the upgrade trigger signal generated by the task management service module when the target upgrade time is reached and the vehicle end meets the vehicle preset upgrade conditions in the upgrade mode, and uses the software upgrade package to upgrade the target software.
[0043] Furthermore, the system further comprises:
[0044] The vehicle asset collection service module is used to collect the part version, hardware version and software version of each controller in the vehicle end, and send the actual version of the parts, hardware and software corresponding to each controller to the cloud through the vehicle-cloud communication service module, so that the cloud can store the actual version, and when the actual versions corresponding to the various software on the vehicle end include non-latest versions, generate the upgrade and update tasks of the target software corresponding to the non-latest version, synchronize the upgrade and update tasks with the vehicle end, so that the vehicle end can execute the upgrade and update tasks.
[0045] Furthermore, the system further comprises:
[0046] The software package decryption and signature verification service module is used to decrypt and verify the software upgrade package during the process in which the vehicle upgrade execution service module uses the software upgrade package to upgrade the target software, so that the vehicle upgrade execution service module can determine whether the controller corresponding to the target software meets the preset upgrade conditions of the controller after the software upgrade package passes the decryption operation and the signature verification operation; if the controller corresponding to the target software meets the preset upgrade conditions of the controller, the target software is upgraded using the software upgrade package that has passed the decryption operation and the signature verification operation.
[0047] In a fourth aspect, the present application provides a non-temporary computer-readable storage medium. When the instructions in the storage medium are executed by a processor of an electronic device, the electronic device is enabled to execute a vehicle-side software upgrade method that implements a centralized architecture as provided in the first aspect, or is enabled to execute a vehicle-side software upgrade method that implements a centralized architecture as provided in the second aspect.
[0048] In a fifth aspect, the present application provides a computer program product comprising computer instructions, which are executed by a processor to implement a vehicle-side software upgrade method with a centralized architecture as provided in the first aspect, or to enable an electronic device to execute a vehicle-side software upgrade method with a centralized architecture as provided in the second aspect.
[0049] One or more technical solutions provided in the embodiments of the present application have at least the following technical effects or advantages:
[0050] In the embodiment of the present application, the vehicle side responds to the vehicle-side power-on signal of the vehicle side, and synchronizes the upgrade and update tasks of the target software from the cloud; in response to the download trigger signal of the vehicle side satisfying the preset download conditions, the software upgrade package corresponding to the upgrade and update task is downloaded from the cloud; after responding to the download completion signal of the software upgrade package, it is determined that the target upgrade time has been reached and the vehicle side meets the preset upgrade conditions of the vehicle, and the target software is upgraded using the software upgrade package. It can be seen that the embodiment of the present application circumvents the method in the related art that software upgrades can only be achieved by relying on controller system upgrades. The embodiment of the present application can upgrade the software separately, which improves the flexibility of software upgrades. When the software needs to be upgraded, it can be upgraded separately, no longer relying on the update of the controller system version, decoupling the controller system update process and the software update process, and improving the flexibility of software upgrades.
[0051] In the embodiment of the present application, the cloud responds to the vehicle-side power-on signal sent by the vehicle-side, collects and stores the actual versions corresponding to the various software on the vehicle-side, and generates an upgrade task for the target software corresponding to the non-latest version when the actual versions corresponding to the various software on the vehicle-side include non-latest versions, and synchronizes the upgrade task with the vehicle-side so that the vehicle-side can execute the upgrade task. It can be seen that the embodiment of the present application determines in the cloud whether there is software on the vehicle-side that needs to be upgraded. When there is software that needs to be upgraded, a software upgrade task is generated in the cloud and synchronized to the vehicle-side so that the vehicle-side can execute subsequent software upgrade tasks. In this way, the irregular update of the vehicle-side software can be realized, and the software can be directly updated without relying on the version update of the vehicle controller system, which improves the flexibility of the vehicle-side software update. BRIEF DESCRIPTION OF THE DRAWINGS
[0052] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following is a brief introduction to the drawings required for use in the description of the embodiments. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0053] Figure 1 A schematic diagram of the structure of the vehicle-side software upgrade architecture provided in an embodiment of the present application;
[0054] Figure 2 A schematic diagram of the structure of a vehicle-side software upgrade system provided in an embodiment of the present application;
[0055] Figure 3 A schematic diagram of a process flow of a vehicle-side software upgrade method in a centralized architecture applied to the cloud provided in an embodiment of the present application;
[0056] Figure 4 A schematic diagram of the process of building an upgrade task on the cloud provided in an embodiment of the present application;
[0057] Figure 5 A schematic diagram of the interaction process between the cloud and the vehicle side during the task synchronization process provided in an embodiment of the present application;
[0058] Figure 6 A flowchart of a vehicle-side software upgrade method of a centralized architecture applied to a vehicle-side provided in an embodiment of the present application;
[0059] Figure 7 A flowchart of the interaction between the cloud and vehicle-side modules during the download process provided in the embodiment of the present application;
[0060] Figure 8 A schematic diagram of the process of upgrading the reservation provided in the embodiment of the present application;
[0061] Fig. 9 A flowchart of the interaction between the cloud and vehicle-side modules during the reservation upgrade process provided in the embodiment of the present application;
[0062] Fig.10 A schematic diagram of a process for upgrading using a software upgrade package provided in an embodiment of the present application;
[0063] Fig.11 A schematic diagram of the interaction process between the cloud and vehicle-side modules during the upgrade process using the software upgrade package provided in an embodiment of the present application;
[0064] Fig.12 A schematic diagram of the interaction flow between the cloud-side and vehicle-side modules during the asset collection process provided in an embodiment of the present application. DETAILED DESCRIPTION
[0065] The embodiment of the present application provides a vehicle-side software upgrade method with a centralized architecture, thereby solving the technical problem in the prior art that software upgrade can only be achieved by relying on controller system upgrades and the software cannot be upgraded independently, resulting in low flexibility in software upgrades.
[0066] The technical solution of the embodiment of the present application is to solve the above technical problems, and the overall idea is as follows:
[0067] In the embodiment of the present application, the vehicle side responds to the vehicle-side power-on signal of the vehicle side, and synchronizes the upgrade and update tasks of the target software from the cloud; in response to the download trigger signal of the vehicle side satisfying the preset download conditions, the software upgrade package corresponding to the upgrade and update task is downloaded from the cloud; after responding to the download completion signal of the software upgrade package, it is determined that the target upgrade time has been reached and the vehicle side meets the preset upgrade conditions of the vehicle, and the target software is upgraded using the software upgrade package. It can be seen that the embodiment of the present application circumvents the method in the related art that software upgrades can only be achieved by relying on controller system upgrades. The embodiment of the present application can upgrade the software separately, which improves the flexibility of software upgrades. When the software needs to be upgraded, it can be upgraded separately, no longer relying on the update of the controller system version, decoupling the controller system update process and the software update process, and improving the flexibility of software upgrades.
[0068] In order to better understand the above technical solution, the above technical solution will be described in detail below in conjunction with the accompanying drawings and specific implementation methods.
[0069] First of all, the term "and / or" in this article is only a description of the association relationship of the associated objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship.
[0070] With the continuous advancement of technology, the level of intelligence of vehicles is getting higher and higher. The level of intelligence of vehicles mainly depends on the software functions of various controllers on the vehicle, and the software of each controller needs to be updated from time to time to maintain or upgrade the software functions.
[0071] In the related art, the software update of each controller mainly adopts a centralized upgrade method, which mainly integrates the software that needs to be upgraded into the controller system, and realizes the software upgrade and update in the process of upgrading the controller system. In other words, in the related art, software upgrade can only rely on the upgrade of the controller system to achieve software upgrade, and the software cannot be upgraded independently, resulting in low flexibility in software upgrade. For example, when the cockpit software needs to be upgraded, the upgraded cockpit software needs to be integrated into the controller where the cockpit software is located by the supplier of the controller where the cockpit software is located. The cockpit software can only be upgraded when the controller where the cockpit software is located needs to be upgraded, resulting in low flexibility in the cockpit software upgrade. Therefore, how to improve the flexibility of software upgrades is a problem that needs to be solved urgently.
[0072] In order to solve the above problems, the present application provides Figure 1 The vehicle-side software upgrade architecture shown specifically includes a vehicle-side and a cloud-end communicating with each other. The cloud-end refers to a cloud server or other cloud-end devices, and the vehicle-side refers to any vehicle that can communicate with the cloud-end.
[0073] The vehicle side specifically includes: Figure 2 The vehicle-side software upgrade system shown includes a vehicle-cloud communication service module, a software package download service module, a software package decryption and signature verification service module, a task management service module, a human-computer interaction service module, a vehicle mode management service module, a vehicle asset collection service module and a vehicle upgrade execution service module.
[0074] The communication between the vehicle and the cloud is realized through the vehicle-cloud communication service module. The software package download service module is used to download the software upgrade package from the cloud. The software package decryption and signature verification service module is used to decrypt and verify the software upgrade package. The human-computer interaction service module is used to display relevant information to the user through the display interface and receive user feedback. The vehicle mode management service module is used to connect with the vehicle mode module on the vehicle side to switch the vehicle module to the upgrade module when software upgrade is required. The vehicle asset collection service module is used to collect the part version, hardware version and software version of each controller on the vehicle side. The vehicle upgrade execution service module is used to upgrade the target software using the software upgrade package. The software package decryption and signature verification service module is used to decrypt and verify the software upgrade package during the process of the vehicle upgrade execution service module using the software upgrade package to upgrade the target software.
[0075] The embodiments of the present application provide a vehicle-side software upgrade method with a centrally centralized architecture corresponding to the cloud side and the vehicle side respectively. The vehicle-side software upgrade method with a centrally centralized architecture corresponding to the cloud side and the vehicle side will be described in detail below.
[0076] The present application embodiment provides Figure 3 A vehicle-side software upgrade method with a centralized architecture is shown, which is applied to the cloud, and the cloud communicates with the vehicle-side. The method includes steps S31 to S33.
[0077] Step S31, in response to a vehicle-side power-on signal sent by the vehicle-side, collecting and storing actual versions corresponding to various software on the vehicle-side;
[0078] Step S32, when the actual versions corresponding to the various software on the vehicle end include non-latest versions, generating an upgrade task for the target software corresponding to the non-latest version;
[0079] Step S33, synchronizing the upgrade task with the vehicle end so that the vehicle end can execute the upgrade task.
[0080] The cloud receives the vehicle-side power-on signal sent by the vehicle-side vehicle-to-cloud communication service module, and the cloud determines that the vehicle-side is in a powered-on state. Then, the cloud collects and stores the part versions, hardware versions, and software versions of each controller on the vehicle-side collected by the vehicle asset collection service module through the vehicle-to-cloud communication service module.
[0081] The cloud determines whether the actual versions corresponding to the various software on the vehicle side are the latest versions. If the actual versions of all software are the latest versions, it means that the vehicle side software does not need to be upgraded. If there is a target software whose actual version is not the latest version, it is necessary to generate an upgrade task according to the latest version corresponding to the target software. The number of target software can be one, two, or more.
[0082] The upgrade task may include a parameter file (such as a manifest file), which may include information such as the name and number of the target software to be upgraded, the latest upgrade version, the preset upgrade duration, and the download address of the software upgrade package.
[0083] The cloud can send the upgrade task to the vehicle side, and then synchronize the upgrade task with the vehicle side, so that the vehicle side can execute the upgrade task. Alternatively, the vehicle side can also actively query the cloud every day whether there is an upgrade task when it is powered on, and if there is an upgrade task, obtain the upgrade task from the cloud to synchronize the upgrade task, so that the vehicle side can execute the upgrade task.
[0084] In actual operation, you can refer to Figure 4 The flowchart of the cloud-based upgrade task is shown in the figure. The cloud receives the actual version sent by the vehicle and determines whether it is the latest version. If they are all the latest versions, it continues to wait for the next version query result of the vehicle. If they are not all the latest versions, an upgrade and update task corresponding to the target software of the non-latest version is generated. After that, there are two ways to synchronize the upgrade and update tasks to the vehicle. One way is that when the vehicle is powered on and there is no upgrade task locally on the vehicle, it actively queries the cloud once a day to see if there is an upgrade and update task, that is, the vehicle actively queries the cloud for upgrade tasks. Another way is that the cloud actively pushes the upgrade and update tasks to the vehicle. The two methods can also be used together, so that when there is an exception in the task sent from the cloud, the vehicle can actively query the cloud for tasks to avoid missing or losing tasks and improve the task synchronization rate between the cloud and the vehicle.
[0085] like Figure 5As shown, it is the interaction flow chart between the cloud and the vehicle side corresponding to the above two methods. In the scenario where the cloud actively pushes tasks, the cloud can remotely wake up the vehicle and send task instructions to the vehicle-to-cloud communication service module on the vehicle side. The vehicle-to-cloud communication service module notifies the task management service module that an upgrade task has been issued. The cloud sends the manifest file to the task management service module, and enters the software download process after the task is parsed. In the scenario where the vehicle side actively queries the cloud for upgrade tasks, the vehicle side wakes up locally, and the vehicle-to-cloud communication service module actively queries the cloud for tasks. If there are tasks, it notifies the task management service module that there are upgrade tasks. The cloud sends the manifest file to the task management service module, and enters the software download process after the task is parsed.
[0086] In summary, the embodiment of the present application responds to the vehicle-side power-on signal sent by the vehicle-side through the cloud, collects and stores the actual versions corresponding to each software on the vehicle-side, and generates an upgrade task for the target software corresponding to the non-latest version when the actual versions corresponding to each software on the vehicle-side include non-latest versions, and synchronizes the upgrade task with the vehicle-side so that the vehicle-side can execute the upgrade task. It can be seen that the embodiment of the present application determines in the cloud whether there is software on the vehicle-side that needs to be upgraded. When there is software that needs to be upgraded, a software upgrade task is generated in the cloud and synchronized to the vehicle-side so that the vehicle-side can execute subsequent software upgrade tasks. In this way, irregular updates of the vehicle-side software can be achieved, and the software can be directly updated without relying on the version update of the vehicle controller system, thereby improving the flexibility of vehicle-side software updates.
[0087] The present application embodiment provides Figure 6 A vehicle-side software upgrade method with a centralized architecture is shown, which is applied to the vehicle-side, and the vehicle-side communicates with the cloud. The method includes steps S61 to S64.
[0088] Step S61, in response to a vehicle-side power-on signal of the vehicle side, synchronizing an upgrade task of the target software from the cloud; the target software refers to software whose actual version in the vehicle side is not the latest version;
[0089] Step S62, in response to a download trigger signal from the vehicle end that meets a preset download condition, downloading a software upgrade package corresponding to the upgrade task from the cloud;
[0090] Step S64, after responding to the download completion signal of the software upgrade package, it is determined that the target upgrade time has arrived and the vehicle end meets the preset vehicle upgrade conditions, and the target software is upgraded using the software upgrade package.
[0091] Regarding step S61, in response to the vehicle-side power-on signal of the vehicle side, the upgrade and update task of the target software is synchronized from the cloud; the target software refers to the software whose actual version in the vehicle side is not the latest version.
[0092] There are two ways to synchronize the upgrade and update tasks of the target software from the cloud. The first way is to respond to the vehicle-side power-on signal of the vehicle-side and receive the upgrade and update tasks of the target software issued by the cloud. The second way is to respond to the vehicle-side power-on signal of the vehicle-side and query and obtain the upgrade and update tasks of the target software from the cloud. For details of these two ways, please refer to Figure 4 and Figure 5 The relevant description content of the embodiment of the present application will not be repeated here.
[0093] Regarding step S62, in response to the download trigger signal from the vehicle side that meets the preset download conditions, the software upgrade package corresponding to the upgrade task is downloaded from the cloud.
[0094] The preset download conditions at least include: the vehicle is powered on, the vehicle's travel speed is below a preset speed (eg, 60 km / h), and the vehicle's battery remaining power is above a preset remaining power (eg, 60%).
[0095] Downloading the software upgrade package when the vehicle is powered on, that is, downloading the software upgrade package silently during vehicle use, avoids consuming the entire vehicle's power when the vehicle is not in use, and improves the user experience. If the software upgrade package is downloaded during non-use periods, the user will find that the power level is significantly reduced when the user gets in the vehicle next time, which may easily lead the user to believe that there is something wrong with the battery or vehicle, causing user complaints. Silently downloading the software upgrade package during vehicle use allows users to know the download process of the software upgrade package, eliminates users' concerns about reduced power, and improves user experience.
[0096] Downloading the software upgrade package when the vehicle's driving speed is below a preset speed (for example, 60KM / h) can save the vehicle's bandwidth during high-speed driving, and use more bandwidth to provide navigation or other traffic services for the vehicle, reducing the impact of software upgrade package downloads on the vehicle's driving process and improving user experience.
[0097] When the vehicle's battery remaining power is above a preset remaining power (for example, 60%), the software upgrade package is downloaded to ensure that more of the vehicle's remaining power is used for battery life, reduce the user's anxiety about power consumption during driving, and improve the user experience.
[0098] The task management service module monitors whether the vehicle side meets the preset download conditions. If so, a download trigger signal is generated and sent to the software package download service module. The software package download service module responds to the download trigger signal that the vehicle side meets the preset download conditions and downloads the software upgrade package corresponding to the upgrade task from the cloud.
[0099] In the process of downloading the software upgrade package corresponding to the upgrade task from the cloud, it is also necessary to continue to monitor whether the vehicle side meets the preset download condition. If the vehicle side does not meet the preset download condition, the download process of the software upgrade package is interrupted, and the vehicle side continues to monitor whether it meets the preset download condition again. If the vehicle side meets the preset download condition again, the software upgrade package is downloaded at a breakpoint, and the step of monitoring whether the vehicle side meets the preset download condition is returned to be executed until the download process of the software upgrade package is completed.
[0100] For example, in the process of downloading the software upgrade package corresponding to the upgrade and update task from the cloud, if the vehicle is in a sleep state, a reset state or other abnormal scenarios and does not meet the preset download conditions, the download process of the software upgrade package is interrupted. If the preset download conditions are met again, the download process of the software upgrade package is continued by using the breakpoint resume download method until the download process of the software upgrade package is completed.
[0101] Determining whether the software upgrade package has completed the download process may specifically be comparing the software upgrade package with the manifest file. When the downloaded software upgrade package completely matches the manifest file, it is considered that the software upgrade package has completed the download process.
[0102] The software upgrade package that has completed the download process is subjected to an integrity check, and the download completion signal is generated when the software upgrade package passes the integrity check. The integrity check can be implemented using a related algorithm, which is not described in detail in the embodiment of the present application.
[0103] like Figure 7 The figure shows the interaction flow chart between the cloud and vehicle modules during the download process. The task management service module determines whether the preset download conditions are met. If so, it notifies the software package download service module to download the software upgrade package, and the software package download service module performs integrity verification. During the download process, the software package download service module, the task management service module, and the vehicle-cloud communication service module report the download progress to the cloud in turn.
[0104] Regarding step S63, after responding to the download completion signal of the software upgrade package, it is determined that the target upgrade time has arrived and the vehicle side meets the preset vehicle upgrade conditions, and the software upgrade package is used to upgrade the target software.
[0105] The target upgrade time may be set by the user after responding to a download completion signal of the software upgrade package. For example, in response to a download completion signal of the software upgrade package, the user's scheduled upgrade instruction for the software upgrade package may be received and stored; the scheduled upgrade instruction includes the target upgrade time.
[0106] Further, in response to the download completion signal of the software upgrade package, the task management service module controls the human-computer interaction service module to control the display interface of the vehicle end to display a reservation upgrade button and a temporary non-upgrade button. In addition, the user can also be prompted by voice to select the reservation upgrade button or the temporary non-upgrade button.
[0107] When the user triggers the preset upgrade button through the screen or voice, the task management service module responds to the reservation upgrade signal generated by the user triggering the reservation upgrade button, controls the display interface to display the reservation parameter input interface, receives the target upgrade time entered by the user on the reservation parameter input interface, and generates and stores the reservation upgrade instruction containing the target upgrade time.
[0108] When the user triggers the no upgrade button through the screen or voice, the task management service module responds to the no upgrade signal generated by the user triggering the no upgrade button, and controls the display interface to return to the step of controlling the display interface of the vehicle to display the appointment upgrade button and the no upgrade button when the vehicle generates the vehicle power-on signal next time.
[0109] like Figure 8 The figure shows a flowchart of the appointment upgrade process. After the software upgrade package is downloaded, a pop-up window will be displayed on the display interface to display the task content of the current software upgrade package, as well as a button for appointment upgrade and a button for not upgrading for the time being. Selecting the appointment upgrade button will enter the appointment time page, which includes options for custom time and default time for the user to choose. After the user selects the appointment time, determine whether the appointment confirmation has been received. If so, a pop-up window will display that the appointment is successful and exit the pop-up window display. If no appointment confirmation is received, reselect the appointment time. When the number of retries is greater than the preset number (for example, 3 times), the appointment fails and prompts you to enter the system version of the setting interface for rescheduling. When the user chooses not to upgrade for the time being, the interface will be exited, and the next time the vehicle is powered on, a pop-up window will be displayed to display the task content of the current software upgrade package, as well as a button for appointment upgrade and a button for not upgrading for the time being.
[0110] like Fig. 9The figure shows the interaction flow chart between the cloud and vehicle modules during the appointment upgrade process. After generating the download completion signal, the task management service module sends a pop-up window instruction and content to the human-computer interaction service module. The human-computer interaction service module returns the user's choice to the task management service module. If the user chooses not to upgrade for the time being, the pop-up window will be displayed again the next time the vehicle is powered on. If the user selects an upgrade time, the upgrade time will be stored, and the user's appointment status and time will be reported to the cloud through the vehicle-cloud communication service module.
[0111] It should be noted that the reservation interface in the embodiment of the present application only includes reservation upgrade and temporary non-upgrade, which can reduce the probability of users triggering the upgrade operation by mistake and improve driving safety. For example, when the user is waiting for the traffic light, if the immediate upgrade is triggered by mistake, the vehicle will immediately enter the upgrade process if the preset upgrade conditions are met, causing the vehicle to stop abnormally in front of the traffic light and not move forward, which poses a safety hazard.
[0112] The vehicle preset upgrade conditions may include vehicle speed, gear, lock, door, battery, parking and other related states. Usually, the silent upgrade can be performed when the user is not using the vehicle, reducing the chance of the user accidentally triggering the vehicle during the software upgrade process, resulting in upgrade failure, and increasing the upgrade success rate.
[0113] Specifically, when the target upgrade time is reached, the task management service module can detect whether the vehicle side meets the vehicle preset upgrade conditions; when the vehicle side meets the vehicle preset upgrade conditions, the upgrade trigger signal is generated; the task management service module sends the upgrade trigger signal to the vehicle mode management service module and the vehicle upgrade execution service module.
[0114] The vehicle mode management service module controls the vehicle end to switch to the upgrade mode in response to the upgrade trigger signal. The vehicle upgrade execution service module triggers the software package decryption and signature verification module to perform decryption and signature verification operations on the software upgrade package. After the software upgrade package passes the decryption operation and the signature verification operation of the software package decryption and signature verification module, the vehicle upgrade execution service module determines whether the controller corresponding to the target software meets the preset controller upgrade conditions. If the controller corresponding to the target software meets the preset controller upgrade conditions, the vehicle upgrade execution service module uses the software upgrade package that has passed the decryption operation and the signature verification operation to upgrade the target software.
[0115] The controller preset upgrade conditions include that the controller is not in a reset state, the controller is in a high voltage state or a low voltage state, etc. Different controllers may correspond to different controller preset upgrade conditions, for example, some controllers need to be upgraded in a low voltage state, and some controllers need to be upgraded in a high voltage state.
[0116] Before entering the upgrade process, you need to set the execution time of the current upgrade task. The software needs to be upgraded within the execution time. If the upgrade is still not completed at the end of the execution time, the upgrade process will end and wait until the preset upgrade conditions are met next time to continue the upgrade. If the preset upgrade conditions of the vehicle are not met when the target upgrade time is reached, the upgrade will be postponed for a certain period of time (for example, 24 hours) and the user will be notified of the upgrade task delay. Switching the vehicle end to the upgrade module can turn off some functions of the vehicle end and reduce the probability of abnormal situations during the vehicle upgrade process.
[0117] like Fig.10 The figure shows a flowchart of upgrading using a software upgrade package. After reaching the target upgrade time, determine whether the vehicle meets the preset upgrade conditions. If not, a pop-up window will prompt that the upgrade task will be postponed for 24 hours, and prompt that you can enter the preset path to make an upgrade appointment. If the preset upgrade conditions of the vehicle are met, the vehicle will be controlled to enter the upgrade mode, set the task duration, decrypt and verify the signature of the software package, flash the high voltage or flash the low voltage of the controller, and then judge the controller's preset upgrade conditions. If the preset upgrade conditions of the controller are met, the upgrade will be carried out. After the upgrade is completed, the upgrade version can be confirmed.
[0118] The upgrade version confirmation can be to detect whether the version corresponding to the target software is the same as the version corresponding to the software upgrade package; if the version corresponding to the target software is the same as the version corresponding to the software upgrade package, a prompt message of successful software upgrade is sent to the cloud; if the version corresponding to the target software is not the same as the version corresponding to the software upgrade package, a prompt message of failed software upgrade is sent to the cloud.
[0119] like Fig.11 The figure shows the interaction flow between the cloud and vehicle-side modules during the upgrade process using the software upgrade package. After the upgrade time is reached, the task management service module determines whether the vehicle meets the preset upgrade conditions of the vehicle. If so, it sends an instruction to the vehicle mode management service module for the vehicle to enter the upgrade mode. In addition, the task management service module sends an upgrade installation instruction to the vehicle upgrade execution service module, the vehicle upgrade execution service module sends a software decryption and signature verification instruction to the decryption and signature verification service module, and the vehicle upgrade execution service module requests the vehicle mode management service module to control the vehicle power state, that is, to control the corresponding controller to be in a high-voltage state or a low-voltage state. The vehicle upgrade execution service module executes the software installation process and feeds back the software installation status to the task management service module. The task management service module sends the installation progress to the human-computer interaction service module and the vehicle-cloud communication service module, and the vehicle-cloud communication service module feeds back the installation progress to the cloud.
[0120] In addition, the vehicle asset collection service module is the prerequisite for determining whether the vehicle needs to upgrade the software. For details, please refer to Fig.12 , which is a flow chart of the interaction between the cloud and vehicle-side modules during the asset collection process. After the vehicle is powered on for a preset time (e.g., 5 minutes), the task management service module sends a vehicle asset collection instruction to the vehicle asset collection service module. The vehicle asset collection service module reports the vehicle asset information to the task management service module, which then reports the vehicle asset information to the cloud through the vehicle-cloud communication service module. The cloud determines whether the vehicle-side needs to perform a software upgrade.
[0121] The embodiment of the present application collects vehicle assets after each power-on of the vehicle, that is, collects version information of various vehicle hardware, controllers and software, and can timely update the user's replacement of hardware, controllers and software to ensure the accuracy of subsequent upgrade tasks.
[0122] In summary, the embodiment of the present application responds to the vehicle-side power-on signal of the vehicle-side at the vehicle-side, and synchronizes the upgrade and update tasks of the target software from the cloud; responds to the download trigger signal of the vehicle-side meeting the preset download conditions, and downloads the software upgrade package corresponding to the upgrade and update task from the cloud; after responding to the download completion signal of the software upgrade package, it is determined that the target upgrade time has arrived and the vehicle-side meets the preset upgrade conditions of the vehicle, and the target software is upgraded using the software upgrade package. It can be seen that the embodiment of the present application circumvents the method in the related art that software upgrades can only be achieved by relying on controller system upgrades. The embodiment of the present application can upgrade the software separately, which improves the flexibility of software upgrades. When the software needs to be upgraded, it can be upgraded separately, no longer relying on the update of the controller system version, decoupling the controller system update process and the software update process, and improving the flexibility of software upgrades.
[0123] Based on the same inventive concept, the embodiment of the present application provides a vehicle-side software upgrade system with a centralized architecture, the system is applied to the vehicle-side, the vehicle-side communicates with the cloud, and the system can refer to Figure 2 . Each module is described as follows.
[0124] The vehicle-cloud communication service module is used to synchronize the upgrade and update tasks of the target software from the cloud in response to the vehicle-side power-on signal of the vehicle-side; the target software refers to the software whose actual version in the vehicle-side is not the latest version;
[0125] A task management service module, used for generating a download trigger signal and sending it to the software package download service module when the vehicle terminal meets the preset download conditions;
[0126] The software package download service module is used to respond to the download trigger signal of the vehicle end meeting the preset download condition, download the software upgrade package corresponding to the upgrade task from the cloud, and send a download completion signal to the task management service module after the download of the software upgrade package is completed;
[0127] A human-computer interaction service module, configured to receive and store a user's scheduled upgrade instruction for the software upgrade package in response to the download completion signal sent by the task management service module; the scheduled upgrade instruction includes a target upgrade time;
[0128] The vehicle upgrade execution service module is used to receive the upgrade trigger signal generated by the task management service module when the target upgrade time is reached and the vehicle side meets the vehicle preset upgrade conditions, and use the software upgrade package to upgrade the target software.
[0129] The vehicle mode management service module is used to receive the upgrade trigger signal generated by the task management service module when the target upgrade time is reached and the vehicle end meets the vehicle preset upgrade conditions, and control the vehicle end to switch to the upgrade mode, so that the vehicle upgrade execution service module receives the upgrade trigger signal generated by the task management service module when the target upgrade time is reached and the vehicle end meets the vehicle preset upgrade conditions in the upgrade mode, and uses the software upgrade package to upgrade the target software.
[0130] The vehicle asset collection service module is used to collect the part version, hardware version and software version of each controller in the vehicle end, and send the actual version of the parts, hardware and software corresponding to each controller to the cloud through the vehicle-cloud communication service module, so that the cloud can store the actual version, and when the actual versions corresponding to the various software on the vehicle end include non-latest versions, generate the upgrade and update tasks of the target software corresponding to the non-latest version, synchronize the upgrade and update tasks with the vehicle end, so that the vehicle end can execute the upgrade and update tasks.
[0131] The software package decryption and signature verification service module is used to decrypt and verify the software upgrade package during the process in which the vehicle upgrade execution service module uses the software upgrade package to upgrade the target software, so that the vehicle upgrade execution service module can determine whether the controller corresponding to the target software meets the preset upgrade conditions of the controller after the software upgrade package passes the decryption operation and the signature verification operation; if the controller corresponding to the target software meets the preset upgrade conditions of the controller, the software upgrade package that has passed the decryption operation and the signature verification operation is used to upgrade the target software of the corresponding controller.
[0132] Based on the same inventive concept, an embodiment of the present application provides a non-temporary computer-readable storage medium. When the instructions in the storage medium are executed by the processor of an electronic device, the electronic device is enabled to execute a vehicle-side software upgrade method of a centrally centralized architecture applied to the vehicle-side as provided above, or the electronic device is enabled to execute a vehicle-side software upgrade method of a centrally centralized architecture applied to the cloud as provided above.
[0133] Based on the same inventive concept, an embodiment of the present application provides a computer program product, including computer instructions, which are executed by a processor to implement a vehicle-side software upgrade method with a centrally centralized architecture applied to the vehicle-side as provided above, or to enable an electronic device to execute a vehicle-side software upgrade method with a centrally centralized architecture applied to the cloud as provided above.
[0134] Since the electronic device introduced in this embodiment is an electronic device used to implement the information processing method in the embodiment of the present application, based on the information processing method introduced in the embodiment of the present application, a person skilled in the art can understand the specific implementation of the electronic device of the present embodiment and its various variations, so how the electronic device implements the method in the embodiment of the present application is not described in detail here. As long as a person skilled in the art implements the electronic device used by the information processing method in the embodiment of the present application, it belongs to the scope of protection of this application.
[0135] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.
[0136] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0137] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0138] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0139] Although the preferred embodiments of the present application have been described, those skilled in the art may make other changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications falling within the scope of the present application.
[0140] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.
Claims
1. A vehicle-side software upgrade method with a centralized architecture, characterized in that: Applied to a vehicle side, the vehicle side communicates with the cloud, and the method includes: In response to a vehicle-side power-on signal of the vehicle-side, synchronizing an upgrade task of target software from the cloud; the target software refers to software whose actual version in the vehicle-side is not the latest version; In response to a download trigger signal from the vehicle end that meets a preset download condition, downloading a software upgrade package corresponding to the upgrade task from the cloud; After responding to the download completion signal of the software upgrade package, it is determined that the target upgrade time has arrived and the vehicle end meets the preset vehicle upgrade conditions, and the software upgrade package is used to upgrade the target software.
2. The method according to claim 1, characterized in that The step of synchronizing the target software upgrade task from the cloud in response to the vehicle-side power-on signal of the vehicle-side includes: In response to the vehicle-side power-on signal of the vehicle-side, receiving the upgrade task of the target software issued by the cloud; or, In response to the vehicle-side power-on signal of the vehicle-side, query and obtain the upgrade task of the target software from the cloud.
3. The method according to claim 1, characterized in that In the process of downloading the software upgrade package corresponding to the upgrade task from the cloud, the method further includes: Monitoring whether the vehicle terminal satisfies the preset downloading condition; If the vehicle end does not meet the preset download condition, interrupt the download process of the software upgrade package, and continue to monitor whether the vehicle end meets the preset download condition again; When the vehicle terminal meets the preset download condition again, the software upgrade package is downloaded at a breakpoint, and the step of monitoring whether the vehicle terminal meets the preset download condition is returned to be executed until the software upgrade package completes the download process; An integrity check is performed on the software upgrade package that has completed the download process, and the download completion signal is generated when the software upgrade package passes the integrity check.
4. The method according to claim 1, characterized in that After responding to a download completion signal of the software upgrade package, the method further includes: Control the display interface of the vehicle end to display a reservation upgrade button and a temporary non-upgrade button; In response to a reservation upgrade signal generated by the reservation upgrade button being triggered by the user, controlling the display interface to display a reservation parameter input interface, receiving the target upgrade time input by the user on the reservation parameter input interface, and generating and storing a reservation upgrade instruction including the target upgrade time; In response to the user triggering the no upgrade signal generated by the no upgrade button, the display interface is controlled to return to the step of controlling the display interface of the vehicle to display the appointment upgrade button and the no upgrade button when the vehicle generates the vehicle power-on signal next time.
5. The method according to claim 1, characterized in that The step of responding to the upgrade trigger signal generated when the target upgrade time is reached and the vehicle end satisfies the preset upgrade condition of the vehicle, using the software upgrade package to upgrade the target software, comprises: When the target upgrade time is reached, detecting whether the vehicle terminal meets the preset upgrade conditions of the vehicle; When the vehicle terminal satisfies the preset vehicle upgrade condition, generating the upgrade trigger signal; In response to the upgrade trigger signal, controlling the vehicle end to switch to an upgrade mode; Performing decryption and signature verification operations on the software upgrade package; After the decryption operation and the signature verification operation, determining whether the controller corresponding to the target software meets a preset controller upgrade condition; When the controller corresponding to the target software meets the preset upgrade condition of the controller, the target software of the corresponding controller is upgraded using the software upgrade package that has passed the decryption operation and the signature verification operation.
6. The method according to claim 1, characterized in that In response to the upgrade trigger signal generated when the target upgrade time is reached and the vehicle end satisfies the preset upgrade condition of the vehicle, after the target software is upgraded using the software upgrade package, the method further includes: Detecting whether the version corresponding to the target software is the same as the version corresponding to the software upgrade package; When the version corresponding to the target software is the same as the version corresponding to the software upgrade package, a prompt message of successful software upgrade is sent to the cloud; When the version corresponding to the target software is different from the version corresponding to the software upgrade package, a prompt message indicating that the software upgrade has failed is sent to the cloud.
7. A vehicle-side software upgrade method with a centralized architecture, characterized in that: Applied to a cloud, the cloud communicates with a vehicle, and the method includes: In response to a vehicle-side power-on signal sent by the vehicle-side, collecting and storing actual versions corresponding to various software of the vehicle-side; When the actual versions respectively corresponding to the software on the vehicle end include non-latest versions, generating an upgrade task for the target software corresponding to the non-latest version; The upgrade and update task is synchronized with the vehicle end so that the vehicle end can execute the upgrade and update task.
8. A vehicle-side software upgrade system with a centralized architecture, characterized in that: The system is applied to a vehicle side, the vehicle side communicates with the cloud, and the system includes: The vehicle-cloud communication service module is used to synchronize the upgrade and update tasks of the target software from the cloud in response to the vehicle-side power-on signal of the vehicle-side; the target software refers to the software whose actual version in the vehicle-side is not the latest version; A task management service module, used for generating a download trigger signal and sending it to the software package download service module when the vehicle terminal meets the preset download conditions; The software package download service module is used to respond to the download trigger signal of the vehicle end meeting the preset download condition, download the software upgrade package corresponding to the upgrade task from the cloud, and send a download completion signal to the task management service module after the download of the software upgrade package is completed; The vehicle upgrade execution service module is used to determine that the target upgrade time has arrived and the vehicle side meets the vehicle preset upgrade conditions after responding to the download completion signal of the software upgrade package, and use the software upgrade package to upgrade the target software.
9. The system according to claim 8, characterized in that The system further comprises: The vehicle mode management service module is used to receive the upgrade trigger signal generated by the task management service module when the target upgrade time is reached and the vehicle end meets the vehicle preset upgrade conditions, and control the vehicle end to switch to the upgrade mode, so that the vehicle upgrade execution service module receives the upgrade trigger signal generated by the task management service module when the target upgrade time is reached and the vehicle end meets the vehicle preset upgrade conditions in the upgrade mode, and uses the software upgrade package to upgrade the target software.
10. The system according to claim 8, characterized in that The system further comprises: The vehicle asset collection service module is used to collect the part version, hardware version and software version of each controller in the vehicle end, and send the actual version of the parts, hardware and software corresponding to each controller to the cloud through the vehicle-cloud communication service module, so that the cloud can store the actual version, and when the actual versions corresponding to the various software on the vehicle end include non-latest versions, generate the upgrade and update tasks of the target software corresponding to the non-latest version, synchronize the upgrade and update tasks with the vehicle end, so that the vehicle end can execute the upgrade and update tasks.