应用程序补丁包的下载方法、装置、设备及系统制造方法及图纸

技术编号:23190664 阅读:25 留言:0更新日期:2020-01-24 16:10
本发明专利技术公开了一种应用程序补丁包的下载方法,当目标应用程序的当前版本号与最新版本号之间存在历史版本号时,分别将当前版本号的文件数据与历史版本号的文件数据分别与最新版本号进行差异比较后生成第一差异数据列表,将各个旧版本号的文件数据与新版本号的文件数据之间形成的差异文件中的重复的差异文件进行筛除,避免了生成第一补丁包时将重复的差异文件都进行打包,减小了第一补丁包的大小。如此,在下载第一补丁包时,能缩短补丁包的下载时间,和下载补丁包所需的下载流量,提高了补丁包的下载效率和应用程序的修复效率。此外,本发明专利技术还公开了一种应用程序补丁包的下载装置、设备、计算机可读存储介质及系统。

Download method, device, device and system of application patch package

【技术实现步骤摘要】
应用程序补丁包的下载方法、装置、设备及系统
本专利技术涉及信息科技领域,尤其涉及一种应用程序补丁包的下载方法、装置、设备、计算机可读存储介质及系统。
技术介绍
随着人工智能的快速发展,智能手机得到越来越广泛的应用,随着智能手机的不断普及,也出现了越来越多的应用程序,包括游戏类的应用程序、学习类的应用程序以及生活类的应用程序等。在应用程序的使用过程中,需要对应用程序不断地进行修复,如针对应用程序出现的漏洞进行完善或者在应用程序中增加新的功能,对应用程序每修复一次,应用程序便升级为一个新的版本号。当用户在客户端打开一次应用程序时,客户端的远端服务器获取该应用程序的最新版本号以及该用户客户端的应用程序的版本号,若该客户端的应用程序不是最新的版本号,则对该客户端的应用程序进行修复升级至最新版本号。传统的对应用程序的修复主要基于补丁包的方式,即远端服务器将该客户端的应用程序的当前版本号与最新版本号进行辨别,对该客户端的应用程序的当前版本号与最新版本号之间的差异资源进行打包压缩生成补丁包。然后由客户端下载该补丁包当前版本号的应用程序进行修复以升级至最新版本号。但是,采用传统的方案生成补丁包时,若该应用程序当前的旧版本号与最新版本号之间相隔多个版本号时,按照版本号的升序方向,生成的补丁包中包含多个升级序列,每一个升级序列代表相邻版本号之间的差异数据,在应用程序升级完一个版本号之后,再升级下一个版本号,直至该应用程序的当前的旧版本号升级至最新版本号,在传统的应用程序的修复方式中,需要按照旧版本号与最新版本号之间的版本号逐个版本号按顺序依次升级,如此,在生成补丁包时,升级序列中会包含很多重复的数据,如此,生成的补丁包的资源大,在客户端下载时,补丁包的下载效率低会耗费大量时间和流量,进一步导致应用程序较低的修复效率。
技术实现思路
本专利技术的目的在于解决现有技术中在修复应用程序时,生成的补丁包的资源大,补丁包的下载效率和应用程序的修复效率较低,且耗费用户的大量时间和流量的问题。因此,本专利技术提供一种应用程序补丁包的下载方法、装置、设备、计算机可读存储介质及系统,减小了补丁包的大小,缩短了补丁包的下载时间和减少了下载流量,提高了补丁包的下载效率和应用程序的修复效率。为解决上述问题,本专利技术的实施方式公开了一种应用程序补丁包的下载方法,包括:获取目标应用程序的当前版本号;判断所述目标应用程序的当前版本号与所述目标应用程序的最新版本号之间是否存在所述目标应用程序的历史版本号;若存在,则分别将所述目标应用程序的所述历史版本号的文件数据和所述当前版本号的文件数据与所述最新版本号的文件数据进行差异比较,得到第一差异数据列表,并执行以下步骤:从所述第一差异数据列表中筛除重复的差异文件,将所述第一差异数据列表筛除重复的所述差异文件得到的目标第一差异数据列表生成第一补丁包;发送所述第一补丁包至客户端以使客户端所述获取所述第一补丁包并下载。采用上述技术方案,当目标应用程序的当前版本号与最新版本号之间存在历史版本号时,分别将目标应用程序的当前版本号的文件数据与历史版本号的文件数据分别与最新版本号进行差异比较后生成第一差异数据列表,在第一差异数据列表中,包含了目标应用程序的各个版本号与新版本号之间的差异文件,其并不需要对各个旧版本号的文件数据进行差异比较,避免了生成多个升级序列和多个升级资源包,减小了补丁包的大小,此外,将目标应用程序的各个旧版本号的文件数据与新版本号的文件数据之间形成的差异文件中的重复的差异文件进行筛除,避免了生成第一补丁包时将重复的差异文件都进行打包,进一步减小了第一补丁包的大小。如此,在下载第一补丁包时,能缩短补丁包的下载时间,和下载补丁包所需的下载流量,提高了补丁包的下载效率和应用程序的修复效率。可选的,若所述目标应用程序的当前版本号与所述目标应用程序的最新版本号之间不存在所述目标应用程序的历史版本号,所述方法还包括:对所述目标应用程序的当前版本号的文件数据与所述目标应用程序的最新版本号的文件数据进行差异比较,得到第二差异数据列表;将所述第二差异数据列表生成第二补丁包。可选的,所述分别将所述目标应用程序的所述历史版本号的文件数据和所述当前版本号的文件数据与所述最新版本号的文件数据进行差异比较包括:对所述目标应用程序的所述历史版本号的文件数据进行分割,得到多个第一子文件;对所述目标应用程序的当前版本号的文件数据进行分割,得到多个第二子文件,以及对所述目标应用程序的最新版本号的文件数据进行分割,得到多个第三子文件;分别将各所述第一子文件和各所述第二子文件与各所述第三子文件进行差异比较,得到多个差异子文件,各所述差异子文件构成所述第一差异数据列表。可选的,对所述目标应用程序的文件数据进行分割包括:依据所述目标应用程序的文件数据的编写逻辑信息和功能分区信息对所述文件数据进行分割,得到多个所述子文件;其中,各所述子文件的数据包均不超过预定值。可选的,所述从所述第一差异数据列表中筛除重复的差异文件包括:对各所述差异子文件进行相似性分析;若存在相似度超出阈值的多个同名目标差异子文件,则保留一个所述同名目标差异子文件并筛除重复的所述其他同名目标差异子文件,所述重复的差异文件包括所述多个同名目标差异子文件。可选的,所述获取目标应用程序的当前版本号包括:接收所述客户端发送的第一修复请求;解析所述第一修复请求,以获取所述目标应用程序的当前版本号。可选的,所述客户端获取所述第一补丁包并下载包括:所述客户端接收所述第一补丁包;所述客户端多线程下载所述第一补丁包中的所述目标第一差异数据列表中的差异文件。可选的,在所述客户端获取所述第一补丁包并下载之后,还包括:所述客户端对所述第一补丁包进行数据校验;若所述第一补丁包校验失败,则所述客户端解析所述第一补丁包中校验未通过的目标差异文件;基于所述目标差异文件,所述客户端向所述远端服务器发送第二修复请求。进一步地,本专利技术的实施方式公开了一种应用程序补丁包的下载装置,包括:获取模块,用于获取目标应用程序的当前版本号;判断模块,用于判断所述目标应用程序的当前版本号与所述目标应用程序的最新版本号之间是否存在所述目标应用程序的历史版本号,若存在,则进入第一比较模块;所述第一比较模块,用于分别将所述目标应用程序的所述历史版本号的文件数据和所述当前版本号的文件数据与所述最新版本号的文件数据进行差异比较,得到第一差异数据列表,并进入筛除模块:所述筛除模块,用于从所述第一差异数据列表中筛除重复的差异文件;第一生成模块,用于将所述第一差异数据列表筛除所述重复的差异文件得到的目标第一差异数据列表生成第一补丁包;下载模块,用于发送所述第一补丁包至客户端以使客户端所述获取所述第一补丁包并下载。可选的,所述下载装置还包括:第二比较模块,用于对所述目本文档来自技高网
...

【技术保护点】
1.一种应用程序补丁包的下载方法,其特征在于,所述方法包括:/n获取目标应用程序的当前版本号;/n判断所述目标应用程序的当前版本号与所述目标应用程序的最新版本号之间是否存在所述目标应用程序的历史版本号;/n若存在,则分别将所述目标应用程序的所述历史版本号的文件数据和所述当前版本号的文件数据与所述最新版本号的文件数据进行差异比较,得到第一差异数据列表,并执行以下步骤:/n从所述第一差异数据列表中筛除重复的差异数据,将所述第一差异数据列表筛除重复的所述差异数据得到的目标第一差异数据列表生成第一补丁包;/n发送所述第一补丁包至客户端以使客户端所述获取所述第一补丁包并下载。/n

【技术特征摘要】
1.一种应用程序补丁包的下载方法,其特征在于,所述方法包括:
获取目标应用程序的当前版本号;
判断所述目标应用程序的当前版本号与所述目标应用程序的最新版本号之间是否存在所述目标应用程序的历史版本号;
若存在,则分别将所述目标应用程序的所述历史版本号的文件数据和所述当前版本号的文件数据与所述最新版本号的文件数据进行差异比较,得到第一差异数据列表,并执行以下步骤:
从所述第一差异数据列表中筛除重复的差异数据,将所述第一差异数据列表筛除重复的所述差异数据得到的目标第一差异数据列表生成第一补丁包;
发送所述第一补丁包至客户端以使客户端所述获取所述第一补丁包并下载。


2.如权利要求1所述的应用程序补丁包的下载方法,其特征在于,若所述目标应用程序的当前版本号与所述目标应用程序的最新版本号之间不存在所述目标应用程序的历史版本号,所述方法还包括:
对所述目标应用程序的当前版本号的文件数据与所述目标应用程序的最新版本号的文件数据进行差异比较,得到第二差异数据列表;
将所述第二差异数据列表生成第二补丁包。


3.如权利要求1或2所述的应用程序补丁包的下载方法,其特征在于,所述分别将所述目标应用程序的所述历史版本号的文件数据和所述当前版本号的文件数据与所述最新版本号的文件数据进行差异比较包括:
对所述目标应用程序的所述历史版本号的文件数据进行分割,得到多个第一子文件;
对所述目标应用程序的当前版本号的文件数据进行分割,得到多个第二子文件,以及对所述目标应用程序的最新版本号的文件数据进行分割,得到多个第三子文件;
分别将各所述第一子文件和各所述第二子文件与各所述第三子文件进行差异比较,得到多个差异子文件,各所述差异子文件构成所述第一差异数据列表。


4.如权利要求3所述的应用程序补丁包的下载方法,其特征在于,对所述目标应用程序的文件数据进行分割包括:
依据所述目标应用程序的文件数据的编写逻辑信息和功能分区信息对所述文件数据进行分割,得到多个所述子文件;
其中,各所述子文件的数据包均不超过预定值。


5.如权利要求3所述的应用程序补丁包的下载方法,其特征在于,所述从所述第一差异数据列表中筛除重复的差异文件包括:
对各所述差异子文件进行相似性分析;
若存在相似度超出阈值的多个同名目标差异子文件,则保留一个所述同名目标差异子文件并筛除重复的所述其他同名目标差异子文件,所述重复的差异文件包括所述多个同名目标差异子文件。


6.如权利要求1所述的应用程序补丁包的下载方法,其特征在于,所述获取目标应用程序的当前版本号包括:
接收所述客户端发送的第一修复请求;
解析所述第一修复请求,以获取所述目标应用程序的当前版本号。


7.如权利要求6所述的应用程序补丁包的下载方法,其特征在于,所述客户端获取所述第一补丁包并下载包括:
所述客户端接收所述第一补丁包;<...

【专利技术属性】
技术研发人员:李云龙周斌
申请(专利权)人:上海莉莉丝科技股份有限公司
类型:发明
国别省市:上海;31

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

1