CN114296777A - Software upgrading method, device, server and computer readable storage medium - Google Patents

Software upgrading method, device, server and computer readable storage medium Download PDF

Info

Publication number
CN114296777A
CN114296777A CN202111605839.4A CN202111605839A CN114296777A CN 114296777 A CN114296777 A CN 114296777A CN 202111605839 A CN202111605839 A CN 202111605839A CN 114296777 A CN114296777 A CN 114296777A
Authority
CN
China
Prior art keywords
version
installation package
information
software
package
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111605839.4A
Other languages
Chinese (zh)
Inventor
刘均
李河金
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Launch Technology Co Ltd
Original Assignee
Shenzhen Launch Technology 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 Shenzhen Launch Technology Co Ltd filed Critical Shenzhen Launch Technology Co Ltd
Priority to CN202111605839.4A priority Critical patent/CN114296777A/en
Publication of CN114296777A publication Critical patent/CN114296777A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

The application is applicable to the technical field of computers, and provides a software upgrading method, a device, a server and a computer readable storage medium, wherein the method comprises the following steps: receiving an upgrading request sent by terminal equipment, wherein the upgrading request carries current version information of software to be upgraded and target version information of the software to be upgraded; determining a difference upgrade package between the current version information and the target version information of the software to be upgraded in the difference upgrade package list of the software to be upgraded; and pushing the difference upgrading packet to terminal equipment. The method and the device can solve the problems of heavy operation load of the server and low software upgrading speed.

Description

Software upgrading method, device, server and computer readable storage medium
Technical Field
The application belongs to the technical field of computers, and particularly relates to a software upgrading method, a software upgrading device, a server and a computer readable storage medium.
Background
In the process of product development and maintenance, software is often required to be upgraded to change the defects of the original version of software, so as to realize more functions.
However, in the current scheme, operation and maintenance personnel only mount the new version installation package to the server, and when the server receives the upgrade request of each terminal device, the server needs to calculate a difference upgrade package for each terminal device through a complex comparison algorithm before the terminal device is upgraded so as to provide the terminal device with upgrade software; therefore, the operation load of the server is greatly increased, and the software upgrading speed is reduced.
Disclosure of Invention
In view of this, the present application provides a software upgrading method, device, server and computer readable storage medium, which can solve the problems of heavy operation load of the server and slow software upgrading rate.
A first aspect of an embodiment of the present application provides a software upgrading method, where the software upgrading method is applied to a server, and the method includes:
receiving an upgrading request sent by terminal equipment, wherein the upgrading request carries current version information of software to be upgraded and target version information of the software to be upgraded;
determining a difference upgrade package between the current version information and the target version information of the software to be upgraded in the difference upgrade package list of the software to be upgraded;
and pushing the difference upgrading packet to terminal equipment.
In another implementation manner of the first aspect, before receiving the upgrade request sent by the terminal device, the method further includes:
according to the information abstract table of the first version installation package and the information abstract table of the second version installation package of the software to be upgraded, making a difference upgrade package of the first version installation package relative to the second version installation package, wherein the second version is lower than the first version;
and obtaining the difference upgrading packet list according to the difference upgrading packet and the first version and the second version corresponding to the difference upgrading packet.
In another implementation manner of the first aspect, the creating a difference upgrade package of the first version installation package relative to the second version installation package according to the information digest table of the first version installation package and the information digest table of the second version installation package of the software to be upgraded includes:
comparing the information abstract table of the first version installation package with the information abstract table of the second version installation package to obtain an updated file and an added file of the first version installation package relative to the second version installation package;
and packaging the obtained updated file and the newly added file to obtain a difference upgrade package of the first version installation package relative to the second version installation package.
In another implementation manner of the first aspect, before the creating a difference upgrade package of the first version installation package relative to the second version installation package according to the information digest table of the first version installation package and the information digest table of the second version installation package of the software to be upgraded, the method further includes:
acquiring a target version installation package of the released software to be upgraded;
acquiring file information and a storage path of each file in the target version installation package;
generating an information abstract table of the target version installation package according to the file information and the storage path of each file, wherein the target version installation package is an installation package of any version of the software to be upgraded;
correspondingly, the comparing the information abstract table of the first version installation package of the software to be upgraded with the information abstract table of the second version installation package to obtain the updated file and the added file of the first version installation package relative to the second version installation package includes:
comparing the information abstract table of the first version installation package of the software to be upgraded with the information abstract table of the second version installation package, and determining an updated file and an added file of the first version installation package relative to the second version installation package;
determining storage paths of the updated file and the newly added file according to the information abstract table of the first version installation package;
and acquiring the updated file and the newly added file according to the storage paths of the updated file and the newly added file.
In another implementation manner of the first aspect, the determining, according to the current version information of the software to be upgraded and the target version information of the request for upgrading, a difference upgrade package between the current version and the target version of the software to be upgraded includes:
and searching the difference upgrading packet of which the first version is the target version and the second version is the current version from the difference upgrading packet list.
In another implementation manner of the first aspect, after the pushing the difference upgrade package to the terminal device, the method further includes:
and receiving upgrade success information sent by the terminal equipment, wherein the upgrade success information carries version information after the terminal equipment finishes upgrading according to the difference upgrade package pushed by the server.
In another implementation manner of the first aspect, after receiving the upgrade success information sent by the terminal device, the method further includes:
counting the lowest version in the version information of all the terminal devices at a preset period, deleting the installation packages below the lowest version and the difference upgrading packages corresponding to the installation packages below the lowest version, and updating the difference upgrading package list.
A second aspect of the embodiments of the present application provides a software upgrading apparatus, which is applied to a server, and includes:
the system comprises a receiving unit, a processing unit and a processing unit, wherein the receiving unit is used for receiving an upgrading request sent by terminal equipment, and the upgrading request carries current version information of software to be upgraded and target version information of upgrading request;
the searching unit is used for determining a difference upgrading packet between the current version information and the target version information of the software to be upgraded in the difference upgrading packet list of the software to be upgraded;
and the pushing unit is used for pushing the difference upgrading packet to the terminal equipment.
A third aspect of embodiments of the present application provides a server comprising a processor configured to execute a computer program stored in a memory to implement the method according to any one of the first aspect above.
A fourth aspect of embodiments of the present application provides a computer-readable storage medium having stored thereon a computer program which, when run on a processor, implements the method of any one of the first aspects of the present application.
The software upgrading method provided by the embodiment of the application is applied to a server, wherein a difference upgrading package list is stored in the server, the difference upgrading package list comprises difference upgrading packages of high-version installation packages relative to each low-version installation package, and the high-version installation packages and the low-version installation packages are installation packages of the same software. When a server receives an upgrading request sent by a terminal device, the server determines a difference upgrading package between the current version information and the target version information of the software to be upgraded in a difference upgrading package list of the software to be upgraded according to the current version information of the software to be upgraded and the target version information of the software to be upgraded carried in the upgrading request, and pushes the determined difference upgrading package to the terminal device for the terminal device to upgrade the software. Compared with the prior art, the software upgrading method provided by the application does not need to calculate the difference upgrading packet for each terminal device through a complex comparison algorithm before the terminal device is upgraded when the server receives the upgrading request sent by each terminal device. Therefore, the operation load of the server is reduced, and the software upgrading speed is greatly improved.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without exceeding the protection scope of the present application.
Fig. 1 illustrates a flowchart of a software upgrading method provided in an embodiment of the present application;
FIG. 2 is a flowchart illustrating a software upgrading method according to another embodiment of the present application;
FIG. 3 is a flowchart illustrating a software upgrading method according to another embodiment of the present application;
FIG. 4 is a flowchart illustrating a software upgrade method according to another embodiment of the present application;
FIG. 5 is a schematic diagram illustrating a table of digests generated for a target version installation package according to an embodiment of the present application;
FIG. 6 is a flowchart illustrating a software upgrade method according to another embodiment of the present application;
fig. 7 is a schematic diagram illustrating a table of summaries of information generated for a second version installation package according to an embodiment of the present application;
FIG. 8 is a flowchart illustrating a software upgrade method according to another embodiment of the present application;
FIG. 9 is a flowchart illustrating a software upgrade method according to another embodiment of the present application;
fig. 10 is a schematic diagram illustrating a component structure of a software upgrading device provided in an embodiment of the present application;
fig. 11 shows a schematic structural diagram of a server according to an embodiment of the present application.
Detailed Description
The software upgrading method is applied to a server, wherein a difference upgrading package list is stored in the server, the difference upgrading package list comprises difference upgrading packages of high-version installation packages relative to each low-version installation package, and it needs to be noted that the high-version installation packages and each low-version installation package in the software upgrading method are installation packages of the same software.
When the server receives an upgrading request sent by the terminal equipment, the server determines a difference upgrading packet between the current version information of the software to be upgraded and the target version information of the upgrading request in a difference upgrading packet list according to the current version information of the software to be upgraded and the target version information of the upgrading request carried in the upgrading request, and pushes the difference upgrading packet to the terminal equipment for upgrading the terminal equipment after determining the difference upgrading packet between the current version information and the target version information. Compared with the prior art, the method and the device have the advantages that when the server receives the upgrading request sent by the terminal equipment, the server does not need to calculate the difference upgrading packet for each terminal equipment through a complex comparison algorithm before the terminal equipment is upgraded, so that the terminal equipment can be upgraded. Therefore, the operation load of the server is reduced, and the software upgrading speed is greatly improved.
Referring to fig. 1, fig. 1 is a schematic flowchart of a software upgrading method according to an embodiment of the present disclosure.
And S11, receiving an upgrade request sent by the terminal equipment, wherein the upgrade request carries the current version information of the software to be upgraded and the target version information of the upgrade request.
The terminal device in the embodiment of the application can be various terminal devices such as a mobile phone, a Personal Computer (PC), a tablet personal computer, a smart watch and an industrial personal computer, and various system software or application software (such as vehicle diagnosis software, WeChat, QQ, Taobao and the like) is installed in the terminal device.
As an example, assuming that a new version8.0 is newly issued by the vehicle diagnostic software, the latest version8.0 can enable the vehicle to have a constant-speed CRUISE function by writing an activation or trigger instruction into the vehicle, where constant-speed CRUISE (CCS) is a speed value set for the vehicle, and the driver only needs to master the direction, and the vehicle automatically accelerates or decelerates the accelerator according to the vehicle speed to keep the set vehicle speed. Therefore, the driver can relax both feet, and the fuel can be saved.
When the current version of the vehicle diagnostic software is low, so that the diagnostic service provider cannot provide the constant-speed cruise function for the vehicle of the client, the diagnostic service provider can click a 'check new version' mode in the vehicle diagnostic software and send an upgrade request to the server, wherein the upgrade request carries the current version information of the vehicle diagnostic software and target version information (such as version8.0) requesting for upgrading. After receiving the upgrade request sent by the terminal equipment where the vehicle diagnosis software is located, the server can provide corresponding upgrade service for the vehicle diagnosis software according to the current version information and the target version information of the vehicle diagnosis software carried in the upgrade request. For example, after receiving the upgrade request, the server returns a configuration file to the terminal device where the vehicle diagnostic software is located, where the configuration file includes version information and a download address of version8.0 of the vehicle diagnostic software, and after receiving the configuration file sent by the server, the terminal device where the vehicle diagnostic software is located downloads version8.0 from the server according to a URL download address in the configuration file, and prompts the diagnostic service provider to update the version. After the version update is completed, the diagnostic service provider can provide the constant speed cruise function for the vehicle of the customer.
Certainly, in practical application, when the diagnostic service provider uses the vehicle diagnostic software, the vehicle diagnostic software also sends a prompt message for upgrading the current version information to the diagnostic service provider, and after the diagnostic service provider operates and upgrades the vehicle diagnostic software, the server can receive an upgrade request sent by the terminal device where the vehicle diagnostic software is located, and provide upgrade service for the terminal device according to the version information of the current vehicle diagnostic software and the target version information of the upgrade request, which are carried in the upgrade request.
In addition, the diagnosis service provider can set the vehicle diagnosis software in the terminal equipment where the vehicle diagnosis software is located to automatically update the current old version when the new version is detected to be released. Certainly, when the vehicle diagnosis software is automatically updated, the terminal device where the vehicle diagnosis software is located also sends an upgrade request to the server, and after receiving the upgrade request, the server provides corresponding upgrade service for the terminal device where the vehicle diagnosis software is located according to the current version information of the vehicle diagnosis software and the target version information (which is the information of the latest release version) of the vehicle diagnosis software carried in the upgrade request.
And S12, determining the difference upgrade package between the current version information and the target version information of the software to be upgraded in the difference upgrade package list of the software to be upgraded.
In this embodiment of the present application, a difference upgrade package list is stored in a server, where the difference upgrade package list includes a difference upgrade package of a high version installation package relative to each low version installation package, and it should be noted that the high version installation package and each low version installation package in this embodiment of the present application are both installation packages of software to be upgraded.
As an example, if the current version information of the vehicle diagnostic software to be upgraded, which is carried in the upgrade request received by the server, is version7.0, and the target version information requested to be upgraded is version8.0, the server may find the difference upgrade patch between the current version7.0 and the target version8.0 of the vehicle diagnostic software from the difference upgrade patch list stored in advance.
And S13, pushing the difference upgrading package to the terminal equipment.
In the embodiment of the application, after the server determines the difference upgrade package between the current version information and the target version information of the software to be upgraded from the difference upgrade package list of the software to be upgraded, the server pushes the determined difference upgrade package to the terminal device, so that the terminal device can upgrade the vehicle diagnosis software of the current version7.0 according to the difference upgrade package.
Referring to fig. 2, in another embodiment of the present application, before receiving an upgrade request sent by a terminal device, the method further includes:
and S21, according to the information abstract table of the first version installation package and the information abstract table of the second version installation package of the software to be upgraded, making a difference upgrade package of the first version installation package relative to the second version installation package, wherein the second version is lower than the first version.
In the embodiment of the application, the first version installation package and the second version installation package are installation packages of different versions of software to be upgraded, wherein the first version is higher than the second version.
In addition, the information summary tables of the installation packages of different versions are different, wherein the information summary tables comprise file information of each file in the installation packages and storage paths of each file in the installation packages. It should be noted that the file information of each file is unique, and any change of the file will cause the file information of the file to be changed.
In this regard, a differential upgrade package of the first version installation package with respect to the second version installation package may be created based on the information digest table of the first version installation package and the information digest table of the second version installation package.
As an example, it is assumed that the vehicle diagnostic software has currently released 8 versions of installation packages in total, and the 8 versions are version1.0, version2.0, version3.0, version4.0, version5.0, version6.0, version7.0, and version8.0 in order from low to high.
Then, when the first version is version8.0, the second version is any one of version1.0, version2.0, version3.0, version4.0, version5.0, version6.0 and version 7.0; of course, the differential upgrade package of the first version installation package with respect to the second version installation package may be a differential upgrade package of version8.0 with respect to version7.0, a differential upgrade package of version8.0 with respect to version6.0, a differential upgrade package of version8.0 with respect to version5.0, a differential upgrade package of version8.0 with respect to version4.0, a differential upgrade package of version8.0 with respect to version3.0, a differential upgrade package of version8.0 with respect to version2.0, and a differential upgrade package of version8.0 with respect to version 1.0.
When the first version is Version7.0, the second version is any one of Version1.0, Version2.0, Version3.0, Version4.0, Version5.0 and Version 6.0; of course, the differential upgrade package of the first version installation package relative to the second version installation package may be a differential upgrade package of version7.0 relative to version6.0, a differential upgrade package of version7.0 relative to version5.0, a differential upgrade package of version7.0 relative to version4.0, a differential upgrade package of version7.0 relative to version3.0, a differential upgrade package of version7.0 relative to version2.0, a differential upgrade package of version7.0 relative to version 1.0.
When the first version is Version6.0, the second version is any one of Version1.0, Version2.0, Version3.0, Version4.0 and Version 5.0; of course, the differential upgrade package of the first version installation package relative to the second version installation package may be a differential upgrade package of version6.0 relative to version5.0, a differential upgrade package of version6.0 relative to version4.0, a differential upgrade package of version6.0 relative to version3.0, a differential upgrade package of version6.0 relative to version2.0, a differential upgrade package of version6.0 relative to version 1.0.
When the first version is Version5.0, the second version is any one of Version1.0, Version2.0, Version3.0 and Version 4.0; of course, the differential upgrade package of the first version installation package relative to the second version installation package may be a differential upgrade package of version5.0 relative to version4.0, a differential upgrade package of version5.0 relative to version3.0, a differential upgrade package of version5.0 relative to version2.0, a differential upgrade package of version5.0 relative to version 1.0.
When the first version is Version4.0, the second version is any one of Version1.0, Version2.0 and Version 3.0; of course, the difference upgrade package of the first version installation package relative to the second version installation package may be a difference upgrade package of version4.0 relative to version3.0, a difference upgrade package of version4.0 relative to version2.0, a difference upgrade package of version4.0 relative to version 1.0.
When the first version is Version3.0, the second version is any one of Version1.0 and Version 2.0; of course, the difference upgrade package of the first version installation package relative to the second version installation package may be a difference upgrade package of version3.0 relative to version2.0, a difference upgrade package of version3.0 relative to version 1.0.
When the first version is Version2.0, the second version is Version 1.0; then, the difference upgrade package of the first version installation package relative to the second version installation package is the difference upgrade package of version2.0 relative to version 1.0.
And S22, obtaining a difference upgrade package list according to the difference upgrade package and the first version and the second version corresponding to the difference upgrade package.
As an example, a difference upgrade package list is manufactured according to the first version, the second version and the difference upgrade package of the first version relative to the second version obtained in S21, and the manufactured difference upgrade package list is stored in the server, so that the server pushes the corresponding difference upgrade package for the terminal device according to the current version information of the software to be upgraded and the target version information of the request for upgrading, which are carried in the upgrade request, after receiving the upgrade request sent by the terminal device each time.
By way of example, the information included in the differential upgrade package list may be found in the following table: differential upgrade package list
First version Second edition Differential upgrade package for a first version versus a second version
Version8.0 Version7.0 Difference upgrade package 8_7
Version8.0 Version6.0 Difference upgrade package 8_6
Version8.0 Version5.0 Difference upgrade package 8_5
Version8.0 Version4.0 Difference upgrade package 8_4
Version8.0 Version3.0 Difference upgrade package 8_3
Version8.0 Version2.0 Difference upgrade package 8_2
Version8.0 Version1.0 Difference upgrade package 8_1
Version7.0 Version6.0 Difference upgrade package 7_6
Version7.0 Version5.0 Difference upgrade package 7_5
Version7.0 Version4.0 Difference upgrade package 7_4
Version7.0 Version3.0 Difference upgrade package 7_3
Version7.0 Version2.0 Difference upgrade package 7_2
Version7.0 Version1.0 Difference upgrade package 7_1
Version6.0 Version5.0 Difference upgrade package 6_5
Version6.0 Version4.0 Difference upgrade package 6_4
Version6.0 Version3.0 Difference upgrade package 6_3
Version6.0 Version2.0 Difference upgrade package 6_2
Version6.0 Version1.0 Difference upgrade package 6_1
Version5.0 Version4.0 Difference upgrade package 5_4
Version5.0 Version3.0 Difference upgrade package 5_3
Version5.0 Version2.0 Difference upgrade package 5_2
Version5.0 Version1.0 Difference upgrade package 5_1
Version4.0 Version3.0 Difference upgrade package 4_3
Version4.0 Version2.0 Difference upgrade package 4_2
Version4.0 Version1.0 Difference upgrade package 4_1
Version3.0 Version2.0 Difference upgrade package 3_2
Version3.0 Version1.0 Difference upgrade package 3_1
Version2.0 Version1.0 Difference upgrade package 2_1
Referring to fig. 3, in another embodiment of the present application, creating a differential upgrade package of a first version installation package relative to a second version installation package according to an information digest table of the first version installation package and an information digest table of the second version installation package of software to be upgraded includes:
s2101, the information abstract table of the first version installation package is compared with the information abstract table of the second version installation package to obtain an updated file and an added file of the first version installation package relative to the second version installation package.
In this embodiment of the application, as described in S21, the first version installation package and the second version installation package are both installation packages of different versions of software to be upgraded, where the first version is higher than the second version, and the information summary table of the first version installation package and the information summary table of the second version installation package are different. Therefore, the information abstract table of the first version installation package is compared with the information abstract table of the second version installation package, and the updated file and the added file of the first version installation package relative to the second version installation package can be obtained.
As an example, assuming that the first version is version8.0 and the second version is version7.0, by comparing the information digest table of the version8.0 installation package with the information digest table of the version7.0 installation package, the newly added file and the updated file of the version8.0 installation package relative to the version7.0 installation package can be obtained.
S2102, packaging the obtained updated file and the newly added file, and obtaining a difference upgrade package of the first version installation package relative to the second version installation package.
As an example, in the embodiment of the present application, the newly added file and the updated file of the obtained version8.0 installation package relative to the version7.0 installation package are packaged to obtain a difference upgrade package of the version8.0 installation package relative to the version7.0 installation package.
Referring to fig. 4, in another embodiment of the present application, before creating a difference upgrade package of a first version installation package relative to a second version installation package according to an information digest table of the first version installation package and an information digest table of the second version installation package of software to be upgraded, the method further includes:
and S31, acquiring the target version installation package of the released software to be upgraded.
In the embodiment of the application, the target version installation package can be any version installation package of the software to be upgraded.
As an example, after the server obtains a target version installation package deployed by an operation and maintenance worker on the server, the server may calculate and generate file information for each file in the target version installation package through a preset algorithm. For example, the preset Algorithm may be a fifth version Message Digest Algorithm (MD 5) or a Secure Hash Algorithm (SHAI), and the common feature of the two algorithms is that an original Message such as a character string or a file can be converted into a smaller binary value with a fixed length.
By way of example, taking the MD5 algorithm as an example, the MD5 value (i.e., the information digest in the present application) of the same file is unique, and any change will cause a change in the MD5 value, so the MD5 value can be used as a unique identifier for each file in the target version installation package.
And S32, acquiring the file information and the storage path of each file in the target version installation package.
As an example, in this embodiment, it is assumed that a target version installation package includes a file 1, a first folder, and a second folder, where the first folder includes a file 2 and a third folder, the second folder includes a file 3 and a fourth folder, the third folder includes a file 4 and a fifth folder, the fourth folder includes a file 5 and a file 6, the fifth folder includes a file 7, a file 8, and a file 9, and each file in the target version installation package carries a unique identity, that is, file information.
In the embodiment of the application, the server may obtain the storage path of each file in the target version installation package according to the position of each file (file 1, file 2, file 3, file 4, file 5, file 6, file 7, file 8, and file 9) in the target version installation package.
And S33, generating an information abstract table of the target version installation package according to the file information and the storage path of each file.
In this embodiment of the application, an information summary table is generated for the target version installation package according to the file information of each file in the target version installation package obtained in S32 and the storage path of each file in the target version installation package. After the message digest table is generated for the target version installation package, the server stores the message digest table in a specific data structure storage manner.
By way of example, referring to FIG. 5, FIG. 5 is a table of message digests generated for a target version installation package.
Referring to fig. 6, in another embodiment of the present application, comparing an information summary table of a first version installation package of software to be upgraded with an information summary table of a second version installation package to obtain an updated file and an added file of the first version installation package relative to the second version installation package includes:
and S41, comparing the information abstract table of the first version installation package of the software to be upgraded with the information abstract table of the second version installation package, and determining the updated file and the newly added file of the first version installation package relative to the second version installation package.
As an example, it is assumed here that the first version installation package is a target version installation package, that is, the information summary table generated for the first version installation package can be referred to fig. 5.
Referring to fig. 7, an information summary table is generated for the second version installation package according to the acquired file information of each file in the second version installation package and the storage path of each file in the second version installation package.
By comparing the information digest table of the first version installation package in fig. 5 with the information digest table of the second version installation package in fig. 7 (actually, whether the file information of each file in the information digest table is consistent or not is compared), it can be determined that the file information of the file 2 in the information digest table of the first version installation package is inconsistent with the file information 2 of the file 2 in the information digest table of the second version installation package, the file information of the file 5 in the information digest table of the first version installation package is inconsistent with the file information of the file 5 in the information digest table of the second version installation package, and the information digest table of the first version installation package is newly added with the file information 9 with respect to the information digest table of the second version installation package. In this way, it can be determined that the new files of the first version installation package relative to the second version installation package are the file 9, and the updated files are the file 2 and the file 5.
And S42, determining the storage paths of the updated file and the added file according to the information abstract table of the first version installation package.
In the embodiment of the application, after the new file and the updated file of the first version installation package relative to the second version installation package are determined, the storage paths of the new file and the updated file in the first version installation package can be determined.
By way of example, referring to FIG. 5, the newly added file 9 is located in a fifth folder in the first version of the package, the update file 2 is located in the first folder in the first version of the package, and the update file 5 is located in a fourth folder in the first version of the package.
And S43, acquiring the updated file and the newly added file according to the storage paths of the updated file and the newly added file.
As an example, after determining that the added file of the first version installation package relative to the second version installation package is the file 9, the added file of the first version installation package relative to the second version installation package is the file 2 and the file 5, and the added file 9 is located in the fifth folder in the first version installation package, the update file 2 is located in the first folder in the first version installation package, and the update file 5 is located in the fourth folder in the first version installation package, according to the information digest table of the first version installation package and the information digest table of the second version installation package, the added file 9, the update file 2, and the update file 5 can be obtained from the first version installation package.
In another embodiment of the present application, determining a differential upgrade package between a current version and a target version of software to be upgraded according to current version information of the software to be upgraded and target version information of a request for upgrading includes:
and searching the difference upgrading packet of which the first version is the target version and the second version is the current version from the difference upgrading packet list.
As an example, it is assumed that the current version information of the vehicle diagnostic software to be upgraded, which is carried in the upgrade request received by the server, is version7.0, and when the target version information of the upgrade request is version8.0, the server finds, from the difference upgrade package list stored in advance, the difference upgrade package 8_7 in which the first version is version8.0 (i.e., the first version is the target version) and the second version is version7.0 (i.e., the second version is the current version), and the version8.0 is relative to the version 7.0.
Referring to fig. 8, in another embodiment of the present application, after pushing the difference upgrade package to the terminal device, the method further includes:
and S14, receiving upgrade success information sent by the terminal device, wherein the upgrade success information carries version information after the terminal device completes upgrading according to the difference common upgrade package pushed by the server.
In the embodiment of the application, after the server pushes the difference upgrade package to the terminal device, the terminal device can install and execute the difference upgrade package to upgrade and update the software to be upgraded. After the upgrade and update are completed, the terminal device returns an upgrade success message to the server, wherein the upgrade success message carries the version information of the software to be upgraded in the terminal device after the upgrade is completed.
As an example, in an upgrade request sent by a terminal device to a server, assuming that current version information of vehicle diagnostic software to be upgraded is version7.0, target version information of the upgrade request is version8.0, the server searches a difference upgrade package 8_7 of version8.0 relative to version7.0 from a difference package list according to the upgrade request, then pushes the difference upgrade package to the terminal device, and after finishing upgrading according to the difference upgrade package 8_7 pushed by the server, the terminal device sends upgrade success information to the server, wherein the upgrade success information includes version information of the vehicle diagnostic software after the upgrade is successful, and the server receives the upgrade success information sent by the terminal device, and can complete the upgrade record. The record includes an identifier of a terminal device where the vehicle diagnostic software is installed and version information version8.0 of current vehicle diagnostic software in the terminal device, where the identifier of the terminal device may be an identity of the terminal device recorded by the server when the user requests the server to download the installation package through the terminal device, such as a physical MAC address of the terminal device.
Referring to fig. 9, in another embodiment of the present application, after receiving the upgrade success information sent by the terminal device, the method further includes:
and S15, counting the lowest version in the version information of all the terminal devices at a preset period, deleting the installation packages below the lowest version and the difference upgrade packages corresponding to the installation packages below the lowest version, and updating the difference upgrade package list.
In this embodiment of the application, the server may count the lowest version of the version information of all the terminal devices according to a preset period (for example, every week or every half month), and assuming that the version information of all the terminal devices recorded by the server is version3.0, version4.0, version5.0, version6.0, version7.0, and version8.0, that is, the lowest version is version3.0, at this time, the server may delete an installation package below the version3.0 and a difference upgrade package corresponding to an installation package below the version 3.0.
As an example, the server deletes the version of version3.0, the version of version2.0, the version of version1.0, the version of version3.0 relative to the version of version2.0, the version of version3.0 relative to the version of version1.0, and the version of version2.0 relative to the version of version1.0 together to obtain an updated version of version2, thereby saving resources for the server.
Each terminal device in all the counted terminal devices corresponds to a unique identity, and the identity is information of the terminal device recorded by the server when a user requests to download an installation package of software from the server through the terminal device (for example, a mobile phone, a PC, a tablet computer, a smart watch, and the like).
By way of example, all the terminal devices in the embodiments of the present application are terminal devices that have downloaded any version of the installation package of the vehicle diagnosis software from the server.
Referring to fig. 10, fig. 10 is a schematic structural diagram of a software upgrading apparatus provided in an embodiment of the present application, where the software upgrading apparatus 10 is applied to a server, and the software upgrading apparatus 10 of the embodiment includes:
a receiving unit 1010, configured to receive an upgrade request sent by a terminal device, where the upgrade request carries current version information of software to be upgraded and target version information of the software to be upgraded;
a searching unit 1020, configured to determine a difference upgrade package between the current version information and the target version information of the software to be upgraded in the difference upgrade package list of the software to be upgraded;
a pushing unit 1030, configured to push the difference upgrade package to a terminal device.
In another embodiment of the present application, the software upgrading apparatus further includes:
the software upgrading method includes a making unit 1040 and an obtaining unit 1050, where the making unit 1040 is configured to make a difference upgrade package of a first version installation package relative to a second version installation package of the software to be upgraded according to an information digest table of the first version installation package and an information digest table of the second version installation package, where the second version is lower than the first version.
An obtaining unit 1050, configured to obtain the difference upgrade package list according to the difference upgrade package and the first version and the second version corresponding to the difference upgrade package.
In another embodiment of the present application, the making unit 1040 is further configured to: comparing the information abstract table of the first version installation package with the information abstract table of the second version installation package to obtain an updated file and an added file of the first version installation package relative to the second version installation package;
and packaging the obtained updated file and the newly added file to obtain a difference upgrade package of the first version installation package relative to the second version installation package.
In another embodiment of the present application, the obtaining unit 1050 is further configured to:
acquiring a target version installation package of the released software to be upgraded;
and acquiring the file information and the storage path of each file in the target version installation package.
In another embodiment of the present application, the software upgrading apparatus further includes:
a generating unit 1060, configured to generate an information summary table of the target version installation package according to the file information and the storage path of each file, where the target version installation package is an installation package of any version of the software to be upgraded.
In another embodiment of the present application, the making unit 1040 is further configured to: comparing the information abstract table of the first version installation package of the software to be upgraded with the information abstract table of the second version installation package, and determining an updated file and an added file of the first version installation package relative to the second version installation package;
determining storage paths of the updated file and the newly added file according to the information abstract table of the first version installation package;
and acquiring the updated file and the newly added file according to the storage paths of the updated file and the newly added file.
In another embodiment of the present application, the lookup unit 1020 is further configured to:
and searching the difference upgrading packet of which the first version is the target version and the second version is the current version from the difference upgrading packet list.
In another embodiment of the present application, the receiving unit 1010 is further configured to:
and receiving upgrade success information sent by the terminal equipment, wherein the upgrade success information carries version information after the terminal equipment finishes upgrading according to the difference upgrade package pushed by the server.
In another embodiment of the present application, the software upgrading apparatus further includes:
a counting unit 1070, configured to count the lowest version in the version information of all the terminal devices at a preset period, delete the installation package below the lowest version and the difference upgrade package corresponding to the installation package below the lowest version, and update the difference upgrade package list.
It should be noted that the execution process and mutual information interaction between the above-mentioned devices/units are based on the same concept as the software upgrading method provided in the embodiments of the present application, and specific functions and technical effects thereof may be referred to in the method embodiment section specifically, and are not described herein again.
Referring to fig. 11, fig. 11 is a schematic structural diagram of a server according to an embodiment of the present application, where the server 11 according to the embodiment includes:
one or more processors 1101, a memory 1102, and a computer program 1103 stored in the memory 1102 and operable on the processors 1101. The processor 1101, when executing the computer program 1103, implements the steps in the various method embodiments described above, such as the steps S11 to S13 shown in fig. 1.
Illustratively, the computer program 1103 may be divided into one or more units, and the one or more units are stored in the memory 1102 and executed by the processor 1101 to implement the present application, and the one or more units may be a series of computer program instruction segments capable of performing specific functions, which are used to describe the execution process of the computer program 1103 in the server 11. For example, the computer program 1103 may be divided into several units, exemplarily:
a receiving unit 1010, configured to receive an upgrade request sent by a terminal device, where the upgrade request carries current version information of software to be upgraded and target version information of the software to be upgraded;
a searching unit 1020, configured to determine a difference upgrade package between the current version information and the target version information of the software to be upgraded in the difference upgrade package list of the software to be upgraded;
a pushing unit 1030, configured to push the difference upgrade package to a terminal device.
The server includes, but is not limited to, a processor 1101, a memory 1102. Those skilled in the art will appreciate that fig. 11 is merely an example of a server 11, and does not constitute a limitation of server 11, and may include more or fewer components than shown, or some components in combination, or different components, e.g., server 11 may also include input devices, output devices, network access devices, buses, etc.
The Processor 1101 may be a Central Processing Unit (CPU), other general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf Programmable Gate Array (FPGA) or other Programmable logic device, discrete Gate or transistor logic device, discrete hardware component, etc. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The storage 1102 may be an internal storage unit of the server 11, such as a hard disk or a memory of the server 11. The memory 1102 may also be an external storage device of the server 11, such as a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), and the like, which are provided on the server 11. Further, the memory 1102 may also include both an internal storage unit and an external storage device of the server 11. The memory 1102 is used for storing the computer programs and other programs and data required by the server 11. The memory 1102 may also be used to temporarily store data that has been output or is to be output.
In the above embodiments, the descriptions of the respective embodiments have respective emphasis, and reference may be made to the related descriptions of other embodiments for parts that are not described or illustrated in a certain embodiment.
Another embodiment of the present application provides a computer-readable storage medium. The software upgrading method provided by the embodiment of the application can be stored in a computer readable storage medium if the software upgrading method is realized in the form of a software functional unit and is sold or used as an independent product. Based on such understanding, all or part of the flow of the method of the embodiments described above can be realized by a computer program, which can be stored in a computer-readable storage medium and can realize the steps of the method embodiments described above when the computer program is executed by one or more processors.
Also, as a computer program product, when the computer program product runs on a terminal device, the terminal device is enabled to implement the steps in the above-mentioned method embodiments when executed.
Wherein the computer program comprises computer program code, which may be in the form of source code, object code, an executable file or some intermediate form, etc. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, usb disk, removable hard disk, magnetic disk, optical disk, computer Memory, Read-Only Memory (ROM), Random Access Memory (RAM), electrical carrier wave signals, telecommunications signals, software distribution medium, and the like. It should be noted that the computer readable medium may contain other components which may be suitably increased or decreased as required by legislation and patent practice in jurisdictions, for example, in some jurisdictions, computer readable media which may not include electrical carrier signals and telecommunications signals in accordance with legislation and patent practice.
The above-mentioned embodiments are only used for illustrating the technical solutions of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; such modifications and substitutions do not substantially depart from the spirit and scope of the embodiments of the present application and are intended to be included within the scope of the present application.

Claims (10)

1. A software upgrading method is applied to a server, and the method comprises the following steps:
receiving an upgrading request sent by terminal equipment, wherein the upgrading request carries current version information of software to be upgraded and target version information of the software to be upgraded;
determining a difference upgrade package between the current version information and the target version information of the software to be upgraded in the difference upgrade package list of the software to be upgraded;
and pushing the difference upgrading packet to terminal equipment.
2. The method of claim 1, wherein prior to receiving the upgrade request sent by the terminal device, the method further comprises:
according to the information abstract table of the first version installation package and the information abstract table of the second version installation package of the software to be upgraded, making a difference upgrade package of the first version installation package relative to the second version installation package, wherein the second version is lower than the first version;
and obtaining the difference upgrading packet list according to the difference upgrading packet and the first version and the second version corresponding to the difference upgrading packet.
3. The method of claim 2, wherein the step of creating a differential upgrade package of the first version installation package relative to the second version installation package according to the information digest table of the first version installation package and the information digest table of the second version installation package of the software to be upgraded comprises:
comparing the information abstract table of the first version installation package with the information abstract table of the second version installation package to obtain an updated file and an added file of the first version installation package relative to the second version installation package;
and packaging the obtained updated file and the newly added file to obtain a difference upgrade package of the first version installation package relative to the second version installation package.
4. The method of claim 3, wherein before the creating the differential upgrade package for the first version installation package relative to the second version installation package according to the message digest table of the first version installation package and the message digest table of the second version installation package of the software to be upgraded, the method further comprises:
acquiring a target version installation package of the released software to be upgraded;
acquiring file information and a storage path of each file in the target version installation package;
generating an information abstract table of the target version installation package according to the file information and the storage path of each file, wherein the target version installation package is an installation package of any version of the software to be upgraded;
correspondingly, the comparing the information abstract table of the first version installation package of the software to be upgraded with the information abstract table of the second version installation package to obtain the updated file and the added file of the first version installation package relative to the second version installation package includes:
comparing the information abstract table of the first version installation package of the software to be upgraded with the information abstract table of the second version installation package, and determining an updated file and an added file of the first version installation package relative to the second version installation package;
determining storage paths of the updated file and the newly added file according to the information abstract table of the first version installation package;
and acquiring the updated file and the newly added file according to the storage paths of the updated file and the newly added file.
5. The method as claimed in claim 2, wherein the determining the differential upgrade package between the current version and the target version of the software to be upgraded according to the current version information of the software to be upgraded and the target version information of the upgrade request comprises:
and searching the difference upgrading packet of which the first version is the target version and the second version is the current version from the difference upgrading packet list.
6. The method of claim 1, wherein after pushing the differential upgrade package to a terminal device, the method further comprises:
and receiving upgrade success information sent by the terminal equipment, wherein the upgrade success information carries version information after the terminal equipment finishes upgrading according to the difference upgrade package pushed by the server.
7. The method of claim 6, wherein after receiving the upgrade success information sent by the terminal device, the method further comprises:
counting the lowest version in the version information of all the terminal devices at a preset period, deleting the installation packages below the lowest version and the difference upgrading packages corresponding to the installation packages below the lowest version, and updating the difference upgrading package list.
8. A software upgrading device is applied to a server and comprises the following components:
the system comprises a receiving unit, a processing unit and a processing unit, wherein the receiving unit is used for receiving an upgrading request sent by terminal equipment, and the upgrading request carries current version information of software to be upgraded and target version information of upgrading request;
the searching unit is used for determining a difference upgrading packet between the current version information and the target version information of the software to be upgraded in the difference upgrading packet list of the software to be upgraded;
and the pushing unit is used for pushing the difference upgrading packet to the terminal equipment.
9. A server, comprising a processor for executing a computer program stored in a memory to implement a software upgrade method as claimed in any one of claims 1 to 7.
10. A computer-readable storage medium, in which a computer program is stored which, when run on a processor, implements a software upgrade method as claimed in any one of claims 1 to 7.
CN202111605839.4A 2021-12-25 2021-12-25 Software upgrading method, device, server and computer readable storage medium Pending CN114296777A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111605839.4A CN114296777A (en) 2021-12-25 2021-12-25 Software upgrading method, device, server and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111605839.4A CN114296777A (en) 2021-12-25 2021-12-25 Software upgrading method, device, server and computer readable storage medium

Publications (1)

Publication Number Publication Date
CN114296777A true CN114296777A (en) 2022-04-08

Family

ID=80969219

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111605839.4A Pending CN114296777A (en) 2021-12-25 2021-12-25 Software upgrading method, device, server and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN114296777A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114785685A (en) * 2022-04-12 2022-07-22 北京奕斯伟计算技术有限公司 Software differential upgrading method and device, electronic equipment and readable storage medium
CN115658091A (en) * 2022-10-25 2023-01-31 广州汽车集团股份有限公司 Software distribution method and device, computer equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102902555A (en) * 2012-09-06 2013-01-30 华为终端有限公司 Upgrading method, unit and upgrading device
CN103136013A (en) * 2011-12-01 2013-06-05 腾讯科技(深圳)有限公司 Method and system of software upgrade
CN106293793A (en) * 2015-06-02 2017-01-04 西安中兴新软件有限责任公司 The method for upgrading software of a kind of terminal, device and system
CN106603311A (en) * 2017-01-18 2017-04-26 北京洋浦伟业科技发展有限公司 OTA upgrade method, client, server and system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136013A (en) * 2011-12-01 2013-06-05 腾讯科技(深圳)有限公司 Method and system of software upgrade
CN102902555A (en) * 2012-09-06 2013-01-30 华为终端有限公司 Upgrading method, unit and upgrading device
CN106293793A (en) * 2015-06-02 2017-01-04 西安中兴新软件有限责任公司 The method for upgrading software of a kind of terminal, device and system
CN106603311A (en) * 2017-01-18 2017-04-26 北京洋浦伟业科技发展有限公司 OTA upgrade method, client, server and system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114785685A (en) * 2022-04-12 2022-07-22 北京奕斯伟计算技术有限公司 Software differential upgrading method and device, electronic equipment and readable storage medium
CN115658091A (en) * 2022-10-25 2023-01-31 广州汽车集团股份有限公司 Software distribution method and device, computer equipment and storage medium
CN115658091B (en) * 2022-10-25 2024-04-16 广州汽车集团股份有限公司 Software release method, device, computer equipment and storage medium

Similar Documents

Publication Publication Date Title
CN107025559B (en) Service processing method and device
US7665081B1 (en) System and method for difference-based software updating
US9552201B2 (en) System and method for incremental software installation
CN108037946B (en) Method, system and server for hot updating of application program
CN106462430B (en) Application upgrade package obtaining method and device
CN114296777A (en) Software upgrading method, device, server and computer readable storage medium
US20100318968A1 (en) Catalog-based software component management
CN102982258A (en) System for conducting original-edition check to mobile application program
JP2021512391A (en) Distributing shaders across client machines for pre-caching
CN104699511A (en) Plug-in upgrading method and plug-in upgrading device
CN110543324B (en) Plug-in increment updating method and device for application program
CN107239299B (en) Plug-in upgrading method and device
CN107844306B (en) Application program repairing method and device, storage medium and terminal
CN111694589B (en) Upgrade package generation method, device, server and computer readable storage medium
CN110765394A (en) So file loading method and device, storage medium and terminal equipment
CN111694638A (en) Rule package loading method, rule package executing method and terminal equipment
US10725771B2 (en) Artifact transformation in network devices
CN111343267B (en) Configuration management method and system
CN104731623A (en) Method and device for starting plug-in in main program
US11379215B1 (en) Application-update techniques
US20210349855A1 (en) Method of data structuring for difference between old and new data and device thereof
CN111273920A (en) Method and device for writing data into installation package and storage medium
CN112068874A (en) Software project continuous integration method and device, terminal equipment and storage medium
CN112199104A (en) Software upgrading method and device, electronic equipment and storage medium
CN112416386A (en) Method, device, system and medium for software upgrading

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