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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000003860 storage Methods 0.000 title claims abstract description 22
- 238000012795 verification Methods 0.000 claims abstract description 62
- 238000004590 computer program Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 239000000126 substance Substances 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic 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
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.
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.
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.
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)
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)
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 |
-
2021
- 2021-03-18 CN CN202110292432.4A patent/CN113037850A/en active Pending
Patent Citations (11)
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)
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 |