基于分级OSGi的RFID中间件构件产品运行时监控系统的制作方法

文档序号:6430681阅读:185来源:国知局
专利名称:基于分级OSGi的RFID中间件构件产品运行时监控系统的制作方法
技术领域
本发明属于RFID中间件构件产品应用管理领域,特别是涉及一种基于分级OSGi 的RFID中间件构件产品运行时监控系统。
背景技术
根据可重构RFID中间件开发环境的工作流程,用户完成构件的选择之后,开发环境将选中的构件按照特定的目录结构拷贝至用户制定的地址,部署成可独立运行的RFID 中间件产品。由于RFID中间件产品部署完成后,开发环境即失去了对RFID中间件产品的控制,所以,当部署的RFID中间件产品出现异常时,开发环境并不能应付异常情况,只能重新选择构件,对RFID中间件产品再重新部署一次。这样无疑会降低开发的效率。而且,随着RFID的快速发展,在RFID应用集成的过程中,越来越多地涉及到RFID 中间件与异构应用系统的整合,RFID应用产品必须反复对其中的构件、服务以及配置进行调整与优化才能对RFID应用产品做最后的部署。

发明内容
针对现有技术的缺点,本发明的目的是提供一种在RFID中间件构件产品运行时进行实时监控,并能够动态修改和配置构件的基于分级OSGi的RFID中间件构件产品运行时监控系统。为实现上述目的,本发明的技术方案为
一种基于分级OSGi的RFID中间件构件产品运行时监控系统,包括构件和服务实体,还包括构件运行时监视模块、构件运行时控制模块和构件运行时配置模块;
所述构件运行时监视模块,包括构件监控模块、服务监控模块,构件监控模块和服务监控模块分别与构件和服务实体连接,分别用于对构件和服务实体进行监视;
所述构件运行时控制模块包括互相连接的构件控制模块和控制图形界面,用户通过控制图形界面调用构件控制模块,对相关构件进行控制;
所述构件运行时配置模块包括互相连接的构件配置模块和配置图形界面,用户通过配置图形界面调用构件配置模块,对构件的配置信息进行配置。本发明使用克隆RFID应用程序集成开发环境本身的OSGi总线的方法,来创建一个新的分级的OSGi运行时环境,基于该环境可以实现对构件的运行时管理。作为一种优选方案,所述构件监控模块包括依次连接的构件监视器、构件存储器和构件运行时界面,构件监视器与构件连接,其用于监视OSGi总线中构件的参数,构件存储器用于存储构件的参数,构件运行时界面的内容由构件存储器中的内容填装,用于与用户进行交互。作为进一步的优选方案,所述服务监控模块包括依次连接的服务监视器、服务存储器、服务运行时界面和RFID运行时界面,服务监视器与服务实体连接,其用于监视OSGi 总线中服务实体的参数,服务存储器用于存储服务的参数,服务运行时界面和RFID运行时界面的内容由服务存储器中的内容填装,用于与用户进行交互。作为再进一步的优选方案,所述构件运行时监视模块还包括JFace控制器,JFace 控制器一端与构件运行时界面、服务运行时界面和RFID运行时界面连接,另一端与构件存储器、服务存储器连接,构件存储器、服务存储器中的内容通过JFace控制器分别填装到构件运行时界面、服务运行时界面和RFID运行时界面中。作为再进一步的优选方案,所述构件存储器为HashMap容器,服务存储器为 HashSet容器。采用Hash容器的原因是因为在对系统进行监视的过程中涉及大量在容器中定位构件和服务实体的操作,选择Hash容器能够保证定位的效率。作为另一种优选方案,构件运行时控制模块对构件的控制包括构件的加载控制、 构件依赖的解决控制,构件的启动控制,构件的停止控制,构件的卸载控制、构件的更新控制、构件的诊断控制。作为另一种优选方案,所述构件运行时配置模块还设置有Configuration Admin 服务实体和ManagedService服务实体,Configuration Admin服务实体上设置有配置对象,Configuration Admin服务实体通过ManagedService服务实体获取需要在运行时改变的配置信息,每一个配置对象对应一项需要在运行时改变的配置信息。作为进一步的优选方案,包括构件配置模块包括服务跟踪器、LinkedList容器和配置监视器,服务跟踪器、配置监视器与Configuration Admin服务实体连接,服务跟踪器还与LinkedList容器连接,LinkedList容器与配置图形界面连接。通过所述部件,可以实现在配置图形界面中显示所有配置信息以及删除配置信息,期间配置监视器实时监听配置对象的状态。作为再进一步的优选方案,所述构件运行时配置模块还设置有JFace编辑器, JFace编辑器与配置图形界面连接。用户利用该JFace编辑器可以对配置图形界面中配置记录进行编辑以及第三方配置信息,第三方配置信息指的是不与任何构件对应的,只存在运行本次RFID产品运行时环境中的配置信息。作为另一种优选方案,所述构件为OSGi原生的Bundle模型封装,服务实体为OSGi原生的krviceReference模型封装。在对服务实体进行监视时,只需要实时地输出服务实体的各项参数,而不需要使用服务实体来进行任何操作,故使用句柄级的 krviceReference模型来封装能够节省内存。与现有技术相比,本发明具有如下有益效果
本发明提供对RFID中间件构件产品进行运行时监测与控制,使得用户可以以图形界面的方式实时地查看构件产品中所有构件、服务以及配置信息,并且能实时地向构件产品中新增、修改、删除构件,以及能够动态地修改配置构件,以适应RFID应用集成的要求。


图1为传统的可重构RFID中间件开发环境中的构件部署流程; 图2为本发明的系统框图3为本发明中的构件运行时监视模块的结构示意图。
具体实施方式
以下结合附图和实施例对本发明进行详细的描述。如图2所示,本发明使用克隆RFID应用程序集成开发环境本身的OSGi总线的方法,来获得一个新的OSGi运行时环境,提供一种基于分级OSGi的RFID中间件构件产品运行时监控系统,包括构件、服务实体、构件运行时监视模块、构件运行时控制模块和构件运行时配置模块;
构件为OSGi原生的Bundle模型封装,服务实体为OSGi原生的krviceReference模型封装。构件运行时监视模块,包括构件监控模块、服务监控模块和JFace控制器;
构件监控模块包括构件监视器、为HashMap容器的构件存储器和构件运行时界面,构件监视器、构件存储器、JFace控制器、构件运行时界面依次连接,构件监视器与构件连接, 用于监视OSGi总线中构件的参数,构件存储器用于存储构件的参数,服务存储器中的内容通过JFace控制器填装到构件运行时界面,构件运行时界面用于与用户进行交互。构件监视器维护构件产品OSGi总线的BimdleContext对象A。在构件监视器启动时,构件监视器首先把其BundleContext对象A中所有的构件添加到构件存储器中。当BundleContext对象A中的构件列表发生变化时,构件监视器检查构件的BimdleEvent对象中的状态值,并根据BimdleEvent对象中的状态值实时更新构件存储器和构件运行时界面,具体为
Al.如果BundleEvent对象中的状态是未安装,则将BundleEvent对象包含中的构件添加到构件存储器中,并刷新构件运行时界面;
A2.如果BundleEvent对象中的状态是卸载,则将BundleEvent对象包含中的构件从构件存储器中删除,并刷新构件运行时界面。由于用户能通过构件运行时界面影响构件存储器,所以在利用构件监视器对构件存储器进行任何操作之前,都需要先用synchronized关键字将构件存储器锁定。服务监控模块包括服务监视器、为HashSet容器的服务存储器、服务运行时界面和RFID运行时界面,服务监视器、服务存储器、JFace控制器依次连接,JFace控制器还与服务运行时界面和RFID运行时界面连接,服务监视器与服务实体连接,其用于监视OSGi总线中服务实体的参数,服务存储器用于存储服务的参数,服务存储器中的内容通过JFace控制器分别填装到服务运行时界面和RFID运行时界面,服务运行时界面和RFID运行时界面用于与用户进行交互。服务监视器维护构件产品OSGi总线的BimdleContext对象B。在服务监视器启动时,服务监视器首先把其BimdleContext对象B中所有的krviceReference 对象添加到服务存储器中。当BundleContext对象B中的krviceReference列表发生变化时,服务监视器检查krviceReference的krviceEvent对象中的状态值,并根据 krviceEvent对象中的实时更新服务存储器、服务运行时界面和RFID运行时界面,具体为
Bi.如果krviceEvent对象的状态是注册,则将krviceEvent对象包含中的 ServiceReference添加到服务存储器中,并刷新服务运行时界面;如果krviceReference 的 ID 为 Configuration,获取 Configuration 服务实体,使用该 Configuration 服务实体的内容填充RFID运行时界面的RFID中间件配置视图,并刷新RFID运行时界面;如果 ServiceReference 的 ID 为 Management,获取 Management 月艮务实体,使用该 Management 月艮务实体的内容填充RFID运行时界面的RFID中间件状态视图,并刷新RFID运行时界面;B2.如果krviceEvent对象的状态是移除注册,则将krviceEvent对象包含中的 ServiceReference从服务存储器中删除,并刷新服务运行时界面与RFID运行时界面;
B3.如果krviceEvent对象的状态是修改,直接刷新服务运行时界面。如果 ServiceReference 的 ID 为 Configuration 或者Management,还需要刷新 RFID 运行时界面。由于用户能通过服务运行时界面影响服务存储器,所以在利用服务监视器对服务存储器进行任何操作之前,都需要先用synchronized关键字将服务存储器锁定。构件运行时控制模块包括互相连接的构件控制模块和控制图形界面,用户通过控制图形界面调用构件控制模块,对相关构件进行控制,构件运行时控制模块对构件的控制包括构件的加载控制、构件依赖的解决控制,构件的启动控制,构件的停止控制,构件的卸载控制、构件的更新控制、构件的诊断控制。用户在对构件进行上述控制时,不必停止整个 RFID中间件构件产品的运行就可以对原有RFID中间件构件产品中的构件进行调整优化。构件运行时配置模块包括构件配置模块、配置图形界面和JFace编辑器,构件配置模块包括服务跟踪器、LinkedList容器和配置监视器,服务跟踪器与LinkedList容器连接,LinkedList容器、JFace编辑器与配置图形界面连接。构件运行时配置模块还设置有Configuration Admin服务实体和 ManagedService服务实体,服务跟踪器、配置监视器与Conf iguration Admin服务实体连接,Configuration Admin服务实体上设置有配置对象,Configuration Admin服务实体通过ManagedService服务实体获取需要在运行时改变的配置信息,每一个配置对象对应一项需要在运行时改变的配置信息。其具体为,首先,从传统的配置存储介质如XML文件或文件中读取配置,然后将众多配置信息中的需要在运行时改变的信息通过一个ManagecKervice Java接口的实现类封装,再将此封装类发布为ManagedService服务实体,各个ManagecKervice月艮务实体使用其Properties中的service, pid项来区别。 Configuration Admin服务实体收集所有ManagedService服务中的配置信息,为每项配置信息建立相应的配置对象,然后把所有的配置对象管理起来。最后通过Configuration Admin服务申请对任何配置对象进行动态配置。工作时,用户通过配置图形界面的方式获取到任何构件对应的配置对象,并对获取的配置对象编辑或删除,另外,用户还可以向RFID中间件构件产品中添加第三方配置信息,期间不需要停止RFID中间件构件产品的运行。其具体工作流程为
1)显示所有配置信息
配置图形界面维护一个元素为配置对象的LinkedList容器。初始时,使用服务跟踪器监听Configuration Admin服务,从Configuration Admin服务取出所有配置对象装进 LinkedList容器,以树形列表控件的形式在配置图形界面中显示。为保证配置图形界面动态更新,使用配置监视器监听所有配置对象的状态
Dl.当配置对象的ConfigurationEvent为CM_DELETED时,从LinkedList容器删除对应的配置对象,再刷新配置图形界面。D2.当配置对象的 ConfigurationEvent 为 CM_ADD 时,向 LinkedList 容器添加对应的配置对象,再刷新配置图形界面。D3.当配置对象的ConfigurationEvent不为以上两种情况时,直接刷新配置图形界面。
2)编辑与删除原有配置信息 El.编辑原有配置信息
当用户需要编辑配置图形界面中的一条配置记录时,首先以选中的配置对象的内容创建一个!Properties对象,再使用将此I^roperties对象绑定到一个初始文本串,最后使用这个初始文本串初始化并打开一个JFace编辑器。用户使用该JFace编辑器以“key^alue” 的形式编辑配置信息。当用户保存该JFace编辑器时,将JFace编辑器当前的文本串绑定至Ij一个Properties对象,再通过Configuration Admin月艮务使用该Properties对象更新 Configuration Admin服务中对应的配置信息。E2.删除原有配置信息
从配置图形界面的LinkedList容器中删除所选的配置对象,调用此配置对象的删除方法即可。3)添加第三方配置信息
首先,接收用户输入的第三方配置信息service, pid,打开一个JFace编辑器,之后用户可以在编辑器内以!Properties的风格添加第三方配置信息。当用户配置完成后,将 JFace编辑器文本串的内容创建一个配置对象并附加第三方配置信息service, pid,最后, 通过Configuration Admin服务注册该配置对象。
权利要求
1.一种基于分级OSGi的RFID中间件构件产品运行时监控系统,包括构件和服务实体, 其特征在于,还包括构件运行时监视模块、构件运行时控制模块和构件运行时配置模块;所述构件运行时监视模块,包括构件监控模块、服务监控模块,构件监控模块和服务监控模块分别与构件和服务实体连接;所述构件运行时控制模块包括互相连接的构件控制模块和控制图形界面;所述构件运行时配置模块包括互相连接的构件配置模块和配置图形界面。
2.根据权利要求1所述的基于分级OSGi的RFID中间件构件产品运行时监控系统,其特征在于,所述构件监控模块包括依次连接的构件监视器、构件存储器和构件运行时界面, 构件监视器与构件连接。
3.根据权利要求2所述的基于分级OSGi的RFID中间件构件产品运行时监控系统,其特征在于,所述服务监控模块包括依次连接的服务监视器、服务存储器、服务运行时界面和 RFID运行时界面,服务监视器与服务实体连接。
4.根据权利要求3所述的基于分级OSGi的RFID中间件构件产品运行时监控系统,其特征在于,所述构件运行时监视模块还包括JFace控制器,JFace控制器一端与构件运行时界面、服务运行时界面和RFID运行时界面连接,另一端与构件存储器、服务存储器连接。
5.根据权利要求4所述的基于分级OSGi的RFID中间件构件产品运行时监控系统,其特征在于,所述构件存储器为HashMap容器,服务存储器为HashSet容器。
6.根据权利要求1所述的基于分级OSGi的RFID中间件构件产品运行时监控系统,其特征在于,构件运行时控制模块对构件的控制包括构件的加载控制、构件依赖的解决控制, 构件的启动控制,构件的停止控制,构件的卸载控制、构件的更新控制、构件的诊断控制。
7.根据权利要求1所述的基于分级OSGi的RFID中间件构件产品运行时监控系统,其特征在于,所述构件运行时配置模块还设置有Configuration Admin服务实体和ManagedService服务实体,Configuration Admin服务实体上设置有配置对象, Configuration Admin服务实体通过ManagedService服务实体获取需要在运行时改变的配置信息,每一个配置对象对应一项需要在运行时改变的配置信息。
8.根据权利要求7所述的基于分级OSGi的RFID中间件构件产品运行时监控系统,其特征在于,包括构件配置模块包括服务跟踪器、LinkedList容器和配置监视器,服务跟踪器、配置监视器与Configuration Admin服务实体连接,服务跟踪器还与LinkedList容器连接,LinkedList容器与配置图形界面连接。
9.根据权利要求8所述的基于分级OSGi的RFID中间件构件产品运行时监控系统,其特征在于,所述构件运行时配置模块还设置有JFace编辑器,JFace编辑器与配置图形界面连接。
10.根据权利要求1所述的基于分级OSGi的RFID中间件构件产品运行时监控系统,其特征在于,所述构件为OSGi原生的Bundle模型封装,服务实体为OSGi原生的 ServiceReference 模型封装。
全文摘要
本发明属于RFID中间件构件产品应用管理领域,特别是涉及一种基于分级OSGi的RFID中间件构件产品运行时监控系统。其包括构件和服务实体,还包括构件运行时监视模块、构件运行时控制模块和构件运行时配置模块;构件运行时监视模块,包括构件监控模块、服务监控模块,构件监控模块和服务监控模块分别与构件和服务实体连接;构件运行时控制模块包括互相连接的构件控制模块和控制图形界面;构件运行时配置模块包括互相连接的构件配置模块和配置图形界面。本发明能够在RFID中间件构件产品运行时进行实时监控,并能够动态修改和配置构件。
文档编号G06F9/44GK102354282SQ20111023043
公开日2012年2月15日 申请日期2011年8月12日 优先权日2011年8月12日
发明者刘发贵, 杨平安, 申维 申请人:华南理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1