一种应用软件的补丁执行方法和存储介质与流程

文档序号:34463286发布日期:2023-06-15 04:59阅读:58来源:国知局
一种应用软件的补丁执行方法和存储介质与流程

本发明涉及软件,其特别涉及一种应用软件的补丁执行方法和存储介质。


背景技术:

1、在日常app(application,即应用软件)研发中,总会由于测试无法完全覆盖、系统和三方等原因造成线上问题,又由于苹果审核发版机制导致线上问题通过发布新版本解决链路过长,时效性很差,通常是研发热修复功能并通过下发补丁解决线上问题。

2、而补丁通常需要通过网络下发,易延长补丁的获取时间,影响补丁修复及时率,若补丁获取不成功,也会降低修复成功率;且常规的热修复补丁往往只在app冷启动时进行,但是用户冷启动时机等会影响补丁修复所能够覆盖的代码范围,从而降低修复及时率和成功率。


技术实现思路

1、为了解决现有补丁修复及时率、成功率不高,修复范围较小的问题,本发明提供一种应用软件的补丁执行方法和存储介质。

2、本发明为解决上述技术问题,提供如下的技术方案:一种应用软件的补丁执行方法,用于安装有所述应用软件的电子设备,所述应用软件的启动程序中设置有热修复组件,包括以下步骤:

3、获取应用软件启动信号,初始化热修复组件获取应用软件的补丁文件;初始化补丁执行环境,基于补丁执行环境检测是否存在补丁文件对应的初始补丁信息缓存文件;若存在,基于初始补丁信息缓存文件执行补丁文件进行以对应用软件进行修复,获取修复后的应用软件发起的请求信息,基于请求信息,获取并提供最新补丁信息,并将最新补丁信息对应的最新补丁信息缓存文件替换初始补丁信息缓存文件;若不存在,获取应用软件发起的请求信息,基于请求信息,获取并提供最新补丁信息,执行最新补丁信息,并将最新补丁信息对应的最新补丁信息缓存文件进行缓存。

4、优选地,获取应用软件启动信号,初始化热修复组件获取应用软件的补丁文件具体为:应用软件的后台设置有热修复接口,初始化热修复组件并与热修复接口集成,基于热修复接口查找应用软件对应的补丁信息并返回通过热修复组件生成的数据字段得到补丁文件。

5、优选地,初始化补丁执行环境具体为:基于js构造函数预埋js脚本执行函数,初始化执行补丁环境。

6、优选地,所述初始补丁信息缓存文件包括补丁文件基于热修复接口返回的信息和应用软件的版本号信息。

7、优选地,基于补丁执行环境检测是否存在补丁文件对应的初始补丁信息缓存文件具体为:对初始补丁信息缓存文件的版本号信息进行校验,若校验一致,存在补丁文件对应的初始补丁信息缓存文件。

8、优选地,基于初始补丁信息缓存文件执行补丁文件进行以对应用软件进行修复的具体步骤为:

9、读取初始补丁信息缓存文件的第一字段,查找是否存在基于第一字段的第一文件并进行核验,若存在且核验一致,执行初始补丁信息缓存文件;若不存在和/或核验不一致,读取初始补丁信息缓存文件的第二字段,基于第二字段获取第二补丁文件,若获取成功且第一字段核验通过,执行第二补丁文件并更新第一文件。

10、优选地,执行补丁文件具体为:基于aop将补丁脚本切入目标代码并运行。

11、优选地,获取修复后的应用软件发起的请求信息,基于请求信息,获取并提供最新补丁信息,并将最新补丁信息对应的最新补丁信息缓存文件替换初始补丁信息缓存文件具体为:修复后的应用软件发起请求信息,基于请求信息获取并提供最新的补丁信息,若获取成功,将最新补丁信息对应的最新补丁信息缓存文件替换初始补丁信息缓存文件;若获取失败且应用软件未进行修复,通过通知监听,基于可运行网络和应用软件的前台和后台切换,重新进行修复。

12、优选地,执行最新补丁信息,并将最新补丁信息对应的最新补丁信息缓存文件进行缓存具体为:执行最新补丁信息,基于最新的补丁信息判断补丁文件是否进行过修复,若否,将最新补丁信息对应的最新补丁信息缓存文件进行缓存;若是,将最新补丁信息对应的最新补丁信息缓存文件进行替换并缓存。

13、本发明为解决上述技术问题,提供又一技术方案如下:一种计算机存储介质,其上储存有计算机程序,其特征在于:所述计算机程序被执行时实现如前述任一项所述的一种应用软件的补丁执行方法的步骤。

14、与现有技术相比,本发明所提供的一种应用软件的补丁执行方法和存储介质,具有如下的有益效果:

15、1、本发明实施例中提供的一种应用软件的补丁执行方法,用于安装有应用软件的电子设备,应用软件的启动程序中设置有热修复组件,包括以下步骤:首先获取应用软件启动信号,初始化热修复组件获取应用软件的补丁文件;然后初始化补丁执行环境,基于补丁执行环境检测是否存在补丁文件对应的初始补丁信息缓存文件;若存在,基于初始补丁信息缓存文件执行补丁文件进行以对应用软件进行修复,获取修复后的应用软件发起的请求信息,基于请求信息,获取并提供最新补丁信息,并将最新补丁信息对应的最新补丁信息缓存文件替换初始补丁信息缓存文件;若不存在,获取应用软件发起的请求信息,基于请求信息,获取并提供最新补丁信息,执行最新补丁信息,并将最新补丁信息对应的最新补丁信息缓存文件进行缓存;即通过补丁缓存与应用软件启动时执行补丁,保证了应用软件的修复是及时的,以提高应用软件的稳定性,即修复及时率更高,且基于最新的补丁信息进行执行不仅能够减少修复的时间和成本,还能避免修复过程中的错误和风险,提高修复的成功率;针对有补丁缓存或无补丁缓存均有其对应的操作,能够扩大修复范围,提高实用性。

16、2、本发明实施例中提供的获取应用软件启动信号,初始化热修复组件获取应用软件的补丁文件具体为:应用软件的后台设置有热修复接口,初始化热修复组件并与热修复接口集成,基于热修复接口查找应用软件对应的补丁信息并返回通过热修复接口获取的数据字段得到补丁文件;即提供热修复接口能够减少集成的复杂度,以保障修复及时率;还能实现对于不同版本的应用软件进行相应的补丁信息匹配,保证补丁的正确性和有效性。

17、3、本发明实施例中提供的初始化补丁执行环境具体为:基于js构造函数预埋js脚本执行函数,初始化执行补丁环境,通过预埋js脚本执行函数既能提高执行效率,还能确保代码的稳定性,能够直接用于执行,以减少执行时间;在运行时可以对代码进行限制和控制,防止恶意代码或者不安全代码的执行,安全性更高,利于保障修复补丁的成功率。

18、4、本发明实施例中提供的基于补丁执行环境检测是否存在补丁文件对应的初始补丁信息缓存文件具体为:对初始补丁信息缓存文件的版本号信息进行校验,若校验一致,存在补丁文件对应的初始补丁信息缓存文件;即基于初始补丁信息缓存文件进行校验,能够减少网络请求的次数,节省时间,提高应用软件的响应速度,提升修复及时率,且可以提高用户的体验,能够更快地启动应用和获取更新,以提高用户的满意度。

19、5、本发明实施例中提供的基于初始补丁信息缓存文件执行补丁文件进行以对应用软件进行修复的具体步骤为:读取初始补丁信息缓存文件的第一字段,查找是否存在基于第一字段的第一文件并进行核验,若存在且核验一致,执行初始补丁信息缓存文件;若不存在和/或核验不一致,读取初始补丁信息缓存文件的第二字段,基于第二字段获取第二补丁文件,若获取成功且第一字段核验通过,执行第二补丁文件并更新第一文件;此设置能够保障修复成功率,且通过预先获取并核验第一文件,可以减少获取和核验第二补丁文件的时间,能够提高应用软件的响应速度;通过基于第一字段获取第一文件并进行核验,可以提高应用软件的可靠性,防止恶意攻击者通过篡改补丁信息来攻击应用软件,保障用户信息的安全;且还能提高应用软件的可维护性,保障其长期的稳定性。

20、6、本发明实施例中提供的执行补丁文件具体为:基于aop将补丁脚本切入目标代码并运行,此设置能够保证目标代码的可读性和可维护性,并提升其可复用性,针对目标代码的运行能够更加简单且明确。

21、7、本发明实施例中提供的获取修复后的应用软件发起的请求信息,基于请求信息,获取并提供最新补丁信息,并将最新补丁信息对应的最新补丁信息缓存文件替换初始补丁信息缓存文件具体为:修复后的应用软件发起请求信息,基于请求信息获取并提供最新的补丁信息,若获取成功,将最新补丁信息对应的最新补丁信息缓存文件替换初始补丁信息缓存文件;若获取失败且应用软件未进行修复,通过通知监听,基于可运行网络和应用软件的前台和后台切换,重新进行修复;通知监听和基于可运行网络和应用软件的前台和后台切换,可以及时修复应用软件的问题,提高修复的效率和准确性,减少因修复问题而对用户造成的影响;且基于最新的补丁信息对应的最新补丁信息缓存文件替换初始补丁信息缓存文件,可以及时修复应用软件的漏洞和问题,从而提高应用软件的稳定性和可靠性;用户体验感更好。

22、8、本发明实施例中提供的执行最新补丁信息,并将最新补丁信息对应的最新补丁信息缓存文件进行缓存具体为:执行最新补丁信息,基于最新的补丁信息判断补丁文件是否进行过修复,若否,将最新补丁信息对应的最新补丁信息缓存文件进行缓存;若是,将最新补丁信息对应的最新补丁信息缓存文件进行替换并缓存;此设置能够提高该应用软件的稳定性,将最新补丁信息对应的最新补丁信息缓存文件进行缓存,即存在本地补丁文件使其在网络不稳定或者无法访问服务器的情况下,仍旧可以使用本地缓存的补丁信息缓存文件进行更新,以保障应用软件的正常运行。

23、9、本发明实施例还提供一种计算机存储介质,具有与上述一种应用软件的补丁执行方法相同的有益效果,在此不做赘述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1