一种通过下载增量升级包来升级安卓智能手机软件的方法技术

技术编号:8685718 阅读:447 留言:0更新日期:2013-05-09 05:16
本发明专利技术提供一种通过下载增量升级包来升级安卓智能手机软件的方法,该方法包括服务端处理流程和手机端的更新流程;本发明专利技术不再对新版本文件完整全部地进行网络传输,而是在服务端通过算法计算出旧版本和新版本的差异信息,并将差异部分生成一个增量升级包,手机端只要下载该增量升级包,并在手机端重新生成一个新版本的完整升级安装包,最终调用安装程序进行新版本软件的安装。本发明专利技术的手机端只要请求一个体积小的增量升级包,而不是完整的新版本安装包。本发明专利技术的服务端通过下发增量升级包减少了下载服务器的本地IO资源消耗,同时减少了网络带宽的开销。本发明专利技术还使手机用户缩短了下载的等待时间,节省了手机流量,提升了用户体验。

【技术实现步骤摘要】

本专利技术涉及通讯设备
,尤其涉及。
技术介绍
SHAl算法简介:SHAl算法即安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准(Digital Signature Standard DSS)里面定义的数字签名算法(DigitalSignature Algorithm DSA)。对于长度小于2~64位的消息,SHAl会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变化,那么这时候就会产生不同的消息摘要。现有技术中,安卓智能手机安装的各种软件,是通过应用商店、浏览器或PC上的助手下载、安装的,当软件的开发者(或开发商)对软件进行版本更新,手机上的旧版本软件需要升级到新版本时,传统的技术方案是从服务端下载完整的高版本安装包到手机,然后调用手机上的安装程序进行高版本软件的安装。现有技术的该方案存在如下缺陷:1、升级时,高版本的安装包必须完整的下载,用户需要消耗较多的手机流量以及等待更长的下载时间,在手机流量有限的情况下,升级一个较大的软件时,这种情况就尤为明显。2、手机软件下载的服务器存在着带宽压力,在分发量较大的情况下,服务器消耗更多的本地文件IO资源,以及消耗更多的网络带宽资源。
技术实现思路
本专利技术要解决的技术问题,在于提供,使手机用户缩短了下载的等待时间,节省了手机流量,提升了用户体验。本专利技术是这样实现的:,该方法包括服务端处理流程和手机端的更新流程;所述服务端处理流程包括如下步骤:步骤10、服务端接收手机端的已安装手机软件的软件标识符、版本信息;将手机软件的软件标识符、版本信息与服务端的软件资源库进行对比,若该手机软件可更新,则进入步骤11 ;无需更新,则不进行操作;步骤11、获得手机软件此时的旧版本的apk安装包并进行解压该安装包,读取安装包META-1NF目录下的MANIFEST.MF文件中的SHAl摘要信息,形成一份旧版本的所有安装文件的SHAl摘要信息列表I ;步骤12、通过已安装手机软件的软件标识符从软件资源库中找出对应软件的需升级的安装包,即新版本的安装包并进行解压该新版本的安装包;读取新版本的安装包META-1NF目录下的MANIFEST.MF文件中的SHAl摘要信息,并形成一份新版本的所有安装文件的SHAl摘要信息列表2 ;步骤13、对比SHAl摘要信息列表I和SHAl摘要信息列表2的每个文件,会得到下列四种情况:A、某一安装文件不存在列表I中,而存在列表2中,则新版本的安装包增加了该安装文件;B、某一安装文件存在列表I中,而不存在列表2中,则新版本的安装包删除了该安装文件;C、某一安装文件存在列表I和列表2中,但二者的SHAl摘要信息不相同,则新版本的安装包修改了该安装文件;D、某一安装文件存在列表I和列表2中,且二者的SHAl摘要信息相同,则该安装文件在两个版本中保持不变;步骤14、将符合A和C两种情况的安装文件合并压缩形成所述增量升级包,将符合D情况的安装文件形成一升级信息数据,将增量升级包和升级信息数据一起下发给手机端;所述手机端的更新流程包括如下步骤:步骤20、找出该已安装手机软件在手机上的apk安装包;步骤21、下载增量升级包,并修改其后缀为.apk ;步骤22、逐个地从apk安装包中读出安装文件,根据所述升级信息数据,将读出的符合D情况的安装文件写入到增量升级包中;从而形成升级新版本所需要的新版本apk安装包;步骤23、调用手机的安装程序通过新版本apk安装包完成升级。进一步地,所述步骤11中获得手机软件此时的旧版本的安装包并进行解压该安装包具体为:手机软件的软件标识符、版本信息与服务端的软件资源库进行对比后,在软件资源库中得到该手机软件此时版本的安装包,即为旧版本的安装包,并进行解压该安装包。本专利技术具有如下优点:本专利技术不再对新版本文件完整全部地进行网络传输,而是在服务端通过算法计算出旧版本和新版本的差异信息,并将差异部分生成一个增量升级包,手机端只要下载该增量升级包,并在手机端重新生成一个新版本的完整升级安装包,最终调用安装程序进行新版本软件的安装。本专利技术的手机端只要请求一个体积小的增量升级包,而不是完整的新版本安装包。本专利技术的服务端通过下发增量升级包减少了下载服务器的本地IO资源消耗,同时减少了网络带宽的开销。本专利技术还使手机用户缩短了下载的等待时间,节省了手机流量,提升了用户体验。附图说明图1为本专利技术的服务端处理流程示意图。图2为本专利技术的手机端的更新流程示意图。具体实施例方式请参阅图1和图2所示,本专利技术的,该方法包括服务端处理流程和手机端的更新流程;所述服务端处理流程包括如下步骤:步骤10、服务端接收手机端的已安装手机软件的软件标识符、版本信息;将手机软件的软件标识符、版本信息与服务端的软件资源库进行对比,若该手机软件可更新,则进入步骤11 ;无需更新,则不进行操作;该软件资源库存储有不同类型的软件的安装包,软件的类型是根据软件标识符进行区分的;不同类型的软件都对应有各自的版本信息;步骤11、获得手机软件此时的旧版本的apk安装包并进行解压该安装包,读取安装包META-1NF目录下的MANIFEST.MF文件中的SHAl摘要信息,形成一份旧版本的所有安装文件的SHAl摘要信息列表I ;所述获得手机软件此时的旧版本的安装包并进行解压该安装包具体为:手机软件的软件标识符、版本信息与服务端的软件资源库进行对比后,在软件资源库中得到该手机软件此时版本的安装包,即为旧版本的安装包,并进行解压该安装包;步骤12、通过已安装手机软件的软件标识符从软件资源库中找出对应软件的需升级的安装包,即新版本的安装包并进行解压该新版本的安装包;读取新版本的安装包META-1NF目录下的MANIFEST.MF文件中的SHAl摘要信息,并形成一份新版本的所有安装文件的SHAl摘要信息列表2 ;步骤13、对比SHAl摘要信息列表I和SHAl摘要信息列表2的每个文件,会得到下列四种情况:A、某一安装文件不存在列表I中,而存在列表2中,则新版本的安装包增加了该安装文件;B、某一安装文件存在列表I中,而不存在列表2中,则新版本的安装包删除了该安装文件;C、某一安装文件存在列表I和列表2中,但二者的SHAl摘要信息不相同,则新版本的安装包修改了该安装文件;D、某一安装文件存在列表I和列表2中,且二者的SHAl摘要信息相同,则该安装文件在两个版本中保持不变;步骤14、将符合A和C两种情况的安装文件合并压缩形成所述增量升级包,将上述四种情形(增加、删除、修改、不变)的信息进行汇总,形成一升级信息数据,将增量升级包和升级信息数据一起下发给手机端;所述手机端的更新流程包括如下步骤:步骤20、找出该已安装手机软件在手机上的apk安装包;步骤21、下载增量升级包(包含增加的安装文件和修改的安装文件),并修改其后缀为.apk ;步骤22、逐个地从apk安装包中读出安装文件,根据所述升级信息数据,将读出的符合D情况的安装文件写入到增量升级包中;从而形成升级新版本所需要的新版本apk安装包;步骤23、调用手机的安装程序通过新版本apk安装包完成升级。总之,本专利技术的手机端只要请求一个体积小的增量升级包,而不是本文档来自技高网...

【技术保护点】
一种通过下载增量升级包来升级安卓智能手机软件的方法,其特征在于:该方法包括服务端处理流程和手机端的更新流程;所述服务端处理流程包括如下步骤:步骤10、服务端接收手机端的已安装手机软件的软件标识符、版本信息;将手机软件的软件标识符、版本信息与服务端的软件资源库进行对比,若该手机软件可更新,则进入步骤11;无需更新,则不进行操作;步骤11、获得手机软件此时的旧版本的apk安装包并进行解压该安装包,读取安装包META?INF目录下的MANIFEST.MF文件中的SHA1摘要信息,形成一份旧版本的所有安装文件的SHA1摘要信息列表1;步骤12、通过已安装手机软件的软件标识符从软件资源库中找出对应软件的需升级的安装包,即新版本的安装包并进行解压该新版本的安装包;读取新版本的安装包META?INF目录下的MANIFEST.MF文件中的SHA1摘要信息,并形成一份新版本的所有安装文件的SHA1摘要信息列表2;步骤13、对比SHA1摘要信息列表1和SHA1摘要信息列表2的每个文件,会得到下列四种情况:A、某一安装文件不存在列表1中,而存在列表2中,则新版本的安装包增加了该安装文件;B、某一安装文件存在列表1中,而不存在列表2中,则新版本的安装包删除了该安装文件;C、某一安装文件存在列表1和列表2中,但二者的SHA1摘要信息不相同,则新版本的安装包修改了该安装文件;D、某一安装文件存在列表1和列表2中,且二者的SHA1摘要信息相同,则该安装文件在两个版本中保持不变;步骤14、将符合A和C两种情况的安装文件合并压缩形成所述增量升级包,将符合D情况的安装文件形成一升级信息数据,将增量升级包和升级信息数据一起下发给手机端;所述手机端的更新流程包括如下步骤:步骤20、找出该已安装手机软件在手机上的apk安装包;步骤21、下载增量升级包,并修改其后缀为.apk;步骤22、逐个地从apk安装包中读出安装文件,根据所述升级信息数据,将读出的符合D情况的安装文件写入到增量升级包中;从而形成升级新版本所需要的新版本apk安装包;步骤23、调用手机的安装程序通过新版本apk安装包完成升级。...

【技术特征摘要】
1.一种通过下载增量升级包来升级安卓智能手机软件的方法,其特征在于:该方法包括服务端处理流程和手机端的更新流程; 所述服务端处理流程包括如下步骤:步骤10、服务端接收手机端的已安装手机软件的软件标识符、版本信息;将手机软件的软件标识符、版本信息与服务端的软件资源库进行对t匕,若该手机软件可更新,则进入步骤11 ;无需更新,则不进行操作; 步骤11、获得手机软件此时的旧版本的apk安装包并进行解压该安装包,读取安装包META-1NF目录下的MANIFEST.MF文件中的SHAl摘要信息,形成一份旧版本的所有安装文件的SHAl摘要信息列表I ; 步骤12、通过已安装手机软件的软件标识符从软件资源库中找出对应软件的需升级的安装包,即新版本的安装包并进行解压该新版本的安装包;读取新版本的安装包META-1NF目录下的MANIFEST.MF文件中的SHAl摘要信息,并形成一份新版本的所有安装文件的SHAl摘要信息列表2 ; 步骤13、对比SHAl摘要信息列表I和SHAl摘要信息列表2的每个文件,会得到下列四种情况:A、某一安装文件不存在列表I中,而存在列表2中,则新版本的安装包增加了该安装文件;B、某一安装文件存在列表I中,而不存在列表2中,则新版本的安装...

【专利技术属性】
技术研发人员:刘德建陈宏展陈兴柏邱立亮朱余亮周培根
申请(专利权)人:福州博远无线网络科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1