Incremental upgrade method, apparatus for applying method and storage medium
Claim Score by NHIP
Abstract
The present invention provides an incremental upgrade method, an apparatus applying the method and a storage medium. The incremental upgrade method comprises: sending a request to a server for downloading an incremental upgrade package corresponding to a local old version file on a terminal; receiving the incremental upgrade package, which comprises unmatched block data obtained by comparing a first compressed file with a second compressed file, and the start and end information of the unmatched block data, wherein the first compressed file is a compressed file that concatenates an old version file and a new version file on the server, and the second compressed file is a compressed file of the old version file on the server; concatenating the unmatched block data in the incremental upgrade package and a local second compressed file generated from the local old version file on the terminal to generate a concatenate compressed file; and at last decompressing the concatenate compressed file to obtain the new version file. The method reduces data traffic and occupied bandwidth resources.

Term
7.4 yearsto projected expiry
Projected expiry 14 February 2034, counted from filing; an application has no term until it is granted.
- Priority
- Filed
- Published
- Today
- Projected expiry
15 claims: 5 independent, 10 dependent
- 15A method for incremental-upgrading a local old file on a terminal, comprising:sending a request to a server for downloading an incremental upgrade package corresponding to the local old version file on the terminal;downloading the incremental upgrade package from the server according to the request for downloading the incremental upgrade package corresponding to the local old version file, wherein the incremental upgrade package comprises unmatched block data obtained by comparing a first compressed file with a second compressed file, and the start and end information of the unmatched block data, wherein the second compressed file is a compressed file of an old version file on the server, and the first compressed file is a compressed file that concatenates the old version file and a new version file on the server, and wherein the old version file and the new version file correspond to the local old version file on the terminal;concatenating the unmatched block data and a local second compressed file generated from the local old version file on the terminal according to the start and end information of the unmatched block data in the incremental upgrade package, to generate a concatenate compressed file;and decompressing the concatenate compressed file to obtain the new version file.
- 20Broadest claimClaim Score 66, broad(NHIP)A method for generating an incremental upgrade, comprising:concatenating, on a server, an old version file and a new version file and compressing the concatenate file to obtain a first compressed file, and compressing the old version file to obtain a second compressed file;comparing the first compressed file with the second compressed file to obtain unmatched block data and the start and end information of the unmatched block data;and generating an incremental upgrade package according to the unmatched block data and the start and end information of the unmatched block data.
- 24A terminal, comprising:an upgrade package requesting unit, configured to send a request to a server for downloading an incremental upgrade package corresponding to a local old version file on the terminal;an upgrade package receiving unit, configured to receive the incremental upgrade package from the server according to the request for downloading the incremental upgrade package corresponding to the local old version file, wherein the incremental upgrade package comprises unmatched block data obtained by comparing a first compressed file with a second compressed file, and the start and end information of the unmatched block data, wherein the second compressed file is a compressed file of an old version file on the server, and the first compressed file is a compressed file that concatenates the old version file and a new version file on the server, and wherein the old version file and the new version file correspond to the local old version file on the terminal;a data combining unit, configured to concatenate the unmatched block data and a local second compressed file generated from the local old version file on the terminal according to the start and end information of the unmatched block data in the incremental upgrade package, to generate a concatenate compressed file;and a decompressing unit, configured to decompress the concatenate compressed file to obtain the new version file.
- 26A server, comprising:a compressing unit, configured to concatenate an old version file and a new version file and compress the concatenate file to obtain a first compressed file, and compress the old version file to obtain a second compressed file;a comparing unit, configured to compare the first compressed file with the second compressed file to obtain unmatched block data and the start and end information of the unmatched block data;and an upgrade package generating unit, configured to generate an incremental upgrade package according to the unmatched block data and the start and end information of the unmatched block data.
Independent claims4
172 paragraphs in 5 sections, as filed
TECHNICAL FIELD
0001The present invention relates to the field of data transmission processing technologies, and in particular, to an incremental upgrade method, an apparatus applying the method and a storage medium.
BACKGROUND
0002Version upgrade refers to an update for removing bugs in an operating system or an old version of software, or adding a new application function to software, to make software more perfect and useful.
0003When a terminal performs version upgrade on a local old version file, the terminal needs to acquire data information of a new version from a server. Assuming that an installation package file of a local old version on the terminal is old.apk having a size of 5M, and an installation package file of a new version that needs to be acquired is new.apk having a size of 6M, in a conventional version upgrade technology, the new.apk having the size of 6M needs to be downloaded to complete the version upgrade.
0004However, this conventional version upgrade method needs to download a complete new version of installation package file from the server, the size of downloaded data is large, and an excessive bandwidth resource may be occupied.
0005Therefore, a downloading and upgrade technology for reducing data transmission size during version upgrade is needed, to reduce occupied bandwidth resources.
SUMMARY
0006In view of the above problem, an objective of the present invention is to provide an incremental upgrade method, an apparatus applying the method and a corresponding storage medium, to reduce the size of data downloaded by a terminal from a server during version upgrade of a terminal file, and reduce a bandwidth resource that is occupied.
0007According to one aspect of the present invention, an incremental upgrade method at a terminal side is provided, which includes:
0008sending a request to a server for downloading an incremental upgrade package corresponding to a local old version file on a terminal;
0009downloading an incremental upgrade package from the server according to the request for downloading the incremental upgrade package corresponding to the old version file, where the incremental upgrade package includes unmatched block data obtained by comparing a first compressed file with a second compressed file, and the start and end information of the unmatched block data, wherein the second compressed file is a compressed file of the old version file, and the first compressed file is a compressed file that concatenates the old version file and a new version file;
0010concatenating the unmatched block data and a local second compressed file (compressed from the local old version file) according to the start and end information of the unmatched block data in the incremental upgrade package, to generate a concatenate compressed file; and
0011decompressing the concatenate compressed file to obtain the new version file.
0012According to another aspect of the present invention, an incremental upgrade method at a server side is further provided, which includes:
0013concatenating an old version file and a new version file and then compressing the concatenate file to obtain a first compressed file, and compressing the old version file to obtain a second compressed file;
0014comparing the first compressed file with the second compressed file to obtain unmatched block data and the start and end information of the unmatched block data;
0015generating an incremental upgrade package according to the unmatched block data and the start and end information of the unmatched block data;
0016receiving a request sent by a terminal for downloading an incremental upgrade package corresponding to a local old version file on the terminal;
0017sending the incremental upgrade package to the terminal, such that the terminal can concatenate the unmatched block data and a local second compressed file (compressed from the local old version file) according to the start and end information of the unmatched block data in the incremental upgrade package to generate a concatenate compressed file, and decompress the concatenate compressed file to obtain the new version file.
0018According to yet another aspect of the present invention, an incremental upgrade method at a server side is further provided, which includes:
0019receiving a request sent by a terminal for downloading an incremental upgrade package corresponding to a local old version file on the terminal, the request including version information of the old version file corresponding to the incremental upgrade package;
0020searching for a local old version file and a new version file on the server according to the version information of the old version file in the request;
0021concatenating the old version file and the new version file on the server and then compressing the concatenate file to obtain a first compressed file, and compressing the old version file to obtain a second compressed file;
0022comparing the first compressed file with the second compressed file to obtain unmatched block data and the start and end information of the unmatched block data;
0023generating, by the server, the incremental upgrade package according to the unmatched block data and the start and end information of the unmatched block data; and
0024sending the incremental upgrade package to the terminal, such that the terminal can concatenate the unmatched block data and a local second compressed file (compressed from the terminal-side local old version file) according to the start and end information of the unmatched block data in the incremental upgrade package to generate a concatenate compressed file, and decompress the concatenate compressed file to obtain the new version file.
0025According to yet another aspect of the present invention, a terminal is further provided, which includes:
0026an upgrade package requesting unit, configured to send a request to a server for downloading an incremental upgrade package corresponding to a local old version file on the terminal;
0027an upgrade package receiving unit, configured to receive the incremental upgrade package, where the incremental upgrade package includes unmatched block data obtained by comparing a first compressed file with a second compressed file, and the start and end information of the unmatched block data, wherein the second compressed file is a compressed file of the old version file, and the first compressed file is a compressed file that concatenates the old version file and a new version file;
0028a data combining unit, configured to concatenate the unmatched block data and a local second compressed file (compressed from the local old version file) according to the start and end information of the unmatched block data in the incremental upgrade package, to generate a concatenate compressed file; and
0029a decompressing unit, configured to decompress the concatenate compressed file to obtain the new version file.
0030According to yet another aspect of the present invention, a server is further provided, which includes:
0031a compressing unit, configured to concatenate an old version file and a new version file and then compress the concatenate file to obtain a first compressed file, and compress the old version file to obtain a second compressed file;
0032a comparing unit, configured to compare the first compressed file with the second compressed file to obtain unmatched block data and the start and end information of the unmatched block data;
0033an upgrade package generating unit, configured to generate an incremental upgrade package according to the unmatched block data and the start and end information of the unmatched block data;
0034a first request receiving unit, configured to receive a request sent by a terminal for downloading the incremental upgrade package corresponding to a local old version file on the terminal;
0035an upgrade package sending unit, configured to send the incremental upgrade package to the terminal, such that the terminal can concatenate the unmatched block data and a local second compressed file (compressed from the local old version file) according to the start and end information of the unmatched block data in the incremental upgrade package to generate a concatenate compressed file, and decompress the concatenate compressed file to obtain the new version file.
0036According to yet another aspect of the present invention, a server is further provided, which includes:
0037a request receiving unit, configured to receive a request sent by a terminal for downloading an incremental upgrade package corresponding to a local old version file on the terminal, the request including version information of the old version file corresponding to the incremental upgrade package;
0038a searching unit, configured to search for a local old version file and a new version file on the server according to the version information of the old version file in the request;
0039a compressing unit, configured to concatenate the old version file and the new version file and then compress the concatenate file to obtain a first compressed file, and compress the old version file to obtain a second compressed file;
0040a comparing unit, configured to compare the first compressed file with the second compressed file to obtain unmatched block data and the start and end information of the unmatched block data;
0041an upgrade package generating unit, configured to generate the incremental upgrade package according to the unmatched block data and the start and end information of the unmatched block data; and
0042an upgrade package sending unit, configured to send the incremental upgrade package to the terminal, such that the terminal can concatenate the unmatched block data and a local second compressed file (compressed from the local old version file) according to the start and end information of the unmatched block data in the incremental upgrade package to generate a concatenate compressed file, and decompress the concatenate compressed file to obtain the new version file.
0043In addition, the present invention further provides a computer readable storage medium having a processor-executable program code, when being executed, the program code enabling the processor to execute the following steps:
0044sending a request to a server for downloading an incremental upgrade package corresponding to a local old version file on a terminal;
0045downloading an incremental upgrade package from the server according to the request for downloading the incremental upgrade package corresponding to the old version file, where the incremental upgrade package includes unmatched block data obtained by comparing a first compressed file with a second compressed file, and the start and end information of the unmatched block data, wherein the second compressed file is a compressed file of the old version file, and the first compressed file is a compressed file that concatenates the old version file and a new version file;
0046concatenating the unmatched block data and a local second compressed file (compressed from the local old version file) according to the start and end information of the unmatched block data in the incremental upgrade package, to generate a concatenate compressed file; and decompressing the concatenate compressed file to obtain the new version file.
0047The present invention further provides another computer readable storage medium having a processor-executable program code, when being executed, the program code enabling the processor to execute the following steps:
0048concatenating an old version file and a new version file and then compressing the concatenate file to obtain a first compressed file, and compressing the old version file to obtain a second compressed file;
0049comparing the first compressed file with the second compressed file to obtain unmatched block data and the start and end information of the unmatched block data;
0050generating an incremental upgrade package according to the unmatched block data and the start and end information of the unmatched block data;
0051receiving a request sent by a terminal for downloading the incremental upgrade package corresponding to a local old version file on the terminal;
0052sending the incremental upgrade package to the terminal, such that the terminal can concatenate the unmatched block data and a local second compressed file (compressed from the local old version file) according to the start and end information of the unmatched block data in the incremental upgrade package to generate a concatenate compressed file, and decompress the concatenate compressed file to obtain the new version file.
0053By means of the incremental upgrade method and the apparatus applying the method according to the present invention, a terminal obtains an incremental upgrade package at a server side, and obtains a new version file according to the incremental upgrade package, thereby implementing incremental upgrade; moreover, the incremental upgrade package merely includes unmatched block data information between a compressed file that concatenates a new version file and an old version file and a compressed file of the old version file, which has a greatly reduced data size compared with the complete new version file data, and therefore, the size of data that needs to be downloaded by the terminal from the server is obviously less than the conventional method. The method saves data traffic, reduces occupied bandwidth resources, greatly accelerates the version upgrade process, improves the efficiency of version upgrade, and saves storage medium resources of the server.
0054In order to implement the above and relevant objectives, one or more aspects of the present invention include features that will be described in detail later and specifically pointed out in claims. The following descriptions and accompanying drawings describe some exemplary aspects of the present invention in detail. However, those aspects merely indicate some implementations among various ones utilizing the principle of the present invention. Moreover, the present invention is intended to include all the aspects and equivalents thereof.
BRIEF DESCRIPTION OF THE DRAWINGS
0055With reference to the descriptions in combination with the accompanying drawings and content in the claims, and along with more thorough understanding of the present invention, other objectives and results of the present invention will be more comprehensible and easily understandable. In the drawings:
0056<figref idref="DRAWINGS">FIG. 1</figref> is a flow chart of an incremental upgrade method according to an embodiment of the present invention;
0057<figref idref="DRAWINGS">FIG. 2</figref><i>a </i>is a flow chart of an incremental upgrade method according to another embodiment of the present invention;
0058<figref idref="DRAWINGS">FIG. 2</figref><i>b </i>is a schematic view of generating an incremental upgrade package according to an embodiment of the present invention;
0059<figref idref="DRAWINGS">FIG. 3</figref> is a flow chart of an incremental upgrade method according to yet another embodiment of the present invention;
0060<figref idref="DRAWINGS">FIG. 4</figref> is a flow chart of an incremental upgrade method according to yet another embodiment of the present invention;
0061<figref idref="DRAWINGS">FIG. 5</figref> is a schematic structural view of a terminal applying an incremental upgrade method according to an embodiment of the present invention;
0062<figref idref="DRAWINGS">FIG. 6</figref> is a schematic structural view of a server applying an incremental upgrade method according to an embodiment of the present invention; and
0063<figref idref="DRAWINGS">FIG. 7</figref> is a schematic structural view of a server applying an incremental upgrade method according to another embodiment of the present invention.
0064In all the accompanying drawings, identical reference numerals indicate similar or corresponding features or functions.
DETAILED DESCRIPTION
0065In order to make a person skilled in the art better understand technical solutions in the embodiments of the present invention, and make the above objectives, features and advantages of the embodiments of the present invention more comprehensible, the technical solutions in the embodiments of the present invention are described in further details with reference to the accompanying drawings.
0066In the following descriptions, many specific details are described to provide thorough understanding on one or more embodiment for the sake of illustration. However, apparently, the embodiments may also be implemented without the specific details. In other examples, well-known structures and devices are shown as block diagrams to describe one or more embodiments.
0067<figref idref="DRAWINGS">FIG. 1</figref> shows a process of an incremental upgrade method according to an embodiment of the present invention.
0068As shown in <figref idref="DRAWINGS">FIG. 1</figref>, from the perspective of a terminal side receiving an incremental upgrade package, the incremental upgrade method provided in one embodiment of the present invention includes the following steps:
0069Step <b>101</b>: A terminal sends a request to a server for downloading an incremental upgrade package corresponding to a local old version file on the terminal.
0070In this embodiment, after acquiring relevant information of the incremental upgrade package on the server, the terminal may send a request to the server for downloading the incremental upgrade package corresponding to the local old version file on the terminal. The terminal may also send a download request to the server without knowing whether there is an incremental upgrade package on the server. The request includes identification information or association information of the incremental upgrade package needed by the terminal, such as old version file information corresponding to the incremental upgrade package stored on the terminal, so that the server accordingly acquires the incremental upgrade package that needs to be downloaded.
0071Step <b>102</b>: The terminal receives the incremental upgrade package from the server.
0072The incremental upgrade package includes unmatched block data obtained by comparing a first compressed file and a second compressed file and the start and end information of the unmatched block data, where the second compressed file is a compressed file of the old version file, and the first compressed file is a compressed file that concatenates the old version file and a new version file. By means of the unmatched block data and the start and end information thereof, the terminal can concatenate a new upgrade version on the basis of the compressed file of the original old version.
0073After receiving the download request, the server may search, according to information in the request, to see whether the server locally has the incremental upgrade package, and if yes, directly sends it to the terminal; if no, generates the incremental upgrade package and then sends it to the terminal.
0074Specifically, an exemplary process of the server generating the incremental upgrade package may be that: the server concatenates the old version file and the new version file and then compresses the concatenate file to obtain a first compressed file, and compresses the old version file to obtain a second compressed file, then compares the first compressed file with the second compressed file to obtain unmatched block data and the start and end information of the unmatched block data, and finally generates the incremental upgrade package according to the unmatched block data and the start and end information of the unmatched block data. The unmatched block data is the difference between the old version and the corresponding new version.
0075There may be several manners for the server to obtain the old version file and the corresponding new version file, such as acquiring locally, or downloading and acquiring online, etc.
0076Step <b>103</b>: The terminal concatenates the unmatched block data and the local second compressed file (compressed from the local old version file) according to the start and end information of the unmatched block data in the incremental upgrade package, to generate a concatenate compressed file.
0077After acquiring the incremental upgrade package, the terminal obtains the new version file by using a reverse process of the server generating the incremental upgrade package. Specifically, in this step, the terminal first concatenates, according to the start and end information of the unmatched block data, the unmatched block data and the compressed file of the local old version file on the terminal, i.e., the local second compressed file of the terminal, to obtain the concatenate compressed file, and the concatenate compressed file is actually the first compressed file obtained at the server side.
0078Because it is a file upgrading procedure, the old version file that needs to be upgraded is in the terminal, and generally, the compressed file of the old version file (that is, the second compressed file) can also be stored on the terminal locally. Therefore, the unmatched block data in the incremental upgrade package may be directly concatenated with the local second compressed file to obtain the concatenate compressed file (that is, the first compressed file, i.e., the compressed file including the new version file to be used for upgrading). If the terminal does not have the second compressed file locally, the terminal may also obtain the second compressed file according to the local old version file on the terminal by using a known data processing manner. This data processing manner is in the prior art and is not the focus of the technical processing of the present invention, and therefore, it is not elaborated herein.
0079Step <b>104</b>: The terminal decompresses the concatenate compressed file to obtain the new version file.
0080After the terminal decompresses the concatenate compressed file, the terminal may obtain the new version file corresponding to the old version file to be upgraded.
0081From the perspective of upgrading data transmission, the terminal is capable of implementing the incremental upgrade at the terminal side upon obtaining the new version file corresponding to the old version file to be upgraded. Then, the terminal may upgrade the original old version file according to the new version file.
0082The upgrade process of this step is similar to the prior art, and is not elaborated herein.
0083In the embodiment shown in <figref idref="DRAWINGS">FIG. 1</figref>, the terminal obtains an incremental upgrade package from a server side, and obtains a new version file according to the incremental upgrade package, thereby implementing incremental upgrade; moreover, the incremental upgrade package merely includes unmatched block data information between a compressed file that concatenates a new version file and an old version file and a compressed file of the old version file, which has a greatly reduced data size compared with the complete new version file data, and therefore, the size of data that needs to be downloaded by the terminal from the server is obviously less than the conventional method. The method reduces data traffic, reduces occupied bandwidth resources, greatly accelerates the version upgrade, improves the efficiency of version upgrade, and saves storage medium resources of the server.
0084<figref idref="DRAWINGS">FIG. 2</figref><i>a </i>shows a flow of an incremental upgrade method according to another embodiment of the present invention, and the process also performs incremental upgrade data processing from the perspective of the terminal side.
0085As shown in <figref idref="DRAWINGS">FIG. 2</figref><i>a</i>, the incremental upgrade method in this embodiment includes the following steps:
0086Step <b>201</b>: A terminal sends a search request to a server, the search request including version information of an old version file that needs to be upgraded.
0087The terminal may send a request of searching for an incremental upgrade package to the server periodically or at a preset time, and the search request may include version information of the old version file, for example, V1.1.0, to facilitate the server searching for a corresponding upgrade package and the like.
0088After receiving the search request, the server searches for the incremental upgrade package according to the search request. If at this time the server has generated the incremental upgrade package between the new version file and the old version file, description information of the incremental upgrade package may be extracted; and if no incremental upgrade package is generated, the server generates an incremental upgrade package temporarily after finding the new version file and the old version file locally. No matter whether the incremental upgrade package is generated in advance or not, the generation process may use the method of the server generating the incremental upgrade package in step <b>102</b> in the embodiment shown in <figref idref="DRAWINGS">FIG. 1</figref>.
0089<figref idref="DRAWINGS">FIG. 2</figref><i>b </i>shows an example of generation of an incremental upgrade package according to an embodiment of the present invention. Assuming that the terminal side has an old version file old.apk that has the size of 5M and needs to be upgraded to a new version file, and the server side has the old version file old.apk and a new version file new.apk that has the size of 6M.
0090When the server generates the incremental upgrade package, the server first compresses old.apk to obtain old.7z (a compressed file of an old version) that has the size of 2M; concatenates old.apk and new.apk, then compresses the concatenate file to obtain old_new.7z (a concatenate compressed file) that has the size of 2.2M, and compares old.7z with old_new.7z, as shown in <figref idref="DRAWINGS">FIG. 2</figref><i>b</i>, to obtain unmatched block data and the start and end information of the unmatched block. In <figref idref="DRAWINGS">FIG. 2</figref><i>b</i>, the dashed area indicates the same data, and blank area indicates different data in two compressed files of old.7z and old_new.7z. That is, the unmatched block data, and the start and end information of the unmatched block data may also be obtained through comparison, and the incremental upgrade package generated at the server side includes the unmatched block data and the start and end information thereof and has the size of about 1M; therefore, the terminal merely needs to download the incremental upgrade package having the size of 1M, and the download size is greatly reduced.
0091The server feeds back the description information of the incremental upgrade package to the terminal, and can also feedback version information of the new version file or the like, where the description information of the incremental upgrade package may specifically be identification information such as a name of the incremental upgrade package.
0092Step <b>202</b>: The terminal receives the feedback information of the server, the feedback information including the description information of the incremental upgrade package.
0093Step <b>203</b>: The terminal sends, according to the description information of the incremental upgrade package in the feedback information, a request to the server for downloading the incremental upgrade package.
0094Step <b>204</b>: The terminal receives the incremental upgrade package.
0095Step <b>205</b>: The terminal concatenates the unmatched block data and the local second compressed file according to the start and end information of the unmatched block data in the incremental upgrade package, to generate a concatenate compressed file.
0096Assuming that after the terminal receives the unmatched block data of the two compressed files of old.7z and old_new.7z and the start and end information thereof, the terminal concatenates the unmatched block data and the local old.7z according to the start and end information of the unmatched block data, where the concatenation process is restoring the old_new.7z as shown in <figref idref="DRAWINGS">FIG. 2</figref><i>b. </i>
0097Step <b>206</b>: The terminal decompresses the concatenate compressed file to obtain the new version file.
0098The terminal decompresses the old_new.7z obtained through concatenation in the previous step, to obtain the new version file new.apk corresponding to the old version file old.apk.
0099Step <b>207</b>: The terminal upgrades the original old version file old.apk according to the new version file new.apk.
0100The steps <b>204</b> to <b>207</b> are similar to the steps <b>102</b> to <b>105</b> in the previous embodiment, and are not repeated herein.
0101In the embodiment shown in <figref idref="DRAWINGS">FIG. 2</figref><i>a</i>, the terminal obtains an incremental upgrade package at a server side, and obtains a new version file according to the incremental upgrade package, thereby implementing incremental upgrade; moreover, the incremental upgrade package merely includes unmatched block data information between a compressed file that concatenates a new version file and an old version file and a compressed file of the old version file, which has a greatly reduced data size compared with the complete new version file data, and therefore, the size of data that needs to be downloaded by the terminal from the server is obviously less than the conventional method. The method reduces data traffic, reduces occupied bandwidth resources, greatly accelerates the version upgrade, improves the efficiency of version upgrade, and saves storage medium resources of the server.
0102<figref idref="DRAWINGS">FIG. 3</figref> shows a process of an incremental upgrade method according to yet another embodiment of the present invention.
0103As shown in <figref idref="DRAWINGS">FIG. 3</figref>, from the perspective of a server side sending an incremental upgrade package, the incremental upgrade method provided by the present invention includes:
0104Step <b>301</b>: A server compresses an old version file to obtain a second compressed file, and concatenates the old version file and a new version file and then compresses the concatenate file to obtain a first compressed file.
0105In this embodiment, no matter whether the server receives a search request or a request for downloading an incremental upgrade package sent by the terminal, an incremental upgrade package may be generated first by using steps <b>301</b> to <b>303</b>.
0106In this step, the server first concatenates the local old version file and the new version file, the concatenation being connecting data of the old version file and data of the new version file with the old version prior to the new version, and then compresses the concatenate file to obtain a first compressed file; the server compressed the old version file separately to obtain a second compressed file. The process of obtaining the first compressed file and the process of obtaining the second compressed file may be performed simultaneously, or may be performed according to a certain order.
0107Step <b>302</b>: The server compares the first compressed file with the second compressed file to obtain unmatched block data and the start and end information of the unmatched block data.
0108The server compares the first compressed file and the second compressed file, determines the data content difference between the two files as the unmatched block data, and records the start and end points information of the data content difference.
0109Step <b>303</b>: The server generates an incremental upgrade package according to the unmatched block data and the start and end information of the unmatched block data.
0110Step <b>304</b>: The server receives a request sent by the terminal for downloading the incremental upgrade package.
0111Step <b>305</b>: The server sends the incremental upgrade package to the terminal.
0112The terminal concatenates the unmatched block data and the local second compressed file, i.e., the compressed file of the old version file according to the start and end information of the unmatched block data in the incremental upgrade package, to generate the concatenate compressed file, decompresses the concatenate compressed file to obtain the new version file, and upgrades the old version file according to the new version file.
0113In the embodiment of the present invention, the server generates an incremental upgrade package according to the unmatched block data information between the compressed file that concatenates the old version file and the new version file and the compressed file of the old version file, so that the terminal obtains the new version file according to the incremental upgrade package, thereby implementing incremental upgrade. The incremental upgrade package has a greatly reduced data size compared with the complete new version file data, and therefore, the size of data that needs to be downloaded by the terminal from the server is obviously less than the conventional method. The method reduces data traffic, reduces occupied bandwidth resources, greatly accelerates the version upgrade, improves the efficiency of version upgrade, and saves storage medium resources of the server.
0114In another embodiment, before the old version file and the new version file are concatenated and then the concatenate file is compressed to obtain the first compressed file at the server side, and the old version file is compressed to obtain the second compressed file at the server side, the method may further include:
0115the server receives a search request sent by the terminal, the search request including version information of the old version file;
0116the server searches for the old version file and the new version file according to the version information of the old version file in the search request;
0117the server concatenates the old version file and the new version file and then compresses the concatenate file to obtain the first compressed file, and compresses the old version file to obtain the second compressed file. The concatenating and compressing steps may include:
0118concatenating, by the server, the old version file and the new version file found locally and compressing the concatenate file to obtain the first compressed file, and compressing the old version file to obtain the second compressed file.
0119In this embodiment, the server may generate the incremental upgrade package in advance before receiving the request sent by the terminal for downloading the incremental upgrade package, specifically, after the search request sent by the terminal is received, or after the server obtains the new version file.
0120In another embodiment, the server may generate the incremental upgrade package after receiving the request for downloading the incremental upgrade package, and specifically, as shown in <figref idref="DRAWINGS">FIG. 4</figref>, the method may include:
0121Step <b>401</b>: The server receives the request sent by the terminal for downloading the incremental upgrade package, the request including version information of the old version file corresponding to the incremental upgrade package.
0122No matter whether the server has the incremental upgrade package, the terminal can send, at a fixed time or periodically, the request to the server for downloading the incremental upgrade package, and the request may include the version information of the old version file corresponding to the needed incremental upgrade package, so that the server searches for the corresponding incremental upgrade package according to the information.
0123Step <b>402</b>: The server searches for the old version file and the new version file according to the version information of the old version file in the request.
0124After receiving the request, the server searches for the corresponding new version file according to the version information of the old version file in the request.
0125Step <b>403</b>: The server concatenates the old version file and the new version file and then compresses the concatenate file to obtain a first compressed file, and compresses the old version file to obtain a second compressed file.
0126Step <b>404</b>: The server compares the first compressed file with the second compressed file to obtain unmatched block data and the start and end information of the unmatched block data.
0127Step <b>405</b>: The server generates an incremental upgrade package according to the unmatched block data and the start and end information of the unmatched block data.
0128In the steps <b>403</b> to <b>405</b>, the process of the server generating the incremental upgrade package is the same as that in the foregoing embodiment.
0129Step <b>406</b>: The server sends the incremental upgrade package to the terminal.
0130The terminal concatenates the unmatched block data and the local second compressed file according to the start and end information of the unmatched block data in the incremental upgrade package, to generate a concatenate compressed file, and decompresses the concatenate compressed file to obtain the new version file, and upgrades according to the new version file.
0131In the embodiment shown in <figref idref="DRAWINGS">FIG. 4</figref>, the server generates an incremental upgrade package according to the unmatched block data information between the compressed file that concatenates the old version file and the new version file and the compressed file of the old version file, so that the terminal obtains the new version file according to the incremental upgrade package, thereby implementing incremental upgrade. The incremental upgrade package has a greatly reduced data size compared with the complete new version file data, and therefore, the size of data that needs to be downloaded by the terminal from the server is obviously less than the conventional method. The method reduces data traffic, reduces occupied bandwidth resources, greatly accelerates the version upgrade, improves the efficiency of version upgrade, and saves storage medium resources of the server.
0132In the descriptions of the embodiments, a 7zip method is utilized for compression of both the new version file and the old version file, and definitely, the compression algorithm is not limited to the 7zip, and may also include all other algorithms having the same characteristics. The above descriptions are made on the method embodiments of the present invention, and apparatuses implementing the above methods are described with reference to <figref idref="DRAWINGS">FIG. 5</figref> to <figref idref="DRAWINGS">FIG. 7</figref>.
0133<figref idref="DRAWINGS">FIG. 5</figref> shows a structure of a terminal applying an incremental upgrade method according to an embodiment of the present invention. As shown in <figref idref="DRAWINGS">FIG. 5</figref>, a terminal according to the embodiment of the present invention may include:
0134an upgrade package requesting unit <b>501</b>, configured to send a request to a server for downloading an incremental upgrade package corresponding to a local old version file on the terminal;
0135an upgrade package receiving unit <b>502</b>, configured to receive an incremental upgrade package from the server according to the request, where the incremental upgrade package includes unmatched block data obtained by comparing a first compressed file with a second compressed file and the start and end information of the unmatched block data, where the second compressed file is a compressed file of the old version file, and the first compressed file is a compressed file that concatenates the old version file and a new version file;
0136a data combining unit <b>503</b>, configured to concatenate the unmatched block data and the local second compressed file according to the start and end information of the unmatched block data in the incremental upgrade package, to generate a concatenate compressed file; and
0137a decompressing unit <b>504</b>, configured to decompress the concatenate compressed file to obtain the new version file.
0138After the upgrade package requesting unit <b>501</b> of the terminal sends the request to the server for downloading the incremental upgrade package, the upgrade package receiving unit <b>502</b> receives the incremental upgrade package including the unmatched block data and the start and end information thereof, and the data combining unit <b>503</b> concatenates the unmatched block data and the compressed local old version file according to the start and end information of the unmatched block data in the incremental upgrade package, and then the decompressing unit <b>504</b> decompresses the concatenate file to obtain the new version file and the old version file.
0139In addition, the terminal may further include an upgrading unit <b>505</b>, configured to upgrade according to the new version file.
0140In another specific implementation of the present invention, the terminal may further include:
0141a search requesting unit, configured to send a search request to the server before the upgrade package requesting unit sends the request to the server for downloading the incremental upgrade package, the search request including version information of the old version file; and an information receiving unit, configured to receive feedback information of the server, the feedback information including description information of the incremental upgrade package.
0142The upgrade package requesting unit is specifically configured to send, according to the description information of the incremental upgrade package in the feedback information, the request to the server for downloading the incremental upgrade package.
0143In this embodiment, the terminal first sends search request, by using the search requesting unit, to the server to see whether there is an incremental upgrade package, and if yes, according to the relevant information of the incremental upgrade package received by the information receiving unit, the upgrade package requesting unit requests for acquiring the incremental upgrade package.
0144<figref idref="DRAWINGS">FIG. 6</figref> shows a structure of a server applying an incremental upgrade method according to an embodiment of the present invention. As shown in <figref idref="DRAWINGS">FIG. 6</figref>, the server applying the incremental upgrade method provided in the present invention includes:
0145a compressing unit <b>601</b>, configured to concatenate an old version file and a new version file and then compress the concatenate file to obtain a first compressed file, and compress the old version file to obtain a second compressed file;
0146a comparing unit <b>602</b>, configured to compare the first compressed file with the second compressed file to obtain unmatched block data and the start and end information of the unmatched block data;
0147an upgrade package generating unit <b>603</b>, configured to generate an incremental upgrade package according to the unmatched block data and the start and end information of the unmatched block data;
0148a first request receiving unit <b>604</b>, configured to receive a request sent by a terminal for downloading the incremental upgrade package; and
0149an upgrade package sending unit <b>605</b>, configured to send the incremental upgrade package to the terminal, such that the terminal can concatenate the unmatched block data and the local second compressed file according to the start and end information of the unmatched block data in the incremental upgrade package, to generate a concatenate compressed file, decompress the concatenate compressed file to obtain the new version file, and upgrade according to the new version file.
0150The server generates the incremental upgrade package by using the compressing unit <b>601</b>, the comparing unit <b>602</b> and the upgrade package generating unit <b>603</b>, the incremental upgrade package including the unmatched block data and the start and end information of the unmatched block data, and after the first request receiving unit <b>604</b> receives the request for downloading the incremental upgrade package, the upgrade package sending unit <b>605</b> sends the incremental upgrade package to the terminal, such that the terminal can perform incremental upgrade.
0151In another embodiment of the present invention, the server may further include:
0152a second request receiving unit, configured to receive a search request sent by the terminal before the compressing unit obtains the first compressed file and the second compressed file, the search request including version information of the old version file; and
0153a searching unit, configured to search for the old version file and the new version file according to the version information of the old version file in the search request;
0154wherein the compressing unit is configured to concatenate the old version file and the new version file found locally and then compress the concatenate file to obtain the first compressed file, and compress the old version file to obtain the second compressed file.
0155In this embodiment, after the second request receiving unit receives the search request and the searching unit founds the old version file and the new version file, the server may generate the incremental upgrade package by using the compressing unit <b>601</b>, the comparing unit <b>602</b> and the upgrade package generating unit <b>603</b>.
0156<figref idref="DRAWINGS">FIG. 7</figref> shows a structure of a server applying an incremental upgrade method according to another embodiment of the present invention. As shown in <figref idref="DRAWINGS">FIG. 7</figref>, a server according to the embodiment of the present invention includes:
0157a request receiving unit <b>701</b>, configured to receive a search request sent by a terminal for downloading an incremental upgrade package, the search request including version information of the old version file corresponding to the incremental upgrade package;
0158a searching unit <b>702</b>, configured to searching for an old version file and a new version file according to the version information of the old version file in the request;
0159a compressing unit <b>703</b>, configured to concatenate the old version file and the new version file and then compress the concatenate file to obtain a first compressed file, and compress the old version file to obtain a second compressed file;
0160a comparing unit <b>704</b>, configured to compare the first compressed file and the second compressed file to obtain unmatched block data and the start and end information of the unmatched block data;
0161an upgrade package generating unit <b>705</b>, configured to generate the incremental upgrade package according to the unmatched block data and the start and end information of the unmatched block data; and
0162an upgrade package sending unit <b>706</b>, configured to send the incremental upgrade package to the terminal, such that the terminal can concatenate the unmatched block data and the local second compressed file to generate a concatenate compressed file according to the start and end information of the unmatched block data in the incremental upgrade package, decompress the concatenate compressed file to obtain the new version file, and upgrade according to the new version file.
0163In this embodiment, after the request receiving unit <b>701</b> receives the request sent by the terminal for downloading the incremental upgrade package and the searching unit <b>702</b> finds the old version file and the new version file, the server may generate the incremental upgrade package by using the compressing unit <b>703</b>, the comparing unit <b>704</b> and the upgrade package generating unit <b>705</b>, and finally, the upgrade package sending unit <b>706</b> sends the incremental upgrade package to the terminal, such that the terminal can perform upgrade.
0164In the embodiment of the present invention, the server generates, through the abovementioned units, an incremental upgrade package according to the unmatched block data information between the compressed file that concatenates the old version file and the new version file and the compressed file of the old version file, so that the terminal obtains the new version file according to the incremental upgrade package, thereby implementing incremental upgrade. The incremental upgrade package has a greatly reduced data size compared with the complete new version file data, and therefore, the size of data that needs to be downloaded by the terminal from the server is obviously less than the conventional method. The method reduces data traffic, reduces occupied bandwidth resources, greatly accelerates the version upgrade, improves the efficiency of version upgrade, and saves storage medium resources of the server.
0165In the descriptions of the embodiments, a 7zip method is utilized by the compressing unit for compression of both the new version file and the old version file. The compression algorithm is merely an exemplary description. A person skilled in the art should understand that the compression algorithm that can be used in the incremental upgrade method and apparatus provided in the present invention is not limited to the 7zip, and may also include all other algorithms having the same characteristics.
0166A person of ordinary skill in the art may be aware that, in combination with the examples described in the embodiments disclosed in this specification, units and algorithm steps may be implemented in electronic hardware or a combination of computer software and electronic hardware. Whether the functions are performed in hardware or software depends on particular applications and design constraint conditions of the technical solutions. A person skilled in the art may use different methods to implement the described functions for each particular application, and it should not be considered that the implementation goes beyond the scope of the present invention.
0167It may be clearly understood by a person skilled in the art that, for the purpose of convenient and brief description, the detailed operating process of the foregoing system, apparatus, and unit may refer to the corresponding process in the foregoing method embodiments, and details are not elaborated herein.
0168In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus, and method may be implemented in other manners. For example, the described apparatus embodiment is merely exemplary, such as the division of the units which is merely a logical function division and may be other division in actual implementation, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omit or not performed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be indirect couplings or communication connections through some interfaces, apparatuses or units, and may be in electrical, mechanical, or other forms.
0169The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one position, or may be distributed on a plurality of network units. A part or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
0170In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each of the units may exist alone physically, or two or more units are integrated into one unit.
0171When the functions are implemented in a form of a software functional unit and sold or used as an independent product, the functions may be stored in one computer-readable storage medium. Based on such an understanding, the technical solutions of the present invention essentially, or the part contributing to the prior art, or a part of the technical solutions may be implemented in a form of a software product. The software product may be stored in a storage medium, and includes several instructions for instructing a computer device (which may be a personal computer, a server, or a network device) or processor to perform all or a part of the steps of the methods described in the embodiments of the present invention. The foregoing storage medium includes: any medium that can store program code, such as a USB flash drive, a removable hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disc.
0172The incremental upgrade method, the apparatus applying the method and the storage medium according to the present invention described above with reference to the accompanying drawings are merely specific implementations of the present invention, but are not intended to limit the protection scope of the present invention. Any variation or replacement readily figured out by a person skilled in the art within the technical scope disclosed in the present invention shall fall within the protection scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the claims.
Contents5
7 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US10649769B2 | Cited by | United States of America | Applicant |
| WO2025015921A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| CN111427609A | Cited by | China | Search report |
| US9917697B2 | Cited by | United States of America | Applicant |
| US10228934B2 | Cited by | United States of America | Search report |
| EP3798822A1 | Cited by | European Patent Office (EPO) | Search report |
| US10904361B2 | Cited by | United States of America | Applicant |
| CN111459524A | Cited by | China | Search report |
| CN109450962A | Cited by | China | Search report |
| CN109582323A | Cited by | China | Search report |
| CN111459531A | Cited by | China | Search report |
| CN112423290A | Cited by | China | Search report |
| US10048959B2 | Cited by | United States of America | Applicant |
| US2003212712A1 | Cites | United States of America | Pre-grant |
| US2008216066A1 | Cites | United States of America | Pre-grant |
| US2011119240A1 | Cites | United States of America | Pre-grant |
5 members in 3 offices
Priority claims3
| Document | Office | Kind | Date |
|---|---|---|---|
| 2012105806706 | China | – | |
| 201210580670 | China | A | |
| 2013082456 | China | W |
Members5
| Document | Office | Kind | |
|---|---|---|---|
| CN103051723A | China | A | |
| WO2014101451A1 | World Intellectual Property Organization (WIPO) | A1 | |
| US2016004530A1 | United States of America | A1 | |
| CN103051723B | China | B | |
| US10031744B2 | United States of America | B2 |
68 transactions on the USPTO file
Allowed after 1 non-final rejection, 1 final rejection and 1 appeal.
- Non-final rejections
- 1
- Final rejections
- 1
- RCEs
- 0
- Appeals
- 1
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Payment of Maintenance Fee, 8th Year, Large EntityM1552 | M1552 | |
| Payment of Maintenance Fee, 4th Year, Large EntityM1551 | M1551 | |
| Post Issue Communication - Certificate of CorrectionN423 | N423 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Interview Summary - Examiner InitiatedEXIE | EXIE | |
| Reasons for AllowanceEX.R | EX.R | |
| Examiner's Amendment CommunicationEX.A | EX.A | |
| Email NotificationEML_NTR | EML_NTR | |
| Mail Appeals conf. Reopen Prosec.MAPCR | MAPCR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Pre-Appeal Conference Decision - Reopen ProsecutionAPCR | APCR | |
| Request for Pre-Appeal Conference FiledAP.C | AP.C | |
| Notice of Appeal FiledN/AP | N/AP | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Email NotificationEML_NTR | EML_NTR | |
| Mail Advisory Action (PTOL - 303)MCTAV | MCTAV | |
| Advisory Action (PTOL-303)CTAV | CTAV | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Final ActionA.NE | A.NE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Email NotificationEML_NTR | EML_NTR | |
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Correspondence Address ChangeC.AD | C.AD | |
| Email NotificationEML_NTR | EML_NTR | |
| Application ready for PDX access by participating foreign officesCCRDY | CCRDY | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Application Is Now CompleteCOMP | COMP | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Email NotificationEML_NTR | EML_NTR | |
| Email NotificationEML_NTR | EML_NTR | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Notice of DO/EO Acceptance MailedM903 | M903 | |
| Sent to Classification ContractorPGPC | PGPC | |
| FITF set to NO - revise initial settingFTFI | FTFI | |
| Request for Foreign Priority (Priority Papers May Be Included)RQPR | RQPR | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Preliminary AmendmentA.PE | A.PE | |
| 371 Completion Date371COMP | 371COMP | |
| Patent Term Adjustment - Ready for ExaminationPTA.RFE | PTA.RFE | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Cleared by OIPE CSRL194 | L194 | |
| Entity Status Set To Undiscounted (Initial Default Setting or Status Change)BIG. | BIG. | |
| Initial Exam Team nnIEXX | IEXX |
6 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Maintenance fee paymentMAFP | MAFP | |
| Maintenance fee paymentMAFP | MAFP | |
| AssignmentAS | AS | |
| Certificate of correctionCC | CC | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS |
Numbers
- Publication
- 20160004530
- Application
- 14653704
Titles
- English
- INCREMENTAL UPGRADE METHOD, APPARATUS FOR APPLYING METHOD AND STORAGE MEDIUM
Patent term adjustment
- A delay
- +175 daysthe office missed an examination deadline
- B delay
- +36 dayspendency past three years
- Applicant delay
- −41 days
- Net adjustment
- 170 days
Classification
- CPC, 6
- G06F8/658
- G06F8/68
- G06F16/183
- H04L69/04
- H04L67/34
- G06F17/30203
- IPC, 4
- G06F9 44
- G06F17 30
- H04L29 06
- H04L29 08