应用热更新方法及装置制造方法及图纸

技术编号:32189107 阅读:14 留言:0更新日期:2022-02-08 15:53
本发明专利技术实施例公开了一种应用热更新方法及装置,可用于金融领域或其他技术领域,该方法包括:检测是否存在所述应用对应的回滚标记;若存在回滚标记则进行回滚操作;若不存在回滚标记则确定所述应用的热更新介质存储目录中是否含有热更新介质;若含有热更新介质,对热更新介质进行校验,若校验通过则向服务器发送热更新请求;根据服务器响应热更新请求发送的响应信息确定是否存在热更新版本,若存在,则从服务器下载热更新介质,并用从服务器下载的热更新介质替换所述热更新介质存储目录中含有的热更新介质,然后重启所述应用。本发明专利技术有助于提高热更新的容错,热更新失败后回滚至无错版本,保障用户的应用体验。保障用户的应用体验。保障用户的应用体验。

【技术实现步骤摘要】
应用热更新方法及装置


[0001]本专利技术涉及应用开发
,具体而言,涉及一种应用热更新方法及装置。

技术介绍

[0002]Hybrid应用是目前比较流行的一种应用,其从外观上来看是一个Native app,实则只有一个UIWebView,里面访问的是一个web app。Hybrid应用允许开发者仅使用一套网页语言代码(HTML5+CSS+JavaScript),即可开发能够在不同平台上部署的类原生应用,并通过更新网页内容实现应用内容的更新。此类APP的内容加载及更新依赖于网络状态,因此H5离线包技术应运而生。通过把网页静态资源预置至本地来减少网络环境的依赖,通过动态的更新离线包来实现热更新。
[0003]为了解决Hybrid应用的性能和资源加载问题,通常使用离线包技术进行优化。离线包技术也可以用于Hybrid应用的热更新,但是现有的离线包热更新技术往往不包含回滚机制,在资源加载失败后也没有相应的纠错措施。
[0004]由此可见,现有的热更新方法存在无资源回滚机制的缺点。

技术实现思路

[0005]本专利技术为了解决现有的热更新方法存在无资源回滚机制的缺点,提出了一种应用热更新方法及装置。
[0006]为了实现上述目的,根据本专利技术的一个方面,提供了一种应用热更新方法,该方法包括:
[0007]在每次启动应用时,检测是否存在所述应用对应的回滚标记;
[0008]若存在回滚标记,则进行回滚操作;若不存在回滚标记,则确定所述应用的热更新介质存储目录中是否含有热更新介质;
[0009]若含有热更新介质,则先设置所述应用对应的回滚标记,然后对热更新介质进行校验,若校验通过,则清除设置的所述回滚标记并且向服务器发送热更新请求;若不含有热更新介质,则对所述应用的原始介质文件进行校验,若校验通过,则向服务器发送热更新请求;
[0010]根据服务器响应热更新请求发送的响应信息确定是否存在热更新版本,若存在,则从服务器下载热更新介质,并在所述热更新介质存储目录中含有热更新介质时,用从服务器下载的热更新介质替换所述热更新介质存储目录中含有的热更新介质,以及在所述热更新介质存储目录中不含有热更新介质时,将从服务器下载的热更新介质存储到所述热更新介质存储目录中,然后重启所述应用。
[0011]可选的,所述进行回滚操作,具体包括:
[0012]删除所述热更新介质存储目录中的热更新介质,并根据删除的热更新介质生成回滚版本签名;
[0013]判断所述应用对应的回滚次数标记是否小于预设值;
[0014]若小于所述预设值,则使所述回滚次数标记加1、清除回滚标记以及清除所述回滚版本签名,然后重启所述应用;
[0015]若大于或等于所述预设值,则清除回滚标记以及将所述回滚次数标记清零,然后重启所述应用。
[0016]可选的,所述重启所述应用,具体包括:
[0017]若存在所述应用对应的回滚版本签名,则清除该回滚版本签名,若所述应用对应的回滚次数标记不为0,则将回滚次数标记清零,然后重启所述应用。
[0018]可选的,所述响应信息中包含热更新介质签名;所述根据服务器响应所述热更新请求发送的响应信息确定是否存在热更新版本,具体包括:
[0019]在所述热更新介质存储目录中含有热更新介质时,所述响应信息中的热更新介质签名与所述热更新介质存储目录中的热更新介质的签名不相同,并且在存在所述应用对应的回滚版本签名时,所述响应信息中的热更新介质签名与所述回滚版本签名也不相同,则确定存在热更新版本。
[0020]可选的,所述根据服务器响应所述热更新请求发送的响应信息确定是否存在热更新版本,具体还包括:
[0021]在所述热更新介质存储目录中不含有热更新介质时,所述响应信息中的热更新介质签名与所述原始介质文件的签名不相同,并且在存在所述回滚版本签名时,所述响应信息中的热更新介质签名与所述回滚版本签名也不相同,则确定存在热更新版本。
[0022]为了实现上述目的,根据本专利技术的另一方面,提供了一种应用热更新装置,该装置包括:
[0023]回滚标记检测模块,用于在每次启动应用时,检测是否存在所述应用对应的回滚标记;
[0024]回滚处理模块,用于在存在回滚标记时进行回滚操作;
[0025]介质查询模块,用于在不存在回滚标记时确定所述应用的热更新介质存储目录中是否含有热更新介质;
[0026]介质加载模块,用于若含有热更新介质,则先设置所述应用对应的回滚标记,然后对热更新介质进行校验,若校验通过,则清除设置的所述回滚标记并且向服务器发送热更新请求;若不含有热更新介质,则对所述应用的原始介质文件进行校验,若校验通过,则向服务器发送热更新请求;
[0027]热更新处理模块,用于根据服务器响应热更新请求发送的响应信息确定是否存在热更新版本,若存在,则从服务器下载热更新介质,并在所述热更新介质存储目录中含有热更新介质时,用从服务器下载的热更新介质替换所述热更新介质存储目录中含有的热更新介质,以及在所述热更新介质存储目录中不含有热更新介质时,将从服务器下载的热更新介质存储到所述热更新介质存储目录中,然后重启所述应用。
[0028]可选的,所述回滚处理模块,具体包括:
[0029]回滚版本签名生成单元,用于删除所述热更新介质存储目录中的热更新介质,并根据删除的热更新介质生成回滚版本签名;
[0030]回滚次数判定单元,用于判断所述应用对应的回滚次数标记是否小于预设值;
[0031]第一回滚处理单元,用于若小于所述预设值,则使所述回滚次数标记加1、清除回
滚标记以及清除所述回滚版本签名,然后重启所述应用;
[0032]第二回滚处理单元,用于若大于或等于所述预设值,则清除回滚标记以及将所述回滚次数标记清零,然后重启所述应用。
[0033]可选的,所述热更新处理模块,具体用于若存在所述应用对应的回滚版本签名,则清除该回滚版本签名,若所述应用对应的回滚次数标记不为0,则将回滚次数标记清零,然后重启所述应用。
[0034]可选的,所述响应信息中包含热更新介质签名;所述热更新处理模块,具体包括:
[0035]第一热更新版本确定单元,用于在所述热更新介质存储目录中含有热更新介质时,所述响应信息中的热更新介质签名与所述热更新介质存储目录中的热更新介质的签名不相同,并且在存在所述应用对应的回滚版本签名时,所述响应信息中的热更新介质签名与所述回滚版本签名也不相同,则确定存在热更新版本。
[0036]可选的,所述热更新处理模块,具体还包括:
[0037]第二热更新版本确定单元,用于在所述热更新介质存储目录中不含有热更新介质时,所述响应信息中的热更新介质签名与所述原始介质文件的签名不相同,并且在存在所述回滚版本签名时,所述响应信息中的热更新介质签名与所述回滚版本签名也不相同,则确定存在热更新版本。
[0038]为了实现上述目的,根据本专利技术的另一方面,还本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用热更新方法,其特征在于,包括:在每次启动应用时,检测是否存在所述应用对应的回滚标记;若存在回滚标记,则进行回滚操作;若不存在回滚标记,则确定所述应用的热更新介质存储目录中是否含有热更新介质;若含有热更新介质,则先设置所述应用对应的回滚标记,然后对热更新介质进行校验,若校验通过,则清除设置的所述回滚标记并且向服务器发送热更新请求;若不含有热更新介质,则对所述应用的原始介质文件进行校验,若校验通过,则向服务器发送热更新请求;根据服务器响应热更新请求发送的响应信息确定是否存在热更新版本,若存在,则从服务器下载热更新介质,并在所述热更新介质存储目录中含有热更新介质时,用从服务器下载的热更新介质替换所述热更新介质存储目录中含有的热更新介质,以及在所述热更新介质存储目录中不含有热更新介质时,将从服务器下载的热更新介质存储到所述热更新介质存储目录中,然后重启所述应用。2.根据权利要求1所述的应用热更新方法,其特征在于,所述进行回滚操作,具体包括:删除所述热更新介质存储目录中的热更新介质,并根据删除的热更新介质生成回滚版本签名;判断所述应用对应的回滚次数标记是否小于预设值;若小于所述预设值,则使所述回滚次数标记加1、清除回滚标记以及清除所述回滚版本签名,然后重启所述应用;若大于或等于所述预设值,则清除回滚标记以及将所述回滚次数标记清零,然后重启所述应用。3.根据权利要求1所述的应用热更新方法,其特征在于,所述重启所述应用,具体包括:若存在所述应用对应的回滚版本签名,则清除该回滚版本签名,若所述应用对应的回滚次数标记不为0,则将回滚次数标记清零,然后重启所述应用。4.根据权利要求1所述的应用热更新方法,其特征在于,所述响应信息中包含热更新介质签名;所述根据服务器响应所述热更新请求发送的响应信息确定是否存在热更新版本,具体包括:在所述热更新介质存储目录中含有热更新介质时,所述响应信息中的热更新介质签名与所述热更新介质存储目录中的热更新介质的签名不相同,并且在存在所述应用对应的回滚版本签名时,所述响应信息中的热更新介质签名与所述回滚版本签名也不相同,则确定存在热更新版本。5.根据权利要求4所述的应用热更新方法,其特征在于,所述根据服务器响应所述热更新请求发送的响应信息确定是否存在热更新版本,具体还包括:在所述热更新介质存储目录中不含有热更新介质时,所述响应信息中的热更新介质签名与所述原始介质文件的签名不相同,并且在存在所述回滚版本签名时,所述响应信息中的热更新介质签名与所述回滚版本签名也不相同,则确定存在热更新版本。6.根据权利要求1所述的应用热更新方法,其特征在于,还包括:若校验热更新介质不通过,则重启所述应用。7.根据权利要求1所述的应用热更新方法,其特征在于,还包括:
若校验所述原始介质文件不通过,则重启所述应用。8.一种应用热更新装置,其特征在于,包括:回滚标记检测模块,用于在每次启动应用时,检测是否存在所述应用对应的回滚标记;回滚处理模块,用于在存...

【专利技术属性】
技术研发人员:尚昱辰杨新财顾正之王震杜学智王超
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1