CN110727456A - Method, device, equipment and system for downloading application program patch package - Google Patents

Method, device, equipment and system for downloading application program patch package Download PDF

Info

Publication number
CN110727456A
CN110727456A CN201910966509.4A CN201910966509A CN110727456A CN 110727456 A CN110727456 A CN 110727456A CN 201910966509 A CN201910966509 A CN 201910966509A CN 110727456 A CN110727456 A CN 110727456A
Authority
CN
China
Prior art keywords
version number
difference
patch package
application program
downloading
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910966509.4A
Other languages
Chinese (zh)
Inventor
李云龙
周斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Polytron Technologies Inc
Shanghai Lilith Technology Corp
Original Assignee
Shanghai Polytron Technologies Inc
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 Shanghai Polytron Technologies Inc filed Critical Shanghai Polytron Technologies Inc
Priority to CN201910966509.4A priority Critical patent/CN110727456A/en
Publication of CN110727456A publication Critical patent/CN110727456A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The invention discloses a method for downloading an application program patch package, which comprises the steps of respectively comparing the difference between the file data of the current version number and the file data of the historical version number with the latest version number to generate a first difference data list when the historical version number exists between the current version number and the latest version number of a target application program, and screening out repeated difference files in the difference files formed between the file data of each old version number and the file data of the new version number, so that the repeated difference files are prevented from being packaged when the first patch package is generated, and the size of the first patch package is reduced. Therefore, when the first patch package is downloaded, the downloading time of the patch package and the downloading flow required by downloading the patch package can be shortened, and the downloading efficiency of the patch package and the repairing efficiency of the application program are improved. In addition, the invention also discloses a device, equipment, a computer readable storage medium and a system for downloading the application program patch package.

Description

Method, device, equipment and system for downloading application program patch package
Technical Field
The present invention relates to the field of information technology, and in particular, to a method, an apparatus, a device, a computer-readable storage medium, and a system for downloading an application patch package.
Background
With the rapid development of artificial intelligence, smart phones are widely used, and with the continuous popularization of smart phones, more and more application programs including game application programs, learning application programs, life application programs and the like are also presented. In the using process of the application program, the application program needs to be continuously repaired, for example, the bug occurring in the application program is perfected or a new function is added in the application program, and the application program is upgraded to a new version number every time the application program is repaired.
When a user opens an application program at a client once, a remote server of the client obtains the latest version number of the application program and the version number of the application program of the client of the user, and if the application program of the client is not the latest version number, the application program of the client is repaired and upgraded to the latest version number. The traditional method for repairing the application program is mainly based on a patch package mode, that is, the remote server distinguishes the current version number and the latest version number of the application program of the client, and packs and compresses the difference resource between the current version number and the latest version number of the application program of the client to generate the patch package. And then downloading the application program of the current version number of the patch package by the client side for repairing so as to upgrade to the latest version number.
However, when a conventional scheme is adopted to generate a patch package, if a plurality of version numbers are separated between the current old version number and the latest version number of the application program, according to the ascending direction of the version numbers, the generated patch package comprises a plurality of upgrading sequences, each upgrading sequence represents difference data between adjacent version numbers, after the application program finishes upgrading one version number, the next version number is upgraded until the current old version number of the application program is upgraded to the latest version number, in the repair mode of the conventional application program, the patch package needs to be upgraded one by one according to the version numbers between the old version number and the latest version number in sequence, so that when the patch package is generated, the upgrading sequences comprise a lot of repeated data, therefore, the resources of the generated patch package are large, and when a client downloads the patch package, a large amount of time and flow are consumed due to low downloading efficiency of the patch package, further resulting in lower repair efficiency for the application.
Disclosure of Invention
The invention aims to solve the problems that in the prior art, when an application program is repaired, the generated patch package has large resources, the downloading efficiency of the patch package and the repairing efficiency of the application program are low, and a large amount of time and flow of a user are consumed. Therefore, the invention provides a method, a device, equipment, a computer readable storage medium and a system for downloading an application program patch package, which reduce the size of the patch package, shorten the downloading time of the patch package, reduce the downloading flow, and improve the downloading efficiency of the patch package and the repairing efficiency of the application program.
In order to solve the above problem, an embodiment of the present invention discloses a method for downloading an application patch package, including:
acquiring a current version number of a target application program;
judging whether a historical version number of the target application program exists between the current version number of the target application program and the latest version number of the target application program;
if the difference exists, the file data of the historical version number and the file data of the current version number of the target application program are respectively subjected to difference comparison with the file data of the latest version number to obtain a first difference data list, and the following steps are executed:
screening out repeated difference files from the first difference data list, and generating a first patch package by using a target first difference data list obtained by screening out the repeated difference files from the first difference data list;
and sending the first patch package to a client so that the client can acquire and download the first patch package.
By adopting the technical scheme, when the historical version number exists between the current version number and the latest version number of the target application program, the file data of the current version number and the file data of the historical version number of the target application program are respectively compared with the latest version number to generate a first difference data list, the difference files between each version number and the new version number of the target application program are included in the first difference data list, the difference comparison of the file data of each old version number is not required, a plurality of upgrading sequences and a plurality of upgrading resource packages are avoided, the size of the patch package is reduced, in addition, the repeated difference files in the difference files formed between the file data of each old version number and the file data of the new version number of the target application program are screened out, and the packaging of the repeated difference files is avoided when the first patch package is generated, the size of the first patch package is further reduced. Therefore, when the first patch package is downloaded, the downloading time of the patch package and the downloading flow required by downloading the patch package can be shortened, and the downloading efficiency of the patch package and the repairing efficiency of the application program are improved.
Optionally, if there is no historical version number of the target application program between the current version number of the target application program and the latest version number of the target application program, the method further includes:
performing difference comparison on the file data of the current version number of the target application program and the file data of the latest version number of the target application program to obtain a second difference data list;
and generating a second patch package by using the second difference data list.
Optionally, the comparing the difference between the file data of the historical version number and the file data of the current version number of the target application program and the file data of the latest version number respectively includes:
segmenting the file data of the historical version number of the target application program to obtain a plurality of first subfiles;
the file data of the current version number of the target application program is segmented to obtain a plurality of second subfiles, and the file data of the latest version number of the target application program is segmented to obtain a plurality of third subfiles;
and performing difference comparison on each first subfile, each second subfile and each third subfile to obtain a plurality of difference subfiles, wherein each difference subfile forms the first difference data list.
Optionally, the segmenting the file data of the target application program includes:
dividing the file data according to the writing logic information and the functional partition information of the file data of the target application program to obtain a plurality of subfiles;
and the data packet of each subfile does not exceed a preset value.
Optionally, the filtering out duplicate difference files from the first difference data list includes:
performing similarity analysis on each difference subfile;
if a plurality of same-name target difference subfiles with similarity exceeding a threshold exist, one same-name target difference subfile is reserved, and repeated other same-name target difference subfiles are screened out, wherein the repeated difference files comprise the plurality of same-name target difference subfiles.
Optionally, the obtaining the current version number of the target application program includes:
receiving a first repair request sent by the client;
and analyzing the first repair request to acquire the current version number of the target application program.
Optionally, the obtaining and downloading of the first patch package by the client includes:
the client receives the first patch package;
and the client downloads the difference files in the target first difference data list in the first patch package in a multithread mode.
Optionally, after the client obtains and downloads the first patch package, the method further includes:
the client checks the data of the first patch package;
if the first patch package fails to be verified, the client analyzes a target difference file which is not verified in the first patch package;
based on the target difference file, the client sends a second repair request to the remote server.
Further, an embodiment of the present invention discloses an apparatus for downloading an application patch package, including:
the acquisition module is used for acquiring the current version number of the target application program;
the judging module is used for judging whether a historical version number of the target application program exists between the current version number of the target application program and the latest version number of the target application program, and if so, the judging module enters the first comparing module;
the first comparison module is configured to perform difference comparison on the file data of the historical version number and the file data of the current version number of the target application program and the file data of the latest version number to obtain a first difference data list, and enter a screening module:
the screening module is used for screening out repeated difference files from the first difference data list;
a first generation module, configured to screen the repeated difference files from the first difference data list to obtain a target first difference data list, and generate a first patch package;
and the downloading module is used for sending the first patch package to a client so as to enable the client to acquire and download the first patch package.
Optionally, the downloading device further includes:
the second comparison module is used for carrying out difference comparison on the file data of the current version number of the target application program and the file data of the latest version number of the target application program to obtain a second difference data list;
and the second generation module is used for generating a second patch package from the second difference data list.
Further, an embodiment of the present invention discloses an apparatus for downloading an application patch package, including:
a memory for storing a computer program;
a processor for executing the computer program stored in the memory to implement the steps of the method for downloading an application patch package as described in any of the above.
Further, an embodiment of the present invention discloses a computer-readable storage medium having stored thereon a computer program, the computer program being executable by a processor to implement the steps of the method for downloading an application patch package as described in any one of the above.
Further, an embodiment of the present invention discloses a system for downloading an application patch package, including:
a remote server for performing the steps of:
acquiring the current version number of the target application program;
judging whether a historical version number of the target application program exists between the current version number of the target application program and the latest version number of the target application program;
if the difference exists, the file data of the historical version number and the file data of the current version number of the target application program are respectively subjected to difference comparison with the file data of the latest version number to obtain a first difference data list, and the following steps are executed:
screening out repeated difference data from the first difference data list, and generating a first patch package by using a target first difference data list obtained by screening out the repeated difference data from the first difference data list;
sending the first patch package to a client;
and the client is used for acquiring and downloading the first patch package.
Additional features and corresponding advantages of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention.
Drawings
Fig. 1 is a schematic flowchart of a method for downloading an application patch package according to embodiment 1 of the present invention;
fig. 2 is a schematic flowchart of another method for downloading an application patch package according to embodiment 1 of the present invention;
fig. 3 is a schematic flowchart of a method for downloading an application patch package according to embodiment 2 of the present invention;
fig. 4 is a schematic structural diagram of an apparatus for downloading an application patch package according to embodiment 3 of the present invention;
fig. 5 is a schematic structural diagram of another apparatus for downloading an application patch package according to embodiment 3 of the present invention;
fig. 6 is a schematic structural diagram of an apparatus for downloading an application patch package according to embodiment 4 of the present invention;
fig. 7 is a schematic structural diagram of a system for downloading an application patch package, disclosed in embodiment 5 of the present invention.
Detailed Description
The following description of the embodiments of the present invention is provided for illustrative purposes, and other advantages and effects of the present invention will become apparent to those skilled in the art from the present disclosure. While the invention will be described in conjunction with the preferred embodiments, it is not intended that features of the invention be limited to these embodiments. On the contrary, the invention is described in connection with the embodiments for the purpose of covering alternatives or modifications that may be extended based on the claims of the present invention. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. The invention may be practiced without these particulars. Moreover, some of the specific details have been left out of the description in order to avoid obscuring or obscuring the focus of the present invention. It should be noted that the embodiments and features of the embodiments may be combined with each other without conflict.
It should be noted that in this specification, like reference numerals and letters refer to like items in the following drawings, and thus, once an item is defined in one drawing, it need not be further defined and explained in subsequent drawings.
The technical solutions of the present invention will be described clearly and completely with reference to the accompanying drawings, and it should be understood that the described embodiments are some, but not all embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
In the description of the present invention, it should be noted that the terms "center", "upper", "lower", "left", "right", "vertical", "horizontal", "inner", "outer", etc., indicate orientations or positional relationships based on the orientations or positional relationships shown in the drawings, and are only for convenience of description and simplicity of description, but do not indicate or imply that the device or element being referred to must have a particular orientation, be constructed and operated in a particular orientation, and thus, should not be construed as limiting the present invention. Furthermore, the terms "first," "second," and "third" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance.
In the description of the present invention, it should be noted that, unless otherwise explicitly specified or limited, the terms "mounted," "connected," and "connected" are to be construed broadly, e.g., as meaning either a fixed connection, a removable connection, or an integral connection; can be mechanically or electrically connected; they may be connected directly or indirectly through intervening media, or they may be interconnected between two elements. The specific meanings of the above terms in the present invention can be understood in specific cases to those skilled in the art.
In order to make the objects, technical solutions and advantages of the present invention more apparent, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
Example 1
A method for downloading an application patch package disclosed in embodiment 1 of the present invention is described below with reference to fig. 1 and fig. 2, where fig. 1 is a schematic flow chart of a method for downloading an application patch package disclosed in embodiment 1 of the present invention, and fig. 2 is a schematic flow chart of another method for downloading an application patch package disclosed in embodiment 1 of the present invention, and the method includes:
s10: and acquiring the current version number of the target application program.
Specifically, the target application is an application corresponding to a remote server of a certain developer in the client. The current version number refers to the current installation version number of the target application program at the client.
As an alternative embodiment of the present invention, step S10 includes:
receiving a first repair request sent by a client;
and analyzing the first repair request to acquire the current version number of the target application program.
S11: and judging whether the historical version number of the target application program exists between the current version number of the target application program and the latest version number of the target application program, and if so, entering the step S12.
Specifically, the historical version number between the current version number of the target application program and the latest version number of the target application program refers to each old version number between the latest version number of the target application program and the current version number of the target application program.
S12: and respectively comparing the file data of the historical version number and the file data of the current version number of the target application program with the file data of the latest version number to obtain a first difference data list, and entering the step S13.
Further, as an alternative embodiment of the present invention, step S12 includes:
and segmenting the file data of the historical version number of the target application program to obtain a plurality of first subfiles.
And segmenting the file data of the latest version number of the target application program to obtain a plurality of third subfiles.
And respectively comparing the differences of the first subfiles, the second subfiles and the third subfiles to obtain a plurality of difference subfiles, wherein the difference subfiles form a first difference data list.
Specifically, when a plurality of old version numbers exist between the current version number and the latest version number of the target application program, the old version numbers are respectively divided, and the file data of each old version number is divided into a plurality of first subfiles.
When difference comparison is carried out between the first subfile and the third subfile, the first subfiles with the old version numbers and the third subfiles are compared respectively, one old version number serves as an example, after the file data of the version numbers are divided, the file data of the version numbers comprise the first subfiles, the first subfiles and the third subfiles are compared respectively to obtain difference data between the first subfiles and the third subfiles, and the difference data form a difference data list between the version numbers and the latest version. Similarly, the file data of the latest version number and the file data of the current version number are subjected to the above operation to obtain difference data between the latest version number and the current version number, and the difference data between each old version and the current version number and the difference data between the latest version number and the current version number form a first difference data list together.
Further, as an optional embodiment of the present application, the segmenting the file data of the target application includes:
and segmenting the file data according to the writing logic information and the functional partition information of the file data of the target application program to obtain a plurality of difference subfiles. Wherein the data packet of each difference subfile does not exceed a predetermined value.
Specifically, taking the game-class application as an example, the game-class application includes many functional modules, such as a newsletter function, an equipment purchasing function, an equipment synthesizing function, and the like, and the modules are divided and divided, so that each sub-file obtained by dividing the corresponding module only includes data information of one functional module. When downloading a patch package of an application, the downloading of the patch package is usually performed by using 2M as a node, and in the embodiment of the present invention, when performing file data division, the size of the subfile is set to a predetermined value (the predetermined value may be selected as 2M in the present invention).
S13: and screening out repeated difference files from the first difference data list, and generating a first patch package according to a target first difference data list obtained by screening out the repeated difference files from the first difference data list.
Specifically, the step of screening out duplicate difference files from the first difference list refers to the step of screening out the difference files with duplicate data in each difference file, and finally only one difference file is reserved in the duplicate difference files. And the problem that the patch package is overlarge due to repeated compression of repeated difference files is avoided.
As an alternative embodiment of the present invention, step S13 includes:
similarity analysis is performed on each difference subfile.
If a plurality of same-name target difference subfiles with the similarity exceeding the threshold exist, one same-name target difference subfile is reserved, other repeated same-name target difference subfiles are screened out, and the repeated difference files comprise the plurality of same-name target difference subfiles.
Specifically, similarity analysis is carried out on each difference subfile, specifically, the difference subfiles are analyzed to obtain binary data, after the similarity analysis is carried out, the uniquely determined similarity exists between the difference subfiles, if the similarity exceeds a threshold value, the repeatability between the difference subfiles is high, only one same-name target difference subfile is reserved in the repeated same-name target difference subfiles, and the repeated same-name target difference subfiles are screened out, so that the problems that a user repeatedly downloads the repeated same-name target difference files, the downloading time is too long, and the flow is consumed are solved.
S14: and sending the first patch package to the client so that the client acquires and downloads the first patch package.
Specifically, as an alternative embodiment of the present application, the step S14 of obtaining and downloading the first patch package by the client includes:
the client receives a first patch package;
and the client downloads the difference files in the target first difference data list in the first patch package in a multithread mode.
Specifically, the first patch package includes a target first difference data list, the target first difference data list includes a plurality of difference sub-files, and after the client receives the first patch package, each difference file in the target first difference data list in the first patch package can be downloaded in a multi-thread manner, so that the time for a user to download the patch package is further shortened.
If the historical version number of the target application does not exist between the current version number and the latest version number of the target application, the method of upgrading the current version number of the target application to the patch package with the latest version number may be the same as the conventional method, or alternatively, as shown in fig. 2, after step S11 is executed, if the historical version number of the target application does not exist, the process may proceed to step S15.
S15: and carrying out difference comparison on the file data of the current version number of the target application program and the file data of the latest version number of the target application program to obtain a second difference data list.
S16: and generating a second patch package by using the second difference data list.
Specifically, the comparison method of the difference between the file data of the current version number and the latest version number may refer to the comparison method in step S12, and details of the embodiment of the present invention are not repeated herein.
In the method for downloading an application patch package disclosed in embodiment 1 of the present invention, when a plurality of historical version numbers exist between the current version number and the latest version number of a target application program, file data of the current version number of the target application program and file data of each historical version number are respectively compared with the latest version number to generate a first difference data list, and in the first difference data list, a difference file between each version number and the latest version number of the target application program is included, and when upgrading across versions, one patch package can be directly upgraded to the latest version, thereby avoiding generating a plurality of upgrade sequences and a plurality of upgrade resource packages, reducing the size of the patch package, and in addition, screening out duplicate difference files in the difference file formed between each file data of an old version number and each file data of a new version number of the target application program, the repeated difference files are prevented from being packaged when the first patch package is generated, and the size of the first patch package is further reduced. Therefore, when the first patch package is downloaded, the downloading time of the patch package and the downloading flow required by downloading the patch package can be shortened, and the downloading efficiency of the patch package and the repairing efficiency of the application program are improved.
Example 2
Next, a method for downloading an application patch package disclosed in embodiment 2 of the present invention is described with reference to fig. 3, and fig. 3 is a schematic flow chart of the method for downloading an application patch package disclosed in embodiment 2 of the present invention.
After the client receives and downloads the first patch package, the client needs to perform data verification on the first patch package, so as to avoid that all data in the first patch package are downloaded again after some part of the first patch package fails to perform data verification, and the flow and time of a user are consumed. As an alternative embodiment of embodiment 2 of the present invention, as shown in fig. 3, after step S14 is executed, the method further includes:
s20: the client performs data verification on the first patch package, and if the first patch package fails to be verified, the process proceeds to step S21.
S21: and the client analyzes the target difference file which is not checked to pass in the first patch package.
S22: based on the target difference file, the client sends a second repair request to the remote server.
Specifically, the second repair request includes a target differential file that is not verified, after the remote server receives the second repair request, the remote server parses data in the target differential file for the target differential file that is not verified in the second repair request, and performs difference comparison between file data of the version number of the target application program corresponding to the target differential file and file data of the latest version number, so as to redetermine a new differential file corresponding to the target differential file for downloading by the client. Therefore, the difference files in the target first difference list passing the verification do not need to be downloaded repeatedly, the time and the flow of a user are saved, and the repairing efficiency of the application program is improved. The user experience is improved.
In the method for downloading the application patch package disclosed in embodiment 2 of the present invention, when a history version number exists between the current version number and the latest version number of the target application program, the file data of the current version number of the target application program and the file data of the history version number are respectively compared with the latest version number to generate a first difference data list, in which the difference files between each version number and the new version number of the target application program are included, and it is not necessary to compare the file data of each old version number differently, thereby avoiding the generation of a plurality of upgrade sequences and a plurality of upgrade resource packages, reducing the size of the patch package, and in addition, screening out the repeated difference files in the difference files formed between the file data of each old version number of the target application program and the file data of the new version number, the repeated difference files are prevented from being packaged when the first patch package is generated, and the size of the first patch package is further reduced. Therefore, the resource size of the first patch package is small, so that the downloading time of the patch package and the downloading flow required by downloading the patch package can be shortened when the first patch package is downloaded, and the downloading efficiency of the patch package and the repairing efficiency of the application program are improved.
Example 3
Next, a device for downloading an application patch package disclosed in embodiment 3 of the present invention is described with reference to fig. 4 and fig. 5, where fig. 4 is a schematic structural diagram of the device for downloading an application patch package disclosed in embodiment 3 of the present invention, and fig. 5 is a schematic structural diagram of another device for downloading an application patch package disclosed in embodiment 3 of the present invention.
As shown in fig. 4, the generating means includes:
an obtaining module 30, configured to obtain a current version number of the target application program;
the judging module 31 is configured to judge whether a historical version number of the target application program exists between the current version number of the target application program and the latest version number of the target application program, and if the historical version number of the target application program exists, enter the first comparing module 32;
a first comparing module 32, configured to compare the difference between the file data of the historical version number and the file data of the current version number of the target application program and the file data of the latest version number, respectively, to obtain a first difference data list, and enter the screening module 33:
a filtering module 33, configured to filter duplicate difference files from the first difference data list;
a first generating module 34, configured to screen the first difference data list from repeated difference files to obtain a target first difference data list, and generate a first patch package;
and the downloading module 35 is configured to send the first patch package to the client, so that the client obtains the first patch package and downloads the first patch package.
It should be noted that the apparatus for generating an application patch package disclosed in embodiment 3 of the present invention is an embodiment of an apparatus corresponding to the method for downloading an application patch package disclosed in the above embodiment, and for repeated parts, reference may be made to the description of the above embodiment, and this embodiment is not described again here.
Further, as shown in fig. 5, on the basis of fig. 4, the downloading apparatus further includes:
a second comparing module 36, configured to perform difference comparison between the file data of the current version number of the target application program and the file data of the latest version number of the target application program, so as to obtain a second difference data list;
a second generating module 37, configured to generate a second patch package from the second difference data list.
Further, as an alternative embodiment of the present invention, the first comparing module 32 includes:
the first dividing unit is used for dividing file data of each historical version number of the target application program to obtain a plurality of first subfiles;
the second dividing unit is used for dividing the file data of the current version number of the target application program to obtain a plurality of second subfiles and dividing the file data of the latest version number of the target application program to obtain a plurality of third subfiles;
and the difference comparison unit is used for respectively performing difference comparison on each first subfile, each second subfile and each third subfile to obtain a plurality of difference subfiles, and each difference subfile forms a first difference data list.
Further, as an alternative embodiment of the present invention, each of the dividing units includes:
the segmentation subunit is used for segmenting the file data according to the writing logic information and the functional partition information of the file data of the target application program to obtain a plurality of subfiles; wherein, the data packet of each subfile does not exceed the preset value.
Further, as an alternative embodiment of the present invention, the screening module 33 includes:
the analysis unit is used for carrying out similarity analysis on each difference subfile;
and the screening unit is used for keeping one same-name target difference subfile and screening other repeated same-name target difference subfiles if the plurality of same-name target difference subfiles with the similarity exceeding the threshold exist, wherein the repeated difference files comprise the plurality of same-name target difference subfiles.
In the downloading apparatus of the application patch package disclosed in embodiment 3 of the present invention, when a historical version number exists between a current version number and a latest version number of a target application program, a first comparison module compares a file data of the current version number and a file data of the historical version number of the target application program with the latest version number respectively to generate a first difference data list, where the first difference data list includes a difference file between each version number and the new version number of the target application program, and does not need to compare the file data of each old version number differently, so as to avoid generating a plurality of upgrade sequences and a plurality of upgrade resource packages, reduce the size of the patch package, and in addition, a screening module screens out duplicate difference files in the difference file formed between the file data of each old version number and the file data of the new version number of the target application program, the repeated difference files are prevented from being packaged when the first patch package is generated, and the size of the first patch package is further reduced. Therefore, when the downloading module downloads the first patch package, the downloading time of the patch package and the downloading flow required by downloading the patch package can be shortened, and the downloading efficiency of the patch package and the repairing efficiency of the application program are improved.
Example 4
Next, a device for downloading an application patch package disclosed in embodiment 4 of the present invention is described with reference to fig. 6, and fig. 6 is a schematic structural diagram of the device for downloading an application patch package disclosed in embodiment 4 of the present invention.
The generation device includes:
a memory 70 for storing a computer program;
a processor 71 for executing the computer program stored in the memory to implement the steps of the method for downloading an application patch package as mentioned in any of the above embodiments.
It should be noted that, for repeated parts, reference may be made to the description of the above embodiment, and no further description is given to the embodiment of the present invention here.
The downloading device of the application patch package disclosed by the embodiment 4 of the invention has the advantages that the computer program is stored in the memory, when the processor executes the computer program to realize the steps of the downloading method of the application patch package mentioned in the above embodiments, when a historical version number exists between the current version number and the latest version number of the target application program, the file data of the current version number of the target application program and the file data of the historical version number are respectively compared with the latest version number to generate a first difference data list, the first difference data list comprises the difference files between each version number and the new version number of the target application program, the difference comparison of the file data of each old version number is not required, the generation of a plurality of upgrading sequences and a plurality of upgrading resource packages is avoided, and the size of the patch package is reduced, in addition, repeated difference files in the difference files formed between the file data of each old version number and the file data of the new version number of the target application program are screened out, so that the situation that the repeated difference files are packaged when the first patch package is generated is avoided, and the size of the first patch package is further reduced. Therefore, when the first patch package is downloaded, the downloading time of the patch package and the downloading flow required by downloading the patch package can be shortened, and the downloading efficiency of the patch package and the repairing efficiency of the application program are improved.
Example 5
Next, a description is given to a downloading system of an application patch package disclosed in embodiment 5 of the present invention with reference to fig. 7, and fig. 7 is a schematic structural diagram of the downloading system of an application patch package disclosed in embodiment 5 of the present invention.
The download system includes:
a remote server 81 for performing the following steps:
acquiring a current version number of a target application program;
judging whether a historical version number of the target application program exists between the current version number of the target application program and the latest version number of the target application program;
if the difference exists, the file data of the historical version number and the file data of the current version number of the target application program are respectively compared with the file data of the latest version number to obtain a first difference data list, and the following steps are executed:
screening out repeated difference data from the first difference data list, and generating a first patch package by using a target first difference data list obtained by screening out the repeated difference data from the first difference data list;
sending the first patch package to the client;
and the client 80 is used for acquiring and downloading the first patch package.
Wherein, the remote server refers to a portal server corresponding to the target application program.
It should be noted that, for repeated parts, reference may be made to the description of the above embodiment, and no further description is given to the embodiment of the present invention here.
In the system for downloading an application patch package disclosed in embodiment 5 of the present invention, after receiving the first repair request, the remote server generates a first difference data list by comparing the difference between the file data of the current version number and the file data of the historical version number of the target application program with the latest version number when there is a historical version number between the current version number and the latest version number of the target application program in the parsed first repair request, and the first difference data list includes the difference files between the version numbers and the new version numbers of the target application program without comparing the difference between the file data of the old version numbers, thereby avoiding generating a plurality of upgrade sequences and a plurality of upgrade resource packages, reducing the size of the patch package, and in addition, screening out duplicate difference files in the difference files formed between the file data of the old version numbers and the file data of the new version numbers of the target application program, the repeated difference files are prevented from being packaged when the first patch package is generated, and the size of the first patch package is further reduced. Therefore, the resource size of the first patch package is small, so that the downloading time of the patch package and the downloading flow required by downloading the patch package can be shortened when the first patch package is downloaded, and the downloading efficiency of the patch package and the repairing efficiency of the application program are improved.
Example 6
Embodiment 6 of the present invention discloses a computer-readable storage medium, on which a computer program is stored, where the computer program is executed by a processor to implement the steps of the method for downloading an application patch package according to any one of the above embodiments.
In the computer-readable storage medium disclosed in embodiment 6 of the present invention, after receiving the first repair request, when a history version number exists between a current version number and a latest version number of the target application program in the parsed first repair request, the file data of the current version number and the file data of the history version number of the target application program are respectively subjected to difference comparison with the latest version number to generate a first difference data list, where the first difference data list includes difference files between each version number and the new version number of the target application program, and does not need to perform difference comparison on the file data of each old version number, so as to avoid generation of a plurality of upgrade sequences and a plurality of upgrade resource packages, reduce the size of a patch package, and in addition, duplicate difference files in the difference files formed between the file data of each old version number and the file data of the new version number of the target application program are screened out, the repeated difference files are prevented from being packaged when the first patch package is generated, and the size of the first patch package is further reduced. Therefore, the resource size of the first patch package is small, so that the downloading time of the patch package and the downloading flow required by downloading the patch package can be shortened when the first patch package is downloaded, and the downloading efficiency of the patch package and the repairing efficiency of the application program are improved.
Finally, it should be noted that: the above embodiments are only used to illustrate the technical solution of the present invention, and not to limit the same; while the invention has been described in detail and with reference to the foregoing embodiments, it will be understood by those skilled in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some or all of the technical features may be equivalently replaced; and the modifications or the substitutions do not make the essence of the corresponding technical solutions depart from the scope of the technical solutions of the embodiments of the present invention.

Claims (13)

1. A method for downloading an application patch package, the method comprising:
acquiring a current version number of a target application program;
judging whether a historical version number of the target application program exists between the current version number of the target application program and the latest version number of the target application program;
if the difference exists, the file data of the historical version number and the file data of the current version number of the target application program are respectively subjected to difference comparison with the file data of the latest version number to obtain a first difference data list, and the following steps are executed:
screening out repeated difference data from the first difference data list, and generating a first patch package by using a target first difference data list obtained by screening out the repeated difference data from the first difference data list;
and sending the first patch package to a client so that the client can acquire and download the first patch package.
2. The method for downloading an application patch package of claim 1, wherein if there is no historical version number of the target application between the current version number of the target application and the latest version number of the target application, the method further comprises:
performing difference comparison on the file data of the current version number of the target application program and the file data of the latest version number of the target application program to obtain a second difference data list;
and generating a second patch package by using the second difference data list.
3. The method for downloading an application patch package according to claim 1 or 2, wherein the differentially comparing the file data of the history version number and the file data of the current version number of the target application program with the file data of the latest version number respectively comprises:
segmenting the file data of the historical version number of the target application program to obtain a plurality of first subfiles;
the file data of the current version number of the target application program is segmented to obtain a plurality of second subfiles, and the file data of the latest version number of the target application program is segmented to obtain a plurality of third subfiles;
and performing difference comparison on each first subfile, each second subfile and each third subfile to obtain a plurality of difference subfiles, wherein each difference subfile forms the first difference data list.
4. The method for downloading an application patch package as recited in claim 3, wherein the dividing the file data of the target application comprises:
dividing the file data according to the writing logic information and the functional partition information of the file data of the target application program to obtain a plurality of subfiles;
and the data packet of each subfile does not exceed a preset value.
5. The method for downloading an application patch package as recited in claim 3, wherein said screening out duplicate difference files from said first list of difference data comprises:
performing similarity analysis on each difference subfile;
if a plurality of same-name target difference subfiles with similarity exceeding a threshold exist, one same-name target difference subfile is reserved, and repeated other same-name target difference subfiles are screened out, wherein the repeated difference files comprise the plurality of same-name target difference subfiles.
6. The method for downloading an application patch package as claimed in claim 1, wherein said obtaining a current version number of a target application comprises:
receiving a first repair request sent by the client;
and analyzing the first repair request to acquire the current version number of the target application program.
7. The method for downloading an application patch package as recited in claim 6, wherein the client obtaining the first patch package and downloading comprises:
the client receives the first patch package;
and the client downloads the difference files in the target first difference data list in the first patch package in a multithread mode.
8. The method for downloading an application patch package according to claim 6 or 7, wherein after the client acquires the first patch package and downloads it, the method further comprises:
the client checks the data of the first patch package;
if the first patch package fails to be verified, the client analyzes a target difference file which is not verified in the first patch package;
based on the target difference file, the client sends a second repair request to the remote server.
9. An apparatus for downloading an application patch package, the apparatus comprising:
the acquisition module is used for acquiring the current version number of the target application program;
the judging module is used for judging whether a historical version number of the target application program exists between the current version number of the target application program and the latest version number of the target application program, and if so, the judging module enters the first comparing module;
the first comparison module is configured to perform difference comparison on the file data of the historical version number and the file data of the current version number of the target application program and the file data of the latest version number to obtain a first difference data list, and enter a screening module:
the screening module is used for screening out repeated difference files from the first difference data list;
a first generation module, configured to screen the repeated difference files from the first difference data list to obtain a target first difference data list, and generate a first patch package;
and the downloading module is used for sending the first patch package to a client so as to enable the client to acquire and download the first patch package.
10. The apparatus for downloading an application patch package as recited in claim 9, wherein the downloading means further comprises:
the second comparison module is used for carrying out difference comparison on the file data of the current version number of the target application program and the file data of the latest version number of the target application program to obtain a second difference data list;
and the second generation module is used for generating a second patch package from the second difference data list.
11. An apparatus for downloading an application patch package, comprising:
a memory for storing a computer program;
a processor for executing a computer program stored in said memory to carry out the steps of the method for downloading an application patch package according to any one of claims 1 to 10.
12. A computer-readable storage medium, having a computer program stored thereon, the computer program being executable by a processor to perform the steps of a method for downloading an application patch package as claimed in any one of claims 1 to 10.
13. A system for downloading an application patch package, comprising:
a remote server for performing the steps of:
acquiring the current version number of the target application program;
judging whether a historical version number of the target application program exists between the current version number of the target application program and the latest version number of the target application program;
if the difference exists, the file data of the historical version number and the file data of the current version number of the target application program are respectively subjected to difference comparison with the file data of the latest version number to obtain a first difference data list, and the following steps are executed:
screening out repeated difference data from the first difference data list, and generating a first patch package by using a target first difference data list obtained by screening out the repeated difference data from the first difference data list;
sending the first patch package to a client;
and the client is used for acquiring and downloading the first patch package.
CN201910966509.4A 2019-10-12 2019-10-12 Method, device, equipment and system for downloading application program patch package Pending CN110727456A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910966509.4A CN110727456A (en) 2019-10-12 2019-10-12 Method, device, equipment and system for downloading application program patch package

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910966509.4A CN110727456A (en) 2019-10-12 2019-10-12 Method, device, equipment and system for downloading application program patch package

Publications (1)

Publication Number Publication Date
CN110727456A true CN110727456A (en) 2020-01-24

Family

ID=69219920

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910966509.4A Pending CN110727456A (en) 2019-10-12 2019-10-12 Method, device, equipment and system for downloading application program patch package

Country Status (1)

Country Link
CN (1) CN110727456A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112947983A (en) * 2021-04-15 2021-06-11 网易(杭州)网络有限公司 Application program updating method and device, electronic equipment and storage medium
CN114867046A (en) * 2022-07-06 2022-08-05 深圳市乙辰科技股份有限公司 Wireless network equipment firmware updating method and wireless network equipment

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103973475A (en) * 2013-02-05 2014-08-06 腾讯科技(深圳)有限公司 Difference service pack generating method, difference service pack downloading method, server and client-side
CN106484454A (en) * 2015-09-02 2017-03-08 中兴通讯股份有限公司 The processing method and processing device of difference AKU, upgrade method, system and device
CN107437029A (en) * 2017-08-23 2017-12-05 北京奇虎科技有限公司 Leak restorative procedure, leak prosthetic device and server
CN109445827A (en) * 2018-11-16 2019-03-08 网易(杭州)网络有限公司 A kind of method and device of game renewal, electronic equipment, storage medium
CN110096302A (en) * 2018-01-31 2019-08-06 阿里巴巴集团控股有限公司 Software data storage, upgrade method, device, equipment and storage medium
CN110162330A (en) * 2019-07-08 2019-08-23 上海赫千电子科技有限公司 A kind of system and method applied to automobile ECU upgrade file

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103973475A (en) * 2013-02-05 2014-08-06 腾讯科技(深圳)有限公司 Difference service pack generating method, difference service pack downloading method, server and client-side
CN106484454A (en) * 2015-09-02 2017-03-08 中兴通讯股份有限公司 The processing method and processing device of difference AKU, upgrade method, system and device
CN107437029A (en) * 2017-08-23 2017-12-05 北京奇虎科技有限公司 Leak restorative procedure, leak prosthetic device and server
CN110096302A (en) * 2018-01-31 2019-08-06 阿里巴巴集团控股有限公司 Software data storage, upgrade method, device, equipment and storage medium
CN109445827A (en) * 2018-11-16 2019-03-08 网易(杭州)网络有限公司 A kind of method and device of game renewal, electronic equipment, storage medium
CN110162330A (en) * 2019-07-08 2019-08-23 上海赫千电子科技有限公司 A kind of system and method applied to automobile ECU upgrade file

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
徐云峰 编: "《弱点挖掘》", 31 January 2014, 武汉大学出版社 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112947983A (en) * 2021-04-15 2021-06-11 网易(杭州)网络有限公司 Application program updating method and device, electronic equipment and storage medium
CN112947983B (en) * 2021-04-15 2024-03-15 网易(杭州)网络有限公司 Application program updating method and device, electronic equipment and storage medium
CN114867046A (en) * 2022-07-06 2022-08-05 深圳市乙辰科技股份有限公司 Wireless network equipment firmware updating method and wireless network equipment

Similar Documents

Publication Publication Date Title
CN105373410B (en) Base station software difference upgrade method and its device
CN106201586B (en) System upgrading method, terminal and system based on OTA
CN107608701A (en) A kind of method and apparatus of firmware updating
CN107193593B (en) Upgrading method of upgradable file, set top box and storage medium
KR101952225B1 (en) Method and device for repairing application programs, and storage medium
CN106572372A (en) Set-top box upgrading method and set-top box
CN101593119B (en) Method and device for firmware over-the-air of exclusive flash memory combined equipment
US8549165B2 (en) Processing devices and methods for transmitting and receiving data
CN110727456A (en) Method, device, equipment and system for downloading application program patch package
CN107632901A (en) A kind of self-repair method and device of application program operation exception
CN109908585B (en) File processing method and system, computing device and storage medium
CN110007941B (en) MCU firmware and upgrading method of intelligent garbage classification recycling system
CN111309354A (en) OTA (over the air) upgrading method and device of networking equipment
CN110032377A (en) Communication module method for upgrading software, system and communication module
CN110647337A (en) Internet of things MCU (microprogrammed control Unit) air firmware upgrading method
CN112202920A (en) Vehicle machine system upgrading method and device
CN111433739A (en) Program upgrading method and embedded device
CN105786636A (en) System repairing method and device
CN107977222A (en) Suitable for the conversion of the upgrade file of eMMC, generation method and device
CN106843956B (en) Method and device for generating system firmware package
WO2014176731A1 (en) Method and apparatus for upgrading application
CN112035129A (en) Method and device for driver installation and upgrade and computer equipment
CN104158907A (en) Method and device of downloading application program file
JP6926879B2 (en) Verification device and verification method
CN108132793A (en) Transmission, upgrade method and the device of eMMC online upgrading files

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination