[发明专利]分布式SDK热更新处理方法、应用服务器集群在审
申请号: | 202011637352.X | 申请日: | 2020-12-31 |
公开(公告)号: | CN112860300A | 公开(公告)日: | 2021-05-28 |
发明(设计)人: | 武文斌;刘静;傅兵;李晓萌 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F8/656 | 分类号: | G06F8/656;H04L29/08;H04L29/06 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 任默闻;孙乳笋 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 sdk 更新 处理 方法 应用 服务器 集群 | ||
本申请提供的分布式SDK热更新处理方法、应用服务器集群,可用于大数据技术领域,本发明通过SDK版本号来确定当前SDK版本是否是最新版本,当SDK更新时,仅仅需要增量升级包,然后配合类加载器加载的方式,进而基于字节码修改来实现版本热更新,可以做到通过对SDK热升级,可以在很大程度上缓解推动应用客户端配合升级SDK的重重阻碍,可以做到应用无感知的情况下,通过热更新快速迭代版本,解决了SDK升级难的痛点。
技术领域
本申请涉及应用热更新处理技术领域,具体涉及分布式SDK热更新处理方法、应用服务器集群及应用客户端。
背景技术
目前业界常见的访问分布式服务的方式都是在应用程序端内嵌SDK,通过RPC来调用分布式服务,而一旦SDK需要更新升级时,则需要应用配合更新SDK程序包,并对大量的应用服务器进行程序的重启生效操作。
在持续交付的时代,版本内容的升级和迭代频率都在不断提升,而很多应用重新部署过程会比较复杂,停机停服务是不能接受的,尤其对于某些大型应用来说,每次重启都需要花费大量的时间成本,所以如果能在不重启进程的情况下升级应用进程中的程序逻辑,以达到版本升级,功能上线的效果,在某些业务场景下变得十分重要。
发明内容
针对现有技术中的问题,本申请提供一种分布式SDK热更新处理方法、应用服务器集群及应用客户端,能够在不影响整个系统对外服务的高性能基础上,保证了数据零丢失且不中断对外服务。
为解决上述技术问题,本申请提供以下技术方案:
本发明第一方面实施例提供一种分布式系统的SDK热更新处理方法,所述SDK热更新处理方法由应用客户端执行,包括:
若应用服务器集群上传有可升级SDK版本号的升级包,获取所述应用服务器集群中的所述升级包;所述升级包包括对当前全量SDK包的至少部分源码进行更新后的更新源码;
通过类加载方式,用所述更新源码替换当前全量SDK包中的所述至少部分源码。
在某些实施例中,所述获取所述应用服务器集群中的所述升级包,包括:
定时获取所述应用服务器集群中的所述升级包。
在某些实施例中,所述获取所述应用服务器集群中的所述升级包,包括:
每隔设定时长获取所述应用服务器集群中的所述升级包。
在某些实施例中,所述通过类加载器加载所述升级包,包括:
实例化所述类加载器;
解析所述升级包,获得类路径信息以及字节码信息;
基于字节码信息,通过所述类加载器加载的方式获取所述类路径信息下的类对象;
实例化所述类对象,进而可通过调用所述类对象加载所述升级包。
在某些实施例中,所述实例化所述类对象,包括:
使用反射调用JnosRedisPool.getInstance获取类对象的实例;
通过NosRedisClient接口将所述类对象的实例发送至应用。
本发明第二方面实施例提供一种分布式系统的SDK热更新处理方法,所述SDK热更新处理方法由应用服务器集群执行,包括:
向应用客户端发送可升级SDK版本号,以使所述应用客户端根据所述可升级SDK版本号以及当前SDK版本号确定是否获取所述升级包,所述升级包包括对当前全量SDK包的至少部分源码进行更新后的更新源码;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011637352.X/2.html,转载请声明来源钻瓜专利网。