一种集群中应用系统热部署方法和装置制造方法及图纸

技术编号:39408580 阅读:15 留言:0更新日期:2023-11-19 16:00
本发明专利技术涉及计算机技术领域,公开了一种集群中应用系统热部署方法和装置,其技术方案要点是S1、在集群中应用系统的启动阶段,关联字节码替换工具,所述字节码替换工具用于在不重启应用系统的情况下对字节码进行替换;S2、在集群中应用系统启动完成后,等待热部署指令;S3、基于用户触发指令,获取字节码文件压缩包;S4、对字节码文件压缩包进行解析,获取并存储字节码信息,再向集群中的应用系统发送热部署指令;S5、各个应用系统收到热部署指令后,通过字节码替换工具,根据字节码信息实时执行热部署程序调度,能够实现实时的部署优化,并且对外提供版本一致的服务,避免因版本问题而导致的程序兼容性问题和数据混乱问题。的程序兼容性问题和数据混乱问题。的程序兼容性问题和数据混乱问题。

【技术实现步骤摘要】
一种集群中应用系统热部署方法和装置


[0001]本专利技术涉及计算机
,更具体地说,它涉及一种集群中应用系统热部署方法和装置。

技术介绍

[0002]目前大多数应用系统的服务是基于集群来实现的,也即由一组服务器作为一个集群来向客户端提供服务,应用系统部署上线后,需要保障7*24小时对外提供服务。当线上运行过程中对应用系统会进行优化、针对运行时发现的BUG进行即时修复,这就需要对应用服务进行重新部署,传统方式需要对线上运行的应用系统进行服务关闭与重启,为保证集群环境整体对外服务不间断,主流部署的方式为分批次部署,即先对集群中若干台应用服务进行程序替换与服务重启,成功后以此类推重复执行,直至完成所有服务的替换与重启,最终完成集群下所有应用系统部署。
[0003]例如一个应用系统,基于三台服务器做集群部署,上线运行期间发现BUG,此时需要对运行应用系统程序进行修正,这时就需要对三台服务器应用系统的程序包进行替换,然后对系统做重新发布。为了满足应用服务不间断,往往先将第一台服务器应用系统进行关闭,然后做程序包的替换,再对应用系统进行重启。第一台发布过程期间,由第二与第三台对外提供服务,保证提供服务不间断。以此类推再发布第二台服务器的应用系统,直至完成集群中三台服务器的应用发布。
[0004]但是上述这种部署方式存在几个问题:
[0005]1、整体发布过程周期较长,集群服务按批次进行发布,导致整体周期时间长,无法做到秒级部署,大量耗费人力与时间等成本。
[0006]2、批次进行部署过程中,重启后的应用系统提供新版本服务,尚未重启的应用系统提供老版本服务,这样就存在多版本并存的情况,版本并存受理交易可能会导致应用系统数据与逻辑混乱的现象;假设第一台重启完成后为应用系统提供服务版本为V2.0,此时另外两台对外提供服务版本较老为V1.0,这样会存在整体发布过程中有多个版本的提供服务的情况,往往会导致程序逻辑与数据混乱。
[0007]3、服务重启过程中需要对应用系统的进程进行关闭,一些正在处理中的任务会被终止,也会导致数据与逻辑混乱的现象,即应用系统发布需要重启,即关闭当前应用系统进程,没有做到热部署,这样对于当前进程正在运行的程序,如定时轮训任务,在途进件交易,系统间调度等非常不友好,非常容易出现由于程序被中断,从而产生程序执行逻辑与数据混乱的问题。

技术实现思路

[0008]本专利技术的目的是提供一种集群中应用系统热部署方法和装置,能够实现实时的部署优化,并且对外提供版本一致的服务,避免因版本问题而导致的程序兼容性问题和数据混乱问题。
[0009]本专利技术的上述技术目的是通过以下技术方案得以实现的:一种集群中应用系统热部署方法,包括如下步骤:
[0010]S1、在集群中应用系统的启动阶段,关联字节码替换工具,所述字节码替换工具用于在不重启应用系统的情况下对字节码进行替换;
[0011]S2、在集群中应用系统启动完成后,等待热部署指令;
[0012]S3、基于用户触发指令,获取字节码文件压缩包;
[0013]S4、对字节码文件压缩包进行解析,获取并存储字节码信息,再向集群中的应用系统发送热部署指令;
[0014]S5、各个应用系统收到热部署指令后,通过字节码替换工具,根据字节码信息实时执行热部署程序调度。
[0015]作为本专利技术的一种优选技术方案,集群中应用程序启动阶段时,在集群服务器中为应用系统创建虚拟机,所述虚拟机用于执行类加载,加载字节码存储至元数据空间。
[0016]作为本专利技术的一种优选技术方案,所述字节码替换工具为探针jar包。
[0017]作为本专利技术的一种优选技术方案,在应用系统启动完成后,通过消息监听单元,执行消息监听,用于接收热部署指令,所述消息监听单元通过消息队列监听或RPC监听实现。
[0018]作为本专利技术的一种优选技术方案,所述字节码替换工具在关联时,由服务器提取到可以进行参数化配置的地址,用于与运行应用系统的虚拟机进行通讯交互、字节码修改、操作日志记录。
[0019]作为本专利技术的一种优选技术方案,所述集群中至少有一台服务器作为后管系统的部署虚机,所述后管系统用于提供用户交互界面,用于接收用户上传的字节码文件压缩包,用于对字节码文件压缩包进行解析,获取字节码信息,用于向集群中各个应用系统发送热部署指令。
[0020]作为本专利技术的一种优选技术方案,所述S4还包括:由后管系统对字节码文件压缩包执行解压缩,并以字节流方式读取各个class文件,依次执行验签、解密、解码处理,得到字节码信息并存储至数据库,存储字节码信息后,再由后管系统向各个应用系统发送热部署指令。
[0021]作为本专利技术的一种优选技术方案,热部署程序调度的过程为:
[0022]S5.1、获取当前应用进程编号;
[0023]S5.2、从数据库中获取待修复字节码信息;
[0024]S5.3、找到预先放置的字节码替换工具;
[0025]S5.4、通过进程编号创建虚拟机实例,获取目标应用系统虚拟机的指针引用;
[0026]S5.5、通过字节码替换工具与虚拟机实例尝试握手建立通讯链接;
[0027]S5.6通过字节码替换工具将字节码信息传输至目标的虚拟机执行通讯交互,实时替换元数据空间中的原始字节码信息。
[0028]作为本专利技术的一种优选技术方案,存储字节码的数据库包括关系性数据库或NoSql数据库。
[0029]一种集群中应用系统热部署装置,包括:处理器和存储器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。
[0030]综上所述,本专利技术具有以下有益效果:相较于现有发布方式,本专利技术中的应用系统
更新和优化方式,能够一次性实时部署,无需应用重启和分批次部署,不会干扰正在运行进程的程序,能够实现实时的部署优化,并且对外提供版本一致的服务,避免因版本问题而导致的程序兼容性问题和数据混乱问题。从实际实施角度,能够做到技术发布时间趋于秒级甚至毫秒级,高效可靠,也可以节约大量人力成本的同时规避人为操作风险。
附图说明
[0031]图1是本专利技术的方法流程图;
[0032]图2是本专利技术的应用系统启动示意图;
[0033]图3是本专利技术的后管系统作业示意图;
[0034]图4是本专利技术的应用系统热部署示意图。
具体实施方式
[0035]以下结合附图对本专利技术作进一步详细说明。
[0036]如图1所示,本专利技术提供一种集群中应用系统热部署方法,包括如下步骤:
[0037]S1、如图2所示,在集群中应用系统的启动阶段,关联字节码替换工具,字节码替换工具用于在不重启应用系统的情况下对字节码进行替换,字节码替换工具在关联时,由服务器提取到可以进行参数化配置的地址,用于与运行应用系统的虚拟机进行通讯交互、字节码修改、操作日志记录,需要注意的是集群中的每个服务器上的应用系统都是如此操本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种集群中应用系统热部署方法,其特征是:包括如下步骤:S1、在集群中应用系统的启动阶段,关联字节码替换工具,所述字节码替换工具用于在不重启应用系统的情况下对字节码进行替换;S2、在集群中应用系统启动完成后,等待热部署指令;S3、基于用户触发指令,获取字节码文件压缩包;S4、对字节码文件压缩包进行解析,获取并存储字节码信息,再向集群中的应用系统发送热部署指令;S5、各个应用系统收到热部署指令后,通过字节码替换工具,根据字节码信息实时执行热部署程序调度。2.根据权利要求1所述的一种集群中应用系统热部署方法,其特征是:集群中应用程序启动阶段时,在集群服务器中为应用系统创建虚拟机,所述虚拟机用于执行类加载,加载字节码存储至元数据空间。3.根据权利要求2所述的一种集群中应用系统热部署方法,其特征是:所述字节码替换工具为探针jar包。4.根据权利要求3所述的一种集群中应用系统热部署方法,其特征是:在应用系统启动完成后,通过消息监听单元,执行消息监听,用于接收热部署指令,所述消息监听单元通过消息队列监听或RPC监听实现。5.根据权利要求4所述的一种集群中应用系统热部署方法,其特征是:所述字节码替换工具在关联时,由服务器提取到可以进行参数化配置的地址,用于与运行应用系统的虚拟机进行通讯交互、字节码修改、操作日志记录。6.根据权利要求5所述的一种集群中应用系统热部署方法,其特征是:所述集群中至少有一台服务器作为后管系统的部署虚机,...

【专利技术属性】
技术研发人员:李荣迪刘晓韩晓晖王晓曦裴志龙
申请(专利权)人:江苏苏宁银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1