好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

用于处理程序升级的方法和装置的制作方法.docx

9页
  • 卖家[上传人]:ting****789
  • 文档编号:310014925
  • 上传时间:2022-06-14
  • 文档格式:DOCX
  • 文档大小:25.36KB
  • / 9 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 用于处理程序升级的方法和装置的制作方法专利名称::用于处理程序升级的方法和装置的制作方法技术领域::本发明涉及计算机技术领域:,具体涉及一种用于处理程序升级的方法和装置背景技术::对于程序升级来说,比如游戏程序等应用程序,一般存在两种方式一是整包升级,就是将一个程序版本的所有文件组合安装包,由终端升级程序下载之后执行对原有版本进行安装或升级二是差异升级,方式是将数据文件按照某种方式存储,并形成一个数据文件列表,将这些数据文件的部分信息写入,终端的升级程序先下载数据文件列表并与本地文件比对,形成差异列表,之后下载相应的数据文件进行升级但是在实际中,现有技术可对产品隔一段时间做一次新版本,以使新用户无需从原始版本开始安装,然后逐个升级至最新版本比如,对于一个初始版本安装包A,其后续数据文件包括数据文件Al,数据文件A2,为了保证客户端能够进行差异升级需要一个单独的列表文件LI将对A,A1,A2的相关信息进行顺序存储而为了使后续新的用户可以直接安装当前最新的产品,则可将A+A1+A2做成第二版的安装包B,而在此之后出现的数据文件针对第二版的数据文件BI,B2,那么为了保证安装初始版本的客户端和第二版本的客户端均可正常升级,那么需要对初始版本的数据文件重新更改列表文件,并针对第二版本的数据文件更改列表文件;那么以此类推,如果为了使客户端不用从初始版本开始安装产品,并逐个升级至最新状态,随着升级的数据的增加,其版本可能越来越多,存在于服务器中的文件相应增加量更多。

      对于整包升级,文件的一致性比较好,不用考虑版本问题,下载逻辑比较简单,但对于用户来说,下载量比较大,每次升级都会有较多的冗余数据对于差异升级,只下载差异数据,缺点是文件量很大,但是对于前述情况,如果针对同一产品,其版本很多的时,首先,由于各版本的文件之间需要保持一致,那么随着版本的大量增加,各种版本相应的文件数量增加,导致维持各种版本文件的一致性的逻辑也越来越复杂其次,由于服务器中存在各种版本的文件,导致目录中文件过多,而对于某个客户端的升级请求,服务器查询其存储的相应于所述升级请求的文件时,需要遍历的文件也非常庞大,影响服务器性能再次,由于相应文件个数相对很多,对于存储和管理不方便,并且占用存储空间也大发明内容鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种用于处理程序升级的装置、系统和相应的一种用于处理程序升级的方法依据本发明的一个方面,提供了一种用于处理程序升级的方法,包括生成一个可执行文件,所述可执行文件用于将用于原始安装的升级数据、以及后续新获得的用于升级的升级数据存入所述可执行文件数据区,并在所述升级数据区的指定字节位置或数据段存储列表文件数据;所述列表文件数据记录的包括安装数据和各升级数据的文件特征信息,和安装数据和各升级数据在数据区中存储的字节位置或数据段;基于所述可执行文件的程序升级下载过程包括接收客户端的程序升级下载请求;根据所述程序升级下载请求,获取所述可执行文件数据区中指定字节位置或数据段存储的第一列表文件数据和获取对应客户端可执行文件的第二列表文件数据,并比较所述第一列表文件数据和第二列表文件数据的文件特征信息,判断是否存在客户端未下载的升级数据;如果存在,则根据列表文件数据记录的所述升级数据在在数据区中存储的字节位置或数据段,从所述可执行文件数据区中提取升级数据并将所升级数据提供给客户端下载;其中,所述列表文件数据中各升级数据的文件特征信息中还包括升级数据段的校验信息;进一步的,当所述客户端下载完所述升级数据后,计算所述升级数据的校验信息,并将所述校验信息与列表文件数据中该升级数据的校验信息进行比较;如果校验通过,则存储所述升级数据段;如果校验失败,则通知客户端所述升级数据错误。

      可选的,所述根据所述程序升级下载请求,获取所述可执行文件数据区中指定字节位置或数据段存储的第一列表文件数据和获取对应客户端可执行文件的第二列表文件数据,并比较所述第一列表文件数据和第二列表文件数据的文件特征信息,判断是否存在客户端未下载的数据包括从所述可执行文件数据区的指定字节位置或者数据段中,提取第一列表文件数据;通知客户端将其可执行文件中的第二列表文件数据上传;将第二列表文件数据与第一列表文件数据的文件特征信息比较,获得的客户端未下载的升级数据在所述可执行文件数据区中存储的字节位置或数据段可选的,所述根据所述程序升级下载请求,获取所述可执行文件数据区中指定字节位置或数据段存储的第一列表文件数据和获取对应客户端可执行文件的第二列表文件数据,并比较所述第一列表文件数据和第二列表文件数据的文件特征信息,判断是否存在客户端未下载的升级数据包括从所述可执行文件数据区的指定字节位置或者数据段中,提取第一列表文件数据提供给客户端下载;接收客户端发送的升级数据下载请求;所述升级数据下载请求包括通过客户端提取本地的第二列表文件数据,并将第二列表文件数据与第一列表文件数据的文件特征信息比较后,获得的客户端未下载的升级数据在所述可执行文件数据区中存储的字节位置或数据段。

      可选的,所述将第二列表文件数据与第一列表文件数据的文件特征信息比较,获得的客户端未下载的数据在所述可执行文件数据区中存储的字节位置或数据段包括将第一列表文件数据中的各升级数据的文件特征信息,并与第二列表文件数据中的各升级数据的文件特征信息进行比较,判断是否出现新的文件特征信息;如果未出现新的文件特征信息,则可判断客户端下载已经结束;如果出现新的文件特征信息,则从列表文件数据中提取所述新的文件特征信息对应的字节位置或者数据段可选的,所述列表文件中的各升级数据的文件特征信息,按升级先后使用顺序记录;所述升级数据在所述可执行文件中按升级先后使用顺序存储可选的,所述将第二列表文件数据与第一列表文件数据的文件特征信息比较,获得的客户端未下载的数据在所述可执行文件数据区中存储的字节位置或数据段包括按顺序逐个将第一列表文件数据中升级数据的文件特征信息与本第二列表文件数据中升级数据的文件特征信息进行比较,判断是否出现新的文件特征信息;如果出现新的文件特征信息,则停止比较,并从列表文件数据中提取所述新的文件特征信息对应的字节位置或者数据段可选的,所述根据所述客户端未下载的升级数据在所述可执行文件数据区中存储的字节位置或数据段,从可执行文件的数据区中提取数据并将所述升级数据提供给客户端下载包括从可执行文件的所述字节位置或者数据段开始提取升级数据的字节流发送给客户端。

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

      可选的,所述判断模块包括第一列表文件提取模块一,适于从所述可执行文件数据区的指定字节位置或者数据段中,提取第一列表文件数据;第二列表文件获取模块一,适于通知客户端将其可执行文件中的第二列表文件数据上传;第一判断模块,适于将第二列表文件数据与第一列表文件数据的文件特征信息比较,获得的客户端未下载的升级数据在所述可执行文件数据区中存储的字节位置或数据段可选的,所述判断模块包括第一列表文件提取模块二,适于从所述可执行文件数据区的指定字节位置或者数据段中,提取第一列表文件数据提供给客户端下载;升级数据下载请求接收模块,适于接收客户端发送的升级数据下载请求;所述升级数据下载请求包括通过客户端提取本地的第二列表文件数据,并将第二列表文件数据与第一列表文件数据的文件特征信息比较后,获得的客户端未下载的升级数据在所述可执行文件数据区中存储的字节位置或数据段可选的,所述判断模块包括第二判断模块,适于将第一列表文件数据中的各升级数据的文件特征信息,并与第二列表文件数据中的各升级数据的文件特征信息进行比较,判断是否出现新的文件特征信息;如果未出现新的文件特征信息,则可判断客户端下载已经结束;如果出现新的文件特征信息,则从列表文件数据中提取所述新的文件特征信息对应的字节位置或者数据段。

      可选的,所述列表文件中的各升级数据的文件特征信息,按升级先后使用顺序记录;所述升级数据在所述可执行文件中按升级先后使用顺序存储可选的,所述判断模块包括第二判断模块,适于按顺序逐个将第一列表文件数据中升级数据的文件特征信息与本第二列表文件数据中升级数据的文件特征信息进行比较,判断是否出现新的文件特征信息;如果出现新的文件特征信息,则停止比较,并从列表文件数据中提取所述新的文件特征信息对应的字节位置或者数据段可选的,所述升级数据提供模块包括第一提取模块,适于从可执行文件的所述字节位置或者数据段开始提取升级数据的字节流发送给客户端根据本发明的一种用于处理程序升级的方法可以在服务器将所有各种适于升级的数据,与初始安装程序设置于同一可执行文件中,然后在该可执行文件中指定一个固定位置存放列表文件数据,所述列表文件数据各种版本的适于升级的数据段的文件特征信息,该文件特征信息包括各适于升级的数据段存储于该可执行文件中的位置;那么基于此可执行文件,客户端对原产品进行升级时,则首先从服务器获取该可执行文件指定位置的列表文件数据,对其进行解析并与本地列表文件数据进行比较,判断是否存在需要下载的数据段,如果存在则从服务器中所述可执行文件的该数据段所在位置下载该数据,即可进行升级。

      本发明由此解决了现有技术中首先由于各版本的文件之间需要保持一致,那么随着版本的大量增加,各种版本相应的文件数量增加,导致维持各种版本文件的一致性的逻辑也越来越复杂;其次,由于服务器中存在各种版本的文件,导致目录中文件过多,而对于某个客户端的升级请求,服务器查询其存储的相应于所述升级请求的文件时,需要遍历的文件也非常庞大,影响服务器性能再次,由于相应文件个数相对很多,对于存储和管理不方便,并且占用存储空间也大的问题;本发明取得了如下的有益效果首先,升级数据和安装程序文件只有一份可执行文件,不用为最新用户做新版本安装程序,所有安装程序版本只有一份,那么充分保证了文件版本一致性;其次,并且大大减少文件了的数量,保证服务器查找文件的效率;再次,文件量很小,可以有针对性的对文件进行缓存,提高服务器的下载效率;最后还能大大节省磁盘存储空间的有益效果上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。

      附图仅适于示出优选实施方式的目的,而并不认为是对本发明的限制而且在整个附图中,用相同的参考符号表示相同的部件在附图中图1示出了根据本发明一个实施例的一种程序升级下载的方法实施例一的流程示。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.