太阳城集团

  • / 12
  • 下载费用:30 金币  

一种构件管理方法及系统.pdf

摘要
申请专利号:

太阳城集团CN201110264398.6

申请日:

2011.09.07

公开号:

太阳城集团CN102325180B

公开日:

2015.01.07

当前法律状态:

授权

有效性:

有权

法律详情: 授权|||实质审查的生效IPC(主分类):H04L 29/08申请日:20110907|||公开
IPC分类号: H04L29/08 主分类号: H04L29/08
申请人: 山东中创软件工程股份有限公司; 山东中创软件商用中间件股份有限公司
发明人: 陈芳芳; 刘耀; 刘民
地址: 250014 山东省济南市千佛山东路41-1号
优先权:
专利代理机构: 北京集佳知识产权代理有限公司 11227 代理人: 逯长明
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

太阳城集团CN201110264398.6

授权太阳城集团号:

太阳城集团102325180B||||||

法律状态太阳城集团日:

2015.01.07|||2012.03.14|||2012.01.18

法律状态类型:

太阳城集团授权|||实质审查的生效|||公开

摘要

太阳城集团本申请公开了一种构件管理方法及系统,所述方法基于一JMX代理平台,所述JMX代理平台中设置有MBean服务器;所述方法包括:对所述构件进行加载并解析所述构件的元数据文件获取所述元数据文件中的文件数据;依据所述获取的文件数据将所述构件封装为动态MBean(Manageable Bean,管理构件);将所述动态MBean注册为声明式框架服务;监听所述服务的状态,依据所述服务的不同状态,将所述服务对应的MBean注册至所述MBean服务器中,对所述MBean进行管理。本申请提供一种构件管理方法,无需构件实现特定接口而具备JMX管理能力,简化了开发过程;并且具备更新构件被管理的能力。

权利要求书

1: 一种构件管理方法, 其特征在于, 所述方法基于一 JMX 代理平台, 所述 JMX 代理平台 中设置有 MBean 服务器 ; 所述方法包括 : 对所述构件进行加载并解析所述构件的元数据文件获取所述元数据文件中的文件数 据; 依据所述获取的文件数据将所述构件封装为动态 MBean(Manageable Bean, 管理构 件); 将所述动态 MBean 注册为声明式框架服务 ; 监听所述服务的状态, 依据所述服务的不同状态, 将所述服务对应的 MBean 注册至所 述 MBean 服务器中, 对所述 MBean 进行管理。
2: 根据权利要求 1 所述的方法, 其特征在于, 对所述注册至 MBena 服务器中的 MBean 进 行管理包括 : 读取和重新改写 MBean 中的属性值 ; 执行 MBean 中定义的接口方法 ; 获取 MBean 中发出的通知事件对象。
3: 根据权利要求 1 所述的方法, 其特征在于, 所述监听服务状态, 依据所述服务的不同 状态, 将所述服务对应的 MBean 注册至所述 MBean 服务器中包括 : 当监听得到所述服务状态改变且所述服务状态为服务加载时, 将所述服务对应的 MBean 注册至 MBean 服务器中。
4: 根据权利要求 1 所述的方法, 其特征在于, 所述监听服务状态, 依据所述服务的不同 状态, 将所述服务对应的 MBean 注册至所述 MBean 服务器中包括 : 当监听得到所述服务状态改变且所述服务状态为服务卸载时, 将所述服务对应的 MBean 反注册至 MBean 服务器中。
5: 一种构件管理系统, 其特征在于, 所述系统基于一 JMX 代理平台, 所述 JMX 代理平台 中设置有 MBean 服务器 ; 所述系统包括 : 加载单元, 用于对所述构件进行加载 ; 解析单元, 用于解析所述构件的元数据文件获取所述元数据文件中的文件数据 ; 封装单元, 用于依据所述获取的文件数据将所述构件封装为动态 MBean(Manageable Bean, 管理构件 ) ; 注册单元, 用于将所述动态 MBean 注册为声明式框架服务 ; 管理单元, 用于监听所述服务的状态, 依据所述服务的不同状态, 将所述服务对应的 MBean 注册至所述 MBean 服务器中, 对所述 MBean 进行管理。
6: 根据权利要求 5 所述的方法, 其特征在于, 所述管理单元包括 : 改写子单元, 用于读取和重新改写 MBean 中的属性值 ; 执行子单元, 用于执行 MBean 中定义的接口方法 ; 获取子单元, 获取 MBean 中发出的通知事件对象。
7: 根据权利要求 5 所述的方法, 其特征在于, 所述管理单元包括 : 注册子单元, 用于当监听得到所述服务状态改变且所述服务状态为服务加载时, 将所 述服务对应的 MBean 注册至 MBean 服务器中。
8: 根据权利要求 5 所述的方法, 其特征在于, 所述管理单元包括 : 2 反注册子单元, 用于当监听得到所述服务状态改变且所述服务状态为服务卸载时, 将 所述服务对应的 MBean 反注册至 MBean 服务器中。

说明书


一种构件管理方法及系统

    【技术领域】
     本申请涉及 OSGI 框架领域, 特别是涉及一种基于 JMX 的远程构件管理的方法及系统。 背景技术 声明式服务是一种在 OSGI 框架中简化的面向服务构件编程模型, 此模型的可扩 展性、 提供服务的简化方式等优点备受开发人员的青睐。声明式服务提供了一种全新的开 发 OSGI 环境中服务构件的方式, 它使用声明式的方式来发布、 查找和绑定 OSGI 的服务, 这 种方式简化服务构件实现中因为管理动态环境而导致的非功能性需求, 从而使开发人员更 加专注于自己的功能性业务逻辑实现。
     在使用声明式服务方式进行构件开发时, 涉及到如何对构件进行本地和远程管理 的问题 ; 通常使用 JMX 对受管资源进行管理 ; 服务构件的本地和远程管理, 按照 JMX 规范所 描述的原则开发的管理构件, 称为 Manageable Bean(MBean) ; MBean 的构造必须遵循由 JMX
     规范所描述的涉及模式及相关接口, 这样可以保证所有的 MBean 都可以以标准的形式提供 被管理的资源设备。
     为使构件具备被 JMX 管理的能力, 开发人员需要熟悉 JMX 的相关内容, 并且构件需 要实现特定接口 ( 标准 MBean、 DynamicMBean 等 ), 标志自己为可被管理的对象, 这样会使 开发变得相对复杂 ; 而且构件在声明式服务构架上运行时可进行加载、 卸载和替换, 若构件 已被卸载就不应该具备被管理的能力, 如何根据不同状态实时改变被管理的状态也是一个 待研究的重要问题。 发明内容 为解决上述技术问题, 本申请实施例提供一种构件管理方法及系统, 无需构件实 现特定接口而具备 JMX 管理能力, 简化了开发过程 ; 并且具备更新构件被管理的能力。
     技术方案如下 :
     一种构件管理方法, 所述方法基于一 JMX 代理平台, 所述 JMX 代理平台中设置有 MBean 服务器 ; 所述方法包括 :
     对所述构件进行加载并解析所述构件的元数据文件获取所述元数据文件中的文 件数据 ;
     依据所述获取的文件数据将所述构件封装为动态 MBean(Manageable Bean, 管理 构件 ) ;
     将所述动态 MBean 注册为声明式框架服务 ;
     监听所述服务的状态, 依据所述服务的不同状态, 将所述服务对应的 MBean 注册 至所述 MBean 服务器中, 对所述 MBean 进行管理。
     上述的方法, 优选的, 对所述注册至 MBena 服务器中的 MBean 进行管理包括 :
     读取和重新改写 MBean 中的属性值 ;
     执行 MBean 中定义的接口方法 ;
     获取 MBean 中发出的通知事件对象。
     上述的方法, 优选的, 所述监听服务状态, 依据所述服务的不同状态, 将所述服务 对应的 MBean 注册至所述 MBean 服务器中包括 :
     当监听得到所述服务状态改变且所述服务状态为服务加载时, 将所述服务对应的 MBean 注册至 MBean 服务器中。
     上述的方法, 优选的, 所述监听服务状态, 依据所述服务的不同状态, 将所述服务 对应的 MBean 注册至所述 MBean 服务器中包括 :
     当监听得到所述服务状态改变且所述服务状态为服务卸载时, 将所述服务对应的 MBean 反注册至 MBean 服务器中。
     一种构件管理系统, 所述系统基于一 JMX 代理平台, 所述 JMX 代理平台中设置有 MBean 服务器 ; 所述系统包括 :
     加载单元, 用于对所述构件进行加载 ;
     解析单元, 用于解析所述构件的元数据文件获取所述元数据文件中的文件数据 ;
     封 装 单 元, 用于依据所述获取的文件数据将所述构件封装为动态 MBean(Manageable Bean, 管理构件 ) ;
     注册单元, 用于将所述动态 MBean 注册为声明式框架服务 ;
     管理单元, 用于监听所述服务的状态, 依据所述服务的不同状态, 将所述服务对应 的 MBean 注册至所述 MBean 服务器中, 对所述 MBean 进行管理。
     上述的系统, 优选的, 所述管理单元包括 :
     改写子单元, 用于读取和重新改写 MBean 中的属性值 ;
     执行子单元, 用于执行 MBean 中定义的接口方法 ;
     获取子单元, 获取 MBean 中发出的通知事件对象。
     上述的系统, 优选的, 所述管理单元包括 :
     注册子单元, 用于当监听得到所述服务状态改变且所述服务状态为服务加载时, 将所述服务对应的 MBean 注册至 MBean 服务器中。
     上述的系统, 优选的, 所述管理单元包括 :
     反注册子单元, 用于当监听得到所述服务状态改变且所述服务状态为服务卸载 时, 将所述服务对应的 MBean 反注册至 MBean 服务器中。
     由以上本申请实施例提供的技术方案可见, 本发明提供的构件管理方法及系统, 基于 JMX 代理平台, 在所述 JMX 平台中设置有 MB 服务器 ; 将需要管理的构件进行加载, 解析 所述构件元数据文件中的文件数据, 依据所述文件数据将所述构件封装为动态 MBean ; 将 所述动态 MBean 注册为声明式框架服务 ; 监听所述服务的状态, 依据所述服务的不同状态, 将所述服务对应的 MBean 注册至所述 MBean 服务器中, 对所述 MBean 进行管理。本发明提 供的构件管理方法及系统提供了元数据声明的方式或者注解的方式来配置管理能力, 这样 用户不需要关心 JMX 规范所定义的内容, 只需要关心构件的管理能力 ; 另外, 本发明提供了 维护构件管理的生命周期能力, 能够动态跟踪构件所在的 bundle 在框架中的状态, 根据管 理构件的不同状态做相关处理, 从而实现了构件的管理仅在运行期有效的动态管理能力。附图说明 为了更清楚地说明本申请实施例或现有技术中的技术方案, 下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本 申请中记载的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。
     图 1 为本申请实施例一提供的一种构件管理方法的流程图 ;
     图 2 为本申请实施例一提供的加载管理构件的方法流程图 ;
     图 3 为本申请实施例一提供的卸载管理构件的方法流程图 ;
     图 4 为本申请实施例一提供的 MBean 远程管理示意图 ;
     图 5 为本申请实施例二提供的一种构件管理系统的结构示意图 ;
     图 6 为本申请实施例二提供的一种构件管理系统的又一结构示意图。
     具体实施方式
     为了使本技术领域的人员更好地理解本申请方案。 下面将结合本申请实施例中的 附图, 对本申请实施例中的技术方案进行清楚、 完整地描述, 显然, 所描述的实施例仅仅是 本申请一部分实施例, 而不是全部的实施例。 基于本申请中的实施例, 本领域普通技术人员 在没有做出创造性劳动前提下所获得的所有其他实施例, 都应当属于本申请保护的范围。 实施例一
     本申请实施例提供的一种构件管理方法的流程图如图 1 所示, 所述方法基于一 JMX 代理平台, 所述 JMX 代理由 MBean 服务器、 一组 MBean、 代理服务、 还有协议适配器 ( 连 接器 ) 等组件构成, 这些代理级对象充当管理应用程序和受控资源之间的桥梁, 直接管理 受控资源, 并且使受控资源可以通过连接器或协议适配器与管理应用程序通信 ; 服务构件 在该声明式服务平台上运行时, 可进行动态加载、 卸载和替换, 本申请实施例提供的方法增 加了构件的服务监听机制, 当服务构件状态发生改变时, 可实时监听到服务状态改变的信 息;
     所述方法包括 :
     步骤 S101 : 对所述构件进行加载并解析所述构件的元数据文件获取所述元数据 文件中的文件数据 ;
     步骤 S102 : 依据所述获取的文件数据将所述构件封装为动态 MBean ;
     管理构件加载到声明式框架并处于激活状态, 声明式服务框架负责解析管理构 件的元数据文件, 根据元数据文件的数据将其封装为动态 MBean ; 本申请实施例提供的方 法定义了配置管理构件的元数据文件的 schema 文件, 管理构件需依照此 schema 文件配 置被包装为 MBean 的一些属性太阳城集团, 以及暴露的属性 Property 和方法 Method 太阳城集团, 其中 Property 元素用于定义 MBean 暴露字段的属性, Method 元素用于定义 MBean 暴露方法的属 性;
     步骤 S103 : 将所述动态 MBean 注册为声明式框架服务 ;
     注册动态 MBean 为声明式服务框架可管理的服务, 本申请实施例提供的方法由于 增加了服务监听机制, 监听到此服务注册后, 就可以通过框架获取此服务 ;
     步骤 S104 : 监听所述服务的状态, 依据所述服务的不同状态, 将所述服务对应的
     MBean 注册至所述 MBean 服务器中, 对所述 MBean 进行管理 ;
     通过框架获取服务后, 通过服务的属性太阳城集团识别是否为 MBean 对象, 若未 MBean 对 象, 将此 MBean 注册到 MBeanServer 中 ; 通过对 MBeanRegistration 接口的实现, 管理构件 可以添加 MBean 注册与注销时机的控制 ;
     注册到 MBean 服务器之后, 就可以在程序中读取和重新改写 MBean 上的属性值, 执 行 MBean 上定义的接口方法和获取 MBean 上发出来的通知事件对象 ;
     MBean 服务器负责 MBean 的生命周期控制, 当监听到管理构件的服务状态发生变 化 ( 加载、 卸载、 替换 ), 本申请实施例提供的方法就会根据这些状态做相关处理 ; 当服务构 件加载时, 注册 MBean 对象到 MBean 服务器中 ; 当服务构件卸载时, 反注册 MBean 对象 ; 当 服务构件替换时, 先反注册 MBean 对象, 再重新注册 MBean 对象到 MBean 服务器中 ; 并且, 当 MBean 的注册 / 反注册事件前后, MBean 服务器都会动态检查 “管理构件” 是否实现了 MBeanRegistration 接口, 如果返回结果为真, MB 服务即会调用相应的回调函数 ; 本申请实 施例提供的加载管理构件和卸载管理构件的流程图分别如本申请实施例提供的图 2 及图 3 所示 :
     如图 2 所示, 包括 :
     步骤 S201 : 封装管理构件为动态 MBean ; 步骤 S202 : 注册动态 MBean 为框架的服务 ; 步骤 S203 : 监听框架的服务构件状态 ; 步骤 S204 : 监听服务状态是否改变 ; 如改变执行步骤 S205 ; 否则, 返回执行步骤S203 ; 步骤 S205 : 监听服务状态是否注册, 如已注册, 执行步骤 S206 ;
     步 骤 S206 : 通 过 获 取 服 务 属 性 获 取 ObjectName 名 称, 注 册 此 MBean 到 MBeanServer 中。
     图 3 所示, 包括 :
     步骤 S301 : 监听框架的服务构件状态 ;
     步骤 S302 : 监听服务状态是否改变 ; 如未改变返回执行步骤 S301, 否则, 执行步骤 S303 ;
     步骤 S303 : 监听状态是否反注册 ; 如已反注册, 执行步骤 S304 ;
     步 骤 S304 : 通 过 获 取 服 务 属 性 获 取 ObjectName 名 称, 反 注 册 此 MBean 到 MBeanServer 中。
     本申请实施例提供的对构件远程管理的工作原理为 : 通过对相应的连接器服务端 (connector server) 发出请求, 一个远程管理应用程序可以与 JMX 代理建立连接, 随后才 可以通过其本地的连接器客户端 (connector client) 调用远程 MBean 所提供的操作 ; 典型 的, 一个远程客户通过 MBeanServer 的一个接口方法子集, 该子集来自 MBeanServer 接口的 父接口 (parent interface) 所定义的方法集。
     本申请实施例中, 对于远程管理 MBean 的一示意图如图 4 所示, 连接器客户端指定 MBean 服务器的远程代表的角色, 管理程序向其发出 getState 的方法调用, 这种方式的动 态调用通常是与 MBean 的自省 (introspection) 机制协作的, 通过 MBean 的自省, 可以动态 的发现管理接口提供的属性集合方法集以及其他所有 MBean 对象特征, 对本地和远程都一
     样; 代理对象通常由 MBean 类自动产生, 管理应用程序直接向代理对象提出 getState 方法的调用请求, 代理对象再依赖连接器客户端将此请求传送给远程的 JMX 代理层, 最后 传给目标 MBean, 请求的响应则以相反的路径传回。
     对于前述的方法实施例, 为了简单描述, 故将其都表述为一系列的动作组合, 但是 本领域技术人员应该知悉, 本发明并不受所描述的动作顺序的限制, 因为依据本发明, 某些 步骤可以采用其他顺序或者同时进行。 其次, 本领域技术人员也应该知悉, 说明书中所描述 的实施例均属于优选实施例, 所涉及的动作和模块并不一定是本发明所必须的。
     实施例二
     针对以上方法实施例, 本申请实施例还提供了一种构件管理系统, 所述系统基于 一 JMX 代理平台, 所述 JMX 代理平台中设置有 MBean 服务器 ; 其结构示意图如图 5 所示, 包 括:
     加载单元 401、 解析单元 402、 封装单元 403、 注册单元 404 和管理单元 405 ;
     其中 :
     加载单元 401, 用于对所述构件进行加载 ;
     解析单元 402, 用于解析所述构件的元数据文件获取所述元数据文件中的文件数据; 封 装 单 元 403, 用于依据所述获取的文件数据将所述构件封装为动态 MBean(Manageable Bean, 管理构件 ) ;
     注册单元 404, 用于将所述动态 MBean 注册为声明式框架服务 ;
     管理单元 405, 用于监听所述服务的状态, 依据所述服务的不同状态, 将所述服务 对应的 MBean 注册至所述 MBean 服务器中, 对所述 MBean 进行管理。
     本申请实施例还提供了构件管理系统的另一结构示意图如图 6 所示, 其中管理单 元 405 包括 :
     改写子单元 406, 用于读取和重新改写 MBean 中的属性值 ;
     执行子单元 407, 用于执行 MBean 中定义的接口方法 ;
     获取子单元 408, 获取 MBean 中发出的通知事件对象。
     本申请实施例提供的管理单元中, 还包括 :
     注册子单元 409, 用于当监听得到所述服务状态改变且所述服务状态为服务加载 时, 将所述服务对应的 MBean 注册至 MBean 服务器中。
     反注册子单元 410, 用于当监听得到所述服务状态改变且所述服务状态为服务卸 载时, 将所述服务对应的 MBean 反注册至 MBean 服务器中。
     对于系统实施例而言, 由于其基本相应于方法实施例, 所以描述的比较简单, 相关 之处参见方法实施例的部分说明即可。
     本说明书中的各个实施例均采用递进的方式描述, 各个实施例之间相同相似的部 分互相参见即可, 每个实施例重点说明的都是与其他实施例的不同之处。以上所述仅是本 申请的具体实施方式, 应当指出, 对于本技术领域的普通技术人员来说, 在不脱离本申请原 理的前提下, 还可以做出若干改进和润饰, 这些改进和润饰也应视为本申请的保护范围。
太阳城集团    

关 键 词:
一种 构件 管理 方法 系统
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
太阳城集团本文
本文标题:一种构件管理方法及系统.pdf
链接地址:http://zh228.com/p-6420976.html
太阳城集团我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
葡京赌场|welcome document.write ('');