用于处理程序升级的方法和装置制造方法及图纸

技术编号:8532616 阅读:128 留言:0更新日期:2013-04-04 15:30
本发明专利技术公开了一种用于处理程序升级的方法和装置,涉及计算机技术领域。所述装置包括:可执行文件生成模块;升级请求接收模块;判断模块;升级数据提供模块;其中,列表文件中各升级数据的文件特征信息中还包括升级数据段的校验信息;在客户端还包括:校验模块,适于客户端下载完所述升级数据后,计算所述升级数据的校验信息,并将所述校验信息与列表文件数据中该升级数据的校验信息进行比较;如果校验通过,则存储所述升级数据段;如果校验失败,则通知客户端所述升级数据错误。本发明专利技术所有安装程序版本只有一份,那么充分保证了文件版本一致性,减少文件了的数量,保证服务器查找文件的效率,提高服务器的下载效率,还能节省磁盘存储空间。

【技术实现步骤摘要】

本专利技术涉及计算机
,具体涉及一种用于处理程序升级的方法和装置
技术介绍
对于程序升级来说,比如游戏程序等应用程序,一般存在两种方式一是整包升级,就是将一个程序版本的所有文件组合安装包,由终端升级程序下载之后执行对原有版本进行安装或升级。二是差异升级,方式是将数据文件按照某种方式存储,并形成一个数据文件列表,将这些数据文件的部分信息写入,终端的升级程序先下载数据文件列表并与本地文件比对,形成差异列表,之后下载相应的数据文件进行升级。但是在实际中,现有技术可对产品隔一段时间做一次新版本,以使新用户无需从原始版本开始安装,然后逐个升级至最新版本。比如,对于一个初始版本安装包A,其后续数据文件包括数据文件Al,数据文件A2,为了保证客户端能够进行差异升级需要一个单独的列表文件LI将对A,A1,A2的相关信息进行顺序存储。而为了使后续新的用户可以直接安装当前最新的产品,则可将A+A1+A2做成第二版的安装包B,而在此之后出现的数据文件针对第二版的数据文件BI,B2,那么为了保证安装初始版本的客户端和第二版本的客户端均可正常升级,那么需要对初始版本的数据文件重新更改列表文件,并针对第二版本的数据文件更改列表文件;那么以此类推,如果为了使客户端不用从初始版本开始安装产品,并逐个升级至最新状态,随着升级的数据的增加,其版本可能越来越多,存在于服务器中的文件相应增加量更多。对于整包升级,文件的一致性比较好,不用考虑版本问题,下载逻辑比较简单,但对于用户来说,下载量比较大,每次升级都会有较多的冗余数据。对于差异升级,只下载差异数据,缺点是文件量很大,但是对于前述情况,如果针对同一产品,其版本很多的时,首先,由于各版本的文件之间需要保持一致,那么随着版本的大量增加,各种版本相应的文件数量增加,导致维持各种版本文件的一致性的逻辑也越来越复杂。其次,由于服务器中存在各种版本的文件,导致目录中文件过多,而对于某个客户端的升级请求,服务器查询其存储的相应于所述升级请求的文件时,需要遍历的文件也非常庞大,影响服务器性能。再次,由于相应文件个数相对很多,对于存储和管理不方便,并且占用存储空间也大。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的一种用于处理程序升级的装置、系统和相应的一种用于处理程序升级的方法。依据本专利技术的一个方面,提供了一种用于处理程序升级的方法,包括生成一个可执行文件,所述可执行文件用于将用于原始安装的升级数据、以及后续新获得的用于升级的升级数据存入所述可执行文件数据区,并在所述升级数据区的指定字节位置或数据段存储列表文件数据;所述列表文件数据记录的包括安装数据和各升级数据的文件特征信息,和安装数据和各升级数据在数据区中存储的字节位置或数据段;基于所述可执行文件的程序升级下载过程包括接收客户端的程序升级下载请求;根据所述程序升级下载请求,获取所述可执行文件数据区中指定字节位置或数据段存储的第一列表文件数据和获取对应客户端可执行文件的第二列表文件数据,并比较所述第一列表文件数据和第二列表文件数据的文件特征信息,判断是否存在客户端未下载的升级数据;如果存在,则根据列表文件数据记录的所述升级数据在在数据区中存储的字节位置或数据段,从所述可执行文件数据区中提取升级数据并将所升级数据提供给客户端下载;其中,所述列表文件数据中各升级数据的文件特征信息中还包括升级数据段的校验信息;进一步的,当所述客户端下载完所述升级数据后,计算所述升级数据的校验信息,并将所述校验信息与列表文件数据中该升级数据的校验信息进行比较;如果校验通过,则存储所述升级数据段;如果校验失败,则通知客户端所述升级数据错误。可选的,所述根据所述程序升级下载请求,获取所述可执行文件数据区中指定字节位置或数据段存储的第一列表文件数据和获取对应客户端可执行文件的第二列表文件数据,并比较所述第一列表文件数据和第二列表文件数据的文件特征信息,判断是否存在客户端未下载的数据包括从所述可执行文件数据区的指定字节位置或者数据段中,提取第一列表文件数据;通知客户端将其可执行文件中的第二列表文件数据上传;将第二列表文件数据与第一列表文件数据的文件特征信息比较,获得的客户端未下载的升级数据在所述可执行文件数据区中存储的字节位置或数据段。可选的,所述根据所述程序升级下载请求,获取所述可执行文件数据区中指定字节位置或数据段存储的第一列表文件数据和获取对应客户端可执行文件的第二列表文件数据,并比较所述第一列表文件数据和第二列表文件数据的文件特征信息,判断是否存在客户端未下载的升级数据包括从所述可执行文件数据区的指定字节位置或者数据段中,提取第一列表文件数据提供给客户端下载;接收客户端发送的升级数据下载请求;所述升级数据下载请求包括通过客户端提取本地的第二列表文件数据,并将第二列表文件数据与第一列表文件数据的文件特征信息比较后,获得的客户端未下载的升级数据在所述可执行文件数据区中存储的字节位置或数据段。可选的,所述将第二列表文件数据与第一列表文件数据的文件特征信息比较,获得的客户端未下载的数据在所述可执行文件数据区中存储的字节位置或数据段包括将第一列表文件数据中的各升级数据的文件特征信息,并与第二列表文件数据中的各升级数据的文件特征信息进行比较,判断是否出现新的文件特征信息;如果未出现新的文件特征信息,则可判断客户端下载已经结束;如果出现新的文件特征信息,则从列表文件数据中提取所述新的文件特征信息对应的字节位置或者数据段。可选的,所述列表文件中的各升级数据的文件特征信息,按升级先后使用顺序记录;所述升级数据在所述可执行文件中按升级先后使用顺序存储。可选的,所述将第二列表文件数据与第一列表文件数据的文件特征信息比较,获得的客户端未下载的数据在所述可执行文件数据区中存储的字节位置或数据段包括按顺序逐个将第一列表文件数据中升级数据的文件特征信息与本第二列表文件数据中升级数据的文件特征信息进行比较,判断是否出现新的文件特征信息;如果出现新的文件特征信息,则停止比较,并从列表文件数据中提取所述新的文件特征信息对应的字节位置或者数据段。可选的,所述根据所述客户端未下载的升级数据在所述可执行文件数据区中存储的字节位置或数据段,从可执行文件的数据区中提取数据并将所述升级数据提供给客户端下载包括从可执行文件的所述字节位置或者数据段开始提取升级数据的字节流发送给客户端。依据本专利技术的另一个方面,提供了一种用于处理程序升级的装置,包括可执行文件生成模块,适于生成一个可执行文件,所述可执行文件用于将用于原始安装的升级数据、以及后续新获得的用于升级的升级数据存入所述可执行文件数据区,并在所述升级数据区的指定字节位置或数据段存储列表文件数据;所述列表文件数据记录的包括安装数据和各升级数据的文件特征信息,和安装数据和各升级数据在数据区中存储的字节位置或数据段;升级请求接收模块,适于接收客户端的程序升级下载请求;判断模块,适于根据所述程序升级下载请求,获取所述可执行文件数据区中指定字节位置或数据段存储的第一列表文件数据和获取对应客户端可执行文件的第二列表文件数据,并比较所述第一列表文件数据和第二列表文件数据的文件特征信息,判断是否存在客户端未下载的升级数据;升本文档来自技高网
...

【技术保护点】
一种用于处理程序升级的方法,包括:生成一个可执行文件,所述可执行文件用于:将用于原始安装的升级数据、以及后续新获得的用于升级的升级数据存入所述可执行文件数据区,并在所述升级数据区的指定字节位置或数据段存储列表文件数据;所述列表文件数据记录的包括:安装数据和各升级数据的文件特征信息,和安装数据和各升级数据在数据区中存储的字节位置或数据段;基于所述可执行文件的程序升级下载过程包括:接收客户端的程序升级下载请求;根据所述程序升级下载请求,获取所述可执行文件数据区中指定字节位置或数据段存储的第一列表文件数据和获取对应客户端可执行文件的第二列表文件数据,并比较所述第一列表文件数据和第二列表文件数据的文件特征信息,判断是否存在客户端未下载的升级数据;如果存在,则根据列表文件数据记录的所述升级数据在在数据区中存储的字节位置或数据段,从所述可执行文件数据区中提取升级数据并将所升级数据提供给客户端下载;其中,所述列表文件数据中各升级数据的文件特征信息中还包括升级数据段的校验信息;进一步的,当所述客户端下载完所述升级数据后,计算所述升级数据的校验信息,并将所述校验信息与列表文件数据中该升级数据的校验信息进行比较;如果校验通过,则存储所述升级数据段;如果校验失败,则通知客户端所述升级数据错误。...

【技术特征摘要】
1.一种用于处理程序升级的方法,包括生成一个可执行文件,所述可执行文件用于将用于原始安装的升级数据、以及后续新获得的用于升级的升级数据存入所述可执行文件数据区,并在所述升级数据区的指定字节位置或数据段存储列表文件数据;所述列表文件数据记录的包括安装数据和各升级数据的文件特征信息,和安装数据和各升级数据在数据区中存储的字节位置或数据段;基于所述可执行文件的程序升级下载过程包括接收客户端的程序升级下载请求;根据所述程序升级下载请求,获取所述可执行文件数据区中指定字节位置或数据段存储的第一列表文件数据和获取对应客户端可执行文件的第二列表文件数据,并比较所述第一列表文件数据和第二列表文件数据的文件特征信息,判断是否存在客户端未下载的升级数据;如果存在,则根据列表文件数据记录的所述升级数据在在数据区中存储的字节位置或数据段,从所述可执行文件数据区中提取升级数据并将所升级数据提供给客户端下载;其中,所述列表文件数据中各升级数据的文件特征信息中还包括升级数据段的校验信息;进一步的,当所述客户端下载完所述升级数据后,计算所述升级数据的校验信息,并将所述校验信息与列表文件数据中该升级数据的校验信息进行比较;如果校验通过,则存储所述升级数据段;如果校验失败,则通知客户端所述升级数据错误。2.如权利要求1所述的方法,所述根据所述程序升级下载请求,获取所述可执行文件数据区中指定字节位置或数据段存储的第一列表文件数据和获取对应客户端可执行文件的第二列表文件数据,并比较所述第一列表文件数据和第二列表文件数据的文件特征信息,判断是否存在客户端未下载的数据包括从所述可执行文件数据区的指定字节位置或者数据段中,提取第一列表文件数据;通知客户端将其可执行文件中的第二列表文件数据上传;将第二列表文件数据与第一列表文件数据的文件特征信息比较,获得的客户端未下载的升级数据在所述可执行文件数据区中存储的字节位置或数据段。3.如权利要求1所述的方法,所述根据所述程序升级下载请求,获取所述可执行文件数据区中指定字节位置或数据段存储的第一列表文件数据和获取对应客户端可执行文件的第二列表文件数据,并比较所述第一列表文件数据和第二列表文件数据的文件特征信息,判断是否存在客户端未下载的升级数据包括从所述可执行文件数据区的指定字节位置或者数据段中,提取第一列表文件数据提供给客户端下载;接收客户端发送的升级数据下载请求;所述升级数据下载请求包括通过客户端提取本地的第二列表文件数据,并将第二列表文件数据与第一列表文件数据的文件特征信息比较后,获得的客户端未下载的升级数据在所述可执行文件数据区中存储的字节位置或数据段。4.如权利要求1所述的方法,所述将第二列表文件数据与第一列表文件数据的文件特征信息比较,获得的客户端未下载的数据在所述可执行文件数据区中存储的字节位置或数据段包括 将第一列表文件数据中的各升级数据的文件特征信息,并与第二列表文件数据中的各升级数据的文件特征信息进行比较,判断是否出现新的文件特征信息; 如果未出现新的文件特征信息,则可判断客户端下载已经结束; 如果出现新的文件特征信息,则从列表文件数据中提取所述新的文件特征信息对应的字节位置或者数据段。5.如权利要求1所述的方法,所述列表文件中的各升级数据的文件特征信息,按升级先后使用顺序记录;所述升级数据在所述可执行文件中按升级先后使用顺序存储。6.如权利要求5所述的方法,所述将第二列表文件数据与第一列表文件数据的文件特征信息比较,获得的客户端未下载的数据在所述可执行文件数据区中存储的字节位置或数据段包括 按顺序逐个将第一列表文件数据中升级数据的文件特征信息与本第二列表文件数据中升级数据的文件特征信息进行比较,判断是否出现新的文件特征信息; 如果出现新的文件特征信息,则停止比较,并从列表文件数据中提取所述新的文件特征信息对应的字节位置或...

【专利技术属性】
技术研发人员:王东玉苏云琳
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:

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

1