【技术实现步骤摘要】
本专利技术涉及计算机
,具体涉及一种用于处理程序升级的方法和装置。
技术介绍
对于程序升级来说,比如游戏程序等应用程序,一般存在两种方式一是整包升级,就是将一个程序版本的所有文件组合安装包,由终端升级程序下载之后执行对原有版本进行安装或升级。二是差异升级,方式是将数据文件按照某种方式存储,并形成一个数据文件列表,将这些数据文件的部分信息写入,终端的升级程序先下载数据文件列表并与本地文件比对,形成差异列表,之后下载相应的数据文件进行升级。但是在实际中,现有技术可对产品隔一段时间做一次新版本,以使新用户无需从原始版本开始安装,然后逐个升级至最新版本。比如,对于一个初始版本安装包A,其后续数据文件包括数据文件Al,数据文件A2,为了保证客户端能够进行差异升级需要一个单独的列表文件LI将对A,A1,A2的相关信息进行顺序存储。而为了使后续新的用户可以直接安装当前最新的产品,则可将A+A1+A2做成第二版的安装包B,而在此之后出现的数据文件针对第二版的数据文件BI,B2,那么为了保证安装初始版本的客户端和第二版本的客户端均可正常升级,那么需要对初始版本的数据文件重新更改列表文件,并针对第二版本的数据文件更改列表文件;那么以此类推,如果为了使客户端不用从初始版本开始安装产品,并逐个升级至最新状态,随着升级的数据的增加,其版本可能越来越多,存在于服务器中的文件相应增加量更多。对于整包升级,文件的一致性比较好,不用考虑版本问题,下载逻辑比较简单,但对于用户来说,下载量比较大,每次升级都会有较多的冗余数据。对于差异升级,只下载差异数据,缺点是文件量很大,但是对于前述 ...
【技术保护点】
一种用于处理程序升级的方法,包括:生成一个可执行文件,所述可执行文件用于:将用于原始安装的升级数据、以及后续新获得的用于升级的升级数据存入所述可执行文件数据区,并在所述升级数据区的指定字节位置或数据段存储列表文件数据;所述列表文件数据记录的包括:安装数据和各升级数据的文件特征信息,和安装数据和各升级数据在数据区中存储的字节位置或数据段;基于所述可执行文件的程序升级下载过程包括:接收客户端的程序升级下载请求;根据所述程序升级下载请求,获取所述可执行文件数据区中指定字节位置或数据段存储的第一列表文件数据和获取对应客户端可执行文件的第二列表文件数据,并比较所述第一列表文件数据和第二列表文件数据的文件特征信息,判断是否存在客户端未下载的升级数据;如果存在,则根据列表文件数据记录的所述升级数据在在数据区中存储的字节位置或数据段,从所述可执行文件数据区中提取升级数据并将所升级数据提供给客户端下载;其中,所述列表文件数据中各升级数据的文件特征信息中还包括升级数据段的校验信息;进一步的,当所述客户端下载完所述升级数据后,计算所述升级数据的校验信息,并将所述校验信息与列表文件数据中该升级数据的校验信息进 ...
【技术特征摘要】
1.一种用于处理程序升级的方法,包括生成一个可执行文件,所述可执行文件用于将用于原始安装的升级数据、以及后续新获得的用于升级的升级数据存入所述可执行文件数据区,并在所述升级数据区的指定字节位置或数据段存储列表文件数据;所述列表文件数据记录的包括安装数据和各升级数据的文件特征信息,和安装数据和各升级数据在数据区中存储的字节位置或数据段;基于所述可执行文件的程序升级下载过程包括接收客户端的程序升级下载请求;根据所述程序升级下载请求,获取所述可执行文件数据区中指定字节位置或数据段存储的第一列表文件数据和获取对应客户端可执行文件的第二列表文件数据,并比较所述第一列表文件数据和第二列表文件数据的文件特征信息,判断是否存在客户端未下载的升级数据;如果存在,则根据列表文件数据记录的所述升级数据在在数据区中存储的字节位置或数据段,从所述可执行文件数据区中提取升级数据并将所升级数据提供给客户端下载;其中,所述列表文件数据中各升级数据的文件特征信息中还包括升级数据段的校验信息;进一步的,当所述客户端下载完所述升级数据后,计算所述升级数据的校验信息,并将所述校验信息与列表文件数据中该升级数据的校验信息进行比较;如果校验通过,则存储所述升级数据段;如果校验失败,则通知客户端所述升级数据错误。2.如权利要求1所述的方法,所述根据所述程序升级下载请求,获取所述可执行文件数据区中指定字节位置或数据段存储的第一列表文件数据和获取对应客户端可执行文件的第二列表文件数据,并比较所述第一列表文件数据和第二列表文件数据的文件特征信息,判断是否存在客户端未下载的数据包括从所述可执行文件数据区的指定字节位置或者数据段中,提取第一列表文件数据;通知客户端将其可执行文件中的第二列表文件数据上传;将第二列表文件数据与第一列表文件数据的文件特征信息比较,获得的客户端未下载的升级数据在所述可执行文件数据区中存储的字节位置或数据段。3.如权利要求1所述的方法,所述根据所述程序升级下载请求,获取所述可执行文件数据区中指定字节位置或数据段存储的第一列表文件数据和获取对应客户端可执行文件的第二列表文件数据,并比较所述第一列表文件数据和第二列表文件数据的文件特征信息,判断是否存在客户端未下载的升级数据包括从所述可执行文件数据区的指定字节位置或者数据段中,提取第一列表文件数据提供给客户端下载;接收客户端发送的升级数据下载请求;所述升级数据下载请求包括通过客户端提取本地的第二列表文件数据,并将第二列表文件数据与第一列表文件数据的文件特征信息比较后,获得的客户端未下载的升级数据在所述可执行文件数据区中存储的字节位置或数据段。4.如权利要求1所述的方法,所述将第二列表文件数据与第一列表文件数据的文件特征信息比较,获得的客户端未下载的数据在所述可执行文件数据区中存储的字节位置或数据段包括 将第一列表文件数据中的各升级数据的文件特征信息,并与第二列表文件数据中的各升级数据的文件特征信息进行比较,判断是否出现新的文件特征信息; 如果未出现新的文件特征信息,则可判断客户端下载已经结束; 如果出现新的文件特征信息,则从列表文件数据中提取所述新的文件特征信息对应的字节位置或者数据段。5.如权利要求1所述的方法,所述列表文件中的各升级数据的文件特征信息,按升级先后使用顺序记录;所述升级数据在所述可执行文件中按升级先后使用顺序存储。6.如权利要求5所述的方法,所述将第二列表文件数据与第一列表文件数据的文件特征信息比较,获得的客户端未下载的数据在所述可执行文件数据区中存储的字节位置或数据段包括 按顺序逐个将第一列表文件数据中升级数据的文件特征信息与本第二列表文件数据中升级数据的文件特征信息进行比较,判断是否出现新的文件特征信息; 如果出现新的文件特征信息,则停止比较,并从列表文件数据中提取所述新的文件特征信息对应的字节位置或...
【专利技术属性】
技术研发人员:王东玉,苏云琳,
申请(专利权)人:北京奇虎科技有限公司,奇智软件北京有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。