论文总字数:36203字
摘 要
目前移动应用软件更新的方式,一般为全量下载新版安装包覆盖安装,或者通过应用内置的更新框架,进行增量更新数据包下载。前者的缺点在于,安装包较大的情况下,全量更新浪费网络带宽和时间;后者的缺点则在于只有内置对应增量更新框架的软件才可以使用,无法实现通用化。
Android系统是目前市面上用户量占比最高的移动操作系统,且基于最流行的开源操作系统Linux,在开源社区的发展有目共睹。
本文基于Android平台下应用程序的安装包特性,针对同一软件由于发布渠道众多,市面上旧安装包版本多而杂的情况,设计了一套适用于应用商店的通用化增量更新系统。本文的主要工作包括:
1、 简述了Android操作系统及增量更新技术的发展现状,分析了相关技术的优缺点。
2、 对系统设计的关键问题进行分析,设计合理的算法和数据格式。基于ZIP压缩格式的特点,对新旧安装包进行单项文件的差分计算,并且对不同文件分别采取不同策略,进一步减小Patch包体积。
3、 设计了系统的整体架构,将提取旧安装包的关键信息、合成新安装包的任务交由终端,后台则负责各个渠道旧安装包的爬取、Patch包生成,形成较低的耦合结构,并且任务均匀分配给终端和后台,简化了两者之间的通信步骤。系统完成后,对系统的整体可靠性进行了测试和验证。
通过该系统更新的应用程序,不需要事先植入额外的组件或者框架依赖。该系统主要对应用软件的新旧安装包进行差异分析,服务器只需要从终端获取旧应用的部分信息,即可生成当前旧版本与最新版本对应的增量数据包,并由应用商店负责增量合成,实现增量更新的目的。同时,本文还设计了合理的数据格式,使得数据的下载和合成可以同时进行,极大缩短用户感知时间。
关键词:
移动应用更新、增量更新、差分算法、ZIP压缩格式、Android应用开发
Abstract
The current way to update the application software, usually for the full download of the new installation package to cover the installation, or through the application of the built-in update framework, incremental update packet download. The shortcomings of the former is that in the case of large installation package, the full amount of waste network bandwidth and time; the latter is that only the default built-in incremental update framework to the software can be used, so it is not a universal solution .
Android system, which based on the most popular open source operating system Linux, is currently the highest proportion of mobile operating system on the market. The development of Android in the open source community is obvious.
This article is based on the Android platform application package installation package features, for the same software as a large number of distribution channels, the old version of the old version of the package and the situation, the design of a set of applications for the application of the general incremental update system. The main work of this paper includes:
1.Describes the Android operating system and incremental update technology development status, analysis of the advantages and disadvantages of the relevant technology.
2.The key issues of system design analysis, design a reasonable algorithm and data format. Based on the characteristics of ZIP compression format, the new and old installation package for individual file differential calculation, and different files were taken to update with different strategy, to further reduce the payload package size.
3.Designedthe overall architecture of the system. The terminal extracted the key information of the old installation package and finished the task of synthesizing the new installation package. The server is responsible for the crawling of the old installation package of each channel, the formation of the patch packet, the formation of the lower coupling structure, and tasks are evenly distributed to the terminal and backstage, simplifying the communication between server and terminal. After the system is completed, the overall reliability of the system is tested and verified
Applications that are updated through the system do not require pre-implantation of additional components or framework dependencies. The system mainly analyzes the difference between the old and new installation packages of the application software. The server only needs to obtain some information of the old application from the terminal, and can generate the incremental packets corresponding to the latest version and the latest version. The application store is responsible for the incremental synthesis . To achieve the purpose of incremental updates. At the same time, this paper also designed a reasonable data format, so that data download and synthesis can be carried out at the same time, greatly shorten the user perception time.
Key words: Mobile application updates, incremental updates, differential algorithms, ZIP compression formats, Android application development
目录
摘要 I
Abstract II
第一章绪论 1
1.1 课题背景 1
1.2 研究现状 3
1.3 课题意义 4
1.4 论文结构 5
第二章相关技术 6
2.1 Android应用程序安装包格式 6
2.2 ZIP压缩文件格式 7
2.3 JSON数据格式 18
2.3 小结 19
第三章增量更新策略设计 20
3.1 差分工具与差分策略设计概要 20
3.2 安装包二进制还原的必要性 20
3.3 增量更新算法设计 22
3.4 小结 25
第四章系统设计 26
4.1 终端信息提取模块设计 27
4.2 数据格式设计 28
4.3 后台Patch包生成模块设计 37
4.4 终端合成新安装包模块设计 42
4.4 小结 44
第五章测试与评估 45
5.1 测试目的 45
5.2 测试方法 45
5.3 测试过程 45
5.4 结论 47
第六章总结和展望 48
6.1 全文总结 48
6.2 进一步的工作 48
参考文献 50
致谢 51
第一章 绪论
1.1 课题背景
1.1.1Android已成市场主流操作系统
截止到2017年1月,国内手机市场操作系统关注比例如表格1所示:
表格1国内手机市场操作系统关注比例
操作系统种类 | 关注比例 |
Android | 84.7% |
iOS | 11.5% |
WP | 0.5% |
可见Android在智能手机使用人群中的关注比例已经达到了最高。而在市场份额上,根据IDC的统计(如表格2所示):
剩余内容已隐藏,请支付后下载全文,论文总字数:36203字
该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;