Vehicle-mounted infotainment software upgrading method and system, electronic equipment and storage medium

By introducing the concepts of target vehicle and seed vehicle in the vehicle machine system, and using data transmission between the vehicle machine to upgrade software, the problem of heavy server burden and low efficiency during the vehicle machine OTA upgrade is solved, and an efficient and safe upgrade process is achieved.

CN120540683APending Publication Date: 2025-08-26BEI DOU ZHI LIAN KE JI YOU XIAN GONG SI +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510602686.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-12
Publication Date
2025-08-26

AI Technical Summary

Technical Problem

Currently, there are problems such as heavy server burden and low upgrade efficiency in the upgrade of car machines.

Method used

The vehicle machine is divided into target vehicle machine and seed vehicle machine through the server, and the software is upgraded using data transmission between the vehicle machine to reduce the workload of the server, and differential package and encryption technology are used to ensure the security of the upgraded data.

Benefits of technology

It reduces the burden on the server, improves the upgrade efficiency, realizes the decentralization of vehicle computer software upgrades, and improves the upgrade speed and security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120540683A_ABST
    Figure CN120540683A_ABST
Patent Text Reader

Abstract

The invention provides a vehicle-mounted software upgrading method and system, electronic equipment and a storage medium, and belongs to the technical field of vehicle-mounted software. The method comprises the steps that a server takes a vehicle machine initiating an upgrading request as a target vehicle machine, determines a seed vehicle machine of the target vehicle machine from the remaining vehicle machines, and sends an upgrading instruction to the target vehicle machine and / or the seed vehicle machine so as to instruct the target vehicle machine to obtain upgrading data from the seed vehicle machine and conduct software upgrading. Therefore, the data packets required during upgrading of the vehicle-mounted terminal software are mainly acquired through data transmission and downloading among the vehicle-mounted terminals, so that the workload of the server is reduced, decentralization of upgrading of the vehicle-mounted terminal software is realized, the burden of the server during OTA upgrading of the current vehicle-mounted terminal is greatly reduced, and the upgrading efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of vehicle-mounted software technology, and more specifically, to a vehicle-mounted software upgrade method, system, electronic device, and storage medium. Background Art

[0002] The "car computer" is the abbreviation for the in-vehicle infotainment system installed inside a car, typically in the center console. It enables information communication between the driver and the vehicle, and between the vehicle and the outside world (and between other vehicles), providing a variety of functions and services to enhance the driving experience and the vehicle's intelligence level. Car computer software is the program system used to manage and control the car computer's hardware and software resources.

[0003] Over-the-Air (OTA) technology is a common method for upgrading vehicle-mounted system software. It involves downloading new software updates from the cloud via wireless networks to update the vehicle's system. However, current OTA upgrades are plagued by heavy server loads and low upgrade efficiency. Summary of the Invention

[0004] In view of this, the purpose of this application is to provide a vehicle software upgrade method, system, electronic device and storage medium to reduce the burden on the server during the current vehicle OTA upgrade and improve the upgrade efficiency.

[0005] In order to achieve the above objectives, the technical solutions adopted in this application are as follows:

[0006] In a first aspect, the present application provides a vehicle computer software upgrade method, which is applied to a server, the server being communicatively connected to multiple vehicle computers, and the method comprising:

[0007] The vehicle computer that initiates the upgrade request is used as the target vehicle computer;

[0008] Determining a seed vehicle computer of the target vehicle computer from the remaining vehicle computers;

[0009] Send an upgrade instruction to the target vehicle computer and / or the seed vehicle computer to instruct the target vehicle computer to obtain upgrade data from the seed vehicle computer and perform software upgrade.

[0010] Optionally, the step of determining a seed vehicle computer of the target vehicle computer from the remaining vehicle computers includes:

[0011] Selecting a vehicle computer having a target differential package from the remaining vehicle computers as a candidate vehicle computer for the target vehicle computer; wherein the target differential package is software differential data between the software version of the target vehicle computer and the target version;

[0012] A seed vehicle computer of the target vehicle computer is obtained from each of the candidate vehicle computers according to the status information of the target vehicle computer and each of the candidate vehicle computers.

[0013] Optionally, the step of obtaining a seed vehicle computer of the target vehicle computer from each candidate vehicle computer according to the status information of the target vehicle computer and each candidate vehicle computer includes:

[0014] Obtaining the distance between the target vehicle computer and each candidate vehicle computer according to the current position of the target vehicle computer;

[0015] For each candidate vehicle computer, a single score for each transmission indicator is obtained based on the current status information of the candidate vehicle computer and the distance between the candidate vehicle computer and the vehicle computer; wherein the transmission indicator includes the distance between the candidate vehicle computer and the vehicle computer, the network quality, the resource status and the historical performance;

[0016] Obtaining a comprehensive score for each candidate vehicle computer according to the weight of each transmission indicator and the single score;

[0017] According to the comprehensive score, a seed vehicle computer of the target vehicle computer is determined from the candidate vehicle computers.

[0018] Optionally, the step of sending an upgrade instruction to the target vehicle computer and / or the seed vehicle computer includes:

[0019] Sending encryption information to the seed vehicle machine to instruct the target differential packet to be encrypted using the encryption information before sending the target differential packet;

[0020] Send an upgrade instruction to the target vehicle computer; wherein, the upgrade instruction includes decryption information and the identifier of the seed vehicle computer, to instruct the target vehicle computer to request a target differential package from the seed vehicle computer based on the identifier, use the decryption information to decrypt the target differential package sent by the seed vehicle computer, and use the decrypted target differential package to perform software upgrade.

[0021] Optionally, after the step of determining a seed vehicle computer of the target vehicle computer from the remaining vehicle computers, the method further includes:

[0022] Obtaining the current status information and load value of the seed vehicle;

[0023] If the status information does not meet the upgrade condition or the load value exceeds the load threshold, the seed vehicle computer is eliminated, and the process returns to the step of determining the seed vehicle computer of the target vehicle computer from the remaining vehicle computers.

[0024] Optionally, the server maintains a vehicle computer management list, and the vehicle computer management list records information of each vehicle computer;

[0025] After the step of sending the upgrade instruction to the target vehicle computer and / or the seed vehicle computer, the method further includes:

[0026] When receiving the upgrade completion notification of the target vehicle computer, the software version and differential package information of the target vehicle computer in the vehicle computer management list are updated.

[0027] Optionally, after the step of setting the vehicle computer that initiates the upgrade request as the target vehicle computer, the method further includes:

[0028] Determining whether the target differential packet of the target vehicle computer exists in at least one remaining vehicle computer;

[0029] If yes, then executing the step of determining a seed vehicle computer of the target vehicle computer from the remaining vehicle computers;

[0030] If not, the full software package is sent to the target vehicle computer, and upon receiving the upgrade completion notification of the target vehicle computer, the software version and differential package information of the target vehicle computer in the vehicle computer management list are updated.

[0031] In a second aspect, the present application provides a vehicle computer software upgrade system, comprising a server and a plurality of vehicle computers communicatively connected to the server;

[0032] When the vehicle computer meets the software upgrade conditions, it sends an upgrade request to the server;

[0033] The server uses the vehicle computer that initiates the upgrade request as the target vehicle computer, determines the seed vehicle computer of the target vehicle computer from the remaining vehicle computers, and sends an upgrade instruction to the target vehicle computer and / or the seed vehicle computer;

[0034] The target vehicle computer obtains the upgrade data from the seed vehicle computer and performs software upgrade.

[0035] In a third aspect, the present application provides an electronic device comprising a processor and a memory, wherein the memory stores a computer program that can be executed by the processor, and the processor can execute the computer program to implement a vehicle software upgrade method as described in any one of the aforementioned embodiments.

[0036] In a fourth aspect, the present application provides a storage medium having a computer program stored thereon, which, when executed by a processor, implements a vehicle software upgrade method as described in any one of the aforementioned embodiments.

[0037] The embodiments of the present application provide a vehicle-mounted computer software upgrade method, system, electronic device, and storage medium. The method includes: a server identifies the vehicle-mounted computer that initiated the upgrade request as the target vehicle-mounted computer, determines the seed vehicle-mounted computer of the target vehicle-mounted computer from the remaining vehicle-mounted computers, and sends an upgrade instruction to the target vehicle-mounted computer and / or the seed vehicle-mounted computer, instructing the target vehicle-mounted computer to obtain upgrade data from the seed vehicle-mounted computer to perform the software upgrade. In this way, the data packets required for the vehicle-mounted computer software upgrade are primarily obtained through data transmission and download between the vehicle-mounted computers, reducing the workload of the server, achieving decentralization of the vehicle-mounted computer software upgrade, greatly reducing the burden on the server during current vehicle-mounted computer OTA upgrades, and improving upgrade efficiency.

[0038] In order to make the above-mentioned objects, features and advantages of the present application more obvious and easy to understand, preferred embodiments are given below and described in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0039] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other relevant drawings can be obtained based on these drawings without paying any creative work.

[0040] Figure 1 A schematic diagram of the system architecture of the vehicle software upgrade system provided in an embodiment of the present application is shown.

[0041] Figure 2 A schematic diagram of the module architecture of the server provided in an embodiment of the present application is shown.

[0042] Figure 3 One of the flow charts of the vehicle software upgrade method provided in an embodiment of the present application is shown.

[0043] Figure 4 Shown Figure 3 Flowchart of some sub-steps of step 13.

[0044] Figure 5 Shown Figure 4 Flow chart of some sub-steps of step 133.

[0045] Figure 6 Shown Figure 3 Flowchart of some sub-steps of step 15.

[0046] Figure 7 The second flowchart of the vehicle software upgrade method provided in the embodiment of the present application is shown.

[0047] Figure 8The third flow chart of the vehicle software upgrade method provided in the embodiment of the present application is shown.

[0048] Explanation of the accompanying reference numerals: 10 - vehicle computer software upgrade system; 110 - server; 120 - vehicle computer; 210 - memory; 220 - processor; 230 - communication module. DETAILED DESCRIPTION

[0049] The following will be combined with the accompanying drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Generally, the components of the embodiments of the present application described and shown in the drawings herein can be arranged and designed in various different configurations.

[0050] Therefore, the following detailed description of the embodiments of the present application provided in the accompanying drawings is not intended to limit the scope of the present application for protection, but merely represents selected embodiments of the present application. Based on the embodiments of the present application, all other embodiments obtained by those skilled in the art without making any creative efforts shall fall within the scope of protection of the present application.

[0051] It should be noted that relational terms such as "first" and "second" are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or apparatus. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus comprising the element.

[0052] The vehicle software upgrade method provided in the embodiment of the present application can be applied to Figure 1 In the illustrated vehicle computer software upgrade system 10, the vehicle computer software upgrade system 10 includes a server 110 and multiple vehicle computers 120. The server 110 is connected to the vehicle computers 120 via a network, and the vehicle computers 120 can also be connected to each other via the network, V2V, WiFi, etc. Each vehicle computer 120 is installed in a vehicle.

[0053] The server 110 is used to implement the vehicle computer software upgrade method provided in an embodiment of the present application, including: taking the vehicle computer 120 that initiates the upgrade request as the target vehicle computer, determining the seed vehicle computer of the target vehicle computer from the remaining vehicle computers 120, and sending an upgrade instruction to the target vehicle computer and / or the seed vehicle computer to instruct the target vehicle computer to obtain upgrade data from the seed vehicle computer and perform software upgrade.

[0054] Please refer to Figure 2 , is a block diagram of the server 110, which can be Figure 1 The server 110 in the vehicle software upgrade system 10 is shown. The server 110 includes a memory 210, a processor 220, and a communication module 230. The memory 210, processor 220, and communication module 230 are electrically connected to each other directly or indirectly to enable data transmission or exchange. For example, these components can be electrically connected to each other via one or more communication buses or signal lines.

[0055] The memory 210 is used to store programs or data and can be, but is not limited to, a random access memory, a read-only memory, a programmable read-only memory, an erasable read-only memory, an electrically erasable read-only memory, etc.

[0056] The processor 220 is used to read / write data or programs stored in the memory 210 and execute corresponding functions. For example, Figure 1 In the vehicle software upgrade system 10 shown, the processor 220 of the server 110 executes the computer program stored in the memory 210 to implement the vehicle software upgrade method provided in the embodiment of the present application.

[0057] The communication module 230 is used to establish a communication connection between the server 110 and other communication terminals through the network, and to send and receive data through the network. Figure 1 In the vehicle computer software upgrade system 10 shown, the communication module 230 of the server 110 transmits and receives data with the vehicle computer 120 .

[0058] It should be understood that Figure 2 The structure shown is only a schematic diagram of the structure of the server 110. The server 110 may also include Figure 2 More or fewer components than shown, or with Figure 2 Different configurations shown. Figure 2 Each component shown in the figure can be implemented by hardware, software or a combination thereof.

[0059] In order to solve the problem that the server 110 is burdened with heavy load and has low upgrade efficiency when the current vehicle machine 120 system is upgraded via OTA, the embodiment of the present application provides a vehicle machine software upgrade method, referring to Figure 3, including steps 11 to 15. And, Figure 1 The server 110 in the vehicle software upgrade system 10 shown in FIG. Figure 2 The structure shown implements the execution of steps 11 to 15 when the processor 220 reads the computer program stored in the memory 210 .

[0060] Step 11: The vehicle computer that initiates the upgrade request is used as the target vehicle computer.

[0061] Step 13: Determine the seed vehicle computer of the target vehicle computer from the remaining vehicle computers.

[0062] Step 15: Send an upgrade instruction to the target vehicle computer and / or the seed vehicle computer to instruct the target vehicle computer to obtain upgrade data from the seed vehicle computer and perform software upgrade.

[0063] For example, in combination Figure 1 In the illustrated vehicle-mounted computer software upgrade system 10, when any vehicle-mounted computer 120 receives new software version information pushed by the server 110, the vehicle-mounted computer 120 compares the new software version with its current software version. If its current software version is lower than the new software version, the vehicle-mounted computer 120 issues an upgrade prompt. Alternatively, the server 110 regularly exchanges handshakes with the vehicle-mounted computer 120 to obtain and record the current software version of each vehicle-mounted computer 120. When a new software version is released from the vehicle-mounted computer 120 system, an upgrade prompt is sent to the vehicle-mounted computer 120 whose current software version is lower than the new software version.

[0064] When the user receives the upgrade prompt and clicks the confirm upgrade button or confirms the upgrade through voice or other means, the vehicle computer 120 initiates an upgrade request to the server 110. The server 110 uses the vehicle computer 120 that initiates the upgrade request as the target vehicle computer, and determines the seed vehicle computer of the target vehicle computer from the remaining vehicle computers 120 (i.e., the remaining vehicle computers 120 except the seed vehicle computer). Furthermore, the server 110 generates upgrade instructions for the target vehicle computer and the seed vehicle computer, and sends the upgrade instructions to either the target vehicle computer and the seed vehicle computer, or to the target vehicle computer and the seed vehicle computer. The target vehicle computer that receives the upgrade instruction downloads the upgrade data from the seed vehicle computer, or the seed vehicle computer that receives the upgrade instruction sends the upgrade data to the target vehicle computer to perform the software upgrade.

[0065] For example, among vehicle computers A, B, C and D, after the server 110 makes a decision, the seed vehicle computer of vehicle computer A is vehicle computer C, and the seed vehicle computer of vehicle computer D is vehicle computer B. Then vehicle computer A downloads the upgrade data from vehicle computer C, and vehicle computer D downloads the upgrade data from vehicle computer B.

[0066] Compared with the upgrade method in which all vehicle computers to be upgraded need to download upgrade data from the server, in steps 11 to 15 of the vehicle computer software upgrade method provided in the embodiment of the present application, the data packets required for the vehicle computer software upgrade are mainly obtained through data transmission and download between each vehicle computer, which reduces the workload of the server, realizes the decentralization of the vehicle computer software upgrade, greatly reduces the burden on the server during the current vehicle computer upgrade, and improves the upgrade efficiency.

[0067] Among them, the method of determining the seed vehicle computer of the target vehicle computer in step 13 can be flexibly selected. For example, it can be randomly selected, or selected from the remaining vehicle computers according to preset rules, or the vehicle computer with the shortest distance to the target vehicle computer can be used as the seed vehicle computer. The implementation method is not restricted.

[0068] In order to ensure that the seed car machine can provide accurate upgrade data for the target car machine, so as to ensure the successful upgrade of the target car machine and reduce the traffic consumption of the car machine, the idea of ​​selecting the seed car machine according to the state from the car machines with version matching differential data is introduced in step 13. Figure 4 In step 13, the seed vehicle computer of the target vehicle computer is determined through steps 131 to 133.

[0069] Step 131 : Select a vehicle computer with a target differential packet from the remaining vehicle computers as a candidate vehicle computer for the target vehicle computer.

[0070] The target differential package is the software differential data between the software version of the target vehicle computer and the target version.

[0071] Step 133 : obtaining a seed vehicle unit of the target vehicle unit from each candidate vehicle unit according to the status information of the target vehicle unit and each candidate vehicle unit.

[0072] The candidate vehicle computers of the target vehicle computer are vehicle computers for which there is a differential package between the current software version of the target vehicle computer and the target version (ie, the new software body required to be upgraded).

[0073] For a vehicle computer, after obtaining any higher version of software data than its current software version, it can generate a data difference package (i.e., software difference data) between the current software version and the higher software version. For a seed vehicle computer, the stored data difference package can be downloaded from a server, generated by itself, or downloaded from another vehicle computer. In addition, the current software version of the seed vehicle computer software is not required to be consistent with the target version of the target vehicle computer.

[0074] For example, in combination Figure 1In the illustrated vehicle-machine software upgrade system 10, the server 110 can maintain a vehicle-machine management list, which records the current software version, stored differential package information, and status information of each vehicle-machine 120. Each vehicle-machine 120 regularly reports its current software version, stored differential package information, and status information to the server 110. The server 110 then regularly updates the vehicle-machine 120 management list based on this information. Thus, based on the information in the vehicle-machine 120 management list, the server 110 can identify candidate vehicles for the target vehicle-machine, and further determine the seed vehicle-machine.

[0075] In step 133, the status information may include information such as whether the vehicle computer is offline, or information such as the vehicle computer's location, offline status, and load rate. Furthermore, in step 133, the method for determining the seed vehicle computer from the candidate vehicle computers can be flexibly configured. For example, the closest candidate vehicle computer that is not offline can be selected as the seed vehicle computer, or multiple influencing indicators can be comprehensively considered and no selection is made. The implementation method is not limited.

[0076] In order to maximize the efficiency and reliability of the vehicle computer software upgrade, the idea of ​​dynamically and efficiently selecting the optimal seed vehicle computer is introduced in step 133 through comprehensive consideration of the above multi-dimensional indicators. Figure 5 The process of obtaining the seed vehicle in step 133 includes steps 1331 to 1337.

[0077] Step 1331 : According to the current position of the target vehicle computer, the distance between the target vehicle computer and each candidate vehicle computer is obtained.

[0078] Step 1333 : For each candidate vehicle computer, a single score of each transmission indicator is obtained based on the current status information and the distance between the candidate vehicle computers.

[0079] Among them, transmission indicators include distance, network quality, resource status and historical performance.

[0080] Step 1335 : Obtain a comprehensive score for each candidate vehicle computer based on the weights of each transmission indicator and the single score.

[0081] Step 1337 : Determine a seed vehicle unit of the target vehicle unit from the candidate vehicle units based on the comprehensive score.

[0082] In steps 1331 to 1337 above, network quality can be determined solely by network bandwidth and latency, or by network type, bandwidth, and latency. For example, based on a preset network quality scoring rule, the network bandwidth and latency of the vehicle computer are scored, and the network type is scored. The scores of the two are then combined with a preset weight to obtain a single network quality score.

[0083] In the network quality scoring rules, for network bandwidth and latency, priority is given to car computers with stable network signals and sufficient bandwidth. The more sufficient the network bandwidth and the more stable the signal (i.e., the lower the latency), the higher the score, to reduce the failure rate and waiting time when uploading or sending differential packets. For network type, the faster the signal transmission speed, the higher the score. If the car computer has a high-speed connection method such as 5G or WiFi, the higher the score of the network type, which can better support the fast upload of differential packets.

[0084] Similarly, as for the separation distance, the smaller the separation distance, the shorter the V2V or WiFi direct connection distance between the vehicles, reducing network transmission consumption. Therefore, the smaller the separation distance, the higher the corresponding single score.

[0085] Resource status can consider only hardware resources, such as CPU / memory usage, but can also consider compatibility between the candidate vehicle computer version and firmware. To better and objectively reflect the overall resource support of the vehicle computer, in this embodiment, resource status includes battery power, CPU / memory usage, compatibility between the vehicle computer version and firmware, stability of the same version, and upgradeability of the target version.

[0086] The battery power, that is, the remaining power of the candidate vehicle computer battery, must be sufficient to avoid disconnection during the transmission of the target differential packet. Here, the battery power can also be replaced by the remaining battery life. According to the link quality of the candidate vehicle computer and the target differential packet size, the time required to distribute the target differential packet (hereinafter referred to as the task required time) is estimated, and the sum of the task required market and the preset safety margin is used as the task safety time. Then, the difference between the remaining endurance time and the task safety time is calculated, and whether the difference is zero or above zero is used to obtain the battery power score. For example, if the remaining endurance time is greater than the task safety time, the battery power score is full marks, otherwise, the battery power score is zero.

[0087] The stability of the same version refers to the number of times an older software version (i.e., the same version as the target vehicle's current software version) experiences anomalies or vulnerabilities on the candidate vehicle. The stability of the same version is scored based on the number of anomalies or vulnerabilities encountered. The fewer anomalies or vulnerabilities, the higher the score.

[0088] Target version upgradability refers to whether the candidate vehicle computer's hardware or software environment is compatible with the target version. For example, if it is compatible, the target version upgradability score is full, otherwise no score is given.

[0089] Furthermore, the scoring values ​​of battery power, CPU / storage usage, compatibility between the vehicle computer version and firmware, stability of the same version, and upgradeability of the target version are combined to obtain a single score for the resource status of the candidate vehicle computer.

[0090] Historical performance refers to the performance of the candidate car machine as a seed car machine in the past, including upgrade success rate, security certification level and user experience feedback. The upgrade success rate refers to the successful record of being selected as a seed car machine in the past, that is, whether there has been an abnormal interruption or tampering risk. The security certification level is determined by the security impact. If the level of the candidate car machine's security hardware is higher (such as a high-level TPM / TEE), the security certification level score will be higher and will be given priority. User experience feedback refers to the user's positive feedback on the car machine upgrade process. The more positive reviews, the more reliable it is and the higher the score. Furthermore, the upgrade success rate, security certification level and user experience feedback scores of the candidate car machine are combined (such as adding them up by weight) to obtain a single score for historical performance.

[0091] After obtaining the single scores of each transmission indicator of the candidate vehicle computer (i.e., distance, network quality, resource status and historical performance), in step 1335, the single scores are added according to the weights corresponding to each transmission indicator to obtain the comprehensive score of the candidate vehicle computer.

[0092] The weights of distance, network quality, resource status, and historical performance can be flexibly set. For example, it can be 30% for network quality, 20% for hardware status, 20% for historical performance, 20% for location distribution, and 10% for other factors. It can also be 30% for network quality, 30% for hardware status, 20% for historical performance, and 20% for location distribution. There is no restriction on the weight setting.

[0093] Through the above method, comprehensive consideration is made from multiple dimensions such as version matching, distance between the vehicle computers 120, network quality, resource status and historical performance, and the seed vehicle computer of the target vehicle computer (that is, the optimal and most matching seed vehicle computer) is selected to ensure that the seed vehicle computer can upgrade the target vehicle computer efficiently and reliably.

[0094] After the server determines the seed vehicle computer of the target vehicle computer through the above steps, in step 15, the server can send an upgrade instruction to the seed vehicle computer, instructing the seed vehicle computer to proactively transmit the target differential packet to the target vehicle computer. The server can also send an upgrade instruction to the target vehicle computer, instructing the target vehicle computer to proactively request the target differential packet for the upgrade from the seed vehicle computer. The implementation method is not limited.

[0095] In order to prevent the target differential packet to be obtained by the target vehicle from being maliciously forged or tampered with, and to ensure the security of the upgrade, in step 15, the target seed and the seed vehicle are authenticated during the transmission of the upgrade data, and the authentication information is provided by the server. Figure 6 The process of sending the upgrade instruction in step 15 includes steps 151 to 153.

[0096] Step 151: Send encryption information to the seed vehicle computer to instruct the target differential packet to be encrypted using the encryption information before sending the target differential packet.

[0097] Step 153: The target vehicle computer sends an upgrade instruction.

[0098] Among them, the upgrade instruction includes decryption information and the identification of the seed car computer, instructing the target car computer to request the target differential package from the seed car computer based on the identification, use the decryption information to decrypt the target differential package sent by the seed car computer, and use the decrypted target differential package to perform software upgrade.

[0099] The encryption information and the decryption information can be any encryption technology such as digital certificate or HMAC. In addition, the above steps 151 to 153 can be performed simultaneously, or can be performed in sequence in any order.

[0100] For example, in combination Figure 1 In the illustrated vehicle software upgrade system 10, after the server 110 identifies the seed vehicle of the target vehicle, it uses encryption techniques such as digital certificates or HMAC to obtain encrypted and decrypted information. Next, the server 110 packages the encrypted information and the identification information of the target vehicle into an upgrade pairing instruction and sends the upgrade pairing instruction to the seed vehicle. The seed vehicle decrypts the upgrade configuration instruction and stores the resulting encrypted information and the identification information of the target vehicle as a mapping. Simultaneously, the server 110 packages the decrypted information, the identification information of the seed vehicle, and the method for obtaining the target differential packet into an upgrade instruction and sends the upgrade instruction to the target vehicle.

[0101] After receiving the upgrade command, the target vehicle computer parses the decryption information, the seed vehicle computer's identification information, and the method for obtaining the target differential package. After meeting the upgrade conditions (such as reaching the upgrade time set by the user), the seed vehicle computer requests the target differential package from the seed vehicle computer based on the seed vehicle computer's identification information. After receiving the target vehicle computer's request, the seed vehicle computer queries the stored mapping relationship to obtain the target vehicle computer's encryption information (for example, AES encryption information), encrypts the target differential package according to the encryption information, and sends the encrypted target differential package to the target vehicle computer.

[0102] After receiving the encrypted target differential package, the target vehicle computer decrypts the target differential package using the decryption information in the upgrade instruction, obtains the upgrade data, and performs the upgrade.

[0103] During this process, if any error occurs in encryption or decryption, the upgrade cannot be successful.

[0104] Through the above steps 151 to 153, it is ensured that the differential packet will not be maliciously forged or tampered with, which greatly improves the security of the vehicle software upgrade.

[0105] When the latest car machine software version is online, there may be a situation where no car machine 120 has the relevant differential package of the latest software version, or all car machines 120 except the target car machine have only the differential package of version 3.0, but the current software version of the target car machine is 1.0, and the upgrade target version is 2.0. In this case, in order to ensure a smooth upgrade, the car machine software upgrade method provided in this application introduces the concept of upgrading by the server 110 when none of the car machines 120 has the target differential package of the target car machine. Figure 7 The vehicle software upgrade method provided in this application also includes steps 12 and 14, and step 12 is performed after step 11.

[0106] Step 12: Determine whether the target differential packet of the target vehicle computer exists in at least one of the remaining vehicle computers. If yes, proceed to step 13; if not, proceed to step 14.

[0107] Step 14: Send the full software package to the target vehicle computer.

[0108] Through the above steps 12 to 14, when there is no seed vehicle computer of the target vehicle computer, the server sends the full software package of the target version (ie, upgrade data) to the target vehicle computer to upgrade the target vehicle computer.

[0109] On the basis of the above, in order to ensure that the subsequent car machine that is consistent with the situation of the target car machine (that is, the upgraded target version and the current software version are the same as the target car machine) needs to be upgraded, the burden and pressure on the server can be reduced. In the car machine software upgrade method provided in this application, the server updates the information of each car machine that has completed the upgrade, so that the car machine that has completed the upgrade may also have the opportunity to become a seed car machine. Figure 7 After the above steps 15 and 14, step 17 may be performed.

[0110] Step 17: upon receiving the target vehicle computer upgrade completion notification, update the target vehicle computer software version and differential package information in the vehicle computer management list.

[0111] Through the above step 17, the successfully upgraded target vehicle computer can become the seed vehicle computer for subsequent vehicles with the same situation.

[0112] For example, in combination Figure 1In the illustrated vehicle-mounted computer software upgrade system 10, a target vehicle-mounted computer obtains upgrade data from a server 110 or a seed vehicle-mounted computer. After the upgrade is complete, the target vehicle-mounted computer stores a differential package, marks itself as a reserve seed vehicle-mounted computer, and simultaneously sends an upgrade completion notification to the server 110. Based on this, the server 110 updates the current software version of the target vehicle-mounted computer in the vehicle-mounted computer 120 management list and updates the differential package information stored by the target vehicle-mounted computer to prepare for subsequent upgrades of other vehicle-mounted computers 120.

[0113] After becoming a seed vehicle computer, a vehicle computer 120 is responsible for sending its requested differential packets to at least one vehicle computer 120 to be upgraded. A seed vehicle computer with favorable conditions may simultaneously serve as a seed vehicle computer for multiple vehicles 120. Furthermore, the selection of seed vehicles is based on their current status. Due to timeliness, the seed vehicle computer may experience fluctuations in network conditions, location, and battery life.

[0114] When the seed car machine is responsible for too many car machines to be upgraded or the network, power and other status information fluctuates, the upgrade efficiency it is responsible for may be reduced. In view of this situation, the car machine software upgrade method provided in this application introduces the idea of ​​switching the target car machine to other seed car machines when the seed car machine of the target car machine fluctuates. Figure 8 , after step 13, it also includes steps 21 and 23.

[0115] Step 21: Obtain the current status information and load value of the seed vehicle.

[0116] Step 23: Determine whether the status information meets the upgrade condition and whether the load value does not exceed the load threshold.

[0117] If yes, continue to step 15. If no, that is, when the status information does not meet the upgrade conditions or the load value exceeds the load threshold, eliminate the seed vehicle computer and return to step 13, that is, obtain the seed vehicle computer of the target vehicle computer from the remaining vehicle computers again.

[0118] Among them, the upgrade conditions include the safe endurance of battery power, network quality threshold and load threshold. When the safe endurance of the seed vehicle is less than the required mission endurance, the current network quality is lower than the network quality threshold, and / or the current load is higher than the load threshold, the status information does not meet the upgrade conditions.

[0119] Through this approach, if the seed vehicle experiences network fluctuations or low battery, it will dynamically switch to other suitable seed vehicles. If the seed vehicle is overloaded, some of the target vehicles will be allocated to other capable seed vehicles. This allows for dynamic scheduling of seed vehicles and ensures efficient upgrades.

[0120] Based on the same concept as the above-mentioned vehicle software upgrade method, the embodiment of the present application also provides a vehicle software upgrade device, including a vehicle management module and an upgrade management module. In addition, the vehicle software upgrade device can be applied to Figure 1 The server 110 in the vehicle software upgrade system 10 is shown.

[0121] The vehicle computer management module is used to take the vehicle computer that initiates the upgrade request as the target vehicle computer and determine the seed vehicle computer of the target vehicle computer from the remaining vehicle computers.

[0122] The upgrade management module is used to send upgrade instructions to the target vehicle computer and / or the seed vehicle computer to instruct the target vehicle computer to obtain upgrade data from the seed vehicle computer and perform software upgrade.

[0123] The above-mentioned vehicle computer software upgrade device achieves the synergistic effect of the vehicle computer management module and the upgrade management module. The data packets required for the vehicle computer software upgrade are mainly obtained through data transmission and download between each vehicle computer, which reduces the workload of the server, realizes the decentralization of the vehicle computer software upgrade, greatly reduces the burden on the server during the current vehicle computer upgrade, and improves the upgrade efficiency.

[0124] For the specific implementation and effect of the vehicle software upgrade device, please refer to the description of the implementation of the vehicle software upgrade method above. For example, for the specific implementation and effect of the vehicle management module, please refer to the description of the relevant contents of steps 11 and 13 above. For the specific implementation and effect of the upgrade management module, please refer to the description of the relevant contents of step 15 above. No further details will be given here.

[0125] Furthermore, each module of the aforementioned vehicle-mounted system software upgrade device may be implemented in whole or in part through software, hardware, or a combination thereof. Each module may be embedded in or independent of the processor 220 of the electronic device in hardware form, or may be stored in the memory 210 of the electronic device in software form, so that the processor 220 can call and execute the corresponding operations of each module to implement the vehicle-mounted system software upgrade method provided above.

[0126] The embodiment of the present application also provides a vehicle software upgrade system 10, referring to Figure 1 , including a server 110 and multiple vehicle machines 120 communicatively connected to the server 110.

[0127] When the software upgrade conditions are met, the vehicle computer 120 initiates an upgrade request to the server 110 .

[0128] The server 110 takes the vehicle computer 120 that initiates the upgrade request as the target vehicle computer, determines the seed vehicle computer of the target vehicle computer from the remaining vehicle computers, and sends an upgrade instruction to the target vehicle computer and / or the seed vehicle computer.

[0129] The target vehicle computer obtains the upgrade data from the seed vehicle computer and performs software upgrade.

[0130] An embodiment of the present application also provides an electronic device, including a processor 220 and a memory 210, wherein the memory 210 stores a computer program that can be executed by the processor 220, and the processor 220 can execute the computer program to implement the vehicle software upgrade method provided above.

[0131] An embodiment of the present application further provides a storage medium on which a computer program is stored. When the computer program is executed by the processor 220, the vehicle software upgrade method provided above is implemented.

[0132] In summary, the vehicle software upgrade method, system, electronic device, and storage medium provided by the embodiments of the present application have at least the following beneficial effects:

[0133] (1) Reduce server computing and storage pressure: The server does not need to store and calculate all differential packets and is only responsible for scheduling;

[0134] (2) Save network bandwidth: Directly transmit differential data between the vehicle and the computer to reduce cloud traffic consumption;

[0135] (3) Improve upgrade speed: Utilize the principle of proximity to optimize data transmission paths. Once the upgrade is complete, it will be considered a seed vehicle-machine. Later, large-scale vehicle-machine upgrade requests can be completed, and the speed is exponentially improved.

[0136] (4) Enhanced system stability: Prevents the server from becoming a single point of bottleneck, suitable for large-scale fleets and intelligent connected car scenarios;

[0137] (5) Enhanced security: Ensure data integrity and tamper-proofing through AES encryption, digital signatures, and authentication mechanisms;

[0138] (6) Reduce the complexity of version management: The server no longer needs to store and manage multiple versions of differential packages, but dynamically matches the appropriate seed car machine to improve system flexibility.

[0139] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can also be implemented in other ways. The device embodiments described above are merely illustrative. For example, the flowcharts and block diagrams in the accompanying drawings show the possible architectures, functions and operations of the devices, methods and computer program products according to the multiple embodiments of the present application. In this regard, each box in the flowchart or block diagram can represent a module, a program segment or a part of the code, and the module, program segment or a part of the code contains one or more executable instructions for implementing the specified logical functions. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of boxes in the block diagram and / or flowchart, can be implemented using a dedicated hardware-based system that performs the specified function or action, or can be implemented using a combination of dedicated hardware and computer instructions.

[0140] In addition, the functional modules in each embodiment of the present application can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.

[0141] If the functions are implemented in the form of software function modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory, a random access memory, a magnetic disk, or an optical disk.

[0142] The above description is merely a preferred embodiment of the present application and is not intended to limit the present application. Various modifications and variations are possible for those skilled in the art. Any modifications, equivalent substitutions, or improvements made within the spirit and principles of the present application shall be included within the scope of protection of the present application.

Claims

1. A vehicle computer software upgrade method, characterized in that: Applied to a server, the server is communicatively connected with multiple vehicle computers, and the method includes: The vehicle computer that initiates the upgrade request is used as the target vehicle computer; Determining a seed vehicle computer of the target vehicle computer from the remaining vehicle computers; Send an upgrade instruction to the target vehicle computer and / or the seed vehicle computer to instruct the target vehicle computer to obtain upgrade data from the seed vehicle computer and perform software upgrade.

2. The vehicle computer software upgrade method according to claim 1, characterized in that: The step of determining a seed vehicle computer of the target vehicle computer from the remaining vehicle computers includes: Selecting a vehicle computer having a target differential package from the remaining vehicle computers as a candidate vehicle computer for the target vehicle computer; wherein the target differential package is software differential data between the software version of the target vehicle computer and the target version; A seed vehicle computer of the target vehicle computer is obtained from each of the candidate vehicle computers according to the status information of the target vehicle computer and each of the candidate vehicle computers.

3. The vehicle computer software upgrade method according to claim 2, characterized in that: The step of obtaining a seed vehicle computer of the target vehicle computer from each of the candidate vehicle computers based on the status information of the target vehicle computer and each of the candidate vehicle computers includes: Obtaining the distance between the target vehicle computer and each candidate vehicle computer according to the current position of the target vehicle computer; For each candidate vehicle computer, a single score for each transmission indicator is obtained based on the current status information of the candidate vehicle computer and the distance between the candidate vehicle computer and the vehicle computer; wherein the transmission indicator includes the distance between the candidate vehicle computer and the vehicle computer, the network quality, the resource status and the historical performance; Obtaining a comprehensive score for each candidate vehicle computer according to the weight of each transmission indicator and the single score; According to the comprehensive score, a seed vehicle computer of the target vehicle computer is determined from the candidate vehicle computers.

4. The vehicle computer software upgrade method according to any one of claims 1 to 3, characterized in that: The step of sending an upgrade instruction to the target vehicle computer and / or the seed vehicle computer includes: Sending encryption information to the seed vehicle machine to instruct the target differential packet to be encrypted using the encryption information before sending the target differential packet; Send an upgrade instruction to the target vehicle computer; wherein, the upgrade instruction includes decryption information and the identifier of the seed vehicle computer, to instruct the target vehicle computer to request a target differential package from the seed vehicle computer based on the identifier, use the decryption information to decrypt the target differential package sent by the seed vehicle computer, and use the decrypted target differential package to perform software upgrade.

5. The vehicle computer software upgrade method according to any one of claims 1 to 3, characterized in that: After the step of determining a seed vehicle computer of the target vehicle computer from the remaining vehicle computers, the method further includes: Obtaining the current status information and load value of the seed vehicle; If the status information does not meet the upgrade condition or the load value exceeds the load threshold, the seed vehicle computer is eliminated, and the process returns to the step of determining the seed vehicle computer of the target vehicle computer from the remaining vehicle computers.

6. The vehicle computer software upgrade method according to any one of claims 1 to 3, characterized in that: The server maintains a vehicle computer management list, and the vehicle computer management list records information of each vehicle computer; After the step of sending the upgrade instruction to the target vehicle computer and / or the seed vehicle computer, the method further includes: When receiving the upgrade completion notification of the target vehicle computer, the software version and differential package information of the target vehicle computer in the vehicle computer management list are updated.

7. The vehicle computer software upgrade method according to any one of claims 1 to 3, characterized in that: After the step of setting the vehicle computer that initiates the upgrade request as the target vehicle computer, the method further includes: Determining whether the target differential packet of the target vehicle computer exists in at least one remaining vehicle computer; If yes, then executing the step of determining a seed vehicle computer of the target vehicle computer from the remaining vehicle computers; If not, the full software package is sent to the target vehicle computer, and upon receiving the upgrade completion notification of the target vehicle computer, the software version and differential package information of the target vehicle computer in the vehicle computer management list are updated.

8. A vehicle software upgrade system, characterized in that: including a server and multiple vehicle computers communicating with the server; When the vehicle computer meets the software upgrade conditions, it sends an upgrade request to the server; The server uses the vehicle computer that initiates the upgrade request as the target vehicle computer, determines the seed vehicle computer of the target vehicle computer from the remaining vehicle computers, and sends an upgrade instruction to the target vehicle computer and / or the seed vehicle computer; The target vehicle computer obtains the upgrade data from the seed vehicle computer and performs software upgrade.

9. An electronic device, characterized in that: The method comprises a processor and a memory, wherein the memory stores a computer program that can be executed by the processor, and the processor can execute the computer program to implement the vehicle software upgrade method according to any one of claims 1 to 7.

10. A storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the vehicle software upgrading method according to any one of claims 1 to 7 is implemented.