Vehicle upgrading method and device and electronic equipment
By determining the dependency between the vehicle electronic control units in the remote upgrade of the car and performing partial rollback processing when the ECU upgrade fails, the problem of rollback cannot be rolled back when the upgrade fails, reducing time costs and improving user experience.
Patent Information
- Application Number
- CN202411610496.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-12
- Publication Date
- 2025-03-28
AI Technical Summary
During the remote upgrade of the car, if an ECU upgrade fails, it is impossible to roll back the ECU that has been upgraded and has dependencies, resulting in too long upgrade time, increasing time cost and affecting the user experience.
By determining the dependency between the vehicle electronic control units, when the target ECU upgrade fails, partial rollback is performed on the target ECU and its dependency ECU to avoid global rollback.
Reduces the time cost when the upgrade fails, improves the user experience, and improves the overall efficiency of remote vehicle upgrades.
Smart Images

Figure CN119718389A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of vehicle remote upgrading, and in particular to a vehicle upgrading method and device, and electronic equipment. Background Art
[0002] With the development of advanced driver assistance and the introduction of autonomous driving, cars are becoming more and more intelligent. These smart cars are generally controlled by software, that is, they are equipped with a large number of software programs. When a software program problem or update occurs, if the traditional solution is adopted, all vehicles will be recalled first, and then the software will be updated at the same time. This approach will seriously affect the user experience and satisfaction on the one hand, and on the other hand, it will cost a lot of manpower and material resources to fix the problem.
[0003] In order to solve the pain points of traditional solutions and make software updates faster, a remote software upgrade technology OTA has been introduced into the automotive industry. Automobile remote upgrade technology OTA (Over-the-Air) refers to the technology of remotely managing the firmware, data and applications on the terminal of automobile components through mobile communication networks (2G / 3G / 4G or Wifi). Simply put, OTA technology is implemented in three steps: first, the update software is uploaded to the OTA center, then the OTA center wirelessly transmits the update software to the vehicle end, and finally the vehicle end automatically updates the software.
[0004] However, with the further development of intelligent and networked automobiles, there are more and more ECUs (Electronic Control Units) on the car. When performing OTA upgrades, the operator can configure the upgrade order of the ECUs on the cloud platform. However, when upgrading multiple ECUs, if one ECU fails to upgrade, only the failed ECU can be rolled back. It is impossible to roll back the previously upgraded ECUs with dependencies, or all of them can only be rolled back. However, if you choose to roll back all, the time used for this upgrade will become too long, which not only consumes too much time cost, but also seriously affects the user experience. Summary of the invention
[0005] In view of the above problems, a vehicle upgrading method, device and electronic device are proposed to overcome the above problems or at least partially solve the above problems, including:
[0006] A vehicle upgrading method, the method comprising:
[0007] In response to a vehicle upgrade requirement, determining a plurality of vehicle electronic control units that need to be upgraded and dependencies between the vehicle electronic control units;
[0008] In the case that the target vehicle electronic control unit fails to be upgraded, a rollback process is performed on the target vehicle electronic control unit and the vehicle electronic control units that are dependent on the target vehicle electronic control unit.
[0009] Optionally, the determining of the plurality of vehicle electronic control units that need to be upgraded and the dependencies between the vehicle electronic control units includes:
[0010] Determine the high and low voltage upgrade sequence of the vehicle electronic control unit; wherein the high and low voltage upgrade sequence at least includes a high voltage electronic control unit upgrade sequence and a low voltage electronic control unit upgrade sequence;
[0011] A plurality of vehicle electronic control units that need to be upgraded and dependencies between the vehicle electronic control units are determined according to the high and low voltage upgrade sequence.
[0012] Optionally, the rolling back the target vehicle electronic control unit and the vehicle electronic control unit that has a dependency relationship with the target vehicle electronic control unit includes:
[0013] According to the multiple vehicle electronic control units that need to be upgraded and the dependencies between the vehicle electronic control units, create a vehicle electronic control unit node and obtain the dependencies between the vehicle electronic control unit nodes;
[0014] Generate an adjacency table according to the vehicle electronic control unit nodes and the dependency relationships between the vehicle electronic control unit nodes;
[0015] The target vehicle electronic control unit and the vehicle electronic control units that have a dependency relationship with the target vehicle electronic control unit are rolled back according to the adjacency table.
[0016] Optionally, the method for upgrading the target vehicle electronic control unit includes:
[0017] In the case that the preceding vehicle electronic control unit having the dependency relationship with the target vehicle electronic control unit is empty or is an upgraded vehicle electronic control unit; the target vehicle electronic control unit is upgraded.
[0018] Optionally, the rolling back processing of the target vehicle electronic control unit and the vehicle electronic control unit having a dependency relationship with the target vehicle electronic control unit according to the adjacency list includes:
[0019] When the target vehicle electronic control unit is rolled back successfully, the rollback process is performed on the preceding vehicle electronic control unit that has a dependency relationship with the target vehicle electronic control unit according to the adjacency table.
[0020] Optionally, also include:
[0021] In case the rollback of the target vehicle electronic control unit fails or there is no preceding vehicle electronic control unit that has a dependency relationship with the target vehicle electronic control unit, the upgrade process of the vehicle is exited.
[0022] Optionally, determining the high and low voltage upgrade sequence of the vehicle electronic control unit includes:
[0023] Receive new version information sent by the cloud platform, and determine the high and low voltage upgrade sequence of the vehicle electronic control unit according to the new version information.
[0024] Optionally, the high-voltage electronic control unit upgrade sequence and the low-voltage electronic control unit upgrade sequence are both provided with an upgrade start flag and an upgrade end flag; wherein the upgrade start flag is used to indicate the target vehicle electronic control unit that needs to be upgraded first in the high-voltage electronic control unit upgrade sequence or the low-voltage electronic control unit upgrade sequence, and the upgrade end flag is used to indicate the target vehicle electronic control unit that needs to be upgraded last in the high-voltage electronic control unit upgrade sequence or the low-voltage electronic control unit upgrade sequence.
[0025] A vehicle upgrading device, comprising:
[0026] A dependency determination module, configured to determine, in response to a vehicle upgrade requirement, a plurality of vehicle electronic control units that need to be upgraded and dependencies between the vehicle electronic control units;
[0027] The rollback processing module is used to roll back the target vehicle electronic control unit and the vehicle electronic control units that have a dependent relationship with the target vehicle electronic control unit when the target vehicle electronic control unit fails to be upgraded.
[0028] An electronic device comprises a processor, a memory and a computer program stored in the memory and capable of running on the processor, wherein the computer program implements the vehicle upgrade method as described above when executed by the processor.
[0029] The embodiments of the present application have the following advantages:
[0030] In an embodiment of the present application, by responding to the upgrade requirements of the vehicle, multiple vehicle electronic control units that need to be upgraded and the dependencies between the vehicle electronic control units are determined; in the event that the upgrade of the target vehicle electronic control unit fails, the target vehicle electronic control unit and the vehicle electronic control units that have a dependency relationship with the target vehicle electronic control unit are rolled back. This achieves that when the vehicle electronic control unit is upgraded according to a preset upgrade sequence, a partial rollback is performed based on the actual dependency situation when an upgrade fails, thereby avoiding rolling back all ECU nodes, reducing the time cost consumed when the upgrade fails, improving the user experience when performing remote vehicle upgrades, and improving the overall efficiency of remote vehicle upgrades. BRIEF DESCRIPTION OF THE DRAWINGS
[0031] In order to more clearly illustrate the technical solution of the present application, the drawings required for use in the description of the present application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.
[0032] Figure 1 is a flowchart of the steps of a vehicle upgrading method provided by some embodiments of the present application;
[0033] Figure 2 It is a schematic diagram of the high and low voltage upgrade sequence determination process of the present application provided by some embodiments of the present application;
[0034] Figure 3 It is a schematic diagram of a new version information receiving process provided by some embodiments of the present application;
[0035] Figure 4 It is a schematic diagram of the adjacency table generation process of the present application provided by some embodiments of the present application;
[0036] Figure 5 It is a node information diagram of the high voltage upgrade sequence adjacency table of the present application provided in some embodiments of the present application;
[0037] Figure 6 It is a schematic diagram of the overall upgrade process of this application provided in some embodiments of this application;
[0038] Figure 7 It is a node information diagram of the low voltage upgrade sequence adjacency table of the present application provided in some embodiments of the present application;
[0039] Figure 8 It is a structural schematic diagram of a vehicle upgrading device provided in one embodiment of the present application. DETAILED DESCRIPTION
[0040] In order to make the above-mentioned purposes, features and advantages of the present application more obvious and easy to understand, the present application is further described in detail below in conjunction with the accompanying drawings and specific implementation methods. Obviously, the described embodiments are part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.
[0041] With the development of advanced driver assistance and the introduction of autonomous driving, cars are becoming more and more intelligent. These smart cars are generally controlled by software, that is, they are equipped with a large number of software programs. When a software program problem or update occurs, if the traditional solution is adopted, all vehicles will be recalled first, and then the software will be updated at the same time. This approach will seriously affect the user experience and satisfaction on the one hand, and on the other hand, it will cost a lot of manpower and material resources to fix the problem.
[0042] In order to solve the pain points of traditional solutions and make software updates faster, a remote software upgrade technology OTA has been introduced into the automotive industry. Automobile remote upgrade technology OTA refers to the technology of remotely managing the firmware, data and applications on the terminal of automobile components through mobile communication networks (2G / 3G / 4G or Wifi). Simply put, OTA technology is implemented in three steps: first, the update software is uploaded to the OTA center, then the OTA center wirelessly transmits the update software to the vehicle end, and finally the vehicle end automatically updates the software.
[0043] However, with the further development of intelligent and networked automobiles, there are more and more ECUs in the car. When performing OTA upgrades, the operation can configure the upgrade order of ECUs on the cloud platform. However, when upgrading multiple ECUs, if one ECU fails to upgrade, only the failed ECU can be rolled back. It is impossible to roll back the previously upgraded ECUs with dependencies, or all of them can only be rolled back. However, if all are rolled back, the time used for this upgrade will become too long, which not only consumes too much time cost, but also seriously affects the user experience.
[0044] In the embodiment of the present application, based on the core technical concept of partially rolling back according to the actual dependency situation when the upgrade fails, the vehicle upgrade method in the related art is improved. The present application will be described in detail below with reference to the accompanying drawings:
[0045] Reference Figure 1 , shows a flowchart of a vehicle upgrade method provided by an embodiment of the present application, which may specifically include the following steps:
[0046] Step 101, in response to a vehicle upgrade requirement, determining a plurality of vehicle electronic control units that need to be upgraded and dependencies between the vehicle electronic control units;
[0047] It should be emphasized that the vehicle involved in the embodiments of the present application supports OTA upgrades, that is, the vehicle is deployed with an OTA upgrade program, and the OTA program can communicate and connect normally with the cloud platform; the cloud platform supports the configuration of ECU upgrade order and rollback dependency and other information. In the specific implementation, the OTA upgrade program on the vehicle can periodically detect whether there are new version installation packages and other update packages on the cloud platform. When there are new version installation packages and other update packages on the cloud platform, it can be considered that the vehicle has a remote upgrade requirement. At this time, when the cloud platform sends the new version installation package and other update packages to the vehicle, the OTA upgrade program can determine the upgrade order of the vehicle electronic control unit, and convert the upgrade order into an adjacency table that includes at least the vehicle electronic control units that need to be upgraded and the dependency relationships between the vehicle electronic control units, for subsequent actual upgrade processing flow.
[0048] In some embodiments of the present application, the determining of the plurality of vehicle electronic control units that need to be upgraded and the dependencies between the vehicle electronic control units includes:
[0049] Determine the high and low voltage upgrade sequence of the vehicle electronic control unit; wherein the high and low voltage upgrade sequence at least includes a high voltage electronic control unit upgrade sequence and a low voltage electronic control unit upgrade sequence;
[0050] A plurality of vehicle electronic control units that need to be upgraded and dependencies between the vehicle electronic control units are determined according to the high and low voltage upgrade sequence.
[0051] In the specific implementation, Figure 2 As shown, after receiving the new version information, the ECU upgrade sequence can be parsed to determine the high and low voltage upgrade sequence, that is, to determine whether to upgrade the high-voltage ECU first or the low-voltage ECU first, and determine the high-voltage electronic control unit upgrade sequence and the low-voltage electronic control unit upgrade sequence accordingly, wherein the high-voltage electronic control unit upgrade sequence may include the actual upgrade sequence of the high-voltage components, and the low-voltage electronic control unit upgrade sequence may include the actual upgrade sequence of the low-voltage components. In actual applications, it can be determined whether to upgrade the high-voltage ECU first or the low-voltage ECU first, and after determination, multiple vehicle electronic control units that need to be upgraded and the dependency relationship between the vehicle electronic control units are determined according to the corresponding high-voltage electronic control unit upgrade sequence and the low-voltage electronic control unit upgrade sequence, and the high-voltage components and the low-voltage components are upgraded in sequence.
[0052] In some embodiments of the present application, determining the high and low voltage upgrade sequence of the vehicle electronic control unit includes:
[0053] Receive new version information sent by the cloud platform, and determine the high and low voltage upgrade sequence of the vehicle electronic control unit according to the new version information.
[0054] In practical applications, such as Figure 3 As shown, when it is considered that the vehicle has a need for remote upgrade, the new version information (including at least the download link and upgrade sequence) issued by the cloud platform can be received. At this time, the cloud platform has completed the configuration of the ECU high and low voltage upgrade sequence and rollback dependency in the new version information. After receiving the new version information, the OTA program on the vehicle can parse the new version information (for example, json data) and convert the ECU upgrade sequence into an adjacency table.
[0055] Step 102: When the target vehicle electronic control unit fails to be upgraded, a rollback process is performed on the target vehicle electronic control unit and the vehicle electronic control units that are dependent on the target vehicle electronic control unit.
[0056] In the specific implementation, Figure 4 As shown, after receiving the new version information, the ECU upgrade sequence (json data) therein can be parsed to determine the high and low voltage upgrade sequence (determine whether to increase the high voltage or the low voltage first); then the high and low voltage upgrade sequence can be further parsed, and the adjacency table can be initialized first; then the json data of each ECU node in the high and low voltage upgrade sequence is traversed and parsed to obtain the ECU node information and the dependency relationship between the ECU nodes; thereby creating the ECU node; and then the ECU node can be added to the adjacency table, and the predecessor node, successor node and dependency relationship of the ECU node can be added accordingly in the adjacency table, thereby generating a complete adjacency table.
[0057] In actual application, corresponding high-voltage upgrade sequence adjacency tables and low-voltage upgrade sequence adjacency tables can be generated for the high-voltage electronic control unit upgrade sequence and the low-voltage electronic control unit upgrade sequence respectively, so that in the actual upgrade process, according to the corresponding adjacency tables, when the target vehicle electronic control unit fails to be upgraded, the target vehicle electronic control unit and the vehicle electronic control units that have a dependent relationship with the target vehicle electronic control unit can be rolled back.
[0058] In some embodiments of the present application, the step of performing rollback processing on the target vehicle electronic control unit and the vehicle electronic control unit that has a dependency relationship with the target vehicle electronic control unit includes:
[0059] According to the multiple vehicle electronic control units that need to be upgraded and the dependencies between the vehicle electronic control units, create a vehicle electronic control unit node and obtain the dependencies between the vehicle electronic control unit nodes;
[0060] Generate an adjacency table according to the vehicle electronic control unit nodes and the dependency relationships between the vehicle electronic control unit nodes;
[0061] The target vehicle electronic control unit and the vehicle electronic control units that have a dependency relationship with the target vehicle electronic control unit are rolled back according to the adjacency table.
[0062] In practical applications, after receiving the new version information, the ECU upgrade sequence (json data) therein can be parsed to determine the high and low voltage upgrade sequence (determine whether to increase the high voltage or the low voltage first); then the high and low voltage upgrade sequence can be further parsed, and the adjacency table can be initialized first; then the json data of each ECU node in the high and low voltage upgrade sequence can be traversed and parsed to obtain the ECU node information and the dependency relationship between the ECU nodes; thereby creating the ECU node; and then the ECU node can be added to the adjacency table, and the predecessor node, successor node and dependency relationship of the ECU node can be added accordingly in the adjacency table, thereby generating a complete adjacency table.
[0063] In actual application, corresponding high-voltage upgrade sequence adjacency tables and low-voltage upgrade sequence adjacency tables can be generated for the high-voltage electronic control unit upgrade sequence and the low-voltage electronic control unit upgrade sequence respectively, so that in the actual upgrade process, according to the corresponding adjacency tables, when the target vehicle electronic control unit fails to be upgraded, the target vehicle electronic control unit and the vehicle electronic control units that have a dependent relationship with the target vehicle electronic control unit can be rolled back.
[0064] For the sake of convenience, the following will exemplarily illustrate the embodiment of the present application in the order of first upgrading the high-voltage ECU and then upgrading the low-voltage ECU:
[0065] like Figure 5 The figure shows a node information diagram of the high-voltage upgrade sequence adjacency table in some embodiments of the present application. The dark arrow in the figure represents the existence of a rollback dependency relationship between two ECU nodes. It can be seen from the content of the figure that there are a total of 7 high-voltage components upgraded this time, namely 0x001-0x007; (0x000 is an empty node and is only used as a mark); among them, only the preceding node of ECU1 is 0x000, that is, ECU1 is the first ECU to be upgraded; and only the post-node of ECU7 is 0x000, that is, after the upgrade of ECU7 is completed, it indicates that the upgrade of all high-voltage components is completed.
[0066] like Figure 6 As shown, in a specific implementation, the high-voltage components can be upgraded according to the following steps:
[0067] 1. Create a high-voltage upgrade process control thread;
[0068] 2. Initialize the upgrade status of all ECU nodes to IDLE, that is, waiting to be upgraded;
[0069] 3. Traverse all ECU nodes to determine whether their predecessor nodes are 0x000 or the predecessor nodes have been successfully upgraded;
[0070] 4. Only the preceding node of ECU1 is 0x000, and the preceding nodes of other nodes are not upgraded. Create an upgrade subthread of ECU1 and start upgrading ECU1.
[0071] 5. After ECU1 is successfully upgraded, ECU1 serves as the front node of ECU2 and ECU3, and the conditional judgment in step 3 is passed;
[0072] 6. Create upgrade sub-threads for ECU2 and ECU3 respectively, and start upgrading ECU2 and ECU3 in parallel;
[0073] 7. After ECU2 is successfully upgraded, ECU2 serves as the front node of ECU4 and ECU5, and the conditional judgment in step 3 is passed;
[0074] 8. Create upgrade sub-threads for ECU4 and ECU5 respectively, and start upgrading ECU4 and ECU5 in parallel;
[0075] 9. When both ECU4 and ECU5 are upgraded successfully, ECU4 and ECU5 serve as the front nodes of ECU6, and the conditional judgment in step 3 is passed;
[0076] 10. Create an upgrade subthread for ECU6 and start upgrading ECU6;
[0077] 11. When ECU3 and ECU6 are successfully upgraded, ECU3 and ECU6 serve as the front nodes of ECU7, and the conditional judgment in step 3 is passed;
[0078] 12. Create an upgrade subthread for ECU7 and start upgrading ECU7;
[0079] 13. After ECU7 is successfully upgraded, the subsequent nodes are 0x000, and all nodes are upgraded successfully. The high-voltage flow control thread exits, creates a low-voltage flow control thread, and starts upgrading all low-voltage components.
[0080] 13-1. When the upgrade of ECU7 fails, a rollback subthread is created for ECU7 to start rolling back ECU7;
[0081] 13-2. When ECU7 rollback fails, exit the rollback subthread and directly exit the entire upgrade process.
[0082] 13-3. When ECU7 rolls back successfully, exit the rollback subthread and determine whether there is a rollback dependency;
[0083] 13-4. There is a pre-rollback dependency on ECU6, and ECU6 has not been rolled back;
[0084] 13-5. Create a rollback subthread for ECU6 and start rolling back ECU6;
[0085] 13-6. When ECU6 rollback fails, exit the rollback subthread and directly exit the entire upgrade process.
[0086] 13-7. When ECU6 rolls back successfully, exit the rollback subthread and determine whether there is a rollback dependency;
[0087] 13-8. There is a pre-rollback dependency on ECU4, and ECU4 has not been rolled back;
[0088] 13-9. Create a rollback subthread for ECU4 and start rolling back ECU4;
[0089] 13-10. When ECU4 rollback fails, exit the rollback subthread and directly exit the entire upgrade process.
[0090] 13-11. When ECU4 rolls back successfully, exit the rollback subthread and determine whether there is a rollback dependency;
[0091] 13-12. There is a pre-rollback dependency on ECU2, and ECU2 is not rolled back;
[0092] 13-13. Create a rollback subthread for ECU2 and start rolling back ECU2;
[0093] 13-14. When ECU2 rollback fails, exit the rollback subthread and directly exit the entire upgrade process.
[0094] 13-15. When ECU2 rolls back successfully, exit the rollback subthread and determine whether there is a rollback dependency;
[0095] 13-16. If there is no pre-rollback dependency, exit the entire upgrade process directly.
[0096] like Figure 7 The figure shows the node information diagram of the low-voltage upgrade sequence adjacency table in some embodiments of the present application. It can be seen from the content in the figure that there are 8 low-voltage parts to be upgraded this time, namely 0x011-0x018; (0x000 is an empty node, used only as a mark); the preceding node of ECU1 and ECU2 is 0x000, that is, ECU1 and ECU2 are the ECUs that need to be upgraded first; the post-node of ECU7 and ECU8 is 0x000, that is, after the upgrade of ECU7 and ECU8 is completed, it indicates that the upgrade of all low-voltage parts is completed.
[0097] In the specific implementation, you can also refer to Figure 6The process shown follows the steps below to upgrade the low voltage parts:
[0098] 1. Determine the upgrade status of all ECUs, all of which are to be upgraded;
[0099] 2. Traverse all ECU nodes to determine whether their predecessor nodes are 0x000 or the predecessor nodes have been successfully upgraded;
[0100] 3. The predecessor nodes of ECU1 and ECU2 are 0x000, and the predecessor nodes of other nodes are not upgraded. Create upgrade subthreads for ECU1 and ECU2, and start upgrading ECU1 and ECU2 in parallel.
[0101] 4. After ECU1 is successfully upgraded, ECU1 serves as the front node of ECU3 and ECU6, and the conditional judgment in step 2 is passed;
[0102] 5. Create upgrade subthreads for ECU3 and ECU6, and start upgrading ECU3 and ECU6;
[0103] 6. After ECU2 is successfully upgraded, ECU2 serves as the front node of ECU4, and the conditional judgment in step 2 is passed;
[0104] 7. Create an upgrade subthread for ECU4 and start upgrading ECU4;
[0105] 8. After ECU3 is successfully upgraded, ECU3 serves as the front node of ECU5, and the conditional judgment in step 2 is passed;
[0106] 9. Create an upgrade subthread for ECU5 and start upgrading ECU5;
[0107] 10. When both ECU4 and ECU6 are upgraded successfully, ECU4 and ECU6 serve as the front nodes of ECU7, and the condition judgment in step 2 is passed;
[0108] 11. Create an upgrade subthread for ECU7 and start upgrading ECU7;
[0109] 12. After ECU5 is successfully upgraded, ECU5 serves as the front node of ECU8, and the conditional judgment in step 2 is passed;
[0110] 13. Create an upgrade subthread for ECU8 and start upgrading ECU8;
[0111] 14. When both ECU7 and ECU8 are successfully upgraded, the subsequent nodes are all 0x000, and all nodes are successfully upgraded. Exit the entire upgrade process.
[0112] 14-1. When the upgrade of ECU7 fails, a rollback subthread is created for ECU7 and the rollback of ECU7 begins;
[0113] 14-2. When ECU7 rollback fails, exit the rollback subthread and directly exit the entire upgrade process.
[0114] 14-3. When ECU7 rolls back successfully, exit the rollback subthread and determine whether there is a rollback dependency;
[0115] 14-4. There is a pre-rollback dependency on ECU6, and ECU6 has not been rolled back;
[0116] 14-5. Create a rollback subthread for ECU6 and start rolling back ECU6;
[0117] 14-6. When ECU6 rollback fails, exit the rollback subthread and directly exit the entire upgrade process.
[0118] 14-7. When ECU6 rolls back successfully, exit the rollback subthread and determine whether there is a rollback dependency;
[0119] 14-8. There is a pre-rollback dependency on ECU2, and ECU2 is not rolled back;
[0120] 14-9. Create a rollback subthread for ECU2 and start rolling back ECU2;
[0121] 14-10. When ECU2 rollback fails, exit the rollback subthread and directly exit the entire upgrade process.
[0122] 14-11. When ECU2 rolls back successfully, exit the rollback subthread and determine whether there is any rollback dependency, until all nodes with rollback dependencies are rolled back or a node fails to roll back.
[0123] In some embodiments of the present application, the method for upgrading the target vehicle electronic control unit includes:
[0124] In the case that the preceding vehicle electronic control unit having the dependency relationship with the target vehicle electronic control unit is empty or is an upgraded vehicle electronic control unit; the target vehicle electronic control unit is upgraded.
[0125] In a specific implementation, a target vehicle electronic control unit can be determined in the vehicle electronic control units according to the corresponding upgrade sequence, and it is determined according to the adjacency table whether the preceding vehicle electronic control unit that has a dependency relationship with the target vehicle electronic control unit is empty or an upgraded vehicle electronic control unit; if the preceding vehicle electronic control unit of the target vehicle electronic control unit is empty or an upgraded vehicle electronic control unit, the target vehicle electronic control unit is upgraded;
[0126] In one example, if Figure 5As shown in the figure, it can be seen from the content that there are 7 high-voltage parts to be upgraded this time, namely 0x001-0x007; (0x000 is an empty node, only used as a mark); among them, only the preceding node of ECU1 is 0x000, that is, ECU1 is the first ECU to be upgraded; and only the following node of ECU7 is 0x000, that is, after the upgrade of ECU7 is completed, it means that the upgrade of all high-voltage parts is completed. When upgrading, you can create a high-voltage upgrade process control thread; initialize the upgrade status of all ECU nodes to IDLE, that is, to be upgraded; traverse all ECU nodes to determine whether their preceding nodes are 0x000 or the preceding nodes have been successfully upgraded; for example, only the preceding node of ECU1 is 0x000, and the preceding nodes of the remaining nodes have not been upgraded; at this time, you can create an upgrade subthread for ECU1 and start upgrading ECU1. Other nodes can also be judged according to the same principle.
[0127] In some embodiments of the present application, the step of performing rollback processing on the target vehicle electronic control unit and the vehicle electronic control unit having a dependency relationship with the target vehicle electronic control unit according to the adjacency table includes:
[0128] When the target vehicle electronic control unit is rolled back successfully, the rollback process is performed on the preceding vehicle electronic control unit that has a dependency relationship with the target vehicle electronic control unit according to the adjacency table.
[0129] In practical applications, the target vehicle electronic control unit can be rolled back first, and it can be determined whether the target vehicle electronic control unit is rolled back successfully; if the target vehicle electronic control unit is rolled back successfully, it can be determined whether there is a preceding vehicle electronic control unit that has a rollback dependency on the target vehicle electronic control unit; if there is a preceding vehicle electronic control unit that has a rollback dependency on the target vehicle electronic control unit, the preceding vehicle electronic control unit can be rolled back.
[0130] In one example, if Figure 5As shown in the figure, it can be seen from the content that there are 7 high-voltage parts in this upgrade, namely 0x001-0x007; (0x000 is an empty node, used only as a mark); among them, only the leading node of ECU1 is 0x000, that is, ECU1 is the first ECU to be upgraded; and only the trailing node of ECU7 is 0x000, that is, after the upgrade of ECU7 is completed, it means that the upgrade of all high-voltage parts is completed. Taking the failure of ECU7 upgrade as an example, when the upgrade of ECU7 fails, a rollback subthread can be created for ECU7 to start rolling back ECU7; when the rollback of ECU7 fails, exit the rollback subthread and directly exit the entire upgrade process. When ECU7 rolls back successfully, exit the rollback subthread and determine whether there is a rollback dependency; if there is a previous rollback dependency ECU6, and ECU6 has not been rolled back; then create a rollback subthread for ECU6 and start rolling back ECU6; when ECU6 rolls back fails, exit the rollback subthread and directly exit the entire upgrade process; when ECU6 rolls back successfully, exit the rollback subthread and determine whether there is a rollback dependency; there is a previous rollback dependency ECU2, and ECU2 has not been rolled back; create a rollback subthread for ECU2 and start rolling back ECU2; when ECU2 rolls back fails, exit the rollback subthread and directly exit the entire upgrade process. When ECU2 rolls back successfully, exit the rollback subthread and determine whether there is a rollback dependency, until all nodes with rollback dependencies are rolled back.
[0131] In some embodiments of the present application, it also includes:
[0132] In case the rollback of the target vehicle electronic control unit fails or there is no preceding vehicle electronic control unit that has a dependency relationship with the target vehicle electronic control unit, the upgrade process of the vehicle is exited.
[0133] In actual applications, if the rollback of the target vehicle's electronic control unit fails or there is no preceding vehicle electronic control unit that has a rollback dependency on the target vehicle's electronic control unit, the vehicle's remote upgrade process can be directly exited. In the former case, the user can be directly notified of the upgrade failure and other related information so that the user can take corresponding measures. In the latter case, it can be used as a response measure for a successful rollback, and the user can be notified of the success of the rollback and related information such as the reason for the upgrade failure.
[0134] In some embodiments of the present application, the high-voltage electronic control unit upgrade sequence and the low-voltage electronic control unit upgrade sequence are both provided with an upgrade start flag and an upgrade end flag; wherein the upgrade start flag is used to indicate the target vehicle electronic control unit that needs to be upgraded first in the high-voltage electronic control unit upgrade sequence or the low-voltage electronic control unit upgrade sequence, and the upgrade end flag is used to indicate the target vehicle electronic control unit that needs to be upgraded last in the high-voltage electronic control unit upgrade sequence or the low-voltage electronic control unit upgrade sequence.
[0135] In a specific implementation, an upgrade start flag and an upgrade end flag can be pre-set in both the high-voltage electronic control unit upgrade sequence and the low-voltage electronic control unit upgrade sequence; the upgrade start flag can be used to indicate the target vehicle electronic control unit that needs to be upgraded first in the high-voltage electronic control unit upgrade sequence or the low-voltage electronic control unit upgrade sequence, and the upgrade end flag can be used to indicate the target vehicle electronic control unit that needs to be upgraded last in the high-voltage electronic control unit upgrade sequence or the low-voltage electronic control unit upgrade sequence.
[0136] In one example, if Figure 5 As shown in the figure, it can be seen from the content that there are 7 high-voltage components to be upgraded this time, namely 0x001-0x007; (0x000 is an empty node, used only as a mark); among them, only the leading node of ECU1 is 0x000 (i.e., the upgrade start mark node), that is, ECU1 is the first ECU to be upgraded; and only the trailing node of ECU7 is 0x000 (i.e., the upgrade end mark node), that is, after the upgrade of ECU7 is completed, it means that the upgrade of all high-voltage components is completed.
[0137] In an embodiment of the present application, by responding to the upgrade requirements of the vehicle, multiple vehicle electronic control units that need to be upgraded and the dependencies between the vehicle electronic control units are determined; in the event that the upgrade of the target vehicle electronic control unit fails, the target vehicle electronic control unit and the vehicle electronic control units that have a dependency relationship with the target vehicle electronic control unit are rolled back. This achieves that when the vehicle electronic control unit is upgraded according to a preset upgrade sequence, a partial rollback is performed based on the actual dependency situation when an upgrade fails, thereby avoiding rolling back all ECU nodes, reducing the time cost consumed when the upgrade fails, improving the user experience when performing remote vehicle upgrades, and improving the overall efficiency of remote vehicle upgrades.
[0138] It should be noted that, for the method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the embodiments of the present application are not limited by the described order of actions, because according to the embodiments of the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily required by the embodiments of the present application.
[0139] Reference Figure 8 , shows a schematic diagram of the structure of a vehicle upgrading device provided by an embodiment of the present application, which may specifically include the following modules:
[0140] A dependency determination module 801 is used to determine, in response to a vehicle upgrade requirement, a plurality of vehicle electronic control units that need to be upgraded and dependencies between the vehicle electronic control units;
[0141] The rollback processing module 802 is used to roll back the target vehicle electronic control unit and the vehicle electronic control units that have a dependent relationship with the target vehicle electronic control unit when the upgrade of the target vehicle electronic control unit fails.
[0142] In some embodiments of the present application, the dependency determination module 801 includes:
[0143] A high- and low-voltage upgrade sequence determination submodule is used to determine the high- and low-voltage upgrade sequence of the vehicle electronic control unit; wherein the high- and low-voltage upgrade sequence at least includes a high-voltage electronic control unit upgrade sequence and a low-voltage electronic control unit upgrade sequence;
[0144] The dependency determination submodule is used to determine the multiple vehicle electronic control units that need to be upgraded and the dependency relationships between the vehicle electronic control units according to the high and low voltage upgrade sequence.
[0145] In some embodiments of the present application, the rollback processing module 802 includes:
[0146] A node creation submodule, used for creating a vehicle electronic control unit node and obtaining the dependency relationship between the vehicle electronic control unit nodes according to the plurality of vehicle electronic control units that need to be upgraded and the dependency relationship between the vehicle electronic control units;
[0147] An adjacency table generation submodule, used for generating an adjacency table according to the vehicle electronic control unit nodes and the dependency relationships between the vehicle electronic control unit nodes;
[0148] The rollback processing submodule is used to perform rollback processing on the target vehicle electronic control unit and the vehicle electronic control units that have a dependency relationship with the target vehicle electronic control unit according to the adjacency table.
[0149] In some embodiments of the present application, the device further includes:
[0150] The target vehicle electronic control unit upgrade module is used to upgrade the target vehicle electronic control unit when the preceding vehicle electronic control unit that has the dependency relationship with the target vehicle electronic control unit is empty or is an upgraded vehicle electronic control unit.
[0151] In some embodiments of the present application, the rollback processing submodule includes:
[0152] The rollback processing unit is used to perform the rollback processing on the front vehicle electronic control unit that has a dependency relationship with the target vehicle electronic control unit according to the adjacency table when the target vehicle electronic control unit is rolled back successfully.
[0153] In some embodiments of the present application, it also includes:
[0154] The upgrade process exit module is used to exit the upgrade process of the vehicle when the rollback of the target vehicle electronic control unit fails or there is no preceding vehicle electronic control unit that has a dependency relationship with the target vehicle electronic control unit.
[0155] In some embodiments of the present application, the high and low voltage upgrade sequence determination submodule includes: a high and low voltage upgrade sequence determination submodule, used to receive new version information issued by the cloud platform, and determine the high and low voltage upgrade sequence of the vehicle electronic control unit based on the new version information.
[0156] An embodiment of the present application also provides an electronic device, which may include a processor, a memory, and a computer program stored in the memory and capable of running on the processor, and when the computer program is executed by the processor, the above vehicle upgrade method is implemented.
[0157] An embodiment of the present application further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the above vehicle upgrade method is implemented.
[0158] Some embodiments of the present application also provide a computer program product, including a computer program, which implements the above vehicle upgrade method when executed by a processor.
[0159] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0160] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.
[0161] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, devices, or computer program products. Therefore, the embodiments of the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the embodiments of the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.
[0162] The embodiments of the present application are described with reference to the flowcharts and / or block diagrams of the methods, terminal devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing terminal device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing terminal device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0163] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing terminal device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0164] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal device so that a series of operating steps are executed on the computer or other programmable terminal device to produce a computer-implemented process, thereby providing instructions for implementing the process in the computer or other programmable terminal device. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0165] Although the preferred embodiments of the present application have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the embodiments of the present application.
[0166] Finally, it should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or terminal device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or terminal device. In the absence of further restrictions, the elements defined by the sentence "including one..." do not exclude the existence of other identical elements in the process, method, article or terminal device including the above elements.
[0167] The above is a detailed introduction to a vehicle upgrading method, device, and electronic device provided. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea. At the same time, for general technical personnel in this field, according to the idea of the present application, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.
Claims
1. A vehicle upgrading method, characterized in that: The method comprises: In response to a vehicle upgrade requirement, determining a plurality of vehicle electronic control units that need to be upgraded and dependencies between the vehicle electronic control units; In the case that the target vehicle electronic control unit fails to be upgraded, a rollback process is performed on the target vehicle electronic control unit and the vehicle electronic control units that are dependent on the target vehicle electronic control unit.
2. The method according to claim 1, characterized in that: The determining of the plurality of vehicle electronic control units that need to be upgraded and the dependencies between the vehicle electronic control units includes: Determine the high and low voltage upgrade sequence of the vehicle electronic control unit; wherein the high and low voltage upgrade sequence at least includes a high voltage electronic control unit upgrade sequence and a low voltage electronic control unit upgrade sequence; A plurality of vehicle electronic control units that need to be upgraded and dependencies between the vehicle electronic control units are determined according to the high and low voltage upgrade sequence.
3. The method according to claim 2, characterized in that The rolling back process of the target vehicle electronic control unit and the vehicle electronic control unit having a dependency relationship with the target vehicle electronic control unit includes: According to the multiple vehicle electronic control units that need to be upgraded and the dependencies between the vehicle electronic control units, create a vehicle electronic control unit node and obtain the dependencies between the vehicle electronic control unit nodes; Generate an adjacency table according to the vehicle electronic control unit nodes and the dependency relationships between the vehicle electronic control unit nodes; The target vehicle electronic control unit and the vehicle electronic control units that have a dependency relationship with the target vehicle electronic control unit are rolled back according to the adjacency table.
4. The method according to claim 2, characterized in that: The method for upgrading the target vehicle electronic control unit comprises: In the case that the preceding vehicle electronic control unit having the dependency relationship with the target vehicle electronic control unit is empty or is an upgraded vehicle electronic control unit; the target vehicle electronic control unit is upgraded.
5. The method according to claim 3, characterized in that: The step of performing rollback processing on the target vehicle electronic control unit and the vehicle electronic control unit having a dependency relationship with the target vehicle electronic control unit according to the adjacency table includes: When the target vehicle electronic control unit is rolled back successfully, the rollback process is performed on the preceding vehicle electronic control unit that has a dependency relationship with the target vehicle electronic control unit according to the adjacency table.
6. The method according to claim 5, characterized in that Also includes: In case the rollback of the target vehicle electronic control unit fails or there is no preceding vehicle electronic control unit that has a dependency relationship with the target vehicle electronic control unit, the upgrade process of the vehicle is exited.
7. The method according to claim 2, characterized in that: Determining the high and low voltage upgrade sequence of the vehicle electronic control unit includes: Receive new version information sent by the cloud platform, and determine the high and low voltage upgrade sequence of the vehicle electronic control unit according to the new version information.
8. The method according to claim 2, characterized in that: The high-voltage electronic control unit upgrade sequence and the low-voltage electronic control unit upgrade sequence are both provided with an upgrade start flag and an upgrade end flag; wherein the upgrade start flag is used to indicate the target vehicle electronic control unit that needs to be upgraded first in the high-voltage electronic control unit upgrade sequence or the low-voltage electronic control unit upgrade sequence, and the upgrade end flag is used to indicate the target vehicle electronic control unit that needs to be upgraded last in the high-voltage electronic control unit upgrade sequence or the low-voltage electronic control unit upgrade sequence.
9. A vehicle upgrading device, characterized in that: The device comprises: A dependency determination module, configured to determine, in response to a vehicle upgrade requirement, a plurality of vehicle electronic control units that need to be upgraded and dependencies between the vehicle electronic control units; The rollback processing module is used to roll back the target vehicle electronic control unit and the vehicle electronic control units that have a dependent relationship with the target vehicle electronic control unit when the target vehicle electronic control unit fails to be upgraded.
10. An electronic device, characterized in that: The invention comprises a processor, a memory and a computer program stored in the memory and capable of running on the processor, wherein when the computer program is executed by the processor, the vehicle upgrading method according to any one of claims 1 to 8 is implemented.
Citation Information
Patent Citations
Vehicle OTA upgrading method and device, storage medium and unmanned equipment
CN113672254A
Vehicle upgrade control method and computer storage medium
CN113687853A