Vehicle software upgrading method, vehicle, electronic equipment and medium

By identifying the target vehicle in the peer-to-peer network, obtaining upgrade sub-packets, and assembling them into an upgrade package for software upgrade, the problem of low reliability and efficiency caused by network congestion and server failure during vehicle upgrade is solved, achieving decentralized and efficient upgrade.

CN121050737APending Publication Date: 2025-12-02BYD CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410687824.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-05-29
Publication Date
2025-12-02

AI Technical Summary

Technical Problem

During vehicle software upgrades, the increasing number of smart car software programs and the larger upgrade packages can easily lead to network congestion or server failures when using OTA (Over-The-Air) updates, resulting in poor upgrade reliability and efficiency.

Method used

By identifying the target vehicle in a peer-to-peer network, obtaining the target upgrade sub-package from multiple vehicles, and assembling them into an upgrade package for software upgrade, the impact of server network congestion or failure is avoided, and a decentralized download and upgrade method is adopted.

Benefits of technology

It enables decentralized downloading and upgrading through a peer-to-peer network of vehicles, improving the reliability and efficiency of upgrades and avoiding problems caused by network congestion and server failures.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121050737A_ABST
    Figure CN121050737A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a vehicle software upgrading method, a vehicle, electronic equipment and a medium, and the method comprises the steps: determining a target second vehicle from a plurality of second vehicles of a peer-to-peer network; and obtaining a target upgrading sub-package from the target second vehicle, and after all the upgrading sub-packages are successfully obtained, carrying out software upgrading on the first vehicle by adopting an upgrading package formed by all the upgrading sub-packages. Through the embodiment of the invention, decentralized downloading and upgrading are realized through the peer-to-peer network consisting of the vehicles, and the conditions of poor upgrading reliability and low efficiency caused by server network congestion or server faults are avoided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of automotive technology, and in particular to methods for upgrading vehicle software, vehicles, electronic devices, and media. Background Technology

[0002] In the automotive technology field, OTA (Over-the-Air Technology) is commonly used to upgrade vehicle software. This means that the latest version of the software is stored in the cloud, and the vehicle communicates with the cloud to discover the latest version information and then downloads the latest version of the software from the cloud.

[0003] However, as smart car software becomes increasingly numerous and individual software packages grow larger, the upgrade packages that need to be downloaded also become larger. When using this method for upgrades, a large number of concurrent downloads from the vehicle can easily cause network congestion or server failures, resulting in poor reliability and efficiency of the upgrade. Summary of the Invention

[0004] In view of the above problems, methods, vehicles, electronic devices, and media for vehicle software upgrades that overcome or at least partially resolve the above problems are proposed, including:

[0005] A method for upgrading vehicle software, applied to a first vehicle, wherein the first vehicle and multiple second vehicles are nodes in a peer-to-peer network, the method comprising:

[0006] From the multiple second vehicles in the peer-to-peer network, determine the target second vehicle;

[0007] From the target second vehicle, obtain the target upgrade sub-package, and after successfully obtaining all upgrade sub-packages, use the upgrade package composed of all upgrade sub-packages to perform a software upgrade on the first vehicle.

[0008] Optionally, determining the target second vehicle from among a plurality of second vehicles in the peer-to-peer network includes:

[0009] Send a request for obtaining the target upgrade sub-packet to multiple second vehicles in the peer-to-peer network, and receive a confirmation message returned by the second vehicle that stores the target upgrade sub-packet;

[0010] The target second vehicle is determined from the second vehicles that store the target upgrade subpackage.

[0011] Optionally, determining the target second vehicle from the second vehicles storing the target upgrade subpackage includes:

[0012] The delay is determined based on the acquisition request and the confirmation message;

[0013] Based on the aforementioned delay, the target second vehicle is determined from the second vehicles that store the target upgrade sub-package.

[0014] Optionally, after obtaining the target upgrade sub-package from the target second vehicle, the method further includes:

[0015] Verify the target upgrade subpackage;

[0016] If the verification is successful, the target upgrade sub-package is determined to have been successfully acquired. If the verification fails, the target second vehicle is re-determined, and the target upgrade sub-package is acquired from the re-determined target second vehicle.

[0017] Optionally, the target upgrade sub-package carries identification information, and the verification of the target upgrade sub-package includes:

[0018] The identification information carried by the target upgrade sub-package is verified.

[0019] Optionally, the target upgrade sub-package also carries signature information and certificate information, and the verification of the target upgrade sub-package further includes:

[0020] Obtain the public key from the certificate information carried in the target upgrade sub-package, and use the public key to decrypt the signature information to obtain the decryption result; wherein, the decryption result includes identification information;

[0021] The identification information in the decryption result is used to verify the identification information carried by the target upgrade sub-packet.

[0022] Optionally, the identification information includes a version number and a sub-package number.

[0023] Optionally, before obtaining the public key from the certificate information carried in the target upgrade sub-package, the method further includes:

[0024] The certificate information carried by the target upgrade sub-package is verified using a pre-set root certificate. If the verification is successful, the public key is obtained from the certificate information carried by the target upgrade sub-package.

[0025] Optionally, the target upgrade sub-package carries upgrade data content, the decryption result includes digest information, and the verification of the target upgrade sub-package further includes:

[0026] The upgrade data content carried by the target upgrade sub-package is processed, and the digest information obtained by processing the upgrade data content is verified using the digest information in the decryption result.

[0027] Optionally, the digest information includes a hash digest.

[0028] Optionally, the peer-to-peer network is a peer-to-peer virtual private network.

[0029] A vehicle includes a processor, a memory, and a computer program stored in the memory and capable of running on the processor, wherein the computer program, when executed by the processor, implements a method for vehicle software upgrade as described above.

[0030] An electronic device includes a processor, a memory, and a computer program stored in the memory and capable of running on the processor, wherein the computer program, when executed by the processor, implements the vehicle software upgrade method as described above.

[0031] A computer-readable storage medium storing a computer program that, when executed by a processor, implements the vehicle software upgrade method as described above.

[0032] The embodiments of the present invention have the following advantages:

[0033] In this embodiment of the invention, by determining a target second vehicle from among multiple second vehicles in the peer-to-peer network, obtaining a target upgrade sub-package from the target second vehicle, and after successfully obtaining all upgrade sub-packages, using an upgrade package composed of all upgrade sub-packages to perform a software upgrade on the first vehicle, decentralized downloading and upgrading are achieved through a peer-to-peer network composed of vehicles, avoiding the situation of poor upgrade reliability and low efficiency caused by server network congestion or server failure. Attached Figure Description

[0034] To more clearly illustrate the technical solution of the present invention, the accompanying drawings used in the description of the present invention will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0035] Figure 1 This is a flowchart of the steps of a vehicle software upgrade method provided in some embodiments of the present invention;

[0036] Figure 2a This is a schematic diagram of a network architecture provided by some embodiments of the present invention;

[0037] Figure 2b This is a flowchart of another software upgrade method provided in some embodiments of the present invention;

[0038] Figure 2c This is a schematic diagram of an upgraded sub-package structure provided in some embodiments of the present invention;

[0039] Figure 2d This is a schematic diagram of a verification process provided in some embodiments of the present invention. Detailed Implementation

[0040] To make the above-mentioned objects, features, and advantages of the present invention more apparent and understandable, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without inventive effort are within the scope of protection of the present invention.

[0041] Reference Figure 1 The diagram illustrates a flowchart of a vehicle software upgrade method provided by some embodiments of the present invention. The method can be applied to a first vehicle, which can form a peer-to-peer (P2P) network with multiple second vehicles. Both the first and second vehicles can act as nodes in the peer-to-peer network.

[0042] As an example, a peer-to-peer network is a peer-to-peer (P2P) virtual private network (VPN).

[0043] In some examples, nodes in a peer-to-peer network can also include servers, such as servers used to distribute upgrade sub-packages. Nodes such as vehicles and servers can use VPN access devices to access the network. Figure 2a A decentralized network consisting of vehicles, OTA publishing servers, and VPN access devices. In this decentralized network, vehicles and OTA publishing servers are peer nodes, and any two peer nodes can directly access each other.

[0044] Specifically, it may include the following steps:

[0045] Step 101: Determine the target second vehicle from among the multiple second vehicles in the peer-to-peer network.

[0046] In practical applications, the upgrade package can be divided into multiple upgrade sub-packages and published on the server. In some examples, the size and number of upgrade sub-packages can be determined based on the network's carrying capacity, and then the packages can be divided accordingly.

[0047] After obtaining the upgrade sub-package, the server can broadcast and push update information to the vehicle. The update information may include the version of the upgrade package and the number of upgrade sub-packages. The vehicle can obtain and store a portion of the upgrade sub-package from the server.

[0048] When the first vehicle needs to undergo a software upgrade, a target second vehicle can be identified from multiple second vehicles in the peer-to-peer network. The target second vehicle can be a vehicle that stores the upgrade sub-package. The upgrade sub-package of the target second vehicle can be obtained directly from the server or obtained from other vehicles.

[0049] In some embodiments of the present invention, determining the target second vehicle from among a plurality of second vehicles in the peer-to-peer network includes: sending a request to obtain a target upgrade sub-packet to the plurality of second vehicles in the peer-to-peer network, and receiving a confirmation message returned by the second vehicle storing the target upgrade sub-packet; determining the target second vehicle from among the second vehicles storing the target upgrade sub-packet.

[0050] In practical applications, the first vehicle to be upgraded can send a request to multiple second vehicles in the peer-to-peer network to obtain the target upgrade sub-packet. The first vehicle can send the request by broadcasting it in the peer-to-peer network.

[0051] When the second vehicle receives the acquisition request, it can check whether it has stored the target upgrade sub-package. If it has stored the target upgrade sub-package, it returns an acknowledgment message to the first vehicle. The first vehicle can then learn about the second vehicle that has stored the target upgrade sub-package and determine the target second vehicle from among the second vehicles that have stored the target upgrade sub-package.

[0052] In some embodiments of the present invention, determining the target second vehicle from the second vehicles storing the target upgrade subpackage includes: determining a delay condition based on the acquisition request and the confirmation message; and determining the target second vehicle from the second vehicles storing the target upgrade subpackage based on the delay condition.

[0053] In practical applications, the request and confirmation messages carry timestamps. The first vehicle can determine the delay request based on the timestamps in the request and confirmation messages, and then determine the target second vehicle from the second vehicle that stores the target upgrade sub-package based on the delay situation.

[0054] In some examples, the second vehicles can be sorted according to their latency, and the vehicle with the shortest latency can be selected as the target second vehicle. In other examples, if establishing a connection with the first-ranked second vehicle fails or the download fails, the vehicles ranked later in the order can be selected as the target second vehicles to establish a connection and download.

[0055] Step 102: Obtain the target upgrade sub-package from the target second vehicle, and after successfully obtaining all upgrade sub-packages, use the upgrade package composed of all upgrade sub-packages to perform software upgrade on the first vehicle.

[0056] After identifying the target second vehicle, a connection can be established with the target second vehicle to download the target upgrade sub-package. Since the upgrade package is split into multiple upgrade sub-packages, the first vehicle can download different upgrade sub-packages from different second vehicles (the download method for different upgrade sub-packages is the same as the download method for the target upgrade sub-package, that is, the corresponding target second vehicle is identified for download). Alternatively, it can download a portion of the upgrade sub-package from the server. In other words, the server, like the vehicle, acts as a resource provider in the network, except that the server does not need to download resources.

[0057] In some examples, to improve network bandwidth utilization, the upgrade package is divided into multiple smaller sub-packages. The download process for each upgrade sub-package is independent. The first vehicle can download the upgrade according to time or not in order, such as downloading multiple upgrade sub-packages in parallel.

[0058] After all the upgrade sub-packages are successfully downloaded, they can be combined into an upgrade package. The upgrade package can then be used to perform software upgrades, such as vehicle-mounted system upgrades, on the first vehicle.

[0059] The following combination Figure 2b The upgrade process in this invention is illustrated by example:

[0060] Step 1.1: The OEM will divide the OTA upgrade package into N upgrade sub-packages OTA[1], OTA[2]...OTA[N] and publish them to the OTA release server, and broadcast the update information to the vehicle. The update information pushed to the vehicle should at least include the version number of this upgrade package and the number of sub-packages N.

[0061] Step 1.2: The vehicle to be upgraded, car0 (i.e., the first vehicle), broadcasts a request (i.e., sends an acquisition request) to the OTA network (i.e., the peer-to-peer network) to update the first upgrade sub-packet OTA[1].

[0062] Step 1.3: The node (other vehicle or OTA publishing server) that receives the request in the OTA network checks whether it has OTA[1]. If so, it replies with a confirmation message (i.e., confirmation message) to car0. The confirmation message in this step and the request message in step 1.2 should be accompanied by a timestamp for measuring network latency.

[0063] Step 1.4: Based on the delay of the received confirmation message, car0 selects the node with the shortest delay, such as car1, establishes a connection and downloads the OTA[1]. If it fails, it selects the node with the second shortest delay, car2, and so on. If all attempts fail, the upgrade is abandoned until the user manually selects to upgrade again.

[0064] Step 1.5: Following the process in steps 1.2-1.4, car0 continues to download OTA[2] until OTA[N] is downloaded, completing the entire OTA process. In some examples, the upgrade process for each upgrade sub-package is independent. The vehicle can choose to upgrade OTA[1], OTA[2], etc. in chronological order, or not in order, and even download multiple upgrade sub-packages simultaneously. When vehicle car0 determines that all N upgrade sub-packages have been downloaded, it starts the upgrade package installation step to complete the upgrade.

[0065] In some embodiments of the present invention, after obtaining the target upgrade sub-package from the target second vehicle, the method further includes: verifying the target upgrade sub-package; if the verification is successful, determining that the target upgrade sub-package has been successfully obtained; if the verification fails, re-determining the target second vehicle and obtaining the target upgrade sub-package from the re-determined target second vehicle.

[0066] After obtaining the target upgrade sub-package, it can be validated, such as for legality and integrity. If the validation is successful, the target upgrade sub-package is considered successfully acquired, and the upgrade can proceed after all upgrade sub-packages have been successfully acquired. If the validation fails, the target second vehicle can be re-identified, and the target upgrade sub-package can be downloaded again. In some examples, the process of re-identifying the target second vehicle can refer to the process of initially identifying the target vehicle described above.

[0067] In some examples, verifying the target upgrade subpackage may include multiple subsequent verifications. Only if all verifications are successful can the verification be considered successful, and the upgrade subpackage be received for upgrade. If any verification fails, the upgrade subpackage is abandoned and the download process for the subpackage is restarted.

[0068] In some embodiments of the present invention, such as Figure 2c The target upgrade subpackage can carry identification information, signature information, certificate information, and upgrade data content. In some examples, the identification information includes the version number and the subpackage serial number.

[0069] The version number can be the version number of the current upgrade package, and the sub-package number can be the sequence number of the current upgrade sub-package.

[0070] The signature information can be a field generated by the server encrypting the version number, sub-packet sequence number, and digest information (such as a hash digest) using a built-in private key. This field is used by the vehicle to verify the signature. In some examples, the private key and public key pair can be implemented using RSA or ECDSA algorithms. The hash digest is the result of a hash operation on the upgrade data content, used by the vehicle to verify the integrity of the upgrade data content. The hash algorithm can be MD5 or SHA. To prevent the hash digest from being forged, it should not appear directly in the upgrade sub-packet; it can only be obtained by decrypting the signature with the public key at the vehicle.

[0071] Certificate information may include the public key corresponding to the private key, and should conform to the X.509 format. It can be used to verify the legitimacy of the certificate to ensure that the certificate comes from a legitimate issuer. It can also extract the public key from the certificate and verify the signature field.

[0072] The upgrade data content can be the actual data content of the upgrade sub-package.

[0073] In some embodiments of the present invention, the verification of the target upgrade sub-package includes: verifying the identification information carried by the target upgrade sub-package.

[0074] In practical applications, the target upgrade sub-package carries identification information, such as version number and sub-package serial number. The first vehicle learns the corresponding version number and sub-package serial number through update information, and can then verify the identification information carried by the target upgrade sub-package, that is, verify whether the identification information carried by the target upgrade sub-package is consistent with the previously known identification information.

[0075] In some embodiments of the present invention, the verification of the target upgrade sub-package further includes: obtaining a public key from the certificate information carried by the target upgrade sub-package, and using the public key to decrypt the signature information to obtain a decryption result; wherein the decryption result includes identification information; and using the identification information in the decryption result to verify the identification information carried by the target upgrade sub-package.

[0076] In practical applications, the target upgrade sub-package also carries signature information and certificate information. The public key can be obtained from the certificate information carried by the target upgrade sub-package, and then the signature information can be decrypted using the public key to obtain the decryption result. The decryption result may include identification information, such as version number and sub-package sequence number. Then, it is checked whether the identification information in the decryption result is consistent with the identification information in the header of the upgrade sub-package.

[0077] In some embodiments of the present invention, before obtaining the public key from the certificate information carried in the target upgrade sub-package, the method further includes: verifying the certificate information carried in the target upgrade sub-package using a preset root certificate, and if the verification is successful, obtaining the public key from the certificate information carried in the target upgrade sub-package.

[0078] In practical applications, each vehicle has a pre-stored root certificate issued by a CA designated by the vehicle manufacturer. The root certificate can be used to verify the legitimacy of the certificate information carried in the target upgrade sub-package.

[0079] In some embodiments of the present invention, the verification of the target upgrade sub-package further includes: performing calculations on the upgrade data content carried by the target upgrade sub-package, and using the digest information in the decryption result to verify the digest information obtained by performing calculations on the upgrade data content.

[0080] In some embodiments of the present invention, the target upgrade sub-packet may carry upgrade data content, and the decryption result may include digest information, such as a hash digest.

[0081] In practical applications, the upgrade data content carried by the target upgrade sub-packet can be processed, such as by hashing. The digest information in the decryption result can be used to compare the digest information obtained by processing the upgrade data content carried by the target upgrade sub-packet with the digest information obtained by processing the upgrade data content of the target upgrade sub-packet. If they are consistent, it means that the content of the upgrade sub-packet has not been lost or tampered with.

[0082] The following combination Figure 2d The verification process in this invention is illustrated by example:

[0083] Step 2.1: Check if the version number and serial number are correct.

[0084] Step 2.2: Check if the certificate information is valid. Each vehicle has a root certificate pre-stored by the CA designated by the car manufacturer to verify the validity of the certificate.

[0085] Step 2.3: Extract the public key from the certificate and decrypt the signature field using the public key. Check if the version number and sequence number in the decryption result are equal to the version number and sequence number in the header of the upgrade sub-package. Steps 2.2 and 2.3 prove that the upgrade sub-package originates from a legitimate issuing organization.

[0086] Step 2.4: Perform a hash operation on the data portion of the upgrade package content, and compare the result with the hash digest obtained from the signature verification in step 2.3 to determine whether the results are consistent. If they are consistent, it indicates that the upgrade package content has not been lost or tampered with.

[0087] If any step in 2.1-2.4 above fails, the upgrade sub-package will be abandoned and the download process will restart. If all steps succeed, the vehicle will receive the upgrade sub-package.

[0088] In this embodiment of the invention, by determining a target second vehicle from among multiple second vehicles in the peer-to-peer network, obtaining a target upgrade sub-package from the target second vehicle, and after successfully obtaining all upgrade sub-packages, using an upgrade package composed of all upgrade sub-packages to perform a software upgrade on the first vehicle, decentralized downloading and upgrading are achieved through a peer-to-peer network composed of vehicles, avoiding the situation of poor upgrade reliability and low efficiency caused by server network congestion or server failure.

[0089] It should be noted that, for the sake of simplicity, the method embodiments are all described as a series of actions. However, those skilled in the art should understand that the embodiments of the present invention are not limited to the described order of actions, because according to the embodiments of the present invention, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions involved are not necessarily essential to the embodiments of the present invention.

[0090] Some embodiments of the present invention also provide a vehicle software upgrade apparatus, applied to a first vehicle, wherein the first vehicle and a plurality of second vehicles are nodes in a peer-to-peer network, specifically for:

[0091] From the multiple second vehicles in the peer-to-peer network, determine the target second vehicle;

[0092] From the target second vehicle, obtain the target upgrade sub-package, and after successfully obtaining all upgrade sub-packages, use the upgrade package composed of all upgrade sub-packages to perform a software upgrade on the first vehicle.

[0093] In some embodiments of the present invention, determining the target second vehicle from a plurality of second vehicles in the peer-to-peer network includes:

[0094] Send a request for obtaining the target upgrade sub-packet to multiple second vehicles in the peer-to-peer network, and receive a confirmation message returned by the second vehicle that stores the target upgrade sub-packet;

[0095] The target second vehicle is determined from the second vehicles that store the target upgrade subpackage.

[0096] In some embodiments of the present invention, determining the target second vehicle from the second vehicle storing the target upgrade subpackage includes:

[0097] The delay is determined based on the acquisition request and the confirmation message;

[0098] Based on the aforementioned delay, the target second vehicle is determined from the second vehicles that store the target upgrade sub-package.

[0099] In some embodiments of the present invention, after obtaining the target upgrade sub-package from the target second vehicle, the method is further used to:

[0100] Verify the target upgrade subpackage;

[0101] If the verification is successful, the target upgrade sub-package is determined to have been successfully acquired. If the verification fails, the target second vehicle is re-determined, and the target upgrade sub-package is acquired from the re-determined target second vehicle.

[0102] In some embodiments of the present invention, the target upgrade sub-package carries identification information, and the verification of the target upgrade sub-package includes:

[0103] The identification information carried by the target upgrade sub-package is verified.

[0104] In some embodiments of the present invention, the target upgrade sub-package also carries signature information and certificate information, and the verification of the target upgrade sub-package further includes:

[0105] Obtain the public key from the certificate information carried in the target upgrade sub-package, and use the public key to decrypt the signature information to obtain the decryption result; wherein, the decryption result includes identification information;

[0106] The identification information in the decryption result is used to verify the identification information carried by the target upgrade sub-packet.

[0107] In some embodiments of the present invention, the identification information includes a version number and a sub-package number.

[0108] In some embodiments of the present invention, before obtaining the public key from the certificate information carried in the target upgrade sub-package, the method is further used for:

[0109] The certificate information carried by the target upgrade sub-package is verified using a pre-set root certificate. If the verification is successful, the public key is obtained from the certificate information carried by the target upgrade sub-package.

[0110] In some embodiments of the present invention, the target upgrade sub-package carries upgrade data content, the decryption result includes digest information, and the verification of the target upgrade sub-package further includes:

[0111] The upgrade data content carried by the target upgrade sub-package is processed, and the digest information obtained by processing the upgrade data content is verified using the digest information in the decryption result.

[0112] In some embodiments of the present invention, the digest information includes a hash digest.

[0113] In some embodiments of the present invention, the peer-to-peer network is a peer-to-peer virtual private network.

[0114] Some embodiments of the present invention also provide an electronic device that may include a processor, a memory, and a computer program stored in the memory and capable of running on the processor, wherein the computer program, when executed by the processor, implements the above-described method for vehicle software upgrade.

[0115] Some embodiments of the present invention also provide a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the above-described method for vehicle software upgrade.

[0116] As the device embodiment is basically similar to the method embodiment, the description is relatively simple, and relevant parts can be found in the description of the method embodiment.

[0117] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of the relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation portals are provided for users to choose to authorize or refuse.

[0118] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other.

[0119] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, apparatus, or computer program products. Therefore, embodiments of the present invention can take the form of entirely hardware embodiments, entirely software embodiments, or embodiments combining software and hardware aspects. Furthermore, embodiments of the present invention can take the form of computer program products implemented on one or more computer-usable storage media (including, but not limited to, disk storage, compact optical disc read-only storage, optical storage, etc.) containing computer-usable program code.

[0120] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing terminal device to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing terminal device, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0121] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing terminal device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0122] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal equipment, causing a series of operational steps to be performed on the computer or other programmable terminal equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable terminal equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0123] Although preferred embodiments of the present invention have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of the embodiments of the present invention.

[0124] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or terminal device that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or terminal device. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or terminal device that includes said element.

[0125] The above provides a detailed description of the vehicle software upgrade method, vehicle, electronic equipment, and medium. Specific examples have been used to illustrate the principles and implementation methods of the present invention. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of the present invention. At the same time, those skilled in the art will recognize that, based on the ideas of the present invention, there will be changes in the specific implementation methods and application scope. Therefore, the content of this specification should not be construed as a limitation of the present invention.

Claims

1. A method for upgrading vehicle software, characterized in that, Applied to a first vehicle, wherein the first vehicle and multiple second vehicles are nodes in a peer-to-peer network, the method includes: From the multiple second vehicles in the peer-to-peer network, determine the target second vehicle; From the target second vehicle, obtain the target upgrade sub-package, and after successfully obtaining all upgrade sub-packages, use the upgrade package composed of all upgrade sub-packages to perform a software upgrade on the first vehicle.

2. The method according to claim 1, characterized in that, The step of determining the target second vehicle from among multiple second vehicles in the peer-to-peer network includes: Send a request for obtaining the target upgrade sub-packet to multiple second vehicles in the peer-to-peer network, and receive a confirmation message returned by the second vehicle that stores the target upgrade sub-packet; The target second vehicle is determined from the second vehicles that store the target upgrade subpackage.

3. The method according to claim 2, characterized in that, The step of determining the target second vehicle from the second vehicles storing the target upgrade subpackage includes: The delay is determined based on the acquisition request and the confirmation message; Based on the aforementioned delay, the target second vehicle is determined from the second vehicles that store the target upgrade sub-package.

4. The method according to any one of claims 1 to 3, characterized in that, After obtaining the target upgrade sub-package from the target second vehicle, the method further includes: Verify the target upgrade subpackage; If the verification is successful, the target upgrade sub-package is determined to have been successfully acquired. If the verification fails, the target second vehicle is re-determined, and the target upgrade sub-package is acquired from the re-determined target second vehicle.

5. The method according to claim 1, characterized in that, The target upgrade sub-package carries identification information, and the verification of the target upgrade sub-package includes: The identification information carried by the target upgrade sub-package is verified.

6. The method according to claim 5, characterized in that, The target upgrade sub-package also carries signature information and certificate information. Verification of the target upgrade sub-package further includes: Obtain the public key from the certificate information carried in the target upgrade sub-package, and use the public key to decrypt the signature information to obtain the decryption result; wherein, the decryption result includes identification information; The identification information in the decryption result is used to verify the identification information carried by the target upgrade sub-packet.

7. The method according to claim 6, characterized in that, The identification information includes the version number and the sub-package number.

8. The method according to claim 6, characterized in that, Before obtaining the public key from the certificate information carried in the target upgrade sub-package, the method further includes: The certificate information carried by the target upgrade sub-package is verified using a pre-set root certificate. If the verification is successful, the public key is obtained from the certificate information carried by the target upgrade sub-package.

9. The method according to claim 6, characterized in that, The target upgrade sub-package carries upgrade data content, the decryption result includes digest information, and the verification of the target upgrade sub-package further includes: The upgrade data content carried by the target upgrade sub-package is processed, and the digest information obtained by processing the upgrade data content is verified using the digest information in the decryption result.

10. The method according to claim 9, characterized in that, The digest information includes a hash digest.

11. The method according to claim 1, characterized in that, The peer-to-peer network is a point-to-point virtual private network.

12. A vehicle, characterized in that, The system includes a processor, a memory, and a computer program stored in the memory and capable of running on the processor, wherein the computer program, when executed by the processor, implements the method for vehicle software upgrade as described in any one of claims 1 to 11.

13. An electronic device, characterized in that, The system includes a processor, a memory, and a computer program stored in the memory and capable of running on the processor, wherein the computer program, when executed by the processor, implements the method for vehicle software upgrade as described in any one of claims 1 to 11.

14. A computer-readable storage medium, characterized in that, A computer program is stored on the computer-readable storage medium, which, when executed by a processor, implements the method for vehicle software upgrade as described in any one of claims 1 to 11.