Differential upgrade method, device, medium and electronic equipment

By comparing the signature value lists of the client and the target version to generate a differential upgrade package, the problem of difficulty in obtaining data from external channels is solved and efficient differential upgrade is achieved.

CN114780124BActive Publication Date: 2025-08-19DOUYIN VISION CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210370154.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-04-08
Publication Date
2025-08-19
Estimated Expiration
2042-04-08

Smart Images

  • Figure CN114780124B_ABST
    Figure CN114780124B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a differential upgrade method, device, medium and electronic device, including: obtaining a client upgrade request, which includes an old package signature value list consisting of multiple old package signature values obtained after encrypting the current version content of the client; determining a new package signature value list corresponding to the target version content for upgrading; determining the signature value that exists in the new package signature value list and does not exist in the old package signature value list as the target signature value; determining the differential upgrade package according to the target upgrade content corresponding to the target signature value in the target version content and sending it to the client. In this way, the problem that when an application is released through multiple external channels, there are too many application versions and the application version data is large, and it is impossible to obtain all the application version data of all external channels is solved, and the function of differential upgrading of applications released by any external channel is realized, and the transmission resource usage during the upgrade process is reduced, thereby improving the efficiency of differential upgrading of applications.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of differential upgrade technology, and in particular, to a differential upgrade method, device, medium, and electronic device. Background Art

[0002] Currently, client applications are mostly updated using "differential upgrades". The common differential upgrade method is to use old.apk (old package) and new.apk (new package) to generate a (differential package) patch package on the backend. That is, the backend needs to first obtain the old.apk used in the client before generating the differential package. The client then synthesizes the expected new.apk in the backend based on the received patch package and its own old.apk.

[0003] This method is fine in normal scenarios. However, some applications need to be released through external channels. The application packages downloaded by customers through some external channels are not completely consistent with the original App Store. Different external channels may produce different versions of application packages. Therefore, the number of application package versions corresponding to different channels is huge. The backend cannot obtain the version of the application package actually used in each client in real time. Therefore, it is impossible to upgrade the application packages released in some external channels through differential upgrades. Summary of the Invention

[0004] This summary is provided to briefly introduce concepts that will be described in detail in the detailed description below. This summary is not intended to identify key features or essential features of the claimed technical solution, nor is it intended to limit the scope of the claimed technical solution.

[0005] In a first aspect, the present disclosure provides a differential upgrade method, which is applied to a server, and the method includes: obtaining a client upgrade request, wherein the client upgrade request includes an old package signature value list consisting of multiple old package signature values obtained after encrypting the current version content of the client; determining a new package signature value list corresponding to the target version content for upgrading; comparing the old package signature value list with the new package signature value list, and determining the signature value that exists in the new package signature value list and does not exist in the old package signature value list as the target signature value; determining a differential upgrade package according to the target upgrade content corresponding to the target signature value in the target version content; and sending the differential upgrade package to the client for the client to perform a differential upgrade.

[0006] In a second aspect, the present disclosure provides a differential upgrade method, which is applied to a client, and the method includes: generating a client upgrade request, wherein the client upgrade request includes a list of old package signature values consisting of multiple old package signature values obtained after encrypting the current version content of the client; sending the client upgrade request to a server; receiving a differential upgrade package returned by the server; synthesizing a target version content for upgrading based on the differential upgrade package and the current version content of the client; and performing a client version upgrade based on the target version content.

[0007] In a third aspect, the present disclosure provides a differential upgrade device, which is applied to a server, and the device includes: an acquisition module, which is used to obtain a client upgrade request, wherein the client upgrade request includes an old package signature value list consisting of multiple old package signature values obtained after encrypting the current version content of the client; a determination module, which is used to determine a new package signature value list corresponding to the target version content for upgrade; a comparison module, which is used to compare the old package signature value list and the new package signature value list, and determine the signature value that exists in the new package signature value list and does not exist in the old package signature value list as the target signature value; a first generation module, which is used to determine a differential upgrade package according to the target upgrade content corresponding to the target signature value in the target version content; and a first sending module, which is used to send the differential upgrade package to the client for the client to perform a differential upgrade.

[0008] In a fourth aspect, the present disclosure provides a differential upgrade device, which is applied to a client, and the device includes: a second generation module, which is used to generate a client upgrade request, and the client upgrade request includes an old package signature value list consisting of multiple old package signature values obtained after encrypting the current version content of the client; a second sending module, which is used to send the client upgrade request to the server; a receiving module, which is used to receive the differential upgrade package returned by the server; a synthesis module, which is used to synthesize the target version content for upgrading based on the differential upgrade package and the current version content of the client; and an upgrade module, which is used to upgrade the client version according to the target version content.

[0009] In a fifth aspect, the present disclosure provides a computer-readable medium having a computer program stored thereon, which implements the steps of the method described in the first aspect when executed by a processing device.

[0010] In a sixth aspect, the present disclosure provides an electronic device, comprising: a storage device on which a computer program is stored; and a processing device for executing the computer program in the storage device to implement the steps of the method in the first aspect.

[0011] In a seventh aspect, the present disclosure provides a computer-readable medium having a computer program stored thereon, which implements the steps of the method described in the second aspect when executed by a processing device.

[0012] In an eighth aspect, the present disclosure provides an electronic device comprising: a storage device storing a computer program; and a processing device for executing the computer program in the storage device to implement the steps of the method in the second aspect.

[0013] Through the above technical solution, when performing a differential upgrade on the client, there is no need to know all the information about the current version content of the client, such as the entire installation package or the entire installation file, etc. It is only necessary to obtain the old package signature value list obtained by encrypting the current version content of the client, and compare it with the new package signature value list corresponding to the target version content for upgrading, so as to determine the target upgrade content missing in the client. In this way, the problem that when an application is released through multiple external channels, there are too many application versions and the application version data is large, and it is impossible to obtain all the application version data of all external channels is solved. The function of differential upgrading of applications released by any external channel is realized, and the transmission resource usage during the upgrade process is reduced, thereby improving the efficiency of differential upgrading of applications.

[0014] Other features and advantages of the present disclosure will be described in detail in the following detailed description. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] The above and other features, advantages and aspects of the various embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and that the originals and elements are not necessarily drawn to scale. In the drawings:

[0016] Figure 1 The figure is a flowchart showing a differential upgrade method applied to a server according to an exemplary embodiment of the present disclosure.

[0017] Figure 2 The flowchart of a differential upgrade method applied to a server according to another exemplary embodiment of the present disclosure is shown.

[0018] Figure 3 The flowchart of a differential upgrade method applied to a server according to another exemplary embodiment of the present disclosure is shown.

[0019] Figure 4 The flowchart of a differential upgrade method applied to a server according to another exemplary embodiment of the present disclosure is shown.

[0020] Figure 5 The flowchart of a differential upgrade method applied to a server according to another exemplary embodiment of the present disclosure is shown.

[0021] Figure 6 The figure is a flowchart of a differential upgrade method applied to a client according to an exemplary embodiment of the present disclosure.

[0022] Figure 7 The figure is a structural block diagram of a differential upgrade device applied to a server according to an exemplary embodiment of the present disclosure.

[0023] Figure 8 The figure is a structural block diagram of a differential upgrade device applied to a client according to an exemplary embodiment of the present disclosure.

[0024] Figure 9 A schematic structural diagram of an electronic device suitable for implementing the embodiments of the present disclosure is shown. DETAILED DESCRIPTION

[0025] The following describes embodiments of the present disclosure in more detail with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as limited to the embodiments described herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are for illustrative purposes only and are not intended to limit the scope of protection of the present disclosure.

[0026] It should be understood that the various steps described in the method embodiments of the present disclosure may be performed in different orders and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present disclosure is not limited in this respect.

[0027] As used herein, the term "including" and its variations are open-ended, i.e., "including but not limited to." The term "based on" means "based, at least in part, on." The term "one embodiment" means "at least one embodiment," the term "another embodiment" means "at least one additional embodiment," and the term "some embodiments" means "at least some embodiments." Other terms are defined in the following description.

[0028] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.

[0029] It should be noted that the modifications of "one" and "multiple" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, they should be understood as "one or more".

[0030] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only used for illustrative purposes and are not used to limit the scope of these messages or information.

[0031] It is understandable that before using the technical solutions disclosed in the various embodiments of this disclosure, the type, scope of use, usage scenarios, etc. of the personal information involved in this disclosure should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.

[0032] For example, in response to a user's active request, a prompt message is sent to the user to clearly inform the user that the operation requested will require the acquisition and use of the user's personal information. This allows the user to independently choose whether to provide personal information to the electronic device, application, server, storage medium, or other software or hardware that performs the operations of the disclosed technical solution based on the prompt message.

[0033] As an optional but non-limiting implementation, in response to receiving a user's active request, the prompt information may be sent to the user in the form of a pop-up window, in which the prompt information may be presented in text form. Furthermore, the pop-up window may also contain a selection control for the user to select "agree" or "disagree" to provide personal information to the electronic device.

[0034] It is understandable that the above notification and user authorization process are merely illustrative and do not limit the implementation of the present disclosure. Other methods that comply with relevant laws and regulations may also be applied to the implementation of the present disclosure.

[0035] At the same time, it is understandable that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) must comply with the requirements of relevant laws, regulations and relevant provisions.

[0036] Figure 1 FIG. 1 is a flow chart showing a differential upgrade method according to an exemplary embodiment of the present disclosure. Figure 1 As shown, the method is applied to a server and includes steps 101 to 105.

[0037] In step 101, a client upgrade request is obtained. The client upgrade request includes a list of old package signature values consisting of multiple old package signature values obtained by encrypting the current version of the client. The current version content can be the installation file corresponding to the current version of the client or the binary installation package corresponding to the current version of the client.

[0038] Wherein, in the case where the current version content is an installation file corresponding to the current version in the client, the current version content may be encrypted by encrypting each installation file separately, thereby obtaining multiple old package signature values corresponding one-to-one to the installation files, thereby forming the old package signature value list. Wherein, in the case where the current version content is an old installation package corresponding to the current version in the client, the current version content may be encrypted by dividing the binary code in the old installation package into multiple code blocks according to a preset binary code division method, and then encrypting each code block separately, thereby obtaining multiple old package signature values corresponding one-to-one to the divided code blocks, thereby forming the old package signature value list.

[0039] In step 102, a new package signature value list corresponding to the target version content for upgrading is determined.

[0040] The method for determining the new package signature value list may be the same as the method for determining the old package signature value list. For example, when the old package signature value list is obtained by encrypting the installation file corresponding to the current version in the client, the new package signature value list may be a new package signature value list consisting of multiple new package signature values obtained by respectively encrypting the installation file corresponding to the target version content for upgrading; when the old package signature value list is obtained by encrypting the old installation package corresponding to the current version in the client, the new package signature value list may be a new package signature value list consisting of multiple new package signature values obtained by respectively encrypting multiple code blocks obtained by dividing the binary code in the old installation package corresponding to the target version content for upgrading.

[0041] In step 103, the old packet signature value list and the new packet signature value list are compared, and the signature value that exists in the new packet signature value list and does not exist in the old packet signature value list is determined as the target signature value.

[0042] Due to the characteristic that the same data content obtains the same signature value calculated by the same encryption algorithm, the signature value obtained by comparing the old package signature value list sent by the client and the new package signature value list of the server exists in the new package signature value list and does not exist in the old package signature value list. The corresponding content in the target version content for upgrading is the data content that is missing from the current version content of the client compared to the target version content for upgrading. Therefore, the signature value that exists in the new package signature value list and does not exist in the old package signature value list can be directly determined as the target signature value.

[0043] In step 104, a differential upgrade package is determined according to the target upgrade content corresponding to the target signature value in the target version content.

[0044] The target upgrade content corresponding to the target signature value in the target version content can be determined based on the encryption method corresponding to the old package signature value list and the new package signature value list. For example, in the case where the old package signature value list and the new package signature value list are composed of signature values obtained by encrypting the installation file, the target upgrade content corresponding to the target signature value in the target version content can be in the form of an installation file; in the case where the old package signature value list and the new package signature value list are composed of signature values obtained by encrypting the new (old) installation package, the target upgrade content corresponding to the target signature value in the target version content can be in the form of a binary code block.

[0045] Alternatively, the target upgrade content corresponding to the target signature value in the target version content may not completely correspond to the encryption method corresponding to the old package signature value list and the new package signature value list. For example, when the old package signature value list and the new package signature value list are composed of signature values obtained by encrypting the installation file, the target upgrade content corresponding to the target signature value in the target version content may also be in the form of a binary code block included in the new installation package; when the old package signature value list and the new package signature value list are composed of signature values obtained by encrypting the new (old) installation package, the target upgrade content corresponding to the target signature value in the target version content may be in the form of an installation file.

[0046] In summary, the specific form of the target upgrade content corresponding to the target signature value in the target version content can be determined according to the actual scenario.

[0047] In addition, the method of determining the differential upgrade package based on the target upgrade content can be to directly determine the target upgrade content as the content of the differential upgrade package, or, in addition to the target upgrade content, the differential upgrade package can also include other information such as data description information for describing the target upgrade content, etc. The specific content included in the differential upgrade package is not limited in the present disclosure, as long as the target upgrade content missing from the current version content of the client compared to the target version content can be included in the differential upgrade package for the client to perform a differential upgrade.

[0048] In step 105, the differential upgrade package is sent to the client for the client to perform differential upgrade.

[0049] Through the above technical solution, when performing a differential upgrade on the client, there is no need to know all the information about the current version content of the client, such as the entire installation package or the entire installation file, etc. It is only necessary to obtain the old package signature value list obtained by encrypting the current version content of the client, and compare it with the new package signature value list corresponding to the target version content for upgrading, so as to determine the target upgrade content missing in the client. In this way, the problem that when an application is released through multiple external channels, there are too many application versions and the application version data is large, and it is impossible to obtain all the application version data of all external channels is solved. The function of differential upgrading of applications released by any external channel is realized, and the transmission resource usage during the upgrade process is reduced, thereby improving the efficiency of differential upgrading of applications.

[0050] Figure 2 FIG. 1 is a flow chart showing a differential upgrade method according to another exemplary embodiment of the present disclosure. Figure 2 As shown, the method further includes step 201 and step 202.

[0051] In step 201, a new installation package corresponding to the target version content for upgrading is determined, where the new installation package is in the form of binary code.

[0052] In step 202, the new installation package is encrypted to obtain the new package signature value list consisting of multiple new package signature values; wherein, the old package signature value list included in the client upgrade request is composed of multiple old package signature values obtained after encrypting the old installation package corresponding to the current version content of the client.

[0053] In this embodiment, when determining the new package signature value list corresponding to the target version content for upgrading, it is obtained by encrypting the new installation package in binary code form. Correspondingly, the old package signature value list included in the client upgrade request is also obtained by encrypting the old installation package in binary code form corresponding to the current application version of the client.

[0054] In one possible implementation, the method for encrypting the new installation package to obtain multiple new package signature values may be to encrypt each binary code block in the new installation package separately to obtain multiple new package signature values corresponding to each binary code block, and the binary code blocks correspond one-to-one to the multiple installation files obtained after decompressing the new installation package.

[0055] That is, when encrypting the new installation package, the binary code in the new installation package can first be divided into blocks according to a certain preset rule, and then each binary code block can be encrypted separately to obtain multiple signature values corresponding to each binary code block. This preset rule can be the rule used in this embodiment to divide the binary code into blocks based on the granularity of ZipEntry in the new installation package, that is, the code corresponding to each ZipEntry in the new installation package is considered as a code block. Because each ZipEntry in the installation package actually corresponds to a file in the decompressed installation package, the binary code blocks obtained according to this rule can correspond one-to-one with the multiple installation files obtained after decoding the new installation package.

[0056] In addition, the method for encrypting the new installation package to obtain multiple new package signature values can also be any other encryption method. The specific encryption method is not limited in the present disclosure, as long as it can be guaranteed that the encryption method used by the client to determine the old package signature value list is consistent with the encryption method used to obtain the new package signature value list, and it can be guaranteed that the target upgrade content required for the upgrade that is missing in the current version of the client can be determined by comparing the old package signature value list and the new package signature value list.

[0057] Figure 3 FIG. 1 is another exemplary flowchart of a differential upgrade method according to the present disclosure. Figure 3 As shown, the method further includes step 301 and step 302.

[0058] In step 301, the binary code content corresponding to the target signature value in the new installation package is determined as the target upgrade content.

[0059] In step 302, the differential upgrade package is determined according to the target upgrade content.

[0060] That is, in this embodiment, when the old package signature value list and the new package signature value list are both composed of signature values obtained by encrypting the new (old) installation package in binary code form, the target upgrade content corresponding to the target signature value in the target version content is also in the form of a binary code block included in the new installation package.

[0061] In a possible implementation, as described above, when determining the differential upgrade package based on the target upgrade content corresponding to the first target signature value in the target version content, the target upgrade content can be directly determined as the content of the differential upgrade package. Alternatively, other data description information such as data used to describe the target upgrade content can also be determined as the content of the differential upgrade package, such as Figure 4 As shown in .

[0062] Figure 4 FIG. 1 is another exemplary flowchart of a differential upgrade method according to the present disclosure. Figure 4 As shown, the method further includes step 401 and step 402.

[0063] In step 401, data description information of binary code content corresponding to the target signature value in the new installation package is determined, where the data information includes at least one of a data location and a data quantity.

[0064] In step 402, the differential upgrade package is determined according to the target upgrade content and the data description information.

[0065] In addition to information such as the data location and data quantity, the data description information may also include other data description information that can be used by the client to verify the integrity of the target upgrade content in the received differential upgrade package, which is not limited in this disclosure.

[0066] When determining the differential upgrade package based on the target upgrade content and the data description information, the target upgrade content and the data description information can be directly determined as the content of the differential upgrade package. In this embodiment, since the target upgrade content corresponding to the target signature value in the target version content is in the form of binary code in the new installation package, the data description information can also be directly added to the differential upgrade package in the form of a binary code.

[0067] In another possible implementation, if the target upgrade content corresponding to the target signature value in the target version content is in the form of an installation file obtained after decompressing the new installation package, then the data description information can be included in the differential upgrade package in the form of a manifest file. During the transmission of the differential upgrade package to the client, the manifest file and other files in the differential upgrade package can be packaged into a compressed package for transmission as needed.

[0068] Figure 5 FIG. 1 is a flow chart showing a differential upgrade method according to another exemplary embodiment of the present disclosure. Figure 5 As shown, the method further includes steps 501 to 503.

[0069] In step 501, a binary code signature corresponding to the entire binary code in the new installation package is determined.

[0070] In step 502, a file signature corresponding to the entire installation file after decompression of the new installation package is determined.

[0071] In step 503, a differential upgrade package is determined based on the target upgrade content, data description information, binary code signature, and file signature.

[0072] After receiving the differential upgrade package, the client typically needs to synthesize the target version content for the upgrade based on the content in the differential upgrade package. To verify the authenticity of the differential upgrade package—that is, to determine whether the differential upgrade package was issued by a genuine application server and not a fake differential upgrade package issued by a counterfeit server—the client also needs to verify the signature of the target version content after synthesizing it. Therefore, in addition to the target upgrade content and data description information, the differential upgrade package may also include a signature corresponding to the new installation package. This signature is used by the client to verify the target version content after synthesizing it based on the differential upgrade package.

[0073] The binary code signature and the file signature are the signatures required by the client to perform V2 signature verification and V1 signature verification on the target version content synthesized according to the differential upgrade package. V2 and V1 are two verification schemes used by the Android system to verify the installation package. The verification method of V2 is to perform step-by-step verification on the binary code in the installation package, and the verification method of V1 is to perform step-by-step verification on the installation file obtained after the installation package is decompressed. When determining the differential upgrade package, if the client supports verification of the target version content through the V2 verification scheme, the differential upgrade package can be determined only by the target upgrade content and the binary code signature; if the client only supports verification of the target version content through the V1 verification scheme, the differential upgrade package can be determined only by the target upgrade content and the file signature. In this embodiment, a differential upgrade package is determined based on the target upgrade content, data description information, binary code signature, and file signature. This ensures that the target version content synthesized from the differential upgrade package can pass V2 signature verification when the client supports the V2 verification scheme, and also ensures that the target version content synthesized from the differential upgrade package can pass V1 signature verification when the client only supports verification using the V1 verification scheme. This eliminates the need to predetermine the signature verification scheme supported by the client, and allows the differential upgrade package to be directly delivered. The data description information may or may not be included in the differential upgrade package.

[0074] Through the above technical solution, since the target upgrade content is the binary code content corresponding to the target signature value in the new installation package, after the differential upgrade package is determined based on the target upgrade content and sent to the client, the binary code in the target version content synthesized by the client and the binary code content in the server's new installation package can remain completely consistent. Therefore, it can be guaranteed that the client that supports the V2 verification scheme will pass the verification of the target version content, and there will be no situation where the V2 signature verification fails due to the problem of binary code content changes after file compression. In addition, since the compressed binary code remains unchanged, the decompressed file content can also remain consistent. Therefore, if the V2 signature verification is guaranteed to pass, the V1 signature verification can also be guaranteed to pass, ensuring the security of the client differential upgrade.

[0075] Figure 6 This is a flowchart of a differential upgrade method according to an exemplary embodiment of the present disclosure, which is applied to a client. Figure 6 As shown, the method includes steps 601 to 605.

[0076] In step 601, a client upgrade request is generated. The client upgrade request includes an old package signature value list consisting of multiple old package signature values obtained by encrypting the current version of the client. The process of generating the old package signature value list has been described in detail above and will not be repeated here.

[0077] In step 602, the client upgrade request is sent to the server.

[0078] In step 603, the differential upgrade package returned by the server is received.

[0079] In step 604, the target version content for the upgrade is synthesized based on the differential upgrade package and the client's current version content. The synthesis process based on the differential upgrade package and the client's current version content can be to first decompress the differential upgrade package and then merge them, or to directly merge the binary code in the differential upgrade package with the binary code in the old installation package corresponding to the client's current version content.

[0080] In step 605, the client version is upgraded according to the target version content.

[0081] Through the above technical solution, when performing a differential upgrade on the client, there is no need to know all the information about the current version content of the client, such as the overall installation package or the overall installation file, etc. It is only necessary to obtain the old package signature value list obtained by encrypting the current version content of the client, so as to determine the target upgrade content that is missing in the client, and form a differential upgrade package to send to the client for upgrading. In this way, the problem that when the application is released through multiple external channels, there are too many application versions and the application version data is large, and it is impossible to obtain all the application version data of all external channels is solved. The function of differential upgrading of applications released by any external channel is realized, and the transmission resource usage during the upgrade process is reduced, thereby improving the efficiency of differential upgrading of applications.

[0082] In one possible implementation, generating a client upgrade request includes encrypting an old installation package corresponding to the current version of the client to obtain an old package signature value list consisting of multiple old package signature values. The old installation package can be encrypted by encrypting each binary code block in the old installation package to obtain multiple old package signature values corresponding to each binary code block, with the multiple new package signature values constituting the new package signature value list, wherein the binary code blocks correspond one-to-one to the multiple installation files obtained after decompressing the new installation package.

[0083] Figure 7 FIG. 1 is a structural block diagram of a differential upgrade device according to an exemplary embodiment of the present disclosure. Figure 7 As shown, the device is applied to a server, including: an acquisition module 710, used to obtain a client upgrade request, wherein the client upgrade request includes an old package signature value list consisting of multiple old package signature values obtained after encrypting the current version content of the client; a determination module 720, used to determine a new package signature value list corresponding to the target version content for upgrade; a comparison module 730, used to compare the old package signature value list and the new package signature value list, and determine the signature value that exists in the new package signature value list and does not exist in the old package signature value list as the target signature value; a first generation module 740, used to determine a differential upgrade package according to the target upgrade content corresponding to the target signature value in the target version content; a first sending module 750, used to send the differential upgrade package to the client for the client to perform a differential upgrade.

[0084] Through the above technical solution, when performing a differential upgrade on the client, there is no need to know all the information about the current version content of the client, such as the entire installation package or the entire installation file, etc. It is only necessary to obtain the old package signature value list obtained by encrypting the current version content of the client, and compare it with the new package signature value list corresponding to the target version content for upgrading, so as to determine the target upgrade content missing in the client. In this way, the problem that when an application is released through multiple external channels, there are too many application versions and the application version data is large, and it is impossible to obtain all the application version data of all external channels is solved. The function of differential upgrading of applications released by any external channel is realized, and the transmission resource usage during the upgrade process is reduced, thereby improving the efficiency of differential upgrading of applications.

[0085] In a possible implementation, the determination module 720 is further used to: determine a new installation package corresponding to the target version content for upgrading, wherein the new installation package is in the form of binary code; encrypt the new installation package to obtain the new package signature value list consisting of multiple new package signature values; wherein the old package signature value list included in the client upgrade request is composed of multiple old package signature values obtained after encrypting the old installation package corresponding to the current version content of the client.

[0086] In a possible implementation, the determination module 720 is further used to: encrypt each binary code block in the new installation package to obtain multiple new package signature values corresponding to each binary code block, and the multiple new package signature values constitute the new package signature value list, wherein the binary code blocks correspond one-to-one to the multiple installation files obtained after the new installation package is decompressed.

[0087] In a possible implementation, the first generation module 740 is further configured to: determine the binary code content corresponding to the target signature value in the new installation package as the target upgrade content; and determine the differential upgrade package according to the target upgrade content.

[0088] In one possible embodiment, the first generation module 740 is further used to: determine data description information of the binary code content corresponding to the target signature value in the new installation package, the data information including at least one of the data location and the data quantity; determine the differential upgrade package based on the target upgrade content and the data description information.

[0089] In one possible implementation, the first generation module 740 is further used to: determine the binary code signature corresponding to the entire binary code in the new installation package; determine the differential upgrade package based on the target upgrade content and the binary code signature; or, further used to: determine the file signature corresponding to the entire installation file after the new installation package is decompressed; determine the differential upgrade package based on the target upgrade content, the binary code signature and the file signature.

[0090] Figure 8 FIG. 1 is a structural block diagram of a differential upgrade device according to an exemplary embodiment of the present disclosure. Figure 8 As shown, the device is applied to the client, including: a second generation module 810, used to generate a client upgrade request, the client upgrade request including an old package signature value list consisting of multiple old package signature values obtained after encrypting the current version content of the client; a second sending module 820, used to send the client upgrade request to the server; a receiving module 830, used to receive the differential upgrade package returned by the server; a synthesis module 840, used to synthesize the target version content for upgrading based on the differential upgrade package and the current version content of the client; an upgrade module 850, used to perform client version upgrade according to the target version content.

[0091] Through the above technical solution, when performing a differential upgrade on the client, there is no need to know all the information about the current version content of the client, such as the overall installation package or the overall installation file, etc. It is only necessary to obtain the old package signature value list obtained by encrypting the current version content of the client, so as to determine the target upgrade content that is missing in the client, and form a differential upgrade package to send to the client for upgrading. In this way, the problem that when the application is released through multiple external channels, there are too many application versions and the application version data is large, and it is impossible to obtain all the application version data of all external channels is solved. The function of differential upgrading of applications released by any external channel is realized, and the transmission resource usage during the upgrade process is reduced, thereby improving the efficiency of differential upgrading of applications.

[0092] In a possible implementation, the second generation module 810 is further configured to: encrypt the old installation package corresponding to the current version content of the client to obtain the old package signature value list consisting of multiple old package signature values.

[0093] In a possible implementation, the second generation module 810 is further used to: encrypt each binary code block in the old installation package to obtain multiple old package signature values corresponding to each binary code block, and the multiple new package signature values constitute the new package signature value list, wherein the binary code blocks correspond one-to-one to the multiple installation files obtained after the new installation package is decompressed.

[0094] Reference below Figure 9 , which shows an electronic device (eg Figure 1 The terminal devices in the embodiments of the present disclosure may include, but are not limited to, mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), in-vehicle terminals (such as in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. Figure 9 The electronic device shown is only an example and should not limit the functions and scope of use of the embodiments of the present disclosure.

[0095] like Figure 9 As shown, the electronic device 900 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 901, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 902 or a program loaded from a storage device 908 into a random access memory (RAM) 903. Various programs and data required for the operation of the electronic device 900 are also stored in the RAM 903. The processing device 901, the ROM 902, and the RAM 903 are connected to each other via a bus 904. An input / output (I / O) interface 905 is also connected to the bus 904.

[0096] Typically, the following devices may be connected to the I / O interface 905: an input device 906 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 907 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 908 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 909. The communication device 909 may allow the electronic device 900 to communicate with other devices wirelessly or by wire to exchange data. Although Figure 9 The electronic device 900 is shown with various devices, but it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed instead.

[0097] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a non-transitory computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication device 909, or installed from the storage device 908, or installed from the ROM 902. When the computer program is executed by the processing device 901, the above-mentioned functions defined in the method of the embodiment of the present disclosure are performed.

[0098] It should be noted that the computer-readable medium mentioned above in the present disclosure may be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. A computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or component, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer 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 disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, a computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, device, or component. In the present disclosure, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries computer-readable program code. Such a propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport a program for use by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium may be transmitted using any suitable medium, including but not limited to wires, optical cables, RF (radio frequency), etc., or any suitable combination thereof.

[0099] In some embodiments, the client and server can communicate using any currently known or future developed network protocol, such as HTTP (HyperText Transfer Protocol), and can be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), an internet (e.g., the Internet), and a peer-to-peer network (e.g., an ad hoc peer-to-peer network), as well as any currently known or future developed network.

[0100] The computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device.

[0101] The above-mentioned computer-readable medium carries one or more programs. When the above-mentioned one or more programs are executed by the electronic device, the electronic device: obtains a client upgrade request, wherein the client upgrade request includes an old package signature value list consisting of multiple old package signature values obtained after encrypting the current version content of the client; determines a new package signature value list corresponding to the target version content for upgrading; compares the old package signature value list with the new package signature value list, and determines the signature value that exists in the new package signature value list and does not exist in the old package signature value list as the target signature value; determines a differential upgrade package according to the target upgrade content corresponding to the target signature value in the target version content; and sends the differential upgrade package to the client for the client to perform a differential upgrade.

[0102] Alternatively, the computer-readable medium carries one or more programs. When the one or more programs are executed by the electronic device, the electronic device: generates a client upgrade request, wherein the client upgrade request includes a list of old package signature values consisting of multiple old package signature values obtained after encrypting the current version content of the client; sends the client upgrade request to the server; receives the differential upgrade package returned by the server; synthesizes the target version content for upgrading based on the differential upgrade package and the current version content of the client; and upgrades the client version based on the target version content.

[0103] Computer program code for performing the operations of the present disclosure may be written in one or more programming languages, or a combination thereof, including, but not limited to, object-oriented programming languages such as Java, Smalltalk, C++, and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on the remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider).

[0104] The flowcharts and block diagrams in the accompanying drawings illustrate the possible implementation architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram can represent a module, program segment, or a part of code, and the module, program segment, or a part of code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order than that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of the boxes in the block diagram and / or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0105] The modules described in the embodiments of the present disclosure may be implemented in software or hardware. In some cases, the name of a module does not necessarily limit the module itself. For example, the acquisition module may also be described as a "module for obtaining client upgrade requests."

[0106] The functions described above herein may be performed, at least in part, by one or more hardware logic components. For example, and without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chip (SOCs), complex programmable logic devices (CPLDs), and the like.

[0107] In the context of the present disclosure, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in conjunction with an instruction execution system, device or equipment. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium can include an electrical connection based on one or more lines, a portable computer 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 disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0108] According to one or more embodiments of the present disclosure, Example 1 provides a differential upgrade method, which is applied to a server and includes: obtaining a client upgrade request, wherein the client upgrade request includes an old package signature value list consisting of multiple old package signature values obtained after encrypting the current version content of the client; determining a new package signature value list corresponding to the target version content for upgrading; comparing the old package signature value list with the new package signature value list, and determining the signature value that exists in the new package signature value list and does not exist in the old package signature value list as the target signature value; determining a differential upgrade package according to the target upgrade content corresponding to the target signature value in the target version content; and sending the differential upgrade package to the client for the client to perform a differential upgrade.

[0109] According to one or more embodiments of the present disclosure, Example 2 provides the method of Example 1, wherein determining a new package signature value list corresponding to the target version content for upgrading includes: determining a new installation package corresponding to the target version content for upgrading, wherein the new installation package is in the form of binary code; encrypting the new installation package to obtain the new package signature value list consisting of multiple new package signature values; wherein the old package signature value list included in the client upgrade request is composed of multiple old package signature values obtained after encrypting the old installation package corresponding to the current version content of the client.

[0110] According to one or more embodiments of the present disclosure, Example 3 provides the method of Example 2, wherein encrypting the new installation package to obtain the new package signature value list consisting of multiple new package signature values includes: encrypting each binary code block in the new installation package to obtain multiple new package signature values corresponding to each binary code block, and the multiple new package signature values constitute the new package signature value list, wherein the binary code blocks correspond one-to-one to the multiple installation files obtained after decompressing the new installation package.

[0111] According to one or more embodiments of the present disclosure, Example 4 provides the method of Example 2, wherein determining the differential upgrade package based on the target upgrade content corresponding to the first target signature value in the target version content includes: determining the binary code content corresponding to the target signature value in the new installation package as the target upgrade content; and determining the differential upgrade package based on the target upgrade content.

[0112] According to one or more embodiments of the present disclosure, Example 5 provides the method of Example 4, wherein determining the differential upgrade package based on the target upgrade content corresponding to the first target signature value in the target version content also includes: determining data description information of the binary code content corresponding to the target signature value in the new installation package, the data information including at least one of the data location and the data quantity; determining the differential upgrade package based on the target upgrade content includes: determining the differential upgrade package based on the target upgrade content and the data description information.

[0113] According to one or more embodiments of the present disclosure, Example 6 provides the method of Example 4, wherein determining the differential upgrade package based on the target upgrade content corresponding to the target signature value in the target version content also includes: determining the binary code signature corresponding to the binary code in the new installation package as a whole; determining the differential upgrade package based on the target upgrade content includes: determining the differential upgrade package based on the target upgrade content and the binary code signature; or, determining the differential upgrade package based on the target upgrade content corresponding to the target signature value in the target version content further includes: determining the file signature corresponding to the installation file as a whole after the new installation package is decompressed; determining the differential upgrade package based on the target upgrade content includes: determining the differential upgrade package based on the target upgrade content, the binary code signature and the file signature.

[0114] According to one or more embodiments of the present disclosure, Example 7 provides a differential upgrade method, which is applied to a client, including: generating a client upgrade request, wherein the client upgrade request includes a list of old package signature values consisting of multiple old package signature values obtained after encrypting the current version content of the client; sending the client upgrade request to a server; receiving a differential upgrade package returned by the server; synthesizing a target version content for upgrading based on the differential upgrade package and the current version content of the client; and performing a client version upgrade based on the target version content.

[0115] According to one or more embodiments of the present disclosure, Example 8 provides the method of Example 7, wherein generating a client upgrade request includes: encrypting the old installation package corresponding to the current version content of the client to obtain the old package signature value list consisting of multiple old package signature values.

[0116] According to one or more embodiments of the present disclosure, Example 9 provides the method of Example 8, wherein the encrypting the old installation package corresponding to the current version content of the client to obtain the old package signature value list composed of multiple old package signature values includes: encrypting each binary code block in the old installation package respectively to obtain multiple old package signature values corresponding to each binary code block, and the multiple new package signature values constitute the new package signature value list, wherein the binary code blocks correspond one-to-one to the multiple installation files obtained after the new installation package is decompressed.

[0117] According to one or more embodiments of the present disclosure, Example 10 provides a differential upgrade device, which is applied to a server and includes: an acquisition module for acquiring a client upgrade request, wherein the client upgrade request includes an old package signature value list consisting of multiple old package signature values obtained after encrypting the current version content of the client; a determination module for determining a new package signature value list corresponding to the target version content for upgrading; a comparison module for comparing the old package signature value list and the new package signature value list, and determining the signature value that exists in the new package signature value list and does not exist in the old package signature value list as the target signature value; a first generation module for determining a differential upgrade package according to the target upgrade content corresponding to the target signature value in the target version content; and a first sending module for sending the differential upgrade package to the client for the client to perform a differential upgrade.

[0118] According to one or more embodiments of the present disclosure, Example 11 provides a differential upgrade device, which is applied to a client, and the device includes: a second generation module, which is used to generate a client upgrade request, and the client upgrade request includes an old package signature value list consisting of multiple old package signature values obtained after encrypting the current version content of the client; a second sending module, which is used to send the client upgrade request to the server; a receiving module, which is used to receive the differential upgrade package returned by the server; a synthesis module, which is used to synthesize the target version content for upgrading based on the differential upgrade package and the current version content of the client; and an upgrade module, which is used to perform client version upgrade based on the target version content.

[0119] According to one or more embodiments of the present disclosure, Example 12 provides a computer-readable medium having a computer program stored thereon, which implements the steps of the method described in any one of Examples 1-6 when executed by a processing device.

[0120] According to one or more embodiments of the present disclosure, Example 13 provides an electronic device, comprising: a storage device on which a computer program is stored; and a processing device for executing the computer program in the storage device to implement the steps of any one of the methods described in Examples 1-6.

[0121] According to one or more embodiments of the present disclosure, Example 14 provides a computer-readable medium having a computer program stored thereon, which implements the steps of any one of the methods described in Examples 7-9 when executed by a processing device.

[0122] According to one or more embodiments of the present disclosure, Example 15 provides an electronic device, comprising: a storage device on which a computer program is stored; and a processing device for executing the computer program in the storage device to implement the steps of any one of the methods described in Examples 7-9.

[0123] The above description is merely a preferred embodiment of the present disclosure and an illustration of the technical principles employed. Those skilled in the art should understand that the scope of disclosure involved in the present disclosure is not limited to the technical solutions formed by the specific combination of the above-mentioned technical features, but also includes other technical solutions formed by any combination of the above-mentioned technical features or their equivalents without departing from the above-mentioned disclosed concepts. For example, a technical solution formed by replacing the above-mentioned features with (but not limited to) technical features with similar functions disclosed in this disclosure.

[0124] In addition, although each operation is described in a specific order, this should not be understood as requiring these operations to be performed in the specific order shown or in a sequential order. Under certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although some specific implementation details have been included in the above discussion, these should not be interpreted as limiting the scope of the present disclosure. Some features described in the context of a separate embodiment can also be implemented in a single embodiment in combination. On the contrary, the various features described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable sub-combination mode.

[0125] Although the subject matter has been described using language specific to structural features and / or methodological logical acts, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are merely example forms of implementing the claims. Regarding the apparatus in the above-described embodiments, the specific manner in which each module performs operations has been described in detail in the embodiments related to the method and will not be elaborated upon here.

Claims

1. A differential upgrade method, characterized in that: Applied to a server, the method includes: Obtaining a client upgrade request, wherein the client upgrade request includes an old package signature value list consisting of multiple old package signature values obtained by encrypting the current version content of the client; Determine a new package signature value list corresponding to the target version content for upgrade; Comparing the old packet signature value list with the new packet signature value list, and determining a signature value that exists in the new packet signature value list and does not exist in the old packet signature value list as a target signature value; Determine a differential upgrade package according to the target upgrade content corresponding to the target signature value in the target version content; Sending the differential upgrade package to the client for the client to perform differential upgrade; The determining of the differential upgrade package based on the target upgrade content corresponding to the target signature value in the target version content includes: The differential upgrade package is determined based on the binary code content corresponding to the target signature value in the new installation package, the data description information of the binary code content, the binary code signature corresponding to the entire binary code in the new installation package, and the file signature corresponding to the entire installation file after the new installation package is decompressed, wherein the new installation package is a new installation package corresponding to the target version content, and the new installation package is in the form of binary code.

2. The method according to claim 1, characterized in that The new package signature value list corresponding to the target version content determined for upgrading includes: Determine a new installation package corresponding to the target version content for upgrading, wherein the new installation package is in the form of binary code; Encrypting the new installation package to obtain the new package signature value list consisting of multiple new package signature values; The old package signature value list included in the client upgrade request is composed of multiple old package signature values obtained by encrypting the old installation package corresponding to the current version content of the client.

3. The method according to claim 2, characterized in that The step of encrypting the new installation package to obtain a new package signature value list consisting of multiple new package signature values includes: Each binary code block in the new installation package is encrypted separately to obtain multiple new package signature values corresponding to each binary code block, and the multiple new package signature values constitute the new package signature value list, wherein the binary code blocks correspond one-to-one to the multiple installation files obtained after the new installation package is decompressed.

4. The method according to claim 2, characterized in that Determining the differential upgrade package according to the target upgrade content corresponding to the target signature value in the target version content includes: Determine the binary code content corresponding to the target signature value in the new installation package as the target upgrade content; The differential upgrade package is determined according to the target upgrade content.

5. The method according to claim 4, characterized in that The step of determining the differential upgrade package according to the target upgrade content corresponding to the target signature value in the target version content further includes: Determining data description information of binary code content corresponding to the target signature value in the new installation package, the data information including at least one of data location and data quantity; Determining the differential upgrade package according to the target upgrade content includes: determining the differential upgrade package according to the target upgrade content and the data description information.

6. The method according to claim 4, characterized in that Determining the differential upgrade package according to the target upgrade content corresponding to the target signature value in the target version content further includes: determining a binary code signature corresponding to the entire binary code in the new installation package; The determining of the differential upgrade package according to the target upgrade content includes: determining the differential upgrade package according to the target upgrade content and the binary code signature; or The step of determining the differential upgrade package according to the target upgrade content corresponding to the target signature value in the target version content further includes: determining a file signature corresponding to the entire installation file after decompression of the new installation package; Determining the differential upgrade package according to the target upgrade content includes: determining the differential upgrade package according to the target upgrade content, the binary code signature, and the file signature.

7. A differential upgrade method, characterized in that: Applied to a client, the method includes: Generate a client upgrade request, wherein the client upgrade request includes an old package signature value list consisting of multiple old package signature values obtained by encrypting the current version content of the client; The client upgrade request is sent to the server; the client upgrade request is used to enable the server to compare the old package signature value list with the new package signature value list corresponding to the target version content for upgrading, determine the signature value that exists in the new package signature value list and does not exist in the old package signature value list as the target signature value, and determine the differential upgrade package according to the binary code content corresponding to the target signature value in the new installation package, the data description information of the binary code content, the binary code signature corresponding to the entire binary code in the new installation package, and the file signature corresponding to the entire installation file after the new installation package is decompressed; the new installation package is the new installation package corresponding to the target version content, and the new installation package is in the form of binary code; Receive the differential upgrade package returned by the server; Synthesize the target version content for upgrading based on the differential upgrade package and the current version content of the client; The client version is upgraded according to the target version content.

8. The method according to claim 7, characterized in that Generating a client upgrade request includes: The old installation package corresponding to the current version content of the client is encrypted to obtain the old package signature value list consisting of multiple old package signature values.

9. The method according to claim 8, characterized in that The old package signature value list consisting of a plurality of old package signature values obtained by encrypting the old installation package corresponding to the current version of the client includes: Each binary code block in the old installation package is encrypted separately to obtain multiple old package signature values corresponding to each binary code block, and the multiple new package signature values constitute the new package signature value list, wherein the binary code blocks correspond one-to-one to the multiple installation files obtained after the new installation package is decompressed.

10. A differential upgrade device, characterized in that: Applied to a server, the device includes: An acquisition module, configured to acquire a client upgrade request, wherein the client upgrade request includes an old package signature value list consisting of multiple old package signature values obtained by encrypting the current version content of the client; A determination module, used to determine a new package signature value list corresponding to the target version content for upgrading; a comparison module, configured to compare the old packet signature value list with the new packet signature value list, and determine a signature value that exists in the new packet signature value list and does not exist in the old packet signature value list as a target signature value; A first generating module is configured to determine a differential upgrade package according to a target upgrade content corresponding to the target signature value in the target version content; A first sending module, configured to send the differential upgrade package to the client, so that the client can perform differential upgrade; The first generation module is used to determine a differential upgrade package based on the binary code content corresponding to the target signature value in the new installation package, data description information of the binary code content, the binary code signature corresponding to the entire binary code in the new installation package, and the file signature corresponding to the entire installation file after the new installation package is decompressed, wherein the new installation package is a new installation package corresponding to the target version content, and the new installation package is in the form of binary code.

11. A differential upgrade device, characterized in that: Applied to a client, the device includes: A second generating module is configured to generate a client upgrade request, wherein the client upgrade request includes an old package signature value list consisting of multiple old package signature values obtained by encrypting the current version content of the client; A second sending module is configured to send the client upgrade request to a server; the client upgrade request is configured to cause the server to compare the old package signature value list with the new package signature value list corresponding to the target version content for the upgrade, determine the signature value that exists in the new package signature value list and does not exist in the old package signature value list as the target signature value, and determine the differential upgrade package based on the binary code content corresponding to the target signature value in the new installation package, the data description information of the binary code content, the binary code signature corresponding to the entire binary code in the new installation package, and the file signature corresponding to the entire installation file after the new installation package is decompressed; the new installation package is the new installation package corresponding to the target version content, and the new installation package is in the form of binary code; A receiving module, configured to receive the differential upgrade package returned by the server; A synthesis module, configured to synthesize the target version content for upgrading based on the differential upgrade package and the current version content of the client; The upgrade module is used to upgrade the client version according to the target version content.

12. A computer-readable medium having a computer program stored thereon, characterized in that: When the program is executed by a processing device, the steps of the method according to any one of claims 1 to 6 are implemented.

13. An electronic device, characterized in that: include: a storage device having a computer program stored thereon; A processing device, configured to execute the computer program in the storage device to implement the steps of the method according to any one of claims 1 to 6.

14. A computer-readable medium having a computer program stored thereon, characterized in that: When the program is executed by a processing device, the steps of the method according to any one of claims 7 to 9 are implemented.

15. An electronic device, characterized in that: include: a storage device having a computer program stored thereon; A processing device, configured to execute the computer program in the storage device to implement the steps of the method according to any one of claims 7 to 9.

Citation Information

Patent Citations

  • Method and system for upgrading Android software

    CN106528086A