一种热更新方法、装置、计算机存储介质以及系统制造方法及图纸

技术编号:32346093 阅读:11 留言:0更新日期:2022-02-20 02:01
本申请实施例提供了一种热更新方法、装置、计算机存储介质以及系统,该方法包括:在Spring模块的运行过程中,监测所述Spring模块对应的配置信息是否变化;当监测到所述Spring模块的配置信息发生变化时,获取所述变化后的配置信息对应的变化特征值;基于所述变化后的配置信息以及对应的变化特征值,对所述Spring模块进行热更新;这样,通过监测Spring模块相对应的配置信息,可以及时获知配置信息的变化;然后利用变化后的配置信息对Spring模块进行热更新,从而在不重启Spring模块的情况下实现局部组件的更新,降低Spring模块更新过程的资源消耗。资源消耗。资源消耗。

【技术实现步骤摘要】
一种热更新方法、装置、计算机存储介质以及系统


[0001]本申请涉及计算机软件
,尤其涉及一种热更新方法、装置、计算机存储介质以及系统。

技术介绍

[0002]当前,互联网领域存在大量的网页(WEB)应用,WEB应用是一种可以通过WEB访问的应用程序。这里,WEB应用一般采用Java语言进行编写,所以也称为JavaWeb,随着开源社区的贡献,各种编写JavaWeb技术方案和开发框架层出不穷,其中,Spring框架可以算是JavaWeb开发领域的技术标准。
[0003]Spring框架能够用于管理各种组件,当Spring框架读取配置信息启动之后,意味着这些组件已经加载至内存。此时如果需要对某些配置信息进行修改,通常需要刷新Spring框架以将组件重新加载至内存,因此资源消耗较大。

技术实现思路

[0004]本申请的主要目的在于提出一种热更新方法、装置、计算机存储介质以及系统,能够实现Spring模块运行时的热更新,使得配置文件的更新可以实时作用到Spring模块上,降低热更新过程的资源消耗。
[0005]为达到上述目的,本申请的技术方案是这样实现的:
[0006]第一方面,本申请实施例提供了一种热更新方法,该方法包括:
[0007]在Spring模块的运行过程中,监测所述Spring模块对应的配置信息是否变化;
[0008]当监测到所述Spring模块的配置信息发生变化时,获取所述变化后的配置信息对应的变化特征值;
[0009]基于所述变化后的配置信息以及对应的变化特征值,对所述Spring模块进行热更新。
[0010]第二方面,本申请实施例提供了一种热更新装置,该热更新装置包括监测单元、获取单元和更新单元;其中,
[0011]所述监测单元,配置为监测所述Spring模块对应的配置信息是否变化;
[0012]所述获取单元,配置为当监测到所述Spring模块的配置信息发生变化时,获取所述变化后的配置信息对应的变化特征值;
[0013]所述更新单元,配置为基于所述变化后的配置信息以及对应的变化特征值,对所述Spring模块进行热更新。
[0014]第三方面,本申请实施例提供了一种热更新装置,该热更新装置包括:存储器和处理器;其中,
[0015]所述存储器,用于存储能够在所述处理器上运行的计算机程序;
[0016]所述处理器,用于在运行所述计算机程序时,执行如第一方面中所述方法的步骤。
[0017]第四方面,本申请实施例提供了一种计算机存储介质,该计算机存储介质存储有
热更新程序,所述热更新程序被至少一个处理器执行时实现如第一方面中所述方法的步骤。
[0018]第五方面,本申请实施例提供了一种热更新系统,该热更新系统至少包括如第二方面或第三方面所述的热更新装置。
[0019]本申请实施例提供了一种热更新方法、装置、计算机存储介质以及系统,该方法包括:在Spring模块的运行过程中,监测所述Spring模块对应的配置信息是否变化;当监测到所述Spring模块的配置信息发生变化时,获取所述变化后的配置信息对应的变化特征值;基于所述变化后的配置信息以及对应的变化特征值,对所述Spring模块进行热更新;这样,通过监测Spring模块相对应的配置信息,可以及时获知其配置信息的变化;然后利用变化后的配置信息对Spring模块进行热更新,在不重启Spring模块的情况下能够实现局部组件的更新,降低Spring模块更新过程中的资源消耗。
附图说明
[0020]图1为本申请实施例提供的一种热更新方法的流程示意图;
[0021]图2为本申请实施例提供的另一种热更新方法的流程示意图;
[0022]图3为本申请实施例提供的又一种热更新方法的流程示意图;
[0023]图4为本申请实施例提供的再一种热更新方法的流程示意图;
[0024]图5为本申请实施例提供的一种热更新方法的架构示意图;
[0025]图6为本申请实施例提供的再一种热更新方法的流程示意图;
[0026]图7为本申请实施例提供的一种热更新装置的结构示意图;
[0027]图8为本申请实施例提供的另一种热更新装置的结构示意图;
[0028]图9为本申请实施例提供的一种热更新装置的硬件结构示意图;
[0029]图10为本申请实施例提供的一种热更新系统的结构示意图。
具体实施方式
[0030]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
[0031]Spring框架是现在开发Web应用的主流框架,是为了解决企业应用开发的复杂性而创建的,Spring框架的主要优势之一就是分层架构,允许使用者选择不同的组件进行Web应用的构建。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring框架中受益。对于Spring框架来说,存在以下几个重要的模块:
[0032]核心容器:核心容器是Spring框架中最基础也是最重要的组成部分,在本申请中称之为Spring模块(相关技术中也称之为Spring容器),通过控制反转(Inversion of Control,IoC)来实现对业务组件(Bean)的管理,就是由Spring模块而非由程序代码直接操控应用程序。其中,Bean指的就是Spring模块管理的对象。在Spring模块加载的时候,通过读取配置信息(可以是配置文件或者注解的形式),完成Spring模块的初始化,此时的Spring模块里面已经产生大量的Bean,由这些Bean提供服务。
[0033]应用上下文模块:核心容器通过产生大量的Bean使Spring完成容器化过程,而应用上下文模块使它成为一个框架。这个模块增加了对国际化(I18N)消息、事件传播以及验
证的支持。另外,这个模块提供了许多企业服务,例如电子邮件、Java命名和目录接口(Java Naming and Directory Interface,JNDI)访问、EJB(Enterprise JavaBean)组件集成、远程以及时序调度服务,也包括了对模版框架例如Velocity和FreeMarker集成的支持。
[0034]面向切面编程模块:Spring框架在面向切面编(Aspect Orient Programming,AOP)模块中提供了对面向切面编程的丰富支持。这个模块是在Spring模块中实现切面编程的基础。为了确保Spring框架与其它AOP框架的互用性,Spring框架的AOP支持基于AOP联盟定义的应用程序接口(Application Programming Interface,API)。AOP联盟是一个开源项目,它的目标是通过定义一组共同的接口和组件来促进AOP的使用以及不同的AOP实现之间的互用性。Spring框架的AOP模块也将元数据编程引入了Spring框架,使用Spring框架的元数据支持,可以为源代码本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种热更新方法,其特征在于,所述方法包括:在Spring模块的运行过程中,监测所述Spring模块对应的配置信息是否变化;当监测到所述Spring模块的配置信息发生变化时,获取所述变化后的配置信息对应的变化特征值;基于所述变化后的配置信息以及对应的变化特征值,对所述Spring模块进行热更新。2.根据权利要求1所述的热更新方法,其特征在于,在所述监测所述Spring模块对应的配置信息是否变化之前,所述方法还包括:判断预设存储区中是否存储有配置数据;其中,所述配置数据包括所述Spring模块对应的配置信息以及与所述配置信息对应的特征值;当所述预设存储区中存储有配置数据时,执行所述监测所述Spring模块对应的配置信息是否变化的步骤;相应地,所述基于所述变化后的配置信息以及对应的变化特征值,对所述Spring模块进行热更新,包括:将所述变化后的配置信息以及对应的变化特征值确定为变化后的配置数据,将所述变化后的配置数据存储到所述预设存储区中;基于所述预设存储区中的配置数据和所述变化后的配置数据,对所述Spring模块进行热更新。3.根据权利要求2所述的热更新方法,其特征在于,在所述判断预设存储区中是否存储有配置数据之后,所述方法还包括:当所述预设存储区中未存储有配置数据时,获取所述Spring模块对应的初始配置信息,对所述初始配置信息进行特征值计算,确定所述初始配置信息对应的初始特征值;将所述初始配置信息以及对应的初始特征值确定为配置数据,并将所述配置数据存储到所述预设存储区中。4.根据权利要求2所述的热更新方法,其特征在于,所述基于所述预设存储区中的配置数据和所述变化后的配置数据,对所述Spring模块进行热更新,包括:确定所述配置数据中的特征值对应的第一对象标签以及所述变化后的配置数据中的变化后特征值对应的第二对象标签;基于所述第一对象标签和所述第二对象标签,确定所述Spring模块中发生变化的对象,以及确定所述发生变化的对象对应的更新方式;其中,所述更新方式包括第一更新和第二更新,第一更新用于指示对象的类信息发生变化,第二更新用于指示对象的属性信息发生变化;基于所确定的更新方式,对所述Spring模块中所述发生变化的对象进行热更新。5.根据权利要求2所述的热更新方法,其特征在于,...

【专利技术属性】
技术研发人员:张彪
申请(专利权)人:中国移动通信集团有限公司
类型:发明
国别省市:

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

1