CN104391728A - Software upgrading delta pack acquiring method, corresponding upgrading method and device - Google Patents

Software upgrading delta pack acquiring method, corresponding upgrading method and device Download PDF

Info

Publication number
CN104391728A
CN104391728A CN201410773855.8A CN201410773855A CN104391728A CN 104391728 A CN104391728 A CN 104391728A CN 201410773855 A CN201410773855 A CN 201410773855A CN 104391728 A CN104391728 A CN 104391728A
Authority
CN
China
Prior art keywords
file
aku
installation kit
data
configuration file
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
CN201410773855.8A
Other languages
Chinese (zh)
Other versions
CN104391728B (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.)
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201410773855.8A priority Critical patent/CN104391728B/en
Publication of CN104391728A publication Critical patent/CN104391728A/en
Application granted granted Critical
Publication of CN104391728B publication Critical patent/CN104391728B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

The invention relates to delta-pack-based software upgrading method, and in particular provides a software upgrading delta pack acquiring method and device. Files of the same name, which have a difference, in an installing pack and an upgrading pack are subjected to differentiation in the form of source data, so that a delta pack with a smaller volume is obtained. Correspondingly, the invention further provides a software updating and upgrading method and a software updating and upgrading device. The delta pack is used for reducing the upgrading pack according to the inner structure of a zip file of the upgrading pack. According to the scheme, a user can quickly realize updating and upgrading of software in a more flow-saving manner by downloading the delta pack with the smaller volume.

Description

Software upgrading difference packet acquisition methods and corresponding upgrade method and device
Technical field
The present invention relates to the application software upgrade based on difference packet, specifically, the present invention relates to software upgrading difference packet acquisition methods and corresponding upgrade method and device.
Background technology
Along with the development of mobile Internet industry, the application program of mobile terminal gets more and more, and version is constantly updated, and user needs the safety and stability constantly carrying out corresponding application software upgrade guarantee software.When application software has upgraded version, just need the AKU downloading and installing more highest version, the usual volume of AKU of highest version is larger, and complete download AKU can make user consume comparatively various flow, wait for longer download time, also can consume the input and output resource of more Multi net voting resource and local file simultaneously.
Prior art is in order to solve the problem, usual employing difference algorithm directly carries out scale-of-two difference to installation kit and AKU, wherein conventional difference algorithm has xdelta3, bsdiff, courgette, generate the difference packet of difference both characterizing, user completes software upgrading by the difference packet downloading smaller size smaller.Application number is method and the device that the patent of invention of 201310642252.X discloses a kind of application software upgrade, employing obtains increment AKU to the method that installation kit and AKU carry out scale-of-two difference, and client obtains AKU by the increment AKU reduction of downloading coupling.But upgrade along with the continuous renewal of software package, more the difference packet of small size can meet the demand of application software frequent updating upgrading better, therefore the invention provides the difference packet method and corresponding method for upgrading software that generate more small size, user can be made to carry out frequent software upgrading with more economizing flow, thus reduce the leak window of software, user is made to use application software more safely, and for connecting unstable user, more the AKU of small size can more be conducive to upgrading upgrading.
Summary of the invention
Primary and foremost purpose of the present invention is to solve at least one above-mentioned problem, thus provides a kind of software upgrading difference packet acquisition methods, to generate the less upgrading difference packet of volume.
Another object of the present invention is to corresponding to last object, and a kind of upgrade method is provided, realize software upgrading to utilize this difference packet.
For realizing above-mentioned purpose of the present invention, the present invention adopts following technical scheme:
The invention provides a kind of software upgrading difference packet acquisition methods, described method comprises:
Resolve installation kit and AKU inner structure, determine the file of the same name that there are differences each other and the AKU newly-increased file relative to installation kit, and generate the configuration file recording those file location informations;
All internal structural informations of record AKU, generator data file;
The file of the same name that there are differences described in decompression installation kit and AKU, carries out difference to obtain differential data file by the file of the same name that there are differences described in both with source data form correspondence;
Compress described configuration file, meta data file, differential data file and described newly-increased file, obtain described upgrading difference packet.
Concrete, described configuration file comprises residual quantity configuration file and merges configuration file, wherein:
Described residual quantity configuration file, for recording the positional information of the file of the same name that there are differences described in installation kit;
Described merging configuration file, for recording the positional information of the file of the same name and described newly-increased file that there are differences described in AKU.
Further, described merging configuration file also comprises the positional information of the file of the same name relative to installation kit indifference for recording AKU.
Further, described software difference packet acquisition methods is further comprising the steps of:
By repeatedly attempting obtaining the compression parameters mated with AKU, and be recorded in described merging configuration file;
Described adaptive compression parameters is adopted to compress the differential data of described differential data file.
Concrete, described meta data file comprises central directory in described AKU inner structure, central directory terminates to identify and local file head, the data descriptor of each file.
The invention provides a kind of software upgrading difference packet acquisition device, comprising:
Configuration file generation unit, increases the positional information of file newly for generating record installation kit and the file of the same name that there are differences each other of AKU and AKU;
Meta data file generation unit, for recording all internal structural informations of AKU;
Difference unit, for calculating in installation kit and AKU the difference between the file of the same name that there are differences each other;
Compression unit, for carrying out compression and decompression to file data.
Further, described device also comprises:
Adaptation unit, for the compression parameters that adaptation is mated with AKU.
Concrete, described configuration file comprises residual quantity configuration file and merges configuration file, wherein:
Described residual quantity configuration file, for recording the positional information of the file of the same name that there are differences described in installation kit;
Described merging configuration file, for recording the positional information of the file of the same name and described newly-increased file that there are differences described in AKU.
Further, described merging configuration file also comprises the positional information of the file of the same name relative to installation kit indifference for recording AKU.
Further, described merging configuration file also comprises the adaptive compression parameters mated with AKU.
Concrete, described meta data file comprises central directory in described AKU inner structure, central directory terminates to identify and local file head, the data descriptor of each file.
Correspondingly, the present invention also provides a kind of software upgrading upgrade method, and described method comprises:
Decompression difference packet, obtains its configuration file comprised, meta data file, differential data file and newly-increased file;
From installation kit, obtain respective record in the first file location information of configuration file, merge the first file after with the upgrading obtaining source data form by corresponding with described first file for described differential data file with source data form;
According to the file location information that configuration file records, all the other associated documents in described meta data file, newly-increased file, the first file and described installation kit are reduced to AKU;
This AKU is installed.
Concrete, described configuration file comprises residual quantity configuration file and merges configuration file, wherein:
Described residual quantity configuration file, for recording the positional information of the file of the same name that there are differences described in installation kit;
Described merging configuration file, for recording the positional information of the file of the same name and described newly-increased file that there are differences described in AKU.
Further, described merging configuration file also comprises the positional information of the file of the same name relative to installation kit indifference for recording AKU.
Concrete, described first file specifically refers to the file of the same name that there are differences relative to AKU of installation kit.
Concrete, all the other associated documents in described installation kit specifically refer to the file of the same name relative to AKU indifference in installation kit.
Further, described reduction AKU process also comprises, and carries out weight contracting to the data of files of the same name different relative to AKU compress mode in installation kit.
Concrete, described weight contracting adopts the compression parameters mated with AKU be recorded in described merging configuration file.
Concrete, described meta data file comprises central directory in described AKU inner structure, central directory terminates to identify and local file head, the data descriptor of each file.
The invention provides a kind of software upgrading update device, comprising:
Compression unit, for configuration file, meta data file, differential data file and newly-increased file that the difference packet that decompresses comprises to obtain it;
Merge cells, corresponds to for merging in installation kit with source data form the file of the same name and differential data file that AKU there are differences;
Reduction AKU unit, for reducing AKU according to the merging configuration file in configuration file;
Installation unit, for installing the AKU of reducing and obtaining.
Concrete, described configuration file comprises residual quantity configuration file and merges configuration file, wherein:
Described residual quantity configuration file, for recording the positional information of the file of the same name that there are differences described in installation kit;
Described merging configuration file, for recording the positional information of the file of the same name and described newly-increased file that there are differences described in AKU.
Further, described merging configuration file also comprises the positional information of the file of the same name relative to installation kit indifference for recording AKU.
Concrete, described meta data file comprises central directory in described AKU inner structure, central directory terminates to identify and local file head, the data descriptor of each file.
Concrete, the data of described compression unit to files of the same name different relative to AKU compress mode in installation kit carry out weight contracting.
Further, described compression unit adopts the compression parameters mated with AKU be recorded in described merging configuration file.
Compared to existing technology, tool of the present invention has the following advantages:
1, difference packet acquisition methods of the present invention, due to the file of the same name that there are differences each other of installation kit and AKU is carried out difference with source data form correspondence, variance data compared with short word joint is generated to the source data difference of uncoded rearrangement, obtain the difference packet that volume is less, thus enable user complete software upgrading upgrading fast with more economizing flow.
2, the Merge Scenarios in software upgrading upgrade method of the present invention adopts the mode of restructuring zip file internals, by the file data needed for the meta data file of sign AKU internal structural information and AKU inside, according to the positional information of the file data recorded in AKU inside, carry out restructuring reduction AKU.The AKU that the method obtains and former AKU completely the same, there is not any error, facilitate the error free continuous upgrading of follow-up more highest version AKU.
3, the positional information of file required for the present invention in configuration file record installation kit of the present invention and AKU, can the file of installation kit needed for rapid extraction and AKU, the more important thing is, can accordingly configuration file provide positional information reduction AKU, obtain AKU indiscriminate with former AKU.
The aspect that the present invention adds and advantage will part provide in the following description, and these will become obvious from the following description, or be recognized by practice of the present invention.
Accompanying drawing explanation
The present invention above-mentioned and/or additional aspect and advantage will become obvious and easy understand from the following description of the accompanying drawings of embodiments, wherein:
Fig. 1 is the theory diagram of software upgrading difference packet acquisition methods of the present invention
Fig. 2 is the theory diagram of software upgrading upgrade method of the present invention
Fig. 3 is the theory diagram of software upgrading difference packet acquisition device of the present invention
Fig. 4 is the theory diagram of software upgrading update device of the present invention
Embodiment
Be described below in detail embodiments of the invention, the example of described embodiment is shown in the drawings.Being exemplary below by way of the embodiment be described with reference to the drawings, only for explaining the present invention, and can not limitation of the present invention being interpreted as.
Those skilled in the art of the present technique are appreciated that unless otherwise defined, and all terms used herein (comprising technical term and scientific terminology), have the meaning identical with the general understanding of the those of ordinary skill in field belonging to the present invention.It should also be understood that, those terms defined in such as general dictionary, should be understood to that there is the meaning consistent with the meaning in the context of prior art, unless and by specific definitions as here, otherwise can not explain by idealized or too formal implication.
Those skilled in the art are to be understood that, " application ", " application program ", " application software " alleged by the present invention and the concept of similar statement, be those skilled in the art known same concept, refer to and be suitable for by the instruction of series of computation machine and the organic structure of related data resource the computer software that electronics runs.Unless specified, this name itself, not by programming language kind, rank, also not limited by the operating system of its operation of relying or platform.In the nature of things, this genus also not limited by any type of terminal.
The present invention describes the present invention using the terminal device of android system as the environment of embodiment, but enforcement of the present invention is not limited to Android operation system, those skilled in the art can reasonably predict, the operating systems such as such as Linux, Windows, as long as its application package installed is zip file structure, just go for all schemes that the present invention conceives, therefore, those skilled in the art should know the accommodation in this application.Below, will describe in detail one by one to all schemes of the present invention:
Refer to Fig. 1, what there is disclosed software upgrading difference packet acquisition methods of the present invention realizes principle, comprises the following steps:
S11: resolve installation kit and AKU inner structure, determines the file of the same name that there are differences each other and the AKU newly-increased file relative to installation kit, and generates the configuration file recording those file location informations
Zip file structure forms primarily of three parts, comprise central directory, central directory terminate mark and pressure source file.Wherein central directory is made up of multiple sub-directory, and the corresponding compression catalogue source data of each sub-directory, records the descriptor of this sub-directory.See table 1, its inner structure is as shown in the table:
Composition Byte length Side-play amount
Core catalogue file leader is known 4 0
The pkware version that compression uses 2 6
Pkware version needed for decompress(ion) 2 6
General position mark 2 8
Compress mode 2 10
The last modification time of file 2 12
File finally revises the date 2 14
CRC-32 verifies 4 16
Size after compression 4 20
Uncompressed size 4 24
Filename length 2 28
Extended field length 2 30
File notes length 2 32
The disk number of file start-position 2 34
Internal file attribute 2 36
External file attribute 4 38
Local header side-play amount 4 42
Catalogue file name Indefinite length m 46
Extended field Indefinite length n 46+m
File notes Indefinite length k 46+m+n
Table 1 central directory subdirectory structure
Resolve installation kit and AKU inner structure, the central directory information of contrast installation kit and AKU, detailed process is: the filename field comparing each sub-directory of the central directory of installation kit and AKU successively; If exist identical, then compare the CRC-32 check code field of central directory and the field of uncompressed size, all identical, the corresponding respectively pressure source file of corresponding sub directory is the file of the same name that there are differences in installation kit and AKU, namely revises file; Not identical, the corresponding respectively pressure source file of corresponding sub directory is the file of the same name of installation kit and AKU indifference, i.e. same file; If exist in installation kit and do not exist in AKU, then the pressure source file that this sub-directory is corresponding is relative to the file that installation kit has been deleted in AKU, i.e. deleted file; If do not exist in installation kit and exist in AKU, then the pressure source file that this sub-directory is corresponding is relative to the file that installation kit increases in AKU, i.e. newly-increased file.
Deleted file due to installation kit does not relate to the fileinfo in AKU, therefore without the need to doing any respective handling, can be used as irrelevant contents.Amendment file and same file all belong to the fileinfo that reduction AKU needs are used, therefore need record the amendment file location information in installation kit, as residual quantity configuration file; Record in AKU simultaneously and revise file and same file positional information, and newly-increased file location information in AKU, as merging configuration file.This positional information specifically refers to, the information such as the local header side-play amount that each file is corresponding, file byte length.Residual quantity configuration file and merging configuration file are collectively referred to as configuration file.
Below about configuration file, residual quantity configuration file and merge configuration file description if no special instructions, all refer to configuration file described herein, residual quantity configuration file and merge configuration file.
S12: all internal structural informations of record AKU, generator data file
Zip file can comprise the document entity that the different compress mode of multiple use is not even compressed, and wherein each document entity structure is made up of local file head (Local File Header), file data (File Data) and data descriptor (Data descriptor) three parts.Wherein when the 3rd position, position of local file header, the afterbody of document entity structure just there will be data descriptor, after last byte of packed data, and the situation only for not retrieving the zip file exported.
Because reduction AKU needs to carry out data merging, in order to obtain the structural information of AKU, to there are differences corresponding to installation kit in AKU or the document entity of the same name of indifference splits, the local file head of gained document entity, data descriptor, the meta data file of composition AKU such as identifying is terminated, for recording all internal structural informations of AKU with the central directory of AKU, central directory.
S13: the file of the same name that there are differences described in decompression installation kit and AKU, carries out difference to obtain differential data file by the file of the same name that there are differences described in both with source data form correspondence
The method of existing acquisition difference packet, mainly based on to the installation kit of the source data that do not decompress and AKU, directly scale-of-two difference is carried out by difference algorithm, but because the file source data of zip file structure are after compression coding, the complicated rearrangement that caused the binary code of source data to carry out, thus cause AKU to be mounted opposite the less difference of bag reality to be exaggerated.Such as, AKU is mounted opposite bag only change certain module or some byte, both actual variances are those modules through change or byte, but after coding, all data of installation kit and AKU rearrange with new rule, cause both differences to be amplified, the delta package volume obtained is increased.Therefore, in order to obtain the difference packet of more small size, the present invention adopts and carries out difference to the source data decompressed in installation kit and AKU, namely carries out scale-of-two difference to the raw data of un-encoded, obtain less actual variance between the two, generate more small size difference packet.
Adopt general decompression algorithm, the file of the same name that there are differences each other in decompression installation kit and AKU in order successively, wherein installation kit should be consistent with the document order arrangement of the same name that there are differences of AKU, and the file source data of decompression are carried out difference according to same file name correspondence.Difference algorithm herein can adopt xdelta3, bsdiff, courgette scheduling algorithm, and the present invention is only described this differential process for bsdiff.
The jni of android system provides bsdiff differential interface: public native String bsdiff (StringoldFilePath, String newFilePath, String patchFilePath), wherein oldFilePath represents the source data file path corresponding to the file of the same name that AKU there are differences of depositing installation kit, newFilePath represents the source data file path corresponding to the file of the same name that installation kit there are differences of depositing AKU, patchFilePath represents the file path depositing differential data, call the different information that this interface obtains both, i.e. differential data file.
S14: compress described configuration file, meta data file, differential data file and described newly-increased file, obtain described upgrading difference packet
Because zip file can comprise the document entity that the different compress mode of multiple use even do not compress, then just may there is following several situation in the file data that installation kit is identical with in AKU: (1) installation kit data compression and AKU data are not compressed; (2) installation kit data are not compressed and AKU data compression; (3) installation kit data and AKU data are all compressed; (4) installation kit data and AKU data are not all compressed.Situation is planted for (2) and (3); usual meeting is because CPU version, system kernel version are different and the not equal reason of compression parameters causes different compressed encoding results; if simply by uncompressed data weight contracting; reassemble into complete zip wrap with differential data, AKU metadata; the residual quantity AKU obtained and former AKU inconsistent; even have very big difference, thus cause the follow-up further upgrading based on the new AKU of this restructuring to be affected.
In addition, but because installation kit is different with AKU compression parameters, and the compression parameters that different zip wraps cannot be known, therefore in order to solve the problem, realize the compression consistent with AKU, the present invention adopts certain compression parameters to compress to file data unpressed in installation kit, the compression result the obtained same file corresponding with AKU contrasts, if completely the same, it is adaptive success, otherwise it is adaptive to adopt new compression parameters to continue, until find the compression parameters consistent with AKU.The compression parameters that above-mentioned adaptation obtains also is recorded to and merges in configuration file.
The differential data file obtained above-mentioned steps, AKU increase file, AKU meta data file, residual quantity configuration file newly and merge configuration file to be compressed, and obtains the compression difference packet that volume is less.Wherein, differential data is obtained by the source data difference of the file of the same name that there are differences each other in installation kit and AKU, therefore differential data is unpacked data, so also need the packet compressing to obtain more small size to it.
For software upgrading difference packet acquisition methods of the present invention, below list some experimental data and carry out analytic explanation:
Table 2 experimental data
Refer to shown in table 2, the complete AKU size of the large little finger of toe of new bag; The difference packet size that the large little finger of toe of current difference packet is generated by prior art; CourgetteV2 difference algorithm is adopted to carry out the difference packet size of difference generation in the large little finger of toe of new difference packet courgetteV2 difference packet acquisition methods of the present invention; Bsdiff difference algorithm is adopted to carry out the difference packet size of difference generation in the large little finger of toe of new difference packet bsdiff difference packet acquisition methods of the present invention; From the experimental data of 100 software packages in table 2, the difference packet volume that the difference packet that upgrading difference packet method of the present invention generates generates compared to existing technology obviously reduces, wherein the present invention adopts courgette V2 difference algorithm reduction amplitude maximum, and average reduction ratio is 44.36%; It is 39.55% that the present invention adopts bsdiff difference algorithm on average to reduce ratio.
Accordingly, the present invention can provide a kind of software upgrading difference packet acquisition device according to aforesaid method, by the modules that this device realizes, realizes each step of the method respectively, also can realize corresponding function.Refer to Fig. 3, specifically, software upgrading difference packet acquisition device provided by the invention, comprises configuration file generation unit 11, meta data file generation unit 12, difference unit 13, compression unit 14 and adaptation unit 15.
This software upgrading difference packet acquisition device is positioned at service end, and service end obtains the upgrading difference packet corresponding to each version installation kit by this software upgrading difference packet device in advance, waits for that client transmission request information obtains the upgrading difference packet of mating with its installation kit.
First pass through to resolve installation kit and AKU inner structure by configuration file generation unit 11, concrete finger zip structure, and the central directory information of both contrasts, the file of the same name that generation record installation kit and AKU there are differences each other and AKU increase the configuration file of the positional information of file newly; Secondly, meta data file generation unit 12 splits each document entity in AKU, all internal structural informations in record AKU, generator data file; Then, difference between the file of the same name that difference unit 13 adopts difference algorithm to calculate to there are differences each other in installation kit and AKU, obtain differential data, wherein compression unit 14 decompresses the file of the same name that there are differences each other in installation kit and AKU, and both carry out difference with source data form; Finally, compression unit 14 compressed configuration file, meta data file, differential data file and described newly-increased file, obtain difference packet of upgrading.
This device also comprises adaptation unit 15, obtains the compression parameters matched with AKU, and this compression parameters is recorded in merging configuration file for attempting.
In addition, the receiving element of service end receives the software upgrading request of client transmission, this solicited message comprises the information such as installation kit mark, installation kit version number, service end is mated with the application software in service end database by matching unit according to solicited message, pushes engine and the difference packet consistent with solicited message is pushed to client.
The difference packet obtained to utilize said method carries out software upgrading upgrading, composition graphs 2, and what present invention is disclosed a kind of software upgrading upgrade method realizes principle, comprises the following steps:
S11: decompression difference packet, obtains its configuration file comprised, meta data file, differential data file and newly-increased file
Decompression difference packet, obtains configuration file, meta data file, differential data file and newly-increased file.Configuration file comprises residual quantity configuration file and merges configuration file, wherein:
Described residual quantity configuration file, for recording the positional information of the file of the same name that there are differences described in installation kit;
Described merging configuration file, for recording the positional information of the file of the same name and described newly-increased file that there are differences described in AKU.
Meta data file comprises central directory in described AKU inner structure, central directory terminates to identify and local file head, the data descriptor of each file.
The different information of the file of the same name that differential data file record installation kit and AKU there are differences each other.
Newly-increased file specifically refers to the file that AKU is newly-increased relative to installation kit.
S12: obtain respective record in the first file location information of configuration file from installation kit, merges the first file after with the upgrading obtaining source data form by corresponding with described first file for described differential data file with source data form
Described first file specifically refers to the file of the same name that there are differences relative to AKU in installation kit, positional information according to the residual quantity configuration file record in configuration file extracts described file of the same name from installation kit, decompress described file of the same name, the file of decompression differential data simultaneously, both are carried out difference merging with source data form, the result data merged is the first file after upgrading, i.e. the source data of the file of the same name that there are differences relative to installation kit of AKU.
The merge algorithm that described difference merging process can adopt the difference algorithm in any and above-mentioned upgrading difference packet acquisition methods corresponding, the present embodiment is only for the bspatch instrument that bsdiff difference algorithm is corresponding, and the process of being combined is described.
The jni of Android system provides bspatch to merge interface: public native String bspatch (String oldFilePath, String oldFilePath, String oldFilePath), wherein oldFilePath represents the source data file path corresponding to the file of the same name that AKU there are differences of depositing installation kit, newFilePath represents the source data file path corresponding to the file of the same name that installation kit there are differences of depositing AKU, patchFilePath represents the file path depositing differential data, call the source data corresponding to the file of the same name that installation kit there are differences that this interface obtains AKU.
All the other associated documents in described meta data file, newly-increased file, the first file and described installation kit are reduced to AKU by S13: the file location information recorded according to configuration file
Because the file data of the same name that there are differences each other in installation kit and AKU just may exist following several situation: (1) installation kit data compression and AKU data are not compressed; (2) installation kit data are not compressed and AKU data compression; (3) installation kit data and AKU data are all compressed; (4) installation kit data and AKU data are not all compressed.Situation is planted for (2) and (3); usual meeting is because CPU version, system kernel version are different and the not equal reason of compression parameters causes different compressed encoding results; if simply by uncompressed data weight contracting; reassemble into complete zip wrap with differential data, AKU metadata; the residual quantity AKU obtained and former AKU inconsistent; even have very big difference, thus cause the follow-up further upgrading based on the new AKU of this restructuring to be affected.So need to plant situation file to (2) and (3) of installation kit to carry out weight contracting.
(1) the installation kit file Directly solution of planting situation compresses, using uncompressed source data as AKU file data; (2) and (3) the installation kit file of planting situation first decompresses, then carries out weight contracting, as AKU file data according to the adaptive compression parameters merging configuration file record to the data decompressed; In (4), the installation kit file of situation is directly as AKU file data.The file of the same name that there are differences corresponding to AKU of installation kit is done above process.Meanwhile, above-mentioned same treatment is also done to the file of the same name relative to AKU indifference in installation kit.
The process of reduction AKU zip structure is: get each local file head in meta data file and corresponding tail data descriptor in order; The file data corresponding with each local file head and corresponding tail data descriptor is got from AKU data, wherein this file data comprises the file data of the same name relative to AKU indifference in the installation kit of above-mentioned weight contracting process, and is reduced the file data of the same name that there are differences relative to installation kit of the AKU obtained by installation kit and differential data; According to the document structure information merging configuration file record, form different document entities respectively; Finally, terminate according to the AKU central directory recorded in merging configuration file, central directory the positional information that mark, each document entity and AKU increase file newly, combined zip file structure, reduction obtains AKU on all four with former AKU.
S14: install this AKU
Decompress the AKU of reducing and obtaining, and installs and realize software upgrading.
Correspondingly, can provide a kind of software upgrading update device according to software upgrading upgrade method of the present invention, this device realizes with the thinking of modularization and Kernel-based methods, and there is corresponding relation between the method, and can reach identical technique effect.Therefore, be below about to the description for this device carried out, also the principle continuing to use the concept of preceding method carried out.
Refer to Fig. 4, software upgrading update device of the present invention mainly comprises compression unit 11, merge cells 12, reduction AKU unit 13, installation unit 14.
Described software upgrading update device is positioned at client, client sends the software upgrading solicited message comprising the information such as installation kit mark, installation kit version number to service end, obtain and receive service end send coupling difference packet, then this difference packet and former installation kit are carried out mergings reduce AKU.
Described software upgrading update device adopts compression unit 11 to decompress difference packet, obtains its configuration file comprised, meta data file, differential data file and newly-increased file; First merge cells 12 carries out pre-service to installation kit, namely according to the positional information such as Bureau of Documents's size side-play amount, file byte length of the residual quantity configuration file record in configuration file, obtains the file of the same name that there are differences relative to AKU of installation kit; By compression unit 11 to described installation kit file decompression of the same name, described installation kit file of the same name and differential data file merge with source data form, and this merging process adopts corresponding merge algorithm to realize by merge cells 12.
Reduction AKU unit 13 gets the structural information such as file header and data descriptor from the meta data file of difference packet, relative to the file data of the same name of AKU indifference in the installation kit that overweight compression of learning from else's experience processes, and the file data of the same name that there are differences relative to installation kit of the AKU obtained is reduced by installation kit and differential data, according to the document structure information merging configuration file record, form different document entities respectively; Then, terminate according to the AKU central directory recorded in merging configuration file, central directory the positional information that mark, each document entity and AKU increase file newly, combined zip file structure, reduction obtains AKU on all four with former AKU.
In above-mentioned reduction AKU process, there are differences relative to AKU in compression unit 14 weight contracting installation kit or indifference be different from AKU compress mode compression file of the same name, namely first respective file in described installation kit is decompressed one by one, adopt the adaptive compression parameters merged in configuration file again to compress again, obtain the file data consistent with AKU.
AKU after compression unit 14 decompression reduction, installs and realizes software upgrading.
Below according to scheme of the present invention, an application software of the present invention is provided to upgrade the specific embodiment of upgrade-system.
In specific implementation, mobile device can be connected to server by starting the form such as Mobile data or wireless (as Wi-Fi communication technology WiFi), and server is communicated with situation by watchdog routine monitoring mobile device and server.Wherein, described mobile device is a kind of computing equipment that can use in movement, as mobile phone.
In system embodiment of the present invention, mobile device is provided with and carries out mutual client-side program (as 360 mobile phone assistants) with server, the installation kit information of one or more application that mobile device is installed can be read by described client-side program, described installation kit information can comprise installation kit mark, installation kit version number etc., wherein, described installation kit mark may be used for judging this installation kit belongs to which kind of application; Described installation kit version number is belong to which version for identifying the application of the current installation of mobile device;
In embody rule, (0 identification switch is closed to be provided with on off state field 0 and 1 in the configuration file of the client-side program of described mobile device, 1 represents switch opens), when described client-side program starts, first can read the value of this on off state field, judge whether this switch is open mode, if switch is open mode, then open the auto-update function to mobile device application, now, client-side program can read the installation kit information of the application in mobile device automatically.Described server preserves the application of the latest edition can installed in a mobile device on the market at present, concrete, server irregularly or periodically can arrive the application software installation kit of forum or other download websites crawl latest edition, the application software installation kit of described latest edition is kept at the database of server, thus the application software installation kit preserved in server database can be kept to be up-to-date on the market; Server is by the old installation kit of each corresponding to this application software of preserving before in server database respectively for latest edition application software installation kit version simultaneously, corresponding difference packet is generated, for the down loading updating of mobile device application according to the difference packet acquisition methods of this programme.
The upgrade application list selected for user is had in corresponding mobile device, the conventional icon of installation kit mark (or application identities) or application that described upgrade application list can comprise the application of needs upgrading is (for conventional application, the form of conventional icon and application identities is used to carry out list prompting, for general application, carry out list prompting by the form of application identities), installation kit version number, up-to-date installation kit version number, information such as application description etc. one or more.Whether have corresponding selected frame to select to upgrade this application for user for each application, user can select one or more application and upgrade in upgrade application list.Download the difference packet corresponding to application chosen, adopt software upgrading upgrading scheme provided by the invention to merge with corresponding former installation kit and obtain corresponding application upgrade bag, reinstall application upgrade bag, realize the renewal upgrading of respective application.
Upgrade upgrade-system for above-mentioned application software, be described further for " 360 mobile phone assistant ".
Mobile phone is provided with " 360 mobile phone assistant ", mobile phone connects WiFi or opens Mobile data and connects, and when mobile phone assistant opens, open applications automatic upgrade function, detailed process is:
1. mobile phone assistant reads the installation kit information of all application of mobile phone A, generates the list of application 1 of the application installation kit information of mobile phone A;
2. each installation kit information of the list of application 1 of mobile phone A extracts by mobile phone assistant, the installation kit extracted wherein identifies and installation kit version number is sent to server, and receiving the update package informatin that described server returns, described upgrade installation package information comprises upgrade installation package version number;
3. described upgrade installation package version number and described installation kit version number compare by mobile phone assistant, if described installation kit version number is less than described upgrade installation package version number, then judge that corresponding being applied as needs the application of upgrading, and show renewable prompting in upgrade application list;
4. all application needing to upgrade that upgrade application list display described in detects, the information such as described upgrade application list comprises application software size, application describes, the conventional icon of application.User can select whether upgrade upgrading or directly unload respective application by clicking Update button, " unloading " button or " ignoring renewal " button;
5. whether mobile phone assistant receives " renewal " instruction that user selectes, and downloads the corresponding upgrading difference packet of selected application to mobile phone from service end, show an application download progress bar simultaneously, confirm to install the moment prompting user downloaded;
6. mobile phone assistant receives " confirmation " installation instruction that user selectes, and difference packet and former installation kit is carried out merging according to software upgrading upgrade method of the present invention and obtains AKU, and complete installation upgrading.
Certainly, above-mentioned application upgrade process only as a kind of example of the present invention, can not be interpreted as limitation of the present invention.Scheme of the present invention is applicable to the application software of any zip structure, does not limit by system platform.
In current smart mobile phone market, the competition of mobile phone application, in order to continue to obtain user's favor, mobile phone application developers has stepped up the renewal upgrading frequency of oneself application.And cellphone subscriber more new opplication can need the flow of great number unavoidably, and the stand-by period when application of some is together upgraded is also longer, therefore, such as the application shop such as " application is precious ", " Android market ", " 360 mobile phone assistant " is proposed " province's flow " update software function one after another.Adopt scheme of the present invention can realize " province's flow " update software function.
The above is only some embodiments of the present invention; it should be pointed out that for those skilled in the art, under the premise without departing from the principles of the invention; can also make some improvements and modifications, these improvements and modifications also should be considered as protection scope of the present invention.

Claims (10)

1. a software upgrading difference packet acquisition methods, is characterized in that, comprise the following steps:
Resolve installation kit and AKU inner structure, determine the file of the same name that there are differences each other and the AKU newly-increased file relative to installation kit, and generate the configuration file recording those file location informations;
All internal structural informations of record AKU, generator data file;
The file of the same name that there are differences described in decompression installation kit and AKU, carries out difference to obtain differential data file by the file of the same name that there are differences described in both with source data form correspondence;
Compress described configuration file, meta data file, differential data file and described newly-increased file, obtain described upgrading difference packet.
2. software upgrading difference packet acquisition methods according to claim 1, is characterized in that, described configuration file comprises residual quantity configuration file and merges configuration file, wherein:
Described residual quantity configuration file, for recording the positional information of the file of the same name that there are differences described in installation kit;
Described merging configuration file, for recording the positional information of the file of the same name and described newly-increased file that there are differences described in AKU.
3. software difference packet acquisition methods according to claim 2, is characterized in that, described merging configuration file also comprises the positional information of the file of the same name relative to installation kit indifference for recording AKU.
4. software difference packet acquisition methods according to claim 1, is characterized in that, further comprising the steps of:
By repeatedly attempting obtaining the compression parameters mated with AKU, and be recorded in described merging configuration file;
Described adaptive compression parameters is adopted to compress the differential data of described differential data file.
5. software upgrading difference packet acquisition methods according to claim 1, is characterized in that, described meta data file comprises central directory in described AKU inner structure, central directory terminates to identify and local file head, the data descriptor of each file.
6. a software upgrading difference packet acquisition device, is characterized in that, comprising:
Configuration file generation unit, increases the positional information of file newly for generating record installation kit and the file of the same name that there are differences each other of AKU and AKU;
Meta data file generation unit, for recording all internal structural informations of AKU;
Difference unit, for calculating in installation kit and AKU the difference between the file of the same name that there are differences each other;
Compression unit, for carrying out compression and decompression to file data.
7. a software upgrading upgrade method, is characterized in that, comprises the following steps:
Decompression difference packet, obtains its configuration file comprised, meta data file, differential data file and newly-increased file;
From installation kit, obtain respective record in the first file location information of configuration file, merge the first file after with the upgrading obtaining source data form by corresponding with described first file for described differential data file with source data form;
According to the file location information that configuration file records, all the other associated documents in described meta data file, newly-increased file, the first file and described installation kit are reduced to AKU;
This AKU is installed.
8. software upgrading upgrade method according to claim 12, is characterized in that, described configuration file comprises residual quantity configuration file and merges configuration file, wherein:
Described residual quantity configuration file, for recording the positional information of the file of the same name that there are differences described in installation kit;
Described merging configuration file, for recording the positional information of the file of the same name and described newly-increased file that there are differences described in AKU.
9. software upgrading upgrade method according to claim 12, is characterized in that, described first file specifically refers to the file of the same name that there are differences relative to AKU of installation kit.
10. a software upgrading update device, is characterized in that, comprising:
Compression unit, for configuration file, meta data file, differential data file and newly-increased file that the difference packet that decompresses comprises to obtain it;
Merge cells, corresponds to for merging in installation kit with source data form the file of the same name and differential data file that AKU there are differences;
Reduction AKU unit, for reducing AKU according to the merging configuration file in configuration file;
Installation unit, for installing the AKU of reducing and obtaining.
CN201410773855.8A 2014-12-12 2014-12-12 Software upgrading difference packet acquisition methods and corresponding upgrade method and device Active CN104391728B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410773855.8A CN104391728B (en) 2014-12-12 2014-12-12 Software upgrading difference packet acquisition methods and corresponding upgrade method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410773855.8A CN104391728B (en) 2014-12-12 2014-12-12 Software upgrading difference packet acquisition methods and corresponding upgrade method and device

Publications (2)

Publication Number Publication Date
CN104391728A true CN104391728A (en) 2015-03-04
CN104391728B CN104391728B (en) 2018-01-16

Family

ID=52609636

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410773855.8A Active CN104391728B (en) 2014-12-12 2014-12-12 Software upgrading difference packet acquisition methods and corresponding upgrade method and device

Country Status (1)

Country Link
CN (1) CN104391728B (en)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104516764A (en) * 2015-01-27 2015-04-15 携程计算机技术(上海)有限公司 Method and system for dynamically packaging compressed files
CN105205688A (en) * 2015-08-25 2015-12-30 北京网田科技发展有限公司 Automobile information recommendation system
CN105373410A (en) * 2015-12-22 2016-03-02 京信通信技术(广州)有限公司 Differential upgrading method and device for base station software
WO2016177061A1 (en) * 2015-10-30 2016-11-10 中兴通讯股份有限公司 Upgrade method and apparatus using over-the-air download technology
CN106354525A (en) * 2016-08-11 2017-01-25 深圳市宜搜科技发展有限公司 Difference storing method and system for application software installation package
CN106462430A (en) * 2016-08-29 2017-02-22 北京小米移动软件有限公司 Method and device for obtaining application upgrade packages
CN106569843A (en) * 2015-10-12 2017-04-19 青岛海信移动通信技术股份有限公司 Method and device for generating OTA central package
CN106686073A (en) * 2016-12-19 2017-05-17 北京东方车云信息技术有限公司 Information processing method and system
CN106791123A (en) * 2016-12-27 2017-05-31 努比亚技术有限公司 User terminal and application processing method
CN106775802A (en) * 2016-11-14 2017-05-31 福建天泉教育科技有限公司 Method and its system that mass small documents quickly update
CN106919382A (en) * 2017-01-22 2017-07-04 百度在线网络技术(北京)有限公司 For generating the method and apparatus that application updates bag
CN107368290A (en) * 2016-05-12 2017-11-21 阿里巴巴集团控股有限公司 Determine incremental data method and device, updated data package method, apparatus and system
CN108768662A (en) * 2018-05-30 2018-11-06 格尔软件股份有限公司 A method of self-defined signature is increased to Android APK
CN109684577A (en) * 2018-12-27 2019-04-26 杭州云英网络科技有限公司 A kind of configuration method of web page contents, system and electronic equipment
CN110032377A (en) * 2019-03-19 2019-07-19 芯讯通无线科技(上海)有限公司 Communication module method for upgrading software, system and communication module
CN111712794A (en) * 2018-03-07 2020-09-25 华为技术有限公司 Method for installing application program by functional modules
WO2021097624A1 (en) * 2019-11-18 2021-05-27 深圳市欢太科技有限公司 File processing method, file processing apparatus, and terminal device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1956482B1 (en) * 2007-02-09 2011-08-17 Telefonaktiebolaget LM Ericsson Generating delta updates for a processing device
CN102799445A (en) * 2012-05-03 2012-11-28 陈昊 Application upgrading method based on Android platform and system
CN103647816A (en) * 2013-12-03 2014-03-19 北京奇虎科技有限公司 Method and device for upgrading application software
CN103699410A (en) * 2013-12-20 2014-04-02 北京奇虎科技有限公司 Method and device for updating application programs
WO2014086311A1 (en) * 2012-12-06 2014-06-12 Tencent Technology (Shenzhen) Company Limited Method and system for software upgrade

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1956482B1 (en) * 2007-02-09 2011-08-17 Telefonaktiebolaget LM Ericsson Generating delta updates for a processing device
CN102799445A (en) * 2012-05-03 2012-11-28 陈昊 Application upgrading method based on Android platform and system
WO2014086311A1 (en) * 2012-12-06 2014-06-12 Tencent Technology (Shenzhen) Company Limited Method and system for software upgrade
CN103647816A (en) * 2013-12-03 2014-03-19 北京奇虎科技有限公司 Method and device for upgrading application software
CN103699410A (en) * 2013-12-20 2014-04-02 北京奇虎科技有限公司 Method and device for updating application programs

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104516764A (en) * 2015-01-27 2015-04-15 携程计算机技术(上海)有限公司 Method and system for dynamically packaging compressed files
CN105205688A (en) * 2015-08-25 2015-12-30 北京网田科技发展有限公司 Automobile information recommendation system
CN106569843A (en) * 2015-10-12 2017-04-19 青岛海信移动通信技术股份有限公司 Method and device for generating OTA central package
WO2016177061A1 (en) * 2015-10-30 2016-11-10 中兴通讯股份有限公司 Upgrade method and apparatus using over-the-air download technology
CN105373410A (en) * 2015-12-22 2016-03-02 京信通信技术(广州)有限公司 Differential upgrading method and device for base station software
CN105373410B (en) * 2015-12-22 2019-04-30 京信通信系统(中国)有限公司 Base station software difference upgrade method and its device
CN107368290A (en) * 2016-05-12 2017-11-21 阿里巴巴集团控股有限公司 Determine incremental data method and device, updated data package method, apparatus and system
CN106354525A (en) * 2016-08-11 2017-01-25 深圳市宜搜科技发展有限公司 Difference storing method and system for application software installation package
CN106354525B (en) * 2016-08-11 2019-10-01 深圳市宜搜科技发展有限公司 Application software installation kit difference storage method and system
WO2018039875A1 (en) * 2016-08-29 2018-03-08 北京小米移动软件有限公司 Method and apparatus for acquiring application upgrade package
CN106462430A (en) * 2016-08-29 2017-02-22 北京小米移动软件有限公司 Method and device for obtaining application upgrade packages
CN106462430B (en) * 2016-08-29 2020-06-02 北京小米移动软件有限公司 Application upgrade package obtaining method and device
CN106775802A (en) * 2016-11-14 2017-05-31 福建天泉教育科技有限公司 Method and its system that mass small documents quickly update
CN106686073A (en) * 2016-12-19 2017-05-17 北京东方车云信息技术有限公司 Information processing method and system
CN106791123A (en) * 2016-12-27 2017-05-31 努比亚技术有限公司 User terminal and application processing method
CN106919382A (en) * 2017-01-22 2017-07-04 百度在线网络技术(北京)有限公司 For generating the method and apparatus that application updates bag
CN111712794A (en) * 2018-03-07 2020-09-25 华为技术有限公司 Method for installing application program by functional modules
CN108768662A (en) * 2018-05-30 2018-11-06 格尔软件股份有限公司 A method of self-defined signature is increased to Android APK
CN108768662B (en) * 2018-05-30 2021-05-07 格尔软件股份有限公司 Method for adding custom signature to Android APK
CN109684577A (en) * 2018-12-27 2019-04-26 杭州云英网络科技有限公司 A kind of configuration method of web page contents, system and electronic equipment
CN110032377A (en) * 2019-03-19 2019-07-19 芯讯通无线科技(上海)有限公司 Communication module method for upgrading software, system and communication module
WO2021097624A1 (en) * 2019-11-18 2021-05-27 深圳市欢太科技有限公司 File processing method, file processing apparatus, and terminal device

Also Published As

Publication number Publication date
CN104391728B (en) 2018-01-16

Similar Documents

Publication Publication Date Title
CN104391728A (en) Software upgrading delta pack acquiring method, corresponding upgrading method and device
JP5508370B2 (en) Program upgrade method and system for portable device capable of OTA (Over-the-air)
CN103023511B (en) The compaction coding method of a kind of application and device
CN100447740C (en) System and method for intra-package delta compression of data
US8719810B2 (en) Program upgrade system and method for over the air-capable mobile terminal
US9594764B2 (en) Method and apparatus for modifying compressed files
WO2014101451A1 (en) Incremental upgrade method, apparatus for applying method and storage medium
CN105740016B (en) Increment issuing method and device, upgrading method and device of application program
US10171608B2 (en) Method, apparatus and computer program for modifying messages in a communications network
US20130167133A1 (en) Method, terminal and system for upgrading software version
CN104375849B (en) Load the method and device of kernel
CN105760183A (en) File processing method, device, and communication system
KR20190005152A (en) Mobile terminal application update method and apparatus
WO2011136809A1 (en) Preprocessor for file updating
CN105808273A (en) Software upgrading method and software upgrading device
EP3812890A1 (en) Software update agent apparatus and patch method using same
CN105740298A (en) File processing method and apparatus, and server-side equipment
CN106897052A (en) APK file compression method and device
CN111970161B (en) Internet of things application differential upgrading method based on address prediction
CN106681761B (en) Interactive upgrading method and system
US20200042313A1 (en) Methods and systems for remote software update
CN111970161A (en) Internet of things application differential upgrading method based on address prediction
CN101364994B (en) Method and apparatus for updating the state of a computing device
US20130290273A1 (en) Method for updating an encoded file
CN110020281A (en) Browser target resource file loading method

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