Cockpit software upgrade method, electronic device and readable storage medium
The cockpit software upgrade method addresses the issue of non-targeted automotive OTA upgrades by generating customized packages using a master-slave node architecture and microservice clusters, enhancing user experience through precise software updates.
Patent Information
- Application Number
- CN202110482286.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-04-30
- Publication Date
- 2024-12-13
- Estimated Expiration
- 2041-04-30
AI Technical Summary
Automotive OTA upgrades are not targeted and result in poor user experience due to the use of general installation packages that do not differentiate between vehicle types and ECU needs.
A cockpit software upgrade method that generates customized upgrade packages based on cockpit and controller information, using a master-slave node architecture and microservice clusters to ensure precise software and dependent software updates.
The method achieves unified and simplified management of software upgrades, providing customized solutions that enhance user experience by ensuring accurate and efficient software updates.
Smart Images

Figure CN113190250B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of communication technology, and in particular relates to a cockpit software upgrading method, an electronic device and a readable storage medium. Background Art
[0002] Automotive OTA (Over-the-Air) upgrades refer to the update of the versions of the vehicle's software, firmware, etc. The existing automotive OTA solutions are generally implemented in a one-stop manner through the cloud, pipe, and end links. They consist of three parts: the cloud OTA management platform, the upgrade logic control and upgrade agent on the vehicle side, and the communication pipeline connecting the vehicle side and the cloud. Automotive OTA provides cloud management and vehicle-side implementation solutions, and supports vehicle upgrades. However, current upgrades are generally for the entire software update, and the cloud will provide a complete installation package, but this installation package is generally a general installation package that contains all applications of a certain type of automotive ECU, and will not be differentiated according to the actual type of vehicle used and the different needs of the automotive ECU (on-board controller). Summary of the invention
[0003] The technical problem to be solved by the present invention is to overcome the defect in the prior art that automobile OTA upgrades are not targeted and lead to poor user experience, and to provide a cockpit software upgrade method, an electronic device and a readable storage medium.
[0004] The present invention solves the above technical problems through the following technical solutions:
[0005] A cockpit software upgrade method, the method comprising:
[0006] The cloud generates an upgrade package list of the target cockpit according to the upgrade request, and sends the upgrade package list to the controller of the target cockpit; the upgrade request includes cockpit information and controller information of the target cockpit, and the upgrade package list includes software information of the software to be upgraded and software information of dependent software associated with the software to be upgraded;
[0007] The controller initiates a download request based on the upgrade package list;
[0008] The cloud obtains an upgrade package according to the download request, and sends the upgrade package to the controller; the upgrade package includes the software to be upgraded and the dependent software;
[0009] The controller performs software upgrade of the target cockpit according to the upgrade package.
[0010] Preferably, before the step of generating an upgrade package list of the target cockpit according to the upgrade request in the cloud, the method further comprises:
[0011] The controller initiates the upgrade request.
[0012] Preferably, the upgrade request also includes time information, and the step of generating an upgrade package list of the target cockpit according to the upgrade request in the cloud specifically includes:
[0013] Acquire historical upgrade information of the target cockpit according to the time information, the cockpit information and the controller information;
[0014] The upgrade package list is generated by acquiring information about the software to be upgraded and the dependent software based on the historical upgrade information and the controller information.
[0015] Preferably, the controller includes a master node and a plurality of slave nodes, each slave node corresponds to a different upgrade module of the controller, and the step of sending the upgrade package to the controller specifically includes:
[0016] Sending the upgrade package to the master node;
[0017] The master node sends the multiple software in the upgrade package to the corresponding slave nodes respectively;
[0018] The step of the controller performing software upgrade of the target cockpit according to the upgrade package specifically includes:
[0019] The upgrade modules corresponding to the slave nodes perform software upgrades on the target cockpit based on the multiple software respectively.
[0020] Preferably, the step of sending the upgrade package to the controller specifically includes:
[0021] The upgrade package is sent to the controller based on a microservice cluster.
[0022] A cockpit software upgrade system, the system comprising: a cloud and a controller, the controller being arranged in the cockpit;
[0023] The cloud is used to generate an upgrade package list of the target cockpit according to the upgrade request, and send the upgrade package list to the controller of the target cockpit; the upgrade request includes cockpit information and controller information of the target cockpit, and the upgrade package list includes software information of the software to be upgraded and software information of dependent software associated with the software to be upgraded;
[0024] The controller is used to initiate a download request based on the upgrade package list;
[0025] The cloud is also used to obtain an upgrade package according to the download request, and send the upgrade package to the controller; the upgrade package includes the software to be upgraded and the dependent software;
[0026] The controller is also used to perform software upgrade of the target cockpit according to the upgrade package.
[0027] Preferably, the controller is further used to initiate the upgrade request.
[0028] Preferably, the controller is further used to obtain historical upgrade information of the target cockpit according to the time information, the cockpit information and the controller information;
[0029] The controller is further configured to obtain information about the software to be upgraded and the dependent software based on the historical upgrade information and the controller information to generate the upgrade package list.
[0030] Preferably, the controller includes a master node and a plurality of slave nodes, and the controller also includes different upgrade modules corresponding to each slave node;
[0031] The cloud is used to send the upgrade package to the master node;
[0032] The master node is used to send the multiple software in the upgrade package to the corresponding slave nodes respectively;
[0033] The upgrade module corresponding to the slave node is used to perform software upgrade on the target cockpit based on the multiple software respectively.
[0034] Preferably, the cloud is used to send the upgrade package to the controller based on a microservice cluster.
[0035] A cockpit software upgrade method, the upgrade method is applied to a vehicle side, the method comprising:
[0036] The controller of the target cockpit initiates an upgrade request;
[0037] receiving an upgrade package list of a target cockpit generated according to the upgrade request; the upgrade request includes cockpit information and controller information of the target cockpit, and the upgrade package list includes software information of software to be upgraded and software information of dependent software associated with the software to be upgraded;
[0038] The controller of the target cockpit initiates a download request based on the upgrade package list to download the software to be upgraded and the dependent software;
[0039] The controller performs software upgrade of the target cockpit according to the downloaded software to be upgraded and the dependent software.
[0040] Preferably, the controller includes a master node and a plurality of slave nodes, each slave node corresponds to a different upgrade module of the controller, and the controller performs the software upgrade of the target cockpit according to the downloaded software to be upgraded and the dependent software, specifically including:
[0041] The master node receives the software to be upgraded and the dependent software;
[0042] The multiple slave nodes respectively receive any software to be upgraded and / or any dependent software corresponding to each slave node from the master node;
[0043] The upgrade module corresponding to each slave node performs software upgrade on the target cockpit based on any software to be upgraded and / or any dependent software.
[0044] A cockpit software upgrade system, the upgrade system is applied to a vehicle end, the system comprises: a controller and a data receiving module;
[0045] The controller of the target cockpit is used to initiate the upgrade request;
[0046] The data receiving module is used to receive an upgrade package list of a target cockpit generated according to the upgrade request; the upgrade request includes cockpit information and controller information of the target cockpit, and the upgrade package list includes software information of software to be upgraded and software information of dependent software associated with the software to be upgraded;
[0047] The controller is further used to initiate a download request based on the upgrade package list to download the software to be upgraded and the dependent software;
[0048] The controller performs software upgrade of the target cockpit according to the downloaded software to be upgraded and the dependent software.
[0049] Preferably, the controller includes a master node and a plurality of slave nodes, and the controller also includes different upgrade modules corresponding to each slave node;
[0050] The master node is used to receive the software to be upgraded and the dependent software;
[0051] The multiple slave nodes are used to receive any software to be upgraded and / or any dependent software corresponding to each slave node from the slave nodes respectively;
[0052] The upgrade module corresponding to each slave node is used to perform software upgrade on the target cockpit based on any software to be upgraded and / or any dependent software.
[0053] A cockpit software upgrade method, the upgrade method is applied to the cloud, the method comprising:
[0054] receiving an upgrade request of a controller of a target cockpit; the upgrade request including cockpit information and controller information of the target cockpit;
[0055] Generate an upgrade package list for the target cockpit according to the upgrade request, wherein the upgrade package list includes software information of software to be upgraded and software information of dependent software associated with the software to be upgraded;
[0056] receiving a download request initiated by the controller based on the upgrade package list;
[0057] An upgrade package is obtained according to the download request, and the upgrade package is sent to the target cockpit, so that the target cockpit performs software upgrade according to the upgrade package, wherein the upgrade package includes the software to be upgraded and the dependent software.
[0058] Preferably, the upgrade request also includes time information, and the step of generating the upgrade package list of the target cockpit according to the upgrade request specifically includes:
[0059] Acquire historical upgrade information of the target cockpit according to the time information, the cockpit information and the controller information;
[0060] The upgrade package list is generated by acquiring information about the software to be upgraded and the dependent software based on the historical upgrade information and the controller information.
[0061] Preferably, the step of sending the upgrade package to the target cockpit specifically includes:
[0062] The upgrade package is sent to the target cockpit based on a microservice cluster.
[0063] A cockpit software upgrade system, the upgrade method is applied to the cloud, the system comprises: an upgrade request receiving module, a list generating module, a download request receiving module and an upgrade package acquiring module;
[0064] The upgrade request receiving module is used to receive an upgrade request of a controller of a target cockpit; the upgrade request includes cockpit information and controller information of the target cockpit;
[0065] The list generating module is used to generate an upgrade package list of the target cockpit according to the upgrade request, wherein the upgrade package list includes software information of the software to be upgraded and software information of dependent software associated with the software to be upgraded;
[0066] The download request receiving module is used to receive a download request initiated by the target cockpit based on the upgrade package list;
[0067] The upgrade package acquisition module is used to acquire the upgrade package according to the download request, and send the upgrade package to the target cockpit, so that the target cockpit performs software upgrade according to the upgrade package, and the upgrade package includes the software to be upgraded and the dependent software.
[0068] Preferably, the upgrade request also includes time information;
[0069] The list generation module is used to obtain the historical upgrade information of the target cockpit according to the time information, the cockpit information and the controller information, and to obtain the information of the software to be upgraded and the dependent software based on the historical upgrade information and the controller information to generate the upgrade package list.
[0070] Preferably, the system further comprises: an upgrade package sending module;
[0071] The upgrade package sending module is used to send the upgrade package to the target cockpit based on the microservice cluster.
[0072] An electronic device comprises a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the processor implements the above-mentioned cockpit software upgrade method when executing the computer program.
[0073] A computer-readable storage medium stores a computer program, which implements the steps of the cockpit software upgrade method when executed by a processor.
[0074] The positive progressive effect of the present invention is that a corresponding customized upgrade package list is generated for the cockpit information and controller information of the cockpit, and then the corresponding upgrade package is downloaded based on the cloud, and finally the cockpit software is upgraded by the master-slave node architecture of the cockpit. The cockpit software upgrade method of the present application unifies and simplifies the management and maintenance of software upgrades, realizes customized software upgrades, and improves user experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0075] Figure 1 This is a flowchart of the cockpit software upgrade method of embodiment 1 of the present invention.
[0076] Figure 2 This is a flowchart of step 12 in the cockpit software upgrade method of embodiment 1 of the present invention.
[0077] Figure 3 This is a flowchart of step 16 in the cockpit software upgrade method of embodiment 1 of the present invention.
[0078] Figure 4 This is a flowchart of the cockpit software upgrade method of embodiment 2 of the present invention.
[0079] Figure 5 This is a flowchart of step 24 in the cockpit software upgrade method of embodiment 2 of the present invention.
[0080] Figure 6 This is a flowchart of the cockpit software upgrade method of embodiment 3 of the present invention.
[0081] Figure 7 This is a flowchart of step 32 in the cockpit software upgrade method of embodiment 3 of the present invention.
[0082] Figure 8 This is a module diagram of a cockpit software upgrade system according to Embodiment 6 of the present invention.
[0083] Fig. 9 This is a schematic diagram of the structure of an electronic device according to Embodiment 7 of the present invention. DETAILED DESCRIPTION
[0084] The present invention is further described below by way of examples, but the present invention is not limited to the scope of the examples.
[0085] Example 1
[0086] A cockpit software upgrade method, such as Figure 1 As shown, the method includes:
[0087] Step 11: The controller of the target cockpit initiates an upgrade request; the upgrade request includes cockpit information and controller information of the target cockpit;
[0088] The cockpit may be a vehicle cockpit, a car cockpit, a car smart cockpit, etc., and the controller may be an onboard controller (ECU). In the process of upgrading the cockpit software, in order to obtain a list of upgradeable packages corresponding to different cockpits, the upgrade request needs to further include cockpit information and controller information to achieve customized software upgrades for the cockpit. In addition, by actively initiating an upgrade request from the cockpit and then obtaining a list of upgrade packages, an upgrade package list that matches the cockpit situation can be obtained at any time.
[0089] Step 12: The cloud generates an upgrade package list for the target cockpit according to the upgrade request; the upgrade package list includes software information of the software to be upgraded and software information of dependent software associated with the software to be upgraded;
[0090] During the cockpit software upgrade process, considering that the cockpit system is generally a complex architecture of multiple chips and multiple systems, in order to ensure the installation dependency between different versions of different functional modules, the upgrade package list also needs to include the list information of dependent software to ensure the download or synchronous upgrade of cockpit-related software. In addition, the software information includes but is not limited to the software version, size, type, target chip and target system, etc. The upgrade package list content can be compressed or uncompressed binary content.
[0091] Step 13: Send the upgrade package list to the controller of the target cockpit;
[0092] Step 14: The controller initiates a download request based on the upgrade package list;
[0093] Step 15: The cloud obtains the upgrade package according to the download request; the upgrade package includes the software to be upgraded and the dependent software;
[0094] Step 16: Send the upgrade package to the controller;
[0095] Step 17: The controller upgrades the software of the target cockpit according to the upgrade package.
[0096] In this embodiment, the upgrade request also includes time information, such as Figure 2 As shown, step 12 specifically includes:
[0097] Step 121, acquiring historical upgrade information of the target cockpit according to time information, cockpit information and controller information;
[0098] Step 122: Based on the historical upgrade information and the controller information, information about the software to be upgraded and the dependent software is obtained to generate an upgrade package list.
[0099] The upgrade package list for each vehicle is formed by filtering the past upgrade records of the cabin according to the cabin information, time information and controller information, so that the vehicle can obtain the upgrade package list that suits its own situation. In addition, the upgrade package list is dynamically generated by the program, and a customized upgrade package list for each vehicle can also be added based on the specific model, frame number and other information of each vehicle.
[0100] In this embodiment, the controller includes a master node and multiple slave nodes, each of which corresponds to a different upgrade module of the controller, such as Figure 3 As shown, step 16 specifically includes:
[0101] Step 161: Send the upgrade package to the master node;
[0102] Among them, the upgrade package is sent to the master node based on the microservice cluster. The latest cloud computing cluster technology is used to achieve concurrent load, which can save the cost of renting a content distribution network and have more control and security over the upgrade process. Specifically, a large number of concurrent requests are forwarded to the container of the symmetrical microservice cluster through the load balancing server for processing, and the microservices in the container directly access the cloud storage. For cockpit software updates, the download speed does not need to reach the level of online video live broadcast, so this distributed symmetrical microservice can be used to replace the content distribution network for data transmission.
[0103] Step 162: The master node sends the multiple software in the upgrade package to the corresponding slave nodes respectively;
[0104] Among them, an architecture of one master node and multiple slave nodes is adopted. The master node is responsible for managing and maintaining the downloading and updating of the vehicle software package. The slave node obtains the software package from the master node and performs the update. This architecture unifies and simplifies the management and maintenance of cockpit software upgrades.
[0105] Furthermore, step 17 specifically includes: the upgrade module corresponding to the slave node performs software upgrade on the target cockpit based on the multiple software. It should be noted that after the upgrade is completed, the master node will obtain the installation result of the slave node that performs the upgrade task and send it to the cloud for storage for the next software upgrade.
[0106] The concept of a separate software upgrade package is adopted. Different upgrade methods are set for different chips or systems in the cockpit system, and different upgrade modules are used to implement them. For example, for different upgrade targets, software packages are defined as the following types: firmware package (FOTA) system firmware (used to restart and update system partitions), software package (SOTA) application (used to specify applications), data package (DATA) (used to update data at a specified location), and corresponding software upgrades are implemented by different upgrade modules. Separate software upgrade packages have more upgrade flexibility and customizability.
[0107] In this embodiment, a corresponding customized upgrade package list is generated for the cockpit information and controller information of the cockpit, and then the corresponding upgrade package is downloaded based on the cloud. Finally, the cockpit software is upgraded by the master-slave node architecture of the cockpit. The cockpit software upgrade method of this embodiment unifies and simplifies the management and maintenance of software upgrades, realizes customized software upgrades, and improves user experience.
[0108] Example 2
[0109] A cockpit software upgrade method, the upgrade method is applied to the vehicle side, such as Figure 4 As shown, the method includes:
[0110] Step 21: The controller of the target cockpit initiates an upgrade request;
[0111] The cockpit may be a vehicle cockpit, a car cockpit, a car smart cockpit, etc., and the controller may be an onboard controller (ECU). In the process of upgrading the cockpit software, in order to obtain a list of upgradeable packages corresponding to different cockpits, the upgrade request needs to further include cockpit information and controller information to achieve customized software upgrades for the cockpit. In addition, by actively initiating an upgrade request from the cockpit and then obtaining a list of upgrade packages, an upgrade package list that matches the cockpit situation can be obtained at any time.
[0112] Step 22: receiving an upgrade package list of a target cockpit generated according to an upgrade request; the upgrade request includes cockpit information and controller information of the target cockpit, and the upgrade package list includes software information of the software to be upgraded and software information of dependent software associated with the software to be upgraded;
[0113] During the cockpit software upgrade process, considering that the cockpit system is generally a complex architecture of multiple chips and multiple systems, in order to ensure the installation dependency between different versions of different functional modules, the upgrade package list also needs to include the list information of dependent software to ensure the download or synchronous upgrade of cockpit-related software. In addition, the software information includes but is not limited to the software version, size, type, target chip and target system, etc. The upgrade package list content can be compressed or uncompressed binary content.
[0114] Step 23: The controller of the target cockpit initiates a download request based on the upgrade package list to download the software to be upgraded and the dependent software;
[0115] Step 24: The controller upgrades the software of the target cockpit according to the downloaded software to be upgraded and dependent software.
[0116] The controller includes a master node and multiple slave nodes, each of which corresponds to a different upgrade module of the controller. Figure 5 As shown, step 24 specifically includes:
[0117] Step 241, the master node receives the software to be upgraded and the dependent software;
[0118] Step 242, the plurality of slave nodes respectively receive any software to be upgraded and / or any dependent software corresponding to each slave node from the master node;
[0119] Among them, an architecture of one master node and multiple slave nodes is adopted. The master node is responsible for managing and maintaining the downloading and updating of the vehicle software package. The slave node obtains the software package from the master node and performs the update. This architecture unifies and simplifies the management and maintenance of cockpit software upgrades.
[0120] Step 243: The upgrade module corresponding to each slave node performs software upgrade on the target cockpit based on any software to be upgraded and / or any dependent software.
[0121] The concept of a separate software upgrade package is adopted. Different upgrade methods are set for different chips or systems in the cockpit system, and different upgrade modules are used to implement them. For example, for different upgrade targets, software packages are defined as the following types: firmware package (FOTA) system firmware (used to restart and update system partitions), software package (SOTA) application (used to specify applications), data package (DATA) (used to update data at a specified location), and corresponding software upgrades are implemented by different upgrade modules. Separate software upgrade packages have more upgrade flexibility and customizability.
[0122] Example 3
[0123] A cockpit software upgrade method, the upgrade method is applied to the cloud, such as Figure 6As shown, the method includes:
[0124] Step 31: receiving an upgrade request of a controller of a target cockpit; the upgrade request includes cockpit information and controller information of the target cockpit;
[0125] The cockpit may be a vehicle cockpit, a car cockpit, a car smart cockpit, etc., and the controller may be a vehicle controller (ECU). During the cockpit software upgrade, in order to obtain a list of upgradeable packages corresponding to different cockpits, the upgrade request needs to further include cockpit information and controller information to achieve customized cockpit software upgrades.
[0126] Step 32: Generate an upgrade package list for the target cockpit according to the upgrade request; the upgrade package list includes software information of the software to be upgraded and software information of dependent software associated with the software to be upgraded;
[0127] During the cockpit software upgrade process, considering that the cockpit system is generally a complex architecture of multiple chips and multiple systems, in order to ensure the installation dependency relationship between different versions of different functional modules, the upgrade package list also needs to include a list of dependent software to ensure the download or synchronous upgrade of cockpit-related software.
[0128] Step 33: receiving a download request initiated by the controller based on the upgrade package list;
[0129] Step 34: Obtain an upgrade package according to the download request, and send the upgrade package to the target cockpit, so that the target cockpit performs software upgrade according to the upgrade package; the upgrade package includes the software to be upgraded and the dependent software.
[0130] Among them, the upgrade package is sent to the controller based on the microservice cluster. Using the latest cloud computing cluster technology to achieve concurrent load, the cost of renting a content distribution network can be saved, and the upgrade process can be more controlled and secure. Specifically, a large number of concurrent requests are forwarded to the container of the symmetrical microservice cluster through the load balancing server for processing, and the microservices in the container directly access the cloud storage. For cockpit software updates, the download speed does not need to reach the level of online video live broadcast, so this distributed symmetrical microservice can be used to replace the content distribution network for data transmission.
[0131] Wherein, the upgrade request also includes time information, such as Figure 7 As shown, step 32 specifically includes:
[0132] Step 321, obtaining historical upgrade information of the target cockpit according to time information, cockpit information and controller information;
[0133] Step 322: Based on the historical upgrade information and the controller information, information about the software to be upgraded and the dependent software is obtained to generate an upgrade package list.
[0134] The upgrade package list for each vehicle is formed by filtering the past upgrade records of the cabin according to the cabin information, time information and controller information, so that the vehicle can obtain the upgrade package list that suits its own situation. In addition, the upgrade package list is dynamically generated by the program, and a customized upgrade package list for each vehicle can also be added based on the specific model, frame number and other information of each vehicle.
[0135] Example 4
[0136] A cockpit software upgrade system, the system comprising: a cloud and a controller, the controller being arranged in the cockpit;
[0137] The cloud is used to generate an upgrade package list of the target cockpit according to the upgrade request, and send the upgrade package list to the controller of the target cockpit; the upgrade request includes cockpit information and controller information of the target cockpit, and the upgrade package list includes software information of the software to be upgraded and software information of dependent software associated with the software to be upgraded;
[0138] Among them, the cockpit can be a vehicle cockpit, a car cockpit, a car smart cockpit, etc., and the controller can be specifically an on-board controller (ECU). In the process of upgrading the cockpit software, in order to obtain the list of upgradeable packages corresponding to different cockpits, the upgrade request needs to further include cockpit information and controller information to achieve customized software upgrades for the cockpit. In addition, during the cockpit software upgrade process, considering that the cockpit system is generally a complex architecture of multiple chips and multiple systems, in order to ensure the installation dependencies between different versions of different functional modules, the upgrade package list also needs to include list information of dependent software to ensure the download or synchronous upgrade of cockpit-related software. In addition, the software information includes but is not limited to the software version, size, type, target chip and target system, etc., and the upgrade package list content can be compressed or uncompressed binary content.
[0139] The controller is used to initiate a download request based on the upgrade package list;
[0140] The cloud is also used to obtain an upgrade package according to the download request, and send the upgrade package to the controller; the upgrade package includes the software to be upgraded and the dependent software;
[0141] The controller is also used to perform software upgrade of the target cockpit according to the upgrade package.
[0142] In this embodiment, the controller is further configured to initiate the upgrade request.
[0143] Among them, the cockpit actively initiates an upgrade request and then obtains the upgrade package list, so that the upgrade package list matching the cockpit situation can be obtained at any time.
[0144] In this embodiment, the controller is further used to obtain the historical upgrade information of the target cockpit according to the time information, the cockpit information and the controller information;
[0145] The controller is further configured to obtain information about the software to be upgraded and the dependent software based on the historical upgrade information and the controller information to generate the upgrade package list.
[0146] The upgrade package list for each vehicle is formed by filtering the past upgrade records of the cabin according to the cabin information, time information and controller information, so that the vehicle can obtain the upgrade package list that suits its own situation. In addition, the upgrade package list is dynamically generated by the program, and a customized upgrade package list for each vehicle can also be added based on the specific model, frame number and other information of each vehicle.
[0147] In this embodiment, the controller includes a master node and a plurality of slave nodes, and the controller also includes different upgrade modules corresponding to each slave node;
[0148] The cloud is used to send the upgrade package to the master node;
[0149] The master node is used to send the multiple software in the upgrade package to the corresponding slave nodes respectively;
[0150] Among them, an architecture of one master node and multiple slave nodes is adopted. The master node is responsible for managing and maintaining the downloading and updating of the vehicle software package. The slave node obtains the software package from the master node and performs the update. This architecture unifies and simplifies the management and maintenance of cockpit software upgrades.
[0151] The upgrade module corresponding to the slave node is used to perform software upgrade on the target cockpit based on the multiple software. It should be noted that after the upgrade is completed, the master node will obtain the installation result of the slave node that performs the upgrade task and send it to the cloud for storage for the next software upgrade.
[0152] Among them, this application adopts the concept of a separate software upgrade package. Different upgrade methods are set for different chips or systems of the cockpit system, and are implemented by different upgrade modules. For example, for different upgrade targets, the software package is defined as the following types: firmware package (FOTA) system firmware (used to restart and update the system partition), software package (SOTA) application (used to specify the application), data package (DATA) (used to update data at a specified location), and the corresponding software upgrades are implemented by different upgrade modules. A separate software upgrade package has more upgrade flexibility and customizability.
[0153] In this embodiment, the cloud is used to send the upgrade package to the controller based on a microservice cluster.
[0154] Among them, the use of the latest cloud computing cluster technology to achieve concurrent load can save the cost of renting a content distribution network and provide more control and security for the upgrade process. Specifically, a large number of concurrent requests are forwarded to the container of the symmetrical microservice cluster through the load balancing server for processing, and the microservices in the container directly access the cloud storage. For cockpit software updates, the download speed does not need to reach the level of online video live broadcast, so this distributed symmetrical microservice can be used to replace the content distribution network for data transmission.
[0155] In this embodiment, a corresponding customized upgrade package list is generated for the cockpit information and controller information of the cockpit, and then the corresponding upgrade package is downloaded based on the cloud. Finally, the cockpit software is upgraded by the master-slave node architecture of the cockpit. The cockpit software upgrade method of this embodiment unifies and simplifies the management and maintenance of software upgrades, realizes customized software upgrades, and improves user experience.
[0156] Example 5
[0157] A cockpit software upgrade system, the upgrade system is applied to a vehicle end, the system comprises: a controller and a data receiving module;
[0158] The controller of the target cockpit is used to initiate the upgrade request;
[0159] The cockpit may be a vehicle cockpit, a car cockpit, a car smart cockpit, etc., and the controller may be an onboard controller (ECU). In the process of upgrading the cockpit software, in order to obtain a list of upgradeable packages corresponding to different cockpits, the upgrade request needs to further include cockpit information and controller information to achieve customized software upgrades for the cockpit. In addition, by actively initiating an upgrade request from the cockpit and then obtaining a list of upgrade packages, an upgrade package list that matches the cockpit situation can be obtained at any time.
[0160] The data receiving module is used to receive an upgrade package list of a target cockpit generated according to the upgrade request; the upgrade request includes cockpit information and controller information of the target cockpit, and the upgrade package list includes software information of software to be upgraded and software information of dependent software associated with the software to be upgraded;
[0161] During the cockpit software upgrade process, considering that the cockpit system is generally a complex architecture of multiple chips and multiple systems, in order to ensure the installation dependency between different versions of different functional modules, the upgrade package list also needs to include the list information of dependent software to ensure the download or synchronous upgrade of cockpit-related software. In addition, the software information includes but is not limited to the software version, size, type, target chip and target system, etc. The upgrade package list content can be compressed or uncompressed binary content.
[0162] The controller is further used to initiate a download request based on the upgrade package list to download the software to be upgraded and the dependent software;
[0163] The controller performs software upgrade of the target cockpit according to the downloaded software to be upgraded and the dependent software.
[0164] In this embodiment, the controller includes a master node and a plurality of slave nodes, and the controller also includes different upgrade modules corresponding to each slave node;
[0165] The master node is used to receive the software to be upgraded and the dependent software;
[0166] The multiple slave nodes are used to receive any software to be upgraded and / or any dependent software corresponding to each slave node from the slave nodes respectively;
[0167] Among them, an architecture of one master node and multiple slave nodes is adopted. The master node is responsible for managing and maintaining the downloading and updating of the vehicle software package. The slave node obtains the software package from the master node and performs the update. This architecture unifies and simplifies the management and maintenance of cockpit software upgrades.
[0168] The upgrade module corresponding to each slave node is used to perform software upgrade on the target cockpit based on any software to be upgraded and / or any dependent software.
[0169] The concept of a separate software upgrade package is adopted. Different upgrade methods are set for different chips or systems in the cockpit system, and different upgrade modules are used to implement them. For example, for different upgrade targets, software packages are defined as the following types: firmware package (FOTA) system firmware (used to restart and update system partitions), software package (SOTA) application (used to specify applications), data package (DATA) (used to update data at a specified location), and corresponding software upgrades are implemented by different upgrade modules. Separate software upgrade packages have more upgrade flexibility and customizability.
[0170] Example 6
[0171] A cockpit software upgrade system, wherein the upgrade method is applied to the cloud, such as Figure 8 As shown, the system includes: an upgrade request receiving module 1, a list generating module 2, a download request receiving module 3 and an upgrade package acquiring module 4;
[0172] The upgrade request receiving module 1 is used to receive an upgrade request of a controller of a target cockpit; the upgrade request includes cockpit information and controller information of the target cockpit;
[0173] The cockpit may be a vehicle cockpit, a car cockpit, a car smart cockpit, etc., and the controller may be a vehicle controller (ECU). During the cockpit software upgrade, in order to obtain a list of upgradeable packages corresponding to different cockpits, the upgrade request needs to further include cockpit information and controller information to achieve customized cockpit software upgrades.
[0174] The list generating module 2 is used to generate an upgrade package list of the target cockpit according to the upgrade request, wherein the upgrade package list includes software information of the software to be upgraded and software information of dependent software associated with the software to be upgraded;
[0175] During the cockpit software upgrade process, considering that the cockpit system is generally a complex architecture of multiple chips and multiple systems, in order to ensure the installation dependency relationship between different versions of different functional modules, the upgrade package list also needs to include a list of dependent software to ensure the download or synchronous upgrade of cockpit-related software.
[0176] The download request receiving module 3 is used to receive the download request initiated by the target cockpit based on the upgrade package list;
[0177] The upgrade package acquisition module 4 is used to acquire the upgrade package according to the download request, and send the upgrade package to the target cockpit, so that the target cockpit performs software upgrade according to the upgrade package, and the upgrade package includes the software to be upgraded and the dependent software.
[0178] In this embodiment, the upgrade request also includes time information;
[0179] The list generation module 2 is used to obtain the historical upgrade information of the target cockpit according to the time information, the cockpit information and the controller information, and to obtain the information of the software to be upgraded and the dependent software based on the historical upgrade information and the controller information to generate the upgrade package list.
[0180] The upgrade package list for each vehicle is formed by filtering the past upgrade records of the cabin according to the cabin information, time information and controller information, so that the vehicle can obtain the upgrade package list that suits its own situation. In addition, the upgrade package list is dynamically generated by the program, and a customized upgrade package list for each vehicle can also be added based on the specific model, frame number and other information of each vehicle.
[0181] In this embodiment, see Figure 8 , the system further comprises: an upgrade package sending module 5;
[0182] The upgrade package sending module 5 is used to send the upgrade package to the target cabin based on the microservice cluster.
[0183] Among them, the upgrade package is sent to the controller based on the microservice cluster. Using the latest cloud computing cluster technology to achieve concurrent load, the cost of renting a content distribution network can be saved, and the upgrade process can be more controlled and secure. Specifically, a large number of concurrent requests are forwarded to the container of the symmetrical microservice cluster through the load balancing server for processing, and the microservices in the container directly access the cloud storage. For cockpit software updates, the download speed does not need to reach the level of online video live broadcast, so this distributed symmetrical microservice can be used to replace the content distribution network for data transmission.
[0184] Example 7
[0185] An electronic device comprises a memory, a processor and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the cockpit software upgrade method described in any one of embodiments 1 to 3 is implemented.
[0186] Fig. 9 A schematic diagram of the structure of an electronic device provided in this embodiment. Fig. 9 A block diagram of an exemplary electronic device 90 suitable for use in implementing embodiments of the present invention is shown. Fig. 9 The electronic device 90 shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.
[0187] like Fig. 9 As shown, the electronic device 90 may be in the form of a general-purpose computing device, for example, it may be a server device. The components of the electronic device 90 may include, but are not limited to: at least one processor 91, at least one memory 92, and a bus 93 connecting different system components (including the memory 92 and the processor 91).
[0188] The bus 93 includes a data bus, an address bus, and a control bus.
[0189] The memory 92 may include a volatile memory, such as a random access memory (RAM) 921 and / or a cache memory 922 , and may further include a read only memory (ROM) 923 .
[0190] The memory 92 may also include a program tool 925 having a set (at least one) of program modules 924, such program modules 924 including but not limited to: an operating system, one or more application programs, other program modules and program data, each of which or some combination may include the implementation of a network environment.
[0191] The processor 91 executes various functional applications and data processing by running computer programs stored in the memory 92 .
[0192] The electronic device 90 may also communicate with one or more external devices 94 (e.g., keyboards, pointing devices, etc.). Such communication may be performed via an input / output (I / O) interface 95. Furthermore, the electronic device 90 may also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) via a network adapter 96. The network adapter 96 communicates with other modules of the electronic device 90 via a bus 93. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device 90, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID (disk array) systems, tape drives, and data backup storage systems, etc.
[0193] It should be noted that although several units / modules or sub-units / modules of the electronic device are mentioned in the above detailed description, this division is merely exemplary and not mandatory. In fact, according to the embodiments of the present application, the features and functions of two or more units / modules described above can be embodied in one unit / module. Conversely, the features and functions of one unit / module described above can be further divided into multiple units / modules to be embodied.
[0194] Example 8
[0195] A computer-readable storage medium stores a computer program, which, when executed by a processor, implements the steps of the cockpit software upgrade method described in any one of embodiments 1-3.
[0196] The readable storage medium may include but is not limited to: a portable disk, a hard disk, a random access memory, a read-only memory, an erasable programmable read-only memory, an optical storage device, a magnetic storage device or any suitable combination of the above.
[0197] In a possible implementation, the present invention can also be implemented in the form of a program product, which includes a program code. When the program product is run on a terminal device, the program code is used to enable the terminal device to execute the steps of the cockpit software upgrade method described in any one of Examples 1-3.
[0198] The program code for executing the present invention may be written in any combination of one or more programming languages, and may be executed entirely on a user device, partially on a user device, as an independent software package, partially on a user device and partially on a remote device, or entirely on a remote device.
[0199] Although the specific embodiments of the present invention are described above, it should be understood by those skilled in the art that this is only for illustration and the protection scope of the present invention is defined by the appended claims. Those skilled in the art may make various changes or modifications to these embodiments without departing from the principles and essence of the present invention, but these changes and modifications all fall within the protection scope of the present invention.
Claims
1. A cockpit software upgrade method, characterized in that: The method comprises: The cloud generates an upgrade package list of the target cockpit according to the upgrade request, and sends the upgrade package list to the controller of the target cockpit; the upgrade request includes cockpit information and controller information of the target cockpit, and the upgrade package list includes software information of the software to be upgraded and software information of dependent software associated with the software to be upgraded; the upgrade package list matches the target cockpit; The controller initiates a download request based on the upgrade package list; The cloud obtains an upgrade package according to the download request, and sends the upgrade package to the controller; the upgrade package includes the software to be upgraded and the dependent software; The controller performs software upgrade of the target cockpit according to the upgrade package; The controller includes a master node and a plurality of slave nodes, each of which corresponds to a different upgrade module of the controller. The step of sending the upgrade package to the controller specifically includes: Sending the upgrade package to the master node; The master node sends the multiple software in the upgrade package to the corresponding slave nodes respectively; The step of the controller performing software upgrade of the target cockpit according to the upgrade package specifically includes: The upgrade modules corresponding to the slave nodes perform software upgrades on the target cockpit based on the multiple software respectively.
2. The cockpit software upgrade method according to claim 1, characterized in that: Before the step of generating an upgrade package list of the target cockpit according to the upgrade request in the cloud, the method further includes: The controller initiates the upgrade request.
3. The cockpit software upgrade method according to claim 1, characterized in that: The upgrade request also includes time information. The step of generating an upgrade package list of the target cockpit according to the upgrade request in the cloud specifically includes: Acquire historical upgrade information of the target cockpit according to the time information, the cockpit information and the controller information; The upgrade package list is generated by acquiring information about the software to be upgraded and the dependent software based on the historical upgrade information and the controller information.
4. The cockpit software upgrade method according to claim 1, characterized in that: The step of sending the upgrade package to the controller specifically includes: The upgrade package is sent to the controller based on a microservice cluster.
5. A cockpit software upgrade method, characterized in that: The upgrade method is applied to the vehicle side, and the method includes: The controller of the target cockpit initiates an upgrade request; receiving an upgrade package list of a target cockpit generated according to the upgrade request; the upgrade request includes cockpit information and controller information of the target cockpit, the upgrade package list includes software information of software to be upgraded and software information of dependent software associated with the software to be upgraded; the upgrade package list matches the target cockpit; The controller initiates a download request based on the upgrade package list to download the software to be upgraded and the dependent software; The controller performs software upgrade of the target cockpit according to the downloaded software to be upgraded and the dependent software; The controller includes a master node and a plurality of slave nodes, each of which corresponds to a different upgrade module of the controller. The controller performs software upgrade of the target cockpit according to the downloaded software to be upgraded and the dependent software, specifically including: The master node receives the software to be upgraded and the dependent software; The multiple slave nodes respectively receive any software to be upgraded and / or any dependent software corresponding to each slave node from the master node; The upgrade module corresponding to each slave node performs software upgrade on the target cockpit based on any software to be upgraded and / or any dependent software.
6. A cockpit software upgrade method, characterized in that: The upgrade method is applied to the cloud, and the method includes: receiving an upgrade request of a controller of a target cockpit; the upgrade request including cockpit information and controller information of the target cockpit; generating an upgrade package list of the target cockpit according to the upgrade request, wherein the upgrade package list includes software information of software to be upgraded and software information of dependent software associated with the software to be upgraded; the upgrade package list matches the target cockpit; receiving a download request initiated by the controller based on the upgrade package list; Acquire an upgrade package according to the download request, and send the upgrade package to the target cockpit, so that the target cockpit performs software upgrade according to the upgrade package, wherein the upgrade package includes the software to be upgraded and the dependent software; The controller includes a master node and a plurality of slave nodes, each of which corresponds to a different upgrade module of the controller. The step of sending the upgrade package to the target cockpit so that the target cockpit performs software upgrade according to the upgrade package specifically includes: Sending the upgrade package to the master node; The master node sends the multiple software in the upgrade package to the corresponding slave nodes respectively; The upgrade modules corresponding to the slave nodes perform software upgrades on the target cockpit based on the multiple software respectively.
7. The cockpit software upgrade method according to claim 6, characterized in that: The upgrade request also includes time information. The step of generating the upgrade package list of the target cockpit according to the upgrade request specifically includes: Acquire historical upgrade information of the target cockpit according to the time information, the cockpit information and the controller information; The upgrade package list is generated by acquiring information about the software to be upgraded and the dependent software based on the historical upgrade information and the controller information.
8. The cockpit software upgrade method according to claim 6, characterized in that: The step of sending the upgrade package to the target cockpit specifically includes: The upgrade package is sent to the target cockpit based on a microservice cluster.
9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the cockpit software upgrade method according to any one of claims 1 to 4 is implemented; and / or, the processor implements the cockpit software upgrade method of claim 5 when executing the computer program; And / or, when the processor executes the computer program, it implements the cockpit software upgrade method described in any one of claims 6 to 8.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by the processor, the steps of the cockpit software upgrade method according to any one of claims 1 to 4 are implemented; and / or, when the program is executed by the processor, the steps of the cockpit software upgrade method according to claim 5 are implemented; And / or, when the program is executed by the processor, the steps of the cockpit software upgrade method described in any one of claims 6 to 8 are implemented.
