一种实现服务器应用之间交互的虚拟机类装载装置、方法及系统制造方法及图纸

技术编号:27144536 阅读:29 留言:0更新日期:2021-01-27 21:43
本发明专利技术公开了一种实现服务器应用之间交互的虚拟机类装载装置,包括:多个应用服务类加载器,其能够加载用户路径上指定的类库,应用服务类加载器与应用程序相对应;加载器注册中心模块,其能够管理应用服务类加载器,并记录应用服务类加载结构器的执行状态;注册加载模块,其能够在应用服务类加载器启动或停用时通知所述加载器注册中心模块;访问加载器模块,其能够提供要访问的应用,并指定要访问的类,以及包装访问的类需要传递的参数信息,并发送到加载器注册中心模块;其中,加载器注册中心模块能够根据参数信息,调用或提供与应用程序相对应的应用服务类加载器,本发明专利技术还提供了一种基于虚拟机类加载机制实现服务器应用之间的交互的方法。之间的交互的方法。之间的交互的方法。

【技术实现步骤摘要】
一种实现服务器应用之间交互的虚拟机类装载装置、方法及系统


[0001]本专利技术涉及计算机程序应用领域,尤其涉及实现服务器应用之间交互的虚拟机类装载装置、方法及系统。

技术介绍

[0002]如图1所示,JAVA虚拟机加载运行的类文件是通过类加载器加载进入的,系统预设定了三个加载器,开发人员可以自定义加载器,除最顶层加载器的所有加载器,都有对应的父加载器,JAVA虚拟机加载类的过程是先查询当前加载器对应的内存空间中是否有对应的CLASS类对象,如果没有加载父加载器中,以此递归,如果父类中加载了此类,子加载器直接引用就可,如果到顶层加载器中没有加载对应的CLASS类对象,则子加载器进行加载
[0003]如图2所示,JAVA虚拟机加载类的过程是先查询当前加载器对应的内存空间中是否有对应的CLASS类对象,如果没有加载父加载器中,以此递归,如果父类中加载了此类,子加载器直接引用就可,如果到顶层加载器中没有加载对应的CLASS类对象,则子加载器进行加载。
[0004]Tomcat服务框架遵循的“双亲委派”机制,同时对框架进行了改进,Tomcat应用之间是利用不同的webapp classLoader加载器实现相互独立的,但是各应用都可以访问其父加载器加载的类,父加载器是不能直接访问子加载器加载的CLASS类对象,因此需要一种方法来解决不同应用之间的交互的方式,既能保持其原用的隔离模式,又能实现应用互访。

技术实现思路

[0005]本专利技术提供了一种实现服务器应用之间交互的虚拟机类装载装置,在原有服务框架中加入注册加载模块和访问加载器模块,加载器注册中心模块能够根据访问加载器模块提供的参数信息,调用或提供与所述应用程序相对应的应用服务类加载器,实现程序互访。
[0006]本专利技术还提供了一种基于虚拟机类加载机制实现服务器应用之间的交互的方法,提高了应用之间访问的速度,保证的数据传输之间的安全性。
[0007]一种实现服务器应用之间交互的虚拟机类装载装置,其特征在于,包括:
[0008]多个应用服务类加载器,其能够加载用户路径上指定的类库,所述应用服务类加载器与应用程序相对应;
[0009]加载器注册中心模块,其能够管理所述应用服务类加载器,并记录所述应用服务加载结构的类的执行状态;
[0010]注册加载模块,其能够在所述应用服务类加载器启动或停用时通知所述加载器注册中心模块;
[0011]访问加载器模块,其能够提供要访问的应用,并指定要访问的类,以及包装所述访问的类需要传递的参数信息,并发送到所述加载器注册中心模块;
[0012]其中,所述加载器注册中心模块能够根据所述参数信息,调用或提供与所述应用
程序相对应的应用服务类加载器。
[0013]优选的是,还包括:
[0014]动态设置加载器模块,其能够根据所述注册中心模块提供的类加载器,将当前线程的加载设置成注册中心模块选出的类加载器,访问指定的访问类的方法,并将所述访问类内的参数赋值。
[0015]优选的是,所述应用服务加载结构的类的执行状态包括:加载、验证、准备、解析、初始化、使用和卸载中的一种或多种状态。
[0016]优选的是,还包括:
[0017]公共类加载器,其为所述应用服务类加载器的父类加载器;
[0018]扩展类加载器,其为所述公共类加载器的父类加载器,能够加载指定目录中或被系统变量指定路径的所有类库,供开发者能够直接使用;
[0019]启动类加载器,其为所述扩展类加载器的父类加载器,能够将类库加载到虚拟机内存中;
[0020]优选的是,所述类加载器均采用双亲委派模式实现调用或启动功能。
[0021]一种基于虚拟机类加载机制实现服务器应用之间的交互的方法,其包括:
[0022]当公共类加载器启动时,将所述加载器注册中心启动,并将管理所述注册中心的类加载到注册加载到服务器中;
[0023]在用户应用程序时,启动与所述应用程序相对应的启动注册加载器模块,将应用程序对应的应用加载对象的内存地址注册到所述注册中心中,并产生注册信息;
[0024]所述注册中心收到所述注册信息,并将所述注册信息存储在map中,并在所述所述应用程序停止时,能够将所述应用加载对象的注册信息删除。
[0025]优选的是,还包括:
[0026]当第一应用程序访问第二应用程序时,启动访问加载模块,所述第一应用程序首先访问所述公共类加载器的注册中心类,同时将要访问的应用第二应用程序、访问方法和需要传入的参数发放给注册中心类;
[0027]注册中心在收到信息后查询出第二应用程序相对应的应用程序对象,如果没有查到与所述应用程序对象相对应的加载器,则将信息通知第一应用程序,访问结束;
[0028]如果查询到所述应用程序对象,将程序线程的上下文类加载器设置成第二应用程序的应用对象,进而注册中心调用第二应用程序下的程序,执行完成;
[0029]其中,所述执行完成和访问结束的相关数据信息均可返回给第一应用程序。
[0030]优选的是,所述注册信息包括应用加载对象的应用名称和加载对象地址。
[0031]一种基于虚拟机类加载机制服务器,所述服务器包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现基于虚拟机类加载机制实现服务器应用之间的交互的方法的步骤。
[0032]一种实现服务器应用之间交互的虚拟机类装载系统,其特征在于,包括实现服务器应用之间交互的虚拟机类装载装置和如基于虚拟机类加载机制服务器。
[0033]本专利技术提供了一种实现服务器应用之间交互的虚拟机类装载装置,在原有服务框架中加入注册加载模块和访问加载器模块,加载器注册中心模块能够根据访问加载器模块提供的参数信息,调用或提供与所述应用程序相对应的应用服务类加载器,实现程序互访。
[0034]本专利技术还提供了一种基于虚拟机类加载机制实现服务器应用之间的交互的方法,提高了应用之间访问的速度,保证的数据传输之间的安全性。
附图说明
[0035]图1为本专利技术所述的
技术介绍
中现有类加载器关系图。
[0036]图2为本专利技术所述的
技术介绍
中现有类加载的过程图。
[0037]图3为本专利技术所述的实现服务器应用之间交互的虚拟机类装载装置的类加载器关系图。
[0038]图4为本专利技术所述的实现服务器应用之间交互的类加载注册过程图。
[0039]图5为本专利技术所述的实现服务器应用之间交互的访问应用类的过程图。
[0040]图6为本专利技术所述的基于虚拟机类加载机制实现服务器应用之间的交互的方法流程图。
具体实施方式
[0041]以下由特定的具体实施例说明本专利技术的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本专利技术的其他优点及功效,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种实现服务器应用之间交互的虚拟机类装载装置,其特征在于,包括:多个应用服务类加载器,其能够加载用户路径上指定的类库,所述应用服务类加载器与应用程序相对应;加载器注册中心模块,其能够管理所述应用服务类加载器,并记录所述应用服务类加载结构器的执行状态;注册加载模块,其能够在所述应用服务类加载器启动或停用时通知所述加载器注册中心模块;访问加载器模块,其能够提供要访问的应用,并指定要访问的类,以及包装所述访问的类需要传递的参数信息,并发送到所述加载器注册中心模块;其中,所述加载器注册中心模块能够根据所述参数信息,调用或提供与所述应用程序相对应的应用服务类加载器。2.根据权利要求1所述的实现服务器应用之间交互的虚拟机类装载装置,其特征在于,还包括:动态设置加载器模块,其能够根据所述注册中心模块提供的类加载器,将当前线程的加载设置成注册中心模块选出的类加载器,访问指定的访问类的方法,并将所述访问类内的参数赋值。3.根据权利要求2所述的实现服务器应用之间交互的虚拟机类装载装置,其特征在于,所述应用服务加载结构的类的执行状态包括:加载、验证、准备、解析、初始化、使用和卸载中的一种或多种状态。4.根据权利要求1-3中任一项所述的实现服务器应用之间交互的虚拟机类装载装置,其特征在于,还包括:公共类加载器,其为所述应用服务类加载器的父类加载器;扩展类加载器,其为所述公共类加载器的父类加载器,能够加载指定目录中或被系统变量指定路径的所有类库,供开发者能够直接使用;启动类加载器,其为所述扩展类加载器的父类加载器,能够将类库加载到虚拟机内存中。5.根据权利要求4所述的实现服务器应用之间交互的虚拟机类装载装置,其特征在于,所述类加载器均采用双亲委派模式实现调用或启动功能。6.一种基于虚拟机类加载机制实现服务器应用之间的交互的方法,使用如权利要求1-5中任一项所述的实现...

【专利技术属性】
技术研发人员:崔广银邓淮谦
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1