CN113037850A - Application program upgrading method and device, electronic equipment and storage medium - Google Patents

Application program upgrading method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN113037850A
CN113037850A CN202110292432.4A CN202110292432A CN113037850A CN 113037850 A CN113037850 A CN 113037850A CN 202110292432 A CN202110292432 A CN 202110292432A CN 113037850 A CN113037850 A CN 113037850A
Authority
CN
China
Prior art keywords
application program
upgrade package
upgrading
hash value
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.)
Pending
Application number
CN202110292432.4A
Other languages
Chinese (zh)
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.)
FAW Group Corp
Original Assignee
FAW Group Corp
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 FAW Group Corp filed Critical FAW Group Corp
Priority to CN202110292432.4A priority Critical patent/CN113037850A/en
Publication of CN113037850A publication Critical patent/CN113037850A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Abstract

The embodiment of the invention discloses an application program upgrading method and device, electronic equipment and a storage medium. The method comprises the following steps: receiving the release information of the upgrade package of the application program pushed by the cloud equipment through the master control controller; the release information at least comprises the name and the version of an upgrade package of the application program; downloading an upgrading package of the application program from the cloud equipment through the master controller according to the release information of the application program; verifying an upgrade package of the application program based on a pre-established block chain; and if the verification is passed, upgrading the application program by using the upgrading package of the application program. The embodiment of the invention realizes the verification of the upgrading of the application program based on the block chain, verifies the correctness and the integrity of the upgrading package of the application program and improves the safety and the efficiency of the upgrading of the application program.

Description

Application program upgrading method and device, electronic equipment and storage medium
Technical Field
The embodiment of the invention relates to the technology of Internet of vehicles, in particular to an application program upgrading method and device, electronic equipment and a storage medium.
Background
Today, with the development of automobile intellectualization and networking, people have increasingly growing demands for automobile electronic and electric functions, so that the proportion of software in the design, manufacture and use processes of automobiles is gradually increased.
In order to continuously optimize the user experience, the car networking service needs to perform software upgrade periodically. The use of Over-the-Air Technology (OTA) Technology enables automobiles to continue to repair vehicle defects, improve functionality and performance of upgraded vehicles, and provide users driving and riding in vehicles with a continuing improvement in driving experience by way of firmware and software upgrades even after the automobiles are shipped or even sold. However, the upgrade package is easily damaged or tampered in the downloading, transmitting and sharing processes, so that upgrade failure and hacker invasion are caused, normal use of vehicle functions is further influenced, and even driving safety of the automobile is influenced. Therefore, the verification of the correctness and the integrity of the upgrade package becomes an important link in the OTA upgrade technology.
In the prior art, although file damage can be well checked through a digital signature technology, the defense capability against malicious tampering is still limited. Therefore, how to effectively verify the correctness and integrity of the upgrade package becomes a technical problem to be solved urgently.
Disclosure of Invention
The invention provides an application program upgrading method and device, electronic equipment and a storage medium, which are used for improving the safety of upgrading the Internet of vehicles service in vehicle-mounted equipment and further improving the use experience of a user.
In a first aspect, an embodiment of the present invention provides an application program upgrading method, which is applied to a vehicle-mounted device, and includes:
receiving the release information of the upgrade package of the application program pushed by the cloud equipment through the master control controller; wherein, the release information at least comprises the name and version of the upgrade package of the application program;
downloading an upgrading package of the application program from the cloud equipment through a master controller according to the release information of the application program;
verifying the upgrade package of the application program based on a pre-established block chain;
and if the verification is passed, upgrading the application program by using the upgrading package of the application program.
In a second aspect, an embodiment of the present invention further provides an application program upgrading method, applied to a server, including:
sending an upgrade package of the application program to the cloud equipment so that the cloud equipment pushes release information of the upgrade package of the application program to the vehicle-mounted equipment;
and generating verification information corresponding to the upgrade package of the application program, and uploading the verification information to a pre-established block chain.
In a third aspect, an embodiment of the present invention further provides an application program upgrading apparatus, including:
the release information receiving module is used for receiving release information of an upgrade package of an application program pushed by the cloud equipment through the master controller; wherein, the release information at least comprises the name and version of the upgrade package of the application program;
the upgrade package downloading module is used for downloading the upgrade package of the application program from the cloud equipment through the master controller according to the release information of the application program;
the upgrade package verification module is used for verifying the upgrade package of the application program based on a pre-established block chain;
and the application program upgrading module is used for upgrading the application program by using the upgrading package of the application program if the verification is passed.
In a fourth aspect, an embodiment of the present invention further provides an application program upgrading apparatus, including:
the upgrade package sending module is used for sending the upgrade package of the application program to the cloud equipment so that the cloud equipment can push the release information of the upgrade package of the application program to the vehicle-mounted equipment;
and the verification information uploading module is used for generating verification information corresponding to the upgrade package of the application program and uploading the verification information to a pre-established block chain.
In a fifth aspect, an embodiment of the present invention further provides an electronic device, including:
one or more processors;
a storage device for storing one or more programs,
when the one or more programs are executed by the one or more processors, the one or more processors are caused to implement the application program upgrade method according to any embodiment of the present invention.
In a sixth aspect, the embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the application program upgrading method according to any embodiment of the present invention.
According to the application program upgrading method, the application program upgrading device, the electronic equipment and the storage medium, the issuing information of the upgrading package of the application program pushed by the cloud equipment is received through the master control controller; wherein, the release information at least comprises the name and version of the upgrade package of the application program; downloading an upgrading package of the application program from the cloud equipment through a master controller according to the release information of the application program; verifying the upgrade package of the application program based on a pre-established block chain; and if the verification is passed, upgrading the application program by using the upgrading package of the application program. The embodiment of the invention realizes the verification of the upgrading of the application program based on the block chain, verifies the correctness and the integrity of the upgrading package of the application program and improves the safety and the efficiency of the upgrading of the application program.
Drawings
FIG. 1a is a schematic diagram of a prior art application verification upgrade;
fig. 1b is a flowchart of an application program upgrading method according to an embodiment of the present invention;
fig. 2 is a flowchart of an application program upgrading method according to a second embodiment of the present invention;
fig. 3a is a flowchart of an application program upgrading method according to a third embodiment of the present invention;
fig. 3b is a schematic diagram of verification upgrade based on a block chain according to a third embodiment of the present invention;
fig. 4 is a structural diagram of an application program upgrading apparatus according to a fourth embodiment of the present invention;
fig. 5 is a structural diagram of an application program upgrading apparatus according to a fifth embodiment of the present invention;
fig. 6 is a structural diagram of an electronic device according to a sixth embodiment of the present invention.
Detailed Description
The present invention will be described in further detail with reference to the accompanying drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the invention and are not limiting of the invention. It should be further noted that, for the convenience of description, only some of the structures related to the present invention are shown in the drawings, not all of the structures.
Example one
Fig. 1b is a flowchart of an application program upgrading method according to an embodiment of the present invention, where the embodiment is applicable to a situation of upgrading at least one application program in a vehicle-mounted device. The method can be executed by the application program upgrading device provided by the embodiment of the invention, and the device can be realized in a software and/or hardware mode and is applied to vehicle-mounted equipment.
Specifically, as shown in fig. 1b, the method for upgrading an application program according to the embodiment of the present invention may include the following steps:
s110, receiving the release information of the upgrade package of the application program pushed by the cloud equipment through a master control controller; the release information at least comprises the name and the version of the upgrade package of the application program.
The release information is used for reminding the vehicle-mounted device to upgrade the application to be upgraded and may include information of an upgrade package corresponding to at least one application program. Accordingly, the application programs are scalable application programs for providing internet-of-vehicles services such as music, video, radio, news, and food in vehicles.
The master controller can be understood as a master controller in the vehicle-mounted equipment, and optionally, the upgrade packages received from other equipment ends can be sent to each controller to be upgraded in the vehicle-mounted equipment through a data transmission channel between the master controller and the controller to be upgraded. Correspondingly, the controller to be upgraded upgrades the application program of at least one application to be upgraded related to the received upgrade package according to the received upgrade package.
In this embodiment, an application developer or manager sends an upgrade package to a server; the server receives the upgrade package, determines and issues the application upgrade package to the cloud device, and the cloud device pushes the issuing information of the upgrade package to the vehicle-mounted device. Correspondingly, the vehicle-mounted equipment receives the release information of the upgrade package of the application program pushed by the cloud equipment through the master controller.
In an optional implementation manner, the release information of the application at least includes identification information of the application upgrade package, that is, a name and a version of the application upgrade package, so that the vehicle-mounted device can search the application upgrade package corresponding to the identification information in the cloud release system according to the identification information of the upgrade package, and download the application upgrade package.
In order to facilitate obtaining the upgrade package of the application program, improve the obtaining efficiency of the upgrade package of the application program, and reduce the operation processing of the user at the same time, in another optional implementation manner of the embodiment of the application, the release information may further include download information of the upgrade package of the application program, so that the vehicle-mounted device directly downloads the upgrade package of the application program based on the download information, and obtains the upgrade package of the application program from the cloud device. Illustratively, the download information may be a download address, and the download address may be presented in the form of a web address or a two-dimensional code.
And S120, downloading an upgrading package of the application program from the cloud equipment through the master controller according to the release information of the application program.
Optionally, in order to improve the upgrading efficiency of the application program, after receiving the release information of the application program, the vehicle-mounted device may automatically identify the release information, and download the application program upgrading package corresponding to the release information according to the release information of the application program. Specifically, the upgrade package of the application program can be downloaded from the cloud device through the master controller.
In order to avoid the influence of the upgrade package downloading process on other using processes of the user, the upgrade package can be downloaded in a mode of manual triggering of the user. And after receiving the triggering operation of the user, downloading the application program upgrading package corresponding to the release information according to the release information of the application program.
The release information includes information of an upgrade package corresponding to at least one application program. If the release information only corresponds to one application program upgrade package, the corresponding application program upgrade package can be downloaded according to the release information, and the downloaded upgrade package is installed. If the release message includes at least two application program upgrade packages, the at least two application program upgrade packages associated with the release message may be downloaded according to the release message, and the downloaded application program upgrade packages may be installed.
When there are at least two application program upgrade packages, in an optional implementation manner, the download operation of each application program upgrade package may be performed in parallel, so as to improve the download efficiency of each application program upgrade package, and further improve the upgrade efficiency of each application program.
In order to further improve the upgrading efficiency of the application program, when at least two application program upgrading packages exist, in another optional embodiment, after the corresponding application program upgrading packages are downloaded and acquired, the installation operation of each application program upgrading package can be performed in parallel.
And S130, verifying the upgrading package of the application program based on the pre-established block chain.
The block chain is pre-established when the server sends the application program upgrading packet, and the block chain stores the on-chain hash value corresponding to each upgrading packet and is used for verifying the upgrading packet.
In order to ensure the stability of subsequent application program upgrading, the vehicle-mounted device may verify the application program upgrading package based on a block chain established in advance in the application program upgrading process.
Specifically, in order to improve the integrity and correctness of transmission of the application program upgrade package and ensure the stability of subsequent application program upgrade, in an optional implementation manner of the embodiment of the present application, after the vehicle-mounted device downloads the application program upgrade package and before the application program upgrade package is installed, a local hash value corresponding to the upgrade package of the application program may be generated according to the upgrade package of the application program; and verifying the local hash value corresponding to the upgrade package of the application program based on the block chain.
In order to facilitate later-stage verification of the local hash value corresponding to the upgrade package of the application program, the vehicle-mounted device may first obtain the on-chain hash value corresponding to the upgrade package of the application program on the block chain, and judge consistency between the on-chain hash value corresponding to the upgrade package of the application program and the local hash value.
On the basis of the above embodiment, in order to accurately obtain the hash value on the link corresponding to the upgrade package of the application program on the block link, the vehicle-mounted device may retrieve the hash value on the link corresponding to the upgrade package of the application program on the block link established in advance according to the name and version of the upgrade package of the application program. Further, if the on-chain hash value corresponding to the upgrade package of the application program is retrieved on the block chain, whether the local hash value is consistent with the on-chain hash value is judged. If the local hash value is consistent with the hash value on the link, judging that the local hash value is verified; and if the local hash value is not consistent with the hash value on the chain, judging that the local hash value is not verified.
In order to improve the efficiency of the hash value on the chain, in an optional embodiment, when the hash value on the chain corresponding to the application program upgrade package is retrieved, the hash value on the chain corresponding to the application program upgrade package may be retrieved according to the name of the upgrade package. And if the retrieval result has a plurality of on-chain hash values corresponding to the upgrade package, retrieving from the preliminary retrieval result according to the version of the upgrade package. The method has the advantages that when only one version exists in a certain name upgrading package, secondary retrieval is not needed, and retrieval efficiency is improved.
In order to ensure the accuracy of hash value retrieval on the chain, in another alternative embodiment, the retrieval may be performed according to the name and version of the application upgrade package at the same time. According to the name and the version of the application program upgrading packet, the hash value on the chain corresponding to the application program upgrading packet can be uniquely determined.
And S140, if the verification is passed, upgrading the application program by using the upgrading package of the application program.
Because the vehicle-mounted equipment downloads the upgrading packet through the master controller, correspondingly, after the verification is passed, the upgrading packet received from other equipment ends is sent to each controller to be upgraded in the vehicle-mounted equipment through a data transmission channel between the master controller and the controller to be upgraded. Correspondingly, the controller to be upgraded upgrades the application program of at least one application to be upgraded related to the received upgrade package according to the received upgrade package.
On the basis of the above embodiment, specifically, after downloading the upgrade package of the application program, the master controller may determine the controller to be upgraded corresponding to the application program according to the name of the upgrade package of the application program; sending a notification message to the controller to be upgraded corresponding to the application program, so that the controller to be upgraded corresponding to the application program responds to the notification message to acquire an upgrade package of the application program in the master control controller; and loading the upgrade package of the application program into the application program through the controller to be upgraded corresponding to the application program, thereby realizing the upgrade of the application installed in the vehicle-mounted equipment.
Optionally, the master controller or other devices associated with the vehicle-mounted device store the application program installed in the controller to be upgraded and the current version of each application ascending sequence; the master control controller can search and match the application programs in the controllers to be upgraded according to the downloaded version information of the upgrading packages of the application programs, so that at least one application to be upgraded in the controllers with the upgrade is determined; transmitting at least one upgrading packet of the application to be upgraded in the master controller to the controller to be upgraded; correspondingly, the controller to be upgraded receives the upgrade package. Specifically, according to the received upgrade package, application upgrade is performed on at least one application to be upgraded in the controller to be upgraded, which is associated with the upgrade package.
On the basis of the technical schemes, in order to realize management and monitoring of the application upgrading condition in the controller to be upgraded, after the controller to be upgraded upgrades the application according to the received upgrading packet, an upgrading receipt can be sent to the master controller; correspondingly, the master controller receives the upgrade receipt sent by the controller to be upgraded, and the upgrade receipt is used for local storage or reporting to other equipment associated with the vehicle-mounted equipment, so that the upgrade receipt is stored in the other equipment. And the upgrade receipt comprises the version and/or the upgrade result of each application to be upgraded related to the received upgrade package. And the upgrading result comprises upgrading success and upgrading failure. Optionally, if the upgrade result is failure, the application program that fails to be upgraded may be re-upgraded within a set time.
According to the technical scheme of the embodiment, the master control controller receives the release information of the upgrade package of the application program pushed by the cloud equipment; the release information at least comprises the name and the version of an upgrade package of the application program; downloading an upgrading package of the application program from the cloud equipment through the master controller according to the release information of the application program; verifying an upgrade package of an application program based on a pre-established blockchain; and if the verification is passed, upgrading the application program by using the upgrading package of the application program. The embodiment of the invention realizes the verification of the upgrading of the application program based on the block chain, verifies the correctness and the integrity of the upgrading package of the application program and improves the safety and the efficiency of the upgrading of the application program.
Example two
Fig. 2 is a flowchart of an application program upgrading method according to a second embodiment of the present invention, where the second embodiment is applicable to a case where at least one application program in a vehicle-mounted device is upgraded, and the method is executed by an application program upgrading apparatus, where the apparatus is implemented by software and/or hardware, and is specifically configured in a server.
Specifically, as shown in fig. 2, the method includes:
s210, sending the upgrade patch of the application program to the cloud device, so that the cloud device pushes the release information of the upgrade patch of the application program to the vehicle-mounted device.
The release information is used for reminding the vehicle-mounted device to upgrade the application program to be upgraded, and may include information of an upgrade package corresponding to at least one application program. Accordingly, the application programs are scalable application programs for providing internet-of-vehicles services such as music, video, radio, news, and food in vehicles.
Before sending the upgrade package of the application program to the cloud device, an application developer or a manager sends the upgrade package of each application program to be upgraded to a server; the server receives and processes the application program upgrade package.
In order to ensure that the version of the released application program upgrade package is the latest version and avoid inconvenience to a user caused by multiple times of upgrading, in an optional implementation manner, the current version of the application to be upgraded can be compared with the historical version before the upgrade package of the application program is released; and acquiring the application program upgrading packet with a higher version as the application program upgrading packet to be upgraded, and performing subsequent issuing operation.
Optionally, when the cloud device pushes the release information of the upgrade package of the application program to the vehicle-mounted device, corresponding release information may be generated for each application program to be upgraded, so that each application program to be upgraded is distinguished, and independent downloading and installation processing of each application program to be upgraded are realized.
In order to reduce user operations and improve the efficiency of upgrading the subsequent applications to be upgraded, optionally, a piece of release information may be generated for each application program to be upgraded, so that the upgrade packages of the application programs to be upgraded are sequentially downloaded and installed according to the release information.
And S220, generating verification information corresponding to the upgrade package of the application program, and uploading the verification information to a pre-established block chain.
The block chain is used for storing the hash value on the chain corresponding to each upgrade package and is used for verifying the upgrade package subsequently.
In order to improve the integrity and correctness of transmission of the application program upgrade package and ensure the stability of subsequent application program upgrade, in an optional implementation manner of the embodiment of the application, when the server sends the upgrade package of the application program to the cloud device, verification information corresponding to the upgrade package of the application program can be generated according to the upgrade package of the application program and uploaded to a pre-established block chain. The block chain is equivalent to a shared database, and the data or information stored in the shared database has the characteristics of unforgeability, whole-course trace, traceability, public transparency, collective maintenance and the like.
The server generates verification information corresponding to the upgrade package of the application program according to the upgrade package of the application program, and uploads the verification information to a block chain established in advance, which may specifically include: generating a hash value on a chain corresponding to the upgrade package of the application program according to the name and the version of the upgrade package; and writing the hash value on the chain corresponding to the upgrading packet of the application program into the block chain, so that the subsequent vehicle-mounted equipment can verify the upgrading packet conveniently.
Since the hash value of the upgrade package is stored in the block chain, by using the non-tamper property of the block chain, anyone can not modify the upgrade package and the corresponding verification information maliciously after the upgrade package is generated and the corresponding hash value is written into the block chain, thereby ensuring the integrity and consistency of the upgrade package.
According to the technical scheme, the upgrading package of the application program is sent to the cloud device, so that the cloud device pushes the issuing information of the upgrading package of the application program to the vehicle-mounted device; and generating verification information corresponding to the upgrade package of the application program, and uploading the verification information to a pre-established block chain. The embodiment of the invention realizes the verification of the upgrading of the application program based on the block chain, verifies the correctness and the integrity of the upgrading package of the application program and improves the safety and the efficiency of the upgrading of the application program.
EXAMPLE III
Fig. 3a is a flowchart of an application program upgrading method according to a third embodiment of the present invention, where the method is based on the foregoing embodiment and provides a preferred implementation manner. Fig. 3b is a schematic diagram of verification upgrade based on a block chain according to a third embodiment of the present invention.
Specifically, as shown in fig. 3a, the method includes:
s310, the server receives an upgrade package of the application program sent by a developer or a manager of the application program.
S302, according to the name and the version of the upgrading packet, a chain hash value corresponding to the upgrading packet of the application program is generated.
And S303, writing the hash value on the chain corresponding to the upgrade package of the application program into the block chain.
And S304, sending the upgrade package of the application program to the cloud equipment.
S305, the cloud device pushes the issuing information of the upgrade package of the application program to the vehicle-mounted device.
The release information at least comprises the name and the version of an upgrade package of the application program;
and S306, the vehicle-mounted equipment receives the release information of the upgrade package of the application program pushed by the cloud equipment through the master controller.
S307, retrieving the corresponding upgrade package according to the release information of the application program.
And S308, downloading the upgrade package of the application program from the cloud equipment through the master control controller.
S309, according to the upgrading packet of the application program, generating a local hash value corresponding to the upgrading packet of the application program.
And S310, searching the chain hash value corresponding to the upgrading packet of the application program on the pre-established block chain according to the name and the version of the upgrading packet of the application program.
S311, obtaining the hash value on the chain corresponding to the upgrade package of the application program.
And S312, if the on-chain hash value corresponding to the upgrade package of the application program is retrieved on the block chain, judging whether the local hash value is consistent with the on-chain hash value. If the local hash value is consistent with the on-chain hash value, executing S313A; otherwise, S313B is executed.
S313A, the local hash value is determined to be verified, and S314 is executed.
S313B, the verification fails, and the process ends.
And S314, the master control controller determines the controller to be upgraded corresponding to the application program according to the name of the upgrading packet of the application program.
And S315, sending a notification message to the controller to be upgraded corresponding to the application program.
And S316, the controller to be upgraded responds to the notification message, and an upgrade package of the application program is obtained in the master control controller.
And S317, loading the upgrade package of the application program into the application program through the controller to be upgraded corresponding to the application program.
According to the technical scheme of the embodiment, the master control controller receives the release information of the upgrade package of the application program pushed by the cloud equipment; the release information at least comprises the name and the version of an upgrade package of the application program; downloading an upgrading package of the application program from the cloud equipment through the master controller according to the release information of the application program; verifying an upgrade package of an application program based on a pre-established blockchain; and if the verification is passed, upgrading the application program by using the upgrading package of the application program. The embodiment of the invention realizes the verification of the upgrading of the application program based on the block chain, verifies the correctness and the integrity of the upgrading package of the application program and improves the safety and the efficiency of the upgrading of the application program.
Example four
Fig. 4 is a schematic structural diagram of an application program upgrading apparatus according to a fourth embodiment of the present invention, where the apparatus is adapted to execute the application program upgrading method according to the fourth embodiment of the present invention, and may perform upgrade verification on at least one application program in a vehicle-mounted device. The device is realized by software and/or hardware and is specifically configured in vehicle-mounted equipment.
As shown in fig. 4, the apparatus includes a distribution information receiving module 410, an upgrade package downloading module 420, an upgrade package verifying module 430, and an application upgrade module 440. Wherein the content of the first and second substances,
the release information receiving module 410 is configured to receive, through the master controller, release information of an upgrade package of an application program pushed by the cloud device; the release information at least comprises the name and the version of an upgrade package of the application program;
the upgrade package downloading module 420 is configured to download the upgrade package of the application program from the cloud device through the master controller according to the release information of the application program;
an upgrade package verification module 430, configured to verify an upgrade package of an application based on a block chain established in advance;
and the application program upgrading module 440 is used for upgrading the application program by using the upgrading package of the application program if the verification is passed.
According to the technical scheme of the embodiment, the master control controller receives the release information of the upgrade package of the application program pushed by the cloud equipment; the release information at least comprises the name and the version of an upgrade package of the application program; downloading an upgrading package of the application program from the cloud equipment through the master controller according to the release information of the application program; verifying an upgrade package of an application program based on a pre-established blockchain; and if the verification is passed, upgrading the application program by using the upgrading package of the application program. The embodiment of the invention realizes the verification of the upgrading of the application program based on the block chain, verifies the correctness and the integrity of the upgrading package of the application program and improves the safety and the efficiency of the upgrading of the application program.
Further, the upgrade package verification module 430 includes: a local hash value generation unit and a local hash value verification unit. Wherein the content of the first and second substances,
the local hash value generating unit is used for generating a local hash value corresponding to the upgrading packet of the application program according to the upgrading packet of the application program;
and the local hash value verification unit is used for verifying the local hash value corresponding to the upgrade package of the application program based on the blockchain.
Further, the local hash value verification unit includes:
the on-chain hash value retrieval subunit is used for retrieving the on-chain hash value corresponding to the upgrade package of the application program on the pre-established block chain according to the name and the version of the upgrade package of the application program;
the hash value verification subunit is used for judging whether the local hash value is consistent with the hash value on the link or not if the hash value on the link corresponding to the upgrade package of the application program is retrieved on the block link;
the verification result judging subunit is used for judging that the local hash value passes the verification if the local hash value is consistent with the hash value on the link; and if the local hash value is not consistent with the hash value on the chain, judging that the local hash value is not verified.
Further, the application upgrade module 440 includes: the device comprises a controller to be upgraded determining unit, an upgrade notification sending unit and an upgrade package loading unit. Wherein the content of the first and second substances,
the device comprises a to-be-upgraded controller determining unit, a to-be-upgraded controller determining unit and a upgrading unit, wherein the to-be-upgraded controller determining unit is used for determining a to-be-upgraded controller corresponding to an application program according to the name of an upgrading package of the application program;
the upgrading notification sending unit is used for sending a notification message to the controller to be upgraded corresponding to the application program, so that the controller to be upgraded corresponding to the application program responds to the notification message to acquire an upgrading packet of the application program in the master control controller;
and the upgrade package loading unit is used for loading the upgrade package of the application program into the application program through the controller to be upgraded corresponding to the application program.
The application program upgrading device provided by the embodiment of the invention can execute the application program upgrading method provided by any embodiment of the invention, and has corresponding functional modules and beneficial effects of the execution method.
EXAMPLE five
Fig. 5 is a schematic structural diagram of an application program upgrading apparatus according to a fifth embodiment of the present invention, where the apparatus is adapted to execute the application program upgrading method according to the fifth embodiment of the present invention, and may perform upgrade verification on at least one application program in a vehicle-mounted device. The device is implemented by software and/or hardware and is specifically configured in a server.
As shown in fig. 5, the apparatus includes: an upgrade package transmitting module 510 and an authentication information uploading module 520. Wherein the content of the first and second substances,
the upgrade package sending module 510 is configured to send an upgrade package of the application to the cloud device, so that the cloud device pushes release information of the upgrade package of the application to the vehicle-mounted device;
and the verification information uploading module 520 is configured to generate verification information corresponding to the upgrade package of the application program, and upload the verification information to a block chain established in advance.
According to the technical scheme of the embodiment, the upgrading package of the application program is sent to the cloud device, so that the cloud device pushes the issuing information of the upgrading package of the application program to the vehicle-mounted device; and generating verification information corresponding to the upgrade package of the application program, and uploading the verification information to a pre-established block chain. The embodiment of the invention realizes the verification of the upgrading of the application program based on the block chain, verifies the correctness and the integrity of the upgrading package of the application program and improves the safety and the efficiency of the upgrading of the application program.
Further, the verification information uploading module 520 includes: an on-chain hash value generation unit and an on-chain hash value writing unit. Wherein the content of the first and second substances,
the on-chain hash value generation unit is used for generating an on-chain hash value corresponding to the upgrade package of the application program according to the name and the version of the upgrade package;
and the on-chain hash value writing unit is used for writing the on-chain hash value corresponding to the upgrade package of the application program into the block chain so as to verify the upgrade package by the vehicle-mounted equipment.
The application program upgrading device provided by the embodiment of the invention can execute the application program upgrading method provided by any embodiment of the invention, and has corresponding functional modules and beneficial effects of the execution method.
EXAMPLE six
Fig. 6 is a schematic structural diagram of an electronic device according to a sixth embodiment of the present invention. FIG. 6 illustrates a block diagram of an exemplary electronic device 12 suitable for use in implementing embodiments of the present invention. The electronic device 12 shown in fig. 6 is only an example and should not bring any limitation to the function and the scope of use of the embodiment of the present invention.
As shown in FIG. 6, electronic device 12 is embodied in the form of a general purpose computing device. The components of electronic device 12 may include, but are not limited to: one or more processors or processing units 16, a system memory 28, and a bus 18 that couples various system components including the system memory 28 and the processing unit 16.
Bus 18 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example, such architectures include, but are not limited to, Industry Standard Architecture (ISA) bus, micro-channel architecture (MAC) bus, enhanced ISA bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus.
Electronic device 12 typically includes a variety of computer system readable media. Such media may be any available media that is accessible by electronic device 12 and includes both volatile and nonvolatile media, removable and non-removable media.
The system memory 28 may include computer system readable media in the form of volatile memory, such as Random Access Memory (RAM)30 and/or cache memory 32. The electronic device 12 may further include other removable/non-removable, volatile/nonvolatile computer system storage media. By way of example only, storage system 34 may be used to read from and write to non-removable, nonvolatile magnetic media (not shown in FIG. 6, and commonly referred to as a "hard drive"). Although not shown in FIG. 6, a magnetic disk drive for reading from and writing to a removable, nonvolatile magnetic disk (e.g., a "floppy disk") and an optical disk drive for reading from or writing to a removable, nonvolatile optical disk (e.g., a CD-ROM, DVD-ROM, or other optical media) may be provided. In these cases, each drive may be connected to bus 18 by one or more data media interfaces. System memory 28 may include at least one program product having a set (e.g., at least one) of program modules that are configured to carry out the functions of embodiments of the invention.
A program/utility 40 having a set (at least one) of program modules 42 may be stored, for example, in system memory 28, such program modules 42 including, but not limited to, an operating system, one or more application programs, other program modules, and program data, each of which examples or some combination thereof may comprise an implementation of a network environment. Program modules 42 generally carry out the functions and/or methodologies of the described embodiments of the invention.
Electronic device 12 may also communicate with one or more external devices 14 (e.g., keyboard, pointing device, display 24, etc.), with one or more devices that enable a user to interact with electronic device 12, and/or with any devices (e.g., network card, modem, etc.) that enable electronic device 12 to communicate with one or more other computing devices. Such communication may be through an input/output (I/O) interface 22. Also, the electronic device 12 may communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network, such as the Internet) via the network adapter 20. As shown, the network adapter 20 communicates with other modules of the electronic device 12 via the bus 18. It should be appreciated that although not shown in FIG. 6, other hardware and/or software modules may be used in conjunction with electronic device 12, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, among others.
The processing unit 16 executes various functional applications and data processing by executing programs stored in the system memory 28, for example, implementing an application program upgrade method provided by an embodiment of the present invention.
EXAMPLE seven
The seventh embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the application program upgrading method provided in any embodiment of the present invention.
Computer storage media for embodiments of the invention may employ any combination of one or more computer-readable media. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
It is to be noted that the foregoing is only illustrative of the preferred embodiments of the present invention and the technical principles employed. It will be understood by those skilled in the art that the present invention is not limited to the particular embodiments described herein, but is capable of various obvious changes, rearrangements and substitutions as will now become apparent to those skilled in the art without departing from the scope of the invention. Therefore, although the present invention has been described in greater detail by the above embodiments, the present invention is not limited to the above embodiments, and may include other equivalent embodiments without departing from the spirit of the present invention, and the scope of the present invention is determined by the scope of the appended claims.

Claims (10)

1. An application program upgrading method is applied to vehicle-mounted equipment and comprises the following steps:
receiving the release information of the upgrade package of the application program pushed by the cloud equipment through the master control controller; wherein, the release information at least comprises the name and version of the upgrade package of the application program;
downloading an upgrading package of the application program from the cloud equipment through a master controller according to the release information of the application program;
verifying an upgrade package of the application program based on a pre-established block chain;
and if the verification is passed, upgrading the application program by using the upgrading package of the application program.
2. The method of claim 1, wherein the validating the upgrade package based on a pre-established blockchain comprises:
generating a local hash value corresponding to the upgrading packet of the application program according to the upgrading packet of the application program;
and verifying the local hash value corresponding to the upgrade package of the application program based on the block chain.
3. The method of claim 2, wherein the validating the local hash value comprises:
searching a chain hash value corresponding to the upgrading packet of the application program on a pre-established block chain according to the name and the version of the upgrading packet of the application program;
if the on-chain hash value corresponding to the upgrading packet of the application program is retrieved on the block chain, judging whether the local hash value is consistent with the on-chain hash value;
if the local hash value is consistent with the hash value on the chain, judging that the local hash value is verified; and if the local hash value is inconsistent with the on-chain hash value, judging that the local hash value is not verified.
4. The method of claim 1, wherein upgrading the application using the upgrade package of the application comprises:
determining a controller to be upgraded corresponding to the application program according to the name of the upgrade package of the application program;
sending a notification message to a controller to be upgraded corresponding to the application program, so that the controller to be upgraded corresponding to the application program responds to the notification message to acquire an upgrade package of the application program in the master control controller;
and loading the upgrade package of the application program into the application program through the controller to be upgraded corresponding to the application program.
5. An application program upgrading method is applied to a server and comprises the following steps:
sending an upgrade package of the application program to the cloud equipment so that the cloud equipment pushes release information of the upgrade package of the application program to the vehicle-mounted equipment;
and generating verification information corresponding to the upgrade package of the application program, and uploading the verification information to a pre-established block chain.
6. The method of claim 1, wherein generating and uploading verification information corresponding to the upgrade package of the application program to a pre-established blockchain comprises:
generating a hash value on the chain corresponding to the upgrading packet of the application program according to the name and the version of the upgrading packet;
and writing the hash value on the chain corresponding to the upgrading packet of the application program into a block chain so that the vehicle-mounted equipment verifies the upgrading packet.
7. An application program upgrade apparatus, comprising:
the release information receiving module is used for receiving release information of an upgrade package of an application program pushed by the cloud equipment through the master controller; wherein, the release information at least comprises the name and version of the upgrade package of the application program;
the upgrade package downloading module is used for downloading the upgrade package of the application program from the cloud equipment through the master controller according to the release information of the application program;
the upgrade package verification module is used for verifying the upgrade package of the application program based on a pre-established block chain;
and the application program upgrading module is used for upgrading the application program by using the upgrading package of the application program if the verification is passed.
8. An application program upgrade apparatus, comprising:
the upgrade package sending module is used for sending the upgrade package of the application program to the cloud equipment so that the cloud equipment can push the release information of the upgrade package of the application program to the vehicle-mounted equipment;
and the verification information uploading module is used for generating verification information corresponding to the upgrade package of the application program and uploading the verification information to a pre-established block chain.
9. An electronic device, comprising:
one or more processors;
a memory for storing one or more programs;
when executed by the one or more processors, cause the one or more processors to implement an application upgrade method as claimed in any one of claims 1-4 or 5-6.
10. A computer-readable storage medium, on which a computer program is stored, which program, when being executed by a processor, is adapted to carry out a method of application upgrade as claimed in any one of the claims 1-4 or 5-6.
CN202110292432.4A 2021-03-18 2021-03-18 Application program upgrading method and device, electronic equipment and storage medium Pending CN113037850A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110292432.4A CN113037850A (en) 2021-03-18 2021-03-18 Application program upgrading method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110292432.4A CN113037850A (en) 2021-03-18 2021-03-18 Application program upgrading method and device, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
CN113037850A true CN113037850A (en) 2021-06-25

Family

ID=76471578

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110292432.4A Pending CN113037850A (en) 2021-03-18 2021-03-18 Application program upgrading method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN113037850A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277276A (en) * 2022-06-27 2022-11-01 北京小米移动软件有限公司 Program upgrading method and device for air conditioner, air conditioning system and storage medium
FR3135546A1 (en) * 2022-05-13 2023-11-17 Psa Automobiles Sa Method for authorizing the installation of software in a motor vehicle, associated device, vehicle and system

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103957244A (en) * 2014-04-21 2014-07-30 惠州市新思为电子科技有限公司 Remote program upgrading method and server
CN107077557A (en) * 2016-12-29 2017-08-18 深圳前海达闼云端智能科技有限公司 The method and device that software application is issued and verified
US20180176229A1 (en) * 2016-12-19 2018-06-21 International Business Machines Corporation Decentralized automated software updates via blockchain
CN108847926A (en) * 2018-06-22 2018-11-20 武汉斗鱼网络科技有限公司 A kind of client secure detection method, device and client device
CN110351314A (en) * 2018-04-03 2019-10-18 厦门雅迅网络股份有限公司 The remote upgrade method and computer readable storage medium of automobile controller
CN111399867A (en) * 2019-01-02 2020-07-10 中国移动通信有限公司研究院 Software upgrading method, device, equipment and computer readable storage medium
CN111538512A (en) * 2020-04-16 2020-08-14 山东正中信息技术股份有限公司 OTA (over the air) firmware upgrading method, device and equipment
CN111722861A (en) * 2020-06-17 2020-09-29 中国第一汽车股份有限公司 Application program upgrading method, device, equipment and storage medium
US20200334032A1 (en) * 2019-04-19 2020-10-22 Sarcos Corp. Version History Management Using a Blockchain
CN112306526A (en) * 2020-10-30 2021-02-02 平安普惠企业管理有限公司 Client data updating method, device, apparatus and storage medium
CN112506562A (en) * 2020-12-29 2021-03-16 一汽解放汽车有限公司 Vehicle software upgrading method and system, vehicle and storage medium

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103957244A (en) * 2014-04-21 2014-07-30 惠州市新思为电子科技有限公司 Remote program upgrading method and server
US20180176229A1 (en) * 2016-12-19 2018-06-21 International Business Machines Corporation Decentralized automated software updates via blockchain
CN107077557A (en) * 2016-12-29 2017-08-18 深圳前海达闼云端智能科技有限公司 The method and device that software application is issued and verified
CN110351314A (en) * 2018-04-03 2019-10-18 厦门雅迅网络股份有限公司 The remote upgrade method and computer readable storage medium of automobile controller
CN108847926A (en) * 2018-06-22 2018-11-20 武汉斗鱼网络科技有限公司 A kind of client secure detection method, device and client device
CN111399867A (en) * 2019-01-02 2020-07-10 中国移动通信有限公司研究院 Software upgrading method, device, equipment and computer readable storage medium
US20200334032A1 (en) * 2019-04-19 2020-10-22 Sarcos Corp. Version History Management Using a Blockchain
CN111538512A (en) * 2020-04-16 2020-08-14 山东正中信息技术股份有限公司 OTA (over the air) firmware upgrading method, device and equipment
CN111722861A (en) * 2020-06-17 2020-09-29 中国第一汽车股份有限公司 Application program upgrading method, device, equipment and storage medium
CN112306526A (en) * 2020-10-30 2021-02-02 平安普惠企业管理有限公司 Client data updating method, device, apparatus and storage medium
CN112506562A (en) * 2020-12-29 2021-03-16 一汽解放汽车有限公司 Vehicle software upgrading method and system, vehicle and storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3135546A1 (en) * 2022-05-13 2023-11-17 Psa Automobiles Sa Method for authorizing the installation of software in a motor vehicle, associated device, vehicle and system
CN115277276A (en) * 2022-06-27 2022-11-01 北京小米移动软件有限公司 Program upgrading method and device for air conditioner, air conditioning system and storage medium

Similar Documents

Publication Publication Date Title
US10140109B2 (en) Silent in-vehicle software updates
WO2021139238A1 (en) Method and apparatus for upgrading cloud service application
CN105389177A (en) Software version confirmation method, device and system
CN108536580B (en) System and method for testing devices using lightweight device authentication protocol
CN111263352A (en) OTA (over the air) upgrading method and system of vehicle-mounted equipment, storage medium and vehicle-mounted equipment
CN110928561B (en) Vehicle controller software version management method and device, vehicle and storage medium
CN113037850A (en) Application program upgrading method and device, electronic equipment and storage medium
CN114461262A (en) Data processing method, system, device, equipment and computer storage medium
CN113238774A (en) Vehicle-mounted greeting animation updating method and device, vehicle-mounted terminal and storage medium
CN112015489A (en) Management method, device, storage medium and system for vehicle-mounted software
CN112882743A (en) Software upgrading method
CN112667301A (en) Docking station implementation method and system of vehicle-mounted operating system and electronic equipment
CN109871294B (en) Method and device for checking data and processing request
CN112199439A (en) Data storage device and non-transitory tangible computer-readable storage medium
US11726443B2 (en) Efficient controller data generation and extraction
CN110990046A (en) Upgrading method based on dynamic file
CN114237654A (en) OTA (over the air) upgrading method and system
CN113986296A (en) Firmware upgrading method and device, electronic equipment and storage medium
CN115515012A (en) Key burning method and device, electronic equipment board card and storage medium
CN110825406A (en) Software upgrading method and related equipment
CN114647424A (en) ECU application program updating method, device, system, storage medium and electronic equipment
CN112083945A (en) NPM installation package update prompting method and device, electronic equipment and storage medium
CN111221556A (en) Method and system for remotely upgrading RSU mirror image
CN111142906B (en) Method, device and equipment for iterating equipment firmware upgrading scheme
CN115374488B (en) Vehicle-mounted terminal program checking method and device

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210625