Software upgrading control method and device, equipment and storage medium
Through the software upgrade method of modular and service-oriented design, the problem of overload and low stability of domain controller upgrades in the OTA software upgrade technology of electric vehicles is solved, and a more stable and safe software upgrade is achieved, ensuring the vehicle's functions Continuity and user experience.
Patent Information
- Application Number
- CN202411234907.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-04
- Publication Date
- 2025-01-03
AI Technical Summary
The existing OTA software upgrade technology of electric vehicles has problems such as excessive upgrade load, low stability and lack of fault tolerance when dealing with domain controllers, which may lead to system crashes or functional failures during the upgrade process, affecting the normal use of the vehicle.
Adopting a modular and service-oriented design, by obtaining information on the module to be upgraded and the module upgrade package, accurately identify and upgrade the atomic service module in the vehicle, realize targeted software upgrades, improve stability and security, and in Added fault tolerance mechanism during the upgrade process.
It improves the stability and safety of vehicle software upgrades, optimizes the user experience, ensures the continuity and reliability of vehicle functions, and reduces the risk of vehicle unavailability due to failures during the upgrade process.
Smart Images

Figure CN119248308A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of electric vehicles, and in particular to a software upgrade control method, device, equipment and storage medium. Background Art
[0002] With the rapid development of intelligent connected vehicle technology, the number of electronic control units and electronic control systems in vehicles continues to increase, and these systems need to be continuously iterated and upgraded to meet new functional requirements and safety standards. In order to adapt to this rapidly changing environment, more and more electronic control units in vehicles are shifting to domain controllers to achieve functional integration and simplification. Domain controllers have platformization, high integration, high performance and good compatibility, becoming a key direction for future development. Therefore, over-the-air upgrade technology came into being, which allows vehicles to receive and install software updates through wireless networks without the need for users to go to the service center in person for upgrades, and a relatively complete process has been formed.
[0003] At present, the existing practice is that vehicles use the vehicle controller local area network to achieve remote OTA upgrades. The upgrade process includes: the manager tests and verifies the OTA upgrade package, and then upgrades the vehicle through a diagnostic instrument or CAN bus. The upgrade package is sent to the vehicle's telematics unit through the network. During the download process, the vehicle's telematics unit must ensure a stable power supply and support breakpoint resume function to ensure the integrity of the OTA upgrade package. Next, the vehicle's telematics unit decompresses the upgrade package, and finally flashes the upgrade file into the specified vehicle's electronic control unit.
[0004] However, although the existing upgrade method has achieved remote upgrade, it has limitations, especially when dealing with domain controller upgrades. Since the domain controller integrates multiple modules, all modules will be upgraded at the same time, which not only increases the upgrade load, but may also affect the stability of the upgrade. The upgrade load of the domain controller is heavy. If an error occurs during the upgrade process, it will cause the system to crash or fail, affecting the normal use of the vehicle. In addition, OTA upgrades usually take a long time to complete, which may affect the user's experience of the vehicle, especially when the upgrade fails or needs to be retried, which will cause inconvenience and dissatisfaction to the user. In addition, the existing upgrade method lacks an effective fault-tolerant mechanism. Once a problem occurs during the upgrade process, the vehicle will be unusable. Therefore, how to optimize the OTA software upgrade technology for software upgrade control has become an urgent problem to be solved. Summary of the invention
[0005] The main purpose of this application is to provide a vehicle charge control method, device, equipment, storage medium and program product, aiming to solve the technical problem of how to optimize OTA software upgrade technology for software upgrade control.
[0006] To achieve the above purpose, the present application proposes a software upgrade control method, the method comprising:
[0007] Get the information of the modules to be upgraded and the modules of the upgrade package of the atomic service;
[0008] Performing an upgrade based on the atomic service module to be upgraded and the upgrade package module information to obtain an upgraded version module;
[0009] Based on the atomic service to-be-upgraded module and the upgraded version module, the vehicle is controlled to write an updated version program or execute a rollback version measure.
[0010] In one embodiment, the step of obtaining information about the atomic service module to be upgraded and the upgrade package module includes:
[0011] Obtain vehicle function requirements and version detection requests;
[0012] Splitting the vehicle functional requirements into atomic service modules;
[0013] Determine the upgrade requirement based on the module version number in the version detection request and the corresponding version number in the atomic service module, and obtain the determination result;
[0014] The upgrade package module information is obtained based on the judgment result.
[0015] In one embodiment, the step of upgrading and obtaining an upgraded version module based on the atomic service module to be upgraded and the upgrade package module information includes:
[0016] Obtaining a version upgrade notification based on the atomic service module to be upgraded and the upgrade package module information;
[0017] Based on the version upgrade notification, the atomic service module to be upgraded is upgraded to obtain an upgraded version module.
[0018] In one embodiment, the step of obtaining a version upgrade notification based on the atomic service module to be upgraded and the upgrade package module information includes:
[0019] Get the upgrade strategy;
[0020] Acquire an upgrade package based on the upgrade strategy, the upgrade package module information and the atomic service module, wherein the upgrade package includes a new version upgrade program and an upgrade script;
[0021] A version upgrade notification is obtained based on the new version upgrade program, the upgrade script and the upgrade package module information.
[0022] In one embodiment, the step of obtaining the upgrade strategy includes:
[0023] Get the upgrade package module urgency, upgrade time and vehicle status;
[0024] Determine the upgrade order based on the order of urgency of the upgrade package modules from large to small;
[0025] An upgrade strategy is obtained based on the upgrade sequence, the upgrade time and the vehicle status.
[0026] In one embodiment, after the step of upgrading the atomic service to-be-upgraded module based on the version upgrade notification to obtain an upgraded version module, the step further includes:
[0027] Get the upgrade operation times and storage area;
[0028] When the upgrade operation is performed for the first time, the storage area is divided into a write partition and a backup partition, and the original program is written into the write partition;
[0029] When the number of upgrade operations is not the first time, the backup partition is divided into a backup storage partition and an idle backup partition, the current old version program of the write partition is backed up to the target storage partition in the backup storage partition, the old version program backed up by other target storage partitions in the backup storage partition is retained, the current old version program of the write partition is erased, and the new version upgrade program is flashed to the write partition.
[0030] In one embodiment, the step of controlling the vehicle to write an updated version program or executing a rollback version measure based on the atomic service to-be-upgraded module and the upgraded version module includes:
[0031] Determine the upgrade status based on the atomic service module to be upgraded and the upgraded version module, and obtain the determination result;
[0032] Based on the judgment result, the vehicle is controlled to write an updated version of the program or execute a rollback version measure.
[0033] In addition, to achieve the above purpose, the present application also proposes a software upgrade control device, the software upgrade control device comprising:
[0034] The acquisition module is used to obtain the information of the atomic service module to be upgraded and the upgrade package module;
[0035] A processing module, used to upgrade and obtain an upgraded version module based on the atomic service module to be upgraded and the upgrade package module information;
[0036] An execution module is used to control the vehicle to write an updated version program or execute a rollback version measure based on the atomic service to-be-upgraded module and the upgraded version module.
[0037] In addition, to achieve the above-mentioned purpose, the present application also proposes a software upgrade control device, which includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, and the computer program is configured to implement the steps of the software upgrade control method described above.
[0038] In addition, to achieve the above-mentioned purpose, the present application also proposes a storage medium, which is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by the processor, the steps of the software upgrade control method described above are implemented.
[0039] One or more technical solutions proposed in this application have at least the following technical effects:
[0040] The present application proposes a software upgrade control method, which obtains the information of the atomic service module to be upgraded and the upgrade package module; performs an upgrade based on the atomic service module to be upgraded and the upgrade package module information to obtain the upgraded version module; and controls the vehicle to write an updated version program or execute a rollback version measure based on the atomic service module to be upgraded and the upgraded version module. The present application obtains the upgraded version module by accurately identifying the atomic service module in the vehicle and its corresponding upgrade package determination module, and controls the vehicle to write an updated version program or execute a rollback version measure based on the usage experience, thereby achieving targeted software upgrades, improving the stability and security of vehicle software upgrades, optimizing the user experience, and ensuring the continuity and reliability of vehicle functions. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.
[0042] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.
[0043] Figure 1 A flowchart of the first embodiment of the software upgrade control method of the present application is provided;
[0044] Figure 2 A flowchart of the second embodiment of the software upgrade control method of the present application is provided;
[0045] Figure 3 A flowchart of the third embodiment of the software upgrade control method of the present application is provided;
[0046] Figure 4 A brief flowchart of the software upgrade control method provided in the embodiment of the present application;
[0047] Figure 5 This is a schematic diagram of the module structure of the software upgrade control device according to an embodiment of the present application;
[0048] Figure 6 Schematic diagram of the device structure of the hardware operating environment involved in the software upgrade control method in the embodiment of the present application.
[0049] The purpose, features and advantages of this application will be further described in conjunction with the embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION
[0050] It should be understood that the specific embodiments described herein are only used to explain the technical solutions of the present application and are not used to limit the present application.
[0051] In order to better understand the technical solution of the present application, a detailed description will be given below in conjunction with the accompanying drawings and specific implementation methods.
[0052] The main solution of the embodiment of the present application is: obtaining the information of the atomic service module to be upgraded and the upgrade package module; upgrading and obtaining the upgraded version module based on the atomic service module to be upgraded and the upgrade package module information; controlling the vehicle to write the updated version program or execute the rollback version measures based on the atomic service module to be upgraded and the upgraded version module.
[0053] In this embodiment, for the convenience of description, the following description is made by taking the identification of the software upgrade control device as the execution subject.
[0054] Although the upgrade method of the existing technology has achieved remote upgrade, it has limitations, especially when processing domain controller upgrades. Since the domain controller integrates multiple modules, all modules will be upgraded simultaneously, which not only increases the upgrade load, but may also affect the stability of the upgrade. The upgrade load of the domain controller is heavy. If an error occurs during the upgrade process, it will cause the system to crash or fail, affecting the normal use of the vehicle. In addition, OTA upgrades usually take a long time to complete, which may affect the user's experience of the vehicle, especially when the upgrade fails or needs to be retried, which will cause inconvenience and dissatisfaction to the user. In addition, the existing upgrade method lacks an effective fault-tolerant mechanism. Once a problem occurs during the upgrade process, the vehicle will be unusable.
[0055] The present application provides a solution, which includes obtaining information of an atomic service module to be upgraded and an upgrade package module; upgrading and obtaining an upgraded version module based on the atomic service module to be upgraded and the upgrade package module information; and controlling a vehicle to write an updated version program or execute a rollback version measure based on the atomic service module to be upgraded and the upgraded version module.
[0056] It can be seen from the above embodiments that the present application determines the update of the module by accurately identifying the atomic service module in the vehicle and its corresponding upgrade package, thereby obtaining the upgraded version module, and controlling the vehicle to write the updated version program or execute the rollback version measures based on the usage experience, thereby realizing targeted software upgrades, improving the stability and security of vehicle software upgrades, optimizing the user experience, and ensuring the continuity and reliability of vehicle functions.
[0057] Based on this, the embodiment of the present application provides a software upgrade control method, referring to Figure 1 , Figure 1 This is a flowchart of the first embodiment of the software upgrade control method of the present application.
[0058] In this embodiment, the software upgrade control method includes steps S10 to S30:
[0059] Step S10, obtaining the atomic service module to be upgraded and the upgrade package module information;
[0060] It should be noted that the atomic service module to be upgraded reflects the characteristics of making the application in the controller to be upgraded into an atomic service and splitting it into atomic service programs, and the upgrade package module information reflects the characteristics of the version upgrade package corresponding to the version number in the atomic service module to be upgraded.
[0061] It is understandable that atomic service needs to refine each specific function, define independent atomic services for each functional module, determine functional requirements, split functions, and define atomic services for each function. Define a clear interface for each atomic service, including input parameters and output results. For each atomic service, implement the corresponding function code, communicate with the vehicle ECU through the CAN bus to adjust the temperature, and perform unit testing and integration testing on each atomic service to ensure its normal function. Then deploy these services to the automotive domain controller and perform overall system testing. When the server receives a version detection request from the vehicle terminal, the server traverses the information database to find the atomic service module that is completely consistent with the module information of the upgrade package.
[0062] In addition, it should be noted that through atomic service, independent development, independent deployment and independent upgrade of functional modules can be achieved. Atomic services can be upgraded individually without affecting the normal operation of other services, which greatly improves the flexibility and maintainability of the system. At the same time, it also significantly improves the efficiency of OTA upgrades and user experience.
[0063] In one embodiment, in order to facilitate the acquisition of the information of the atomic service module to be upgraded and the upgrade package module, a corresponding information collection device, such as an information collection module, can be pre-set to obtain the information of the atomic service module to be upgraded and the upgrade package module and store it in a corresponding storage device, wherein the specific storage method is not limited as long as the storage of the atomic service module to be upgraded and the upgrade package module information can be achieved, such as a storage module, a memory, etc.
[0064] During specific implementation, the information collection device is in a real-time working state or a scheduled working state, and obtains the information of the atomic service module to be upgraded and the upgrade package module in real time or scheduled. If at a certain moment, the information collection device obtains the information of the atomic service module to be upgraded and the upgrade package module, subsequent processing is performed based on the information of the atomic service module to be upgraded and the upgrade package module.
[0065] For ease of understanding, the example of obtaining information on modules to be upgraded and upgrade package modules of an atomic service is used for explanation, wherein the information collection device is an information collection module, and the storage device is a memory.
[0066] The information acquisition module acquires the vehicle function requirements and stores them in a memory, and performs subsequent processing based on the vehicle function requirements.
[0067] If the vehicle function requirement is air-conditioning control, including adjusting temperature, adjusting wind speed, adjusting wind direction, turning on or off the air-conditioning, the vehicle function requirement is split to obtain atomic service modules, the atomic service modules include temperature control service, wind speed control service, wind direction control service and air-conditioning switch service, and a clear interface is defined for the atomic service module, the temperature control service includes setting temperature service and reading current temperature service, the setting temperature service includes input parameter target temperature and output result operation result, such as the input parameter target temperature is 25 degrees Celsius, the output result operation result is success or failure, the reading current temperature service includes outputting the current temperature, such as the output result current temperature is 22 degrees Celsius, the wind speed control service includes setting wind speed service and reading current wind speed service, the setting wind speed service includes input parameter target wind speed and output result operation result, such as the input parameter target wind speed is 3 gears, the output The result of the operation is success or failure. The service of reading the current wind speed includes outputting the current wind speed, such as the output current wind speed is gear 2. The wind direction control service includes setting the wind direction service and reading the current wind direction service. The setting wind direction service includes inputting the target wind direction parameter and outputting the result of the operation. For example, the input target wind direction parameter is the front windshield and under the feet, and the output result of the operation is success or failure. The service of reading the current wind direction includes outputting the current wind direction, such as the output current wind direction is the front windshield. The air-conditioning switch service includes turning on the air-conditioning service, turning off the air-conditioning service and reading the air-conditioning status service. The turning on the air-conditioning service includes outputting the result of the operation, such as the output result of the operation is success or failure. The turning off the air-conditioning service includes outputting the result of the operation, such as the output result of the operation is success or failure. The reading the air-conditioning status service includes outputting the result of the air-conditioning status, such as the output result of the air-conditioning status is on or off.
[0068] If the vehicle function requirement is body control, including door lock control, window control, light control and wiper control, the vehicle function requirement is split into atomic service modules, which include door lock control service, window control service, light control service and wiper control service, and a clear interface is defined for the atomic service module. The door lock control service includes door lock service, door unlock service and door lock status reading service. The door lock service includes input parameter door position and output result operation result. For example, the input parameter door position is front left, front right, rear left and The output result of the operation is success or failure. The unlock door service includes the input parameter door position and the output result operation result. The read door lock status service includes the input parameter door position and the output result lock status. If the output result lock status is locked or unlocked, the window control service includes the raise window service, the lower window service and the read window status service. The raise window service includes the input parameter window position and the output result operation result. If the input parameter window position is front left, front right, rear left and rear right, the output result operation result is success or failure. The lower window service includes the input parameter window position and the output result operation result. The service includes an input parameter of window position and an output result of operation. The window status reading service includes an input parameter of window position and an output result of window status, such as the output result of window status is raised or lowered. The lighting control service includes a lighting turn-on service, a lighting turn-off service and a lighting status reading service. The lighting turn-on service includes an input parameter of light type and an output result of operation. For example, the input parameter of light type is headlight, taillight and turn signal, and the output result of operation is success or failure. The lighting turn-off service includes an input parameter of light type and an output result of operation. The lighting status reading service includes an input parameter of light type and an output result of light status, such as the output result of light status is on or off. The wiper control service includes a wiper turn-on service, a wiper turn-off service and a wiper status reading service. The wiper turn-on service includes an input parameter of wiper speed and an output result of operation. For example, the input parameter of wiper speed is low speed, medium speed and high speed, and the output result of operation is success or failure. The wiper turn-off service includes an output result of operation. The wiper status reading service includes an output result of wiper status, such as the output result of wiper status is on or off.
[0069] Based on the version number corresponding to the atomic service module, the corresponding version detection request is obtained, the upgrade requirement is judged based on the module version number in the version detection request and the corresponding version number in the atomic service module, the judgment result is obtained, and the upgrade package module information is obtained based on the judgment result.
[0070] The atomic service module to be upgraded and the upgrade package module information are stored in a memory, and subsequent processing is performed based on the atomic service module to be upgraded and the upgrade package module information.
[0071] In a feasible implementation, step S10 may include steps A11 to A14:
[0072] Step A11, obtaining vehicle function requirements and version detection request;
[0073] It should be noted that the vehicle function requirement reflects the characteristics of the personalized function that meets the expected requirements, and the version detection request reflects the characteristics of the difference between the current software version of the vehicle and the latest version.
[0074] It can be understood that the vehicle functional requirements are the functions and performance expected by vehicle users or manufacturers for the vehicle software system, and the version detection request is used to identify the software version currently installed in the vehicle and compare it with the latest available version to determine whether an upgrade is required, thereby ensuring the targetedness and effectiveness of the vehicle software upgrade process, and also providing users with more personalized and timely software update services.
[0075] Step A12, splitting the vehicle functional requirements into atomic service modules;
[0076] It should be noted that the atomic service module reflects the characteristics of specific functions separated from vehicle functional requirements.
[0077] It can be understood that the vehicle functional requirements are broken down into smaller, easier to manage and upgrade units, each atomic service module focuses on a specific function or service, and identifies the smallest functional unit that can run and upgrade independently to achieve more efficient software management and upgrades. The atomic service modules can allow the vehicle's software system to respond to changes more flexibly, and upgrade a certain function alone without affecting other functions, thereby improving the efficiency and reliability of upgrades, while reducing software complexity, facilitating development and testing, speeding up the introduction of new functions, and making it easier to share and reuse these services between different vehicles or platforms, thereby reducing development costs and improving development efficiency.
[0078] Step A13, judging the upgrade requirement based on the module version number in the version detection request and the corresponding version number in the atomic service module, and obtaining the judgment result;
[0079] It should be noted that the judgment result reflects the feature of expecting to perform version upgrade on a specific atomic service module.
[0080] It can be understood that by comparing the current software version of the vehicle with the latest available version to determine whether an upgrade is needed, if the current version number of the atomic service module is lower than the version number in the version detection request, or there are other preset upgrade conditions, then the judgment result will indicate that an upgrade is needed, ensuring that the upgrade operation is performed only on those modules that meet the upgrade conditions, thereby avoiding unnecessary upgrade attempts, reducing the consumption of system resources, and reducing the risks caused by incompatible or erroneous upgrades, ensuring the continuity of vehicle functions and optimization of performance.
[0081] Step A14, obtaining upgrade package module information based on the judgment result.
[0082] It can be understood that the detailed information of the specific modules that need to be upgraded and the corresponding upgrade packages determined according to the judgment results include the version information of each atomic service module in the vehicle, the version information of the upgrade package, and the identification of the new version of the upgrade program and the upgrade script contained in the upgrade package, and the upgrade package that matches the module to be upgraded is retrieved from the information database. The upgrade package module information includes the module name, part number, supplier code and version number, which ensures the accuracy and effectiveness of the upgrade operation. In addition, the upgrade package can be verified to ensure that the upgrade package is compatible with the vehicle's hardware and software environment, and the security of the upgrade package can be verified to prevent the invasion of malicious software, thereby improving the security and reliability of the entire upgrade process.
[0083] Step S20, upgrading to obtain an upgraded version module based on the atomic service module to be upgraded and the upgrade package module information;
[0084] It should be noted that the upgraded version module reflects the characteristics of the updated atomic service obtained by upgrading the atomic service to-be-upgraded module.
[0085] It is understandable that by accurately matching and applying the upgrade package, the specific atomic service module in the vehicle is upgraded to obtain a newer, safer or more functional version, ensuring the accuracy and reliability of the upgrade process.
[0086] In addition, it should be noted that the atomic service module that is completely consistent with the upgrade package module information is searched in the information database, the version number of the upgrade package is updated in the information database, the server generates a version upgrade notification based on the upgrade package information, and the vehicle terminal downloads the upgrade package according to the download link or upgrade file in the version upgrade notification, and updates the specified atomic service module according to the predetermined upgrade script and strategy.
[0087] In one embodiment, in order to upgrade and obtain an upgraded version module based on the atomic service module to be upgraded and the upgrade package module information, a processing device, such as a processing module, can be pre-set. The processing module will search and read the atomic service module to be upgraded and the upgrade package module information, upgrade and obtain an upgraded version module based on the atomic service module to be upgraded and the upgrade package module information, and perform subsequent processing based on the upgraded version module, wherein the specific method of searching and reading is not limited, as long as it can achieve the acquisition of the atomic service module to be upgraded and the upgrade package module information, such as a memory, a processor, etc.
[0088] During the specific implementation, the processing device is in a normally closed state. If at a certain moment, the processing device obtains the information of the atomic service module to be upgraded and the upgrade package module, it upgrades the module to obtain the upgraded version based on the atomic service module to be upgraded and the upgrade package module information, and performs subsequent processing based on the upgraded version module.
[0089] For ease of understanding, the example of obtaining the information of the atomic service module to be upgraded and the upgrade package module is used for explanation, wherein the information collection device is the information collection module, the storage device is the memory, and the processing device is the processing module.
[0090] The information collection module obtains the atomic service module to be upgraded, obtains a version detection request based on the version number of the atomic service module to be upgraded, judges the upgrade requirement based on the module version number in the version detection request and the corresponding version number in the preset information database of the atomic service module, obtains the judgment result, and obtains the upgrade package module information based on the judgment result. If it is found that the version number of the atomic service module to be upgraded is inconsistent with the version number recorded in the preset information database, the atomic service module that is completely consistent with the module information of the upgrade package is searched to obtain the upgrade package module information, and a version upgrade notification is sent to the vehicle-mounted terminal, the version upgrade notification including the upgrade package and the upgrade package module information. If the module name in the module information of the upgrade package is engine control module, the part number is ECM-LJ1-01, the supplier code is ACME, and the version number is V2.0.0.1, the atomic service module that is completely consistent with the upgrade package module information, namely the engine control module, is searched in the information database. The version number V2.0.0.1 of the upgrade package is updated to the information database. After the update, the latest version number of the engine control module is V2.0.0.1. The server generates a version upgrade notification based on the upgrade package and the module information of the upgrade package. For example, an upgrade package named ECM-LJ1-01-ACME-V2.0.0.1-engine control module is generated. The server sends a version upgrade notification to the vehicle terminal, including the download link or actual upgrade file of the upgrade package ECM-LJ1-01-ACME-V2.0.0.1-engine control module. The vehicle terminal downloads the upgrade package ECM-LJ1-01-ACME-V2.0.0.1-engine control module of the engine control module according to the download link or upgrade file in the notification. The new version V2.0.0.1 in the upgrade package is installed in the engine control unit of the vehicle. The information database inside the vehicle terminal is updated, and the version number of the engine control module is updated to V2.0.0.1, thereby determining the upgraded version module, and performing subsequent processing based on the upgraded version module.
[0091] Step S30, based on the atomic service module to be upgraded and the upgraded version module, the vehicle is controlled to write an updated version program or execute a rollback version measure.
[0092] Understandably, due to the relatively large number of car functions, the number of backups for each function version is limited to no more than 3. You can choose to keep the most appropriate version according to your preferences. When upgrading to a new version that is not suitable for you, you can choose to roll back to the version you have kept.
[0093] In addition, it should be noted that when the new version upgrade program fails to be written or a custom version selection program operation is performed, the old version program corresponding to a backup storage partition is selected to perform a rollback operation. When the new version upgrade program fails to be written, one of the old versions can be selected to perform a rollback operation. The rollback operation refers to re-writing the old version program backed up by one of the backup storage partitions to the write partition. If the atomic service to-be-upgraded module in the vehicle domain controller is inconsistent with the upgraded version module, it is determined that the module information of the current upgrade package is incomplete, including part number errors, supplier code errors, and module name errors.
[0094] In one embodiment, in order to control the vehicle to write an updated version program or execute a rollback version measure based on the atomic service module to be upgraded and the upgraded version module, an execution device, such as an execution module, can be set to query and obtain the atomic service module to be upgraded and the upgraded version module, and control the vehicle to write an updated version program or execute a rollback version measure based on the atomic service module to be upgraded and the upgraded version module, wherein the specific method of querying and obtaining is not limited, as long as the atomic service module to be upgraded and the upgraded version module can be obtained, such as a control module, an execution module, etc.
[0095] During specific implementation, the execution device is in a normally closed state. If at a certain moment, the execution device obtains the atomic service module to be upgraded and the upgraded version module, it controls the vehicle to write an updated version program or executes a rollback version measure based on the atomic service module to be upgraded and the upgraded version module.
[0096] For ease of understanding, the example of obtaining the atomic service module to be upgraded and the upgraded version module is used for explanation, wherein the information collection device is the information collection module, the storage device is the memory, and the execution device is the execution module.
[0097] The information collection module obtains the atomic service module to be upgraded, obtains the upgraded version module, obtains the number of upgrade operations, such as n times, obtains the storage area, and stores the atomic service module to be upgraded, the upgraded version module, the number of upgrade operations and the storage area in the memory, and performs subsequent processing based on the atomic service module to be upgraded, the upgraded version module, the number of upgrade operations and the storage area.
[0098] When the number of upgrade operations n=1, the first upgrade operation is performed. At this time, the write partition stores the current old version program V1.0, and the backup partition is divided into n+1 sub-partitions, which are two sub-partitions at this time, of which the first sub-partition is the backup storage partition and the second sub-partition is the idle backup partition. When performing the upgrade operation, the current old version program V1.0 of the write partition is backed up to the backup storage partition, that is, the first sub-partition. After the backup is completed, the current old version program V1.0 of the write partition is erased, and the new version upgrade program V1.1 is flashed to the write partition, thereby completing the first upgrade;
[0099] When the number of upgrade operations n=2, the second upgrade operation is performed. At this time, the write partition stores the current old version program V1.1, and the backup partition is divided into n+1 sub-partitions, which are three sub-partitions at this time, of which the first two sub-partitions are used as backup storage partitions, and the third sub-partition is used as a new free backup partition. When performing the upgrade operation, the current old version program V1.1 of the write partition is backed up to the second backup storage partition, and the old version program stored in the first backup storage partition is retained. After the backup is completed, the current old version program V1.1 of the write partition is erased, and the new version upgrade program V1.2 is flashed to the write partition, thereby completing the second upgrade. At this time, the write partition stores the new version upgrade program V1.2, the first backup storage partition stores the old version program V1.0, and the second backup storage partition stores the old version program V1.1.
[0100] When the number of upgrade operations is n, the backup partition retains two old versions of the program, one is the previous old version of the program, and the other is the current old version of the program, while the write partition always keeps the new version of the upgrade program.
[0101] When the new version upgrade program fails to be flashed or a custom version selection program operation is performed, select an old version program corresponding to a backup storage partition to perform a rollback operation. When the new version upgrade program fails to be flashed, you can select one of the old versions of the program to re-flash the backed-up old version of the program to the write partition to perform a rollback operation.
[0102] In a feasible implementation, step S30 may include steps B11 to B12:
[0103] Step B11, judging the upgrade status based on the atomic service module to be upgraded and the upgraded version module, and obtaining the judgment result;
[0104] It should be noted that the judgment result reflects the characteristics of meeting the expected expected upgrade performance.
[0105] It is understandable that checking whether the upgraded version module has been correctly installed and run, and whether its performance meets expectations, can include functional testing, performance testing and stability testing of the new version module. At the same time, verifying whether the upgraded version module completely replaces the atomic service module to be upgraded, ensuring that there are no residual old files or configurations affecting system operation.
[0106] Step B12, based on the judgment result, the vehicle is controlled to write an updated version of the program or execute a rollback version measure.
[0107] It is understandable that if the judgment result indicates that the upgrade was not successful or there was a problem, the judgment result determines that the module information of the current upgrade package is incomplete, such as part number error, supplier code error and module name error, and the relevant error information is recorded and processed according to the preset error handling mechanism, including rolling back to the previous version, retrying the upgrade or notifying technicians to intervene, effectively controlling the vehicle to write the updated version program or execute the rollback version measures, thereby optimizing the user experience and ensuring the continuity and reliability of vehicle functions.
[0108] The software upgrade control method proposed in this embodiment obtains the information of the atomic service module to be upgraded and the upgrade package module; upgrades and obtains the upgraded version module based on the atomic service module to be upgraded and the upgrade package module; controls the vehicle to write the updated version program or execute the rollback version measure based on the atomic service module to be upgraded and the upgraded version module. The technical problem of how to optimize the OTA software upgrade technology for software upgrade control is solved. Compared with the prior art, this application adopts a modular and service-oriented design. Each functional module is an independent service and can be upgraded separately, making the system more flexible and more convenient to perform modular upgrades instead of replacing the entire system. The internal implementation of each service is closed to the outside and only provides services through clearly defined interfaces, reducing the dependence between services, so that upgrading one service will not have adverse effects on other services. Since each service is independent, it is easier to achieve version compatibility. Each service can be upgraded and rolled back independently without affecting other services, making it easier to maintain and upgrade, and adding a fault-tolerant mechanism to effectively reduce the risk of the vehicle being unusable due to failures during the upgrade process, and improve the safety and reliability of the upgrade.
[0109] Based on the first embodiment of the present application, in the second embodiment of the present application, the same or similar contents as those in the above-mentioned embodiment 1 can be referred to the above introduction and will not be repeated later.
[0110] In this embodiment, refer to Figure 2 , Figure 2 This is a flow chart of the second embodiment of the software upgrade control method of the present application, wherein step S20 specifically includes steps S21 to S22:
[0111] Step S21, obtaining a version upgrade notification based on the atomic service module to be upgraded and the upgrade package module information;
[0112] It should be noted that the version upgrade notification reflects the feature of performing the upgrade according to the status of the atomic service module to be upgraded and the available upgrade package information.
[0113] It is understandable that the version upgrade notification will be sent to the vehicle user through the vehicle's communication system or displayed on the vehicle's information screen, providing an upgrade option. The version upgrade notification includes an upgrade package and corresponding upgrade package module information, such as a download link for the upgrade package, specific instructions for the upgrade operation, and upgrade safety verification information. The download link for the upgrade package includes upgrade package data so that the vehicle can download or directly apply the new software version. The specific instructions for the upgrade operation include operational features for starting, proceeding, and completing the upgrade process. The upgrade safety verification information includes upgrade safety information and upgrade verification information to ensure the security of the upgrade data, thereby smoothly starting the upgrade of the vehicle software and improving the security and reliability of the upgrade process.
[0114] For ease of understanding, the example of obtaining the information of the atomic service module to be upgraded and the upgrade package module is used for explanation, wherein the information collection device is the information collection module, the storage device is the memory, and the processing device is the processing module.
[0115] The information collection module obtains the atomic service module to be upgraded, obtains a version detection request based on the version number of the atomic service module to be upgraded, judges the upgrade requirement based on the module version number in the version detection request and the corresponding version number in the preset information database of the atomic service module, obtains the judgment result, and obtains the upgrade package module information based on the judgment result. If it is found that the version number of the atomic service module to be upgraded is inconsistent with the version number recorded in the preset information database, the atomic service module that is completely consistent with the module information of the upgrade package is searched to obtain the upgrade package module information, and a version upgrade notification is sent to the vehicle-mounted terminal, and subsequent processing is performed based on the version upgrade notification.
[0116] In a feasible implementation, step S201 may include steps C11 to C13:
[0117] Step C11, obtaining an upgrade strategy;
[0118] It should be noted that the upgrade strategy reflects the characteristics of upgrading according to the expected rules.
[0119] It is understandable that obtaining an upgrade strategy can ensure that the software upgrade process is both safe and efficient. The upgrade strategy includes an upgrade sequence, preset urgency, and preset conditions to minimize the impact on normal vehicle use.
[0120] In a feasible implementation, step C11 may include steps D11 to D13:
[0121] Step D11, obtaining the upgrade package module urgency, upgrade time and vehicle status;
[0122] It should be noted that the upgrade package module urgency reflects the characteristics of the impact of different module upgrades on the system, the upgrade time reflects the characteristics of the time required for module upgrade, and the vehicle status reflects the characteristics of the current status of the vehicle.
[0123] It can be understood that the vehicle terminal obtains the preset urgency of each control module, and the preset urgency can be set according to the importance of each control module in the actual vehicle. The vehicle terminal arranges each control module in order of preset safety from large to small to obtain an upgrade order, and the preset conditions include upgrade time and vehicle status. The upgrade time can be set by the vehicle terminal, and the vehicle status includes the vehicle's gear position, battery voltage value, vehicle speed and four-door status. For example, the vehicle status in the preset prerequisite can be set to that the vehicle's gear position is in P gear and the battery voltage value is greater than the set threshold 12V and the vehicle speed is 0 and the four doors are in the closed state.
[0124] Step D12, determining the upgrade sequence based on the order of urgency of the upgrade package modules from large to small;
[0125] It should be noted that the upgrade sequence reflects the characteristics of the sequence of performing module upgrades that meets the expected rules.
[0126] It is understandable that a reasonable upgrade sequence can be formulated based on the urgency of the modules and the status of the vehicle, with priority given to upgrading those modules that have the greatest impact on vehicle performance and safety.
[0127] Step D13, obtaining an upgrade strategy based on the upgrade sequence, the upgrade time and the vehicle status.
[0128] It can be understood that if the upgrade function is to upgrade the control module for entertainment assistance, the online upgrade can be performed without affecting the normal driving of the vehicle. Before the original program is installed for the first time, the storage area is divided into a write partition and a backup partition, and the original program is written into the write partition; the upgrade package is obtained based on the upgrade strategy, and the upgrade package includes a new version of the upgrade program and an upgrade script.
[0129] Step C12, obtaining an upgrade package based on the upgrade strategy, the upgrade package module information and the atomic service module, wherein the upgrade package includes a new version upgrade program and an upgrade script;
[0130] It should be noted that the upgrade package reflects the characteristics of the software update set generated based on the atomic service module to be upgraded and the upgrade package module information, including a new version of the upgrade program and an upgrade script. The new version of the upgrade program reflects the characteristics of the program that meets the requirements for updating and upgrading, and the upgrade script reflects the characteristics of the script that is expected to be updated and upgraded.
[0131] Step C13, obtaining a version upgrade notification based on the new version upgrade program, the upgrade script and the upgrade package module information.
[0132] It is understandable that the new version of the upgrade program included in the upgrade package is used to replace the atomic service module to be upgraded to achieve new functions or improve performance, and the upgrade script includes the upgrade program to correctly install the new program and ensure the smooth progress of the upgrade process.
[0133] Step S22: upgrading the atomic service module to be upgraded based on the version upgrade notification to obtain an upgraded version module.
[0134] It is understandable that according to the upgrade strategy and the needs of the atomic service module, the new version of the program and script that needs to be included in the upgrade package is determined, the determined new version of the program and script files are packaged to form a complete upgrade package, and before the upgrade package is sent to the vehicle, it is verified to ensure the integrity and security of the upgrade package, and the verified upgrade package is uploaded to the server so that the vehicle can download it for upgrading, and the vehicle is notified that there is an available upgrade package, and a download link is provided or the upgrade package is sent directly to the vehicle. After receiving the upgrade notification, the vehicle is upgraded according to the instructions in the upgrade script, ensuring that the upgrade process of the vehicle software is both safe and efficient, while also ensuring the stability and compatibility of the upgraded software.
[0135] For ease of understanding, the example of obtaining the atomic service module to be upgraded is used for explanation, wherein the information collection device is the information collection module, the storage device is the memory, and the processing device is the processing module.
[0136] The information collection module obtains the version upgrade notification, which includes the upgrade package and the upgrade package module information. If the module name in the module information of the upgrade package is the engine control module, the part number is ECM-LJ1-01, the supplier code is ACME, and the version number is V2.0.0.1, the information database is searched for the atomic service module that is completely consistent with the upgrade package module information, namely the engine control module. The version number V2.0.0.1 of the upgrade package is updated to the information database. After the update, the latest version number of the engine control module is V2.0.0.1. The server generates a version upgrade notification based on the upgrade package and the module information of the upgrade package. For example, an upgrade package named ECM-LJ1-01-ACME-V2.0.0.1-Engine Control Module is generated. The server sends a version upgrade notification to the vehicle terminal, including the download link or actual upgrade file of the upgrade package ECM-LJ1-01-ACME-V2.0.0.1-Engine Control Module. The vehicle terminal downloads the upgrade package ECM-LJ1-01-ACME-V2.0.0.1-Engine Control Module according to the download link or upgrade file in the notification. The new version V2.0.0.1 in the upgrade package is installed into the vehicle's engine control unit. The information database inside the vehicle terminal is updated, and the version number of the engine control module is updated to V2.0.0.1, thereby determining the upgraded version module, and performing subsequent processing based on the upgraded version module.
[0137] The software upgrade control method proposed in this embodiment obtains a version upgrade notification based on the atomic service module information and the upgrade package module information; based on the version upgrade notification, the atomic service module to be upgraded is upgraded to obtain an upgraded version module. The technical problem of how to obtain a version upgrade notification to perform a software upgrade is solved. Compared with the prior art, this application analyzes the current status and version information of the atomic service module, accurately matches the appropriate upgrade package, automatically generates a version upgrade notification, and performs the upgrade operation according to the version upgrade notification, thereby improving the accuracy and efficiency of the upgrade, and enhancing the reliability of the system through real-time monitoring and result verification, while optimizing the user experience, improving the flexibility and maintainability of the system, and strengthening the fault tolerance of the system, thereby improving the overall performance and reliability of the vehicle software upgrade.
[0138] Based on the first and second embodiments of the present application, in the third embodiment of the present application, the same or similar contents as those in the above-mentioned embodiment 1 can be referred to the above introduction and will not be repeated later.
[0139] In this embodiment, refer to Figure 3 , Figure 3 The flowchart provided for the third embodiment of the software upgrade control method of the present application further includes steps S221 to S223 after step S22:
[0140] Step S221, obtaining the number of upgrade operations and the storage area;
[0141] It should be noted that the number of upgrade operations reflects the characteristics of the number of times the software upgrade is performed, and the storage area reflects the characteristics of the area space storing the upgrade program.
[0142] For ease of understanding, obtaining the number of upgrade operations and the storage area is taken as an example for explanation, wherein the information collection device is the information collection module, the storage device is the memory, and the execution device is the execution module.
[0143] The information acquisition module obtains the number of upgrade operations, such as n times, obtains the storage area, stores the number of upgrade operations and the storage area in the memory, and performs subsequent processing based on the number of upgrade operations and the storage area.
[0144] Step S222, when the upgrade operation is the first time, the storage area is divided into a write partition and a backup partition, and the original program is written into the write partition;
[0145] It should be noted that the write partition reflects the characteristics of the area space for storing the latest updated program.
[0146] For ease of understanding, the acquisition of a storage area is taken as an example for explanation, wherein the information acquisition device is an information acquisition module, the storage device is a memory, and the execution device is an execution module.
[0147] The information acquisition module obtains the number of upgrade operations, such as n times, obtains the storage area, stores the number of upgrade operations and the storage area in the memory, and performs subsequent processing based on the number of upgrade operations and the storage area.
[0148] When the number of upgrade operations n=1, the first upgrade operation is performed, the storage area is divided into a write partition and a backup partition, the original program is written into the write partition, at this time the write partition stores the current old version program V1.0, the backup partition is divided into n+1 sub-partitions, at this time there are two sub-partitions, of which the first sub-partition is a backup storage partition, and the second sub-partition is an idle backup partition. When the upgrade operation is performed, the current old version program V1.0 of the write partition is backed up to the backup storage partition, i.e. the first sub-partition. After the backup is completed, the current old version program V1.0 of the write partition is erased, and the new version upgrade program V1.1 is flashed to the write partition, thereby completing the first upgrade.
[0149] Step S223, when the number of upgrade operations is not the first time, the backup partition is divided into a backup storage partition and an idle backup partition, the current old version program of the write partition is backed up to the target storage partition in the backup storage partition, the old version program backed up by other target storage partitions in the backup storage partition is retained, and the current old version program of the write partition is erased, and the new version upgrade program is flashed to the write partition.
[0150] It should be noted that the target storage partition reflects the characteristics of the storage area where the latest updated program is expected to be written, and the other target storage partitions reflect the characteristics of the storage area where the old version of the program is expected to be written.
[0151] For ease of understanding, the acquisition of a storage area is taken as an example for explanation, wherein the information acquisition device is an information acquisition module, the storage device is a memory, and the execution device is an execution module.
[0152] The information acquisition module obtains the number of upgrade operations, such as n times, obtains the storage area, stores the number of upgrade operations and the storage area in the memory, and performs subsequent processing based on the number of upgrade operations and the storage area.
[0153] When the number of upgrade operations is not the first time, such as when the number of upgrade operations n=2, the second upgrade operation is performed. At this time, the write partition stores the current old version program V1.1, and the backup partition is divided into n+1 sub-partitions, which are three sub-partitions at this time, of which the first two sub-partitions are used as backup storage partitions, and the third sub-partition is used as a new idle backup partition. When performing the upgrade operation, the current old version program V1.1 of the write partition is backed up to the second backup storage partition, and the old version program stored in the first backup storage partition is retained. After the backup is completed, the current old version program V1.1 of the write partition is erased, and the new version upgrade program V1.2 is flashed to the write partition, thereby completing the second upgrade. At this time, the write partition stores the new version upgrade program V1.2, the first backup storage partition stores the old version program V1.0, and the second backup storage partition stores the old version program V1.1.
[0154] When the upgrade operation number is not the first time, such as when the upgrade operation number is n times, the backup partition retains two old version programs, one is the previous old version program, and the other is the current old version program, while the write partition always keeps the new version upgrade program.
[0155] When the new version upgrade program fails to be flashed or a custom version selection program operation is performed, select an old version program corresponding to a backup storage partition to perform a rollback operation. When the new version upgrade program fails to be flashed, you can select one of the old versions of the program to re-flash the backed-up old version of the program to the write partition to perform a rollback operation.
[0156] The software upgrade control method proposed in this embodiment obtains the number of upgrade operations and the storage area; when the number of upgrade operations is the first time, the storage area is divided into a write partition and a backup partition, and the original program is written into the write partition; when the number of upgrade operations is not the first time, the backup partition is divided into a backup storage partition and an idle backup partition, the current old version program of the write partition is backed up to the target storage partition in the backup storage partition, the old version programs backed up by other target storage partitions in the backup storage partition are retained, and the current old version program of the write partition is erased, and the new version upgrade program is written to the write partition. The technical problem of how to write a version program to perform a software upgrade is solved. Compared with the prior art, the present application realizes the effective writing of the original program and the safe backup of the old version program by accurately recording the number of upgrade operations and intelligently managing the storage area, which not only optimizes the efficiency of the use of storage space, but also provides users with flexible choices between the new and old versions, enhances data security, improves system stability, and simplifies the software upgrade process, thereby significantly improving the overall user experience and upgrade success rate.
[0157] For example, to help understand the implementation process of the software upgrade control method obtained by combining this embodiment with the above-mentioned embodiment 1, please refer to Figure 4 , Figure 4 A brief flowchart of a software upgrade control method is provided, specifically:
[0158] Refer to Example 1, obtain the information of the atomic service module to be upgraded and the upgrade package module; upgrade and obtain the upgraded version module based on the atomic service module to be upgraded and the upgrade package module information; control the vehicle to write the updated version program or execute the rollback version measure based on the atomic service module to be upgraded and the upgraded version module. Start software upgrade, secure access, version comparison, download request, refer to Example 2, obtain the version upgrade notification based on the atomic service module information and the upgrade package module information; upgrade the atomic service module to be upgraded based on the version upgrade notification to obtain the upgraded version module. Obtain a new version compressed package, transfer data, compare data, install the new version, and the upgrade is successfully completed, or put the old version compressed package into the partition, and reinstall the old version program compressed package to complete. Refer to Example 3 to obtain the number of upgrade operations and the storage area; when the number of upgrade operations is the first time, divide the storage area into a write partition and a backup partition, and write the original program to the write partition; when the number of upgrade operations is not the first time, divide the backup partition into a backup storage partition and an idle backup partition, back up the current old version program of the write partition to the target storage partition in the backup storage partition, retain the old version programs backed up by other target storage partitions in the backup storage partition, erase the current old version program of the write partition, and flash the new version upgrade program to the write partition.
[0159] It should be noted that the above examples are only used to understand the present application and do not constitute a limitation on the software upgrade control method of the present application. More simple transformations based on this technical concept are all within the scope of protection of the present application.
[0160] This application also provides a software upgrade control device, please refer to Figure 5 , the software upgrade control device comprises:
[0161] The acquisition module 10 is used to obtain the atomic service module to be upgraded and the upgrade package module information;
[0162] A processing module 20 is used to upgrade and obtain an upgraded version module based on the atomic service module to be upgraded and the upgrade package module information;
[0163] The execution module 30 is used to control the vehicle to write an updated version program or execute a rollback version measure based on the atomic service to-be-upgraded module and the upgraded version module.
[0164] The acquisition module 10 is also used to obtain vehicle function requirements and version detection requests;
[0165] Splitting the vehicle functional requirements into atomic service modules;
[0166] Determine the upgrade requirement based on the module version number in the version detection request and the corresponding version number in the atomic service module, and obtain the determination result;
[0167] The upgrade package module information is obtained based on the judgment result.
[0168] The processing module 20 is further configured to obtain a version upgrade notification based on the atomic service module to be upgraded and the upgrade package module information;
[0169] Based on the version upgrade notification, the atomic service module to be upgraded is upgraded to obtain an upgraded version module.
[0170] The processing module 20 is also used to obtain an upgrade strategy;
[0171] Acquire an upgrade package based on the upgrade strategy, the upgrade package module information and the atomic service module, wherein the upgrade package includes a new version upgrade program and an upgrade script;
[0172] A version upgrade notification is obtained based on the new version upgrade program, the upgrade script and the upgrade package module information.
[0173] The processing module 20 is also used to obtain the urgency of the upgrade package module, the upgrade time and the vehicle status;
[0174] Determine the upgrade order based on the order of urgency of the upgrade package modules from large to small;
[0175] An upgrade strategy is obtained based on the upgrade sequence, the upgrade time and the vehicle status.
[0176] The execution module 30 is also used to obtain the number of upgrade operations and the storage area;
[0177] When the upgrade operation is performed for the first time, the storage area is divided into a write partition and a backup partition, and the original program is written into the write partition;
[0178] When the number of upgrade operations is not the first time, the backup partition is divided into a backup storage partition and an idle backup partition, the current old version program of the write partition is backed up to the target storage partition in the backup storage partition, the old version program backed up by other target storage partitions in the backup storage partition is retained, the current old version program of the write partition is erased, and the new version upgrade program is flashed to the write partition.
[0179] The execution module 30 is further used to determine the upgrade status based on the atomic service module to be upgraded and the upgraded version module, and obtain the determination result;
[0180] Based on the judgment result, the vehicle is controlled to write an updated version of the program or execute a rollback version measure.
[0181] The software upgrade control device provided by the present application adopts the software upgrade control method in the above embodiment, which can solve the technical problem of how to optimize the OTA software upgrade technology for software upgrade control. Compared with the prior art, the beneficial effects of the software upgrade control device provided by the present application are the same as the beneficial effects of the software upgrade control method provided by the above embodiment, and the other technical features in the software upgrade control device are the same as the features disclosed in the above embodiment method, which will not be repeated here.
[0182] The present application provides a software upgrade control device, which includes: at least one processor; and a memory that is communicatively connected to the at least one processor; wherein the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the software upgrade control method in the above-mentioned embodiment one.
[0183] Reference below Figure 6, which shows a schematic diagram of the structure of a software upgrade control device suitable for implementing the embodiment of the present application. The software upgrade control device in the embodiment of the present application may include but is not limited to mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Descriptions), PMPs (Portable Media Players), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 6 The software upgrade control device shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.
[0184] like Figure 6 As shown, the software upgrade control device may include a processing device 1001 (e.g., a central processing unit, a graphics processor, etc.), which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM: Read Only Memory) 1002 or a program loaded from a storage device 1003 to a random access memory (RAM: Random Access Memory) 1004. In RAM1004, various programs and data required for the operation of the software upgrade control device are also stored. The processing device 1001, ROM1002, and RAM1004 are connected to each other through a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. Generally, the following systems can be connected to the I / O interface 1006: an input device 1007 including, for example, a touch screen, a touch pad, a keyboard, a mouse, an image sensor, a microphone, an accelerometer, a gyroscope, etc.; an output device 1008 including, for example, a liquid crystal display (LCD: Liquid Crystal Display), a speaker, a vibrator, etc.; a storage device 1003 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 1009. The communication device 1009 can allow the software upgrade control device to communicate with other devices wirelessly or by wire to exchange data. Although the figure shows a software upgrade control device with various systems, it should be understood that it is not required to implement or have all the systems shown. More or fewer systems can be implemented or provided instead.
[0185] In particular, according to the embodiments disclosed in the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments disclosed in the present application include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication device, or installed from a storage device 1003, or installed from a ROM 1002. When the computer program is executed by the processing device 1001, the above-mentioned functions defined in the method of the embodiment disclosed in the present application are executed.
[0186] The software upgrade control device provided by the present application adopts the software upgrade control method in the above embodiment, which can solve the technical problem of how to optimize the OTA software upgrade technology for software upgrade control. Compared with the prior art, the beneficial effects of the software upgrade control device provided by the present application are the same as the beneficial effects of the software upgrade control method provided by the above embodiment, and the other technical features in the software upgrade control device are the same as the features disclosed in the method of the previous embodiment, which will not be repeated here.
[0187] It should be understood that the various parts disclosed in this application can be implemented by hardware, software, firmware or a combination thereof. In the description of the above embodiments, specific features, structures, materials or characteristics can be combined in any one or more embodiments or examples in a suitable manner.
[0188] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
[0189] The present application provides a computer-readable storage medium having computer-readable program instructions (ie, computer programs) stored thereon, and the computer-readable program instructions are used to execute the software upgrade control method in the above-mentioned embodiment.
[0190] The computer-readable storage medium provided in the present application may be, for example, a USB flash drive, but is not limited to electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, systems or devices, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, system or device. The program code contained on the computer-readable storage medium may be transmitted using any appropriate medium, including but not limited to: wires, optical cables, RF (Radio Frequency), etc., or any suitable combination of the above.
[0191] The computer-readable storage medium may be included in the software upgrade control device; or may exist independently without being assembled into the software upgrade control device.
[0192] The above-mentioned computer-readable storage medium carries one or more programs. When the above-mentioned one or more programs are executed by the software upgrade control device, the software upgrade control device: obtains the atomic service module to be upgraded and the upgrade package module information; upgrades and obtains the upgraded version module based on the atomic service module to be upgraded and the upgrade package module information; controls the vehicle to write the updated version program or executes the rollback version measures based on the atomic service module to be upgraded and the upgraded version module.
[0193] Computer program code for performing the operations of the present application may be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, C++, and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0194] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present application. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0195] The modules involved in the embodiments described in this application may be implemented by software or hardware, wherein the name of the module does not constitute a limitation on the unit itself in some cases.
[0196] The readable storage medium provided in this application is a computer-readable storage medium, which stores computer-readable program instructions (i.e., computer programs) for executing the above-mentioned software upgrade control method, and can solve the technical problem of how to optimize OTA software upgrade technology for software upgrade control. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided in this application are the same as the beneficial effects of the software upgrade control method provided in the above-mentioned embodiment, and will not be repeated here.
[0197] The above descriptions are only some embodiments of the present application, and are not intended to limit the patent scope of the present application. All equivalent structural changes made using the contents of the present application specification and drawings under the technical concept of the present application, or direct / indirect applications in other related technical fields are included in the patent protection scope of the present application.
Claims
1. A software upgrade control method, characterized in that: The method includes: Get the information of the modules to be upgraded and the modules of the upgrade package of the atomic service; Performing an upgrade based on the atomic service module to be upgraded and the upgrade package module information to obtain an upgraded version module; Based on the atomic service to-be-upgraded module and the upgraded version module, the vehicle is controlled to write an updated version program or execute a rollback version measure.
2. The method according to claim 1, characterized in that The step of obtaining information about the atomic service module to be upgraded and the upgrade package module includes: Obtain vehicle function requirements and version detection requests; Splitting the vehicle functional requirements into atomic service modules; Determine the upgrade requirement based on the module version number in the version detection request and the corresponding version number in the atomic service module, and obtain the determination result; The upgrade package module information is obtained based on the judgment result.
3. The method according to claim 1, characterized in that The step of upgrading and obtaining an upgraded version module based on the atomic service module to be upgraded and the upgrade package module information comprises: Obtaining a version upgrade notification based on the atomic service module to be upgraded and the upgrade package module information; Based on the version upgrade notification, the atomic service module to be upgraded is upgraded to obtain an upgraded version module.
4. The method according to claim 3, characterized in that The step of obtaining a version upgrade notification based on the atomic service module to be upgraded and the upgrade package module information includes: Get the upgrade strategy; Acquire an upgrade package based on the upgrade strategy, the upgrade package module information and the atomic service module, wherein the upgrade package includes a new version upgrade program and an upgrade script; A version upgrade notification is obtained based on the new version upgrade program, the upgrade script and the upgrade package module information.
5. The method according to claim 4, characterized in that The step of obtaining the upgrade strategy includes: Get the upgrade package module urgency, upgrade time and vehicle status; Determine the upgrade order based on the order of urgency of the upgrade package modules from large to small; An upgrade strategy is obtained based on the upgrade sequence, the upgrade time and the vehicle status.
6. The method according to claim 3, characterized in that After the step of upgrading the atomic service module to be upgraded based on the version upgrade notification to obtain an upgraded version module, the following step further includes: Get the upgrade operation times and storage area; When the upgrade operation is performed for the first time, the storage area is divided into a write partition and a backup partition, and the original program is written into the write partition; When the number of upgrade operations is not the first time, the backup partition is divided into a backup storage partition and an idle backup partition, the current old version program of the write partition is backed up to the target storage partition in the backup storage partition, the old version program backed up by other target storage partitions in the backup storage partition is retained, the current old version program of the write partition is erased, and the new version upgrade program is flashed to the write partition.
7. The method according to claim 1, characterized in that The step of controlling the vehicle to write an updated version program or execute a rollback version measure based on the atomic service to-be-upgraded module and the upgraded version module comprises: Determine the upgrade status based on the atomic service module to be upgraded and the upgraded version module, and obtain the determination result; Based on the judgment result, the vehicle is controlled to write an updated version of the program or execute a rollback version measure.
8. A software upgrade control device, characterized in that: The device comprises: The acquisition module is used to obtain the information of the atomic service module to be upgraded and the upgrade package module; A processing module, used to upgrade and obtain an upgraded version module based on the atomic service module to be upgraded and the upgrade package module information; An execution module is used to control the vehicle to write an updated version program or execute a rollback version measure based on the atomic service to-be-upgraded module and the upgraded version module.
9. A software upgrade control device, characterized in that: The device comprises: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program is configured to implement the steps of the software upgrade control method according to any one of claims 1 to 7.
10. A storage medium, characterized in that: The storage medium is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by a processor, the steps of the software upgrade control method according to any one of claims 1 to 7 are implemented.
