[发明专利]基于CORBA的OSGi分布式扩展系统及方法有效
申请号: | 200910207404.7 | 申请日: | 2009-10-30 |
公开(公告)号: | CN102053860A | 公开(公告)日: | 2011-05-11 |
发明(设计)人: | 史殿习;尹刚;吴元立;王怀民;崔巍 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 北京泛华伟业知识产权代理有限公司 11280 | 代理人: | 王勇 |
地址: | 410073 湖南*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 corba osgi 分布式 扩展 系统 方法 | ||
1.一种基于CORBA的OSGi分布式扩展系统,包括OSGi内核以及运行在该内核上的服务注册中心,其特征在于,还包括有运行于所述OSGi内核上的CORBA分布式支持模块、CORBA名字服务模块、服务提供者模块以及消费者模块;其中,
所述的服务提供者模块将该模块提供的可供远程访问的服务在所述的服务注册中心注册;所述的CORBA分布式支持模块监控所述可被远程访问的服务在所述服务注册中心的注册,为该服务生成相应的服务端代理,并向本地OSGi内核提供基于CORBA的远程服务调用;
所述的消费者模块查询位于其他结点上的远程服务;所述的CORBA名字服务模块给出关于该远程服务所在结点的信息;所述的CORBA分布式支持模块根据该信息生成客户端代理,由所述客户端代理实现对远程服务的使用。
2.根据权利要求1所述的基于CORBA的OSGi分布式扩展系统,其特征在于,所述的CORBA分布式支持模块包括服务监控器、服务端代理生成器以及客户端代理生成器;其中,
所述的服务监控器用于监控注册到服务注册中心上的服务;
所述的服务端代理生成器用于生成服务端代理,所述的服务端代理用于在接收到ORB的CORBA调用请求后,将该请求转化为Java调用请求,然后根据Java调用请求调用服务,将服务的处理结果由Java形式再转变为CORBA形式后返回给ORB;
所述的客户端代理生成器用于生成客户端代理,所述的客户端代理用于实现对位于其他结点上的远程服务的接口,将该接口中的方法的Java调用请求转换成对所述远程服务的服务端代理的CORBA调用请求。
3.根据权利要求2所述的基于CORBA的OSGi分布式扩展系统,其特征在于,所述的服务监控器采用OSGi内核所提供的ServiceTracker类实现。
4.根据权利要求2所述的基于CORBA的OSGi分布式扩展系统,其特征在于,所述的服务端代理通过继承CORBA中的org.omg.PortableServer.DynamicImplementation类并实现其voidinvoke(ServerRequest request)方法来实现。
5.根据权利要求2所述的基于CORBA的OSGi分布式扩展系统,其特征在于,所述的客户端代理采用Java的动态接口代理技术实现,由java.lang.reflect.Proxy类在运行期时根据服务接口定义,并采用Java反射功能动态生成。
6.一种基于CORBA的OSGi分布式扩展方法,在安装有权利要求1-5之一所述的基于CORBA的OSGi分布式扩展系统的结点上实现,包括:
步骤1)、允许远程访问的服务通过服务提供者模块在其所在结点的服务注册中心上注册;
步骤2)、为所述允许远程访问的服务生成服务端代理;
步骤3)、远程结点上的消费者模块向该结点上的服务注册中心查询所要访问的服务;
步骤4)、当所要访问的服务在远程结点本地不存在时,所述远程结点生成客户端代理,通过所述客户端代理访问所述服务端代理,从而实现对所述服务的访问。
7.根据权利要求6所述的基于CORBA的OSGi分布式扩展方法,其特征在于,所述的步骤2)包括:
步骤2-1)、服务所在结点上的CORBA分布式支持模块监控到注册事件后,为该服务生成相应的服务端代理;
步骤2-2)、所述CORBA分布式支持模块将所述服务端代理加载到POA上,生成CORBA对象引用;
步骤2-3)、在服务所在结点上的CORBA名字服务模块注册所述服务端代理的CORBA对象引用以及所述服务的本地服务注册信息。
8.根据权利要求6所述的基于CORBA的OSGi分布式扩展方法,其特征在于,所述的步骤4)包括:
步骤4-1)、远程结点上的CORBA分布式支持模块通过该结点上的CORBA名字服务模块查询哪个结点上存在所需要的服务;
步骤4-2)、远程结点上的CORBA分布式支持模块根据查询结果生成所需服务的客户端代理,将对所述客户端代理的所有方法调用转变为对服务所在结点上服务端代理的调用;
步骤4-3)、远程结点上的CORBA分布式支持模块将所需服务的客户端代理注册到本地的服务注册中心。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910207404.7/1.html,转载请声明来源钻瓜专利网。