CN113434181A - Software upgrading method and device, electronic equipment and storage medium - Google Patents

Software upgrading method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN113434181A
CN113434181A CN202110984890.4A CN202110984890A CN113434181A CN 113434181 A CN113434181 A CN 113434181A CN 202110984890 A CN202110984890 A CN 202110984890A CN 113434181 A CN113434181 A CN 113434181A
Authority
CN
China
Prior art keywords
controller
vehicle
upgraded
upgrading
upgrade package
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110984890.4A
Other languages
Chinese (zh)
Other versions
CN113434181B (en
Inventor
杨高雷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Neolithic Unmanned Vehicle Songyang Co ltd
Original Assignee
Neolix Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Neolix Technologies Co Ltd filed Critical Neolix Technologies Co Ltd
Priority to CN202110984890.4A priority Critical patent/CN113434181B/en
Publication of CN113434181A publication Critical patent/CN113434181A/en
Application granted granted Critical
Publication of CN113434181B publication Critical patent/CN113434181B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The disclosure relates to the technical field of controller software upgrading, and provides a software upgrading method and device, electronic equipment and a storage medium. The method is applied to an unmanned vehicle, i.e. an unmanned or autonomous device, comprising: the method comprises the steps of obtaining version information of each controller in a plurality of controllers at a set moment, sending vehicle identification and all version information of a vehicle to a cloud server, receiving an encrypted upgrade package and a decryption key sent by the cloud server, wherein the encrypted upgrade package is obtained by combining at least one upgrade package corresponding to at least one controller to be upgraded in the plurality of controllers by the cloud server based on the version information and a transmission protocol and by using a preset encryption algorithm and then encrypting, decrypting the encrypted upgrade package by using the decryption key to obtain at least one upgrade package, and upgrading software of the at least one controller to be upgraded based on the transmission protocol and the at least one upgrade package. The present disclosure reduces server stress.

Description

Software upgrading method and device, electronic equipment and storage medium
Technical Field
The present disclosure relates to the field of controller software upgrading technologies, and in particular, to a software upgrading method and apparatus, an electronic device, and a computer-readable storage medium.
Background
With the gradual intellectualization of automobiles, the controllers of the automobiles are more and more, from the original several to the present dozens or even hundreds, so that the controllers have the requirement of software upgrading. Currently, software upgrade is performed on controllers by most intelligent automobiles through Over-the-Air Technology (OTA), however, when software upgrade is performed, multiple controllers need to interact with a server for multiple times to download required upgrade packages, which results in increased pressure on the server, waste of resources on the server, and low software security.
Disclosure of Invention
In view of this, embodiments of the present disclosure provide a software upgrading method and apparatus, an electronic device, and a computer-readable storage medium, so as to solve the problems in the prior art that when software upgrading is performed, multiple controllers need to interact with a server multiple times to download a required upgrade package, which increases the pressure of the server, wastes resources of the server, and reduces software security.
In a first aspect of the embodiments of the present disclosure, a software upgrading method is provided, including: the method comprises the steps of obtaining version information of each controller in a plurality of controllers at a set moment, sending a vehicle identification and all version information of a vehicle to a cloud server, wherein the set moment comprises vehicle awakening, vehicle power-on or vehicle power-off, receiving an encrypted upgrade package and a decryption key sent by the cloud server, the encrypted upgrade package is an upgrade package set obtained by combining at least one upgrade package corresponding to at least one controller to be upgraded in the plurality of controllers by the cloud server based on the version information and a transmission protocol and using a preset encryption algorithm and then encrypting, the encrypted upgrade package is decrypted by using the decryption key to obtain at least one upgrade package, and software upgrading is carried out on the at least one controller to be upgraded based on the transmission protocol and the at least one upgrade package.
In a second aspect of the embodiments of the present disclosure, a software upgrading apparatus is provided, including: a transmission module configured to acquire version information of each of the plurality of controllers at a set timing and transmit a vehicle identification of the vehicle and all the version information to the cloud server, wherein the set time comprises vehicle awakening, vehicle power-on or vehicle power-off, the receiving module is configured to receive the encrypted upgrade package and the decryption key sent by the cloud server, wherein the encrypted upgrade package is an upgrade package set obtained by merging and encrypting at least one upgrade package corresponding to at least one controller to be upgraded in the plurality of controllers by using a preset encryption algorithm based on version information and a transmission protocol through the cloud server, the upgrade module is configured to decrypt the encrypted upgrade package by using a decryption key to obtain at least one upgrade package, and performing software upgrade on at least one controller to be upgraded based on the transmission protocol and the at least one upgrade package.
In a third aspect of the embodiments of the present disclosure, an electronic device is provided, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements the steps of the above method when executing the computer program.
In a fourth aspect of the embodiments of the present disclosure, a computer-readable storage medium is provided, which stores a computer program, which when executed by a processor, implements the steps of the above-mentioned method.
Compared with the prior art, the embodiment of the disclosure has the following beneficial effects: the method comprises the steps of obtaining version information of each controller in a plurality of controllers at a set moment, sending a vehicle identifier and all the version information of a vehicle to a cloud server, wherein the set moment comprises vehicle awakening, vehicle power-on or vehicle power-off, receiving an encrypted upgrade package and a decryption key sent by the cloud server, the encrypted upgrade package is an upgrade package set obtained by combining and encrypting at least one upgrade package corresponding to at least one controller to be upgraded in the plurality of controllers by the cloud server based on version information and a transmission protocol and by using a preset encryption algorithm, decrypting the encrypted upgrade package by using the decryption key to obtain at least one upgrade package, upgrading software of the at least one controller to be upgraded based on the transmission protocol and the at least one upgrade package, and upgrading the software of the plurality of controllers under the condition of only one-time interaction with the server, therefore, the pressure of the server is reduced, the resources of the server are saved, and the safety of software is improved.
Drawings
To more clearly illustrate the technical solutions in the embodiments of the present disclosure, the drawings needed for the embodiments or the prior art descriptions will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present disclosure, and other drawings can be obtained by those skilled in the art without inventive efforts.
FIG. 1 is a scenario diagram of an application scenario of an embodiment of the present disclosure;
FIG. 2 is a flowchart of a software upgrading method provided by an embodiment of the present disclosure;
FIG. 3 is a flow chart of another software upgrading method provided by the disclosed embodiment;
FIG. 4 is a block diagram of a software upgrading device provided by an embodiment of the present disclosure;
fig. 5 is a schematic diagram of an electronic device provided in an embodiment of the present disclosure.
Detailed Description
In the following description, for purposes of explanation and not limitation, specific details are set forth, such as particular system structures, techniques, etc. in order to provide a thorough understanding of the disclosed embodiments. However, it will be apparent to one skilled in the art that the present disclosure may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known systems, devices, circuits, and methods are omitted so as not to obscure the description of the present disclosure with unnecessary detail.
A software upgrading method and apparatus according to an embodiment of the present disclosure will be described in detail below with reference to the accompanying drawings.
Fig. 1 is a scene schematic diagram of an application scenario of an embodiment of the present disclosure. The application scenario may include an unmanned vehicle 1, a server 2, and a network 3.
The unmanned vehicle 1 may be a vehicle that supports any one of unmanned driving, automatic driving, manual driving, and remote driving. Here, the vehicle may be an existing vehicle or a vehicle applied to a different field. For example, the unmanned vehicle 1 may be an unmanned retail vehicle that can be automatically driven by an automatic driving program, or may be connected to the server 2 via the network 3 to realize remote control by the server 2, which is not limited by the embodiment of the present disclosure.
The server 2 may be a server providing various services, for example, a backend server receiving a request sent by a terminal device establishing a communication connection with the server, and the backend server may receive and analyze the request sent by the terminal device and generate a processing result. The server 2 may be one server, may also be a server cluster composed of a plurality of servers, or may also be a cloud computing service center, which is not limited in this disclosure.
The server 2 may be hardware or software. When the server 2 is hardware, it may be various electronic devices that provide various services to the unmanned vehicle 1. When the server 2 is software, it may be implemented as a plurality of software or software modules for providing various services to the unmanned vehicle 1, or may be implemented as a single software or software module for providing various services to the unmanned vehicle 1, which is not limited in the embodiment of the present disclosure.
The network 3 may be a wired network connected by a coaxial cable, a twisted pair and an optical fiber, or may be a wireless network that can interconnect various Communication devices without wiring, for example, Bluetooth (Bluetooth), Near Field Communication (NFC), Infrared (Infrared), and the like, which is not limited in the embodiment of the present disclosure.
The unmanned vehicle 1 can establish a communication connection with the server 2 via the network 3 to receive or transmit information or the like. Specifically, after the unmanned vehicle 1 sends the acquired version information and vehicle identifiers of all controllers to the server 2, the server 2 determines at least one controller to be upgraded according to the vehicle identifiers and the version information of all controllers, and generates at least one upgrade package corresponding to the at least one controller to be upgraded based on a transmission protocol; further, the server 2 merges at least one upgrade package into one upgrade package, encrypts the merged upgrade package by using a preset encryption algorithm to obtain an encrypted upgrade package, and sends the encrypted upgrade package and the decryption key to the unmanned vehicle 1; the unmanned vehicle 1 receives the encrypted upgrade package and the decryption key sent by the server 2, decrypts the encrypted upgrade package by using the decryption key to obtain at least one upgrade package, and then performs software upgrade on at least one controller to be upgraded based on the encryption protocol and the at least one upgrade package.
It should be noted that the specific types, numbers and combinations of the unmanned vehicles 1, the servers 2 and the network 3 may be adjusted according to the actual requirements of the application scenario, and the embodiment of the present disclosure does not limit this.
Fig. 2 is a flowchart of a software upgrading method provided in an embodiment of the present disclosure. The software upgrade method of fig. 2 may be performed by the unmanned vehicle 1 of fig. 1. As shown in fig. 2, the software upgrading method includes:
s201, acquiring version information of each controller in a plurality of controllers at a set moment, and sending a vehicle identifier and all the version information of a vehicle to a cloud server, wherein the set moment comprises vehicle awakening, vehicle power-on or vehicle power-off;
s202, receiving an encrypted upgrade package and a decryption key sent by a cloud server, wherein the encrypted upgrade package is an upgrade package set obtained by merging and encrypting at least one upgrade package corresponding to at least one controller to be upgraded in a plurality of controllers by the cloud server based on version information and a transmission protocol and by using a preset encryption algorithm;
s203, the encrypted upgrade package is decrypted by using the decryption key to obtain at least one upgrade package, and software upgrade is performed on at least one controller to be upgraded based on the transmission protocol and the at least one upgrade package.
Specifically, the unmanned vehicle acquires version information of each controller in the plurality of controllers at a set moment, and sends a vehicle identifier of the vehicle and all the version information to the cloud server, wherein the set moment comprises vehicle awakening, vehicle powering on or vehicle powering off, the cloud server extracts at least one upgrade package according to the vehicle identifier and all the version information, encrypts the at least one upgrade package by using a preset encryption algorithm based on a transmission protocol to obtain an encrypted upgrade package, sends the encrypted upgrade package and a decryption key to the unmanned vehicle, the unmanned vehicle receives the encrypted upgrade package and the decryption key sent by the cloud server, decrypts the encrypted upgrade package by using the decryption key to obtain at least one upgrade package, and performs software upgrade on at least one controller to be upgraded based on the transmission protocol and the at least one upgrade package.
Here, the vehicle may be various devices capable of unmanned driving, for example, an unmanned retail vehicle or an unmanned vending vehicle, an automatic distribution device, a robot, or the like; but may also be a Vehicle with an automatic cruise control function, such as a car, a caravan, a truck, an off-road Vehicle, a Sport Utility Vehicle (SUV), an electric Vehicle, a bicycle, etc., which is not limited by the disclosed embodiments. Preferably, in the disclosed embodiment, the vehicle may be an unmanned vehicle 1 shown in fig. 1.
The Controller (Controller) is a master device for controlling the starting, speed regulation, braking and reverse of the motor by changing the wiring of a master circuit or a control circuit and changing the resistance value in the circuit according to a preset sequence. The system consists of a program counter, an instruction register, an instruction decoder, a time sequence generator and an operation controller, and is a decision mechanism for issuing commands, namely, the system completes coordination and commands the operation of the whole computer system. The electric vehicle controller is a core control device for controlling the starting, running, advancing and retreating, speed and stopping of a motor of the electric vehicle and other electronic devices of the electric vehicle, and is an important part on the electric vehicle. In the disclosed embodiment, the vehicle may include a plurality of controllers, for example, Controller Area Network (CAN) bus type controllers, Ethernet (ETH) bus type controllers, and other bus type controllers. Here, the controller domain bus type controller may include, but is not limited to, a Vehicle Control Unit (VCU), a Battery Control Unit (BCU), an electric Park Brake system (EPB), and an Electro Hydraulic Brake system (EHB); the ethernet bus-like controller may include, but is not limited to, a laser radar, a computing unit, etc.; other types of bus controllers may include, but are not limited to, ultrasonic radar, RS485 window controllers, seat controllers, and the like.
The plurality of controllers are not limited to the above-described controllers, and may include, for example, a Hybrid Controller (HCU), an automatic Transmission Controller (TCU), a Body Controller (BCM), an Electronic Power Steering (EPS), a Steering wheel angle sensor (SAS), an Electronic Stability Program (ESP), and the like. The vehicle is internally provided with a wireless communication module to send information requesting for upgrading to a cloud server via a network. Here, the network may be a wired network connected by a coaxial cable, a twisted pair cable, and an optical fiber, or may be a wireless network that can interconnect various Communication devices without wiring, for example, Bluetooth (Bluetooth), Near Field Communication (NFC), Infrared (Infrared), and the like, which is not limited in the embodiment of the present disclosure. The cloud server may be one server, a server cluster composed of a plurality of servers, or a cloud computing service center, which is not limited in the embodiments of the present disclosure.
The set time may be an empirically set time, such as vehicle wake-up, vehicle power-up or vehicle power-down, etc. Taking the vehicle wake-up as an example, when the vehicle is woken up, the central controller of the vehicle may acquire version information of each of the plurality of controllers, and send the vehicle identifier and all the version information of the vehicle to the cloud server, thereby ensuring that the vehicle is based on the latest software program every time the vehicle travels.
The central controller is an upgrading management controller of the vehicle and is used for sending vehicle identification and all version information of the vehicle to the cloud server, downloading and splitting an upgrading packet generated by the cloud server, sending the split upgrading packet to each controller to be upgraded and controlling the upgrading process of each controller to be upgraded. The version information is information of the software version running in the controller and may include, but is not limited to, a version number, a version date, and the like. The vehicle identification may include, but is not limited to, a brand or logo of the vehicle, a product brand, an engine model, a manufacturer, a vehicle type, a factory number, a vehicle identification code, and the like.
The cloud Server, also called as a cloud computing Server or a cloud host, is a host product in a cloud computing service system, and effectively solves the defects of high management difficulty and weak service expansibility in the conventional physical host and Virtual Private Server (VPS) service. Further, the cloud server can be one or more.
The encrypted upgrade package may be an encrypted compressed file. For example, all upgrade packages are compressed into a complete compression package by a compression algorithm, where the compression method may include, but is not limited to, a PCX run-length compression method, huffman coding compression, LZW compression method, DEFLATE, and arithmetic compression method. In the OTA upgrading process, in order to protect the product from external malicious attacks, stolen data, or implanted malicious codes, operations of encryption before local uploading of the upgrade package and downloading and decrypting of the upgrade package by the client are indispensable. The compressed packet may be encrypted by a preset encryption algorithm, where the preset encryption algorithm may include any one of a symmetric encryption algorithm, an asymmetric encryption algorithm, and a hash algorithm, and the symmetric encryption algorithm may include, but is not limited to, DES, 3DES, Blowfish, IDEA, RC4, RC5, RC6, AES, and the like; asymmetric cryptographic algorithms may include, but are not limited to, RSA, ECC (for mobile devices), Diffie-Hellman, El Gamal, DSA (for digital signatures), and the like; HASH algorithms may include, but are not limited to, MD2, MD4, MD5, HAVAL, SHA, and the like.
A key is a secret information used to perform cryptographic applications such as encryption, decryption, integrity verification, etc. In symmetric cryptography, the same key is used for encryption and decryption, and therefore, the key needs to be kept secret; in asymmetric cryptography, encryption and decryption use different keys, namely a public key (also called public key) and a non-public key (also called private key). The decryption key is also derived from a different encryption algorithm.
The transmission protocol refers to a communication transmission protocol used when the upgrade management controller sends the upgrade packet to the controller to be upgraded, and the transmission protocol may include, but is not limited to, a CAN protocol (controller area network bus), a LIN bus (local area interconnect network), a Modbus communication protocol, a PROFIBUS (process field bus), an ethernet, and the like.
According to the technical scheme provided by the embodiment of the disclosure, version information of each controller in a plurality of controllers is obtained at a set moment, and a vehicle identifier and all version information of a vehicle are sent to a cloud server, wherein the set moment comprises vehicle awakening, vehicle power-on or vehicle power-off, an encrypted upgrade package and a decryption key sent by the cloud server are received, the encrypted upgrade package is an upgrade package set obtained by combining at least one upgrade package corresponding to at least one controller to be upgraded in the plurality of controllers by using a preset encryption algorithm based on version information and a transmission protocol and by using the cloud server, the encrypted upgrade package is decrypted by using the decryption key to obtain at least one upgrade package, software upgrade is performed on the at least one controller to be upgraded based on the transmission protocol and the at least one upgrade package, and software upgrade of the plurality of controllers can be realized under the condition of only once interaction with the server, therefore, the pressure of the server is reduced, the resources of the server are saved, and the safety of software is improved.
In some embodiments, the software upgrade method further comprises: acquiring running data of the vehicle, and determining whether the vehicle is in a running state based on the running data; the software upgrading of at least one controller to be upgraded is carried out based on the transmission protocol and at least one upgrading packet, and the software upgrading method comprises the following steps: under the condition that the vehicle is in a parking state, simultaneously carrying out software upgrading on at least one controller to be upgraded based on the transmission protocol and at least one upgrading packet; or under the condition that the vehicle is in a parking state, software upgrading is carried out on at least one controller to be upgraded according to the sequence of the priority of at least one controller to be upgraded from high to low and based on a transmission protocol and at least one upgrading packet; or under the condition that the vehicle is in a parking state, software upgrading is carried out on at least one controller to be upgraded based on the transmission protocol and the size of at least one upgrading packet.
Specifically, the travel data may be a travel speed of the unmanned vehicle, and the travel speed of the unmanned vehicle may be collected by a speed sensor mounted on the unmanned vehicle to determine whether the unmanned vehicle is in a travel state. In the case of a parked vehicle, software upgrades can be performed simultaneously since there is no logical link between the controllers. For example, assuming that the first controller needs to operate depending on the second controller, the encrypted upgrade package returned by the cloud server simultaneously includes upgrade packages corresponding to the first controller and the second controller, that is, both the first controller and the second controller need to be upgraded; further, in the case that the vehicle is in the parking state, since both the first controller and the second controller are in the non-operating state, software upgrading can be simultaneously performed on the first controller and the second controller.
In some embodiments, the software upgrade method further comprises: under the condition that the vehicle is in a running state, when at least one controller to be upgraded is a controller to be upgraded, determining whether the controller to be upgraded is a main controller; under the condition that the controller to be upgraded is determined to be the main controller, controlling the vehicle to decelerate until the running speed of the vehicle is zero, and upgrading software of the main controller based on an upgrade packet and a transmission protocol corresponding to the main controller; and under the condition that the controller to be upgraded is determined to be the auxiliary controller, controlling the vehicle to keep a running state, and upgrading the software of the auxiliary controller based on an upgrade packet and a transmission protocol corresponding to the auxiliary controller.
Specifically, under the condition that the vehicle is in a running state, when the encrypted upgrade package returned by the cloud server includes the upgrade package corresponding to the main controller, and when it is determined that the main controller needs to be upgraded, the vehicle can be controlled to decelerate until the running speed of the vehicle is zero, that is, the vehicle is controlled to stop at a safe position, and software upgrade is performed on the main controller. Optionally, when the encrypted upgrade package returned by the cloud server includes the upgrade package corresponding to the auxiliary controller and it is determined that the auxiliary controller needs to be upgraded, the auxiliary controller does not affect the driving of the vehicle, so that the vehicle can be controlled to continue to maintain the driving state, and the software of the auxiliary controller is upgraded.
In some embodiments, the software upgrade method further comprises: under the condition that the vehicle is in a running state, when at least one controller to be upgraded comprises a plurality of controllers to be upgraded, software upgrading is carried out on the plurality of controllers to be upgraded on the basis of a transmission protocol and a plurality of upgrading packets corresponding to the plurality of controllers to be upgraded according to the sequence of the priority levels of the plurality of controllers to be upgraded from low to high.
Specifically, when it is determined that a plurality of controllers need to be upgraded while the vehicle is in a driving state, the plurality of controllers to be upgraded may be upgraded in software in order of low priority to high priority, taking into account the coupling between some of the controllers. For example, when the encrypted upgrade package returned by the cloud server includes the upgrade packages corresponding to the main controller and the auxiliary controller, and it is determined that both the main controller and the auxiliary controller need to be upgraded, the vehicle can be controlled to decelerate until the driving speed of the vehicle is zero, that is, the vehicle is controlled to stop at a safe position, and the main controller is firstly subjected to software upgrade; after the main controller is upgraded, the vehicle can run at a set speed and continue to perform software upgrading on the auxiliary controller, so that the stability of the vehicle is ensured.
In some embodiments, the software upgrade method further comprises: when it is determined that at least one main controller in the plurality of controllers to be upgraded needs to be subjected to software upgrading, controlling the vehicle to decelerate until the running speed of the vehicle is zero; and performing software upgrading on the at least one main controller according to the sequence from high priority to low priority of the at least one main controller and based on at least one upgrading packet and a transmission protocol corresponding to the at least one main controller.
Specifically, when software upgrading is needed to be performed on a plurality of main controllers, the software upgrading can be performed on the plurality of main controllers respectively according to set priorities, where the priorities can be set according to logical relationships among the plurality of main controllers, for example, if a first main controller includes a new adding method and a second main controller refers to the new adding method in the first controller, software upgrading needs to be performed on the first controller first and then on the second controller, and therefore errors caused by the fact that the second controller cannot find the method are avoided.
In some embodiments, the software upgrade method further comprises: when determining that at least one auxiliary controller in the plurality of controllers to be upgraded needs software upgrading, controlling the vehicle to keep a running state; simultaneously carrying out software upgrading on at least one auxiliary controller based on at least one upgrading packet corresponding to the at least one auxiliary controller and a transmission protocol; or carrying out software upgrading on at least one auxiliary controller according to the sequence of the priority of at least one auxiliary controller from high to low and based on at least one upgrading packet and a transmission protocol corresponding to at least one auxiliary controller; or performing software upgrading on the at least one auxiliary controller based on the size and the transmission protocol of the at least one upgrading packet corresponding to the at least one auxiliary controller.
Specifically, when software upgrading is required to be performed on a plurality of secondary controllers, the software upgrading may be performed on the plurality of secondary controllers respectively based on sizes of a plurality of upgrade packages corresponding to the plurality of secondary controllers. For example, in the case that both the first auxiliary controller and the second auxiliary controller need to perform software upgrade, if the size of the upgrade package of the first auxiliary controller is 1 megabyte and the size of the upgrade package of the second auxiliary controller is 813 kilobytes, the software upgrade is preferentially performed on the second auxiliary controller, and then the software upgrade is performed on the first auxiliary controller.
All the above optional technical solutions may be combined arbitrarily to form optional embodiments of the present application, and are not described herein again.
Fig. 3 is a flowchart of another software upgrading method provided by the embodiment of the present disclosure. As shown in fig. 3, the software upgrading method includes:
s301, acquiring version information of each controller in a plurality of controllers at a set moment, and sending a vehicle identifier and all the version information of a vehicle to a cloud server;
s302, receiving an encrypted upgrade package and a decryption key sent by a cloud server;
s303, decrypting the encrypted upgrade package by using the decryption key to obtain at least one upgrade package;
s304, acquiring the driving data of the vehicle;
s305, determining whether the vehicle is in a running state based on the running data, and if so, executing S306; otherwise, go to S315;
s306, determining whether at least one controller to be upgraded is a plurality of controllers to be upgraded, and if so, executing S307; otherwise, go to S312;
s307, determining whether at least one main controller in the plurality of controllers to be upgraded needs to be subjected to software upgrading, and if so, executing S308; otherwise, executing S310;
s308, controlling the vehicle to decelerate until the running speed of the vehicle is zero;
s309, upgrading software of the main controller according to the sequence of the priority of the main controller from high to low and based on an upgrade package and a transmission protocol corresponding to the main controller;
s310, controlling the vehicle to keep a running state;
s311, simultaneously carrying out software upgrading on at least one auxiliary controller based on at least one upgrading packet and a transmission protocol corresponding to the at least one auxiliary controller; or carrying out software upgrading on at least one auxiliary controller according to the sequence of the priority of at least one auxiliary controller from high to low and based on at least one upgrading packet and a transmission protocol corresponding to at least one auxiliary controller; or performing software upgrading on at least one auxiliary controller based on the size and the transmission protocol of at least one upgrading packet corresponding to the at least one auxiliary controller;
s312, determining whether the controller to be upgraded is the main controller, and if so, executing S313; otherwise, go to S314;
s313, controlling the vehicle to decelerate until the running speed of the vehicle is zero, and upgrading software of the main controller based on an upgrade package and a transmission protocol corresponding to the main controller;
s314, controlling the vehicle to keep a running state, and upgrading software of the auxiliary controller based on an upgrade package and a transmission protocol corresponding to the auxiliary controller;
s315, software upgrading is carried out on at least one controller to be upgraded based on at least one upgrading packet and a transmission protocol at the same time; or according to the sequence from high priority to low priority of at least one controller to be upgraded, and performing software upgrade on at least one controller to be upgraded based on at least one upgrade packet and a transmission protocol; or carrying out software upgrading on at least one controller to be upgraded based on the size and the transmission protocol of at least one upgrading packet.
Specifically, version information of each controller in a plurality of controllers is acquired at a set moment, and a vehicle identifier and all the version information of a vehicle are sent to a cloud server; receiving an encrypted upgrade packet and a decryption key sent by a cloud server; decrypting the encrypted upgrade package by using the decryption key to obtain at least one upgrade package; acquiring running data of the vehicle, and determining whether the vehicle is in a running state based on the running data; under the condition that the vehicle is in a running state, determining whether at least one controller to be upgraded is a plurality of controllers to be upgraded; under the condition that at least one controller to be upgraded is determined to be a plurality of controllers to be upgraded, determining whether at least one main controller in the plurality of controllers to be upgraded needs to be upgraded; under the condition that at least one main controller in a plurality of controllers to be upgraded needs to be upgraded, controlling the vehicle to decelerate until the running speed of the vehicle is zero, and upgrading the software of at least one main controller according to the sequence from high to low of the priority of the main controller and based on at least one upgrading packet corresponding to the at least one main controller; under the condition that at least one main controller in a plurality of controllers to be upgraded does not need to be subjected to software upgrading, controlling the vehicle to keep a running state, and simultaneously carrying out software upgrading on at least one auxiliary controller based on at least one upgrading packet corresponding to at least one auxiliary controller; or performing software upgrading on at least one auxiliary controller according to the sequence of the priority of the at least one auxiliary controller from high to low and based on at least one upgrading packet corresponding to the at least one auxiliary controller; or performing software upgrading on at least one auxiliary controller based on the size of at least one upgrading packet corresponding to the at least one auxiliary controller; under the condition that at least one controller to be upgraded is determined to be one controller to be upgraded, determining whether the controller to be upgraded is a main controller; under the condition that the controller to be upgraded is determined to be the main controller, controlling the vehicle to decelerate until the running speed of the vehicle is zero, and upgrading software of the main controller based on an upgrade packet corresponding to the main controller; under the condition that the controller to be upgraded is determined not to be the main controller, controlling the vehicle to keep a running state, and upgrading software of the auxiliary controller based on an upgrade packet corresponding to the auxiliary controller; under the condition that the vehicle is in a parking state, simultaneously carrying out software upgrading on at least one controller to be upgraded based on at least one upgrading packet; or according to the sequence from high priority to low priority of at least one controller to be upgraded, and performing software upgrade on at least one controller to be upgraded based on at least one upgrade packet; or performing software upgrade on at least one controller to be upgraded based on the size of at least one upgrade package.
According to the technical scheme provided by the embodiment of the disclosure, the software of the controller can be upgraded only by once interaction between the vehicle and the cloud server, so that the pressure of the server is reduced, the resources of the server are saved, and the efficiency of software upgrading is further improved.
The following are embodiments of the disclosed apparatus that may be used to perform embodiments of the disclosed methods. For details not disclosed in the embodiments of the apparatus of the present disclosure, refer to the embodiments of the method of the present disclosure.
Fig. 4 is a schematic diagram of a software upgrading apparatus provided in an embodiment of the present disclosure. As shown in fig. 4, the software upgrading apparatus includes:
a sending module 401 configured to obtain version information of each controller of the plurality of controllers at a set time, and send a vehicle identifier and all version information of the vehicle to the cloud server, where the set time includes vehicle wake-up, vehicle power-on, or vehicle power-off;
the receiving module 402 is configured to receive an encrypted upgrade package and a decryption key sent by a cloud server, where the encrypted upgrade package is an upgrade package set obtained by merging and encrypting at least one upgrade package corresponding to at least one controller to be upgraded in a plurality of controllers by using a preset encryption algorithm based on version information and an encryption protocol by the cloud server;
and the upgrading module 403 is configured to decrypt the encrypted upgrade package by using the decryption key to obtain at least one upgrade package, and perform software upgrading on the at least one controller to be upgraded based on the encryption protocol and the at least one upgrade package.
According to the technical scheme provided by the embodiment of the disclosure, version information of each controller in a plurality of controllers is obtained at a set moment, and a vehicle identifier and all version information of a vehicle are sent to a cloud server, wherein the set moment comprises vehicle awakening, vehicle power-on or vehicle power-off, an encrypted upgrade package and a decryption key sent by the cloud server are received, the encrypted upgrade package is an upgrade package set obtained by combining at least one upgrade package corresponding to at least one controller to be upgraded in the plurality of controllers by using a preset encryption algorithm based on version information and an encryption protocol and then encrypting the upgrade package set, the encrypted upgrade package is decrypted by using the decryption key to obtain at least one upgrade package, the software upgrade is carried out on the at least one controller to be upgraded based on the encryption protocol and the at least one upgrade package, and the software upgrade of the plurality of controllers is realized under the condition of one-time interaction with the server, therefore, the pressure of the server is reduced, the resources of the server are saved, and the safety of software is improved.
In some embodiments, the software upgrading apparatus further comprises: a determination module 404 configured to acquire travel data of the vehicle and determine whether the vehicle is in a travel state based on the travel data; in the case that the vehicle is in the parking state, the upgrading module 403 of fig. 4 performs software upgrading on at least one controller to be upgraded simultaneously based on at least one upgrading packet; or in the case that the vehicle is in the parking state, the upgrading module 403 of fig. 4 upgrades the software of the at least one controller to be upgraded according to the order from high to low of the priority of the at least one controller to be upgraded, and based on the at least one upgrading packet; or in the case that the vehicle is in the parking state, the upgrade module 403 of fig. 4 performs software upgrade on at least one controller to be upgraded based on the size of at least one upgrade package.
In some embodiments, when at least one controller to be upgraded is one controller to be upgraded while the vehicle is in a driving state, the upgrade module 403 of fig. 4 determines whether the controller to be upgraded is a main controller; under the condition that the controller to be upgraded is determined to be the main controller, the upgrading module 403 in fig. 4 controls the vehicle to decelerate until the driving speed of the vehicle is zero, and performs software upgrading on the main controller based on an upgrading packet corresponding to the main controller; in the case where it is determined that the controller to be upgraded is the auxiliary controller, the upgrade module 403 of fig. 4 controls the vehicle to maintain the driving state, and performs software upgrade on the auxiliary controller based on the upgrade package corresponding to the auxiliary controller.
In some embodiments, when the at least one controller to be upgraded includes a plurality of controllers to be upgraded while the vehicle is in a driving state, the upgrading module 403 of fig. 4 performs software upgrading on the plurality of controllers to be upgraded based on a plurality of upgrading packages corresponding to the plurality of controllers to be upgraded in an order from a low priority to a high priority of the plurality of controllers to be upgraded.
In some embodiments, when it is determined that at least one main controller of the plurality of controllers to be upgraded needs to perform software upgrade, the upgrade module 403 of fig. 4 controls the vehicle to decelerate until the driving speed of the vehicle is zero, performs software upgrade on the at least one main controller in an order from high to low according to the priority of the at least one main controller, and based on at least one upgrade packet corresponding to the at least one main controller.
In some embodiments, when it is determined that at least one secondary controller of the plurality of controllers to be upgraded requires software upgrade, the upgrade module 403 of fig. 4 controls the vehicle to maintain the driving state, and simultaneously performs software upgrade on the at least one secondary controller based on at least one upgrade package corresponding to the at least one secondary controller; or performing software upgrading on at least one auxiliary controller according to the sequence of the priority of the at least one auxiliary controller from high to low and based on at least one upgrading packet corresponding to the at least one auxiliary controller; or performing software upgrade on at least one secondary controller based on the size of at least one upgrade package corresponding to the at least one secondary controller.
In some embodiments, the preset encryption algorithm includes any one of a symmetric encryption algorithm, an asymmetric encryption algorithm, and a hash algorithm.
It should be understood that, the sequence numbers of the steps in the foregoing embodiments do not imply an execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present disclosure.
Fig. 5 is a schematic diagram of an electronic device 5 provided in an embodiment of the present disclosure. As shown in fig. 5, the electronic apparatus 5 of this embodiment includes: a processor 501, a memory 502 and a computer program 503 stored in the memory 502 and operable on the processor 501. The steps in the various method embodiments described above are implemented when the processor 501 executes the computer program 503. Alternatively, the processor 501 implements the functions of the respective modules/units in the above-described respective apparatus embodiments when executing the computer program 503.
Illustratively, the computer program 503 may be partitioned into one or more modules/units, which are stored in the memory 502 and executed by the processor 501 to accomplish the present disclosure. One or more modules/units may be a series of computer program instruction segments capable of performing specific functions, which are used to describe the execution of the computer program 503 in the electronic device 5.
The electronic device 5 may be a desktop computer, a notebook, a palm computer, a cloud server, or other electronic devices. The electronic device 5 may include, but is not limited to, a processor 501 and a memory 502. Those skilled in the art will appreciate that fig. 5 is merely an example of the electronic device 5, and does not constitute a limitation of the electronic device 5, and may include more or less components than those shown, or combine certain components, or be different components, e.g., the electronic device may also include input-output devices, network access devices, buses, etc.
The Processor 501 may be a Central Processing Unit (CPU), other general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other Programmable logic device, discrete Gate or transistor logic device, discrete hardware component, or the like. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The storage 502 may be an internal storage unit of the electronic device 5, for example, a hard disk or a memory of the electronic device 5. The memory 502 may also be an external storage device of the electronic device 5, such as a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), and the like provided on the electronic device 5. Further, the memory 502 may also include both internal storage units and external storage devices of the electronic device 5. The memory 502 is used for storing computer programs and other programs and data required by the electronic device. The memory 502 may also be used to temporarily store data that has been output or is to be output.
It will be apparent to those skilled in the art that, for convenience and brevity of description, only the above-mentioned division of the functional units and modules is illustrated, and in practical applications, the above-mentioned function distribution may be performed by different functional units and modules according to needs, that is, the internal structure of the apparatus is divided into different functional units or modules, so as to perform all or part of the functions described above. Each functional unit and module in the embodiments may be integrated in one processing unit, or each unit may exist alone physically, or two or more units are integrated in one unit, and the integrated unit may be implemented in a form of hardware, or in a form of software functional unit. In addition, specific names of the functional units and modules are only for convenience of distinguishing from each other, and are not used for limiting the protection scope of the present application. The specific working processes of the units and modules in the system may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the above embodiments, the descriptions of the respective embodiments have respective emphasis, and reference may be made to the related descriptions of other embodiments for parts that are not described or illustrated in a certain embodiment.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.
In the embodiments provided in the present disclosure, it should be understood that the disclosed apparatus/electronic device and method may be implemented in other ways. For example, the above-described apparatus/electronic device embodiments are merely illustrative, and for example, a module or a unit may be divided into only one logical function, and may be implemented in other ways, and multiple units or components may be combined or integrated into another system, or some features may be omitted or not implemented. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
Units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present disclosure may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated modules/units, if implemented in the form of software functional units and sold or used as separate products, may be stored in a computer readable storage medium. Based on such understanding, the present disclosure may implement all or part of the flow of the method in the above embodiments, and may also be implemented by a computer program to instruct related hardware, where the computer program may be stored in a computer readable storage medium, and when the computer program is executed by a processor, the computer program may implement the steps of the above methods and embodiments. The computer program may comprise computer program code, which may be in the form of source code, object code, an executable file or some intermediate form, etc. The computer readable medium may include: any entity or device capable of carrying computer program code, recording medium, usb disk, removable hard disk, magnetic disk, optical disk, computer Memory, Read-Only Memory (ROM), Random Access Memory (RAM), electrical carrier wave signals, telecommunications signals, software distribution medium, and the like. It should be noted that the computer readable medium may contain suitable additions or additions that may be required in accordance with legislative and patent practices within the jurisdiction, for example, in some jurisdictions, computer readable media may not include electrical carrier signals or telecommunications signals in accordance with legislative and patent practices.
The above examples are only intended to illustrate the technical solutions of the present disclosure, not to limit them; although the present disclosure has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; such modifications and substitutions do not substantially depart from the spirit and scope of the embodiments of the present disclosure, and are intended to be included within the scope of the present disclosure.

Claims (10)

1. A software upgrading method applied to a vehicle including a plurality of controllers, comprising:
the method comprises the steps of obtaining version information of each controller in the plurality of controllers at a set moment, and sending a vehicle identifier and all the version information of the vehicle to a cloud server, wherein the set moment comprises vehicle awakening, vehicle power-on or vehicle power-off;
receiving an encrypted upgrade package and a decryption key sent by the cloud server, wherein the encrypted upgrade package is an upgrade package set obtained by merging and encrypting at least one upgrade package corresponding to at least one controller to be upgraded in the plurality of controllers by the cloud server based on the version information and the transmission protocol and by using a preset encryption algorithm;
and decrypting the encrypted upgrade package by using the decryption key to obtain the at least one upgrade package, and upgrading the software of the at least one controller to be upgraded on the basis of the transmission protocol and the at least one upgrade package.
2. The method of claim 1, further comprising:
acquiring running data of the vehicle, and determining whether the vehicle is in a running state based on the running data;
wherein the software upgrade of the at least one controller to be upgraded based on the transmission protocol and the at least one upgrade package includes:
under the condition that the vehicle is in a parking state, simultaneously carrying out software upgrading on the at least one controller to be upgraded based on the transmission protocol and the at least one upgrading packet; or
Under the condition that the vehicle is in a parking state, software upgrading is carried out on the at least one controller to be upgraded according to the sequence of the priority of the at least one controller to be upgraded from high to low and based on the transmission protocol and the at least one upgrading packet; or
And under the condition that the vehicle is in a parking state, performing software upgrading on the at least one controller to be upgraded based on the transmission protocol and the size of the at least one upgrading packet.
3. The method of claim 2, further comprising:
under the condition that the vehicle is in a running state, when the at least one controller to be upgraded is a controller to be upgraded, determining whether the controller to be upgraded is a main controller;
under the condition that the controller to be upgraded is determined to be the main controller, controlling the vehicle to decelerate until the running speed of the vehicle is zero, and upgrading software of the main controller based on an upgrade packet corresponding to the main controller and the transmission protocol;
and under the condition that the controller to be upgraded is determined to be an auxiliary controller, controlling the vehicle to keep the running state, and upgrading the software of the auxiliary controller based on an upgrade packet corresponding to the auxiliary controller and the transmission protocol.
4. The method of claim 2, further comprising:
and under the condition that the vehicle is in a running state, when the at least one controller to be upgraded comprises a plurality of controllers to be upgraded, carrying out software upgrading on the plurality of controllers to be upgraded based on the transmission protocol and a plurality of upgrading packets corresponding to the plurality of controllers to be upgraded according to the sequence of the priority levels of the plurality of controllers to be upgraded from low to high.
5. The method of claim 4, further comprising:
when it is determined that at least one main controller in the plurality of controllers to be upgraded needs to be subjected to software upgrading, controlling the vehicle to decelerate until the running speed of the vehicle is zero;
and performing software upgrading on the at least one main controller according to the sequence from high priority to low priority of the at least one main controller and based on at least one upgrading packet corresponding to the at least one main controller and the transmission protocol.
6. The method of claim 4, further comprising:
when determining that at least one auxiliary controller in the plurality of controllers to be upgraded needs software upgrading, controlling the vehicle to keep the running state;
simultaneously carrying out software upgrading on at least one auxiliary controller based on at least one upgrading packet corresponding to the at least one auxiliary controller and the transmission protocol; or
According to the sequence from high priority to low priority of the at least one auxiliary controller, and performing software upgrading on the at least one auxiliary controller based on at least one upgrading packet corresponding to the at least one auxiliary controller and the transmission protocol; or
And carrying out software upgrading on the at least one auxiliary controller based on the size of at least one upgrading packet corresponding to the at least one auxiliary controller and the transmission protocol.
7. The method according to any one of claims 1 to 6, wherein the preset encryption algorithm comprises any one of a symmetric encryption algorithm, an asymmetric encryption algorithm, and a hash algorithm.
8. A controller upgrading apparatus applied to a vehicle including a plurality of controllers, comprising:
the system comprises a sending module, a cloud server and a control module, wherein the sending module is configured to obtain version information of each controller in the plurality of controllers at a set moment, and send a vehicle identifier and all the version information of the vehicle to the cloud server, and the set moment comprises vehicle awakening, vehicle power-on or vehicle power-off;
the receiving module is configured to receive an encrypted upgrade package and a decryption key sent by the cloud server, wherein the encrypted upgrade package is an upgrade package set obtained by merging and encrypting at least one upgrade package corresponding to at least one controller to be upgraded in the plurality of controllers by using a preset encryption algorithm based on the version information and the transmission protocol;
and the upgrading module is configured to decrypt the encrypted upgrading packet by using the decryption key to obtain the at least one upgrading packet, and perform software upgrading on the at least one controller to be upgraded based on the transmission protocol and the at least one upgrading packet.
9. An electronic device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that the processor implements the steps of the method according to any of claims 1 to 7 when executing the computer program.
10. A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the steps of the method according to any one of claims 1 to 7.
CN202110984890.4A 2021-08-26 2021-08-26 Software upgrading method and device, electronic equipment and storage medium Active CN113434181B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110984890.4A CN113434181B (en) 2021-08-26 2021-08-26 Software upgrading method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110984890.4A CN113434181B (en) 2021-08-26 2021-08-26 Software upgrading method and device, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN113434181A true CN113434181A (en) 2021-09-24
CN113434181B CN113434181B (en) 2022-01-04

Family

ID=77797896

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110984890.4A Active CN113434181B (en) 2021-08-26 2021-08-26 Software upgrading method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN113434181B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114615204A (en) * 2022-02-17 2022-06-10 三一汽车起重机械有限公司 Over-the-air upgrading method and system and crane

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180032324A1 (en) * 2016-07-28 2018-02-01 GM Global Technology Operations LLC Remote vehicle update installation scheduling
CN108566381A (en) * 2018-03-19 2018-09-21 百度在线网络技术(北京)有限公司 A kind of security upgrading method, device, server, equipment and medium
CN110225063A (en) * 2019-07-02 2019-09-10 广州小鹏汽车科技有限公司 Upgrade method, upgrade-system, server and the car-mounted terminal of automobile mounted system
US20200012488A1 (en) * 2013-03-15 2020-01-09 Electro Industries/Gauge Tech Devices, systems and methods for tracking and upgrading firmware in intelligent electronic devices
CN110888662A (en) * 2019-08-09 2020-03-17 中国第一汽车股份有限公司 Vehicle remote silent upgrading method and device, vehicle and storage medium
CN110928561A (en) * 2019-08-09 2020-03-27 中国第一汽车股份有限公司 Vehicle controller software version management method and device, vehicle and storage medium
CN111510485A (en) * 2020-04-10 2020-08-07 东风小康汽车有限公司重庆分公司 OTA upgrade package downloading method, device, vehicle end and server
CN111930407A (en) * 2020-10-19 2020-11-13 广州汽车集团股份有限公司 Vehicle ECU software upgrading method and system, vehicle TBOX microcontroller and SOC terminal
CN112256299A (en) * 2020-10-16 2021-01-22 中国第一汽车股份有限公司 Upgrading method, device, equipment and storage medium
CN112506562A (en) * 2020-12-29 2021-03-16 一汽解放汽车有限公司 Vehicle software upgrading method and system, vehicle and storage medium
CN112585905A (en) * 2019-11-12 2021-03-30 华为技术有限公司 Equipment upgrading method and related equipment
CN112698854A (en) * 2020-12-29 2021-04-23 东风汽车集团有限公司 Vehicle multi-controller flashing device
CN113094072A (en) * 2021-04-25 2021-07-09 上海华东汽车信息技术有限公司 Vehicle upgrading method and device, electronic device and storage medium
CN113190250A (en) * 2021-04-30 2021-07-30 延锋汽车饰件系统有限公司 Cabin software upgrading method, electronic equipment and readable storage medium

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200012488A1 (en) * 2013-03-15 2020-01-09 Electro Industries/Gauge Tech Devices, systems and methods for tracking and upgrading firmware in intelligent electronic devices
US20180032324A1 (en) * 2016-07-28 2018-02-01 GM Global Technology Operations LLC Remote vehicle update installation scheduling
CN108566381A (en) * 2018-03-19 2018-09-21 百度在线网络技术(北京)有限公司 A kind of security upgrading method, device, server, equipment and medium
CN110225063A (en) * 2019-07-02 2019-09-10 广州小鹏汽车科技有限公司 Upgrade method, upgrade-system, server and the car-mounted terminal of automobile mounted system
CN110888662A (en) * 2019-08-09 2020-03-17 中国第一汽车股份有限公司 Vehicle remote silent upgrading method and device, vehicle and storage medium
CN110928561A (en) * 2019-08-09 2020-03-27 中国第一汽车股份有限公司 Vehicle controller software version management method and device, vehicle and storage medium
CN112585905A (en) * 2019-11-12 2021-03-30 华为技术有限公司 Equipment upgrading method and related equipment
CN111510485A (en) * 2020-04-10 2020-08-07 东风小康汽车有限公司重庆分公司 OTA upgrade package downloading method, device, vehicle end and server
CN112256299A (en) * 2020-10-16 2021-01-22 中国第一汽车股份有限公司 Upgrading method, device, equipment and storage medium
CN111930407A (en) * 2020-10-19 2020-11-13 广州汽车集团股份有限公司 Vehicle ECU software upgrading method and system, vehicle TBOX microcontroller and SOC terminal
CN112506562A (en) * 2020-12-29 2021-03-16 一汽解放汽车有限公司 Vehicle software upgrading method and system, vehicle and storage medium
CN112698854A (en) * 2020-12-29 2021-04-23 东风汽车集团有限公司 Vehicle multi-controller flashing device
CN113094072A (en) * 2021-04-25 2021-07-09 上海华东汽车信息技术有限公司 Vehicle upgrading method and device, electronic device and storage medium
CN113190250A (en) * 2021-04-30 2021-07-30 延锋汽车饰件系统有限公司 Cabin software upgrading method, electronic equipment and readable storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114615204A (en) * 2022-02-17 2022-06-10 三一汽车起重机械有限公司 Over-the-air upgrading method and system and crane

Also Published As

Publication number Publication date
CN113434181B (en) 2022-01-04

Similar Documents

Publication Publication Date Title
US20200250108A1 (en) Hardware security for an electronic control unit
EP3780481B1 (en) Method for upgrading vehicle-mounted device, and related device
CN108243259B (en) Method, device and system for transmitting Internet of vehicles data
CN111279310B (en) Vehicle-mounted equipment upgrading method and related equipment
CN112585905B (en) Equipment upgrading method and related equipment
CN111356114B (en) In-vehicle electronic control unit upgrading method, device, equipment and vehicle system
EP3926500B1 (en) Device upgrade method and related device
KR101527779B1 (en) In-vehicle apparatus for efficient reprogramming and method for controlling there of
US20170180330A1 (en) Method and electronic device for vehicle remote control and a non-transitory computer readable storage medium
CN108989024B (en) Method, device and equipment for controlling communication between ECUs and corresponding vehicle
CN108696476B (en) Security policy configurable automobile key system and implementation method thereof
CN112799706A (en) Vehicle upgrade package processing method and device
US20180212780A1 (en) Control interface for autonomous vehicle
US20200220724A1 (en) Key management device, and communication apparatus
US11882213B2 (en) Method for key generation upon request by a secure access device, using an electronic control unit of a vehicle
CN113434181B (en) Software upgrading method and device, electronic equipment and storage medium
CN112652091A (en) Vehicle unlocking method, vehicle machine and mobile terminal
CN113179258A (en) Vehicle-mounted data encryption method based on multiple encryption algorithms
CN110708311A (en) Download permission authorization method and device and server
CN114499958B (en) Control method and device, vehicle and storage medium
CN114785521B (en) Authentication method, authentication device, electronic equipment and storage medium
CN114039771B (en) Data processing method, device and system, electronic equipment and storage medium
CN103818342B (en) For the method and system of vehicle anti-theft matching operation purview certification
CN106878010A (en) Encryption and decryption method and device based on security chip key pair
US20230087521A1 (en) Computing device verification

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230824

Address after: Building 2, No. 209 Changxing Third Road, Xiping Street, Songyang County, Lishui City, Zhejiang Province, 323000

Patentee after: Neolithic Unmanned Vehicle (Songyang) Co.,Ltd.

Address before: 100176 room 613, 6 / F, area 2, building a, 12 Hongda North Road, Beijing Economic and Technological Development Zone, Daxing District, Beijing

Patentee before: NEOLIX TECHNOLOGIES Co.,Ltd.