A method and related equipment for over-the-air (OTA) upgrades for automobiles
By using a cloud server-managed upgrade database and dynamically adjusted upgrade strategies, the problem of conflicts between old and new software in automotive OTA upgrades was resolved, resulting in improved stability and user experience.
Patent Information
- Application Number
- CN202610436228.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-04-03
- Publication Date
- 2026-06-30
AI Technical Summary
The current OTA upgrade method for automobiles lacks professional intervention, which may lead to conflicts between old and new software when car owners upgrade themselves, affecting vehicle functions and driving safety.
The database is maintained and upgraded via cloud servers, and the upgrade cycle is distributed. The upgrade cycle and the number of components are dynamically adjusted according to driving style and vehicle stability, and appropriate version upgrade packages are selected for gradual upgrades.
It reduces the impact risk of upgrading multiple functional components, improves the stability of vehicle upgrades and user experience, and meets the needs of different users for upgrade speed and stability.
Smart Images

Figure CN122308898A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of automotive technology, and in particular to an OTA (Over-The-Air) upgrade method and related equipment for automobiles. Background Technology
[0002] A car's infotainment system needs to run a large amount of software to support the vehicle's intelligent features. This software includes the basic operating system and functional software running on the operating system, such as autonomous driving, audio-visual entertainment, and social networking software, as well as firmware used to control onboard components. For purposes such as adding functionality, fixing vulnerabilities, and improving robustness, automotive software upgrades are necessary.
[0003] Previously, car software upgrades required in-person visits. Typically, the car owner would drive their vehicle to a maintenance center where professionals would use specialized equipment to connect to the car's infotainment system and import the necessary data for the upgrade. While this process offered advantages such as stability and controllability, it was inconvenient for car owners.
[0004] Some automotive technologies utilize Over-The-Air (OTA) updates for vehicle software. This technology allows car owners to perform upgrades themselves without having to drive their cars to a designated location, offering significant convenience. However, because OTA updates lack professional operators and car owners have a wider range of choices, it can easily lead to disordered upgrades, increasing the likelihood of conflicts and errors between old and new software. When the car software malfunctions, it can result in minor issues like the inability to use multimedia entertainment functions, reducing the user experience, or even more serious problems like the inability to properly control onboard components, thus affecting driving safety. Summary of the Invention
[0005] To address at least one of the aforementioned technical problems, the present invention aims to provide a method and related equipment for automotive OTA upgrades.
[0006] On one hand, embodiments of the present invention include a method for over-the-air (OTA) upgrades for automobiles, the method comprising: Maintain and upgrade the database; the upgrade database includes multiple version upgrade packages, which are used by the vehicle system to upgrade a functional component of the vehicle software to the corresponding target version. Determine multiple upgrade cycles for the vehicle to be upgraded; Determine the version upgrade package corresponding to each of the aforementioned upgrade cycles; When any of the upgrade cycles is reached, the version upgrade package corresponding to the upgrade cycle is retrieved from the upgrade database, and the vehicle software of the vehicle to be upgraded is upgraded using the version upgrade package via OTA.
[0007] Furthermore, the maintenance and upgrade database includes: Iterate through all the functional components described; For any of the aforementioned functional components, obtain the latest target version upgrade package corresponding to the functional component, and store the latest target version upgrade package and the old target version upgrade package in the upgrade database.
[0008] Furthermore, determining multiple upgrade cycles for the vehicle to be upgraded includes: Multiple sequential upgrade cycles are configured; For any of the upgrade cycles, obtain the driving style information of the vehicle to be upgraded during a period of time prior to the upgrade cycle, and set the duration of the upgrade cycle based on the driving style information.
[0009] Further, determining the version upgrade package corresponding to each of the upgrade cycles includes: Determine the number of components to be upgraded for each of the aforementioned upgrade cycles; For any given upgrade cycle, based on the number of components to be upgraded corresponding to the upgrade cycle, determine one or more version upgrade packages corresponding to the upgrade cycle.
[0010] Further, determining the number of components to be upgraded corresponding to each of the upgrade cycles includes: For any of the upgrade cycles, obtain the overall stability detected by the vehicle software of the vehicle to be upgraded in the previous upgrade cycle. Based on the overall stability, the number of components to be upgraded corresponding to the upgrade cycle is determined in a positive correlation.
[0011] Further, determining the corresponding number of one or more version upgrade packages includes: The vehicle software of the vehicle to be upgraded is detected to obtain the installed versions of each of the functional components of the vehicle to be upgraded. Iterate through all the functional components of the vehicle software of the vehicle to be upgraded; For any of the functional components encountered in the traversal, the relative position of the installed version of the functional component within the version range of the functional component is obtained, and the update level of the functional component is determined based on the relative position; the version range is the range formed by the initial version and the latest version of the functional component. Identify one or more of the functional components with the lowest update level, and whose quantity is equal to the number of components to be upgraded; Obtain the version upgrade package corresponding to each of the determined functional components.
[0012] Further, obtaining the version upgrade package corresponding to each of the determined functional components includes: Iterate through all the identified functional components; For any of the functional components encountered in the traversal, a higher-level target version of the functional component is determined based on the installed version of the functional component, and the corresponding version upgrade package is obtained from the upgrade database based on the target version.
[0013] Further, obtaining the version upgrade package corresponding to each of the determined functional components includes: The upgrade level is determined based on the driving style information. Iterate through all the identified functional components; For any of the functional components encountered in the iteration, the target version of the functional component is determined based on the upgrade magnitude and the installed version of the functional component. Based on the target version, the corresponding version upgrade package is obtained from the upgrade database.
[0014] On the other hand, embodiments of the present invention also include a computer device, including a memory and a processor, the memory for storing at least one program, and the processor for loading at least one program to execute the automotive OTA upgrade method of the embodiments.
[0015] On the other hand, embodiments of the present invention also include a computer-readable storage medium storing a processor-executable program, which, when executed by a processor, is used to perform the automotive OTA upgrade method in the embodiments.
[0016] The beneficial effects of the present invention are as follows: The OTA upgrade method for automobiles in the embodiments can set multiple upgrade cycles, which can distribute all the version upgrade packages in the upgrade database that can be used to upgrade the automobile to be upgraded in multiple upgrade cycles, thereby reducing the impact and other risks caused by the concentrated upgrade of version upgrade packages of multiple functional components, and can improve the user's adaptation to the changes in the vehicle's functions due to the upgrade, thereby improving the upgrade stability of the automobile and the user experience. Attached Figure Description
[0017] Figure 1 This is a schematic diagram of a system to which the automotive OTA upgrade method described in the embodiments can be applied; Figure 2 This is a schematic diagram illustrating the steps of the vehicle OTA upgrade method in the embodiment; Figure 3 This is a schematic diagram illustrating the database upgrade in the embodiment. Figure 4 This is a schematic diagram illustrating the principle of steps S201-S202 in the embodiment; Figure 5 This is a schematic diagram of the principle of step S301 in the embodiment. Detailed Implementation
[0018] Terminology Explanation: OTA: Over The Air, is a technology that remotely updates software or firmware via a wireless network. In the automotive industry, depending on the target of the upgrade, it can be further divided into SOTA (Software Over The Air) for application software and FOTA (Firmware Over The Air) for underlying firmware.
[0019] This embodiment provides a method for over-the-air (OTA) upgrades in automobiles. This method can be applied to... Figure 1 The system shown. (Refer to...) Figure 1 A cloud server can be set up to provide services to multiple vehicles. This cloud server can be run by organizations such as car manufacturers or automotive maintenance service providers. Specifically, each vehicle can initiate an upgrade request to the cloud server through its onboard communication system. The cloud server can respond to the upgrade request, requesting the necessary data from the vehicle to execute the OTA (Over-The-Air) upgrade method, sending the version upgrade package and other data to the vehicle. Communication between the cloud server and the vehicles can be conducted through wireless communication systems such as 4G and 5G, thereby enabling OTA upgrades for the vehicles.
[0020] In this embodiment, Figure 1 Using a specific car as an example to illustrate the OTA upgrade method for automobiles.
[0021] In this embodiment, refer to Figure 2 The OTA upgrade method for automobiles includes the following steps: S1. Maintain and upgrade the database; S2. Determine multiple upgrade cycles for the vehicle to be upgraded; S3. Determine the corresponding version upgrade package for each upgrade cycle; S4. When any upgrade cycle is reached, retrieve the version upgrade package corresponding to the upgrade cycle from the upgrade database, and use the version upgrade package to upgrade the vehicle's infotainment system via OTA.
[0022] Step S1 can be executed by the cloud server at any time without requiring a request from the vehicle to be upgraded. In this embodiment, the upgrade database maintained by the cloud server is as follows: Figure 3As shown, this includes multiple version upgrade packages for various functional components of automotive software. Specifically, a functional component can be a relatively complete and independent piece of automotive software that can run on the vehicle's infotainment system. By running the functional component on the infotainment system, corresponding functions can be implemented. Different functional components can correspond to different software levels. For example, Figure 3 In the upgrade database, functional component 1 (vehicle operating system) is included. Functional component 1 is a functional component at the operating system level, and functional component 1 is a complete vehicle operating system. Figure 3 The upgrade database also includes Functional Component 2 (Audio-Visual Entertainment System), which is an application-level functional component. Functional Component 2 is an application that can be installed and run in the vehicle's operating system. Specifically, it includes storage device reading programs, audio decoding programs, video decoding programs, speaker drivers, display drivers, etc. Figure 3 In addition, the upgraded database also includes functional component 3 (human-computer interaction theme). Functional component 3 is a plug-in level functional component that can run on the human-computer interaction module, thereby controlling the human-computer interaction module to display a theme interface with specific content. Figure 3 The upgrade database also includes functional component 4 (ambient light control program) and functional component 5 (camping mode control program). Functional components 4 and 5 are firmware-level functional components that can be installed in controllers such as domain controllers, enabling the domain controller to control components such as ambient lights and air conditioning in the car, so that the ambient lights can display with specific effects and the air conditioning can work in specific cooling modes. Figure 3 In addition, the upgraded database also includes functional component 6 (electronic map of the navigation module). Functional component 6 is a functional component of the data, which can be stored in the memory and called by the navigation module when it is working, so that the navigation module can obtain an electronic map that matches the latest geographical environment.
[0023] In this embodiment, refer to Figure 3Each functional component has multiple version upgrade packages, which are distinguished by their version numbers. For the same functional component, each version upgrade package can be installed on the vehicle's infotainment system, providing the system with the complete functional component. Different version upgrade packages provide different versions of the functional component. A single version upgrade package for a functional component can be installed on the vehicle's infotainment system, allowing it to upgrade an existing version of the same functional component to the target version with the same version number. For example, if the vehicle's infotainment system already has version v2j of functional component 4 (ambient lighting control program) installed, and an upgrade package with version v2k for functional component 4 (ambient lighting control program) is sent from the upgrade database to the vehicle's infotainment system, then the ambient lighting control program will be upgraded to the target version v2k. Generally, newer versions of functional components offer more features and better stability compared to older versions.
[0024] In this embodiment, when the cloud server executes step S1, it can periodically obtain the latest target version upgrade packages for each functional component by receiving uploads from software developers. When a latest target version upgrade package is obtained, the cloud server can store it alongside the old target version upgrade packages in the upgrade database. For example, for functional component 4 (ambient light control program), such as... Figure 3 As shown, the latest target version upgrade package stored in the upgrade database has version number v3a. If the software developer develops a version upgrade package with version number v3b for functional component 4 (ambient light control program) and uploads it to the cloud server, then the version upgrade package with version number v3b is the latest target version upgrade package. The cloud server stores the version upgrade package with version number v3b. Furthermore, the cloud server also retains and does not delete version upgrade packages for older target versions such as v3a, v2k, v2j, ... v2a. In this way, the upgrade database stores multiple versions of upgrade packages for each of the multiple functional components.
[0025] In this embodiment, Figure 3 The various functional components and their version upgrade packages shown can be general, meaning they are applicable to most car models, or they can be specific to a particular car model to be upgraded. When the version upgrade package is specific to a particular car model, the cloud server can maintain multiple sub-upgrade databases when executing step S1. Each sub-upgrade database has... Figure 3 The structure shown has different sub-upgrade databases used to store functional components and their version upgrade packages applicable to different car models.
[0026] In this embodiment, the cloud server can receive the upgrade request from the vehicle to be upgraded, thereby executing steps S2-S4. Specifically, the upgrade request from the vehicle to be upgraded may only include information indicating a desire for a software upgrade, without specifying a particular functional component. This will trigger OTA upgrades for all upgradable functional components during steps S2-S4. The owner of the vehicle to be upgraded can sign a service contract with the cloud server operator to automatically upgrade the vehicle, thereby triggering the cloud server to execute steps S2-S4.
[0027] In this embodiment, when the cloud server executes step S2, which is to determine the multiple upgrade cycles of the car to be upgraded, it can specifically perform the following steps: S201. Set multiple sequential upgrade cycles; S202. For any upgrade cycle, obtain the driving style information of the vehicle to be upgraded during a period of time prior to the upgrade cycle, and set the duration of the upgrade cycle based on the driving style information.
[0028] The principle of steps S201-S202 is as follows: Figure 4 As shown. (Refer to...) Figure 4 In step S201, the cloud server can set multiple sequential upgrade cycles for the vehicle to be upgraded. For example, suppose the vehicle to be upgraded sends an upgrade request at a specific time. t 1. So, cloud servers can be configured for future use. t 2. t 3. t 4...and other times, and will t 1 and t The time period between 2 is set as the first upgrade cycle. t 2 and t The time period between 3 and 4 is set as the second upgrade cycle. t 3 and t The time period between 4 is set as the 3rd upgrade cycle... In step S201, for each set upgrade cycle, the duration of the upgrade cycle is undetermined before the time arrives or is about to arrive. For example, suppose the current time is... t 3, then t 4 and t The duration of the time period between 5, i.e., the fourth upgrade cycle, is yet to be determined. t 4 and t The specific time points of the two moments have not yet been determined.
[0029] In step S202, assume the current time is t 3. So, for the next upgrade cycle, that is...t 3 and t The time period between 4, t The specific time point of the 3rd moment has been determined, and the vehicle to be upgraded can be obtained at [time point]. t 3. A period of time before the end of an upgrade cycle, for example, during a recently completed upgrade cycle. t 2 and t Driving style information within a time period of 3. Specifically, this can be collected by the vehicle to be upgraded. t 2 and t Driving data such as average driving speed, maximum speed, average driving acceleration, maximum acceleration, number of accelerator pedal presses, number of brake pedal presses, and number of lane changes within the time period between points 3 and 4 are used by the vehicle to be upgraded to perform driving style recognition (specifically, a trained classification model can be run to classify the driving data) to determine the driving style of the vehicle to be upgraded. t 2 and t The driving style information within the time period between step 3 is collected, and the vehicle to be upgraded sends the driving style information to the cloud server. In this embodiment, the driving style information obtained in step S202 can specifically be "aggressive", "moderate", or "conservative", which indicates that the intensity of the driving style decreases sequentially.
[0030] In step S202, after obtaining t 2 and t After processing driving style information within a timeframe of 3, the next upgrade cycle can be negatively correlated with the intensity of the driving style information. t 3 and t The duration of the time period between 4. Specifically, the more aggressive the driving style information, the shorter the set duration, and vice versa. For example, cloud servers can be configured with... T 1. T 2. T 3 ( T 1 < T 2< T 3) Fixed duration values (even the smallest ones) T 1. Its value can also be set to the level of hours, days, weeks, or even months, making the duration of an upgrade cycle exceed or even far exceed the installation and upgrade time of a version upgrade package in the vehicle to be upgraded. If step S202 detects that the vehicle to be upgraded is... t 2 and t If the driving style information for the period between 3 and 4 is "intense", then the next upgrade cycle will be... t 3 and t Set the duration of the time period between 4 to the minimum. T1; If step S202 detects that the car to be upgraded is in t 2 and t If the driving style information for the period between 3 and 4 is "smooth", then the next upgrade cycle will be... t 3 and t The duration of the time period between 4 is set to medium. T 2; If step S202 detects that the car to be upgraded is in t 2 and t If the driving style information for the period between 3 and 4 is "conservative", then the next upgrade cycle will be... t 3 and t Set the duration of the time period between 4 to the maximum. T 3. After determining the duration, the time... t The specific timeframe for step 4 has also been determined.
[0031] Since step S3 allocates the corresponding version upgrade package for the upgrade cycle determined in step S2, all version upgrade packages in the upgrade database that can be used to upgrade the vehicle to be upgraded are not concentrated in a short period of time within the same upgrade cycle, but are distributed across multiple upgrade cycles. Because the duration of one upgrade cycle exceeds the installation time of one version upgrade package in the vehicle to be upgraded, the duration of the upgrade cycle will affect the time interval between two adjacent installations of version upgrade packages. Therefore, by executing steps S201-S202, the length of the upcoming upgrade cycle can be dynamically adjusted based on the recent driving style information of the vehicle to be upgraded, thereby dynamically adjusting the time interval between two adjacent installations of version upgrade packages. Specifically, if the recent driving style information of the vehicle to be upgraded is closer to "aggressive," a shorter upgrade cycle will be set, resulting in a shorter interval between the previous installation of the version upgrade package and the start of the next installation. If the recent driving style information of the vehicle to be upgraded is closer to "conservative," a longer upgrade cycle will be set, resulting in a longer interval between the previous installation of the version upgrade package and the start of the next installation.
[0032] In this embodiment, the principle behind executing steps S201-S202 is as follows: When multiple upgrade packages are used to upgrade the vehicle's infotainment system, there may be conflicts between different upgrade packages, potentially leading to malfunctions. Different users have varying levels of tolerance for such risks. By executing steps S201-S202, the user's recent driving style in the vehicle to be upgraded can be identified. The closer the driving style information is to "aggressive," the more the user's driving style is determined to be closer to tolerating high risk and pursuing high efficiency. Therefore, a shorter upgrade cycle is set to increase the installation frequency of the upgrade package, allowing the user to obtain the upgrade package quickly. Faster vehicle infotainment system updates improve user experience. When driving style information leans towards "conservative," and the user's attitude towards upgrading the vehicle is judged to be more risk-averse and stability-oriented, a longer upgrade cycle is set to reduce the frequency of installing upgrade packages. This provides more time for verifying the installed upgrade packages and resolving conflicts between upgrade packages of different functional components. It also gives users more time to adapt to the updated vehicle infotainment system. Therefore, by executing steps S201-S202, the system can dynamically adapt to the user's driving style, thereby meeting the user's needs and improving user experience.
[0033] In this embodiment, when the cloud server executes step S3, which is to determine the version upgrade package corresponding to each upgrade cycle, it can specifically perform the following steps: S301. Determine the number of components to be upgraded for each upgrade cycle; S302. For any upgrade cycle, determine one or more version upgrade packages corresponding to the upgrade cycle based on the number of components to be upgraded for that upgrade cycle.
[0034] In this embodiment, the principle of step S301 is as follows: Figure 5 As shown. (Refer to...) Figure 5 Using the current time as t For example, 3 Figure 4 middle, t 2 and t The time period between 3 represents the previous upgrade cycle, i.e., the one that has already occurred. t 3 and t The time period between 4 and 5 represents the upcoming upgrade cycle. The cloud server can request the vehicle to be upgraded, and through the vehicle's detection system, it can check its status in the previous upgrade cycle. t 2 and tThe overall stability of the installed automotive software within the time period of 3. In this embodiment, overall stability can be represented by indicators such as the number of software anomaly events and the frequency of software anomaly events in the vehicle's operating log. The lower these indicators are, the higher the overall stability. The vehicle to be upgraded will detect... t 2 and t The overall stability over the time period of 3 is sent to the cloud server.
[0035] The cloud server received t 2 and t After assessing the overall stability over a period of time between 3, the upcoming upgrade cycle is positively correlated and determined. t 3 and t The number of components to be upgraded corresponds to the time period between 4. In other words, the higher the overall stability, the larger the number of components to be upgraded will be in the next upgrade cycle. t 3 and t During the time period between 4 and 5, obtain more version upgrade packages for functional components to perform OTA upgrades on the vehicles to be upgraded.
[0036] In this embodiment, by executing step S301, the overall stability of the car software already installed in the car to be upgraded is higher, and a larger number of components to be upgraded can be set for an upgrade cycle. This allows for the upgrading of more functional components of the car to be upgraded within an upgrade cycle, thus balancing the stability of the car's infotainment system with the update efficiency.
[0037] In this embodiment, it is assumed that by executing step S301, the next upgrade cycle is determined. t 3 and t The number of components to be upgraded corresponds to the time period between 4. n .
[0038] In this embodiment, when the cloud server executes step S302, which is to determine the corresponding number of one or more version upgrade packages, it can specifically perform the following steps: S30201. Detect the car software of the car to be upgraded and obtain the installed versions of each functional component of the car to be upgraded; S30202. Iterate through all functional components of the car software of the car to be upgraded; S30203. For any traversed functional component, obtain the relative position of the installed version of the functional component within the version range of the functional component, and determine the update level of the functional component based on the relative position; S30204. Determine one or more functional components with the lowest update level and whose quantity is equal to the number of components to be upgraded; S30205. Obtain the version upgrade package corresponding to each of the identified functional components.
[0039] In step S30201, the cloud server can request the vehicle's infotainment system to detect the installed automotive software and obtain the installed versions of each functional component. For example, through detection, it can be determined that the vehicle to be upgraded has installed the following versions: Component 1 (vehicle infotainment system) version 4.2.1, Component 2 (audio-visual entertainment system) version 16.4, Component 3 (human-machine interaction theme) version 5, Component 4 (ambient lighting control program) version v2k, Component 5 (camping mode control program) version 3.0beta, Component 6 (navigation module electronic map) version 028, and so on. The vehicle to be upgraded sends the above installed version information to the cloud server.
[0040] In steps S30202-S30203, taking functional component 1 (vehicle infotainment system) as an example, refer to... Figure 3 The upgrade database maintained by the cloud server stores versions of functional component 1 (vehicle infotainment system) with version numbers 1.0.2 to 4.2.1, 4.2.2, and 4.2.3. Version 1.0.2 is the initial version of functional component 1 (vehicle infotainment system), and version 4.2.3 is the latest version. Arranging these versions in ascending order yields the version number set {1.0.2 to 4.2.1, 4.2.2, 4.2.3} corresponding to functional component 1 (vehicle infotainment system). This version number set represents the version range corresponding to functional component 1 (vehicle infotainment system).
[0041] In step S30203, for functional component 1 (vehicle infotainment system), the installed version is version 4.2.1. The cloud server can calculate the sequence number of version 4.2.1 within the version range {1.0.2……4.2.1, 4.2.2, 4.2.3}, determined in ascending order. p 1. Divide by the size of that version range (the total number of version numbers). q The ratio of 1 is used as the relative position of the installed version 4.2.1 within the version range {1.0.2……4.2.1, 4.2.2, 4.2.3}, and this relative position is used as the update level of functional component 1 (vehicle infotainment system) in the vehicle to be upgraded. update 1, that is update 1= p 1 / q 1 Based on the above principles, for the first m The cloud server can obtain the first functional component. m The installed versions of each functional component are numbered sequentially from oldest to newest within the version range. p m Divide by the size of the version range q m The ratio of , thus obtaining the first m Update level of each functional component update m ,Right now update m = p m / q m In this embodiment, by executing steps S30201-S30203, the extent to which the installed versions of all functional components in the vehicle to be upgraded have been updated can be quantitatively determined. For example, for the first... m Each functional component, if its corresponding update level update m The larger the value, the higher the value of the car to be upgraded. m The closer the installed version of each functional component is to the latest version upgrade package stored in the cloud server's upgrade database.
[0042] In step S30204, the cloud server updates the various functional components of the vehicle to be upgraded, obtained from steps S30201-S30203. update 1. update 2…… update M ( M (This refers to the total number of all functional components already installed in the vehicle's infotainment system to be upgraded). First, those update levels with a value equal to 100% (i.e., the installed version of the functional component is the same as the latest version in the cloud server's upgrade database) are removed. Among the remaining update levels, the smallest one is detected. n (i.e., the number of components to be upgraded) update levels, determine the minimum. n Each update level corresponds to a specific functional component.
[0043] For example, the number of components to be upgraded n Taking =2 as an example, if the two smallest update levels detected in step S30204 are respectively update 3 and update6. In step S30204, the determined functional components are functional component 3 (human-computer interaction theme) and functional component 6 (navigation module electronic map). In step S30205, the version upgrade packages corresponding to the determined functional component 3 (human-computer interaction theme) and functional component 6 (navigation module electronic map) are obtained respectively.
[0044] In this embodiment, when performing step S30204, if after removing those update degrees with values equal to 100%, the remaining number of update degrees is less than... n Then, for all the remaining update levels, the corresponding functional components can be obtained in step S30205.
[0045] In this embodiment, by executing steps S30201-S30204, the update level of all functional components in the vehicle to be upgraded can be quantified. Moreover, even if the functions, hierarchical attributes, etc. of different functional components are different, the obtained update levels are comparable, thereby allowing priority to be selected based on the lowest update level, i.e., the oldest installed version. n Each functional component performs OTA upgrades.
[0046] In this embodiment, taking the functional components determined in steps S30201-S30204 as functional component 3 (human-computer interaction theme) and functional component 6 (navigation module electronic map) as an example, these functional components are traversed when step S30205 is executed.
[0047] For functional component 3 (human-computer interaction theme), since it was determined in step S30201 that its installed version is version 5, in step S30205, the next higher version can be determined as the target version, i.e., version 6. The cloud server retrieves the corresponding version upgrade package from the upgrade database, i.e., the version 6 upgrade package, as part of step S4, to enter the next upgrade cycle. t 3 and t The version upgrade package for OTA upgrade of the vehicle's infotainment system within the time period of 4.
[0048] For functional component 6 (navigation module electronic map), since it was determined in step S30201 that its installed version is version number 028, in step S30205, the next higher version can be determined as the target version, i.e., version number 029. The cloud server obtains the corresponding version upgrade package from the upgrade database, i.e., the version number 029 upgrade package, as used in step S4, to enter the next upgrade cycle. t 3 and t The version upgrade package for OTA upgrade of the vehicle's infotainment system within the time period of 4.
[0049] In this embodiment, by selecting a version one level higher than the installed version as the target version during step S30205, it is possible to perform minor upgrades on the functional components to be upgraded in the vehicle's infotainment system during each upgrade cycle. This achieves a smooth upgrade of the functional components, which helps to reduce the impact of the upgrade operation performed in each upgrade cycle on the vehicle's infotainment system, thereby contributing to the stable operation of the vehicle's infotainment system.
[0050] In this embodiment, when performing step S30205, the upgrade range can be determined first based on the driving style information obtained in step S202. Specifically, if the most recent driving style information of the car to be upgraded is closer to "aggressive", then a larger upgrade range can be set; if the most recent driving style information of the car to be upgraded is closer to "conservative", then a smaller upgrade range can be set.
[0051] In this embodiment, the upgrade magnitude can be in the form of a version number difference or an increase ratio based on relative position. Specifically, if the version number difference is used, in step S30205, the target version is determined by adding the upgrade magnitude to the version number of the installed version. If the increase ratio based on relative position is used, in step S30205, the target version is determined by multiplying the relative position of the installed version's version number within the version range of the same functional component by 1 and adding the increase ratio to obtain the version number determined within the version range at that position.
[0052] In this embodiment, it is assumed that the upgrade magnitude is in the form of a version number difference, and its value is 2.
[0053] For functional component 3 (human-computer interaction theme), since it was determined in step S30201 that its installed version is version 5, in step S30205, with an upgrade increment of 2, version 7 can be identified as the target version. The cloud server retrieves the corresponding upgrade package from the upgrade database, namely the upgrade package for version 7, as part of step S4, which initiates the next upgrade cycle. t 3 and t The version upgrade package for OTA upgrade of the vehicle's infotainment system within the time period of 4.
[0054] For functional component 6 (navigation module electronic map), since it was determined in step S30201 that its installed version is version number 028, in step S30205, version number 030 can be determined as the target version. The cloud server obtains the corresponding version upgrade package from the upgrade database, namely the version number 030 upgrade package, as used in step S4 to enter the next upgrade cycle. t 3 and t The version upgrade package for OTA upgrade of the vehicle's infotainment system within the time period of 4.
[0055] In this embodiment, by selecting the target version of the installed version based on the upgrade range determined by the driving style information during step S30205, the upgrade range of the functional components to be upgraded in the vehicle's infotainment system can be determined based on the vehicle's previous driving style information within each upgrade cycle. Specifically, when the driving style information is closer to "aggressive," based on the principle that the user's driving style is closer to tolerating high risk and pursuing high efficiency, a larger upgrade range is set, and a higher version upgrade package is selected, allowing the user to obtain a significant update to the infotainment system's functions in a short period of time, thus improving the user experience. When the driving style information is closer to "conservative," based on the principle that the user's driving style is closer to tolerating low risk and pursuing stability, a smaller upgrade range is set, and a lower version upgrade package is selected, thus reducing the scope of the infotainment system's function updates and making it easier for the user to adapt. Therefore, by executing step S30205, the system can dynamically adapt to the user's driving style, thereby meeting the user's needs for using the vehicle and improving the user experience.
[0056] In this embodiment, during steps S2-S3, the next upgrade cycle is determined. t 3 and t After the time period between steps 4 and 5 is reached, the version upgrade packages to be used [e.g., version 7 for functional component 3 (human-computer interaction theme) and version 030 for functional component 6 (navigation module electronic map)] are executed, then step S4 is performed. t 3 and tDuring the time period between 4 and 5, the cloud server retrieves the corresponding version upgrade package from the upgrade database and uses the version upgrade package to upgrade the vehicle's infotainment system via OTA. Specifically, the cloud server sends version upgrade package number 7 for functional component 3 (human-machine interaction theme) and version upgrade package number 030 for functional component 6 (navigation module electronic map) to the vehicle to be upgraded via a wireless communication system. The vehicle's infotainment system then automatically installs the received version upgrade package, thereby upgrading the vehicle's infotainment system.
[0057] When performing step S4, the cloud server can execute the following process: The upgrade package is divided into blocks of 10-50MB (configurable), and a unique checksum (SHA-256 algorithm) is generated for each block. The block files and checksum list are stored on the cloud server. It supports manual triggering by users and remote push triggering by car manufacturers. When triggered, the vehicle status is checked first (battery level ≥30%, network stability). If the conditions are not met, the upgrade is delayed and the reason is displayed. Record the current vehicle software version, target upgrade version, and historical upgrade records to provide version basis for rollback.
[0058] To restore progress after an upgrade interruption, including: Download the upgrade package in chunks sequentially. After each chunk is downloaded, it is verified. Once the verification is successful, the chunk is stored in a temporary cache area, and the sequence number of the downloaded chunk is recorded. It stores download progress (downloaded chunks, current download chunks, verification results), network status, and power status in real time to secure flash memory (eMMC), and immediately saves the last state when power is lost or network is disconnected; After the vehicle restarts or the network is restored, it automatically reads the breakpoint record and requests the undownloaded segments from the cloud, eliminating the need to re-download the full upgrade package; it also supports cross-network recovery (such as continuing transmission after switching from 4G to Wi-Fi).
[0059] The AB partitioned storage module provides the hardware foundation for rollback, including: Dual-partition design: The vehicle controller storage is divided into Part A (current stable version) and Part B (upgrade version). When Part A is running normally, Part B downloads and flashes the upgrade package in the background. Partition switching: After a successful upgrade and verification, the vehicle will automatically switch to Partition B upon the next restart; if the upgrade fails, it will remain in Partition A without affecting normal vehicle use. Data synchronization: When flashing the B area, the user configuration data (seat settings, navigation preferences) of the A area is backed up simultaneously. This data is automatically restored after rollback to avoid loss of user configuration.
[0060] Automatic rollback: Enables rapid recovery after an upgrade failure, including: Upgrade verification: After flashing, the system undergoes three layers of verification: functional testing (whether the core functions are normal), version verification (whether it is consistent with the target version), and compatibility testing (whether cross-domain functions are compatible). Rollback Trigger: If any layer of verification fails, an automatic rollback will be triggered immediately, cutting off the running permissions of area B and switching back to the stable version of area A. The rollback process takes ≤5 minutes. Tiered rollback: A failure to upgrade a core controller (such as the cockpit domain or power domain) triggers an immediate rollback. A failure to upgrade a non-core controller can be delayed until the vehicle is turned off, without affecting driving.
[0061] Status feedback: Real-time display of upgrade and rollback status, including: The central control screen displays the download progress (percentage, remaining time), breakpoint reason (power outage / network outage / low battery), and rollback progress in real time; the mobile APP pushes status notifications synchronously. When the upgrade is interrupted, a message will pop up saying "Upgrade has been paused. It will resume automatically after the network / power is restored"; when rolling back, a message will appear saying "Upgrade failed. Reverting to a stable version" to avoid user panic.
[0062] Power supply guarantee: To prevent power outages during the upgrade process, including: Battery monitoring: The battery voltage is monitored in real time during the upgrade process. When the voltage is lower than 12.3V, the high-voltage battery charging is automatically started (only applicable to new energy vehicles) or the upgrade is paused. Engine shutdown protection: If the upgrade is not completed after the vehicle is turned off, the OTA main control unit will maintain low power operation for 30 minutes. During this period, the download can continue if the network is restored. If the timeout is exceeded, the breakpoint will be saved and the unit will be shut down.
[0063] A computer program for executing the OTA upgrade method for automobiles in this embodiment can be written into a computer device or storage medium. When the computer program is read out and run, the OTA upgrade method for automobiles in this embodiment and / or the OTA upgrade method for automobiles in this embodiment can be executed, thereby achieving the same technical effect as the OTA upgrade method for automobiles in this embodiment and / or the OTA upgrade method for automobiles in this embodiment.
[0064] It should be noted that, unless otherwise specified, when a feature is referred to as "fixed" or "connected" to another feature, it can be directly fixed or connected to the other feature, or indirectly fixed or connected to the other feature. Furthermore, the descriptions of "upper," "lower," "left," and "right" used in this disclosure are only relative to the relative positional relationships of the components of this disclosure in the accompanying drawings. The singular forms "a," "an," and "the" used in this disclosure are also intended to include the plural forms, unless the context clearly indicates otherwise. Moreover, unless otherwise defined, all technical and scientific terms used in this embodiment have the same meaning as commonly understood by one of ordinary skill in the art. The terminology used in this embodiment specification is only for describing particular embodiments and is not intended to limit the invention. The term "and / or" as used in this embodiment includes any combination of one or more of the associated listed items.
[0065] It should be understood that although various elements may be described in this disclosure using terms such as "second," "third," etc., these elements should not be limited to these terms. These terms are used only to distinguish elements of the same type from one another. For example, an element may also be referred to as a second element without departing from the scope of this disclosure, and similarly, a second element may also be referred to as an element. The use of any and all instances or exemplary language ("e.g.," "such as," etc.) provided in this embodiment is intended only to better illustrate embodiments of the invention and, unless otherwise required, does not impose a limitation on the scope of the invention.
[0066] It should be recognized that embodiments of the present invention can be implemented or carried out by computer hardware, a combination of hardware and software, or by computer instructions stored in a non-transitory computer-readable storage medium. The method can be implemented using standard programming techniques—including a non-transitory computer-readable storage medium configured with a computer program, wherein such a storage medium causes the computer to operate in a specific and predefined manner—according to the methods and drawings described in the specific embodiments. Each program can be implemented in a high-level procedural or object-oriented programming language to communicate with the computer system. However, if desired, the program can be implemented in assembly or machine language. In any case, the language can be a compiled or interpreted language. Furthermore, for this purpose, the program can run on a programmed application-specific integrated circuit (ASIC).
[0067] Furthermore, the procedures described in this embodiment can be performed in any suitable order unless otherwise indicated by this embodiment or otherwise obviously contradict the context. The procedures (or variations and / or combinations thereof) described in this embodiment can be executed under the control of one or more computer systems configured with executable instructions, and can be implemented by hardware or a combination thereof as code (e.g., executable instructions, one or more computer programs, or one or more applications) that commonly executes on one or more processors. A computer program includes a plurality of instructions executable by one or more processors.
[0068] Furthermore, the method can be implemented in any suitable type of computing platform, including but not limited to personal computers, minicomputers, mainframes, workstations, networked or distributed computing environments, standalone or integrated computer platforms, or in communication with charged particle tools or other imaging devices, etc. Aspects of the invention can be implemented as machine-readable code stored on a non-transitory storage medium or device, whether removable or integrated into a computing platform, such as a hard disk, optical read and / or write storage medium, RAM, ROM, etc., such that it is readable by a programmable computer, and when the storage medium or device is read by the computer, it can be used to configure and operate the computer to perform the processes described herein. Furthermore, the machine-readable code, or portions thereof, can be transmitted via wired or wireless networks. The invention of this embodiment includes these and other different types of non-transitory computer-readable storage media when such media comprises instructions or programs that implement the steps above in conjunction with a microprocessor or other data processor. When programmed according to the methods and techniques of the invention, the invention also includes the computer itself.
[0069] A computer program can be applied to input data to perform the functions of this embodiment, thereby transforming the input data to generate output data stored in non-volatile memory. The output information can also be applied to one or more output devices, such as a display. In a preferred embodiment of the invention, the transformed data represents physical and tangible objects, including specific visual depictions of physical and tangible objects generated on the display.
[0070] The above are merely preferred embodiments of the present invention. The present invention is not limited to the above-described embodiments. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention, as long as they achieve the technical effects of the present invention by the same means, should be included within the scope of protection of the present invention. Within the scope of protection of the present invention, the technical solutions and / or implementation methods can have various modifications and variations.
Claims
1. A method for over-the-air (OTA) upgrades for automobiles, characterized in that, The vehicle OTA upgrade method includes: Maintain and upgrade the database; the upgrade database includes multiple version upgrade packages, which are used by the vehicle system to upgrade a functional component of the vehicle software to the corresponding target version. Determine multiple upgrade cycles for the vehicle to be upgraded; Determine the version upgrade package corresponding to each of the aforementioned upgrade cycles; When any of the upgrade cycles is reached, the version upgrade package corresponding to the upgrade cycle is retrieved from the upgrade database, and the vehicle software of the vehicle to be upgraded is upgraded using the version upgrade package via OTA.
2. The automotive OTA upgrade method according to claim 1, characterized in that, The maintenance and upgrade database includes: Iterate through all the functional components described; For any of the aforementioned functional components, obtain the latest target version upgrade package corresponding to the functional component, and store the latest target version upgrade package and the old target version upgrade package in the upgrade database.
3. The automotive OTA upgrade method according to claim 1, characterized in that, The determination of multiple upgrade cycles for the vehicle to be upgraded includes: Multiple sequential upgrade cycles are configured; For any of the upgrade cycles, obtain the driving style information of the vehicle to be upgraded during a period of time prior to the upgrade cycle, and set the duration of the upgrade cycle based on the driving style information.
4. The automotive OTA upgrade method according to claim 3, characterized in that, Determining the version upgrade package corresponding to each of the upgrade cycles includes: Determine the number of components to be upgraded for each of the aforementioned upgrade cycles; For any given upgrade cycle, based on the number of components to be upgraded corresponding to the upgrade cycle, determine one or more version upgrade packages corresponding to the upgrade cycle.
5. The automotive OTA upgrade method according to claim 4, characterized in that, Determining the number of components to be upgraded corresponding to each upgrade cycle includes: For any of the upgrade cycles, obtain the overall stability detected by the vehicle software of the vehicle to be upgraded in the previous upgrade cycle. Based on the overall stability, the number of components to be upgraded corresponding to the upgrade cycle is determined in a positive correlation.
6. The automotive OTA upgrade method according to claim 4, characterized in that, The determination of a corresponding number of one or more version upgrade packages includes: The vehicle software of the vehicle to be upgraded is detected to obtain the installed versions of each of the functional components of the vehicle to be upgraded. Iterate through all the functional components of the vehicle software of the vehicle to be upgraded; For any of the functional components encountered in the traversal, the relative position of the installed version of the functional component within the version range of the functional component is obtained, and the update level of the functional component is determined based on the relative position; the version range is the range formed by the initial version and the latest version of the functional component. Identify one or more of the functional components with the lowest update level, and whose quantity is equal to the number of components to be upgraded; Obtain the version upgrade package corresponding to each of the determined functional components.
7. The automotive OTA upgrade method according to claim 6, characterized in that, The step of obtaining the version upgrade package corresponding to each of the determined functional components includes: Iterate through all the identified functional components; For any of the functional components encountered in the traversal, a higher-level target version of the functional component is determined based on the installed version of the functional component, and the corresponding version upgrade package is obtained from the upgrade database based on the target version.
8. The automotive OTA upgrade method according to claim 6, characterized in that, The step of obtaining the version upgrade package corresponding to each of the determined functional components includes: The upgrade level is determined based on the driving style information. Iterate through all the identified functional components; For any of the functional components encountered in the iteration, the target version of the functional component is determined based on the upgrade magnitude and the installed version of the functional component. Based on the target version, the corresponding version upgrade package is obtained from the upgrade database.
9. A computer device, characterized in that, It includes a memory and a processor, the memory being used to store at least one program, and the processor being used to load at least one program to execute the automotive OTA upgrade method according to any one of claims 1-8.
10. A computer-readable storage medium storing a processor-executable program, characterized in that, The processor-executable program, when executed by the processor, is used to perform the automotive OTA upgrade method according to any one of claims 1-8.