[发明专利]Java系统业务单元插件式管理系统及业务功能动态变更方法有效
申请号: | 201110189365.X | 申请日: | 2011-07-07 |
公开(公告)号: | CN102411506A | 公开(公告)日: | 2012-04-11 |
发明(设计)人: | 汪弘 | 申请(专利权)人: | 杭州典能科技有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;H04L29/08 |
代理公司: | 杭州杭诚专利事务所有限公司 33109 | 代理人: | 尉伟敏 |
地址: | 310000 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | java 系统 业务 单元 插件 管理 功能 动态 变更 方法 | ||
技术领域
本发明涉及一种Java系统业务单元管理系统,尤其是一种Java系统业务单元的插件式管理系统;本发明还涉及一种对业务功能进行动态变更的方法,尤其是一种Java系统运行时对业务功能进行动态变更的方法。
背景技术
开发与运行一个Java程序,首先要将编写完毕的Java源代码使用JDK(Java Development Kit)提供的工具编译成中间格式——字节码(ByteCode),随后,启动JVM(Java Virtual Machine,Java虚拟机,用于解释字节码并进行执行的虚拟计算机),由JVM调用其内置的组件——类加载器(ClassLoader),对字节码进行装载,并解释执行。字节码有可能存在于文件系统中,也有可能存在于远端网络中,所以,类加载器在装载字节码时,需要运用不同的加载策略。
Java类可以理解为由Java语言级别提供的、与现实中的对象级别相对应的功能单元,一般的,在Java的一个类中,包含了一个或多个接口或方法。类加载器是JVM的一个重要组件,用于装载Java字节码,以便进行后续的执行使用,类加载器包括4种类型,如图1的Java系统类加载器的总体框架图所示,其中,自上而下排列的启动类加载器、扩展类加载器、系统类加载器为JVM自带的加载器,开发者是无法更改其内部对字节码的加载行为的,具体来说,启动类加载器用来加载Java的核心库,是用原生代码来实现的,在JVM启动时自动构造,并由操作系统本地代码实现;扩展类加载器用来加载Java的扩展库,Java虚拟机的实现会提供一个扩展库目录,该类加载器在此目录里面查找并加载Java类;系统类加载器根据Java应用的类路径(ClassPath)来加载Java类,一般来说,Java应用的类都是由它来完成加载。
图1中所示的自定义类加载器可以理解为JVM为开发者提供的一套字节码加载的抽象机制,其提供了对字节码进行载入、连接的底层接口,开发者可以实现自定义Java字节码的加载方式。传统的Java字节码加载方式是将Java字节码保存为一个个的.class文件,启动JVM后,JVM调用自带的类加载器(一般情况下,为系统类加载器)对.class文件中的字节码进行加载。但是,实际应用中,字节码可能是通过某种压缩形式打包为一个压缩包,并存在于远端服务器上的,这时,如何让JVM载入字节码就需要开发者对自定义类加载器的行为进行改变,以适应实际中的需求。
对于面向移动互联网的“网络服务型”业务,在技术上,一般通过构建网络应用程序,并为手机终端提供数据的上行、下载功能来支撑其实现。“网络服务型”业务本身是由多个不同种类的子业务组成的业务集合,单个子业务具有简单、轻量的特点,基于子业务的上述特点,为了方便系统管理,需要容许所有子业务均运行在同一个系统上,并且要求当某一个子业务需要变更业务逻辑时,不会影响到其他子业务的正常运行。
发明内容
本发明的目的在于针对现有技术中对于运行在同一系统上的面向移动互联网的“网络服务型”业务无法在不影响其他子业务及系统正常运行的前提下变更某一业务的业务功能或逻辑的缺点,提出一种插件式Java系统业务单元管理系统和应用该系统在Java系统运行时对业务功能进行动态变更的方法。
为达到上述目的,本发明所采用的第一个技术方案是:
一种插件式Java系统业务单元管理系统,包括至少一个用于表征某一业务功能单元的插件,每个插件包括至少一个业务服务接口;用于描述插件功能与配置参数的插件构建包;用于读取插件构建包内的数据信息并将其解析后载入JVM的插件类加载器;一个用于管理插件、并对插件进行新增、删除、更新操作的插件容器。
上述技术方案还可以进一步完善:
作为优选,插件带有一个唯一的插件标识符,一个插件的每个业务服务接口均带有一个唯一的接口标识符。
作为优选,插件构建包是一个Jar包,插件构建包内的数据信息至少包括实现插件业务功能的所有Java字节码、插件业务功能实现过程中需要使用的资源文件及配置文件、第三方Jar包信息。
作为优选,插件构建包至少包括包含字节码的第一文件夹、包含资源文件和配置文件的第二文件夹、包含第三方Jar包的第三文件夹。
作为优选,插件容器用于注册与反注册插件、获取每个插件的业务服务接口列表、设置插件与业务服务接口的服务状态、以及调用插件的业务服务接口。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州典能科技有限公司,未经杭州典能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110189365.X/2.html,转载请声明来源钻瓜专利网。