Application Upgrade Patching via Custom Data Extraction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current application upgrade methods require multiple patch packages for different customized information portions, leading to a heavy workload for developers and potential signature verification failures.
Innovation Solution
A method that removes customized information from both old and new installation packages, generates a patch package based on their data portions, and adds customized information back to the new package, allowing for a single patch package to be used across various customized information versions, while optimizing memory usage and maintaining signature verification integrity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the bsdiff algorithm is used to generate patch packages for different customized information portions, then the application can be upgraded with difference operation, but the developer has to provide many different patch packages for the same version of application with different customized information portions
Solution Approach 1:
The patent extracts the customized information portion from the installation package, separating it from the data portion. This allows the patch package to be generated only for the data portion, while the customized information portion is handled separately and added back after patching, thus eliminating the need for multiple patch packages for different customized information versions.
Solution Approach 2:
The installation package is segmented into two distinct parts: the data portion (which contains the actual application code and resources) and the customized information portion (which contains release channel and other customized data). This segmentation enables independent processing of each part during the upgrade process.
2Reliability
If patch packages are generated for each customized information portion, then signature verification can be performed accurately, but the workload for developers increases significantly
Solution Approach 1:
The customized information portion is extracted and set aside before generating the patch package. This ensures that the patch package only contains differences in the data portion, maintaining signature verification accuracy for the patched components while eliminating the need to generate multiple patch variants for different customized information.
Solution Approach 2:
The customized information portion is removed and preserved before the patching operation begins. After the patch package is applied to generate the new installation package, the customized information portion is added back in a preliminary prepared state, ensuring both verification accuracy and reduced workload.
3Reliability
If the entire installation package is processed for patching, then complete upgrade functionality is achieved, but the upgrade time and traffic consumption increase
Solution Approach 1:
Instead of processing the entire installation package for patching, the method applies partial action by generating patch packages only for the data portion. The customized information portion is excluded from the patching process entirely and added back afterward, significantly reducing the amount of data that needs to be processed during the upgrade.
Solution Approach 2:
The customized information portion is extracted and removed from the installation package before the patching operation. This reduces the size of the data that must be processed during the difference operation, thereby reducing both upgrade time and traffic consumption while maintaining complete upgrade functionality.
Data Source
AI summary
The present invention provides a method for upgrading an application, and the method includes: obtaining a patch package corresponding to a current installation package of an application; removing a customized information portion from the current installation package and obtaining a data portion of the current installation package; generating a data portion of a new installation package according to the patch package and the data portion of the current installation package; obtaining the new installation package by adding the customized information portion to the data portion and the new installation package; installing the new installation package.


