[发明专利]一种程序升级下载方法和装置有效
| 申请号: | 201210533790.0 | 申请日: | 2012-12-11 |
| 公开(公告)号: | CN103051689A | 公开(公告)日: | 2013-04-17 |
| 发明(设计)人: | 王东玉;苏云琳 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
| 主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F17/30 |
| 代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 苏培华 |
| 地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 程序 升级 下载 方法 装置 | ||
技术领域
本发明涉及计算机技术领域,具体涉及一种程序升级下载方法和装置。
背景技术
对于程序升级来说,比如游戏程序等应用程序,一般存在两种方式:
一是整包升级,就是将一个程序版本的所有文件组合安装包,由终端升级程序下载之后执行对原有版本进行安装或升级。
二是差异升级,方式是将数据文件按照某种方式存储,并形成一个数据文件列表,将这些数据文件的部分信息写入,终端的升级程序先下载数据文件列表并与本地文件比对,形成差异列表,之后下载相应的数据文件进行升级。
但是在实际中,现有技术可对产品隔一段时间做一次新版本,以使新用户无需从原始版本开始安装,然后逐个升级至最新版本。
比如,对于一个初始版本安装包A,其后续数据文件包括数据文件A1,数据文件A2,为了保证客户端能够进行差异升级需要一个单独的列表文件L1将对A,A1,A2的相关信息进行顺序存储。而为了使后续新的用户可以直接安装当前最新的产品,则可将A+A1+A2做成第二版的安装包B,而在此之后出现的数据文件针对第二版的数据文件B1,B2,那么为了保证安装初始版本的客户端和第二版本的客户端均可正常升级,那么需要对初始版本的数据文件重新更改列表文件,并针对第二版本的数据文件更改列表文件;那么以此类推,如果为了使客户端不用从初始版本开始安装产品,并逐个升级至最新状态,随着升级的数据的增加,其版本可能越来越多,存在于服务器中的文件相应增加量更多。
对于整包升级,文件的一致性比较好,不用考虑版本问题,下载逻辑比较简单,但对于用户来说,下载量比较大,每次升级都会有较多的冗余数据。
对于差异升级,只下载差异数据,缺点是文件量很大,但是对于前述情况,如果针对同一产品,其版本很多的时,首先,由于各版本的文件之间需要保持一致,那么随着版本的大量增加,各种版本相应的文件数量增加,导致维持各种版本文件的一致性的逻辑也越来越复杂。其次,由于服务器中存在各种版本的文件,导致目录中文件过多,而对于某个客户端的升级请求,服务器查询其存储的相应于所述升级请求的文件时,需要遍历的文件也非常庞大,影响服务器性能。再次,由于相应文件个数相对很多,对于存储和管理不方便,并且占用存储空间也大。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种程序升级下载装置、系统和相应的一种程序升级下载方法。
依据本发明的一个方面,提供了一种程序升级下载的方法,包括:
生成一个可执行文件,所述可执行文件用于:将用于原始安装的升级数据、以及后续新获得的用于升级的升级数据存入所述可执行文件数据区,并在所述升级数据区的指定字节位置或数据段存储列表文件数据;所述列表文件数据记录的包括:安装数据和各升级数据的文件特征信息,和安装数据和各升级数据在数据区中存储的字节位置或数据段;
基于所述可执行文件的程序升级下载过程包括:
接收客户端的程序升级下载请求;
根据所述程序升级下载请求,获取所述可执行文件数据区中指定字节位置或数据段存储的第一列表文件数据和获取对应客户端可执行文件的第二列表文件数据,并比较所述第一列表文件数据和第二列表文件数据的文件特征信息,判断是否存在客户端未下载的升级数据;
如果存在,则根据列表文件数据记录的所述升级数据在在数据区中存储的字节位置或数据段,从所述可执行文件数据区中提取升级数据并将所升级数据提供给客户端下载。
可选的,所述根据所述程序升级下载请求,获取所述可执行文件数据区中指定字节位置或数据段存储的第一列表文件数据和获取对应客户端可执行文件的第二列表文件数据,并比较所述第一列表文件数据和第二列表文件数据的文件特征信息,判断是否存在客户端未下载的数据包括:
从所述可执行文件数据区的指定字节位置或者数据段中,提取第一列表文件数据;
通知客户端将其可执行文件中的第二列表文件数据上传;
将第二列表文件数据与第一列表文件数据的文件特征信息比较,获得的客户端未下载的升级数据在所述可执行文件数据区中存储的字节位置或数据段。
可选的,所述根据所述程序升级下载请求,获取所述可执行文件数据区中指定字节位置或数据段存储的第一列表文件数据和获取对应客户端可执行文件的第二列表文件数据,并比较所述第一列表文件数据和第二列表文件数据的文件特征信息,判断是否存在客户端未下载的升级数据包括:
从所述可执行文件数据区的指定字节位置或者数据段中,提取第一列表文件数据提供给客户端下载;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210533790.0/2.html,转载请声明来源钻瓜专利网。





