[发明专利]软件修复方法、装置、计算机设备和存储介质在审
申请号: | 201810547223.8 | 申请日: | 2018-05-31 |
公开(公告)号: | CN108762787A | 公开(公告)日: | 2018-11-06 |
发明(设计)人: | 程超 | 申请(专利权)人: | 康键信息技术(深圳)有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65 |
代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 孙凯乐 |
地址: | 518051 广东省深圳市南山区前海深港合作区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码段 开关代码 热修复 跳转 软件修复 计算机设备 存储介质 修复软件 原代码 查询 指令 服务器获取 测试 修复 申请 开发 | ||
1.一种软件修复方法,所述方法包括:
从服务器获取待修复软件对应的当前热修复包,所述当前热修复包中包含有修改代码段;
查询与所述当前热修复包所对应的原代码段,并获取所述原代码段所对应的跳转代码段;
查询所述跳转代码段所对应的执行开关代码段,并接收将所述执行开关代码段进行更改的更改指令;
根据所述更改指令,将所述执行开关代码段进行更改;
根据更改的所述执行开关代码段,执行所述跳转代码段;
根据所述跳转代码段,查询所述当前热修复包中的所述修改代码段,执行所述修改代码段完成所述待修复软件的修复。
2.根据权利要求1所述的方法,其特征在于,在所述从服务器获取当前热修复包之后且在所述查询与所述当前热修复包所对应的原代码段之前,还包括:
查询是否存在待运行热修复包;
当存在所述待运行热修复包时,则获取所述待运行热修复包的第一版本号与所述当前热修复包的第二版本号;
当所述待运行热修复包的第一版本号低于所述当前热修复包的第二版本号时,则获取所述待运行热修复包的第一加密标识与所述当前待修复包的第二加密标识;
将所述第一加密标识与所述第二加密标识进行比对,当所述第一加密标识与所述第二加密标识不同时,则删除所述待运行热修复包。
3.根据权利要求2所述的方法,其特征在于,所述将所述第一加密标识与所述第二加密标识进行比对,当所述第一加密标识与所述第二加密标识不同时,则删除所述待运行热修复包,包括:
比较所述第一加密标识与所述第二加密标识,当所述第一加密标识与所述第二加密标识不同时,则卸载所述待运行热修复包;
当所述待运行热修复包卸载完成时,则加载所述当前热修复包;
当所述当前热修复包加载成功时,则完成删除所述待运行热修复包。
4.根据权利要求1所述的方法,其特征在于,在所述从服务器获取当前热修复包之后且在所述查询与所述当前热修复包所对应的原代码段,还包括:
获取所述当前热修复包的可用性判断逻辑;
根据所述可用性判断逻辑,判断所述当前热修复包是否可用;
当所述当前热修复包不可用时,则获取更新热修复包的获取指令,根据所述获取指令,从服务器获取所述更新热修复包。
5.根据权利要求1至4任意一项所述的方法,其特征在于,所述当前热修复包是所述服务器在检测到所述原代码段中存在所述修改代码段时,根据所述修改代码段生成的;
所述跳转代码段是所述服务器在原代码段之前插入的、用于在执行时指示跳转至所述当前热修复包中的对应的所述修改代码段。
6.根据权利要求5所述的方法,其特征在于,所述修改代码段是所述原代码段上添加的加密标识变化的代码段。
7.一种软件修复装置,其特征在于,所述装置包括:
获取模块,用于从服务器获取待修复软件对应的当前热修复包,所述当前热修复包中包含有修改代码段;
查询模块,用于查询与所述当前热修复包所对应的原代码段,并获取所述原代码段所对应的跳转代码段;
更改指令接收模块,用于查询所述跳转代码段所对应的执行开关代码段,并接收将所述执行开关代码段进行更改的更改指令;
更改模块,用于根据所述更改指令,将所述执行开关代码段进行更改;
跳转代码段执行模块,用于根据更改的所述执行开关代码段,执行所述跳转代码段;
修改代码段执行模块,用于根据所述跳转代码段,查询所述当前热修复包中的所述修改代码段,执行所述修改代码段完成所述待修复软件的修复。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于康键信息技术(深圳)有限公司,未经康键信息技术(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810547223.8/1.html,转载请声明来源钻瓜专利网。