CN112947983B - Application program updating method and device, electronic equipment and storage medium - Google Patents

Application program updating method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN112947983B
CN112947983B CN202110408084.2A CN202110408084A CN112947983B CN 112947983 B CN112947983 B CN 112947983B CN 202110408084 A CN202110408084 A CN 202110408084A CN 112947983 B CN112947983 B CN 112947983B
Authority
CN
China
Prior art keywords
resource
file
resource package
version number
package
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110408084.2A
Other languages
Chinese (zh)
Other versions
CN112947983A (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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202110408084.2A priority Critical patent/CN112947983B/en
Publication of CN112947983A publication Critical patent/CN112947983A/en
Application granted granted Critical
Publication of CN112947983B publication Critical patent/CN112947983B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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)
  • Information Transfer Between Computers (AREA)

Abstract

The disclosure provides an application program updating method and device, electronic equipment and a storage medium, and relates to the technical field of computers. The application program updating method comprises the following steps: comparing the current version number of the application program with the latest version number stored in the server; if the current version number is different from the latest version number, acquiring an incremental update resource package corresponding to the application program and a resource package association file corresponding to the incremental update resource package from the server; determining the identification data of the incremental update resource package according to the resource package association file, and determining the target incremental update resource package based on the identification data; and jumping and updating the application program into the application program corresponding to the latest version number through the target increment updating resource package. According to the technical scheme, the application program can be updated into the application program corresponding to the latest version number in a jumping mode according to the target incremental update resource package, the redundant update resource package in the incremental update resource package does not need to be downloaded, and the update efficiency of the application program is improved.

Description

Application program updating method and device, electronic equipment and storage medium
Technical Field
The present disclosure relates to the field of computer technology, and in particular, to an application program updating method, an application program updating apparatus, an electronic device, and a computer-readable storage medium.
Background
With the rapid development of the internet, the application program is updated more and more frequently, and if the application program is not used for a long time, the application program needs to be updated for a plurality of times when the application program is opened, so that the update process of the application program is more complex.
In the related application program updating method, either the application program of the latest version is released or the patch compression package of all updated versions corresponding to the application program is released; however, whether it is the entire latest version of the application or all of the updated versions of the patch compression packages corresponding to the application, a larger file needs to be downloaded, making the updating of the application less efficient.
It should be noted that the information disclosed in the above background section is only for enhancing understanding of the background of the present disclosure and thus may include information that does not constitute prior art known to those of ordinary skill in the art.
Disclosure of Invention
An object of an embodiment of the present disclosure is to provide an application program updating method, an application program updating apparatus, an electronic device, and a computer readable storage medium, so as to overcome the problem of low update efficiency of an application program at least to some extent.
Other features and advantages of the present disclosure will be apparent from the following detailed description, or may be learned in part by the practice of the disclosure.
According to a first aspect of an embodiment of the present disclosure, there is provided an application program update method, applied to a client, including: in response to starting an application program, comparing the current version number of the application program with the latest version number of the application program stored in a server; if the comparison result of the current version number and the latest version number is different, acquiring an incremental update resource package corresponding to each version number of the application program and a resource package association file corresponding to the incremental update resource package from the server; determining identification data corresponding to the increment updating resource package according to the resource package association file, and determining a target increment updating resource package corresponding to the latest version number from the increment updating resource package based on the identification data; and jumping and updating the application program corresponding to the current version number into the application program corresponding to the latest version number through the target increment updating resource package.
In some example embodiments of the present disclosure, based on the foregoing solution, the determining, according to the resource package association file, identification data corresponding to the incremental update resource package, and determining, based on the identification data, a target incremental update resource package corresponding to the latest version number from the incremental update resource packages, includes: loading an incremental update resource package issued by the server based on the resource package association file, and determining a resource list corresponding to the incremental update resource package; determining a resource mapping relation corresponding to the incremental update resource package according to the resource list, and determining identification data corresponding to the incremental update resource package based on the resource mapping relation; and determining the newly added resource package corresponding to each version number and the target replacement resource package corresponding to the latest version number based on the identification data corresponding to the increment updating resource package.
In some example embodiments of the disclosure, based on the foregoing scheme, the method further comprises: downloading the increment updating resource package, and deleting redundant updating resource packages except the target increment updating resource package in the increment updating resource package; restarting the application program to jump and update the application program corresponding to the current version number into the application program corresponding to the latest version number according to the target increment updating resource package.
According to a second aspect of the embodiments of the present disclosure, there is provided an application program updating method, applied to a server, the method including: acquiring a current resource package corresponding to the historical version number of the application program and an updated resource package of the latest version number corresponding to the application program; comparing the current file in the current resource package with the updated file in the updated resource package to obtain a difference file; generating an incremental update resource package of the application programs corresponding to each version number based on the difference file so as to jump and update the application programs corresponding to the historical version numbers into the application programs corresponding to the latest version numbers according to the incremental update resource package, wherein each version number comprises the historical version number and the latest version number.
In some example embodiments of the present disclosure, based on the foregoing solution, the difference file includes a difference script file, and the comparing the current file in the current resource package with the update file in the update resource package to obtain the difference file includes: acquiring a current encryption value corresponding to a current script file in the current file and an encryption value corresponding to an updated script file in the updated file, and detecting whether the current encryption value is the same as the encryption value; and if the current encryption value is different from the encryption value, taking the updated script file as a difference script file.
In some example embodiments of the present disclosure, based on the foregoing solution, the difference file includes a difference scene file, and naming processing is performed on the difference script file based on the mapping relationship, so as to obtain a named script file, and further includes: calculating a first associated encryption value corresponding to a current scene file in the current file, calculating a first target associated encryption value corresponding to an updated scene file in the updated file, and detecting whether the first associated encryption value is the same as the first target associated encryption value; if the first associated encryption value is different from the first target associated encryption value, saving the first associated encryption value and a current scene associated resource corresponding to the first associated encryption value, and taking the scene associated resource corresponding to the first target associated encryption value as a difference scene resource; determining a scene file name corresponding to the current scene file and generating a time stamp of the difference scene file; generating a difference scene file based on the difference scene resource, and determining a timestamp for generating the difference scene file and a scene file name corresponding to the current scene file; and naming the difference scene file based on the scene file name and the timestamp to obtain a named difference scene file.
In some example embodiments of the present disclosure, based on the foregoing solution, the difference file includes a difference common file, and naming processing is performed on the difference scene file based on the scene file name and the timestamp to obtain a named difference scene file, and further includes: calculating a second associated encryption value corresponding to a current public file in the current file and a second target associated encryption value corresponding to an updated public file in the updated file, and detecting whether the second associated encryption value is the same as the second target associated encryption value; if the second associated encryption value is different from the second target associated encryption value, storing the second associated encryption value and a current public associated resource corresponding to the second associated encryption value, and taking the public associated resource corresponding to the second target associated encryption value as a difference public resource; and generating a difference public file based on the difference public resource.
In some example embodiments of the disclosure, based on the foregoing scheme, the method further comprises: acquiring preset packing parameters, and respectively packing the difference scene file, the difference script file and the difference public file based on the packing parameters to obtain a difference scene file compression package, a difference script file compression package and a difference public file compression package; and generating an incremental update resource package based on the differential scene file compression package, the differential script file compression package and the differential public file compression package, and sending the incremental update resource package to the client to update the application program.
In some example embodiments of the disclosure, based on the foregoing scheme, the method further comprises: acquiring the increment updating resource package, and a resource association file and a resource mapping relation corresponding to the increment updating resource package; determining a basic version number in the history version number from the increment updating resource package based on the resource association file, and determining a longest increment updating resource chain corresponding to the increment updating resource package updated by the basic increment updating resource package; detecting whether a resource packet exists in the longest incremental update resource chain based on the resource mapping relation, wherein all resources in the resource packet are covered by the resources in the incremental update resource packet; and if the resource packet exists in the longest increment updating resource chain, marking the resource packet as a redundant updating resource packet.
According to a third aspect of the embodiments of the present disclosure, there is provided an application program updating apparatus, applied to a client, including: the version number comparison module is used for responding to the starting of the application program and comparing the current version number of the application program with the latest version number of the application program stored in the server; the incremental update resource package acquisition module is used for acquiring an incremental update resource package corresponding to each version number of the application program and a resource package associated file corresponding to the incremental update resource package from the server if the comparison result of the current version number and the latest version number is different; the target increment updating resource package determining module is used for determining identification data corresponding to the increment updating resource package according to the resource package association file and determining a target increment updating resource package corresponding to the latest version number from the increment updating resource package based on the identification data; and the application program updating module is used for jumping and updating the application program corresponding to the current version number into the application program corresponding to the latest version number through the target increment updating resource package.
In an exemplary embodiment of the present disclosure, based on the foregoing solution, the target incremental update resource package determining module further includes a target incremental update resource package determining unit, where the target incremental update resource package determining unit is configured to load an incremental update resource package issued by the server based on the resource package association file, and determine a resource list corresponding to the incremental update resource package; determining a resource mapping relation corresponding to the incremental update resource package according to the resource list, and determining identification data corresponding to the incremental update resource package based on the resource mapping relation; and determining the newly added resource package corresponding to each version number and the target replacement resource package corresponding to the latest version number based on the identification data corresponding to the increment updating resource package.
In an exemplary embodiment of the present disclosure, based on the foregoing solution, the application update module further includes an application update unit, where the application update unit is configured to download the incremental update resource packages, and delete redundant update resource packages other than the target incremental update resource package in the incremental update resource packages; restarting the application program to jump and update the application program corresponding to the current version number into the application program corresponding to the latest version number according to the target increment updating resource package.
According to a fourth aspect of the embodiments of the present disclosure, there is provided an application program updating apparatus, applied to a server, including: the device comprises a resource package acquisition module, a difference file generation module and an incremental update resource package generation module; the resource package acquisition module is used for acquiring a current resource package corresponding to the historical version number of the application program and an updated resource package corresponding to the latest version number of the application program; the difference file generation module is used for comparing the current file in the current resource package with the updated file in the updated resource package to obtain a difference file; the incremental update resource package generating module is configured to generate an incremental update resource package of an application program corresponding to each version number based on the difference file, so as to implement jump update of the application program corresponding to the history version number into the application program corresponding to the latest version number according to the incremental update resource package, where each version number includes the history version number and the latest version number.
In an exemplary embodiment of the present disclosure, based on the foregoing solution, the difference file generating module further includes a difference script file generating unit, where the difference script file generating unit is configured to obtain a current encryption value corresponding to a current script file in the current file and an encryption value corresponding to an updated script file in the updated file, and detect whether the current encryption value is the same as the encryption value; and if the current encryption value is different from the encryption value, taking the updated script file as a difference script file.
In an exemplary embodiment of the present disclosure, based on the foregoing solution, the difference file generating module further includes a difference scene file generating unit, where the difference scene file generating unit is configured to calculate, through an interface, a first associated encryption value corresponding to a current scene file in the current file, calculate a first target associated encryption value corresponding to an updated scene file in the updated file, and detect whether the first associated encryption value is the same as the first target associated encryption value; if the first associated encryption value is different from the first target associated encryption value, saving the first associated encryption value and a current scene associated resource corresponding to the first associated encryption value, and taking the scene associated resource corresponding to the first target associated encryption value as a difference scene resource; generating a difference scene file based on the difference scene resource, and determining a timestamp for generating the difference scene file and a scene file name corresponding to the current scene file; and naming the difference scene file based on the scene file name and the timestamp to obtain a named difference scene file.
In an exemplary embodiment of the present disclosure, based on the foregoing solution, the difference file generating module further includes a difference common file generating unit, configured to calculate, through the interface, a second associated encryption value corresponding to a current common file in the current file and a second target associated encryption value corresponding to an updated common file in the updated file, and detect whether the second associated encryption value is the same as the second target associated encryption value; if the second associated encryption value is different from the second target associated encryption value, storing the second associated encryption value and a current public associated resource corresponding to the second associated encryption value, and taking the public associated resource corresponding to the second target associated encryption value as a difference public resource; and generating a difference public file based on the difference public resource.
In an exemplary embodiment of the present disclosure, based on the foregoing solution, the incremental update resource package generating module further includes an incremental update resource package generating unit, where the incremental update resource package generating unit is configured to obtain preset packaging parameters, and perform packaging processing on the difference scene file, the difference script file, and the difference public file based on the packaging parameters, to obtain a difference scene file compression package, a difference script file compression package, and a difference public file compression package; and generating an incremental update resource package based on the differential scene file compression package, the differential script file compression package and the differential public file compression package, and sending the incremental update resource package to the client to update the application program.
In an exemplary embodiment of the present disclosure, based on the foregoing solution, the incremental update resource package determining module further includes a redundant update resource package determining unit, where the redundant update resource package determining unit is configured to obtain the incremental update resource package and a resource association file and a resource mapping relationship corresponding to the incremental update resource package; determining a basic version number in the history version number and a basic increment update resource package corresponding to the basic version number from the increment update resource package based on the resource association file, and determining a longest increment update resource chain updated from the basic increment update resource package to the update resource package; detecting whether a resource packet exists in the longest incremental update resource chain based on the resource mapping relation, wherein all resources in the resource packet are covered by the resources in the incremental update resource packet; and if the resource packet exists in the longest increment updating resource chain, marking the resource packet as a redundant updating resource packet.
According to a fifth aspect of embodiments of the present disclosure, there is provided an electronic device, comprising: a processor; and a memory having stored thereon computer readable instructions which when executed by the processor implement the application update method of any of the above.
According to a sixth aspect of embodiments of the present disclosure, there is provided a computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements an application update method according to any one of the above.
The technical scheme provided by the embodiment of the disclosure can comprise the following beneficial effects:
in an application program updating method in an example embodiment of the present disclosure, in response to starting an application program, a current version number of the application program is compared with a latest version number of the application program stored in a server; if the comparison result of the current version number and the latest version number is different, acquiring an incremental update resource package corresponding to each version number of the application program and a resource package association file corresponding to the incremental update resource package from the server; determining identification data corresponding to the increment updating resource package according to the resource package association file, and determining a target increment updating resource package corresponding to the latest version number from the increment updating resource package based on the identification data; and jumping and updating the application program corresponding to the current version number into the application program corresponding to the latest version number through the target increment updating resource package. On the one hand, the incremental update resource package corresponding to the application program and the resource package association file corresponding to the incremental resource package are obtained from the server, the identification data corresponding to the incremental update resource package is determined according to the resource package association file, the target incremental update resource package can be determined from the incremental update resource package based on the identification data corresponding to the incremental update resource package, the application program corresponding to the current version number can be skipped and updated to the application program corresponding to the latest version number according to the resource in the target incremental update resource package, the application program is not required to be updated to the latest version successively according to the update sequence of the application program, and the update efficiency of the application program is further improved; on the other hand, the target increment updating resource package is determined from the increment updating resource packages, and the expired updating resource package in the increment updating resource package can be filtered, so that the management efficiency of the increment updating resource package is improved.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the disclosure and together with the description, serve to explain the principles of the disclosure. It will be apparent to those of ordinary skill in the art that the drawings in the following description are merely examples of the disclosure and that other drawings may be derived from them without undue effort. In the drawings:
FIG. 1 schematically illustrates a schematic diagram of an application update method flow according to some embodiments of the present disclosure;
FIG. 2 schematically illustrates a schematic diagram of a target delta update resource package generation method flow in accordance with some embodiments of the present disclosure;
FIG. 3 schematically illustrates a schematic diagram of a flow of generating a delta update resource package according to some embodiments of the present disclosure;
FIG. 4 schematically illustrates a schematic diagram of a flow of generating a difference script file, according to some embodiments of the present disclosure;
FIG. 5 schematically illustrates a schematic diagram of a flow of generating a difference scene file according to some embodiments of the present disclosure;
FIG. 6 schematically illustrates a schematic diagram of a flow of generating a differential common file according to some embodiments of the present disclosure;
FIG. 7 schematically illustrates a flow diagram of a method of identifying redundant update resources in a delta update resource package, according to some embodiments of the present disclosure;
FIG. 8 schematically illustrates a schematic diagram of an application update apparatus according to some embodiments of the present disclosure;
FIG. 9 schematically illustrates a schematic diagram of another application updating apparatus according to some embodiments of the present disclosure;
FIG. 10 schematically illustrates a structural schematic diagram of a computer system of an electronic device, in accordance with some embodiments of the present disclosure;
fig. 11 schematically illustrates a schematic diagram of a computer-readable storage medium according to some embodiments of the present disclosure.
In the drawings, the same or corresponding reference numerals indicate the same or corresponding parts.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. However, the exemplary embodiments may be embodied in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the example embodiments to those skilled in the art.
Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of the disclosure. One skilled in the relevant art will recognize, however, that the disclosed aspects may be practiced without one or more of the specific details, or with other methods, components, devices, steps, etc. In other instances, well-known methods, devices, implementations, or operations are not shown or described in detail to avoid obscuring aspects of the disclosure.
Moreover, the drawings are only schematic illustrations and are not necessarily drawn to scale. The block diagrams depicted in the figures are merely functional entities and do not necessarily correspond to physically separate entities. That is, the functional entities may be implemented in software, or in one or more hardware modules or integrated circuits, or in different networks and/or processor devices and/or microcontroller devices.
In the present exemplary embodiment, an application program update method is provided first, and the application program update method may be applied to a client, which may be a terminal device, such as an electronic device, for example, a mobile phone, a computer, or the like. Fig. 1 schematically illustrates a schematic diagram of an application update method flow according to some embodiments of the present disclosure. Referring to fig. 1, the application program update method may include the steps of:
Step S110, responding to the starting of an application program, and comparing the current version number of the application program with the latest version number of the application program stored in a server side;
step S120, if the comparison result of the current version number and the latest version number is different, acquiring an incremental update resource package corresponding to each version number of the application program and a resource package association file corresponding to the incremental update resource package from the server;
step S130, determining the identification data corresponding to the incremental update resource package according to the resource package association file, and determining a target incremental update resource package corresponding to the latest version number from the incremental update resource packages based on the identification data;
step S140, jumping and updating the application program corresponding to the current version number to the application program corresponding to the latest version number through the target increment updating resource packet.
According to the application program updating method in the present exemplary embodiment, on one hand, by acquiring an incremental update resource package corresponding to an application program and a resource package association file corresponding to the incremental update resource package from a server, determining identification data corresponding to the incremental update resource package according to the resource package association file, and determining a target incremental update resource package from the incremental update resource package based on the identification data, further, the application program corresponding to the current version number can be updated to an application program corresponding to the latest version number in a jumping manner according to the target incremental update resource package, and the application program is not required to be updated to the latest version successively according to the update sequence of the application program, thereby improving the update efficiency of the application program; on the other hand, the target increment updating resource package is determined from the increment updating resource packages, and the expired updating resource package in the increment updating resource package can be filtered, so that the management efficiency of the increment updating resource package is improved.
Next, an application program update method in the present exemplary embodiment will be further described.
In step S110, in response to the start of the application, the current version number of the application is compared with the latest version number of the application stored in the server.
In an example embodiment of the present disclosure, the application may refer to an Android (Android) -based application, or may refer to an IOS (operating system developed by apple corporation), which is not particularly limited in this embodiment.
The current version number may refer to a version number of a current application program, for example, the current version number may be a version number of GNU (version published based on GPL (General Public License, most common open source protocol)) style, a version number of Windows style, or a version number of Net frame style, which may be, of course, a version number of other current test versions, which is not limited in this embodiment.
The latest version number may be an update version number corresponding to the current version number after the application program corresponding to the current version number is modified or functionally updated, for example, the latest version number may be an update version number of GNU style corresponding to the current version number of GNU style, may be an update version number of Windows style corresponding to the current version number of Windows style, may be an update version number of Net frame style corresponding to the current version number of Net frame style, or may be another update version number corresponding to the current test version number, and the embodiment of the present invention is not limited in particular.
The current version number of the application program can be compared with the latest version number stored by the server side to detect whether the application program of the current version needs to be updated or not; if the current version number of the application program is different from the latest version number, an incremental update resource package and a resource package association file corresponding to the incremental update resource package manufactured by the server can be obtained, and a target incremental update resource package for jumping-updating the application program corresponding to the current version number into the application program corresponding to the latest version number is determined from the incremental update resource package according to the resource package association file.
In step S120, if the comparison result of the current version number and the latest version number is different, an incremental update resource package corresponding to each version number of the application program and a resource association file corresponding to the incremental update resource package are obtained from the server.
In an example embodiment of the present disclosure, the incremental update resource package may refer to an update resource package composed of newly added resources or updated resources in an application program corresponding to the update version number compared to the application program corresponding to the current version number, for example, the incremental update resource package may be an update scenario resource package, or may also be an update script resource package, or may also be an update public resource package, or may also be other update resource packages, such as an update scenario resource package, or an update resource package composed of any two of the update scenario resource packages, the update public resource package, or an update resource package composed of resources other than the update scenario resource package and the update scenario resource package, which is not limited in this example embodiment.
The resource association file may refer to a file containing information related to the incremental update resource package, for example, the resource association file may be an association file in the incremental update resource package corresponding to the application program containing the current version number and an association file in the incremental update resource package corresponding to the application program containing the history version number, and the resource association file may also be an association file containing a name of the incremental update resource package corresponding to the application program containing the current version number and an encryption value corresponding to a resource in the incremental update resource package, and the resource association file may also be an association file containing a name corresponding to an expired resource package in the incremental update resource package.
Preferably, the name corresponding to the expired resource package, the update version number of the application program corresponding to the incremental update resource package and the history version number of the application program corresponding to the incremental update resource package can be determined according to the resource association file corresponding to the incremental update resource package, and then the target incremental update resource package corresponding to the expired resource package can be determined and removed from the incremental update resource package.
In step S130, the identification data corresponding to the incremental update resource package is determined according to the resource package association file, and the target incremental update resource package corresponding to the latest version number is determined from the incremental update resource packages based on the identification data.
In an example embodiment of the present disclosure, the identification data may refer to tag data corresponding to a resource packet in an incremental update resource packet, for example, the identification data may be expiration tag data corresponding to a resource packet in the incremental update resource packet, the identification data may also be newly added tag data corresponding to a resource packet in the incremental update resource packet, the identification data may also be update tag data corresponding to a resource packet in the incremental update resource packet, and of course, the identification data may also be other tag data corresponding to a resource packet in the incremental update resource packet.
The target incremental update resource package may refer to a resource package for skipping and updating an application corresponding to a current version number to an application corresponding to a latest version number, for example, the target incremental update resource package may be a script resource package including an application corresponding to a current version number and skipping and updating an application corresponding to a latest version number, a scene resource package including an application corresponding to a current version number and skipping and updating an application corresponding to a latest version number, or a public resource package including an application corresponding to a current version number and skipping and updating an application corresponding to a latest version number, and of course, the target incremental update resource package may also be a script resource package, a scene resource package, and a public resource package including an application corresponding to a current version number and skipping and updating an application corresponding to a latest version number.
Preferably, resources of application programs corresponding to a plurality of continuous update version numbers in the incremental update resource packages can be combined according to the resource association file corresponding to the incremental update resource packages, and the outdated resource packages are deleted from the incremental update resource packages according to the identification data corresponding to the incremental update resource packages, so that all target incremental update resource packages corresponding to the application programs corresponding to the current version numbers are obtained, and resources in the target incremental update resource packages are loaded, so that the application programs corresponding to the current version numbers are updated to the application programs corresponding to the latest version numbers in a jumping mode, and the updating efficiency of the application programs is improved.
In step S140, the application program corresponding to the current version number is updated to the application program corresponding to the latest version number in a jumping manner through the target increment updating resource packet.
In an example embodiment of the present disclosure, since the target incremental update resource package is a non-expired resource package in the incremental update resource package according to the identification data corresponding to the incremental update resource package, and the expired resource package in the incremental update resource package is deleted to obtain the new resource and the target replacement resource for jumping and updating the application corresponding to the current version number to the application corresponding to the latest version number, the method does not include the resource corresponding to other version numbers between the current version number and the latest version number, and realizes the application corresponding to the current version number to the latest version number by jumping and updating the application corresponding to the current version number based on the target incremental update resource package composed of the new resource and the target replacement resource.
Considering that an active player can update a resource package according to the increment of an application program corresponding to the latest version number, the application program corresponding to the current version number is directly updated to the application program corresponding to the latest version number, while an inactive player needs to update the application program corresponding to the historical version number step by step through the historical increment update resource package of the application program, finally, the application program corresponding to the historical version number is updated to the application program corresponding to the latest version number, more increment update resource packages need to be downloaded, and the update efficiency of the application program is lower.
Preferably, in view of the above problems, the identification data of the resource package in the incremental update resource package may be determined through the resource package association file corresponding to the incremental update resource package, the target incremental update resource package corresponding to the application program for jumping and updating the current version number into the application program corresponding to the latest version number is obtained from the incremental update resource package based on the identification data corresponding to the resource package in the incremental update resource package, so that the loading of redundant update resources is avoided, and the application program corresponding to the current version number can be jumping and updating into the application program corresponding to the latest version number by loading the newly added resource in the target incremental update resource package and the update resource corresponding to the latest version number.
Fig. 2 schematically illustrates a schematic diagram of a target delta update resource package generation method flow according to some embodiments of the present disclosure. Referring to fig. 2, the target delta update resource package generation method may include the steps of:
in step S210, loading an incremental update resource package issued by the server based on the resource package association file, and determining a resource list corresponding to the incremental update resource package;
in step S220, determining a resource mapping relationship corresponding to the incremental update resource package according to the resource list, and determining identification data corresponding to the incremental update resource package based on the resource mapping relationship;
in step S230, a new added resource packet corresponding to the version numbers and a target replacement resource packet corresponding to the latest version number are determined based on the identification data corresponding to the incremental update resource packet.
The resource list may refer to a list including names of target incremental update resource packages, for example, the resource list may be a list including names of script resource packages corresponding to the target incremental update resource packages, or may be a list including names of scenario resource packages corresponding to the target incremental update resource packages, or may be a list including names corresponding to public resource packages corresponding to the target incremental update resource packages, which is not limited in this embodiment.
The resource mapping relationship may refer to a mapping relationship between a resource in an incremental update resource package and the incremental update resource package, for example, the resource mapping relationship may be a mapping relationship between a resource in the incremental update resource package and a version number of the incremental update resource package, or may be a mapping relationship between a resource in the incremental update resource package and other associated resources related to the resource, or may be a mapping relationship between a resource in the incremental update resource package and a file name of a storage resource, and of course, the resource mapping relationship may also be other mapping relationship between a resource in the incremental update resource package and the incremental update resource package.
The newly added resource package may refer to a resource package formed by skipping and updating the application program corresponding to the current version number to all newly added resources in the application program corresponding to the latest version number, for example, the current version number is 1.2.0, the application program with the version number of 1.2.1 is newly added with the resource a compared with the application program corresponding to the current version number, the application program with the version number of 1.2.2 is newly added with the resource a1 compared with the application program with the version number of 1.2.1, the newly added resource package is a resource package comprising the resource a, the resource a1 and the resource a2, and of course, the newly added resource package may also be a newly added resource package formed by other newly added resources, for example, the newly added resource package may be a resource package formed by a newly added script file, may also be a resource package formed by an added scene file, may also be a resource package formed by a newly added public file, and may also be a newly added script file, and a special case may also be a document, and a special case may not be added with the newly added resource package.
The target replacement resource package may refer to a replacement resource package corresponding to the latest resource by skipping the resource in the application corresponding to the current version number, for example, the current version number is 1.2.0, the application corresponding to the version number is 1.2.1 updates the resource a in the application corresponding to the current version number to the resource a1, the application corresponding to the version number is 1.2.2 updates the resource a1 in the application corresponding to the version number is 1.2.1 to the resource a2, the application corresponding to the latest version number is 1.2.3 updates the resource a2 in the application corresponding to the version number is 1.2.2 to the resource a3, and the target replacement resource package may be a resource package only including the resource a 3.
Preferably, the new resource package and the target replacement resource package for updating the application program corresponding to the current version number into the application program corresponding to the latest version number can be screened from the incremental update resource packages according to the resource mapping relation corresponding to the incremental update resource packages, and then the new resource package and the target replacement resource package are combined to be used as the target incremental update resource package for directly updating the application program corresponding to the current version number into the application program corresponding to the latest version number, so that the size of the update resource package for updating the application program corresponding to the current version number into the application program corresponding to the latest version number is greatly reduced, and the update efficiency of the application program is improved.
In an exemplary embodiment of the present disclosure, an incremental update resource package may be downloaded, and a redundant update resource package other than a target incremental update resource package in the incremental update resource package may be deleted, so that in a process of restarting an application program, the application program corresponding to the current version number is hopped and updated to an application program corresponding to the latest version number according to a new added resource and an updated resource in the target incremental update resource package.
The redundancy update resource package may refer to an update resource package in which all resources are covered by an incremental update resource package corresponding to the latest version number, for example, the redundancy update resource package may be a script update resource package in which all resources are covered by an incremental update resource package corresponding to the latest version number, for example, a script resource luapathc_9441 with a version number of 9441 only contains a, b resources, and contents in a, b, c, d resources in a script resource luapathc_10458 with a version number of 10458, and then resource a and resource b in luapathc_9441 are redundant resources, and a resource package luapathc_9441 storing corresponding resource a and resource b is the redundancy update resource package. Of course, the redundancy update resource packet may also be a scene update resource packet including all resources covered by an incremental update resource packet corresponding to the latest version number, and the redundancy update resource packet may also be a common update resource packet including all resources covered by an incremental update resource packet corresponding to the latest version number.
Preferably, resources, such as newly added resources and target replacement resources, of the application programs corresponding to the current version number are selected from the incremental update resource package according to the mapping relation corresponding to the incremental update resource package, further resources except the newly added resources and the target replacement resources in the incremental update resource package are marked to generate outdated resources, further the outdated resources are packed to generate a redundant update resource package, and further the redundant update resource package can be deleted in the process of jumping the application programs corresponding to the current version number to the application programs corresponding to the latest version number, so that the application programs corresponding to the current version number are directly and in a jumping manner to the application programs corresponding to the latest version number by loading the resources in the target incremental update resource package in the process of restarting the application programs.
In this exemplary embodiment, there is also provided an application update method, which may be applied to a server, and fig. 3 schematically illustrates a flowchart of generating an incremental update resource package according to some embodiments of the present disclosure. Referring to fig. 3, the method of generating an incremental update resource package may include the steps of:
In step S310, a current resource package corresponding to the historical version number of the application program and an updated resource package of the latest version number corresponding to the application program are obtained;
in step S320, comparing the current file in the current resource package with the updated file in the updated resource package to obtain a difference file;
in step S330, an incremental update resource package of the application programs corresponding to each version number is generated based on the difference file, so that the application programs corresponding to the historical version numbers are updated to the application programs corresponding to the latest version numbers in a jumping manner according to the incremental update resource package, and each version number includes the historical version number and the latest version number.
The current resource package may refer to a resource package of an application program corresponding to a historical version number, for example, the historical version number is 9441, and the current resource package may be a resource package of an application program corresponding to the version number is 9441, specifically, the current resource package may be a resource package containing script resources of the application program corresponding to the current version number, may be a resource package containing scene resources of the application program corresponding to the current version number, and may also be a resource package containing public resources of the application program corresponding to the current version number, where this embodiment is not limited in particular.
The update resource package may refer to a resource package that is primarily updated based on an application program corresponding to a history version number, for example, the history version number is 9441, the latest version number corresponding to the history version number 9441 is 9443, the update resource package may be a resource package of an application program corresponding to the version number 9441, and the obtained update version number is 9443, and specifically, the update resource package may be a resource package including script resources of the application program corresponding to the update version number, a resource package including scene resources of the application program corresponding to the update version number, or a resource package including public resources of the application program corresponding to the update version number, which is not limited in this embodiment.
The difference file may refer to a difference file obtained by comparing a file in a current resource package with a file in an updated resource package, for example, the current version number is 9441, the current resource package luapatch_9441 includes a script file a, wherein an encryption value corresponding to the script file a is a9f01053d7143414e52c09fbd, on the basis of an application program of the current version number 9441, the application program is further updated to obtain an application program with an updated version number corresponding to the current version number 9443, an updated script resource package luapatch_9443 corresponding to the updated application program includes a script file b, an encryption value corresponding to the script file b is 6 cap 6599e5657e0e1cf80657, the encryption value corresponding to the script file a in the script resource package luapatch_9441 and an encryption value corresponding to the script file b in luapatch_9443 are compared, and the difference file b is saved as a script file named script file by using the difference file b and the difference file is a script file named script file.
Similarly, the encryption value corresponding to the scene file of the application program corresponding to the current version number and the encryption value corresponding to the scene file of the application program corresponding to the update version number can be calculated through the interface, the encryption value corresponding to the scene file of the current version number and the encryption value corresponding to the scene file of the update version number are compared, if the comparison results are different, the scene file of the update version number is used as a difference scene file, the encryption value corresponding to the public file of the application program corresponding to the current version number and the encryption value corresponding to the public file of the application program corresponding to the update version number can be calculated through the interface, the encryption value corresponding to the public file of the current version number and the encryption value corresponding to the public file of the update version number are compared, and if the comparison results are different, the public file of the update version number is used as a difference public file.
Preferably, the current file in the current resource package of the application program can be divided into a scene file, a script file and a public file, and meanwhile, the update file in the update resource package is also divided into the scene file, the script file and the public file, further, the difference file can be obtained by comparing the current file in the current resource package with the update file with the same type as the current file in the update resource package, further, the increment update resource package of the application program corresponding to the update version number is obtained on the basis of the application program corresponding to the current version number, and the resources in the increment update resource package are sequentially downloaded on the basis of the resource mapping relation corresponding to the increment update resource package, so that the application program corresponding to the current version number is updated into the application program corresponding to the latest version number in a jumping mode, the resources corresponding to each update version application program do not need to be externally discharged, the size of the update file downloaded by a user is reduced, and the update efficiency of the application program is improved.
Fig. 4 schematically illustrates a schematic diagram of a flow of generating a difference script file, according to some embodiments of the present disclosure. Referring to fig. 4, the method of generating a difference script file may include the steps of:
in step S410, a current encryption value corresponding to a current script file in the current file and an encryption value corresponding to an updated script file in the updated file are obtained, and whether the current encryption value is the same as the encryption value or not is detected;
in step S420, if the current encryption value and the encryption value are different, the update script file is used as a difference script file.
The current encryption value may refer to a key value obtained by performing encryption processing on the current script file, for example, the current encryption value may be an md5 (message-digest algorithm) value corresponding to the current script file, and of course, the current encryption value may also be other hash values corresponding to the current script file, which is not limited in particular in this embodiment. The encrypted value may refer to a key value corresponding to an updated script file obtained by updating the current script file.
For example, the current version number of the application program is 9441, the current resource packet luapatch_9441 includes a script file a, where an encryption value corresponding to the script file a is a9f01053d7143414e52c09fbd, the application program is further updated to obtain an application program with an update version number 9443 based on the application program with the current version number 9441, the updated update script resource packet luapatch_9443 corresponding to the application program includes a script file b, where an encryption value corresponding to the script file b is 6 casing 6599e5657e0e1cf80657, and by comparing the encryption value corresponding to the script file a in the script resource packet luapatch_9441 with the encryption value corresponding to the script file b in luapatch_9443, the script file b is used as a script file because the encryption values of the script file a and the script file b are different, and the version number corresponding to the update resource packet including the script file b is used as a target version number 9443, and the script file can be compressed to obtain a differential version number of the script file 9443.
Optionally, the current encryption value corresponding to the current script file and the encryption value corresponding to the updated script file can be compared, if the comparison results are different, the encryption value corresponding to the current script file is saved, the changed script file, namely the updated script file, is encrypted, and the updated script file is used as a difference script file; and determining a version number corresponding to the resource package containing the update file, taking the version number as a target version number, and naming the script resource package formed by the difference script file based on the target version number to obtain the incremental update script resource package.
Fig. 5 schematically illustrates a schematic diagram of a flow of generating a difference scene file according to some embodiments of the present disclosure. Referring to fig. 5, the method of generating a difference scene file may include the steps of:
in step S510, calculating a first associated encryption value corresponding to a current scene file in the current file through an interface, calculating a first target associated encryption value corresponding to an updated scene file in the updated file, and detecting whether the first associated encryption value is the same as the first target associated encryption value;
in step S520, if the first associated encryption value is different from the first target associated encryption value, saving the first associated encryption value and a current scene associated resource corresponding to the first associated encryption value, and taking the scene associated resource corresponding to the first target associated encryption value as a differential scene resource;
in step S530, a difference scene file is generated based on the difference scene resource, a scene file name corresponding to the current scene file is determined, and a timestamp of the difference scene file is generated;
in step S540, naming processing is performed on the difference scene file based on the scene file name and the timestamp, so as to obtain a named difference scene file.
The first associated encryption value may refer to an encryption value corresponding to a resource associated with a current resource of the current scene file, for example, the current scene file includes a current texture resource a and a texture resource b, where the texture b in the current scene file is referenced by the texture a, that is, there is a dependency relationship between the resource a and the resource b, the interface may maintain a reference (dependency) relationship between the resources, and further may calculate, through the interface, an encryption value corresponding to a dependent resource corresponding to a certain resource, for example, the interface may calculate a hash value of the dependent resource b corresponding to the texture a, and the first associated encryption value may be a hash value of the dependent resource b.
The current scene associated resource may refer to an associated resource corresponding to a target resource in the current scene file, for example, a texture b in the current scene file is referenced by a material a, that is, there is a dependency relationship between the target resource a and the resource b, and the resource b in the current scene file may be an associated resource corresponding to the material a in the current scene file, which may, of course, also be an associated resource corresponding to other resources in the current scene file.
The first target associated encryption value may refer to an encryption value corresponding to a resource associated with the target resource in the update scenario file, for example, the update scenario file includes a resource b and a resource c, where the resource b in the update scenario file is referenced by the resource c, that is, there is a dependency relationship between the update resource b and the update resource c, and since the interface may maintain a reference (dependency) relationship between the resources, the interface may further calculate, based on the interface, an encryption value corresponding to a dependent resource corresponding to a certain resource, for example, the interface may calculate a hash value of the dependent resource b corresponding to the target resource c, and the first target associated encryption value may be a hash value of the dependent resource b.
The scene association resource may refer to an association resource corresponding to a target resource in the update scene file, for example, a texture b in the update scene file is referenced by a model c, that is, there is a dependency relationship between the resource b and the target resource c, and the texture b in the update scene file may be an association resource corresponding to the resource c in the update scene file, and of course, the scene association resource may also be an association resource corresponding to other resources in the scene file.
Preferably, a first associated encryption value of a dependent resource corresponding to a resource in the current scene file and a first target associated encryption value of a dependent resource corresponding to a resource in the updated scene file are calculated through an interface, the first associated encryption value and the first target associated encryption value are compared, if the comparison results are different, the referenced resource in the current scene file and the current scene associated resource corresponding to the referenced resource are saved, the resource corresponding to the changed first target associated encryption value in the updated scene file is used as a difference scene resource, and a difference scene file is generated based on the difference scene resource; meanwhile, naming the difference scene file according to the timestamp corresponding to the generated difference file and the name corresponding to the current scene file to obtain the named difference scene file; therefore, the compressed incremental update scene resource package can be named according to the names of the difference scene files, and the named incremental update scene resource package is obtained.
Fig. 6 schematically illustrates a schematic diagram of a flow of generating a differential public file according to some embodiments of the present disclosure. Referring to fig. 6, the method of generating a differential common file may include the steps of:
In step S610, calculating, by the interface, a second associated encrypted value corresponding to the current public file in the current file and a second target associated encrypted value corresponding to the updated public file in the updated file, and detecting whether the second associated encrypted value is the same as the second target associated encrypted value;
in step S620, if the second associated encryption value is different from the second target associated encryption value, the second associated encryption value and a current public associated resource corresponding to the second associated encryption value are saved, and the public associated resource corresponding to the second target associated encryption value is used as a differential public resource;
in step S630, a differential public file is generated based on the differential public resource.
The second associated encryption value may refer to an encryption value corresponding to a resource associated with a target resource of the current public file, for example, the current public file includes a current resource w and a current resource r, where the resource w in the current public file is referenced by the target resource r, that is, there is a dependency relationship between the resource w and the target resource r, the interface may maintain a reference (dependency) relationship between the resources, and further may calculate an encryption value corresponding to a dependent resource corresponding to a certain resource, for example, the interface may calculate a hash value of the dependent resource w corresponding to the target resource r, and the second associated encryption value may be a hash value of the dependent resource w.
The current public association resource may refer to an association resource corresponding to a resource in the current public file, for example, the resource w in the current public file is referenced by the resource r, that is, there is a dependency relationship between the resource w and the resource r, and the resource w in the current public file may be an association resource corresponding to the resource r in the current public file, which may, of course, also be an association resource corresponding to other resources in the current public file.
The second target associated encryption value may refer to an encryption value corresponding to a resource associated with the target resource in the updated public file, for example, the updated public file includes a resource w and a target resource e, where the resource w in the updated public file is referenced by the target resource e, that is, there is a dependency relationship between the resource w and the resource e, the interface may maintain a reference (dependency) relationship between the resources, and further may calculate an encryption value corresponding to the dependent resource corresponding to the target resource, for example, the interface may calculate a hash value of the dependent resource w corresponding to the target resource e, and the second target associated encryption value may be a hash value of the dependent resource w.
The public association resource may refer to an association resource corresponding to a target resource in the updated public file, for example, a resource w in the updated public file is referenced by a target resource e, that is, there is a dependency relationship between the resource w and the target resource e, and the resource w may be an association resource corresponding to a resource c in the updated public file, and of course, the public association resource may also be an association resource corresponding to other resources in the public file.
Preferably, the dependency relationship between all the resources in the current public file and the dependency relationship corresponding to all the resources in the updated public file can be maintained through the interface, the second associated encryption value of the dependent resource corresponding to the target resource in the current public file and the second target associated encryption value of the dependent resource corresponding to the target resource in the updated public file are calculated through the interface, further, the second associated encryption value and the second target associated encryption value are compared, if the comparison results are different, the reference resource in the current public file and the current public resource corresponding to the reference resource are saved, the resource corresponding to the changed second target associated encryption value in the updated public file is used as the differential public resource, and the differential public file is generated based on the differential public resource.
In an exemplary embodiment of the present disclosure, a packing parameter may be set, and a differential scene file, a differential script file, and a differential public file are respectively packed based on the packing parameter to obtain a differential scene file compression package, a differential script file compression package, and a differential public file compression package; and generating an incremental update resource package based on the differential scene file compression package, the differential script file compression package and the differential public file compression package, and sending the incremental update resource package to the client to update the application program.
Considering that the use of the buildabistbundletypeoperations parameter and the disable-writetypetree parameter respectively compress the differential script file, the differential scene file and the differential public file in a compression mode of using the buildabistbundletbundletypeoperations parameter and the disable-writetypetree parameter when the incremental update resource packages corresponding to different version numbers contain the same-name resources, the problem that the loading of the same-name resources fails can be solved, the buildabistbunduponstres parameter and the disable-writetypetree parameter can be removed, and when one resource is read from the assetbundle in the compression mode, only the designated resource can be decompressed to obtain a differential scene file compression package, a differential script file compression package and a differential public file compression package, and the assetbundle is a unit (game development) resource package, and one compression package contains a model, a map, a prefabricated body, sound and even the whole scene can be loaded when the game is running.
Preferably, the differential script file compression package, the differential scene file compression package and the differential public file compression package corresponding to each version number can be obtained by obtaining preset packaging parameters and compressing the differential script file, the differential scene file and the differential public file corresponding to each version number, an incremental update resource package corresponding to the version number is generated based on the differential script file compression package, the differential scene file compression package and the differential public file compression package corresponding to the same version number, and the incremental update resource package is sent to the client side so that the client side can download the application program corresponding to the current version number and update the application program into the target incremental update resource package of the application program corresponding to the latest version number in a jumping mode.
Fig. 7 schematically illustrates a flow diagram of a method of identifying redundant update resources in a delta update resource package, according to some embodiments of the present disclosure. Referring to fig. 7, the method for identifying redundancy update resources in an incremental update resource package may include the steps of:
in step S710, the incremental update resource package and a resource association file and a resource mapping relationship corresponding to the incremental update resource package are obtained;
in step S720, determining a base version number in the history version number and a base incremental update resource package corresponding to the base version number from the incremental update resource packages based on the resource association file, and determining a longest incremental update resource chain corresponding to an update resource package updated from the base incremental update resource package to the latest version number;
In step S730, detecting whether a resource packet exists in the longest incremental update resource chain based on the resource mapping relationship, where all resources in the resource packet are covered by resources in the update resource packet;
in step S740, if the resource packet exists in the longest incremental update resource chain, the resource packet is marked as a redundant update resource packet.
The longest incremental update resource chain may refer to an incremental update resource chain formed by all version numbers corresponding to the latest version number and resource packages corresponding to all version numbers from the base version number corresponding to the application program, for example, the current version number is 9441, the base version number corresponding to the current version number 9441 is 9439, the update version number corresponding to the base version number 9439 is 9440, the subsequent update version number corresponding to the update version number 9440 is 9441, the subsequent update version number corresponding to the update version number 9441 is 9443, the subsequent update version number corresponding to the update version number 9443 is 10458, and the longest incremental update resource chain may be 9439- <9440- <9441- <9443- <10458 according to the update sequence of the version numbers. The basic incremental update resource package may refer to an incremental update resource package corresponding to a basic version number 9439, and the update resource package may refer to an incremental update resource package corresponding to a version number 10458, and when the update resource package is defined before the update resource package, the update resource package may also refer to an incremental update resource package corresponding to a historical version number from the basic version number to the latest version number, which is not particularly limited in this embodiment.
Specifically, the highest version 10458 is the current release version, if the version is merged to 9440 at this time, a merged version 10458_9440 is generated, and if incremental update resource packages corresponding to all update version numbers of 9440-10458 are deleted, an incremental update resource package corresponding to the current version number 9441 and a base version number 9439 corresponding to the current version number 9441 is left, and an incremental update resource package corresponding to the merged version number 10458_9440 is left; the script resource luapathc_9441 with the version number 9441 only contains a, b resources, while the content in the script resource luapathc_10458 with the version number 10458 contains a, b, c, d resources, and the mapping relationship of a, b, c, d resources is as follows:
a->luapatch_10458,
b->luapatch_10458
c->luapatch_10458
d->luapatch_10458
since only the resources a and b contained in the luapathc_9441 are covered by the target updated resources corresponding to the latest version number, that is, all the resources containing luapathc_9441 in the target incremental updated resource packet, the script resource packet luapathc_9441 containing only the resources a and b can be marked as a redundant updated resource packet; furthermore, in the process that the client side jumps and updates the application program corresponding to the current version number to the application program corresponding to the latest version number, the redundant update resource package can be deleted, the corresponding resource is directly downloaded according to the target increment update resource package and the resource mapping relation corresponding to the target increment update resource package, and the jump and update of the application program corresponding to the current version number to the application program corresponding to the latest version number is realized.
It should be noted that although the steps of the methods of the present disclosure are illustrated in the accompanying drawings in a particular order, this does not require or imply that the steps must be performed in that particular order or that all of the illustrated steps be performed in order to achieve desirable results. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step to perform, and/or one step decomposed into multiple steps to perform, etc.
In addition, in the present exemplary embodiment, an application updating apparatus is also provided. Referring to fig. 8, the application updating apparatus 800 includes: a version number comparison module 810, an incremental update resource package acquisition module 820, a target incremental update resource package determination module 830, and an application update module 840. Wherein: a version number comparison module 810, configured to compare, in response to starting an application program, a current version number of the application program with a latest version number of the application program stored in a server; an incremental update resource package obtaining module 820, configured to obtain, if the comparison result of the current version number and the latest version number is different, an incremental update resource package corresponding to each version number of the application program and a resource package association file corresponding to the incremental update resource package from the server; a target incremental update resource package determining module 830, configured to determine, according to the resource package association file, identification data corresponding to the incremental update resource package, and determine, based on the identification data, a target incremental update resource package corresponding to the latest version number from the incremental update resource packages; and the application program updating module 840 is configured to skip-update, by using the target incremental update resource package, the application program corresponding to the current version number to the application program corresponding to the latest version number.
In an exemplary embodiment of the present disclosure, based on the foregoing solution, the target incremental update resource package determining module 830 further includes a target incremental update resource package determining unit, where the target incremental update resource package determining unit is configured to load an incremental update resource package issued by the server based on the resource package association file, and determine a resource list corresponding to the incremental update resource package; determining a resource mapping relation corresponding to the incremental update resource package according to the resource list, and determining identification data corresponding to the incremental update resource package based on the resource mapping relation; and determining the newly added resource package corresponding to each version number and the target replacement resource package corresponding to the latest version number based on the identification data corresponding to the increment updating resource package.
In an exemplary embodiment of the present disclosure, based on the foregoing solution, the application update module 840 further includes an application update unit, where the application update unit is configured to download the target incremental update resource package, and delete redundant update resource packages other than the target incremental update resource package in the incremental update resource package; restarting the application program to jump and update the application program corresponding to the current version number into the application program corresponding to the latest version number according to the target increment updating resource package.
Finally, in this exemplary embodiment, an application updating apparatus applied to a server is also provided. Referring to fig. 9, the application updating apparatus 900 includes: a resource package obtaining module 910, configured to obtain a current resource package corresponding to a historical version number of the application program, and an updated resource package corresponding to an latest version number of the application program; the difference file generating module 920 is configured to compare the current file in the current resource package with the updated file in the updated resource package to obtain a difference file; an incremental update resource package generating module 930, configured to generate an incremental update resource package of an application program corresponding to each version number based on the difference file, so as to implement, according to the incremental update resource package, jump update of the application program corresponding to the historical version number to the application program corresponding to the latest version number; the respective version numbers include the history version number and the latest version number.
In an exemplary embodiment of the present disclosure, based on the foregoing solution, the difference file generating module 920 further includes a difference script file generating unit, where the difference script file generating unit is configured to obtain a current encryption value corresponding to a current script file in the current file and an encryption value corresponding to an updated script file in the updated file, and detect whether the current encryption value is the same as the encryption value; and if the current encryption value is different from the encryption value, taking the updated script file as a difference script file.
In an exemplary embodiment of the present disclosure, based on the foregoing solution, the difference file generating module 920 further includes a difference scene file generating unit, where the difference scene file generating unit is configured to calculate, through an interface, a first associated encryption value corresponding to a current scene file in the current file, calculate a first target associated encryption value corresponding to an updated scene file in the updated file, and detect whether the first associated encryption value is the same as the first target associated encryption value; if the first associated encryption value is different from the first target associated encryption value, saving the first associated encryption value and a current scene associated resource corresponding to the first associated encryption value, and taking the scene associated resource corresponding to the first target associated encryption value as a difference scene resource; generating a difference scene file based on the difference scene resource, and determining a timestamp for generating the difference scene file and a scene file name corresponding to the current scene file; and naming the difference scene file based on the scene file name and the timestamp to obtain a named difference scene file.
In an exemplary embodiment of the present disclosure, based on the foregoing solution, the difference file generating module 920 further includes a difference common file generating unit, configured to calculate, through the interface, a second associated encryption value corresponding to a current common file in the current file and a second target associated encryption value corresponding to an updated common file in the updated file, and detect whether the second associated encryption value is the same as the second target associated encryption value; if the second associated encryption value is different from the second target associated encryption value, storing the second associated encryption value and a current public associated resource corresponding to the second associated encryption value, and taking the public associated resource corresponding to the second target associated encryption value as a difference public resource; and generating a difference public file based on the difference public resource.
In an exemplary embodiment of the present disclosure, based on the foregoing solution, the incremental update resource package generating module 930 further includes an incremental update resource package generating unit, where the incremental update resource package generating unit is configured to obtain preset packaging parameters, and perform packaging processing on the difference scene file, the difference script file, and the difference public file based on the packaging parameters to obtain a difference scene file compression package, a difference script file compression package, and a difference public file compression package; and generating the incremental update resource package based on the differential scene file compression package, the differential script file compression package and the differential public file compression package, and sending the incremental update resource package to the client to update the application program.
In an exemplary embodiment of the present disclosure, based on the foregoing solution, the incremental update resource package generating module 930 further includes a redundant update resource package determining unit, where the redundant update resource package determining unit is configured to obtain the incremental update resource package and a resource association file and a resource mapping relationship corresponding to the incremental update resource package; determining a basic version number in the history version number and a basic increment update resource package corresponding to the basic version number from the increment update resource package based on the resource association file, and determining a longest increment update resource chain updated from the basic increment update resource package to the update resource package; detecting whether a resource packet exists in the longest increment updated resource chain based on the resource mapping relation, wherein all resources in the resource packet are covered by the resources in the updated resource packet; and if the resource packet exists in the longest increment updating resource chain, marking the resource packet as a redundant updating resource packet.
The specific details of each module of the application updating apparatus are described in detail in the corresponding application updating method, so that the details are not repeated here.
It should be noted that although several modules or units of the application updating means are mentioned in the above detailed description, this division is not mandatory. Indeed, the features and functionality of two or more modules or units described above may be embodied in one module or unit in accordance with embodiments of the present disclosure. Conversely, the features and functions of one module or unit described above may be further divided into a plurality of modules or units to be embodied.
In addition, in an exemplary embodiment of the present disclosure, an electronic device capable of implementing the above application program update method is also provided.
Those skilled in the art will appreciate that the various aspects of the present disclosure may be implemented as a system, method, or program product. Accordingly, various aspects of the disclosure may be embodied in the following forms, namely: an entirely hardware embodiment, an entirely software embodiment (including firmware, micro-code, etc.) or an embodiment combining hardware and software aspects may be referred to herein as a "circuit," module "or" system.
An electronic device 1000 according to such an embodiment of the present disclosure is described below with reference to fig. 10. The electronic device 1000 shown in fig. 10 is merely an example and should not be construed as limiting the functionality and scope of use of the disclosed embodiments.
As shown in fig. 10, the electronic device 1000 is embodied in the form of a general purpose computing device. Components of electronic device 1000 may include, but are not limited to: the at least one processing unit 1010, the at least one memory unit 1020, a bus 1030 connecting the various system components (including the memory unit 1020 and the processing unit 1010), and a display unit 1040.
Wherein the storage unit stores program code that is executable by the processing unit 1010 such that the processing unit 1010 performs steps according to various exemplary embodiments of the present disclosure described in the above-described "exemplary methods" section of the present specification. For example, the processing unit 1010 may perform step S110 shown in fig. 1, and compare the current version number of the application program with the latest version number of the application program stored in the server in response to the start of the application program; step S120, if the comparison result of the current version number and the latest version number is different, acquiring an incremental update resource package corresponding to each version number of the application program and a resource package association file corresponding to the incremental update resource package from the server; step S130, determining the identification data corresponding to the incremental update resource package according to the resource package association file, and determining a target incremental update resource package corresponding to the latest version number from the incremental update resource packages based on the identification data; step S140, jumping and updating the application program corresponding to the current version number to the application program corresponding to the latest version number through the target increment updating resource packet.
The memory unit 1020 may include readable media in the form of volatile memory units such as Random Access Memory (RAM) 1021 and/or cache memory unit 1022, and may further include Read Only Memory (ROM) 1023.
Storage unit 1020 may also include a program/utility 1024 having a set (at least one) of program modules 1025, such program modules 1025 including, but not limited to: an operating system, one or more application programs, other program modules, and program data, each or some combination of which may include an implementation of a network environment.
Bus 1030 may be representing one or more of several types of bus structures including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.
The electronic device 1000 can also communicate with one or more external devices 1070 (e.g., keyboard, pointing device, bluetooth device, etc.), with one or more devices that enable a user to interact with the electronic device 1000, and/or with any device (e.g., router, modem, etc.) that enables the electronic device 1000 to communicate with one or more other computing devices. Such communication may occur through an input/output (I/O) interface 1050. Also, electronic device 1000 can communicate with one or more networks such as a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network, such as the Internet, through network adapter 1060. As shown, the network adapter 1060 communicates with other modules of the electronic device 1000 over the bus 1030. It should be appreciated that although not shown, other hardware and/or software modules may be used in connection with the electronic device 1000, including, but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, data backup storage systems, and the like.
From the above description of embodiments, those skilled in the art will readily appreciate that the example embodiments described herein may be implemented in software, or in combination with the necessary hardware. Thus, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (may be a CD-ROM, a U-disk, a mobile hard disk, etc.) or on a network, and includes several instructions to cause a computing device (may be a personal computer, a server, a terminal device, or a network device, etc.) to perform the method according to the embodiments of the present disclosure.
In an exemplary embodiment of the present disclosure, a computer-readable storage medium having stored thereon a program product capable of implementing the method described above in the present specification is also provided. In some possible embodiments, the various aspects of the present disclosure may also be implemented in the form of a program product comprising program code for causing a terminal device to carry out the steps according to the various exemplary embodiments of the disclosure as described in the "exemplary methods" section of this specification, when the program product is run on the terminal device.
Referring to fig. 11, a program product 1100 for implementing the above-described application program update method according to an embodiment of the present disclosure is described, which may employ a portable compact disc read only memory (CD-ROM) and include program code, and may be run on a terminal device, such as a personal computer. However, the program product of the present disclosure is not limited thereto, and in this document, a readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium can be, for example, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium would include the following: an electrical connection having one or more wires, a portable disk, a hard disk, random Access Memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
The computer readable signal medium may include a data signal propagated in baseband or as part of a carrier wave with readable program code embodied therein. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A readable signal medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Program code for carrying out operations of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device, partly on a remote computing device, or entirely on the remote computing device or server. In the case of remote computing devices, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., connected via the Internet using an Internet service provider).
Furthermore, the above-described figures are only schematic illustrations of processes included in the method according to the exemplary embodiments of the present disclosure, and are not intended to be limiting. It will be readily appreciated that the processes shown in the above figures do not indicate or limit the temporal order of these processes. In addition, it is also readily understood that these processes may be performed synchronously or asynchronously, for example, among a plurality of modules.
From the above description of embodiments, those skilled in the art will readily appreciate that the example embodiments described herein may be implemented in software, or in combination with the necessary hardware. Thus, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (may be a CD-ROM, a U-disk, a mobile hard disk, etc.) or on a network, and includes several instructions to cause a computing device (may be a personal computer, a server, a touch terminal, or a network device, etc.) to perform the method according to the embodiments of the present disclosure.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This application is intended to cover any adaptations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
It is to be understood that the present disclosure is not limited to the precise arrangements and instrumentalities shown in the drawings, and that various modifications and changes may be effected without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims (12)

1. An application update method, applied to a client, the method comprising:
responding to the starting of an application program, and comparing the current version number of the application program with the latest version number of the application program stored in a server side;
if the comparison result of the current version number and the latest version number is different, acquiring an incremental update resource package corresponding to each version number of the application program and a resource package association file corresponding to the incremental update resource package from the server; wherein, the resource package association file is a file containing the relevant information of the incremental update resource package;
determining identification data corresponding to the increment updating resource package according to the resource package association file, merging resources of application programs corresponding to a plurality of continuous updating version numbers in the increment updating resource package according to the resource package association file corresponding to the increment updating resource package, and deleting an expiration resource package from the increment updating resource package according to the identification data corresponding to the increment updating resource package to obtain a target increment updating resource package corresponding to the latest version number; the identification data is label data corresponding to a resource packet in the incremental update resource packet, and the identification data comprises outdated label data, newly added label data and updated label data;
And jumping and updating the application program corresponding to the current version number into the application program corresponding to the latest version number through the target increment updating resource package.
2. The application program updating method according to claim 1, wherein the target incremental update resource package includes a new resource package and a target replacement resource package, the determining the identification data corresponding to the incremental update resource package according to the resource package association file, and determining the target incremental update resource package corresponding to the latest version number from the incremental update resource packages based on the identification data, includes:
loading an incremental update resource package issued by the server based on the resource package association file, and determining a resource list corresponding to the incremental update resource package;
determining a resource mapping relation corresponding to the incremental update resource package according to the resource list, and determining identification data corresponding to the incremental update resource package based on the resource mapping relation; wherein, the resource mapping relation is the mapping relation between the resources in the increment updating resource package and the increment updating resource package;
and determining the newly added resource package corresponding to each version number and the target replacement resource package corresponding to the latest version number based on the identification data corresponding to the increment updating resource package.
3. The application program updating method according to claim 2, characterized in that the method further comprises:
downloading the increment updating resource package, and deleting redundant updating resource packages except the target increment updating resource package in the increment updating resource package;
restarting the application program to jump and update the application program corresponding to the current version number into the application program corresponding to the latest version number according to the target increment updating resource package.
4. The application program updating method according to claim 1, applied to a server, the method further comprising:
acquiring a current resource package corresponding to the historical version number of the application program and an updated resource package of the latest version number corresponding to the application program; the current resource package is used for indicating a resource package of an application program corresponding to the historical version number, and the updated resource package is used for indicating a resource package which is preliminarily updated on the basis of the application program corresponding to the historical version number;
comparing the current file in the current resource package with the updated file in the updated resource package to obtain a difference file; the difference file is used for indicating a difference file obtained by comparing the file in the current resource package with the file in the updated resource package;
Generating an incremental update resource package of the application programs corresponding to each version number based on the difference file so as to realize jump update of the application programs corresponding to the historical version numbers into the application programs corresponding to the latest version numbers according to the incremental update resource package, wherein each version number comprises the historical version number and the latest version number.
5. The application program updating method according to claim 4, wherein the difference file includes a difference script file, and the comparing the current file in the current resource package with the updated file in the updated resource package to obtain the difference file includes:
acquiring a current encryption value corresponding to a current script file in the current file and an encryption value corresponding to an updated script file in the updated file, and detecting whether the current encryption value is the same as the encryption value;
and if the current encryption value is different from the encryption value, taking the updated script file as a difference script file.
6. The application updating method according to claim 5, wherein the difference file includes a difference scene file, the method further comprising:
Calculating a first associated encryption value corresponding to a current scene file in the current file, calculating a first target associated encryption value corresponding to an updated scene file in the updated file, and detecting whether the first associated encryption value is the same as the first target associated encryption value;
if the first associated encryption value is different from the first target associated encryption value, saving the first associated encryption value and a current scene associated resource corresponding to the first associated encryption value, and taking the scene associated resource corresponding to the first target associated encryption value as a difference scene resource;
generating a difference scene file based on the difference scene resource, and determining a timestamp for generating the difference scene file and a scene file name corresponding to the current scene file;
and naming the difference scene file based on the scene file name and the timestamp to obtain a named difference scene file.
7. The application program updating method according to claim 6, wherein the difference file includes a difference common file, the naming process is performed on the difference scene file based on the scene file name and the timestamp to obtain a named difference scene file, and the method further includes:
Calculating a second associated encryption value corresponding to a current public file in the current file and a second target associated encryption value corresponding to an updated public file in the updated file, and detecting whether the second associated encryption value is the same as the second target associated encryption value;
if the second associated encryption value is different from the second target associated encryption value, storing the second associated encryption value and a current public associated resource corresponding to the second associated encryption value, and taking the public associated resource corresponding to the second target associated encryption value as a difference public resource;
and generating a difference public file based on the difference public resource.
8. The application program updating method according to claim 6 or 7, characterized in that the method further comprises:
acquiring preset packing parameters, and respectively packing the difference scene file, the difference script file and the difference public file based on the packing parameters to obtain a difference scene file compression package, a difference script file compression package and a difference public file compression package;
and generating an incremental update resource package based on the differential scene file compression package, the differential script file compression package and the differential public file compression package, and sending the incremental update resource package to a client to update the application program.
9. The application program updating method according to claim 8, characterized in that the method further comprises:
acquiring a resource package association file and a resource mapping relation corresponding to the increment updating resource package;
determining a basic version number in the history version number and a basic increment update resource package corresponding to the basic version number from the increment update resource package based on the resource package association file, and determining a longest increment update resource chain corresponding to an update resource package updated by the basic increment update resource package to the latest version number;
detecting whether a resource packet exists in the longest increment updated resource chain based on the resource mapping relation, wherein all resources in the resource packet are covered by the resources in the updated resource packet;
and if the resource packet exists in the longest increment updating resource chain, marking the resource packet as a redundant updating resource packet.
10. An application update apparatus, for application to a client, comprising:
the version number comparison module is used for responding to the starting of the application program and comparing the current version number of the application program with the latest version number of the application program stored in the server;
The incremental update resource package acquisition module is used for acquiring an incremental update resource package corresponding to each version number of the application program and a resource package associated file corresponding to the incremental update resource package from the server if the comparison result of the current version number and the latest version number is different; wherein, the resource package association file is a file containing the relevant information of the incremental update resource package;
the target increment updating resource package determining module is used for determining identification data corresponding to the increment updating resource package according to the resource package association file, merging resources of application programs corresponding to a plurality of continuous updating version numbers in the increment updating resource package according to the resource package association file corresponding to the increment updating resource package, and deleting an expiration resource package from the increment updating resource package according to the identification data corresponding to the increment updating resource package to obtain a target increment updating resource package corresponding to the latest version number; the identification data is label data corresponding to a resource packet in the incremental update resource packet, and the identification data comprises outdated label data, newly added label data and updated label data;
And the application program updating module is used for jumping and updating the application program corresponding to the current version number into the application program corresponding to the latest version number through the target increment updating resource package.
11. An electronic device, comprising:
a processor; and
a memory having stored thereon computer readable instructions which, when executed by the processor, implement the application update method of any of claims 1 to 9.
12. A computer readable storage medium having stored thereon a computer program which when executed by a processor implements the application program update method of any of claims 1 to 9.
CN202110408084.2A 2021-04-15 2021-04-15 Application program updating method and device, electronic equipment and storage medium Active CN112947983B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110408084.2A CN112947983B (en) 2021-04-15 2021-04-15 Application program updating method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110408084.2A CN112947983B (en) 2021-04-15 2021-04-15 Application program updating method and device, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN112947983A CN112947983A (en) 2021-06-11
CN112947983B true CN112947983B (en) 2024-03-15

Family

ID=76232792

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110408084.2A Active CN112947983B (en) 2021-04-15 2021-04-15 Application program updating method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN112947983B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113900681A (en) * 2021-08-13 2022-01-07 西安万像电子科技有限公司 Zero-terminal software updating method, electronic device and storage medium
CN114900478B (en) * 2022-06-08 2024-03-26 珠海金山数字网络科技有限公司 Resource processing system and method
CN117055937A (en) * 2023-07-18 2023-11-14 深圳先锋居善科技有限公司 Application program updating method and device, electronic equipment and storage medium
CN116709549B (en) * 2023-08-04 2023-10-20 腾讯科技(深圳)有限公司 Resource sharing method and device, electronic equipment and readable storage medium
CN116932014B (en) * 2023-09-15 2023-12-12 腾讯科技(深圳)有限公司 Application updating method, device, equipment and computer readable storage medium

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103955363A (en) * 2014-04-08 2014-07-30 国云科技股份有限公司 Manufacturing method of program upgrade and installation package
CN104239497A (en) * 2014-09-10 2014-12-24 珠海市君天电子科技有限公司 Clean-up method and device for upgraded files
CN104657170A (en) * 2013-11-25 2015-05-27 腾讯科技(上海)有限公司 Data updating method, device and system
CN104991790A (en) * 2015-06-09 2015-10-21 北京奇虎科技有限公司 Upgrade release method and apparatus of file
CN104991791A (en) * 2015-06-09 2015-10-21 北京奇虎科技有限公司 Incremental quantity upgrade release method and apparatus of file
WO2017036183A1 (en) * 2015-09-02 2017-03-09 中兴通讯股份有限公司 Differential upgrade package processing method and device, upgrade method, system and device
CN107203395A (en) * 2017-05-19 2017-09-26 北京京东尚科信息技术有限公司 Resource graded method, device and computer-readable recording medium and electronic equipment
CN108804130A (en) * 2017-05-03 2018-11-13 腾讯科技(深圳)有限公司 Program installation kit generation method and device
CN109857423A (en) * 2018-12-20 2019-06-07 Oppo广东移动通信有限公司 Program version update method, device, server and readable storage medium storing program for executing
CN110727456A (en) * 2019-10-12 2020-01-24 上海莉莉丝科技股份有限公司 Method, device, equipment and system for downloading application program patch package
WO2020211594A1 (en) * 2019-04-17 2020-10-22 中兴通讯股份有限公司 Zero differential upgrade method, non-volatile storage medium and electronic device
CN112650515A (en) * 2020-12-28 2021-04-13 无锡信捷电气股份有限公司 Software upgrading and downgrading method based on tag list

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7600021B2 (en) * 2002-04-03 2009-10-06 Microsoft Corporation Delta replication of source files and packages across networked resources
US20090193407A1 (en) * 2008-01-29 2009-07-30 Viasat, Inc. Methods and Systems for Automatic Patch Creation for Client Updates
CN102955702B (en) * 2011-08-23 2016-08-10 腾讯科技(深圳)有限公司 A kind of software is installed and upgrade method and device
US9552201B2 (en) * 2011-08-31 2017-01-24 Avaya Inc. System and method for incremental software installation
CN105808284B (en) * 2014-12-31 2019-10-22 广州市动景计算机科技有限公司 A kind of method for updating increment and the server using it
US10289400B2 (en) * 2016-09-07 2019-05-14 Amplidata N.V. Outdated resource handling and multiple-version upgrade of cloud software

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104657170A (en) * 2013-11-25 2015-05-27 腾讯科技(上海)有限公司 Data updating method, device and system
CN103955363A (en) * 2014-04-08 2014-07-30 国云科技股份有限公司 Manufacturing method of program upgrade and installation package
CN104239497A (en) * 2014-09-10 2014-12-24 珠海市君天电子科技有限公司 Clean-up method and device for upgraded files
CN104991790A (en) * 2015-06-09 2015-10-21 北京奇虎科技有限公司 Upgrade release method and apparatus of file
CN104991791A (en) * 2015-06-09 2015-10-21 北京奇虎科技有限公司 Incremental quantity upgrade release method and apparatus of file
WO2017036183A1 (en) * 2015-09-02 2017-03-09 中兴通讯股份有限公司 Differential upgrade package processing method and device, upgrade method, system and device
CN108804130A (en) * 2017-05-03 2018-11-13 腾讯科技(深圳)有限公司 Program installation kit generation method and device
CN107203395A (en) * 2017-05-19 2017-09-26 北京京东尚科信息技术有限公司 Resource graded method, device and computer-readable recording medium and electronic equipment
CN109857423A (en) * 2018-12-20 2019-06-07 Oppo广东移动通信有限公司 Program version update method, device, server and readable storage medium storing program for executing
WO2020211594A1 (en) * 2019-04-17 2020-10-22 中兴通讯股份有限公司 Zero differential upgrade method, non-volatile storage medium and electronic device
CN110727456A (en) * 2019-10-12 2020-01-24 上海莉莉丝科技股份有限公司 Method, device, equipment and system for downloading application program patch package
CN112650515A (en) * 2020-12-28 2021-04-13 无锡信捷电气股份有限公司 Software upgrading and downgrading method based on tag list

Also Published As

Publication number Publication date
CN112947983A (en) 2021-06-11

Similar Documents

Publication Publication Date Title
CN112947983B (en) Application program updating method and device, electronic equipment and storage medium
CN110058873B (en) Application page updating method, device, equipment and storage medium
CN104657170A (en) Data updating method, device and system
CN106569844B (en) Processing method, device and equipment for updating program code
EP1519268A2 (en) Communication terminal and communication network for partially updating software, software update method, and software creation device and method therefor
CN110597542B (en) Software automatic OTA (over the air) upgrading method and device and electronic equipment
CN111880826A (en) Cloud service application upgrading method and device, electronic equipment and storage medium
CN107797818A (en) Application program updating method and device
CN111897846A (en) Cache data verification method, device, equipment and storage medium
CN112286565B (en) Embedded system differential upgrading method based on storage container
CN111008034A (en) Patch generation method and device
CN111562929A (en) Method, device and equipment for generating patch file and storage medium
CN113986296A (en) Firmware upgrading method and device, electronic equipment and storage medium
CN111556127B (en) Wearable device upgrading method and related device
CN112579141A (en) Firmware updating method, device, equipment and storage medium of embedded system
CN111198853B (en) Data processing method, device, electronic equipment and computer readable storage medium
CN116069366A (en) Client application program updating method and device, storage medium and electronic equipment
CN113791809B (en) Application exception handling method and device and computer readable storage medium
CN109002710A (en) A kind of detection method, device and computer readable storage medium
CN114237654A (en) OTA (over the air) upgrading method and system
CN112657196A (en) Resource updating method and device, computer equipment and readable storage medium
CN110825406A (en) Software upgrading method and related equipment
CN113031986B (en) Feature comparison algorithm dynamic loading method, device, terminal and medium
CN116647447A (en) Application program hot update method and device, intelligent device and storage medium
CN117130618A (en) Incremental compiling method, device and equipment for executable file of intelligent card

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
GR01 Patent grant
GR01 Patent grant