CN111427609A - Automatic application upgrading method based on multi-node server - Google Patents

Automatic application upgrading method based on multi-node server Download PDF

Info

Publication number
CN111427609A
CN111427609A CN202010247701.0A CN202010247701A CN111427609A CN 111427609 A CN111427609 A CN 111427609A CN 202010247701 A CN202010247701 A CN 202010247701A CN 111427609 A CN111427609 A CN 111427609A
Authority
CN
China
Prior art keywords
application
file
updating
program
node server
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
CN202010247701.0A
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.)
Shandong Huimao Electronic Port Co Ltd
Original Assignee
Shandong Huimao Electronic Port Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Huimao Electronic Port Co Ltd filed Critical Shandong Huimao Electronic Port Co Ltd
Priority to CN202010247701.0A priority Critical patent/CN111427609A/en
Publication of CN111427609A publication Critical patent/CN111427609A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • 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
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Abstract

The invention particularly relates to an automatic application upgrading method based on a multi-node server. The automatic application upgrading method based on the multi-node server comprises the steps that an application query updating module utilizes a check code to update and check client application; when the server has a new version, informing an application downloading module to download a file to be upgraded, and verifying the program validity by using a digital signature; and if the verification is passed, continuously installing the upgrade file, and performing incremental updating for the client application. The automatic application upgrading method based on the multi-node server not only enables the client application to automatically check the new version application released on the server and download and update according to user settings, and performs incremental update on user software, reduces the cost and work of client application maintenance, but also ensures the application safety by verifying the application, ensures the stability and availability of the updating process through the deployed multi-node server, and improves the updating speed of the client application.

Description

Automatic application upgrading method based on multi-node server
Technical Field
The invention relates to the technical field of software upgrading, in particular to an automatic application upgrading method based on a multi-node server.
Background
Traditional client application upgrades require a user to manually download and install an application installation package, the installation process may result in a change in the software installation path, and the software configuration may change from the previous version, causing unpredictable effects. Moreover, software is not subjected to security authentication, so that the software is easily tampered, a single node cannot ensure the downloading stability and success rate, and the user experience is poor, so that the loss of customers is caused.
The current mainstream program automatic upgrade strategy is to re-download the latest installation package and then re-install the whole application. Although simple and intuitive, this approach has significant drawbacks. For example, if the complete installation package has 100MB, and the update only modifies a file with a size of 1KB, it also means that 100MB of the entire content is downloaded again. This is a significant waste of bandwidth and extends the upgrade time, which correspondingly increases the user wait time.
Aiming at the problems, the invention provides an automatic application upgrading method based on a multi-node server.
Disclosure of Invention
In order to make up for the defects of the prior art, the invention provides a simple and efficient automatic application upgrading method based on a multi-node server.
The invention is realized by the following technical scheme:
an automatic application upgrading method based on a multi-node server is characterized in that: the method comprises the following steps:
first, the client version is checked
The server generates and stores a signature key of the user application, the signature key is used as a check code, and the application query updating module uses the check code to update and verify the client application;
second, download the upgrade file
When the server has a new version, the server informs the application downloading module to download the file to be upgraded;
third, digital signature verification
After the upgrade file is downloaded successfully and before installation, in order to ensure the application safety of a user, an application verification module verifies the program validity by using a digital signature;
the fourth step, incremental update
And if the program validity is verified, continuously installing the upgrade file, and performing incremental updating for the client application through the application incremental updating module.
In the first step, when the user sets the updating mode to be automatic updating, the frequency and the time can be updated simultaneously, and the CRC16 check algorithm is used for program integrity check; when the user sets the updating mode to be manual updating, the user is required to manually click the updating button to search whether the updating is required.
In the first step, the server uses a CRC algorithm to carry out uniform coding on the applied program, a 16-bit check code is generated, the check code is compared with a reference check code at the server end, and the integrity of the applied program and the file needing to be updated are confirmed.
In the second step, after the files needing to be updated are confirmed, the application downloading module does not need to download the complete installation package of the application program, and only needs to download the files needing to be updated.
The application downloading module provides a plug-in platform with downloading fault tolerance capability for a user through a high-availability multi-node downloading scheme provided for the user, so that the plug-in platform is an important guarantee for guaranteeing reliable, effective and stable operation of upgrading through the plug-in, and meanwhile, automatic line switching can be realized, the reliability of transmission is guaranteed, and the loss caused by downloading interruption is avoided.
In the third step, the validity of the program is checked before the integrity of the program is checked by the application checking module, if the program passes the verification, the installation is allowed, otherwise, the installation is not allowed, so that the unsafe and unauthenticated software is installed on the client system, and the installed software package can be prevented from being falsified or infected by viruses.
In the third step, the digital signature adopts double encryption to realize anti-counterfeiting, and the digital signature principle based on a public key mechanism is as follows:
firstly, a sender and a receiver which carry out digital signature need to apply for a pair of signature public key and private key pair representing identity;
secondly, the sender encrypts the sent file by using a SHA (secure Hash Algorithm) algorithm and generates a message digest;
thirdly, the sender encrypts the abstract again by using a private key of the sender to form a digital signature, and simultaneously transmits the sending file and the encrypted abstract to the other party;
fourthly, the receiver decrypts the abstract by using the public key, and encrypts the received file by using an SHA algorithm to generate a message abstract;
fifthly, comparing the decrypted abstract with the abstract generated by re-encrypting the received file at the receiver; if the two are consistent, the information is not damaged or tampered in the transmission process, and the verification is passed; otherwise, the information is damaged in the transmission process, and the verification fails.
And in the fourth step, the client reversely synthesizes the new version application program installation file based on the old version application program installation file and the incremental file which are stored locally after receiving the incremental file, and obtains a new version application program installation package for upgrading after processing by using the downloaded new upgrade file and the old version application program.
The invention has the beneficial effects that: the automatic application upgrading method based on the multi-node server not only enables the client application to automatically check the new version application released on the server and download and update according to user settings, and performs incremental update on user software, reduces the cost and work of client application maintenance, but also ensures the application safety by verifying the application, ensures the stability and availability of the updating process through the deployed multi-node server, and improves the updating speed of the client application.
Drawings
FIG. 1 is a schematic diagram of an automatic application upgrade method based on a multi-node server according to the present invention.
Fig. 2 is a schematic diagram of the digital signature principle based on the public key mechanism in the invention.
Detailed Description
In order to make the technical problems, technical solutions and advantageous effects to be solved by the present invention more apparent, the present invention is described in detail below with reference to the embodiments. It should be noted that the specific embodiments described herein are only for explaining the present invention and are not used to limit the present invention.
The automatic application upgrading method based on the multi-node server comprises the following steps:
first, the client version is checked
The server generates and stores a signature key of the user application, the signature key is used as a check code, and the application query updating module uses the check code to update and verify the client application;
second, download the upgrade file
When the server has a new version, the server informs the application downloading module to download the file to be upgraded;
third, digital signature verification
After the upgrade file is downloaded successfully and before installation, in order to ensure the application safety of a user, an application verification module verifies the program validity by using a digital signature;
the fourth step, incremental update
And if the program validity is verified, continuously installing the upgrade file, and performing incremental updating for the client application through the application incremental updating module.
In the first step, when the user sets the updating mode to be automatic updating, the frequency and the time can be updated simultaneously, and the CRC16 check algorithm is used for program integrity check; when the user sets the updating mode to be manual updating, the user is required to manually click the updating button to search whether the updating is required.
In the first step, the server uses a CRC algorithm to carry out uniform coding on the applied program, a 16-bit check code is generated, the check code is compared with a reference check code at the server end, and the integrity of the applied program and the file needing to be updated are confirmed.
In the second step, after the files needing to be updated are confirmed, the application downloading module does not need to download the complete installation package of the application program, and only needs to download the files needing to be updated.
The application downloading module provides a plug-in platform with downloading fault tolerance capability for a user through a high-availability multi-node downloading scheme provided for the user, so that the plug-in platform is an important guarantee for guaranteeing reliable, effective and stable operation of upgrading through the plug-in, and meanwhile, automatic line switching can be realized, the reliability of transmission is guaranteed, and the loss caused by downloading interruption is avoided.
In the third step, the validity of the program is checked before the integrity of the program is checked by the application checking module, if the program passes the verification, the installation is allowed, otherwise, the installation is not allowed, so that the unsafe and unauthenticated software is installed on the client system, and the installed software package can be prevented from being falsified or infected by viruses.
In the third step, the digital signature adopts double encryption to realize anti-counterfeiting, and the digital signature principle based on a public key mechanism is as follows:
firstly, a sender and a receiver which carry out digital signature need to apply for a pair of signature public key and private key pair representing identity;
secondly, the sender encrypts the sent file by using a SHA (secure Hash Algorithm) algorithm and generates a message digest;
thirdly, the sender encrypts the abstract again by using a private key of the sender to form a digital signature, and simultaneously transmits the sending file and the encrypted abstract to the other party;
fourthly, the receiver decrypts the abstract by using the public key, and encrypts the received file by using an SHA algorithm to generate a message abstract;
fifthly, comparing the decrypted abstract with the abstract generated by re-encrypting the received file at the receiver; if the two are consistent, the information is not damaged or tampered in the transmission process, and the verification is passed; otherwise, the information is damaged in the transmission process, and the verification fails.
And in the fourth step, the client reversely synthesizes the new version application program installation file based on the old version application program installation file and the incremental file which are stored locally after receiving the incremental file, and obtains a new version application program installation package for upgrading after processing by using the downloaded new upgrade file and the old version application program.
The above-described embodiment is only one specific embodiment of the present invention, and general changes and substitutions by those skilled in the art within the technical scope of the present invention are included in the protection scope of the present invention.

Claims (8)

1. An automatic application upgrading method based on a multi-node server is characterized by comprising the following steps:
first, the client version is checked
The server generates and stores a signature key of the user application, the signature key is used as a check code, and the application query updating module uses the check code to update and verify the client application;
second, download the upgrade file
When the server has a new version, the server informs the application downloading module to download the file to be upgraded;
third, digital signature verification
After the upgrade file is downloaded successfully and before installation, in order to ensure the application safety of a user, an application verification module verifies the program validity by using a digital signature;
the fourth step, incremental update
And if the verification is passed, continuously installing the upgrade file, and performing incremental updating for the client application through the application incremental updating module.
2. The multi-node server based application automatic upgrade method according to claim 1, characterized in that: in the first step, when the user sets the updating mode to be automatic updating, the frequency and the time can be updated simultaneously, and the CRC16 check algorithm is used for program integrity check; when the user sets the updating mode to be manual updating, the user is required to manually click the updating button to search whether the updating is required.
3. The multi-node server based application automatic upgrade method according to claim 2, characterized in that: in the first step, the server uses a CRC algorithm to carry out uniform coding on the applied program, a 16-bit check code is generated, the check code is compared with a reference check code at the server end, and the integrity of the applied program and the file needing to be updated are confirmed.
4. The multi-node server based application automatic upgrade method according to claim 3, characterized in that: in the second step, after the files needing to be updated are confirmed, the application downloading module does not need to download the complete installation package of the application program, and only needs to download the files needing to be updated.
5. The multi-node server based application automatic upgrade method according to claim 4, wherein: the application downloading module provides a plug-in platform with downloading fault tolerance capability for a user through a high-availability multi-node downloading scheme provided for the user, so that the plug-in platform is an important guarantee for guaranteeing reliable, effective and stable operation of upgrading through the plug-in, and meanwhile, automatic line switching can be realized, the reliability of transmission is guaranteed, and the loss caused by downloading interruption is avoided.
6. The multi-node server based application automatic upgrade method according to claim 1, characterized in that: in the third step, the validity of the program is checked before the integrity of the program is checked by the application checking module, if the program passes the verification, the installation is allowed, otherwise, the installation is not allowed, so that the unsafe and unauthenticated software is installed on the client system, and the installed software package can be prevented from being falsified or infected by viruses.
7. The multi-node server based application automatic upgrade method according to claim 6, wherein: in the third step, the digital signature adopts double encryption to realize anti-counterfeiting, and the digital signature principle based on a public key mechanism is as follows:
firstly, a sender and a receiver which carry out digital signature need to apply for a pair of signature public key and private key pair representing identity;
secondly, the sender encrypts the sent file by using a SHA (secure Hash Algorithm) algorithm and generates a message digest;
thirdly, the sender encrypts the abstract again by using a private key of the sender to form a digital signature, and simultaneously transmits the sending file and the encrypted abstract to the other party;
fourthly, the receiver decrypts the abstract by using the public key, and encrypts the received file by using an SHA algorithm to generate a message abstract;
fifthly, comparing the decrypted abstract with the abstract generated by re-encrypting the received file at the receiver; if the two are consistent, the information is not damaged or tampered in the transmission process, and the verification is passed; otherwise, the information is damaged in the transmission process, and the verification fails.
8. The multi-node server based application automatic upgrade method according to claim 4, wherein: and in the fourth step, the client reversely synthesizes the new version application program installation file based on the old version application program installation file and the incremental file which are stored locally after receiving the incremental file, and obtains a new version application program installation package for upgrading after processing by using the downloaded new upgrade file and the old version application program.
CN202010247701.0A 2020-04-01 2020-04-01 Automatic application upgrading method based on multi-node server Pending CN111427609A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010247701.0A CN111427609A (en) 2020-04-01 2020-04-01 Automatic application upgrading method based on multi-node server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010247701.0A CN111427609A (en) 2020-04-01 2020-04-01 Automatic application upgrading method based on multi-node server

Publications (1)

Publication Number Publication Date
CN111427609A true CN111427609A (en) 2020-07-17

Family

ID=71551843

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010247701.0A Pending CN111427609A (en) 2020-04-01 2020-04-01 Automatic application upgrading method based on multi-node server

Country Status (1)

Country Link
CN (1) CN111427609A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256301A (en) * 2020-10-19 2021-01-22 平安科技(深圳)有限公司 Application online upgrading method, device, equipment and computer readable storage medium
US11573782B2 (en) 2021-01-06 2023-02-07 Red Hat, Inc. Self updating agent

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102724308A (en) * 2012-06-13 2012-10-10 腾讯科技(深圳)有限公司 Software update method and software update system
CN104166565A (en) * 2014-08-11 2014-11-26 成都瑞博慧窗信息技术有限公司 Intelligent display terminal firmware updating method
US20160004530A1 (en) * 2012-12-27 2016-01-07 Guangzhou Ucweb Computer Technology Co., Ltd Incremental upgrade method, apparatus for applying method and storage medium
CN105739971A (en) * 2016-01-20 2016-07-06 网易(杭州)网络有限公司 Verification file generation method and device and verification file using method and device
CN107239288A (en) * 2014-06-27 2017-10-10 青岛海信移动通信技术股份有限公司 The version upgrading method and device of a kind of mobile terminal
CN108427566A (en) * 2018-03-14 2018-08-21 郑州云海信息技术有限公司 A kind of upgrade method and upgrade-system of server power supply firmware
CN108881261A (en) * 2018-07-02 2018-11-23 山东汇贸电子口岸有限公司 Service authentication method and system based on block chain technology under a kind of container environment
CN109802929A (en) * 2017-11-17 2019-05-24 厦门雅迅网络股份有限公司 Client-side program upgrade method and computer readable storage medium based on dual system
CN110308924A (en) * 2019-05-24 2019-10-08 平安银行股份有限公司 Application program update method, apparatus, electronic equipment and storage medium

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102724308A (en) * 2012-06-13 2012-10-10 腾讯科技(深圳)有限公司 Software update method and software update system
US20160004530A1 (en) * 2012-12-27 2016-01-07 Guangzhou Ucweb Computer Technology Co., Ltd Incremental upgrade method, apparatus for applying method and storage medium
CN107239288A (en) * 2014-06-27 2017-10-10 青岛海信移动通信技术股份有限公司 The version upgrading method and device of a kind of mobile terminal
CN104166565A (en) * 2014-08-11 2014-11-26 成都瑞博慧窗信息技术有限公司 Intelligent display terminal firmware updating method
CN105739971A (en) * 2016-01-20 2016-07-06 网易(杭州)网络有限公司 Verification file generation method and device and verification file using method and device
CN109802929A (en) * 2017-11-17 2019-05-24 厦门雅迅网络股份有限公司 Client-side program upgrade method and computer readable storage medium based on dual system
CN108427566A (en) * 2018-03-14 2018-08-21 郑州云海信息技术有限公司 A kind of upgrade method and upgrade-system of server power supply firmware
CN108881261A (en) * 2018-07-02 2018-11-23 山东汇贸电子口岸有限公司 Service authentication method and system based on block chain technology under a kind of container environment
CN110308924A (en) * 2019-05-24 2019-10-08 平安银行股份有限公司 Application program update method, apparatus, electronic equipment and storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256301A (en) * 2020-10-19 2021-01-22 平安科技(深圳)有限公司 Application online upgrading method, device, equipment and computer readable storage medium
US11573782B2 (en) 2021-01-06 2023-02-07 Red Hat, Inc. Self updating agent

Similar Documents

Publication Publication Date Title
CN110597538B (en) Software upgrading method and OTA upgrading system based on OTA upgrading system
US9881160B2 (en) Methods for firmware signature
CN110008757B (en) Data protection method and system in updating of terminal firmware of Internet of things
CN104166565B (en) A kind of intelligent display terminal firmware upgrade method
CN103460195B (en) For the system and method for security software update
CN109829294B (en) Firmware verification method, system, server and electronic equipment
US20080195868A1 (en) Rollback-Resistant Code-Signing
EP3026557A1 (en) Method and device for providing verifying application integrity
US20080189695A1 (en) Updating of Data Instructions
CN102830992A (en) Plug-in loading method and system
JP2002116838A (en) Device for updating code and method for the same
US20170111166A1 (en) Data transmitting method, server and client
CN104052818A (en) Version upgrade method and device for mobile terminal
CN110784466B (en) Information authentication method, device and equipment
CN112560017B (en) Method for realizing APK unified signature by using three-level certificate authentication
CN111427609A (en) Automatic application upgrading method based on multi-node server
CN107239299B (en) Plug-in upgrading method and device
EP3026559A1 (en) Method and device for providing verifying application integrity
CN110378104A (en) A method of upgrading is anti-to distort
CN111258599A (en) Firmware upgrade method, system and computer readable storage medium
US8646070B1 (en) Verifying authenticity in data storage management systems
CN111158719A (en) Application software upgrading method and device
CN110135149A (en) A kind of method and relevant apparatus of application installation
CN112559005A (en) Internet of things equipment firmware updating method and system based on block chain and distributed storage
CN105068824A (en) Method and device for dividing terminal development mode and product mode

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