论文部分内容阅读
随着现代工业及移动通信技术的快速发展,智能手机的使用范围已经遍布全世界。Android系统具有良好的开放性和平台开发的便捷性,因此越来越多的智能手机采用Android系统作为手机操作系统。由于bug的修复和新特性的加入使得系统升级变得非常频繁,同时,用户对系统运行的流畅程度和安全性等要求越来越高,这导致系统升级的文件不断增大。目前各大手机生产厂商提供的系统升级方式各不相同,大多数采用全量升级的方式,此方式数据量大,下载耗时长,安装升级文件的过程中容易出现设备电池耗尽等异常情况,导致升级失败造成系统崩溃;部分采用增量升级的方式,但是大部分升级机制不完善,存在安全漏洞。本文针对手机系统升级的现状,结合南京某通讯设备生产企业的实际需求,对基于Android平台的OTA增量升级系统进行了相关的研究和设计。本文围绕增量升级的原理,对基于二进制文件的差分算法进行研究,对比多种差分算法的效率及性能,最终采用BSDiff算法实现增量升级文件的制作并提出了一种服务器端自动制作增量升级文件的方法。然后结合Java Web开发技术和Android开发技术,设计了一种基于Android平台的OTA增量升级系统。针对升级过程中的安全漏洞,本文设计了多种安全防护机制,其中服务器端设计了负载均衡、双机热备、动态身份验证及带宽控制的方案,保证数据存储及传输的安全性,并且极大地提高了服务器的并发处理能力。并且使用MD5数字签名算法校验增量文件的完整性,移动终端使用Recovery机制安装升级文件,确保升级失败时不会导致系统崩溃。基于MTK6735和MTK6592硬件平台实现该方案,测试结果表明,本系统的设计方案是可行的,能够实现手机操作系统的增量升级,减少了用户下载数据量和安装升级的时间,并且极大地提高了OTA增量升级的安全性。