Vehicle OTA differential upgrade method, apparatus and system
By using the differential upgrade method, the cloud server generates a differential upgrade package and integrates it with the target ECU, which solves the problems of high network bandwidth consumption and long download time caused by full package upgrade, and improves OTA upgrade efficiency and user experience.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- BEIJING SINGAUTO TECH CO LTD
- Filing Date
- 2025-10-31
- Publication Date
- 2026-05-07
AI Technical Summary
During the current vehicle OTA upgrade process, the whole package upgrade results in high network bandwidth consumption and long download time, especially when network bandwidth is limited or unstable, resulting in low upgrade efficiency.
The differential upgrade method is adopted. The cloud server compares the old version and the new version of firmware, generates a differential upgrade package, and then integrates it in the target ECU through the differential restoration algorithm to realize the software upgrade.
It reduces network bandwidth usage and download time, improves OTA upgrade efficiency, shortens upgrade time, reduces storage and bandwidth costs, reduces the risk of device failure, and improves user experience.
Smart Images

Figure CN2025131902_07052026_PF_FP_ABST
Abstract
Description
A method, device and system for vehicle OTA differential upgrade
[0001] Cross-references to related applications
[0002] This disclosure is based on and claims priority to Chinese Patent Application No. 202411557009.2, filed on November 1, 2024, the entire contents of which are incorporated herein by reference. Technical Field
[0003] This disclosure relates to the field of automotive technology, and more specifically, to a method, apparatus, and system for vehicle over-the-air (OTA) differential upgrades. Background Technology
[0004] With the continuous development of technologies such as vehicle-to-everything (V2X) and autonomous driving, the technology of vehicle OTA (Over-the-Air) upgrades is also constantly advancing. OTA upgrades refer to remotely updating and upgrading vehicle software through wireless communication technology. This technology allows for continuous optimization and improvement of vehicle functions and performance, enhancing user experience and satisfaction.
[0005] Currently, vehicle OTA upgrades typically use a full package upgrade, where a cloud server sends the complete firmware update package to the vehicle's ECU (Electronic Control Unit), and the ECU installs the firmware update package to complete the vehicle OTA upgrade. Summary of the Invention
[0006] This disclosure provides a method, apparatus, and system for vehicle over-the-air (OTA) differential upgrade.
[0007] In a first aspect, embodiments of this disclosure provide a vehicle OTA differential upgrade method, applied to a cloud server, the vehicle OTA differential upgrade method comprising:
[0008] When a firmware upgrade request for the Electronic Control Unit (ECU) is received from the vehicle, the old version of firmware currently installed on the target ECU to be upgraded is obtained.
[0009] The old firmware version is compared with the new firmware version of the target ECU to obtain a differential upgrade package;
[0010] The differential upgrade package is sent to the target ECU, which then uses a differential restoration algorithm to fuse the differential upgrade package and the old firmware version to obtain the new firmware version, thus completing the software upgrade.
[0011] In some embodiments, comparing the old firmware version with the new firmware version of the target ECU to obtain a differential upgrade package includes:
[0012] A differential algorithm is used to generate an initial differential upgrade package for the old firmware version and the new firmware version;
[0013] The initial differential upgrade package is compressed using a compression algorithm to obtain the differential upgrade package.
[0014] Secondly, this disclosure provides a vehicle OTA differential upgrade method, applied to a target ECU in a vehicle to be upgraded, the vehicle OTA differential upgrade method comprising:
[0015] Send an ECU firmware upgrade request to the cloud server so that the cloud server can obtain the old version firmware currently installed on the target ECU;
[0016] The differential upgrade package sent by the cloud server is obtained, and the differential restoration algorithm is used to fuse the differential upgrade package and the old version firmware to obtain the new version firmware, thus completing the software upgrade. The differential upgrade package is obtained by the cloud server by comparing the old version firmware with the new version firmware.
[0017] In some embodiments, obtaining the differential upgrade package sent by the cloud server, and fusing the differential upgrade package and the old firmware version using a differential restoration algorithm to obtain the new firmware version, thereby completing the software upgrade, includes:
[0018] Obtain the differential upgrade package sent by the cloud server;
[0019] The differential upgrade package is decompressed to obtain the target differential upgrade package;
[0020] The differential restoration algorithm is used to fuse the target differential upgrade package and the old version firmware according to the data flags in the target differential upgrade package to obtain the new version firmware, thus completing the software upgrade.
[0021] In some embodiments, the step of employing a differential restoration algorithm to fuse the target differential upgrade package and the old firmware version according to the data flags in the target differential upgrade package to obtain the new firmware version, thereby completing the software upgrade, includes:
[0022] The new firmware is obtained by fusing the target differential upgrade package and the old firmware version according to the data flags in the target differential upgrade package using a differential restoration algorithm.
[0023] The performance of the newly obtained firmware version was verified.
[0024] When it is determined that the performance of the new firmware version passes verification, it is determined that the new firmware version can operate normally on the target ECU;
[0025] It is confirmed that the target ECU has completed the software upgrade and activated the new firmware version.
[0026] In some embodiments, the step of employing a differential restoration algorithm to fuse the target differential upgrade package and the old firmware version according to the data flags in the target differential upgrade package to obtain the new firmware version, thereby completing the software upgrade, includes:
[0027] The existing data in the application area used to place the new version firmware is erased to obtain the target application area, wherein the application area is a region divided in the Flash memory of the target ECU;
[0028] The target differential upgrade package and the old firmware version are divided into multiple data blocks;
[0029] The data blocks are compressed in the order of merging the target differential upgrade package and the old firmware to obtain a compressed package;
[0030] All the compressed packages are merged into one file as the new firmware version;
[0031] The new firmware version is stored in the download area of the Flash memory, and the new firmware version is written into the BootLoader area of the Flash memory;
[0032] Once the performance of the new firmware version passes verification, the system will redirect to the target application area to activate the new firmware version and complete the software upgrade.
[0033] Thirdly, this disclosure provides a vehicle OTA differential upgrade device applied to a cloud server, the vehicle OTA differential upgrade device comprising:
[0034] The firmware acquisition unit is used to acquire the old version of firmware currently installed on the target ECU to be upgraded when it receives a firmware upgrade request from the vehicle's electronic control unit (ECU).
[0035] An upgrade package determination unit is used to compare the old firmware version with the new firmware version of the target ECU to obtain a differential upgrade package.
[0036] The upgrade package sending unit is used to send the differential upgrade package to the target ECU, and the target ECU uses a differential restoration algorithm to fuse the differential upgrade package and the old version firmware to obtain the new version firmware, thereby completing the software upgrade.
[0037] Fourthly, this disclosure provides a vehicle OTA differential upgrade device, applied to a target ECU in a vehicle to be upgraded, the vehicle OTA differential upgrade device comprising:
[0038] The request sending unit is used to send an ECU firmware upgrade request to the cloud server, so that the cloud server can obtain the old version firmware currently installed on the target ECU.
[0039] The upgrade package acquisition unit is used to acquire the differential upgrade package sent by the cloud server, and use a differential restoration algorithm to fuse the differential upgrade package and the old version firmware to obtain the new version firmware, thereby completing the software upgrade. The differential upgrade package is obtained by the cloud server by comparing the old version firmware with the new version firmware.
[0040] Fifthly, this disclosure provides a vehicle OTA differential upgrade system, including: a cloud server and a vehicle, wherein the vehicle includes: an on-board T-BOX (Telematics BOX) and a target ECU to be upgraded;
[0041] The cloud server includes the vehicle OTA differential upgrade device described in the third aspect.
[0042] The target ECU includes the vehicle OTA differential upgrade device described in the fourth aspect;
[0043] The vehicle-mounted T-BOX is used to connect the cloud server and the target ECU.
[0044] In some embodiments, the cloud server includes: an OTA server;
[0045] The vehicle-mounted T-BOX includes: a remote upgrade master node, MasterOTA;
[0046] The target ECU includes: a remote upgrade slave node SubOTA;
[0047] The MasterOTA obtains the differential upgrade package from the OTAServer and sends the differential upgrade package to the SubOTA, which then cooperates to complete the software upgrade of the target ECU. Attached Figure Description
[0048] To more clearly illustrate the technical solutions in the embodiments of this disclosure or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of this disclosure. For those skilled in the art, other drawings can be obtained based on the disclosed drawings without creative effort.
[0049] Figure 1 is a flowchart of a vehicle OTA differential upgrade method provided in an embodiment of this disclosure;
[0050] Figure 2 is a flowchart of another vehicle OTA differential upgrade method provided in an embodiment of this disclosure;
[0051] Figure 3 is a schematic diagram of the region division of a Flash memory according to an embodiment of this disclosure;
[0052] Figure 4 is a schematic diagram of a vehicle OTA differential upgrade device provided in an embodiment of this disclosure;
[0053] Figure 5 is a schematic diagram of another vehicle OTA differential upgrade device provided in an embodiment of this disclosure;
[0054] Figure 6 is a schematic diagram of another vehicle OTA differential upgrade system provided in an embodiment of this disclosure. Detailed Implementation
[0055] The technical solutions of the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this disclosure, and not all embodiments. Based on the embodiments of this disclosure, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this disclosure.
[0056] Currently, vehicle OTA upgrades typically use a full package upgrade, where a cloud server sends the complete firmware update package to the vehicle's ECU, and the ECU then installs the firmware update package to perform the vehicle OTA upgrade.
[0057] However, firmware update packages consume a significant amount of network bandwidth during transmission, especially when network bandwidth is limited or network connections are unstable, which can lead to prolonged transmission and download times.
[0058] This disclosure provides a vehicle OTA differential upgrade method, apparatus, and system. When a cloud server receives an ECU firmware upgrade request from a vehicle, the cloud server obtains the old firmware currently installed on the target ECU, compares the old firmware with the new firmware of the target ECU to obtain a differential upgrade package, and sends the differential upgrade package to the target ECU. The target ECU uses a differential restoration algorithm to fuse the differential upgrade package and the old firmware to obtain the new firmware, completing the software upgrade. In this disclosure, the cloud server generates a differential upgrade package by extracting the differences between the old and new firmware versions and sends it to the target ECU to achieve the software upgrade. The differential upgrade package is much smaller than a complete firmware update package, which helps reduce network bandwidth usage and download time. Especially when network bandwidth is limited or the network connection is unstable, it can greatly improve the efficiency of OTA upgrades.
[0059] Referring to Figure 1, a flowchart of a vehicle OTA differential upgrade method provided in this embodiment of the present disclosure is shown. This method is applied to a cloud server, and the vehicle OTA differential upgrade method includes:
[0060] Step S101: When an ECU firmware upgrade request is received from the vehicle, obtain the old version firmware currently installed on the target ECU to be upgraded.
[0061] Firmware in an ECU refers to the software embedded within the ECU, responsible for controlling and managing various functions and operations of the vehicle. Firmware is typically stored in non-volatile memory, such as Flash memory, to ensure it remains unchanged even after the vehicle is powered off.
[0062] When an ECU in a vehicle needs to be upgraded, the vehicle sends an ECU firmware upgrade request to the cloud server. After receiving the ECU firmware upgrade request, the cloud server determines the target ECU to be upgraded based on the ECU identifier carried in the ECU firmware upgrade request, and retrieves the old version firmware currently installed on the target ECU from the target ECU.
[0063] Step S102: Compare the old firmware version with the new firmware version of the target ECU to obtain a differential upgrade package.
[0064] In some embodiments, differential processing can be implemented in two ways: text file-based differential processing and binary file-based differential processing. The difference lies in that text file-based differential processing is logical, while binary file-based differential processing is physical. During differential upgrades, the differential package is restored and written to memory using a restore tool corresponding to the generated differential package, ensuring that the content of the restored differential package in memory is consistent with the target version.
[0065] In some embodiments, a differential algorithm is used to generate an initial differential upgrade package for the old firmware version and the new firmware version; a compression algorithm is used to compress the initial differential upgrade package to obtain the differential upgrade package.
[0066] This disclosure obtains the differences between the old firmware version and the new firmware version by using a differential algorithm (such as binary comparison method). These differences may be the addition, modification or deletion of code. For example, the old firmware version is V1.1.0 and the new firmware version is V1.1.1. The new firmware version V1.1.1 only modifies some content compared to the old firmware version V1.1.0. The differential algorithm is used to generate the initial differential upgrade package.
[0067] To reduce the size of the differential upgrade package and thus reduce download time and network bandwidth consumption, this disclosure uses a compression algorithm to compress the initial differential upgrade package after generating it from the old firmware and the new firmware using a differential algorithm, resulting in the differential upgrade package v1.0-v1.1-update.patch.
[0068] Step S103: The differential upgrade package is sent to the target ECU, and the target ECU uses a differential restoration algorithm to fuse the differential upgrade package and the old version firmware to obtain the new version firmware, thus completing the software upgrade.
[0069] After receiving the differential upgrade package v1.0-v1.1-update.patch, the target ECU uses a differential restoration algorithm to merge the old firmware version V1.1.0 and the differential upgrade package v1.0-v1.1-update.patch to obtain the new firmware version V1.1.1, thus completing the software upgrade.
[0070] Differential reconstruction is a time series forecasting and data processing technique that involves performing multiple differencing operations on time series data and then restoring the differencing sequence back to the original sequence.
[0071] In some embodiments, the cloud server sends the differential upgrade package to the target ECU. After receiving the differential upgrade package, the target ECU uses a differential restoration algorithm to merge the contents of the differential upgrade package with the old version firmware. The merging process may involve inserting new code into the old version firmware. Existing code can be modified or unnecessary code can be deleted to obtain the new version firmware and complete the software upgrade of the target ECU.
[0072] In summary, this disclosure provides a method for OTA differential upgrades of vehicles. When a cloud server receives an ECU firmware upgrade request from a vehicle, the cloud server obtains the old firmware currently installed on the target ECU, compares the old firmware with the new firmware of the target ECU to obtain a differential upgrade package, and sends the differential upgrade package to the target ECU. The target ECU then uses a differential restoration algorithm to fuse the differential upgrade package and the old firmware to obtain the new firmware, completing the software upgrade. In this disclosure, the cloud server generates a differential upgrade package by extracting the differences between the old and new firmware versions and sends it to the target ECU to achieve the software upgrade. The differential upgrade package is much smaller than a complete firmware update package, which helps reduce network bandwidth usage and download time. Especially when network bandwidth is limited or the network connection is unstable, it can greatly improve the efficiency of OTA upgrades.
[0073] In addition, the smaller size of the differential upgrade package allows for faster download and installation of the differential upgrade package on the target ECU, thereby significantly shortening the upgrade time for the target ECU, enabling users to obtain new functions more quickly, and improving the user experience.
[0074] For the target ECU, differential upgrades do not require additional storage space to store the new firmware version. They only need to store the differential upgrade package on the basis of the existing old firmware version. The differential upgrade package and the old firmware version are then merged by the differential restoration algorithm to generate the new firmware version. This is very important for devices with limited storage space.
[0075] OTA differential upgrades can be customized to specific needs and scenarios, allowing users to upgrade only specific modules or functions instead of the entire firmware. This enables more precise control over the upgrade content and reduces unnecessary updates. At the same time, smaller differential upgrade packages can significantly reduce storage and bandwidth costs on cloud servers, effectively mitigating the risk of device failure due to upgrade failures.
[0076] Corresponding to the above embodiments, this disclosure also provides another method for vehicle OTA differential upgrade.
[0077] Referring to Figure 2, a flowchart of a vehicle OTA differential upgrade method is provided in this embodiment of the present disclosure. This method is applied to a target ECU in a vehicle to be upgraded, and the vehicle OTA differential upgrade method includes:
[0078] Step S201: Send an ECU firmware upgrade request to the cloud server so that the cloud server can obtain the currently installed old version firmware from the target ECU;
[0079] When an ECU in a vehicle needs a software upgrade, the target ECU sends an ECU firmware upgrade request to the cloud server via the in-vehicle T-BOX. After receiving the ECU firmware upgrade request, the cloud server retrieves the currently installed old version firmware from the target ECU, compares the old version firmware with the new version firmware of the target ECU to obtain a differential upgrade package, and sends the differential upgrade package to the target ECU.
[0080] Step S202: Obtain the differential upgrade package sent by the cloud server, and use the differential restoration algorithm to fuse the differential upgrade package and the old version firmware to obtain the new version firmware, thereby completing the software upgrade.
[0081] The differential upgrade package is obtained by the cloud server by comparing the old firmware version with the new firmware version.
[0082] In some embodiments, the target ECU obtains a differential upgrade package sent by a cloud server, and uses a differential restoration algorithm to merge the contents of the differential upgrade package with the old version firmware. The fusion process may involve inserting new code into the old version firmware. Existing code can be modified or unnecessary code can be deleted to obtain a new version firmware and complete the software upgrade of the target ECU.
[0083] In summary, this disclosure provides a vehicle OTA differential upgrade method. It involves sending an ECU firmware upgrade request to a cloud server, which then retrieves the currently installed old firmware version from the target ECU, obtains a differential upgrade package sent by the cloud server, and uses a differential restoration algorithm to fuse the differential upgrade package and the old firmware version to obtain a new firmware version, thus completing the software upgrade. In this disclosure, the target ECU in the vehicle to be upgraded obtains a differential upgrade package generated by the cloud server by extracting the differences between the old and new firmware versions, and uses a differential restoration algorithm to fuse the differential upgrade package and the old firmware version to obtain the new firmware version, completing the software upgrade. The differential upgrade package is much smaller than a complete firmware update package, which helps reduce network bandwidth usage and download time, especially under conditions of limited network bandwidth or unstable network connections, greatly improving OTA upgrade efficiency.
[0084] In addition, the smaller size of the differential upgrade package allows for faster download and installation of the differential upgrade package on the target ECU, thereby significantly shortening the upgrade time for the target ECU, enabling users to obtain new functions more quickly, and improving the user experience.
[0085] For the target ECU, differential upgrades do not require additional storage space to store the new firmware version. They only need to store the differential upgrade package on the basis of the existing old firmware version. The differential upgrade package and the old firmware version are then merged by the differential restoration algorithm to generate the new firmware version. This is very important for devices with limited storage space.
[0086] OTA differential upgrades can be customized to specific needs and scenarios, allowing users to upgrade only specific modules or functions instead of the entire firmware. This enables more precise control over the upgrade content and reduces unnecessary updates. At the same time, smaller differential upgrade packages can significantly reduce storage and bandwidth costs on cloud servers, effectively mitigating the risk of device failure due to upgrade failures.
[0087] In one embodiment, step S202 may specifically include:
[0088] Obtain the differential upgrade package sent by the cloud server;
[0089] The differential upgrade package is decompressed to obtain the target differential upgrade package;
[0090] The differential restoration algorithm is used to fuse the target differential upgrade package and the old version firmware according to the data flags in the target differential upgrade package to obtain the new version firmware, thus completing the software upgrade.
[0091] In practical applications, to further reduce the size of the differential upgrade package, the cloud server compresses the differential upgrade package before transmitting it. Therefore, after receiving the differential upgrade package, the target ECU first decompresses it to obtain the target differential upgrade package, and then uses a differential restoration algorithm to merge the target differential upgrade package and the old version firmware according to the data flags in the target differential upgrade package to obtain the new version firmware, thus completing the software upgrade.
[0092] After the target ECU merges the decompressed target differential upgrade package and the old firmware to obtain the new firmware, in order to ensure that the new firmware can run normally on the target ECU, the performance of the new firmware can also be verified.
[0093] Therefore, in one embodiment, the process of using a differential restoration algorithm to fuse the target differential upgrade package and the old firmware version to obtain the new firmware version and complete the software upgrade can specifically include:
[0094] The new firmware is obtained by fusing the target differential upgrade package and the old firmware version according to the data flags in the target differential upgrade package using a differential restoration algorithm.
[0095] The performance of the new firmware version was verified;
[0096] When it is determined that the performance of the new firmware version passes verification, it is determined that the new firmware version can operate normally on the target ECU;
[0097] It is confirmed that the target ECU has completed the software upgrade and activated the new firmware version.
[0098] In this disclosure, after the target ECU merges the target differential upgrade package and the old firmware to obtain the new firmware, the performance of the merged new firmware can be verified to ensure that the merged new firmware can run normally on the target ECU. When the performance of the new firmware passes the verification, it can be determined that the new firmware can run normally on the target ECU. At this time, the target ECU completes the software upgrade and activates the new firmware, so that the new firmware starts running on the target ECU.
[0099] In practical applications, the firmware on the ECU is usually stored in non-volatile memory, such as Flash memory, to ensure that it remains unchanged after the vehicle is powered off.
[0100] To enable differential OTA upgrades for vehicles, this disclosure pre-divides the Flash memory in the target ECU into regions, as shown in Figure 3. The Flash memory is mainly divided into four parts: BootLoader area, application area, download area, and parameter area.
[0101] The BootLoader section is used for booting and upgrading.
[0102] The application area is used to store upgraded applications;
[0103] The download area is used for downloading and storing differential upgrade packages;
[0104] The parameter area is used to store specific parameters.
[0105] The size of the four areas is reasonably divided according to actual usage.
[0106] In one embodiment, a differential restoration algorithm is used to fuse the target differential upgrade package and the old firmware version according to the data flags in the target differential upgrade package to obtain the new firmware version. The software upgrade process may specifically include:
[0107] The existing data in the application area used to place the new version firmware is erased to obtain the target application area, wherein the application area is a region divided in the Flash memory of the target ECU;
[0108] The target differential upgrade package and the old firmware version are divided into multiple data blocks;
[0109] The data blocks are compressed in the order of merging the target differential upgrade package and the old firmware to obtain a compressed package;
[0110] All the compressed packages are merged into one file as the new firmware version;
[0111] The new firmware version is stored in the download area of the Flash memory, and the new firmware version is written into the BootLoader area of the Flash memory;
[0112] Once the performance of the new firmware version passes verification, the system will redirect to the target application area to activate the new firmware version and complete the software upgrade.
[0113] It's important to note that ECU flash upgrades are typically implemented through a bootloader program. The bootloader is the first piece of software code executed after the ECU powers on and resets, responsible for loading and executing the program code stored in the flash memory. To enable online updates, the bootloader program needs to operate on the flash memory. Common upgrade methods include embedding the flash operation program as part of the bootloader component in the flash memory, copying it to RAM (Random Access Memory) for later retrieval when needed; or using a two-level bootloader scheme, downloading the flash write / erase code from the host computer to a designated RAM via a communication port before retrieval.
[0114] Specifically, after the target ECU is powered on, execution begins in the BootLoader area. After confirming that the parameters are correct, it jumps to the application area. When a software upgrade is required, the existing data in the application area used to store the new firmware version is erased to obtain the target application area. The target differential upgrade package and the old firmware version are then packaged into multiple data blocks. These data blocks are compressed sequentially according to the order in which they were merged with the target differential upgrade package and the old firmware version to obtain various compressed packages. Finally, all the compressed packages are merged to obtain the new firmware version.
[0115] After obtaining the new firmware version, this disclosure stores the new firmware version in the download area of the Flash memory and writes the new firmware version into the BootLoader area of the Flash memory. The performance of the new firmware version is verified to ensure that the merged new firmware version can run normally in the target ECU. When the performance of the new firmware version passes the verification (that is, the parameters in the new firmware version are verified to be correct), the system jumps to the target application area to execute subsequent programs, thereby completing the software upgrade.
[0116] Corresponding to the above method embodiments, this disclosure also provides a vehicle OTA differential upgrade device.
[0117] Referring to Figure 4, a schematic diagram of a vehicle OTA differential upgrade device provided in this embodiment of the present disclosure is shown. This device is applied to a cloud server and may include:
[0118] Firmware acquisition unit 301 is used to acquire the currently installed old version firmware from the target ECU to be upgraded when it receives an ECU firmware upgrade request sent by the vehicle.
[0119] Firmware in an ECU refers to the software embedded within the ECU, responsible for controlling and managing various functions and operations of the vehicle. Firmware is typically stored in non-volatile memory, such as Flash memory, to ensure it remains unchanged even after the vehicle is powered off.
[0120] When an ECU in a vehicle needs to be upgraded, the vehicle sends an ECU firmware upgrade request to the cloud server. After receiving the ECU firmware upgrade request, the cloud server determines the target ECU to be upgraded based on the ECU identifier carried in the ECU firmware upgrade request, and retrieves the old version firmware currently installed on the target ECU from the target ECU.
[0121] The upgrade package determination unit 302 is used to compare the old version firmware with the new version firmware of the target ECU to obtain a differential upgrade package.
[0122] This disclosure obtains the differences between the old firmware version and the new firmware version by using a differential algorithm (such as binary comparison method). These differences may be the addition, modification or deletion of code. For example, the old firmware version is V1.1.0 and the new firmware version is V1.1.1. The new firmware version V1.1.1 only modifies some content compared to the old firmware version V1.1.0. The differential algorithm is used to generate the initial differential upgrade package.
[0123] To reduce the size of the differential upgrade package and thus reduce download time and network bandwidth consumption, this disclosure uses a compression algorithm to compress the initial differential upgrade package after generating it from the old firmware and the new firmware using a differential algorithm, resulting in the differential upgrade package v1.0-v1.1-update.patch.
[0124] The upgrade package sending unit 303 is used to send the differential upgrade package to the target ECU, and the target ECU uses a differential restoration algorithm to fuse the differential upgrade package and the old version firmware to obtain the new version firmware, thereby completing the software upgrade.
[0125] After receiving the differential upgrade package v1.0-v1.1-update.patch, the target ECU uses a differential restoration algorithm to merge the old firmware version V1.1.0 and the differential upgrade package v1.0-v1.1-update.patch to obtain the new firmware version V1.1.1, thus completing the software upgrade.
[0126] Differential reconstruction is a time series forecasting and data processing technique that involves performing multiple differencing operations on time series data and then restoring the differencing sequence back to the original sequence.
[0127] In some embodiments, the cloud server sends the differential upgrade package to the target ECU. After receiving the differential upgrade package, the target ECU uses a differential restoration algorithm to merge the contents of the differential upgrade package with the old version firmware. The merging process may involve inserting new code into the old version firmware. Existing code can be modified or unnecessary code can be deleted to obtain the new version firmware and complete the software upgrade of the target ECU.
[0128] In summary, this disclosure provides a vehicle OTA differential upgrade device. When the cloud server receives an ECU firmware upgrade request from the vehicle, the cloud server obtains the old firmware currently installed on the target ECU, compares the old firmware with the new firmware of the target ECU to obtain a differential upgrade package, and sends the differential upgrade package to the target ECU. The target ECU uses a differential restoration algorithm to fuse the differential upgrade package and the old firmware to obtain the new firmware and complete the software upgrade. In this disclosure, the cloud server generates a differential upgrade package by extracting the differences between the old and new firmware versions and sends it to the target ECU to achieve the software upgrade. The differential upgrade package is much smaller than the complete firmware update package, which helps to reduce network bandwidth usage and download time. Especially when network bandwidth is limited or the network connection is unstable, it can greatly improve the efficiency of OTA upgrades.
[0129] In addition, the smaller size of the differential upgrade package allows for faster download and installation of the differential upgrade package on the target ECU, thereby significantly shortening the upgrade time for the target ECU, enabling users to obtain new functions more quickly, and improving the user experience.
[0130] For the target ECU, differential upgrades do not require additional storage space to store the new firmware version. They only need to store the differential upgrade package on the basis of the existing old firmware version. The differential upgrade package and the old firmware version are then merged by the differential restoration algorithm to generate the new firmware version. This is very important for devices with limited storage space.
[0131] OTA differential upgrades can be customized to specific needs and scenarios, allowing users to upgrade only specific modules or functions instead of the entire firmware. This enables more precise control over the upgrade content and reduces unnecessary updates. At the same time, smaller differential upgrade packages can significantly reduce storage and bandwidth costs on cloud servers, effectively mitigating the risk of device failure due to upgrade failures.
[0132] In one embodiment, the upgrade package determination unit 302 is specifically used for:
[0133] A differential algorithm is used to generate an initial differential upgrade package for the old firmware version and the new firmware version;
[0134] The initial differential upgrade package is compressed using a compression algorithm to obtain the differential upgrade package.
[0135] Corresponding to the above method embodiments, this disclosure also provides another vehicle OTA differential upgrade device.
[0136] Referring to Figure 5, a schematic diagram of another vehicle OTA differential upgrade device provided in this embodiment of the present disclosure is shown. This device is applied to the target ECU to be upgraded in a vehicle. The vehicle OTA differential upgrade device includes:
[0137] The request sending unit 401 is used to send an ECU firmware upgrade request to the cloud server, so that the cloud server can obtain the currently installed old version firmware from the target ECU.
[0138] When an ECU in a vehicle needs a software upgrade, the target ECU sends an ECU firmware upgrade request to the cloud server via the in-vehicle T-BOX. After receiving the ECU firmware upgrade request, the cloud server retrieves the currently installed old version firmware from the target ECU, compares the old version firmware with the new version firmware of the target ECU to obtain a differential upgrade package, and sends the differential upgrade package to the target ECU.
[0139] The upgrade package acquisition unit 402 is used to acquire the differential upgrade package sent by the cloud server, and use a differential restoration algorithm to fuse the differential upgrade package and the old version firmware to obtain the new version firmware, thereby completing the software upgrade.
[0140] The differential upgrade package is obtained by the cloud server by comparing the old firmware version with the new firmware version.
[0141] In some embodiments, the target ECU obtains a differential upgrade package sent by a cloud server, and uses a differential restoration algorithm to merge the contents of the differential upgrade package with the old version firmware. The fusion process may involve inserting new code into the old version firmware. Existing code can be modified or unnecessary code can be deleted to obtain a new version firmware and complete the software upgrade of the target ECU.
[0142] In summary, this disclosure provides a vehicle OTA differential upgrade device that sends an ECU firmware upgrade request to a cloud server. The cloud server then retrieves the currently installed old firmware version from the target ECU, obtains a differential upgrade package sent by the cloud server, and uses a differential restoration algorithm to fuse the differential upgrade package and the old firmware version to obtain a new firmware version, thus completing the software upgrade. In this disclosure, the target ECU in the vehicle to be upgraded obtains a differential upgrade package generated by the cloud server by extracting the differences between the old and new firmware versions, and uses a differential restoration algorithm to fuse the differential upgrade package and the old firmware version to obtain the new firmware version, completing the software upgrade. The differential upgrade package is much smaller than a complete firmware update package, which helps reduce network bandwidth usage and download time, especially under conditions of limited network bandwidth or unstable network connection, greatly improving OTA upgrade efficiency.
[0143] In addition, the smaller size of the differential upgrade package allows for faster download and installation of the differential upgrade package on the target ECU, thereby significantly shortening the upgrade time for the target ECU, enabling users to obtain new functions more quickly, and improving the user experience.
[0144] For the target ECU, differential upgrades do not require additional storage space to store the new firmware version. They only need to store the differential upgrade package on the basis of the existing old firmware version. The differential upgrade package and the old firmware version are then merged by the differential restoration algorithm to generate the new firmware version. This is very important for devices with limited storage space.
[0145] OTA differential upgrades can be customized to specific needs and scenarios, allowing users to upgrade only specific modules or functions instead of the entire firmware. This enables more precise control over the upgrade content and reduces unnecessary updates. At the same time, smaller differential upgrade packages can significantly reduce storage and bandwidth costs on cloud servers, effectively mitigating the risk of device failure due to upgrade failures.
[0146] In one embodiment, the upgrade package acquisition unit 402 may include:
[0147] The upgrade package acquisition subunit is used to acquire the differential upgrade package sent by the cloud server;
[0148] The decompression subunit is used to decompress the differential upgrade package to obtain the target differential upgrade package;
[0149] The fusion subunit is used to use a differential restoration algorithm to fuse the target differential upgrade package and the old version firmware according to the data flags in the target differential upgrade package to obtain the new version firmware, thereby completing the software upgrade.
[0150] In practical applications, to further reduce the size of the differential upgrade package, the cloud server compresses the differential upgrade package before transmitting it. Therefore, after receiving the differential upgrade package, the target ECU first decompresses it to obtain the target differential upgrade package, and then uses a differential restoration algorithm to merge the target differential upgrade package and the old version firmware according to the data flags in the target differential upgrade package to obtain the new version firmware, thus completing the software upgrade.
[0151] After the target ECU merges the decompressed target differential upgrade package and the old firmware to obtain the new firmware, in order to ensure that the new firmware can run normally on the target ECU, the performance of the new firmware can also be verified.
[0152] Therefore, in one embodiment, the fusion subunit can also be used for:
[0153] The new firmware is obtained by fusing the target differential upgrade package and the old firmware version according to the data flags in the target differential upgrade package using a differential restoration algorithm.
[0154] The performance of the newly obtained firmware version was verified.
[0155] When it is determined that the performance of the new firmware version passes verification, it is determined that the new firmware version can operate normally on the target ECU;
[0156] It is confirmed that the target ECU has completed the software upgrade and activated the new firmware version.
[0157] In one embodiment, the fusion subunit can be used for:
[0158] The existing data in the application area used to place the new version firmware is erased to obtain the target application area, wherein the application area is a region divided in the Flash memory of the target ECU;
[0159] The target differential upgrade package and the old firmware version are divided into multiple data blocks;
[0160] The data blocks are compressed in the order of merging the target differential upgrade package and the old firmware to obtain a compressed package;
[0161] All the compressed packages are merged into one file as the new firmware version;
[0162] The new firmware version is stored in the download area of the Flash memory, and the new firmware version is written into the BootLoader area of the Flash memory;
[0163] Once the performance of the new firmware version passes verification, the system will redirect to the target application area to activate the new firmware version and complete the software upgrade.
[0164] It should be noted that for the specific working principles of each component in the device embodiment, please refer to the corresponding section of the method embodiment, which will not be repeated here.
[0165] Corresponding to the above embodiments, this disclosure also provides a vehicle OTA differential upgrade system.
[0166] Referring to Figure 6, a schematic diagram of a vehicle OTA differential upgrade system provided in this embodiment of the present disclosure is shown. The system includes a cloud server 100 and a vehicle 200.
[0167] The vehicle includes: an onboard T-BOX201 and a target ECU202 to be upgraded (Figure 6 shows an example of one ECU).
[0168] The cloud server 100 includes the vehicle OTA differential upgrade device shown in the embodiment of FIG4.
[0169] The target ECU202 includes the vehicle OTA differential upgrade device in the embodiment shown in FIG5.
[0170] The vehicle-mounted T-BOX201 is used to connect the cloud server 100 and the target ECU 202.
[0171] The vehicle-mounted T-BOX201 can serve as the core of the vehicle's control system, communicating with other devices (such as the target ECU202) via serial ports, networks, etc., to achieve automatic control and scheduling of the vehicle.
[0172] In this disclosure, the vehicle-mounted T-BOX 201 can send an ECU firmware upgrade request to the cloud server 100, obtain a differential upgrade package issued by the cloud server 100, and send the differential upgrade package to the target ECU 202, so that the target ECU 202 can use the differential upgrade package to perform a software upgrade.
[0173] In summary, this disclosure provides a vehicle OTA differential upgrade system, including a cloud server 100 and a vehicle 200. The vehicle includes an onboard T-BOX 201 and a target ECU 202 to be upgraded. The onboard T-BOX 201 connects to the cloud server 100 and the target ECU 202. When the cloud server 100 receives an ECU firmware upgrade request sent by the vehicle through the onboard T-BOX 201, the cloud server 100 obtains the old version firmware currently installed on the target ECU 202, compares the old version firmware with the new version firmware of the target ECU 202 to obtain a differential upgrade package, and sends the differential upgrade package to the target ECU 202 through the onboard T-BOX 201. The target ECU 202 uses a differential restoration algorithm to fuse the differential upgrade package and the old version firmware to obtain the new version firmware and complete the software upgrade. In this disclosure, the cloud server 100 generates a differential upgrade package by extracting the differences between the old and new firmware versions and sends it to the target ECU 202 to upgrade the target ECU's software. The differential upgrade package is much smaller than the complete firmware update package, which helps to reduce network bandwidth usage and download time. Especially when network bandwidth is limited or network connection is unstable, it can greatly improve the efficiency of OTA upgrades.
[0174] In one embodiment, the cloud server 100 includes: a remote upgrade server (OTAServer) 101.
[0175] OTAServer101 serves as the main control logic module for remote upgrades, used to assemble UDS (Unified Diagnostic Services) instructions. UDS instructions are the set of instructions throughout the entire upgrade chain during the vehicle OTA differential upgrade process.
[0176] As shown in Figure 6, OTAServer101 includes: OTA service and OSS (Object Storage Service) / CDN (Content Delivery Network).
[0177] The cloud server 100 also includes: PKI (Public Key Infrastructure) service 102.
[0178] The vehicle-mounted T-BOX201 includes: a remote upgrade master node MasterOTA2011.
[0179] As shown in Figure 6, MasterOTA2011 includes: a logical master control module (MU), an upgrade and flashing module (UU), and a download and upgrade module (DU). The logical master control module and the download and upgrade module are connected through an API (Application Programming Interface).
[0180] The logic control module and the OTA service communicate via HTTPS (HyperText Transfer Protocol Secure), and the download and upgrade module communicates with OSS / CDN via HTTPS.
[0181] The vehicle-mounted T-BOX201 may also include: Interface Agent (Master IA) 2012.
[0182] The target ECU202 includes: a remote upgrade slave node SubOTA2021.
[0183] The transmission protocol (TP) between the vehicle-mounted T-BOX201 and the target ECU202 can be CAN (Controller Area Network) or ETH (Ethernet Protocol).
[0184] The target ECU202 also includes: ECU APP (application program).
[0185] The MasterOTA2011 obtains the differential upgrade package from the OTAServer101 and sends the differential upgrade package to the SubOTA2021, which then cooperates to complete the software upgrade of the target ECU202.
[0186] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0187] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other.
[0188] The above description of the disclosed embodiments enables those skilled in the art to make or use this disclosure. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this disclosure. Therefore, this disclosure is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
[0189] All embodiments disclosed herein can be executed individually or in combination with other embodiments, and are all considered to be within the scope of protection claimed by this disclosure.
Claims
1. A vehicle OTA differential upgrade method, applied to a cloud server, the vehicle OTA differential upgrade method comprising: When a firmware upgrade request for the Electronic Control Unit (ECU) is received from the vehicle, the old version of firmware currently installed on the target ECU to be upgraded is obtained. The old firmware version is compared with the new firmware version of the target ECU to obtain a differential upgrade package; The differential upgrade package is sent to the target ECU, which then uses a differential restoration algorithm to fuse the differential upgrade package and the old firmware version to obtain the new firmware version, thus completing the software upgrade.
2. The vehicle OTA differential upgrade method according to claim 1, wherein, The step of comparing the old firmware version with the new firmware version of the target ECU to obtain a differential upgrade package includes: A differential algorithm is used to generate an initial differential upgrade package for the old firmware version and the new firmware version; The initial differential upgrade package is compressed using a compression algorithm to obtain the differential upgrade package.
3. A vehicle OTA differential upgrade method, applied to a target ECU in a vehicle to be upgraded, the vehicle OTA differential upgrade method comprising: Send an ECU firmware upgrade request to the cloud server so that the cloud server can obtain the old version firmware currently installed on the target ECU; The differential upgrade package sent by the cloud server is obtained, and the differential restoration algorithm is used to fuse the differential upgrade package and the old version firmware to obtain the new version firmware, thus completing the software upgrade. The differential upgrade package is obtained by the cloud server by comparing the old version firmware with the new version firmware.
4. The vehicle OTA differential upgrade method according to claim 3, wherein, The process of obtaining the differential upgrade package sent by the cloud server, and then using a differential restoration algorithm to fuse the differential upgrade package and the old firmware version to obtain the new firmware version, thereby completing the software upgrade, includes: Obtain the differential upgrade package sent by the cloud server; The differential upgrade package is decompressed to obtain the target differential upgrade package; The differential restoration algorithm is used to fuse the target differential upgrade package and the old version firmware according to the data flags in the target differential upgrade package to obtain the new version firmware, thus completing the software upgrade.
5. The vehicle OTA differential upgrade method according to claim 4, wherein, The process employs a differential restoration algorithm to fuse the target differential upgrade package and the old firmware version according to the data flags in the target differential upgrade package, thereby obtaining the new firmware version and completing the software upgrade. This includes: The new firmware is obtained by fusing the target differential upgrade package and the old firmware version according to the data flags in the target differential upgrade package using a differential restoration algorithm. The performance of the newly obtained firmware version was verified. When it is determined that the performance of the new firmware version passes verification, it is determined that the new firmware version can operate normally on the target ECU; It is confirmed that the target ECU has completed the software upgrade and activated the new firmware version.
6. The vehicle OTA differential upgrade method according to claim 4, wherein, The process employs a differential restoration algorithm to fuse the target differential upgrade package and the old firmware version according to the data flags in the target differential upgrade package, thereby obtaining the new firmware version and completing the software upgrade. This includes: The existing data in the application area used to place the new version firmware is erased to obtain the target application area, wherein the application area is a region divided in the Flash memory of the target ECU; The target differential upgrade package and the old firmware version are divided into multiple data blocks; The data blocks are compressed in the order of merging the target differential upgrade package and the old firmware to obtain a compressed package; All the compressed packages are merged into one file as the new firmware version; The new firmware version is stored in the download area of the Flash memory, and the new firmware version is written into the BootLoader area of the Flash memory; Once the performance of the new firmware version passes verification, the system will redirect to the target application area to activate the new firmware version and complete the software upgrade.
7. A vehicle OTA differential upgrade device, applied to a cloud server, the vehicle OTA differential upgrade device comprising: The firmware acquisition unit is used to acquire the old version of firmware currently installed on the target ECU to be upgraded when it receives a firmware upgrade request from the vehicle's electronic control unit (ECU). An upgrade package determination unit is used to compare the old firmware version with the new firmware version of the target ECU to obtain a differential upgrade package. The upgrade package sending unit is used to send the differential upgrade package to the target ECU, and the target ECU uses a differential restoration algorithm to fuse the differential upgrade package and the old version firmware to obtain the new version firmware, thereby completing the software upgrade.
8. A vehicle OTA differential upgrade device, applied to a target ECU in a vehicle to be upgraded, the vehicle OTA differential upgrade device comprising: The request sending unit is used to send an ECU firmware upgrade request to the cloud server, so that the cloud server can obtain the old version firmware currently installed on the target ECU. The upgrade package acquisition unit is used to acquire the differential upgrade package sent by the cloud server, and use a differential restoration algorithm to fuse the differential upgrade package and the old version firmware to obtain the new version firmware, thereby completing the software upgrade. The differential upgrade package is obtained by the cloud server by comparing the old version firmware with the new version firmware.
9. A vehicle OTA differential upgrade system, comprising: Cloud server and vehicle, the vehicle including: vehicle-mounted T-BOX and target ECU to be upgraded; The cloud server includes the vehicle OTA differential upgrade device as described in claim 7; The target ECU includes the vehicle OTA differential upgrade device as described in claim 8; The vehicle-mounted T-BOX is used to connect the cloud server and the target ECU.
10. The vehicle OTA differential upgrade system according to claim 9, wherein, The cloud server includes: a remote upgrade server (OTAServer); The vehicle-mounted T-BOX includes: a remote upgrade master node, MasterOTA; The target ECU includes: a remote upgrade slave node SubOTA; The MasterOTA obtains the differential upgrade package from the OTAServer and sends the differential upgrade package to the SubOTA, which then cooperates to complete the software upgrade of the target ECU.
Citation Information
Patent Citations
Upgrade package processing method and device and OTA cloud server
CN109558161A
Dynamic differential upgrading method for OTA (over-the-air) system
CN114115965A
OTA differential upgrading method and system, storage medium and equipment
CN118535203A
Vehicle OTA differential upgrading method, device and system
CN119415128A