增量升级方法技术综述

2017-03-23 11:50辛小霞
科学与财富 2016年34期
关键词:固件增量差分

辛小霞

(国家知识产权局专利局专利审查协作湖北中心 湖北省 武汉市 430000)

摘 要:随着计算机技术的飞速发展,系统及软件的更新升级越来越频繁,如何能够高效的更新升级系统及软件已经成为研究的热点。增量升级相对于传统的整体升级来说,可以减小升级包大小,从而减少资源传输,提高升级效率,因此得到广泛的应用。本文从专利文献的视角对增量升级方法的应用进行概述。

关键词:增量;差分;升级;系统;固件;软件;成功率;服务器;升级时间

1增量升级方法概述

增量升级又叫差分升级、增量更新,其是将旧版本与新版本的数据文件做差分,得到升级部分的补丁即差分包;用户下载了差分包之后,将旧版本数据与差分包进行组合,以得到新版本的数据文件。目前移动终端中最常见的增量升级方式主要有OTA升级以及FOTA升级;增量升级算法的核心是差分包,构造差分包中,常见的增量升级算法有Hdiff、Exediff、Bsdiff、RTPath、Xdelta和bzip2。

2增量升级的应用

在中文专利库中对增量升级进行分析,增量升级主要应用于系统、固件、以及软件方面,下面将从这三个方面对增量升级的应用进行的介绍。

系统升级,需要在源文件系统和目标文件系统之间,需要在源文件系统和目标文件系统之间,通过某种差分算法生成差分升级包,在实际升级过程中再利用差分包将终端设备升级到目标文件系统。这种方式的优点在于升级包只涉及到两个版本文件系统之间有差异的部分,相同部分不纳入升级范围。这样制作出的升级包尺寸较小,能实现快速的下载和升级。

由红石阳光(北京)科技有限公司申请的发明名称为用于嵌入式系统的差分升级方法的专利文件就是对嵌入式的系统进行的差分升级,该方法有效地较少了内存空间的占用。

FOTA-空中固件升级对移动终端来说,可以通过移动网络下载移动终端固件的差分升级包,来实现对移动终端固件的升级。通过二进制差分的方法生成差分升级包,基本上可以达到整个移动终端固件影像的1/10,使得移动终端可以快捷、经济地进行可靠的移动终端固件的升级。中兴公司是国内通讯行业的领头羊,中兴通讯股份有限公司更加注重在硬件上的研究,其申请的发明名称为免驱终端的固件升级方法和装置,有效地提高了对免驱终端进行固件升级的效率。

为了满足用户不断增长的应用需求,软件发布者需要定期或者不定期地提供软件的新版本软件的安装包,以实现客户端中旧版本软件的功能升级。应用软件增量升级,仅需要从服务器中下载增量升级文件,将增量升级文件与客户端中的当前版本软件进行合成,得到完整的软件升级安装包进行安装。互联网行业中,由腾讯科技有限公司申请的软件升级方法在软件升级过程中,无需下载新版本软件的完整安装包,仅需要下载软件的增量升级文件,减少带宽资源的消耗,降低软件维护成本。

3 增量升级面临的问题

增量升级过程中、成功率,服务器端存储、以及升级时间是决定增量升级过程的关键因素。

3. 1 升级成功率问题

目前,客户端应用程序的增量升级,主要存在以下问题:安装文件传输过程可能发生丢失、修改或被破解的情况,则无法进行升级;并且,这种增量升级方式未对当前安装文件进行验证,当前安装文件存在其它问题时,也可能会导致增量升级的失败。为了提高增量升级的成功率,有以下技术手段:校验当前安装文件、定时检测策略以及回滚策略等。

小米科技有限责任公司提出一种增量升级方法,该方法通过在增量升级包中增加校验文件来检验文件是否异常,该方案确保了增量升级的顺利进行,终端设备会在后台进行异常文件的修复,用户感觉不到该修复过程,从而提升用户体验。

对于增量升级过程进行定时检测,也可以有效地提高成功率。中兴通讯股份有限公司的专利申请一种软件升级方法及装置使用版本检测策略实现终端上的定时检测功能,完成定时检测、失败处理等;可提高软件升级的成功率,以及完成对原有软件版本的备份保护及异常掉电引起的数据错误处理。

对于增量升级过程失败或出现问题,可以使用回滚策略来提高成功率。华为终端有阳公司提出的专利申请系统筹分升级方法和装置、移动终端就是使用回滚数据以及脚本,在升级失败时,根据该回滚数据执行该回滚脚本,可以恢复到升级前的系统。另外,在打开增量升级包时,可创建备份包,备份包用于保存系统还原所需的系统还原文件与系统还原控制信息文件,在增量升级失败时可进行回滚操作。

3.2 服务器端问题

增量升级的方法可以节省用户的流量,但是同时也引入了增量升级包的管理问题。在现有技术中,对于增量升级包的管理存在以下问题,服务器端根据客户端的升级请求临时制作增量升级包,占用较多服务器的资源,升级包需要耗费很长的时间,会直接影响客户端软件的响应速度;将所有的增量升级包都存放在服务器端,随着版本的迭代,会造成大量的冗余数据,会给服务器造成巨大的存储和数据管理的负担。为减少服务器端的存储和管理增量升级包的负担,有以下技术手段:设置基线版本以及中间包等技术。

百度在线网络技术(北京)有限公司的专利申请升级包、升级请求的处理方法及装置中就提出通过设置基线版本,生成基线版本以及其他版本到最新版本的增量升级包来减少了服务器制作、存储和管理增量升级包的数量,提高了服务器的资源利用率;而TCL集团股份有限公司的专利申请一种升级包管理方法及服务器则是根据设置中间包的方式有效节省了服务器的存储空间,减小了服务器的压力,进而提高了服务器的运行效率。

3.3 升级时间方法

差分升级过程中

差分升级过程初始版本为1. 1版本,OTA服务器配置的升级包一般为:1. 1版本-1. 2版本,1. 2版本-1. 3版本,1. 3版本-1. 4版本,依次类推。如果最新版本是1. 4版本。在这种情况下,用户向OTA服务器发送升级请求后,OTA服务器首先返回1. 1版本-1. 2版本的差分升级包,手机先升级到1. 2版本后,再向OTA服务器发送升级请求,然后升级到1. 3版本,接着再向OTA服务器发送升级请求,才能升级到1. 4版本,这样手机需要三次OTA升级才能升级到最高版本。因此,升级过程耗时较长,降低了用户体验。未解决增量升级时间问题,有以下技术手段:一次传输升级所需全部差分包以及跨级升级。

青岛海信移动通信技术股份有限公司申请的专利一种软件跨版本升级的方法、客户端及服务器介绍了一种一次传输升级所需全部差分包的方法,服务器一次性将所有的差分升级包发送给终端,以使终端一次性升级至最高版本,从而缩短了终端与服务器之间的交互时间,从而缩短了终端升级过程所需的时长,提高了用户体验。该公司的另一专利一种软件跨版本升级的方法、客户端及服务器提出了一种跨级升级的方法,客户端从服务器获取两个差分升级包就可以实现跨版本的升级,避免了传统的升级方式获取中间版本的各个差分升级包导致等待时间过长和升级失败的情况发生,提高了用户体验。

4 总结

本文通过中兴和华为、腾讯等国内企业涉及增量升级的专利申請,对增量升级目前主要的应用环境以及在应用过程中存在的问题进行简单介绍,然后针对增量升级过程中面临的成功率、升级耗时和服务器端存储等问题给出了其常规的解决方法。

参考文献

[1] 武柯安,李庭胜,吴传伟,一种无操作系统下SOC 软件增量升级方法[J],电子设计工程,2016.24(2):161-164.

[2] 陶鸿飞,赵正德,王文,空中下载(OTA)系统安全性的研究,中国图像图形学报[J],2008.13(10).1930-1933.

猜你喜欢
固件增量差分
提质和增量之间的“辩证”
数列与差分
“价增量减”型应用题点拨
基于均衡增量近邻查询的位置隐私保护方法
基于固件的远程身份认证
提取ROM固件中的APP
基于差分隐私的大数据隐私保护
德州仪器(TI)发布了一对32位增量-累加模数转换器(ADC):ADS1262和ADS126
相对差分单项测距△DOR
一种通过USB接口的可靠固件升级技术