[发明专利]运行程序的热修复方法及装置在审
申请号: | 201810027334.6 | 申请日: | 2018-01-11 |
公开(公告)号: | CN108304213A | 公开(公告)日: | 2018-07-20 |
发明(设计)人: | 王春龙 | 申请(专利权)人: | 口碑(上海)信息技术有限公司 |
主分类号: | G06F8/72 | 分类号: | G06F8/72 |
代理公司: | 北京市浩天知识产权代理事务所(普通合伙) 11276 | 代理人: | 宋菲;刘云贵 |
地址: | 200131 上海市浦东新区自由*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 运行程序 类文件 更新配置信息 热修复 修复 查询配置信息 数据访问服务 数据访问请求 可执行程序 程序开发 访问请求 判断结果 配置信息 响应数据 用户使用 运行系统 加载 时长 替换 耗时 便利 灵活 记录 | ||
本发明公开了一种运行程序的热修复方法及装置,包括:根据数据访问请求,查询配置信息;判断配置信息是否包含提供数据访问服务的程序的更新配置信息;其中,更新配置信息记录有将第一程序类文件替换为经修复后的第二程序类文件的信息;若判断结果为是,则根据更新配置信息获取并加载第二程序类文件;在运行系统中运行第二程序类文件的可执行程序以响应数据访问请求。本发明能够解决现有技术中在运行程序的修复过程耗时较长的问题,能够大大缩短运行程序的修复时长,并且实现过程简单、操作灵活,给程序开发以及用户使用都带来诸多便利。
技术领域
本发明涉及计算机技术领域,具体涉及一种运行程序的热修复方法及装置。
背景技术
目前,当服务端的线上运行程序出现问题(例如运行的程序文件存在漏洞bug)时,由于其修复过程通常需要依次经历程序的开发环境、预发环境以及发布等过程,因此存在程序修复过程耗时较长的问题(通常在半小时以上,当运行机器较多时,还会花费数小时甚至更多时间),给程序开发以及用户使用都带来诸多不便,同时还有可能给开发商造成较大的资产损失以及信誉损失。
针对上述存在的问题,现有技术中通过热部署技术以及热加载技术来对运行程序进行动态更新。但是,热部署技术以及热加载技术存在以下局限:热部署技术(例如tomcat热部署模块)通常需要重新加载整个应用,其所耗时长与重启服务器的时长相差无几,并不能有效解决运行程序修复耗时过长的问题;而热加载技术通常存在程序修改限制较大(例如Hotswap,只允许修改方法体,不允许增加新协议,不允许新增字段、方法以及不允许修改方法签名等,极大限制了解决问题的类型)、安装复杂(例如JRebel与jvm强耦合,安装较为复杂)、维护不便(例如OSGi)以及脚本不适用(例如Groovy一般只能用于修复自身脚本问题,对于其它脚本则不适用)等诸多问题,在此基础上也无法有效解决运行程序修复耗时较长的问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种运行程序的热修复方法及装置。
根据本发明的一个方面,提供了一种运行程序的热修复方法,包括:根据数据访问请求,查询配置信息;判断配置信息是否包含提供数据访问服务的程序的更新配置信息;其中,更新配置信息记录有将第一程序类文件替换为经修复后的第二程序类文件的信息;若判断结果为是,则根据更新配置信息获取并加载第二程序类文件;在运行系统中运行第二程序类文件的可执行程序以响应数据访问请求。
可选地,更新配置信息还记录有:第二程序类文件在分布式文件系统中的存储路径;
根据更新配置信息获取并加载第二程序类文件的步骤进一步包括:
根据存储路径访问分布式文件系统,获取第二程序类文件;
利用程序类加载器加载第二程序类文件,生成可执行程序。
可选地,存储在分布式文件系统中的第二程序类文件按照预设命名规则进行命名,预设命名规则以版本信息为依据;
根据存储路径访问分布式文件系统,获取第二程序类文件的步骤进一步包括:
根据预设命名规则在分布式文件系统中查找版本信息最高的第二程序类文件。
可选地,在根据数据访问请求,查询配置信息之前,方法进一步包括:在第一程序类文件的预设位置插入代理程序代码;其中,预设位置根据预先设置的标识进行识别。
根据本发明的另一个方面,提供了一种运行程序的热修复装置,包括:查询模块,用于根据数据访问请求,查询配置信息;判断模块,用于判断配置信息是否包含提供数据访问服务的程序的更新配置信息;其中,更新配置信息记录有将第一程序类文件替换为经修复后的第二程序类文件的信息;加载模块,用于若判断结果为是,则根据更新配置信息获取并加载第二程序类文件;运行模块,用于在运行系统中运行第二程序类文件的可执行程序以响应数据访问请求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于口碑(上海)信息技术有限公司,未经口碑(上海)信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810027334.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种对平台进行监测和维护的方法
- 下一篇:一种立即数的完整性的校验方法及装置