[发明专利]软件热修复方法、终端、系统及计算机可读存储介质在审
申请号: | 201710483251.3 | 申请日: | 2017-06-21 |
公开(公告)号: | CN107329781A | 公开(公告)日: | 2017-11-07 |
发明(设计)人: | 黄小峰 | 申请(专利权)人: | 努比亚技术有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F11/07 |
代理公司: | 深圳市世纪恒程知识产权代理事务所44287 | 代理人: | 胡海国 |
地址: | 518057 广东省深圳市南山区高新区北环大道9018*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 软件 修复 方法 终端 系统 计算机 可读 存储 介质 | ||
技术领域
本发明涉及终端技术领域,尤其涉及一种软件热修复方法、终端、系统及计算机可读存储介质。
背景技术
目前,一个软件App发布之后,出现漏洞bug需要进行紧急修复的情况时有发生,在bug对应修改的代码量很小时,由于重新打包App、测试、向各个应用市场和渠道换包、提示用户升级、用户下载、覆盖安装等常规做法用户体验低,成本高,因而如何快速高效修复软件App漏洞bug,成为急需解决的技术问题。
发明内容
本发明的主要目的在于提供一种软件热修复方法、终端、系统及计算机可读存储介质,旨在解决现有软件修复过程用户体验低,成本高的技术问题。
为实现上述目的,本发明提供的一种软件热修复方法,若软件中待修复漏洞符合预设修复逻辑时,生成软件修复指令;
当终端检测到软件修复指令时,获取修复指令对应的可执行补丁文件;
从软件对应可执行文件集合中获取可执行待修复文件,将可执行待修复文件与可执行补丁文件进行合并作为可执行合并文件,以实现终端加载该可执行合并文件,以实现对软件的热修复;
其中,在所述可执行合并文件中,按照先排列可执行补丁文件后排列可执行待修复文件的方式进行排列.
可选地,所述软件包括各个类文件,所述当终端检测到软件修复指令时,获取修复指令对应的可执行补丁文件步骤之前包括:
编译所述软件的各个类文件,在编译过程中,若检测到引用其它类文件的引用类文件时,将被引用类文件编译成第一可执行文件,并将第一可执行文件作为第二可执行文件的可执行子文件存储,其中,所述第二可执行文件由引用类文件编译而成;
将编译完成的各个类文件保存在软件对应可执行文件集合中。
可选地,所述可执行补丁文件保存在服务器中,所述当终端检测到软件修复指令时,获取修复指令对应的可执行补丁文件步骤包括:
当终端检测到软件修复指令时,向服务器发送请求软件修复指令对应的可执行补丁文件的请求信息;
获取服务器端反馈的所述软件修复指令对应的可执行补丁文件,并对该可执行补丁文件的各类类文件进行有效性验证,当验证完成时,执行加载并编译所述类文件成可执行补丁文件的步骤。
可选地,所述实现对软件的热修复步骤之后还包括:
检测对软件的热修复是否成功,并向服务器端上报对软件的热修复是否成功的状态信息。
可选地,所述检测对软件的热修复是否成功,并向服务器端上报对软件的热修复是否成功的状态信息步骤包括:
检测对软件的热修复是否成功,当成功时,发送重启所述软件的指令,以基于该指令重启软件,并向服务器端上报对软件的热修复成功的第一状态信息。
可选地,所述检测对软件的热修复是否成功,并向服务器端上报对软件的热修复是否成功的状态信息步骤还包括:
检测对软件的热修复是否成功,当不成功时,发送修复失败的提示信息,并向服务器端上报对软件的热修复失败的第二状态信息。
可选地,所述软件包括可执行文件集合,所述可执行合并文件在可执行文件集合中的存储位置与所述原可执行修复文件对应的存储位置一致。
此外,为实现上述目的,本发明还提出一种软件热修复系统,所述软件热修复系统包括服务器以及实现上述所述软件热修复方法对应的终端,其中,所述服务器在接收终端发送请求可执行补丁文件的请求信息时,反馈所述可执行补丁文件,并接收终端上报的对软件热修复是否成功的状态信息。
此外,为实现上述目的,本发明还提出一种终端,所述终端包括:存储器、处理器、通信总线以及存储在所述存储器上的软件热修复程序:
所述通信总线用于实现处理器和存储器之间的连接通信;
所述处理器用于执行所述软件热修复程序,以实现如下步骤:
若软件中待修复漏洞符合预设修复逻辑时,生成软件修复指令;
当终端检测到软件修复指令时,获取修复指令对应的可执行补丁文件;
从软件对应可执行文件集合中获取可执行待修复文件,将可执行待修复文件与可执行补丁文件进行合并作为可执行合并文件,以实现终端加载该可执行合并文件,以实现对软件的热修复;
其中,在所述可执行合并文件中,按照先排列可执行补丁文件后排列可执行待修复文件的方式进行排列。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序可被一个或者一个以上的处理器执行以用于:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于努比亚技术有限公司,未经努比亚技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710483251.3/2.html,转载请声明来源钻瓜专利网。