[go: up one dir, main page]

CN103902299A - Software version updating method and system - Google Patents

Software version updating method and system Download PDF

Info

Publication number
CN103902299A
CN103902299A CN201210567970.0A CN201210567970A CN103902299A CN 103902299 A CN103902299 A CN 103902299A CN 201210567970 A CN201210567970 A CN 201210567970A CN 103902299 A CN103902299 A CN 103902299A
Authority
CN
China
Prior art keywords
version
client
file
server
software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201210567970.0A
Other languages
Chinese (zh)
Other versions
CN103902299B (en
Inventor
谷永艳
甘景全
李少维
魏贺生
洒西涛
晏育强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aisino Corp
Original Assignee
Aisino Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Aisino Corp filed Critical Aisino Corp
Priority to CN201210567970.0A priority Critical patent/CN103902299B/en
Publication of CN103902299A publication Critical patent/CN103902299A/en
Application granted granted Critical
Publication of CN103902299B publication Critical patent/CN103902299B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The invention relates to a software version updating method and system. The software version updating method comprises the steps that a new version is uploaded to a main server; the main server sends the new version to a sub-server with the version permission; a client-side requests to update the version when detecting the new version; when the client-side has the right to obtain the new version, the main server sends the download link of the new version to the client-side; the client-side has access to the download link, downloads the configuration information of the version, and then judges whether the configuration information of the version and the configuration information of an old version are completely the same or not, if the configuration information of the version and the configuration information of the old version are completely the same, the configuration information of the version is deleted, and the process is ended, and if the configuration information of the version and the configuration information of the old version are not completely the same, it is determined to update a file list, and an appointed file is downloaded from the sub-server; the client-side closes the old version and carries out backup, the downloaded file replaces the old file, whether software is normally started or not is judged, the updating of the software succeeds if the software is normally started, and the updating of the software fails if the software is not normally started. The software version updating method and system can reduce loads of the server, increase the updating speed of the software version and ensure that the client-side can be provided with the correct new version all the time.

Description

Software version updating method and system
Technical Field
The present invention relates to the field of software version updating technologies, and in particular, to a software version updating method and system.
Background
In the life cycle of software, the workload of maintenance is particularly large, and one important link is the update of the software version. The existing software version updating method comprises the following steps: and after detecting that the server has the new version to upload, the client downloads the new version from the server, further judges whether the version number of the new version is the same as the version number of the installed old version, if so, deletes the new version, and otherwise, installs the new version and restarts the software. The disadvantages of this method are: the server faces a large number of clients, and during the concentrated downloading of the new version, the load of the server is heavy, and the downloading speed of the clients is slow; in addition, if the new version uploaded to the server has an error (e.g. a necessary file is missing, or file data is incorrect, etc.), after the revision, because the version number is not changed, even if the revised new version is downloaded, the client deletes the new version because the version number is the same as that of the erroneous new version, that is, in this case, the client cannot use the correct new version.
Disclosure of Invention
The technical problem to be solved by the invention is to provide a method and a system for updating a software version, which can reduce the load of a server, improve the updating speed of the software version and ensure that a client can always install a correct new version.
The technical scheme for solving the technical problems is as follows: a method of updating a software version, the method comprising:
step 1: uploading the new version of the software to a main server; wherein the new version comprises: version configuration information and a file package composed of N files, wherein N is an integer not less than 1; the version configuration information includes: the version number of the new version, the uploading date of the file package, the size of each file and the MD5 value of each file;
step 2: the main server sends the new version to the sub-servers with the version permission of the new version according to the version permission of each sub-server;
and step 3: the client detects whether the main server has a new version of the software, and if so, sends a version updating request to the main server;
and 4, step 4: the main server judges whether the client sending the version updating request has the right to obtain the new version, if so, the main server sends the download address of the new version on the sub server corresponding to the client;
and 5: the client accesses the download address, downloads the version configuration information, and further judges whether the version configuration information is completely the same as the old version configuration information of the installed old version, if so, the version configuration information is deleted and ended, otherwise, the file list is determined to be updated; wherein the updated file list is a set of names of any file with different file attributes from corresponding file attributes of an old file in the old version configuration information; the file attributes include: size, MD5 value;
step 6: the client downloads each file specified by the update file list from the corresponding sub server;
and 7: the client closes the software of the old version, backups the old version and further replaces the corresponding old file with each file specified by the updated file list;
and 8: and the client judges whether the software can be normally started, if so, the client outputs information of successful software updating, otherwise, the client deletes the version configuration information and each file specified by the updated file list, starts the backed-up software of the old version and outputs information of failed software updating.
The invention has the beneficial effects that: the invention increases the number of servers, and divides the servers into a main server and a plurality of sub-servers, and each sub-server at least corresponds to one client. The main server provides the downloading service of the new software version to the sub server and replies the version updating request of the client; and the sub-server provides the new version downloading service for the corresponding client. By using the system configuration, after the new version of the software is uploaded to the main server, the main server sends the new version of the software to the sub-server with the version authority, so that after the client sends a version updating request to the main server, the downloading address returned by the main server is used for downloading the version configuration information from the corresponding sub-server to determine whether the new version needs to be downloaded, if the version configuration information is not identical to the installed old version configuration information, the file indicated by the updating file list is downloaded, and then the software is installed and updated. Therefore, the invention disperses the new version to the main server and each sub-server, so that the download task load of the new version borne by each server is greatly reduced, the load of each server is effectively reduced, and the update speed of the software version is improved. Meanwhile, because the invention distinguishes the authority of the client, only the client with the authority of obtaining the new version can download the new version, and the file downloaded by the client is only the file indicated by the updated file list and not necessarily the whole file package of the new version, so the file downloading amount is greatly reduced, and the downloading speed and the updating speed of the software version are effectively improved. In addition, in the invention, the basis for the client to judge whether the new version is the same as the old version installed by the client comprises the version number of the new version, the uploading date of the file package, the size of each file, the MD5 value of each file and the like, so that the problem that the correct new version cannot be installed on the client due to the correction of the new version can be prevented from many aspects, and the client can be ensured to always install the correct new version.
On the basis of the technical scheme, the invention can be further improved as follows:
further, the new version further comprises: an associated version of associated software that operates in conjunction with the new version; the version configuration information further includes: a version number of the associated version;
in step 5, after the client determines that the version configuration information is not identical to the old version configuration information of the old version already installed, before determining the updated file list, the method further includes: the client judges whether the associated version is installed or not according to the version number of the associated version, and if the judgment result is negative, the client:
the step 6 further comprises: the client downloads the associated version from the corresponding sub-server;
the step 7 further comprises: the client installs the associated version.
Further, after the step 6, before the step 7, the method further includes: and the client judges whether the new version is installed at present, if so, the step 7 is executed, and if not, the operation is finished.
Further, in step 2, after the main server sends the new version to the sub-server having the version right of the new version, the main server also records the sending time, the number of the sub-server, and the version number of the new version.
Further, in step 6, after the client downloads each file specified by the update file list from the corresponding sub server, the method further includes: and the sub-server records the downloading time, the serial number of the client and the file attribute of the file downloaded by the client.
Further, in step 8, after the client determines that the software can be started normally, before outputting information that the software update is successful, the method further includes: and the client modifies the own registry according to the version configuration information.
In addition, the present invention also provides a software version updating system, which comprises: the system comprises a main server, more than one sub-server and clients with the number not less than that of the sub-servers; each sub server at least corresponds to one client; wherein,
the main server is used for setting the version authority of each sub-server; receiving a new version of the software, the new version comprising: version configuration information and a file package composed of N files, wherein N is an integer not less than 1; the version configuration information includes: the version number of the new version, the uploading date of the file package, the size of each file and the MD5 value of each file; according to the version permission of each sub-server, sending the new version to the sub-server with the version permission of the new version; judging whether a client sending a version updating request has the right to obtain the new version, if so, sending a downloading address of the new version on a sub server corresponding to the client;
the sub-server is used for storing the new version sent by the main server and providing download service for the corresponding client;
the client is used for detecting whether the main server has a new version of the software, and if so, sending a version updating request to the main server; accessing the download address, downloading the version configuration information, further judging whether the version configuration information is completely the same as the old version configuration information of the installed old version, if so, deleting the version configuration information, otherwise, determining to update a file list; wherein the updated file list is a set of names of any file with different file attributes from corresponding file attributes of an old file in the old version configuration information; the file attributes include: size, MD5 value; downloading each file specified by the update file list from the corresponding sub server; closing the software of the old version, backing up the old version, and further replacing the corresponding old files with the files specified by the updated file list; and judging whether the software can be normally started, if so, outputting information of successful software updating, otherwise, deleting the version configuration information and each file specified by the updated file list, starting the backed-up software of the old version, and outputting information of failed software updating.
Further, the new version further comprises: an associated version of associated software that operates in conjunction with the new version; the version configuration information further includes: a version number of the associated version;
the client is also used for judging whether the associated version is installed or not according to the version number of the associated version, and if the judgment result is negative, downloading the associated version from the corresponding sub-server; and installing the associated version.
Further, the main server is further configured to record the sending time for sending the new version to the sub-server with the version right of the new version, the number of the sub-server, and the version number of the new version.
Further, the sub-server is further configured to record download time when the client corresponding to the sub-server downloads each file specified by the updated file list from the sub-server, the number of the client, and file attributes of the files downloaded by the client.
Drawings
FIG. 1 is a flow chart of a method for updating a software version proposed by the present invention;
fig. 2 is a block diagram of a software version update system according to the present invention.
Detailed Description
The principles and features of this invention are described below in conjunction with the following drawings, which are set forth by way of illustration only and are not intended to limit the scope of the invention.
The invention provides a software version updating method, and FIG. 1 is a flow chart of the method. As shown in fig. 1, the method includes:
step 101: uploading the new version of the software to a main server; wherein the new version comprises: version configuration information and a file package consisting of N files; the version configuration information includes: version number of new version, upload date of package, size of each file, MD5 value of each file.
In the present invention, N is an integer of not less than 1.
The invention refers to the version of software available for updating as a new version, and refers to the version of software installed at the client terminal as an old version, wherein the old version comprises old version configuration information and an old file package consisting of M old files, and the old version configuration information comprises: version number of old version, upload date of old package, size of each old file, MD5 value of each old file. The old version is downloaded by the client when the software version is updated last time.
Compared with the prior art, the invention further divides the server into the main server and more than one self-server, and each sub-server corresponds to more than one client. The main server is responsible for storing the new version and provides the downloading service of the new version for the sub-server; the sub-server provides the corresponding client with the new version of the download service. Therefore, the load of each server (including the main server and the sub-servers) is obviously reduced, and the downloading speed of the new version and the updating speed of the software version are obviously improved.
Here, MD5 (Message Digest Algorithm5, 5 th edition) is a hash Algorithm widely used in the field of computer security to provide integrity protection of messages. The MD5 value refers to the value resulting from processing a file using the MD5 algorithm.
Step 102: and the main server sends the new version to the sub-servers with the version permission of the new version according to the version permission of each sub-server.
In the invention, the main server sets the version authority for the sub-server, whether the sub-server has the version authority or not means whether the sub-server has the authority for downloading the new version or not, and if the sub-server does not have the version authority, the new version cannot be downloaded, so that each client corresponding to the sub-server does not download the new version. The setting of the version authority of the sub-server can ensure that the new version cannot be provided for certain specific clients (such as a client using pirated software), which not only reduces the downloading amount of the new version and the load of each server, but also improves the downloading speed of the client.
Step 103: the client detects whether the main server has a new version of the software, and if so, sends a version updating request to the main server.
In this step, the client may periodically detect whether there is a new version on the main server, or may detect whether there is a new version on the main server when starting.
In this step, if the client does not detect that the main server has a new version, the client does not send a version update request.
Step 104: and the main server judges whether the client sending the version updating request is authorized to obtain the new version, and if so, the main server sends the download address of the new version on the sub-server corresponding to the client.
In the invention, the main server sets the version authority of the new version for the sub-server, namely, the sub-server without the version authority is set to be incapable of downloading the new version from the main server, and the client corresponding to the sub-server is incapable of downloading the new version from the sub-server. That is, in this step, the main server determines whether the client sending the version update request has the right to obtain the new version, that is, whether the sub-server corresponding to the client has the version right of the new version.
If the main server judges that the client sending the version updating request has no right to obtain the new version, the sub-server corresponding to the client cannot download the new version from the main server, so that a downloading address of the new version does not exist, and the main server can send a notification that the client has no right to obtain the new version to the client so that the client stops the version updating.
Step 105: the client accesses the download address, downloads the version configuration information, further judges whether the version configuration information is completely the same as the old version configuration information of the installed old version, if so, deletes the version configuration information and ends, otherwise, determines to update the file list; the updated file list is a set of names of files with any file attribute different from the corresponding file attribute of the old file in the old version configuration information; the file attributes include: size, MD5 value.
In some cases, the client already installs part of the files in the file package contained in the new version, and in this case, the client does not need to download and install the part of the files again, but only needs to download other files in the file package, so that the software version can be updated. This can further reduce the download volume of the client, reduce the load of the server, and also can improve the download speed of the client and the efficiency of software version update. Based on the above consideration, the new version in the present invention includes, in addition to the package, version configuration information carrying flag information of the package.
In this step, the client first downloads version configuration information for two purposes: firstly, whether a new version on a sub server is identical to an old version installed by the sub server is determined, namely whether the new version is installed by the sub server is determined; and secondly, specifically determining the files needing to be downloaded, and indicating by updating the file list in the step.
The first object is achieved by determining whether the version configuration information in the new version is identical to the old version configuration information of the old version installed in the new version. The term "identical" here means that the version configuration information corresponds to the same content (including version number, upload date of package, size of each file, and MD5 value of each file) in the old version configuration information. If yes, it means that the client has installed the new version, so that the version configuration information can be deleted, and the version update process is ended. And if not, at least a part of files in the new version are not installed in the client, so that the client needs to update the software version.
In the case that the determination result in this step is negative, the client needs to specifically determine the file to be downloaded, so as to achieve the second objective described above. The files that need to be downloaded are indicated by the list of updated files determined in this step. The determination principle for updating the file list is as follows: any file attribute of a file in the new version (i.e., any of the size of the file and the MD5 value of the file) is different from the corresponding file attribute of the corresponding file in the old version, the name of the file is added to the update file list. Of course, if the old version does not include a certain file in the new version, the old version configuration information naturally does not have any file attribute of the file, and the name of the file is also added to the updated file list according to the condition that the corresponding file attribute of the old file in the old version configuration information is different from the file attribute of the file in the new version.
It can be seen that the basis for determining the difference between the new version and the old version of the present invention includes not only the version number in the prior art, but also the upload date of the package, the size of each file, and the MD5 value of each file, which greatly increases the zero difference determination threshold between the new version and the old version, and when the new version is modified and the version number is not changed, the problem occurs that the client cannot update the modified new version by using the prior art, and the software version is smoothly updated because the upload date of the package, the size of each file, the MD5 value of each file, etc. are different from the downloaded configuration information of the old version. Therefore, the invention can ensure that the client can always install the correct new version.
Step 106: the client downloads each file specified by the update file list from its corresponding child server.
The update file list determined in step 105 specifies the names of all files that the client needs to download, and this step downloads these files to the client as indicated by the update file list.
Step 107: and the client closes the software of the old version, backups the old version and further replaces the corresponding old file with each file specified by the updated file list.
Step 106 downloads the files to be updated in the new version, so that according to the conventional update rule of the software version, the step firstly closes the old version in operation (if the old version of the software is not in operation, the step does not need to be closed); then, the old version is backed up to prevent the downloaded new version from being unavailable; and then a replacement of the old file that needs to be updated is made.
Step 108: the client determines whether the software can be started normally, if so, step 109 is executed, otherwise, step 110 is executed.
In step 107, the old file is replaced and completed, and it cannot be guaranteed that the new version of the software can be normally started, and this step is a test step of whether the software of the new version can be normally started, if the software of the new version can be normally started, it means that the updating of the version of the software is successfully completed, and if the software of the new version cannot be normally started, it means that the updating of the version of the software is failed, and the old version should be recovered for the next updating of the version.
Step 109: and the client outputs the information that the software is successfully updated.
The execution of this step means that the update process of the software version is successfully ended.
Step 110: the client deletes the version configuration information and each file specified by the update file list, starts the backed-up software of the old version, and outputs the information of the failure of software update.
The execution of this step means that the update process of the software version fails, and the client should delete the version configuration information downloaded in step 105 and the files downloaded in step 106, and restore the version of the software to the old version.
Therefore, the number of the servers is increased, the servers are divided into the main server and the sub servers, and each sub server at least corresponds to one client. The main server provides the downloading service of the new software version to the sub server and replies the version updating request of the client; and the sub-server provides the new version downloading service for the corresponding client. By using the system configuration, after the new version of the software is uploaded to the main server, the main server sends the new version of the software to the sub-server with the version authority, so that after the client sends a version updating request to the main server, the downloading address returned by the main server is used for downloading the version configuration information from the corresponding sub-server to determine whether the new version needs to be downloaded, if the version configuration information is not identical to the installed old version configuration information, the file indicated by the updating file list is downloaded, and then the software is installed and updated. Therefore, the invention disperses the new version to the main server and each sub-server, so that the download task load of the new version borne by each server is greatly reduced, the load of each server is effectively reduced, and the update speed of the software version is improved. Meanwhile, because the invention distinguishes the authority of the client, only the client with the authority of obtaining the new version can download the new version, and the file downloaded by the client is only the file indicated by the updated file list and not necessarily the whole file package of the new version, so the file downloading amount is greatly reduced, and the downloading speed and the updating speed of the software version are effectively improved. In addition, in the invention, the basis for the client to judge whether the new version is the same as the old version installed by the client comprises the version number of the new version, the uploading date of the file package, the size of each file, the MD5 value of each file and the like, so that the problem that the correct new version cannot be installed on the client due to the correction of the new version can be prevented from many aspects, and the client can be ensured to always install the correct new version.
In some cases, the operation of one software requires the cooperation of other software, and the "other software" is referred to as associated software in the present invention. Since it is a piece of software, the associated software naturally also has different versions, and the version of the associated software that runs in conjunction with the new version of the software of the invention is called the associated version. In order to make the new version downloaded by the client run smoothly, the new version of the present invention further comprises: an associated version of associated software that operates in conjunction with the new version; the version configuration information of the new version further includes: the version number of the associated version.
Thus, in step 105, after the client determines that the version configuration information is not identical to the old version configuration information of the old version already installed, before determining the updated file list, the method further includes: the client judges whether the associated version is installed or not according to the version number of the associated version, if so, the client does not need to reinstall the associated version of the associated software, and if not, the client:
step 106 further includes: the client downloads the associated version from the corresponding sub-server;
step 107 further comprises: the client installs the associated version.
That is, if the client has not installed an associated version of the associated software that runs with the new version, the present invention requires that it download the associated version from the child server and install it.
In order to improve the humanization level of the invention, after downloading the file specified by the updated file list, the client can also ask the user whether the new version needs to be installed at present, and then install or stop installing after obtaining the instruction of the user. Based on such consideration, after step 106, before step 107, the method may further include: the client judges whether a new version is installed at present, if yes, step 107 is executed, otherwise, the process is ended.
The main server can also have a new version of download statistics function for the developer to refer to. Therefore, in step 102, after the main server sends the new version to the sub-server having the version right of the new version, the sending time, the number of the sub-server, and the version number of the new version may also be recorded.
Similarly, the sub-server may also count the downloading status of the new version, that is, in step 106, after the client downloads each file specified by the updated file list from its corresponding sub-server, the following steps may also be included: the sub-server records the downloading time, the serial number of the client and the file attribute of the file downloaded by the client.
The client usually records information of software installed and running by itself with a registry, and therefore, in step 108, after the client determines that the software can be started normally, before outputting information of successful software update, the method may further include: and the client modifies the own registry according to the version configuration information.
The invention also provides a software version updating system, and fig. 2 is a structural diagram of the system. As shown in fig. 2, the system includes: a main server 201, more than one sub-server 202 and clients 203 with the number not less than that of the sub-servers 202; each sub-server 202 corresponds to at least one client 203.
The main server 201 is used to set the version right of each sub-server 202, which means that the sub-server can download the new version from the main server. Host server 201 is also operable to receive a new version of the software, the new version including: version configuration information and a file package composed of N files, wherein N is an integer not less than 1; the version configuration information includes: version number of new version, upload date of package, size of each file, MD5 value of each file. The main server 201 transmits the new version to the sub servers 202 having the version right of the new version according to the version right of each sub server 202. The main server 201 may also determine whether the client 203 sending the version update request has the right to obtain the new version, if so, send the download address of the new version on the sub server 202 corresponding to the client 203, and if not, send a notification that the client 203 does not have the right to download the new version to stop updating the software version.
The sub-server 202 is configured to store a new version of the software sent from the main server 201, and provide a download service to the corresponding client 203. Of course, if the sub server 202 does not have the version right of the new version, the new version cannot be downloaded from the main server 201, and naturally the download service cannot be provided to the corresponding client 203.
The client 203 is configured to detect whether a new version of software exists on the main server 201, and if so, send a version update request to the main server 201, and if not, not send the version update request.
The client 203 is also used for accessing the download address sent by the main server 201 and downloading the version configuration information. The download address is a download address of a new version on the sub-server 202 corresponding to the client 203, and the client 203 first downloads version configuration information by accessing the download address, instead of downloading the file package at the same time, which can reduce the download volume of the client 203 and the load of the sub-server 202 without downloading the new version.
After the client 203 downloads the version configuration information, it can further determine whether the version configuration information is completely the same as the old version configuration information of the installed old version, if so, delete the downloaded version configuration information, otherwise, determine to update the file list; the updated file list is a set of names of files with any file attribute different from the corresponding file attribute of the old file in the old version configuration information; the file attributes include: size, MD5 value. From the update file list, the client 203 can download each file specified by the update file list from its corresponding child server 202. After the download is completed, the client 203 closes the software of the old version, backs up the old version, and further replaces the corresponding old file with each file specified by the updated file list. After the replacement is completed, the client 203 may determine whether the software can be normally started, if so, it means that the update of the software version is successful, and may output information that the software update is successful, otherwise, it means that the update of the software version is failed, and the client 203 deletes the version configuration information downloaded this time and each file specified by the update file list, starts the backed-up software of the old version, and outputs information that the software update is failed.
The new version may also include an associated version of associated software that operates in conjunction with the new version; at this time, the version configuration information further includes a version number of the associated version. The client 203 may also be configured to determine, according to the version number of the associated version, whether the associated version is installed, if so, not to download the associated version, and if not, download the associated version from the corresponding sub server 202, and then install the associated version.
Both the main server 201 and the sub server 202 may have statistical functions for new version downloads. The main server 201 is configured to record a transmission time for transmitting the new version to the sub server 202 having the version right of the new version, a number of the sub server 202, and a version number of the new version. After the client 203 downloads each file specified by the update file list from its corresponding sub server 202, the sub server 202 records the download time of each file specified by the corresponding client 203 from its own update file list, the number of the client 203, and the file attribute of the file downloaded by the client 203.
It can be seen that the present invention has the following advantages:
(1) the invention increases the number of servers, and divides the servers into a main server and a plurality of sub-servers, and each sub-server at least corresponds to one client. The main server provides the downloading service of the new software version to the sub server and replies the version updating request of the client; and the sub-server provides the new version downloading service for the corresponding client. By using the system configuration, after the new version of the software is uploaded to the main server, the main server sends the new version of the software to the sub-server with the version authority, so that after the client sends a version updating request to the main server, the downloading address returned by the main server is used for downloading the version configuration information from the corresponding sub-server to determine whether the new version needs to be downloaded, if the version configuration information is not identical to the installed old version configuration information, the file indicated by the updating file list is downloaded, and then the software is installed and updated. Therefore, the invention disperses the new version to the main server and each sub-server, so that the download task load of the new version borne by each server is greatly reduced, the load of each server is effectively reduced, and the update speed of the software version is improved. Meanwhile, because the invention distinguishes the authority of the client, only the client with the authority of obtaining the new version can download the new version, and the file downloaded by the client is only the file indicated by the updated file list and not necessarily the whole file package of the new version, so the file downloading amount is greatly reduced, and the downloading speed and the updating speed of the software version are effectively improved. In addition, in the invention, the basis for the client to judge whether the new version is the same as the old version installed by the client comprises the version number of the new version, the uploading date of the file package, the size of each file, the MD5 value of each file and the like, so that the problem that the correct new version cannot be installed on the client due to the correction of the new version can be prevented from many aspects, and the client can be ensured to always install the correct new version.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents, improvements and the like that fall within the spirit and principle of the present invention are intended to be included therein.

Claims (10)

1. A method for updating a software version, the method comprising:
step 1: uploading the new version of the software to a main server; wherein the new version comprises: version configuration information and a file package composed of N files, wherein N is an integer not less than 1; the version configuration information includes: the version number of the new version, the uploading date of the file package, the size of each file and the MD5 value of each file;
step 2: the main server sends the new version to the sub-servers with the version permission of the new version according to the version permission of each sub-server;
and step 3: the client detects whether the main server has a new version of the software, and if so, sends a version updating request to the main server;
and 4, step 4: the main server judges whether the client sending the version updating request has the right to obtain the new version, if so, the main server sends the download address of the new version on the sub server corresponding to the client;
and 5: the client accesses the download address, downloads the version configuration information, and further judges whether the version configuration information is completely the same as the old version configuration information of the installed old version, if so, the version configuration information is deleted and ended, otherwise, the file list is determined to be updated; wherein the updated file list is a set of names of any file with different file attributes from corresponding file attributes of an old file in the old version configuration information; the file attributes include: size, MD5 value;
step 6: the client downloads each file specified by the update file list from the corresponding sub server;
and 7: the client closes the software of the old version, backups the old version and further replaces the corresponding old file with each file specified by the updated file list;
and 8: and the client judges whether the software can be normally started, if so, the client outputs information of successful software updating, otherwise, the client deletes the version configuration information and each file specified by the updated file list, starts the backed-up software of the old version and outputs information of failed software updating.
2. The method of claim 1, wherein the new version further comprises: an associated version of associated software that operates in conjunction with the new version; the version configuration information further includes: a version number of the associated version;
in step 5, after the client determines that the version configuration information is not identical to the old version configuration information of the old version already installed, before determining the updated file list, the method further includes: the client judges whether the associated version is installed or not according to the version number of the associated version, and if the judgment result is negative, the client:
the step 6 further comprises: the client downloads the associated version from the corresponding sub-server;
the step 7 further comprises: the client installs the associated version.
3. The method of claim 1, after step 6 and before step 7, further comprising: and the client judges whether the new version is installed at present, if so, the step 7 is executed, and if not, the operation is finished.
4. The method of claim 1, wherein in step 2, after the main server sends the new version to the sub-server having the version right of the new version, the main server further records a sending time, a number of the sub-server, and a version number of the new version.
5. The method according to claim 1, wherein in step 6, after the client downloads each file specified by the update file list from its corresponding sub server, the method further comprises: and the sub-server records the downloading time, the serial number of the client and the file attribute of the file downloaded by the client.
6. The method according to claim 1, wherein in step 8, after the client determines that the software can be started normally, before outputting the information that the software update is successful, the method further comprises: and the client modifies the own registry according to the version configuration information.
7. A system for updating a software version, the system comprising: the system comprises a main server, more than one sub-server and clients with the number not less than that of the sub-servers; each sub server at least corresponds to one client; wherein,
the main server is used for setting the version authority of each sub-server; receiving a new version of the software, the new version comprising: version configuration information and a file package composed of N files, wherein N is an integer not less than 1; the version configuration information includes: the version number of the new version, the uploading date of the file package, the size of each file and the MD5 value of each file; according to the version permission of each sub-server, sending the new version to the sub-server with the version permission of the new version; judging whether a client sending a version updating request has the right to obtain the new version, if so, sending a downloading address of the new version on a sub server corresponding to the client;
the sub-server is used for storing the new version sent by the main server and providing download service for the corresponding client;
the client is used for detecting whether the main server has a new version of the software, and if so, sending a version updating request to the main server; accessing the download address, downloading the version configuration information, further judging whether the version configuration information is completely the same as the old version configuration information of the installed old version, if so, deleting the version configuration information, otherwise, determining to update a file list; wherein the updated file list is a set of names of any file with different file attributes from corresponding file attributes of an old file in the old version configuration information; the file attributes include: size, MD5 value; downloading each file specified by the update file list from the corresponding sub server; closing the software of the old version, backing up the old version, and further replacing the corresponding old files with the files specified by the updated file list; and judging whether the software can be normally started, if so, outputting information of successful software updating, otherwise, deleting the version configuration information and each file specified by the updated file list, starting the backed-up software of the old version, and outputting information of failed software updating.
8. The system of claim 7, wherein the new version further comprises: an associated version of associated software that operates in conjunction with the new version; the version configuration information further includes: a version number of the associated version;
the client is also used for judging whether the associated version is installed or not according to the version number of the associated version, and if the judgment result is negative, downloading the associated version from the corresponding sub-server; and installing the associated version.
9. The system of claim 7, wherein the main server is further configured to record a transmission time for transmitting the new version to a sub-server having a version right of the new version, a number of the sub-server, and a version number of the new version.
10. The system according to claim 7, wherein the sub-server is further configured to record a download time when the corresponding client downloads each file specified by the updated file list from itself, a number of the client, and a file attribute of the file downloaded by the client.
CN201210567970.0A 2012-12-24 2012-12-24 A kind of update method and system of software version Active CN103902299B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210567970.0A CN103902299B (en) 2012-12-24 2012-12-24 A kind of update method and system of software version

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210567970.0A CN103902299B (en) 2012-12-24 2012-12-24 A kind of update method and system of software version

Publications (2)

Publication Number Publication Date
CN103902299A true CN103902299A (en) 2014-07-02
CN103902299B CN103902299B (en) 2017-03-29

Family

ID=50993641

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210567970.0A Active CN103902299B (en) 2012-12-24 2012-12-24 A kind of update method and system of software version

Country Status (1)

Country Link
CN (1) CN103902299B (en)

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104484198A (en) * 2014-12-04 2015-04-01 北京奇虎科技有限公司 Method and device for setting up application
CN105630676A (en) * 2015-12-19 2016-06-01 合一网络技术(北京)有限公司 Upgrade records management system and method
CN105786574A (en) * 2016-03-17 2016-07-20 武汉华星光电技术有限公司 CIM system client version update method and update system based on VDI group
CN105808274A (en) * 2014-12-30 2016-07-27 航天信息股份有限公司 Software upgrading method and system as well as corresponding clients and servers
CN106302670A (en) * 2016-08-03 2017-01-04 广东欧珀移动通信有限公司 A picture updating method, communication terminal and server
CN106502883A (en) * 2016-10-09 2017-03-15 武汉斗鱼网络科技有限公司 The database synchronization method and system of client and service end during automatic test
CN106790343A (en) * 2016-11-03 2017-05-31 深圳市元征软件开发有限公司 A kind of resource downloading method and server
CN106776148A (en) * 2016-12-30 2017-05-31 维沃移动通信有限公司 The trial method and mobile terminal of a kind of application program
CN106980522A (en) * 2017-03-31 2017-07-25 武汉票据交易中心有限公司 A kind of client application updating management method and system
CN107015831A (en) * 2017-03-31 2017-08-04 武汉票据交易中心有限公司 A kind of client updating management method upgraded based on server end and system
CN107315602A (en) * 2017-05-12 2017-11-03 广东网金控股股份有限公司 The upgrade method and terminal of a kind of application program
CN107423078A (en) * 2017-02-28 2017-12-01 福建中金在线信息科技有限公司 A kind of Oftware updating method and device
CN107562440A (en) * 2017-09-05 2018-01-09 郑州云海信息技术有限公司 A kind of eeprom method for updating edition and device
CN107643920A (en) * 2016-07-20 2018-01-30 平安科技(深圳)有限公司 Application software update method and device
CN108572986A (en) * 2017-03-13 2018-09-25 华为软件技术有限公司 A kind of method and node device of data update
CN108804321A (en) * 2018-05-25 2018-11-13 武汉华工正源光子技术有限公司 A kind of automatic test software update system and method
CN108897570A (en) * 2018-06-20 2018-11-27 大国创新智能科技(东莞)有限公司 Version compatibility method and robot system based on cloud computing and artificial intelligence
CN108984191A (en) * 2017-06-02 2018-12-11 阿里巴巴集团控股有限公司 A kind of method, apparatus and electronic equipment of application update
CN109032640A (en) * 2018-07-20 2018-12-18 中国邮政储蓄银行股份有限公司 Terminal more new system, method and apparatus
CN109495532A (en) * 2017-09-13 2019-03-19 北京京东尚科信息技术有限公司 Client update method and device
CN109814908A (en) * 2019-01-17 2019-05-28 深圳忆联信息系统有限公司 Firmware stablizes method, apparatus, computer equipment and the storage medium of upgrading
CN110888663A (en) * 2019-11-11 2020-03-17 中科有讯(北京)科技有限公司 Application updating method, service server, transfer server, cluster and storage medium
CN111008030A (en) * 2019-12-10 2020-04-14 厦门中控智慧信息技术有限公司 Software online updating system and method based on xml file list and related device
CN111124428A (en) * 2019-12-18 2020-05-08 广东电网有限责任公司 Application automatic publishing method based on middleware creating and related device
CN111522564A (en) * 2020-04-20 2020-08-11 深圳Tcl新技术有限公司 Method and device for identifying system upgrading state and computer readable storage medium
CN112256582A (en) * 2020-10-28 2021-01-22 太仓市同维电子有限公司 HTTP-based Robot Framework automatic script management system and method
CN112465348A (en) * 2020-11-26 2021-03-09 随锐科技集团股份有限公司 Production line product detection management method and system, storage medium and electronic equipment
CN112559349A (en) * 2020-12-16 2021-03-26 合安科技技术有限公司 Program running method and device
CN113535196A (en) * 2020-04-13 2021-10-22 青岛海尔洗衣机有限公司 Program upgrading control method for household appliance system
CN113850941A (en) * 2021-09-08 2021-12-28 深圳柏成科技有限公司 Unattended access control system remote upgrading method
CN116643777A (en) * 2023-07-27 2023-08-25 江铃汽车股份有限公司 Automatic after-sale upgrading method and system for automobile software
CN117632214A (en) * 2023-11-23 2024-03-01 中国西安卫星测控中心 A C/S mode software version small and micro update control system and method
CN118779487A (en) * 2024-09-11 2024-10-15 精壹致远(武汉)信息技术有限公司 A method for storing video files in a relational database based on version sequence

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060150174A1 (en) * 2003-02-19 2006-07-06 Katsuaki Abe Software updating method and radio communication apparatus
CN1976289A (en) * 2006-12-22 2007-06-06 中国建设银行股份有限公司 Program arranging method and system based on distributing network
CN102053853A (en) * 2010-12-30 2011-05-11 北京像素软件科技股份有限公司 Version updating method of online game
CN102541596A (en) * 2011-12-22 2012-07-04 中标软件有限公司 Operating system upgrading method and device
CN102567053A (en) * 2011-12-20 2012-07-11 云海创想信息技术(无锡)有限公司 Method and device for downgrading software version
CN102739791A (en) * 2012-06-28 2012-10-17 奇智软件(北京)有限公司 File downloading and uploading method and device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060150174A1 (en) * 2003-02-19 2006-07-06 Katsuaki Abe Software updating method and radio communication apparatus
CN1976289A (en) * 2006-12-22 2007-06-06 中国建设银行股份有限公司 Program arranging method and system based on distributing network
CN102053853A (en) * 2010-12-30 2011-05-11 北京像素软件科技股份有限公司 Version updating method of online game
CN102567053A (en) * 2011-12-20 2012-07-11 云海创想信息技术(无锡)有限公司 Method and device for downgrading software version
CN102541596A (en) * 2011-12-22 2012-07-04 中标软件有限公司 Operating system upgrading method and device
CN102739791A (en) * 2012-06-28 2012-10-17 奇智软件(北京)有限公司 File downloading and uploading method and device

Cited By (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104484198A (en) * 2014-12-04 2015-04-01 北京奇虎科技有限公司 Method and device for setting up application
CN105808274A (en) * 2014-12-30 2016-07-27 航天信息股份有限公司 Software upgrading method and system as well as corresponding clients and servers
CN105630676A (en) * 2015-12-19 2016-06-01 合一网络技术(北京)有限公司 Upgrade records management system and method
CN105630676B (en) * 2015-12-19 2018-08-24 合一网络技术(北京)有限公司 Upgrade record management system and method
CN105786574B (en) * 2016-03-17 2019-01-22 武汉华星光电技术有限公司 CIM system client method for updating edition and more new system based on VDI group
CN105786574A (en) * 2016-03-17 2016-07-20 武汉华星光电技术有限公司 CIM system client version update method and update system based on VDI group
CN107643920A (en) * 2016-07-20 2018-01-30 平安科技(深圳)有限公司 Application software update method and device
CN106302670A (en) * 2016-08-03 2017-01-04 广东欧珀移动通信有限公司 A picture updating method, communication terminal and server
CN106302670B (en) * 2016-08-03 2019-10-25 Oppo广东移动通信有限公司 Picture updating method, communication terminal and server
CN106502883B (en) * 2016-10-09 2019-03-15 武汉斗鱼网络科技有限公司 The database synchronization method and system of client and server-side when automatic test
CN106502883A (en) * 2016-10-09 2017-03-15 武汉斗鱼网络科技有限公司 The database synchronization method and system of client and service end during automatic test
WO2018082212A1 (en) * 2016-11-03 2018-05-11 深圳市元征软件开发有限公司 Resource download method and server
CN106790343A (en) * 2016-11-03 2017-05-31 深圳市元征软件开发有限公司 A kind of resource downloading method and server
CN106776148A (en) * 2016-12-30 2017-05-31 维沃移动通信有限公司 The trial method and mobile terminal of a kind of application program
CN107423078A (en) * 2017-02-28 2017-12-01 福建中金在线信息科技有限公司 A kind of Oftware updating method and device
CN108572986A (en) * 2017-03-13 2018-09-25 华为软件技术有限公司 A kind of method and node device of data update
CN108572986B (en) * 2017-03-13 2022-05-17 华为技术有限公司 Data updating method and node equipment
CN106980522A (en) * 2017-03-31 2017-07-25 武汉票据交易中心有限公司 A kind of client application updating management method and system
CN107015831A (en) * 2017-03-31 2017-08-04 武汉票据交易中心有限公司 A kind of client updating management method upgraded based on server end and system
CN107315602B (en) * 2017-05-12 2021-02-12 广东网金控股股份有限公司 Application program upgrading method and terminal
CN107315602A (en) * 2017-05-12 2017-11-03 广东网金控股股份有限公司 The upgrade method and terminal of a kind of application program
CN108984191A (en) * 2017-06-02 2018-12-11 阿里巴巴集团控股有限公司 A kind of method, apparatus and electronic equipment of application update
CN107562440A (en) * 2017-09-05 2018-01-09 郑州云海信息技术有限公司 A kind of eeprom method for updating edition and device
CN107562440B (en) * 2017-09-05 2021-04-13 郑州云海信息技术有限公司 A kind of eeprom version update method and device
CN109495532A (en) * 2017-09-13 2019-03-19 北京京东尚科信息技术有限公司 Client update method and device
CN108804321A (en) * 2018-05-25 2018-11-13 武汉华工正源光子技术有限公司 A kind of automatic test software update system and method
CN108897570B (en) * 2018-06-20 2023-01-03 大国创新智能科技(东莞)有限公司 Version compatibility method based on cloud computing and artificial intelligence and robot system
CN108897570A (en) * 2018-06-20 2018-11-27 大国创新智能科技(东莞)有限公司 Version compatibility method and robot system based on cloud computing and artificial intelligence
CN109032640A (en) * 2018-07-20 2018-12-18 中国邮政储蓄银行股份有限公司 Terminal more new system, method and apparatus
CN109814908A (en) * 2019-01-17 2019-05-28 深圳忆联信息系统有限公司 Firmware stablizes method, apparatus, computer equipment and the storage medium of upgrading
CN110888663A (en) * 2019-11-11 2020-03-17 中科有讯(北京)科技有限公司 Application updating method, service server, transfer server, cluster and storage medium
CN111008030A (en) * 2019-12-10 2020-04-14 厦门中控智慧信息技术有限公司 Software online updating system and method based on xml file list and related device
CN111124428A (en) * 2019-12-18 2020-05-08 广东电网有限责任公司 Application automatic publishing method based on middleware creating and related device
CN113535196A (en) * 2020-04-13 2021-10-22 青岛海尔洗衣机有限公司 Program upgrading control method for household appliance system
CN111522564A (en) * 2020-04-20 2020-08-11 深圳Tcl新技术有限公司 Method and device for identifying system upgrading state and computer readable storage medium
CN112256582A (en) * 2020-10-28 2021-01-22 太仓市同维电子有限公司 HTTP-based Robot Framework automatic script management system and method
CN112256582B (en) * 2020-10-28 2024-08-23 太仓市同维电子有限公司 HTTP-based Robot Framework automation script management system and method
CN112465348A (en) * 2020-11-26 2021-03-09 随锐科技集团股份有限公司 Production line product detection management method and system, storage medium and electronic equipment
CN112559349A (en) * 2020-12-16 2021-03-26 合安科技技术有限公司 Program running method and device
CN112559349B (en) * 2020-12-16 2024-04-09 合安科技技术有限公司 Program running method and running device
CN113850941A (en) * 2021-09-08 2021-12-28 深圳柏成科技有限公司 Unattended access control system remote upgrading method
CN116643777A (en) * 2023-07-27 2023-08-25 江铃汽车股份有限公司 Automatic after-sale upgrading method and system for automobile software
CN116643777B (en) * 2023-07-27 2023-10-03 江铃汽车股份有限公司 Automatic after-sale upgrading method and system for automobile software
CN117632214A (en) * 2023-11-23 2024-03-01 中国西安卫星测控中心 A C/S mode software version small and micro update control system and method
CN118779487A (en) * 2024-09-11 2024-10-15 精壹致远(武汉)信息技术有限公司 A method for storing video files in a relational database based on version sequence

Also Published As

Publication number Publication date
CN103902299B (en) 2017-03-29

Similar Documents

Publication Publication Date Title
CN103902299B (en) A kind of update method and system of software version
KR102057527B1 (en) System and method for automatic cloud-based full-data backup and restore on mobile devices
US8381208B2 (en) Tracking application installation among a plurality of client devices
US10114630B2 (en) Management of software and operating system updates required for the process of creating a virtual machine facsimile of an existing physical or virtual machine
US9032032B2 (en) Data replication feedback for transport input/output
US8032880B2 (en) Multi-branch management for updating software
EP2751662A1 (en) Efficient application-aware disaster recovery
US9104717B2 (en) Distributed storage object delete
CN112099825B (en) Method, device, equipment and storage medium for upgrading component
CN109634638B (en) A cluster software upgrade method, device, equipment and medium
CN108932249B (en) Method and device for managing file system
US8086909B1 (en) Automatic core file upload
US20170351743A1 (en) Journaling for scaleout systems
CN114490677A (en) Data synchronization in a data analysis system
CN105704241A (en) Client terminal program updating method and system and a service platform
CN108121552B (en) Automatic patching method based on XenServer
CN112596959A (en) Distributed storage cluster data backup method and device
US9418097B1 (en) Listener event consistency points
CN117376364A (en) Data processing method and related equipment
JP5670935B2 (en) Distributed data management system and operation method thereof
US12124838B2 (en) Automatically updating agents from backup and restore applications
US20240289229A1 (en) Launching copies of installation software that rolls back agent updates when cluster updates fail
CN110569088A (en) client plug-in management method and device, electronic equipment and storage medium
US20240289228A1 (en) Restoring configuration files to rollback agent updates when cluster updates fail
CN113722018B (en) Jboss cache cleaning method and device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant