本发明涉及软件运维领域,尤其涉及一种支持服务动态加载和运行期动态升级的方法。
背景技术:
1、在容器化、微服务、devops、持续交付等先进理论和自动化技术广泛应用的今天,系统的迭代升级过程,相对变得简单。
2、不过上述技术更多的是面向大中型应用的规模化部署情况,对运行资源、技术储备、团队规模的要求都比较高,而对于项目规模不大、运行资源不多、团队人员较少、技术积累有限的小型应用来说,系统的迭代升级、特别是运行期的动态升级(不停止服务升级),就会变得特别的复杂和困难。
技术实现思路
1、本发明的目的在于克服现有技术的不足,本发明提供一种支持服务动态加载和运行期动态升级的方法。
2、本发明的目的是通过以下技术方案来实现的:
3、一种支持服务动态加载和运行期动态升级的方法,包括以下具体步骤:
4、s1:动态运行服务程序文件;
5、s2:根据指令重新加载服务,进行动态升级。
6、进一步的,所述步骤s1具体包括以下子步骤:
7、s101:读取配置文件;
8、s102:加载服务程序;
9、s103:运行服务程序。
10、进一步的,所述步骤s2具体包括以下子步骤:
11、s201:接收服务升级指令;
12、s202:更新服务程序;
13、s203:更新服务配置,暂停待更新服务;
14、s204:动态加载服务并运行。
15、进一步的,所述步骤s101具体为:应用核心服务在启动时,先读取服务配置文件,确认需要加载的服务清单,及其服务文件名称、位置。
16、进一步的,所述步骤s102具体为:应用核心服务根据服务配置,动态将服务程序文件从存储位置加载入运行内存。
17、进一步的,所述步骤s103具体为:应用核心服务将载入内存的服务运行起来,这些动态运行的服务,将能够接收和处理向它们发出的具体的服务请求。
18、进一步的,所述步骤s201具体为:由运维端向应用升级服务发出服务升级指令,指令中包含要增、删、改的服务名称、程序文件。
19、进一步的,所述步骤s202具体为:应用升级服务按升级指令要求,对升级服务程序文件进行新增、修改、删除处理。
20、进一步的,所述步骤s203具体为:应用升级服务按升级指令,对应用服务配置文件进行更新,并标记服务的增、删、改变化;对于即将修改、删除的服务,停止其接收新的服务请求。
21、进一步的,所述步骤s204具体为:通过服务动态加载机制,动态加载服务程序、运行服务程序并接收服务请求。
22、本发明的有益效果:
23、1)升级过程有效简化
24、通过本方法,能够有效简化应用升级,减少应用升级的步骤和时间。
25、2)成本有效降低
26、通过成熟的服务动态加载机制和运行期动态升级机制,可有效减少升级时的工作量、技术难度和运维时间,进而大大降低应用运维成本。
27、3)质量得到提升
28、因减少了运维步骤,降低了运维过程出错的机率,使应用运行质量得到更好的保证。
1.一种支持服务动态加载和运行期动态升级的方法,其特征在于,包括以下具体步骤:
2.根据权利要求1所述的一种支持服务动态加载和运行期动态升级的方法,其特征在于,所述步骤s1具体包括以下子步骤:
3.根据权利要求1所述的一种支持服务动态加载和运行期动态升级的方法,其特征在于,所述步骤s2具体包括以下子步骤:
4.根据权利要求2所述的一种支持服务动态加载和运行期动态升级的方法,其特征在于,所述步骤s101具体为:应用核心服务在启动时,先读取服务配置文件,确认需要加载的服务清单,及其服务文件名称、位置。
5.根据权利要求2所述的一种支持服务动态加载和运行期动态升级的方法,其特征在于,所述步骤s102具体为:应用核心服务根据服务配置,动态将服务程序文件从存储位置加载入运行内存。
6.根据权利要求2所述的一种支持服务动态加载和运行期动态升级的方法,其特征在于,所述步骤s103具体为:应用核心服务将载入内存的服务运行起来,这些动态运行的服务,将能够接收和处理向它们发出的具体的服务请求。
7.根据权利要求3所述的一种支持服务动态加载和运行期动态升级的方法,其特征在于,所述步骤s201具体为:由运维端向应用升级服务发出服务升级指令,指令中包含要增、删、改的服务名称、程序文件。
8.根据权利要求3所述的一种支持服务动态加载和运行期动态升级的方法,其特征在于,所述步骤s202具体为:应用升级服务按升级指令要求,对升级服务程序文件进行新增、修改、删除处理。
9.根据权利要求3所述的一种支持服务动态加载和运行期动态升级的方法,其特征在于,所述步骤s203具体为:应用升级服务按升级指令,对应用服务配置文件进行更新,并标记服务的增、删、改变化;对于即将修改、删除的服务,停止其接收新的服务请求。
10.根据权利要求3所述的一种支持服务动态加载和运行期动态升级的方法,其特征在于,所述步骤s204具体为:通过服务动态加载机制,动态加载服务程序、运行服务程序并接收服务请求。