CN112947983A - 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
CN112947983A
CN112947983A CN202110408084.2A CN202110408084A CN112947983A CN 112947983 A CN112947983 A CN 112947983A CN 202110408084 A CN202110408084 A CN 202110408084A CN 112947983 A CN112947983 A CN 112947983A
Authority
CN
China
Prior art keywords
resource
file
version number
application program
resource 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.)
Granted
Application number
CN202110408084.2A
Other languages
Chinese (zh)
Other versions
CN112947983B (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

Images

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • 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 updating resource package corresponding to the application program and a resource package associated file corresponding to the incremental updating resource package from the server; determining identification data of the incremental updating resource package according to the resource package association file, and determining a target incremental updating resource package based on the identification data; and the application program is updated to the application program corresponding to the latest version number in a jumping way through the target increment updating resource package. According to the technical scheme of the embodiment of the disclosure, the application program can be updated to the application program corresponding to the latest version number in a jumping manner according to the target incremental update resource package, and the redundant update resource package in the incremental update resource package does not need to be downloaded, so that 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 technologies, and in particular, to an application updating method, an application 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 many times when being opened, so that the updating process of the application program is more complicated.
In the related application program updating method, either the latest version of the application program is released, or all patch compression packages of the updated versions corresponding to the application program are released; however, whether the whole latest version of the application program or all the patch compression packages of the updated versions corresponding to the application program need to download a larger file, so that the updating efficiency of the application program is low.
It is to be noted that the information disclosed in the above background section is only for enhancement of 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 the embodiments of the present disclosure is to provide an application updating method, an application updating apparatus, an electronic device, and a computer-readable storage medium, so as to overcome the problem of low updating efficiency of an application at least to a certain extent.
Additional features and advantages of the disclosure will be set forth in the detailed description which follows, or in part will be obvious from the description, or may be learned by practice of the disclosure.
According to a first aspect of the embodiments of the present disclosure, there is provided an application program updating method, applied to a client, including: 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; if the comparison result between the current version number and the latest version number is different, acquiring an incremental updating resource package corresponding to each version number of the application program and a resource package association file corresponding to the incremental updating resource package from the server; determining identification data corresponding to the incremental updating resource package according to the resource package association file, and determining a target incremental updating resource package corresponding to the latest version number from the incremental 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 packet.
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, from the incremental update resource package, a target incremental update resource package corresponding to the latest version number based on the identification data includes: loading an incremental updating resource package issued by the server based on the resource package association file, and determining a resource list corresponding to the incremental updating resource package; determining a resource mapping relation corresponding to the incremental updating resource package according to the resource list, and determining identification data corresponding to the incremental updating 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 incremental update resource package.
In some example embodiments of the present disclosure, based on the foregoing, the method further includes: downloading the incremental updating resource package, and deleting the redundant updating resource packages except the target incremental updating resource package in the incremental updating resource package; and restarting the application program to skip 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 packet.
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; and generating an incremental updating resource package of the application program corresponding to each version number based on the difference file so as to jump update the application program corresponding to the historical version number to the application program corresponding to the latest version number according to the incremental updating 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 scheme, 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 numerical value corresponding to a current script file in the current file and an encryption numerical value corresponding to an update script file in the update file, and detecting whether the current encryption numerical value is the same as the encryption numerical value; and if the current encryption numerical value is different from the encryption numerical value, taking the updated script file as a difference script file.
In some example embodiments of the present disclosure, based on the foregoing scheme, the difference file includes a difference scenario file, and the naming processing is performed on the difference script file based on the mapping relationship to obtain a named script file, further including: 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 encrypted numerical value is different from the first target associated encrypted numerical value, saving the first associated encrypted numerical value and the current scene associated resource corresponding to the first associated encrypted numerical value, and taking the scene associated resource corresponding to the first target associated encrypted numerical value as a difference scene resource; determining a scene file name corresponding to the current scene file, and generating a timestamp 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 the named difference scene file.
In some example embodiments of the present disclosure, based on the foregoing scheme, the difference file includes a difference public file, and the 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, further including: calculating a second associated encryption value corresponding to the current public file in the current file and a second target associated encryption value corresponding to the 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 encrypted numerical value is different from the second target associated encrypted numerical value, storing the second associated encrypted numerical value and the current public associated resource corresponding to the second associated encrypted numerical value, and taking the public associated resource corresponding to the second target associated encrypted numerical value as a difference public resource; generating a differential public file based on the differential public resource.
In some example embodiments of the present disclosure, based on the foregoing, the method further includes: acquiring preset packaging parameters, and respectively packaging 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 updating resource package based on the difference scene file compression package, the difference script file compression package and the difference public file compression package, and sending the incremental updating resource package to the client to update the application program.
In some example embodiments of the present disclosure, based on the foregoing, the method further includes: acquiring the incremental updating resource package and a resource association file and a resource mapping relation corresponding to the incremental updating resource package; determining a base version number in the historical version numbers from the incremental update resource package based on the resource association file, and determining a longest incremental update resource chain corresponding to the incremental update resource package updated by the base incremental update resource package; detecting whether a resource packet exists in the longest increment updating resource chain or not based on the resource mapping relation, wherein all resources in the resource packet are covered by the resources in the increment updating resource packet; and if the resource packet exists in the longest increment updating resource chain, marking the resource packet as a redundancy updating resource packet.
According to a third aspect of the embodiments of the present disclosure, there is provided an application updating apparatus, applied to a client, including: the version number comparison module is used for 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; an incremental update resource package obtaining module, configured to obtain, from the server, 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 if a comparison result between the current version number and the latest version number is different; a target incremental update resource package determining module, 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 package; 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 packet.
In an exemplary embodiment of the present disclosure, based on the foregoing scheme, 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, based on the resource package association file, an incremental update resource package delivered by the server, and determine a resource list corresponding to the incremental update resource package; determining a resource mapping relation corresponding to the incremental updating resource package according to the resource list, and determining identification data corresponding to the incremental updating 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 incremental update 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 package, and delete redundant update resource packages in the incremental update resource package except for the target incremental update resource package; and restarting the application program to skip 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 packet.
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 system comprises a resource package obtaining module, a difference file generating module and an increment updating resource package generating module; the resource package obtaining module is used for obtaining 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 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; and the incremental updating resource package generating module is used for generating an incremental updating resource package of the application program corresponding to each version number based on the difference file so as to realize the jump updating of the application program corresponding to the historical version number into the application program corresponding to the latest version number according to the incremental updating resource package, wherein each version number comprises the historical version number and the latest version number.
In an exemplary embodiment of the present disclosure, based on the foregoing scheme, the difference file generation module further includes a difference script file generation unit, where the difference script file generation 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 update script file in the update file, and detect whether the current encryption value is the same as the encryption value; and if the current encryption numerical value is different from the encryption numerical value, taking the updated script file as a difference script file.
In an exemplary embodiment of the present disclosure, based on the foregoing scheme, 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 encrypted numerical value is different from the first target associated encrypted numerical value, saving the first associated encrypted numerical value and the current scene associated resource corresponding to the first associated encrypted numerical value, and taking the scene associated resource corresponding to the first target associated encrypted numerical 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 the named difference scene file.
In an exemplary embodiment of the present disclosure, based on the foregoing scheme, the differential file generation module further includes a differential common file generation unit, where the differential common file generation unit is 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 encrypted numerical value is different from the second target associated encrypted numerical value, storing the second associated encrypted numerical value and the current public associated resource corresponding to the second associated encrypted numerical value, and taking the public associated resource corresponding to the second target associated encrypted numerical value as a difference public resource; generating a differential public file based on the differential public resource.
In an exemplary embodiment of the present disclosure, based on the foregoing scheme, the incremental update resource package generation module further includes an incremental update resource package generation unit, where the incremental update resource package generation unit is configured to obtain preset packaging parameters, and perform packaging processing on the difference scene file, the difference script file, and the difference common file based on the packaging parameters, so as to obtain a difference scene file compression package, a difference script file compression package, and a difference common file compression package; and generating an incremental updating resource package based on the difference scene file compression package, the difference script file compression package and the difference public file compression package, and sending the incremental updating resource package to the client to update the application program.
In an exemplary embodiment of the present disclosure, based on the foregoing scheme, 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 base version number in the historical version number and a base incremental updating resource package corresponding to the base version number from the incremental updating resource package based on the resource association file, and determining a longest incremental updating resource chain corresponding to the updating resource package updated by the base incremental updating resource package; detecting whether a resource packet exists in the longest increment updating resource chain or not based on the resource mapping relation, wherein all resources in the resource packet are covered by the resources in the increment updating resource packet; and if the resource packet exists in the longest increment updating resource chain, marking the resource packet as a redundancy updating resource packet.
According to a fifth aspect of embodiments of the present disclosure, there is provided an electronic apparatus including: a processor; and a memory having computer readable instructions stored thereon, the computer readable instructions, when executed by the processor, implementing any of the above application update methods.
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 program update method according to any one of the above.
The technical scheme provided by the embodiment of the disclosure can have the following beneficial effects:
in the application program updating method in the exemplary 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 between the current version number and the latest version number is different, acquiring an incremental updating resource package corresponding to each version number of the application program and a resource package association file corresponding to the incremental updating resource package from the server; determining identification data corresponding to the incremental updating resource package according to the resource package association file, and determining a target incremental updating resource package corresponding to the latest version number from the incremental 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 packet. On one hand, the incremental updating resource package corresponding to the application program and the resource package associated file corresponding to the incremental resource package are obtained from the server, the identification data corresponding to the incremental updating resource package is determined according to the resource package associated file, the target incremental updating resource package can be determined from the incremental updating resource package based on the identification data corresponding to the incremental updating resource package, the application program corresponding to the current version number can be subjected to skip updating to be the application program corresponding to the latest version number according to the resources in the target incremental updating resource package, the application program is not required to be updated to be the latest version number according to the updating sequence of the application program, and the updating efficiency of the application program is improved; on the other hand, the target incremental update resource package is determined from the incremental update resource packages, the outdated update resource packages in the incremental update resource packages can be filtered, and the management efficiency of the incremental update resource packages 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 present disclosure and together with the description, serve to explain the principles of the disclosure. It is to be understood that the drawings in the following description are merely exemplary of the disclosure, and that other drawings may be derived from those drawings by one of ordinary skill in the art without the exercise of inventive faculty. In the drawings:
FIG. 1 schematically illustrates a schematic diagram of a flow of an application update method, according to some embodiments of the present disclosure;
FIG. 2 schematically illustrates a schematic diagram of a target incremental update resource package generation method flow, according to 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 flow of generating a difference script file, according to some embodiments of the present disclosure;
FIG. 5 schematically illustrates 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 process of generating a differentiated common file, according to some embodiments of the present disclosure;
FIG. 7 schematically illustrates a flow of a method of identifying redundant update resources in a package of incremental update resources 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 update apparatus, in accordance with some embodiments of the present disclosure;
FIG. 10 schematically illustrates a structural schematic 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. Example embodiments may, however, be embodied in many different 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 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 subject matter of the present disclosure can be practiced without one or more of the specific details, or with other methods, components, devices, steps, and so forth. In other instances, well-known methods, devices, implementations, or operations have not been shown or described in detail to avoid obscuring aspects of the disclosure.
Furthermore, the drawings are merely schematic illustrations and are not necessarily drawn to scale. The block diagrams shown in the figures are functional entities only and do not necessarily correspond to physically separate entities. I.e. these functional entities may be implemented in the form of software, or in one or more hardware modules or integrated circuits, or in different networks and/or processor means and/or microcontroller means.
In the present exemplary embodiment, an application program updating method is first provided, where the application program updating method may be applied to a client, and the client may be a terminal device, such as an electronic device like a mobile phone or a computer. Fig. 1 schematically illustrates a schematic diagram of a flow of an application update method according to some embodiments of the present disclosure. Referring to fig. 1, the application 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;
step S120, if the comparison result between the current version number and the latest version number is different, obtaining 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 identification data corresponding to the incremental updating resource package according to the resource package association file, and determining a target incremental updating resource package corresponding to the latest version number from the incremental updating resource package based on the identification data;
step S140, skip updating the application program corresponding to the current version number to the application program corresponding to the latest version number through the target incremental update resource package.
According to the application program updating method in the present exemplary embodiment, on one hand, the incremental update resource package corresponding to the application program and the resource package associated 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 associated file, the target incremental update resource package is determined from the incremental update resource package based on the identification data, and then the application program corresponding to the current version number can be updated to the 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 gradually updated to the latest version number without the need of updating the application program according to the updating sequence of the application program, so that the updating efficiency of the application program is improved; on the other hand, the target incremental update resource package is determined from the incremental update resource packages, the outdated update resource packages in the incremental update resource packages can be filtered, and the management efficiency of the incremental update resource packages is improved.
Next, the application updating method in the present exemplary embodiment will be further explained.
In step S110, in response to the starting of the application program, the current version number of the application program is compared with the latest version number of the application program stored in the server.
In an example embodiment of the present disclosure, the application may refer to an application based on an Android (Android) system, and may also refer to an application based on an IOS (operating system developed by apple inc), which is not particularly limited in this example embodiment.
The current version number may refer to a version number of the current application program, for example, the current version number may be a version number in a GNU (version published based on a GPL (General Public License, the most common open source protocol)) style, may also be a version number in a Windows style, and may also be a version number in a Net frame style, and of course, the current version number may also be 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 application program 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 a GNU style corresponding to the GNU style current version number, may also be an update version number of a Windows style corresponding to the Windows style current version number, may also be an update version number of a Net frame style corresponding to the Net frame style current version number, and of course, the latest version number may also be other update version numbers corresponding to the current test version number, which is not particularly limited in this embodiment.
Whether the application program of the current version needs to be updated or not can be detected by comparing the current version number of the application program with the latest version number stored by the server; if the current version number of the application program is different from the latest version number, the incremental updating resource package manufactured by the server and the resource package associated file corresponding to the incremental updating resource package can be obtained, and the target incremental updating resource package for jumping and updating the application program corresponding to the current version number to the application program corresponding to the latest version number is determined from the incremental updating resource package according to the resource package associated file.
In step S120, if the comparison result between 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, an incremental update resource package may refer to an update resource package composed of resources newly added or updated in an application corresponding to an update version number as compared to an application corresponding to a current version number, for example, the incremental update resource package may be an update scenario resource package, an update script resource package, an update common resource package, of course, the incremental update resource package may also be other update resource packages such as an update script resource package, an update scene resource package, and an update common resource package, or an updating resource package consisting of an updating script resource package, an updating scene resource package and an updating public resource package, the update common resource package may be a resource package formed by resources that do not exist in the update scenario resource package and the update script resource package, which is not particularly limited in this 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 with the current version number and an association file in the incremental update resource package corresponding to the application program with the historical version number, the resource association file may also be an association file containing a name of the incremental update resource package corresponding to the application program with the current version number and an encryption value corresponding to the resource in the incremental update resource package, the resource association file may also be an association file containing a name of an expired resource package in the incremental update resource package, of course, the resource association file may also be a file containing other information related to the incremental update resource package, such as an association file of the size of the incremental update resource package, which is not particularly limited in this embodiment.
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 historical version number of the application program corresponding to the incremental update resource package may 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 may be determined to be 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 a target incremental update resource package corresponding to the latest version number is determined from the incremental update resource package based on the identification data.
In an example embodiment of the present disclosure, the identification data may refer to label data corresponding to a resource packet in an incremental update resource packet, for example, the identification data may be outdated label data corresponding to the resource packet in the incremental update resource packet, the identification data may also be newly added label data corresponding to the resource packet in the incremental update resource packet, the identification data may also be update label data corresponding to the resource packet in the incremental update resource packet, and of course, the identification data may also be other label data corresponding to the resource packet in the incremental update resource packet, which is not particularly limited in this example embodiment.
The target incremental update resource package may refer to a resource package for skipping and updating the application program corresponding to the current version number to the application program corresponding to the latest version number, for example, the target incremental update resource package may be a script resource package containing the application program for skipping and updating the application program corresponding to the current version number to the application program corresponding to the latest version number, a scene resource package containing the application program skipping and updating the application program corresponding to the current version number to the application program corresponding to the latest version number, or a common resource package containing the application program skipping and updating the application program corresponding to the current version number to the application program corresponding to the latest version number, or of course, the target incremental update resource package may also be a script resource package or a scene resource package containing the application program skipping and updating the application program corresponding to the current version number to the application program corresponding to the latest version number, and a common resource package, which is not particularly limited in this embodiment.
Preferably, resources of the application programs corresponding to a plurality of consecutive update version numbers in the incremental update resource package can be merged according to the resource association file corresponding to the incremental update resource package, and the expired resource package is deleted from the incremental update resource package according to the identification data corresponding to the incremental update resource package, so that all target incremental update resource packages corresponding to the application programs for which the application program corresponding to the current version number is skip updated to the latest version number can be obtained, resources in the target incremental update resource packages are loaded, the application program corresponding to the current version number is skip updated to the application program corresponding to the latest version number, and the update efficiency of the application program is improved.
In step S140, the application program corresponding to the current version number is skip updated to the application program corresponding to the latest version number through the target incremental update resource package.
In an example embodiment of the present disclosure, because the target incremental update resource package merges the non-expired resource packages in the incremental update resource package according to the identification data corresponding to the incremental update resource package, and deletes the expired resource packages in the incremental update resource package to obtain a new resource and a target replacement resource for updating the application program corresponding to the current version number to be the application program corresponding to the latest version number in a jumping manner, and does not include updating the application program corresponding to the current version number to be the resources corresponding to other version numbers between the current version number and the latest version number, based on the target incremental update resource package composed of the new resource and the target replacement resource, the application program corresponding to the current version number is updated to be the application program corresponding to the latest version number in a jumping manner.
Considering that an active player can directly update the application program corresponding to the current version number to the application program corresponding to the latest version number according to the incremental update resource package of 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 incremental update resource package of the application program, and finally updates the application program corresponding to the historical version number to the application program corresponding to the latest version number, so that more incremental update resource packages need to be downloaded, and the update efficiency of the application program is low.
Preferably, in view of the above problems, the identification data of the resource package in the incremental update resource package may be determined by the resource package associated file corresponding to the incremental update resource package, and the target incremental update resource package for updating the application program corresponding to the current version number to the application program corresponding to the latest version number in a jumping manner 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 as to avoid loading redundant update resources.
FIG. 2 schematically illustrates a schematic diagram of a target incremental update resource package generation method flow, according to some embodiments of the present disclosure. Referring to fig. 2, the target incremental update resource package generation method may include the following steps:
in step S210, an incremental update resource package delivered by the server is loaded based on the resource package association file, and a resource list corresponding to the incremental update resource package is determined;
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, the newly added resource package corresponding to each version number and the target replacement resource package corresponding to the latest version number are determined based on the identification data corresponding to the incremental update resource package.
The resource list may refer to a list including a name of the target incremental update resource package, for example, the resource list may be a list including a name of a script resource package corresponding to the target incremental update resource package, may also be a list including a name of a scene resource package corresponding to the target incremental update resource package, and may also be a list including a name corresponding to a common resource package corresponding to the target incremental update resource package, which is not particularly limited in this embodiment.
The resource mapping relationship may refer to a mapping relationship between a resource in the 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, may also be a mapping relationship between a resource in the incremental update resource package and other associated resources related to the resource, may also 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 relationships between a resource in the incremental update resource package and the incremental update resource package, which is not particularly limited in this embodiment.
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 the application program corresponding to the latest version number, for example, the application program with the current version number of 1.2.0, the application program with the version number of 1.2.1 has a resource a added compared with the application program corresponding to the current version number, the application program with the version number of 1.2.2 has a resource a1 added compared with the application program with the version number of 1.2.1, and the application program with the latest version number of 1.2.3 has a resource a2 compared with the application program with the version number of 1.2.2, so that the newly added resource package is a resource package including the resource a, the resource a1 and the resource a2, and of course, the newly added resource package may be a newly added resource package formed by other newly added resources, for example, the newly added script package may be a resource package formed by a newly added scene file, or a resource package formed by a newly added public file, of course, the newly added resource package may also be a resource package composed of a newly added script file, a newly added scene file, and a newly added public file, which is not particularly limited in this embodiment.
The target replacement resource package may refer to a replacement resource package for skipping and updating a resource in the application program corresponding to the current version number to a latest resource, for example, an application program with the current version number of 1.2.0, an application program with the version number of 1.2.1 updates the resource a in the application program corresponding to the current version number to the resource a1, an application program with the version number of 1.2.2 updates the resource a1 in the application program with the version number of 1.2.1 to the resource a2, an application program with the latest version number of 1.2.3 updates the resource a2 in the application program with the version number of 1.2.2 to the resource a3, so that the target replacement resource package is a resource package containing only the resource a3, and of course, the target replacement resource package may also be an updated resource package for skipping and updating other resources in the application program corresponding to the current version number to the latest resource package corresponding to the latest resource script, or the target replacement resource packet may be a resource packet that skips and updates the scene resource in the application program corresponding to the current version number to the latest scene resource, which is not particularly limited in this embodiment.
Preferably, a newly added resource package and a target replacement resource package for updating the application program corresponding to the current version number to the application program corresponding to the latest version number are screened from the incremental update resource packages according to the resource mapping relationship corresponding to the incremental update resource packages, and then the newly added resource package and the target replacement resource package are merged to be used as the target incremental update resource package for directly updating the application program corresponding to the current version number to 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 to 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, the incremental update resource package may be downloaded, and the redundant update resource package except the target incremental update resource package in the incremental update resource package is deleted, so that in the process of restarting the application program, according to the newly added resource and the updated resource in the target incremental update resource package, 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.
For example, the redundancy update resource package may be a script update resource package in which all resources are covered by the increment update resource package corresponding to the latest version number, for example, if the script resource luapathc _9441 with the version number of 9441 only includes resources a and b, and the content of the script resource luapathc _10458 with the version number of 10458 includes resources a, b, c, and d, then the resource a and the resource b in the luapathc _9441 are redundant resources, and the resource package luapathc _9441 storing the corresponding resource a and the resource b is a redundancy update resource package. Of course, the redundant update resource packet may also be a scene update resource packet in which all resources are covered by the incremental update resource packet corresponding to the latest version number, and the redundant update resource packet may also be a common update resource packet in which all resources are covered by the incremental update resource packet corresponding to the latest version number, which is not particularly limited in this embodiment.
Preferably, resources such as a new resource and a target replacement resource for jumping and updating the application program corresponding to the current version number to the application program corresponding to the latest version number are screened from the incremental update resource package according to the mapping relation corresponding to the incremental update resource package, resources except the new resource and the target replacement resource in the incremental update resource package are marked to generate an overdue resource, the overdue resource is packaged to generate a redundant update resource package, the redundant update resource package can be deleted in the process of jumping and updating the application program corresponding to the current version number to the application program corresponding to the latest version number, and therefore in the process of restarting the application program, the application program corresponding to the current version number is directly jumped and updated to the application program corresponding to the latest version number by loading the resources in the target incremental update resource package, the size of the file downloaded by the client is reduced, and the updating efficiency of the application program is improved.
In this example embodiment, an application program updating method is also provided, and the application program updating method may be applied to a server, and fig. 3 schematically illustrates a schematic diagram of a flow of generating an incremental update resource package according to some embodiments of the present disclosure. Referring to fig. 3, the method for generating the incremental update resource package may include the following steps:
in step S310, 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 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 program corresponding to each version number is generated based on the difference file, so as to skip and update the application program corresponding to the historical version number to the application program corresponding to the latest version number according to the incremental update resource package, where 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 the historical version number, for example, the historical version number is 9441, the current resource package may be a resource package of an application program corresponding to the version number 9441, specifically, the current resource package may be a resource package including a script resource of an application program corresponding to the current version number, may also be a resource package including a scene resource of an application program corresponding to the current version number, and may also be a resource package including a common resource of an application program corresponding to the current version number, which is not particularly limited in this embodiment.
The update resource package may refer to a resource package that is primarily updated on the basis of the application program corresponding to the historical version number, for example, the historical version number is 9441, the latest version number corresponding to the historical version number 9441 is 9443, the update resource package may be a resource package of an application program corresponding to the update version number 9443, where the update resource package is obtained by further updating the application program on the basis of the application program having the version number 9441, specifically, the update resource package may be a resource package including script resources of the application program corresponding to the update version number, may also be a resource package including scene resources of the application program corresponding to the update version number, and may also be a resource package including common resources of the application program corresponding to the update version number, which is not particularly limited in this embodiment.
The difference file may refer to a difference file obtained by comparing a file in the current resource package with a file in the updated resource package, for example, the current version number is 9441, the current resource package 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 on the basis of the application program with the current version number 9441 to obtain an application program with an updated version number 9443 corresponding to the current version number, the updated script resource package luapatch _9443 corresponding to the updated application program includes a script file b, where an encryption value corresponding to the script file b is 6cace6599e5657e0e1cf80657, and the difference file is obtained by comparing an encryption value corresponding to the script file a in the script resource package luapatch _9441 with an encryption value corresponding to the script file b corresponding to the luapatch _9443, where the encryption values of the script file a and the script file b are different, and storing the encrypted value corresponding to the script file b into a difference script folder, taking the script file b as a difference script file, and naming the difference script file as luapatch _ 9443.
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 updated version number can be calculated through the interface, and comparing the encrypted value corresponding to the scene file with the updated version number with the encrypted value corresponding to the scene file with the updated version number, if the comparison result is different, then the scene file with the updated version number is used as a difference scene file, and the encryption value corresponding to the common file of the application program corresponding to the current version number and the encryption value corresponding to the common file of the application program corresponding to the updated version number can also be calculated through the interface, and comparing the encrypted value corresponding to the public file with the current version number with the encrypted value corresponding to the public file with the updated version number, and if the comparison result is different, taking the public file with the updated version number 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 common file, and the update file in the update resource package can be divided into a scene file, a script file and a common file, further, the difference file can be obtained by comparing the current file in the current resource package with the update file in the update resource package, the incremental 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, the resources in the incremental update resource package are sequentially downloaded on the basis of the resource mapping relation corresponding to the incremental update resource package, the application program corresponding to the current version number is updated to the application program corresponding to the latest version number in a jumping way, and the resources corresponding to the application program of each update version do not need to be exposed, the size of the update file downloaded by the user is reduced, and the update efficiency of the application program is improved.
FIG. 4 schematically illustrates a schematic diagram of a process 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, obtaining a current encrypted value corresponding to a current script file in the current file and an encrypted value corresponding to an updated script file in the updated file, and detecting whether the current encrypted value is the same as the encrypted value;
in step S420, if the current encrypted value is different from the encrypted value, the updated script file is used as a difference script file.
The current encrypted value may refer to a key value obtained by encrypting the current script file, for example, the current encrypted value may be a md5(message-digest algorithm 5) value corresponding to the current script file, and of course, the current encrypted value may also be another hash value corresponding to the current script file, which is not limited in this embodiment. The encryption value may refer to a key value corresponding to an update script file that is updated based on the current script file.
For example, the current version number of the application program is 9441, the current resource package luapatch _9441 includes a script file a, the encrypted value corresponding to the script file a is a9f01053d7143414e52c09fbd, the application program is further updated on the basis of the application program with the current version number 9441 to obtain an application program with an updated version number of 9443, the updated script resource package luapatch _9443 corresponding to the updated application program includes a script file b, the encrypted value corresponding to the script file b is 6cace6599e5657e0e1cf80657, the encrypted value corresponding to the script file a in the script resource package luapatch _9441 is compared with the encrypted value corresponding to the script file b in the luapatch _9443, the script file b is used as a difference script file, and the script file b with the updated version number is used as a target, that is, the target version number is 9443, and the difference script file is compressed to obtain a script resource package, which may be named lua _ 9443.
Optionally, the current encryption value corresponding to the current script file and the encryption value corresponding to the update script file may be compared, if the comparison result is different, the encryption value corresponding to the current script file is saved, the changed script file, that is, the update script file, is encrypted, and the update script file is used as the difference script file; and meanwhile, 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 files based on the target version number to obtain an incremental update script resource package.
Fig. 5 schematically illustrates a schematic diagram of a process of generating a difference scene file according to some embodiments of the present disclosure. Referring to fig. 5, the method for generating a difference scene file may include the steps of:
in step S510, calculating a first associated encrypted value corresponding to a current scene file in the current file and a first target associated encrypted value corresponding to an updated scene file in the updated file through an interface, and detecting whether the first associated encrypted value is the same as the first target associated encrypted value;
in step S520, if the first associated encrypted value is different from the first target associated encrypted value, saving the first associated encrypted value and the current scene associated resource corresponding to the first associated encrypted value, and using the scene associated resource corresponding to the first target associated encrypted value as a difference scene resource;
in step S530, generating a difference scene file based on the difference scene resource, determining a scene file name corresponding to the current scene file, and generating a timestamp of the difference scene file;
in step S540, naming 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 encrypted value may refer to an encrypted value corresponding to a resource associated with a current resource of the current scene file, for example, the current scene file includes a current material resource a and a texture resource b, where the texture b in the current scene file is referred to by the material a, that is, there is a dependency relationship between the resource a and the resource b, and the interface may maintain the reference (dependency) relationship between the resources, and further may calculate an encrypted value corresponding to a dependent resource corresponding to a certain resource through the interface, for example, the interface may calculate a hash value of the dependent resource b corresponding to the material a, and the first associated encrypted value may be a hash value of the dependent resource b, and of course, the first associated encrypted value may also refer to an encrypted value corresponding to a dependent resource corresponding to other resources in the current scene resource packet, which is not particularly limited in this embodiment.
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 referred to 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, of course, the current scene associated resource may also be an associated resource corresponding to other resources in the current scene file, which is not particularly limited in this embodiment.
The first target-associated encrypted value may refer to an encrypted value corresponding to a resource associated with the target resource in the update scene file, for example, the update scene file contains a resource b and a resource c, wherein the resource b in the update scene file is referenced by the resource c, i.e., there is a dependency between update resource b and update resource c, since the interface can maintain a reference (dependency) relationship between the resources, and further, the encryption value corresponding to the dependent resource corresponding to a certain resource can be calculated based on the interface, for example, the interface can calculate the hash value of the dependent resource b corresponding to the target resource c, the first target associated encryption value can be the hash value of the dependent resource b, of course, the first target-related encryption value may also be an encryption value corresponding to a dependent resource corresponding to another resource in the updated scene resource packet, which is not particularly limited in this embodiment.
The scene associated resource may refer to an associated resource corresponding to a target resource in the updated scene file, for example, a texture b in the updated scene file is referred to 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 updated scene file may be an associated resource corresponding to the resource c in the updated scene file, and of course, the scene associated resource may also be an associated resource corresponding to another resource in the scene file, which is not particularly limited in this embodiment.
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 may be calculated through an interface, and then the first associated encryption value and the first target associated encryption value are compared, if the comparison result is different, the reference resource in the current scene file and the current scene associated resource corresponding to the reference resource are saved, a 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 a named difference scene file; therefore, the compressed incremental update scene resource package can be named according to the name of the difference scene file, and the named incremental update scene resource package is obtained.
Fig. 6 schematically illustrates a schematic diagram of a process of generating a differentiated common 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 a current public file in the current file and a second target associated encrypted value corresponding to an 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 encrypted value is different from the second target associated encrypted value, storing the second associated encrypted value and the current public associated resource corresponding to the second associated encrypted value, and using the public associated resource corresponding to the second target associated encrypted value as a difference public resource;
in step S630, a differential common file is generated based on the differential common resource.
The second associated encrypted value may refer to an encrypted 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 referred to by the target resource r, that is, there is a dependency relationship between the resource w and the target resource r, and the interface may maintain the reference (dependency) relationship between the resources, and further may calculate an encrypted 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 encrypted value may be a hash value of the dependent resource w, and of course, the second associated encrypted value may also refer to an encrypted value corresponding to a dependent resource corresponding to other resources in the current public resource packet, which is not particularly limited in this embodiment.
The current public associated resource may refer to an associated resource corresponding to a resource in the current public file, for example, the resource w in the current public file is referred to 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 associated resource corresponding to the resource r in the current public file, and of course, the current public associated resource may also be an associated resource corresponding to another resource in the current public file, which is not particularly limited in this embodiment.
The second target-associated encrypted value may refer to an encrypted value corresponding to a resource associated with a target resource in an 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 referred to by the target resource e, that is, there is a dependency relationship between the resource w and the resource e, and the interface may maintain the reference (dependency) relationship between the resources, and further may calculate an encrypted value corresponding to a 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 encrypted value may be a hash value of the dependent resource w, and of course, the second target-associated encrypted value may also be an encrypted value corresponding to a dependent resource corresponding to other resources in the updated public resource packet, which this embodiment is not particularly limited.
The public associated resource may refer to an associated resource corresponding to a target resource in an updated public file, for example, the resource w in the updated public file is referred to by the 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 associated resource corresponding to the resource c in the updated public file, of course, the public associated resource may also be an associated resource corresponding to other resources in the public file, which is not particularly limited in this embodiment.
Preferably, the dependency relationship between all resources in the current public file and the dependency relationship corresponding to all resources in the updated public file may be maintained through the interface, the second associated encrypted value of the dependent resource corresponding to the target resource in the current public file and the second target associated encrypted value of the dependent resource corresponding to the target resource in the updated public file are calculated through the interface, the second associated encrypted value and the second target associated encrypted value are compared, if the comparison result is 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 second target associated encrypted value which changes in the updated public file is used as the difference public resource, and the difference public file is generated based on the difference public resource.
In an exemplary embodiment of the present disclosure, a packing parameter may be set, and the difference scene file, the difference script file, and the difference common file are respectively packed based on the packing parameter to obtain a difference scene file compression package, a difference script file compression package, and a difference common file compression package; and generating an incremental updating resource package based on the difference scene file compression package, the difference script file compression package and the difference public file compression package, and sending the incremental updating resource package to the client to update the application program.
Considering that the problem that loading of the same-name resource fails when the incremental update resource packages corresponding to different version numbers contain the same-name resource by using a buildassetbandleoptions parameter and a DisableWriteTypeTree parameter, the buildassetbandleoptions parameter and the DisableWriteTypeTree (the parameters are compressed by an LZ4 (when a resource is read from an associatbandle, only a specified resource is decompressed) compression mode can be removed to respectively compress the difference script file, the difference scene file and the difference public file, so that a difference scene file compression package, a difference script file compression package and a difference public file compression package are obtained, wherein the difference file is a unity (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 run.
Preferably, the difference script file, the difference scene file and the difference common file corresponding to each version number may be compressed by obtaining preset packing parameters to obtain a difference script file compression package, a difference scene file compression package and a difference common file compression package, and an incremental update resource package corresponding to the version number is generated based on the difference script file compression package, the difference scene file compression package and the difference common file compression package corresponding to the same version number, and is sent to the client, so that the client downloads a target incremental update resource package for jump updating the application program corresponding to the current version number to the application program corresponding to the latest version number.
FIG. 7 schematically illustrates a flow of a method of identifying redundant update resources in a package of incremental update resources according to some embodiments of the present disclosure. Referring to fig. 7, the method for identifying a redundancy update resource in an incremental update resource packet may include the following steps:
in step S710, the incremental update resource package and the resource association file and the resource mapping relationship corresponding to the incremental update resource package are obtained;
in step S720, determining, from the incremental update resource package, a base version number in the historical version number and a base incremental update resource package corresponding to the base version number 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 from a base version number corresponding to an application program to all version numbers corresponding to a latest version number and resource packages corresponding to all version numbers, for example, a current version number is 9441, a base version number corresponding to the current version number 9441 is 9439, an update version number corresponding to the base version number 9439 is 9440, a subsequent update version number corresponding to the update version number 9440 is 9441, a subsequent update version number corresponding to the update version number 9441 is 9443, a 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 an 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 of 9439, the update resource package may refer to an incremental update resource package corresponding to a version number of 10458, and when the resource package is limited before being updated, the update resource package may also refer to an incremental update resource package corresponding to a history version number between the basic version number and the latest version number, which is not particularly limited in this embodiment.
Specifically, the highest version 10458 is the current outward version, if the merged version reaches 9440, the merged version 10458_9440 is generated, and if 9440 and 10458 are deleted, the incremental update resource packages corresponding to the current version 9441 and the basic version 9439 corresponding to the current version 9441 and the incremental update resource packages corresponding to the merged version 10458_9440 are left; the script resource luapathc _9441 with the version number of 9441 only contains resources a and b, the content of the script resource luapathc _10458 with the version number of 10458 contains resources a, b, c and d, and the mapping relationship of the resources a, b, c and d is as follows:
a->luapatch_10458,
b->luapatch_10458
c->luapatch_10458
d->luapatch_10458
since the resource a and the resource b contained in the luapathc _9441 are only covered by the target update resource package corresponding to the latest version number, that is, all the resources of the luapathc _9441 are contained in the target incremental update resource package, the script resource package luapathc _9441 containing the resource a and the resource b can be marked as a redundant update resource package; furthermore, in the process that the client-side updates the application program corresponding to the current version number to the application program corresponding to the latest version number in a jumping manner, the redundant update resource package can be deleted, the corresponding resources are downloaded according to the update sequence of the version number directly according to the target incremental update resource package and the resource mapping relation corresponding to the target incremental update resource package, and 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.
It should be noted that although the various steps of the methods of the present disclosure are depicted in the drawings in a particular order, this does not require or imply that these steps must be performed in this particular order, or that all of the depicted steps must be performed, to achieve desirable results. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step execution, and/or one step broken down into multiple step executions, etc.
Furthermore, in the present exemplary embodiment, an application updating apparatus is also provided. Referring to fig. 8, the application update 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, from the server, 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 if the comparison result between the current version number and the latest version number is different; 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 package; an application program updating module 840, configured to skip and update the application program corresponding to the current version number to the application program corresponding to the latest version number through the target incremental update resource package.
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, based on the resource package association file, an incremental update resource package delivered by the server, and determine a resource list corresponding to the incremental update resource package; determining a resource mapping relation corresponding to the incremental updating resource package according to the resource list, and determining identification data corresponding to the incremental updating 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 incremental update resource package.
In an exemplary embodiment of the present disclosure, based on the foregoing solution, the application updating module 840 further includes an application updating unit, where the application updating unit is configured to download the target incremental update resource package, and delete redundant update resource packages in the incremental update resource package except for the target incremental update resource package; and restarting the application program to skip 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 packet.
Finally, in the present exemplary embodiment, an application updating apparatus applied to a server is also provided. Referring to fig. 9, the application update 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 a latest version number of the application program; a difference file generating module 920, configured to compare a current file in the current resource package with an update file in the update resource package to obtain a difference file; an incremental update resource package generating module 930, configured to generate, based on the difference file, an incremental update resource package of the application program corresponding to each version number, so as to implement, according to the incremental update resource package, a 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 historical version number and the latest version number.
In an exemplary embodiment of the present disclosure, based on the foregoing scheme, 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 encrypted numerical value corresponding to a current script file in the current file and an encrypted numerical value corresponding to an update script file in the update file, and detect whether the current encrypted numerical value is the same as the encrypted numerical value; and if the current encryption numerical value is different from the encryption numerical value, taking the updated script file as a difference script file.
In an exemplary embodiment of the present disclosure, based on the foregoing scheme, 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 encrypted numerical value is different from the first target associated encrypted numerical value, saving the first associated encrypted numerical value and the current scene associated resource corresponding to the first associated encrypted numerical value, and taking the scene associated resource corresponding to the first target associated encrypted numerical 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 the named difference scene file.
In an exemplary embodiment of the present disclosure, based on the foregoing scheme, the difference file generating module 920 further includes a difference common file generating unit, where the difference common file generating unit is configured to calculate, through the interface, a second associated encrypted value corresponding to a current common file in the current file and a second target associated encrypted value corresponding to an updated common file in the updated file, and detect whether the second associated encrypted value is the same as the second target associated encrypted value; if the second associated encrypted numerical value is different from the second target associated encrypted numerical value, storing the second associated encrypted numerical value and the current public associated resource corresponding to the second associated encrypted numerical value, and taking the public associated resource corresponding to the second target associated encrypted numerical value as a difference public resource; generating a differential public file based on the differential public resource.
In an exemplary embodiment of the present disclosure, based on the foregoing scheme, the incremental update resource package generation module 930 further includes an incremental update resource package generation unit, where the incremental update resource package generation unit is configured to obtain preset packaging parameters, and perform packaging processing on the difference scene file, the difference script file, and the difference common file based on the packaging parameters, so as to obtain a difference scene file compression package, a difference script file compression package, and a difference common file compression package; and generating the incremental updating resource package based on the difference scene file compression package, the difference script file compression package and the difference public file compression package, and sending the incremental updating resource package to the client to update the application program.
In an exemplary embodiment of the present disclosure, based on the foregoing scheme, the incremental update resource package generation module 930 further includes a redundant update resource package determination unit, where the redundant update resource package determination 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 base version number in the historical version number and a base incremental updating resource package corresponding to the base version number from the incremental updating resource package based on the resource association file, and determining a longest incremental updating resource chain corresponding to the updating resource package updated by the base incremental updating resource package; detecting whether a resource packet exists in the longest increment updating resource chain or not based on the resource mapping relation, wherein all resources in the resource packet are covered by the resources in the updating resource packet; and if the resource packet exists in the longest increment updating resource chain, marking the resource packet as a redundancy updating resource packet.
The specific details of each module of the application program updating apparatus have been described in detail in the corresponding application program updating method, and therefore are not described herein again.
It should be noted that although in the above detailed description several modules or units of the application update apparatus are mentioned, 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, according to embodiments of the present disclosure. Conversely, the features and functions of one module or unit described above may be further divided into embodiments by a plurality of modules or units.
In addition, in an exemplary embodiment of the present disclosure, an electronic device capable of implementing the above application program updating method is also provided.
As will be appreciated by one skilled in the art, aspects of the present disclosure may be embodied as a system, method or program product. Accordingly, various aspects of the present disclosure may be embodied in the form of: an entirely hardware embodiment, an entirely software embodiment (including firmware, microcode, etc.) or an embodiment combining hardware and software aspects that may all generally 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 only an example and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 10, the electronic device 1000 is embodied in the form of a general purpose computing device. The components of the 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 different 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 to cause the processing unit 1010 to perform steps according to various exemplary embodiments of the present disclosure described in the "exemplary methods" section above in this specification. For example, the processing unit 1010 may execute step S110 shown in fig. 1, and compare, in response to the starting of an application program, the current version number of the application program with the latest version number of the application program stored in a server; step S120, if the comparison result between the current version number and the latest version number is different, obtaining 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 identification data corresponding to the incremental updating resource package according to the resource package association file, and determining a target incremental updating resource package corresponding to the latest version number from the incremental updating resource package based on the identification data; step S140, skip updating the application program corresponding to the current version number to the application program corresponding to the latest version number through the target incremental update resource package.
The memory unit 1020 may include readable media in the form of volatile memory units, such as a random access memory unit (RAM)1021 and/or a cache memory unit 1022, and may further include a read-only memory unit (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 of which, or some combination thereof, may comprise an implementation of a network environment.
Bus 1030 may be any 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, and a local bus using any of a variety of bus architectures.
The electronic device 1000 may 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 devices (e.g., router, modem, etc.) that enable the electronic device 1000 to communicate with one or more other computing devices. Such communication may occur through input/output (I/O) interfaces 1050. Also, the electronic device 1000 may communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network such as the internet) via the network adapter 1060. As shown, the network adapter 1060 communicates with the 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 conjunction with the electronic device 1000, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, among others.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, or by software in combination with necessary hardware. Therefore, 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 (which may be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which may be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.
In an exemplary embodiment of the present disclosure, there is also provided a computer-readable storage medium having stored thereon a program product capable of implementing the above-described method of the present specification. In some possible embodiments, 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 perform the steps according to various exemplary embodiments of the present disclosure described in the "exemplary methods" section above 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 updating 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. A readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium include: an electrical connection having one or more wires, a portable disk, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
A computer readable signal medium may include a propagated data signal with readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. 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 for 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 and partly on a remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, 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., through the internet using an internet service provider).
Furthermore, the above-described figures are merely schematic illustrations of processes included in methods according to exemplary embodiments of the present disclosure, and are not intended to be limiting. It will be readily understood that the processes shown in the above figures are not intended to indicate or limit the chronological order of the processes. In addition, it is also readily understood that these processes may be performed synchronously or asynchronously, e.g., in multiple modules.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, or by software in combination with necessary hardware. Therefore, 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 (which may be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which may be a personal computer, a server, a touch terminal, or a network device, etc.) to execute 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 variations, 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 will be understood that the present disclosure is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims (13)

1. An application program updating 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;
if the comparison result between the current version number and the latest version number is different, acquiring an incremental updating resource package corresponding to each version number of the application program and a resource package association file corresponding to the incremental updating resource package from the server;
determining identification data corresponding to the incremental updating resource package according to the resource package association file, and determining a target incremental updating resource package corresponding to the latest version number from the incremental 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 packet.
2. The method for updating an application program according to claim 1, wherein the target incremental update resource package comprises a newly added resource package and a target replacement resource package, and the determining, according to the resource package association file, identification data corresponding to the incremental update resource package and the determining, based on the identification data, a target incremental update resource package corresponding to the latest version number from the incremental update resource package comprises:
loading an incremental updating resource package issued by the server based on the resource package association file, and determining a resource list corresponding to the incremental updating resource package;
determining a resource mapping relation corresponding to the incremental updating resource package according to the resource list, and determining identification data corresponding to the incremental updating 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 incremental update resource package.
3. The application updating method according to claim 2, wherein the method further comprises:
downloading the incremental updating resource package, and deleting the redundant updating resource packages except the target incremental updating resource package in the incremental updating resource package;
and restarting the application program to skip 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 packet.
4. An application program updating method is applied to a server side, and the method comprises the following steps:
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;
and generating an incremental updating resource package of the application program corresponding to each version number based on the difference file so as to realize the jump updating of the application program corresponding to the historical version number into the application program corresponding to the latest version number according to the incremental updating resource package, wherein each version number comprises the historical version number and the latest version number.
5. The method for updating an application program according to claim 4, wherein the difference file comprises 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 comprises:
acquiring a current encryption numerical value corresponding to a current script file in the current file and an encryption numerical value corresponding to an update script file in the update file, and detecting whether the current encryption numerical value is the same as the encryption numerical value;
and if the current encryption numerical value is different from the encryption numerical value, taking the updated script file as a difference script file.
6. The method for updating an application program according to claim 5, wherein the difference file includes a difference scenario file, and the naming processing is performed on the difference script file based on the mapping relationship to obtain a named script file, 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 encrypted numerical value is different from the first target associated encrypted numerical value, saving the first associated encrypted numerical value and the current scene associated resource corresponding to the first associated encrypted numerical value, and taking the scene associated resource corresponding to the first target associated encrypted numerical 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 the named difference scene file.
7. The method for updating an application program according to claim 6, wherein the difference file comprises a difference public 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 further comprising:
calculating a second associated encryption value corresponding to the current public file in the current file and a second target associated encryption value corresponding to the 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 encrypted numerical value is different from the second target associated encrypted numerical value, storing the second associated encrypted numerical value and the current public associated resource corresponding to the second associated encrypted numerical value, and taking the public associated resource corresponding to the second target associated encrypted numerical value as a difference public resource;
generating a differential public file based on the differential public resource.
8. The application program update method according to claim 6 or 7, characterized in that the method further comprises:
acquiring preset packaging parameters, and respectively packaging 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 updating resource package based on the difference scene file compression package, the difference script file compression package and the difference public file compression package, and sending the incremental updating resource package to the client to update the application program.
9. The application program update method according to claim 8, wherein the method further comprises:
acquiring the incremental updating resource package and a resource association file and a resource mapping relation corresponding to the incremental updating resource package;
determining a base version number in the historical version number and a base incremental updating resource package corresponding to the base version number from the incremental updating resource package based on the resource association file, and determining a longest incremental updating resource chain corresponding to an updating resource package updated from the base incremental updating resource package to the latest version number;
detecting whether a resource packet exists in the longest increment updating resource chain or not based on the resource mapping relation, wherein all resources in the resource packet are covered by the resources in the updating resource packet;
and if the resource packet exists in the longest increment updating resource chain, marking the resource packet as a redundancy updating resource packet.
10. An application program updating device applied to a client, comprising:
the version number comparison module is used for 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;
an incremental update resource package obtaining module, configured to obtain, from the server, 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 if a comparison result between the current version number and the latest version number is different;
a target incremental update resource package determining module, 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 package;
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 packet.
11. An application program updating device, applied to a server, includes:
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 of the latest version number corresponding to 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;
and the incremental updating resource package generating module is used for generating incremental updating resource packages of the application programs corresponding to the various version numbers based on the difference file so as to jump update the application programs corresponding to the historical version numbers to the application programs corresponding to the latest version numbers according to the incremental updating resource packages, wherein the various version numbers comprise the historical version numbers and the latest version numbers.
12. An electronic device, comprising:
a processor; and
a memory having stored thereon computer readable instructions which, when executed by the processor, implement the application program update method of any of claims 1 to 9.
13. A computer-readable storage medium, on which a computer program is stored which, when being executed by a processor, carries out the application program updating method according to any one 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 true CN112947983A (en) 2021-06-11
CN112947983B 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)

Cited By (6)

* 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
CN114186153A (en) * 2021-11-19 2022-03-15 北京达佳互联信息技术有限公司 Information flow determination method and device, electronic equipment and storage medium
CN114900478A (en) * 2022-06-08 2022-08-12 珠海金山数字网络科技有限公司 Resource processing system and method
CN116709549A (en) * 2023-08-04 2023-09-05 腾讯科技(深圳)有限公司 Resource sharing method and device, electronic equipment and readable storage medium
CN116932014A (en) * 2023-09-15 2023-10-24 腾讯科技(深圳)有限公司 Application updating method, device, equipment and computer readable storage medium
CN117055937A (en) * 2023-07-18 2023-11-14 深圳先锋居善科技有限公司 Application program updating method and device, electronic equipment and storage medium

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030220944A1 (en) * 2002-04-03 2003-11-27 Lyman Schottland Paul Joseph 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
US20130055231A1 (en) * 2011-08-31 2013-02-28 Avaya Inc. System and method for incremental software installation
US20140173578A1 (en) * 2011-08-23 2014-06-19 Tencent Technology (Shenzhen) Company Limited Method and apparatus for installing and updating software
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
CN104991791A (en) * 2015-06-09 2015-10-21 北京奇虎科技有限公司 Incremental quantity upgrade release method and apparatus of file
CN104991790A (en) * 2015-06-09 2015-10-21 北京奇虎科技有限公司 Upgrade release method and apparatus of file
US20160188316A1 (en) * 2014-12-31 2016-06-30 Guangzhou Ucweb Computer Technology Co., Ltd. Method and apparatus for software update management
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
US20180067736A1 (en) * 2016-09-07 2018-03-08 Amplidata N.V. Outdated Resource Handling and Multiple-Version Upgrade of Cloud Software
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

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030220944A1 (en) * 2002-04-03 2003-11-27 Lyman Schottland Paul Joseph 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
US20140173578A1 (en) * 2011-08-23 2014-06-19 Tencent Technology (Shenzhen) Company Limited Method and apparatus for installing and updating software
US20130055231A1 (en) * 2011-08-31 2013-02-28 Avaya Inc. System and method for incremental software installation
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
US20160188316A1 (en) * 2014-12-31 2016-06-30 Guangzhou Ucweb Computer Technology Co., Ltd. Method and apparatus for software update management
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
US20180067736A1 (en) * 2016-09-07 2018-03-08 Amplidata N.V. Outdated Resource Handling and Multiple-Version Upgrade of Cloud Software
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

Cited By (9)

* 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
CN114186153A (en) * 2021-11-19 2022-03-15 北京达佳互联信息技术有限公司 Information flow determination method and device, electronic equipment and storage medium
CN114900478A (en) * 2022-06-08 2022-08-12 珠海金山数字网络科技有限公司 Resource processing system and method
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
CN116709549A (en) * 2023-08-04 2023-09-05 腾讯科技(深圳)有限公司 Resource sharing method and device, electronic equipment and readable storage medium
CN116709549B (en) * 2023-08-04 2023-10-20 腾讯科技(深圳)有限公司 Resource sharing method and device, electronic equipment and readable storage medium
CN116932014A (en) * 2023-09-15 2023-10-24 腾讯科技(深圳)有限公司 Application updating method, device, equipment and computer readable storage medium
CN116932014B (en) * 2023-09-15 2023-12-12 腾讯科技(深圳)有限公司 Application updating method, device, equipment and computer readable storage medium

Also Published As

Publication number Publication date
CN112947983B (en) 2024-03-15

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
EP1519268B1 (en) Communication terminal and communication network for partially updating software, software update method, and software creation device and method therefor
US8856724B2 (en) Systems and methods for incremental software development
KR102003850B1 (en) Method for providing application and terminal thereof
CN104657170A (en) Data updating method, device and system
CN110597542B (en) Software automatic OTA (over the air) upgrading method and device and electronic equipment
CN108509209A (en) A kind of generation method, device, computer equipment and the storage medium of resource packet
CN103001963A (en) Minimal download and simulation page navigation characteristic
CN107797818A (en) Application program updating method and device
CN111880826A (en) Cloud service application upgrading method and device, electronic equipment and storage medium
CN111897846A (en) Cache data verification method, device, equipment and storage medium
CN110362338B (en) Game resource packaging and resource quick access method under mobile platform
CN112947981A (en) Application program resource updating method and device, terminal equipment and server
CN114036439A (en) Website building method, device, medium and electronic equipment
CN111107133A (en) Generation method of difference packet, data updating method, device and storage medium
US20200117443A1 (en) Selective application updates based on usage analytics
CN113867768A (en) Operating system processing method and device, electronic equipment and storage medium
CN111556127B (en) Wearable device upgrading method and related device
CN116069366A (en) Client application program updating method and device, storage medium and electronic equipment
CN103139298A (en) Method for transmitting network data and device
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
CN109814912A (en) Application program packaging method and system

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