[发明专利]应用程序热修复的方法、装置、可读存储介质和计算设备有效
申请号: | 201710104390.0 | 申请日: | 2017-02-24 |
公开(公告)号: | CN106897095B | 公开(公告)日: | 2020-10-13 |
发明(设计)人: | 詹亚威;顾红清;姜聪 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F21/57 |
代理公司: | 北京律智知识产权代理有限公司 11438 | 代理人: | 阚梓瑄;王卫忠 |
地址: | 310052 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用程序 修复 方法 装置 可读 存储 介质 计算 设备 | ||
1.一种应用程序热修复的方法,包括:
启动应用程序时,向服务器请求用于对所述应用程序进行热修复的热修复机制;
获取所述服务器指示的热修复机制;其中,所述服务器指示的热修复机制,是所述服务器基于所述应用程序的热修复补丁的数据量大小、与所述应用程序对应的客户端之间的网络状态、对所述客户端的启动时延的要求中的一个或者多个的组合而分配的,所述服务器指示的热修复机制包括同步修复、异步修复或者不修复;
基于所述服务器指示的热修复机制对所述应用程序进行热修复;
其中,还包括:
判断是否需要对所述应用程序进行强制修复;
在判定不需要对所述应用程序进行强制修复时,向所述服务器请求用于对所述应用程序进行热修复的热修复机制;
在判定需要对所述应用程序进行强制修复时,获取并加载所述应用程序的热修复补丁,并在加载所述热修复补丁之后运行所述应用程序。
2.根据权利要求1所述的方法,还包括:
检测是否能够与所述服务器建立连接;
在检测到能够与所述服务器建立连接时,向所述服务器请求用于对所述应用程序进行热修复的热修复机制。
3.根据权利要求2所述的方法,还包括:
在检测到不能够与所述服务器建立连接时,判断是否已下载所述应用程序的热修复补丁;
若已下载所述应用程序的热修复补丁,则加载所述热修复补丁,并在加载所述热修复补丁之后运行所述应用程序;
若未下载所述应用程序的热修复补丁,则直接运行所述应用程序。
4.根据权利要求1所述的方法,其中,判断是否需要对所述应用程序进行强制修复的步骤,包括:
检测所述应用程序的热修复状态是否为强制修复状态;
在所述应用程序的热修复状态为强制修复状态时,判定需要对所述应用程序进行强制修复。
5.根据权利要求4所述的方法,还包括:
若所述应用程序在运行过程中崩溃,则将所述应用程序的热修复状态置为所述强制修复状态。
6.根据权利要求1所述的方法,其中,在所述服务器指示的热修复机制为同步修复机制的情况下,基于所述服务器指示的热修复机制对所述应用程序进行热修复的步骤,包括:
获取所述应用程序的热修复补丁;
加载所述应用程序的热修复补丁;
在加载所述热修复补丁之后运行所述应用程序。
7.根据权利要求1所述的方法,其中,在所述服务器指示的热修复机制为异步修复机制的情况下,基于所述服务器指示的热修复机制对所述应用程序进行热修复的步骤,包括:
基于第一线程判断是否已存储了所述应用程序的热修复补丁,并基于第二线程下载所述应用程序的热修复补丁;
若所述第一线程判定已存储了所述应用程序的热修复补丁,则加载所述应用程序的热修复补丁,并在加载所述热修复补丁之后运行所述应用程序;
若所述第一线程判定未存储所述应用程序的热修复补丁,则直接运行所述应用程序。
8.根据权利要求1所述的方法,还包括:
在所述服务器指示不对所述应用程序进行热修复时,直接运行所述应用程序。
9.根据权利要求1至8中任一项所述的方法,还包括:
在所述应用程序的运行过程中,若检测到所述应用程序出现异常,则确定所述异常的类型;
将所述异常的类型上报至所述服务器。
10.根据权利要求9所述的方法,其中,所述异常的类型包括所述应用程序版本引起的异常和/或所述应用程序的热修复补丁引起的异常。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710104390.0/1.html,转载请声明来源钻瓜专利网。