技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种应用程序启动方法、装置、设备及存储介质与流程  >  正文

一种应用程序启动方法、装置、设备及存储介质与流程

  • 国知局
  • 2024-10-09 15:38:50

本发明涉及微服务,尤其涉及一种应用程序启动方法、装置、设备及存储介质。

背景技术:

1、随着互联网的普及,微服务架构成为互联网应用开发的首选架构之一。在微服务架构下,技术人员常采用spring boot框架构建应用程序。

2、在应用程报错的情况下,需要对应用程序进行修复更新。若在同一台机器中,同时启动当前版本和旧版本应用程序,会出现端口占用的问题。因此在运行当前版本应用程序时通常需要停止旧版本应用程序的服务,在调试过程中频繁启停会影响系统正常运行。因此,如何在不影响用户使用系统服务的情况下,实现旧版本到当前版本应用程序的平滑启动,得到技术人员的关注。

技术实现思路

1、本发明提供了一种应用程序启动方法、装置、设备及存储介质,以实现当前版本应用程序的平滑启动。

2、根据本发明的一方面,提供了一种应用程序启动方法,包括:

3、响应于用户发起程序启动命令,获取与所述程序启动命令关联的启动模式,在所述启动模式为重启的情况下,进行当前版本应用程序的类加载;

4、获取当前版本应用程序关联的当前版本servlet容器,并将所述当前版本servlet容器注册到自定义容器管理类的servlet版本容器中;所述自定义容器管理类中包括tomcat容器、主servlet容器以及servlet版本容器;所述主servlet容器和tomcat容器绑定;所述servlet版本容器中包括原始版本servlet容器和当前版本servlet容器;

5、响应于主servlet容器获取到用户请求,所述主servlet容器通过与servlet版本容器中的当前版本servlet容器建立关系,在所述用户请求中提取预热请求,分发至当前版本应用程序进行程序预热;

6、在当前版本应用程序满足预热结束条件的情况下,将所述用户请求分发至当前版本应用程序执行,并对请求响应状态进行监控,在满足服务需求的情况下,停止原始版本应用程序的服务。

7、根据本发明的另一方面,提供了一种应用程序启动装置,包括:

8、类加载模块,用于响应于用户发起程序启动命令,获取与所述程序启动命令关联的启动模式,在所述启动模式为重启的情况下,进行当前版本应用程序的类加载;

9、容器注册模块,用于获取当前版本应用程序关联的当前版本servlet容器,并将所述当前版本servlet容器注册到自定义容器管理类的servlet版本容器中;所述自定义容器管理类中包括tomcat容器、主servlet容器以及servlet版本容器;所述主servlet容器和tomcat容器绑定;所述servlet版本容器中包括原始版本servlet容器和当前版本servlet容器;

10、程序预热模块,用于响应于主servlet容器获取到用户请求,所述主servlet容器通过与servlet版本容器中的当前版本servlet容器建立关系,在所述用户请求中提取预热请求,分发至当前版本应用程序进行程序预热;

11、程序启动模块,用于在当前版本应用程序满足预热结束条件的情况下,将所述用户请求分发至当前版本应用程序执行,并对请求响应状态进行监控,在满足服务需求的情况下,停止原始版本应用程序的服务。

12、根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:

13、至少一个处理器;以及

14、与所述至少一个处理器通信连接的存储器;其中,

15、所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的应用程序启动方法。

16、根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的应用程序启动方法。

17、根据本发明的另一方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现本公开任一实施例的应用程序启动方法。

18、本发明实施例的技术方案,通过获取当前版本应用程序关联的当前版本servlet容器,并将当前版本servlet容器注册到自定义容器管理类的servlet版本容器中,在主servlet容器获取到用户请求后,主servlet容器通过与servlet版本容器中的当前版本servlet容器建立关系,在用户请求中提取预热请求,分发至当前版本应用程序进行程序预热,在当前版本应用程序满足预热结束条件的情况下,将用户请求分发至当前版本应用程序执行,并对请求响应状态进行监控,在满足服务需求的情况下,停止原始版本应用程序的服务,通过将当前版本servlet容器注册到sevlet版本容器,并对当前版本应用程序进行预热,实现当前版本应用程序的平滑启动。

19、应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。

技术特征:

1.一种应用程序启动方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,响应于用户发起程序启动命令,获取与所述程序启动命令关联的启动模式,在所述启动模式为重启的情况下,进行当前版本应用程序的类加载,包括:

3.根据权利要求1所述的方法,其特征在于,响应于主servlet容器获取到用户请求,所述主servlet容器通过与servlet版本容器中的当前版本servlet容器建立关系,在所述用户请求中提取预热请求,分发至当前版本应用程序进行程序预热,包括:

4.根据权利要求1所述的方法,其特征在于,对请求响应状态进行监控,在满足服务需求的情况下,停止原始版本应用程序的服务,包括:

5.根据权利要求4所述的方法,其特征在于,对请求响应状态进行监控,还包括:

6.根据权利要求4所述的方法,其特征在于,对请求响应状态进行监控,还包括:

7.根据权利要求6所述的方法,其特征在于,在设置当前版本应用程序进入保护模式之后,还包括:

8.一种应用程序启动装置,其特征在于,包括:

9.一种电子设备,其特征在于,所述电子设备包括:

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的应用程序启动方法。

技术总结本发明公开了一种应用程序启动方法、装置、设备及存储介质。应用程序启动方法,包括:响应于用户发起程序启动命令,获取与程序启动命令关联的启动模式,在启动模式为重启的情况下,进行当前版本应用程序的类加载;获取当前版本应用程序关联的当前版本Servlet容器,并注册到自定义容器管理类的Servlet版本容器中;响应于主Servlet容器获取到用户请求,主Servlet容器通过与Servlet版本容器中的当前版本Servlet容器建立关系,在用户请求中提取预热请求分发至当前版本应用程序进行程序预热;在当前版本应用程序预热完成后,将用户请求分发至当前版本应用程序执行,并对请求响应状态进行监控,在满足服务需求的情况下,停止原始版本应用程序的服务,实现了应用程序的平滑启动。技术研发人员:汤鑫杰,陈茂林,童禛荣,虞婧怡受保护的技术使用者:杭州新中大科技股份有限公司技术研发日:技术公布日:2024/9/29

本文地址:https://www.jishuxx.com/zhuanli/20241009/309450.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。