[发明专利]应用程序的热修复方法、系统、设备及可读存储介质在审
| 申请号: | 202210934739.4 | 申请日: | 2022-08-04 |
| 公开(公告)号: | CN115291923A | 公开(公告)日: | 2022-11-04 |
| 发明(设计)人: | 杨博研 | 申请(专利权)人: | 平安银行股份有限公司 |
| 主分类号: | G06F8/656 | 分类号: | G06F8/656;G06F8/658 |
| 代理公司: | 深圳市威世博知识产权代理事务所(普通合伙) 44280 | 代理人: | 李申 |
| 地址: | 518000 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 应用程序 修复 方法 系统 设备 可读 存储 介质 | ||
1.一种应用程序的热修复方法,其特征在于,所述应用程序的热修复方法包括:
终端获取到待修复应用程序的补丁包,所述补丁包中包括有所述待修复应用程序对应的目标应用程序子类的类文件;
利用类加载器加载所述目标应用程序子类的类文件;
将所述目标应用程序子类注册为所述待修复应用程序对应的类标识符所对应的对象。
2.根据权利要求1所述的应用程序的热修复方法,其特征在于,所述利用类加载器加载所述目标应用程序子类的类文件,包括:
通过所述类加载器将所述目标应用程序子类的类文件加载到JVM中。
3.根据权利要求1所述的应用程序的热修复方法,其特征在于,所述将所述目标应用程序子类注册为所述待修复应用程序对应的类标识符所对应的对象,包括:
将所述目标应用程序子类注册至spring容器,并将所述spring容器中的所述待修复应用程序对应的类标识符所对应的对象替换为所述目标应用程序子类。
4.根据权利要求3所述的应用程序的热修复方法,其特征在于,所述待修复应用程序为Controller类或Mapper类;
所述将所述目标应用程序子类注册至spring容器,并将所述spring容器中的所述待修复应用程序对应的类标识符所对应的对象替换为所述目标应用程序子类,包括:
将所述目标应用程序子类注册至所述spring容器的子容器中;
将所述子容器中的所述待修复应用程序对应的类标识符所对应的对象替换为所述目标应用程序子类。
5.根据权利要求4所述的应用程序的热修复方法,其特征在于,所述待修复应用程序为Controller类;所述将所述子容器中的所述待修复应用程序对应的类标识符所对应的对象替换为所述目标应用程序子类,包括:
将所述目标应用程序子类注册在RequestMappingInfoHandlerMapping中,所述RequestMappingInfoHandlerMapping中记录有所述目标应用程序子类与所述待修复应用程序对应的类标识符之间的映射关系。
6.根据权利要求4所述的应用程序的热修复方法,其特征在于,所述待修复应用程序为Mapper类;所述将所述子容器中的所述待修复应用程序对应的类标识符所对应的对象替换为所述目标应用程序子类,包括:
将所述目标应用程序子类注册在Configuration中,所述Configuration中记录有所述目标应用程序子类与所述待修复应用程序对应的类标识符之间的映射关系。
7.一种应用程序的热修复系统,其特征在于,所述应用程序的热修复系统包括若干个终端和与每个所述终端连接的分布式修复平台;
所述分布式修复平台用于获取待修复应用程序对应的目标应用程序子类的类文件,并将所述目标应用程序子类的类文件分发至每个所述终端;
所述终端用于获取所述目标应用程序子类的类文件,并利用权利要求1-6任一项所述的应用程序的热修复方法,对所述待修复应用程序进行热修复。
8.根据权利要求7所述的应用程序的热修复系统,其特征在于,所述分布式修复平台包括相互连接的文件获取单元、安全校验单元、存储单元和通信电路;
所述文件获取单元用于根据所述待修复应用程序的类标识符自动拉取所述待修复应用程序对应的所述目标应用程序子类的类文件;
所述安全校验单元用于对所述目标应用程序子类的类文件进行安全机制校验;
所述存储单元用于在安全机制校验通过后,存储所述目标应用程序子类的类文件;
所述通信电路用于将所述目标应用程序子类的类文件分发至每个所述终端。
9.一种电子设备,其特征在于,所述电子设备包括相互连接的处理器和存储器;
所述存储器用于存储程序指令,所述处理器用于执行所述程序指令以实现如权利要求1-6任一项所述的应用程序的热修复方法。
10.一种计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令被处理器执行时实现权利要求1至6任一项所述的应用程序的热修复方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安银行股份有限公司,未经平安银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210934739.4/1.html,转载请声明来源钻瓜专利网。





