[发明专利]一种基于代理的异构服务调用方法与协同调用系统有效
申请号: | 201610058405.X | 申请日: | 2016-01-28 |
公开(公告)号: | CN105721562B | 公开(公告)日: | 2019-01-29 |
发明(设计)人: | 孟令奎;张文;李元熙;张钟海;邱文东;朱会玲;洪志明 | 申请(专利权)人: | 武汉大学 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 | 代理人: | 鲁力 |
地址: | 430072 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 代理 服务 调用 方法 协同 系统 | ||
1.一种基于代理的异构服务调用方法,其特征在于,包括如下步骤:
步骤1、通过cmd本地编译命令,结合注册时所提供的服务信息,自动编译生成该服务对应的多个本地Java文件;其中,对于CORBA服务,需要提供该服务的IDL文件,利用idlj命令,自动生成该服务对应的接口文件、实现类文件以及CORBA远程通信文件;对于Web Service,需要提供该服务的WSDL,利用wsimport命令,自动生成该服务对应的接口文件、实现类文件以及Web Service远程通信文件;
步骤2、搜索编译后的本地Java文件,获取服务接口文件;其中,对于CORBA服务,循环查找步骤1生成的本地文件中以Operations.java结尾的文件;对于Web Service,解析WSDL获得portType节点的name属性,该属性值即为接口名,查找步骤1生成的本地文件中以该接口名命名的.java文件;
步骤3、对步骤1中生成的实现类文件进行代码封装,生成一个新的接口实现类文件,该实现类服务于步骤4中的服务注册;该类实现了步骤2所查找的接口类,并定义了一个远程服务的本地代理对象,该对象为一个静态初始化的变量,类中所有的接口实现方法均通过调用该对象的同名方法实现;
步骤4、根据接口和接口实现类文件动态生成该服务的BundleActivator类文件,该类实现了OSGi定义的BundleActivator接口的start方法和stop方法,在start方法中注册远程服务,在stop方法中销毁OSGi框架的Bundle上下文对象;
步骤5、根据步骤4所生成的BundleActivator类文件以及其它系统环境,生成包含Bundle-Version、Bundle-Activator、Bundle-RequiredExecutionEnvironment、Import-Package元数据信息的MANIFEST.MF文件;
步骤6、通过Ant打包文件工具将步骤1至5所生成的所有文件,统一编译打包生成本地代理Bundle。
2.一种异构服务协同调用系统,其特征包括:
组件一,Java虚拟机:
组件二,OSGi容器组件:系统核心功能运行所依赖的OSGi Felix框架,以及该框架下的核心业务模块:OSGi服务管理模块与OSGi服务容错模块,其中,
OSGi服务管理模块用于对注册到系统中的OSGi服务以及CORBA服务与Web Service的代理Bundle进行统一的生命周期管理与协同调用支持,包含服务代理生成子模块、服务调用子模块、服务生命周期管理子模块与服务质量评价子模块;
服务代理生成子模块:为CORBA服务与Web Service异构服务资源生成本地代理Bundle;
服务调用子模块:用于实现通过系统中的本地Bundle对系统异构服务池中的异构服务进行统一调用;
服务生命周期管理子模块:用于管理系统OSGi框架下的所有Bundle的生命周期,包括OSGi服务自身的Bundle以及系统为CORBA服务和WebService自动生成的代理Bundle;该模块继承了OSGi框架对Bundle生命周期管理的相关接口,实现对系统内Bundle的安装、解析、启动,停止,更新,卸载操作的统一管理;
服务评价子模块:利用服务的响应时间、执行时间、执行成功率运行数据对异构服务进行质量评价,可以根据经验或者用户兴趣进行各项指标评分,然后通过用户要求赋予各项指标权重,进行服务质量加权综合评价,从而帮助用户了解系统中各服务的质量,并为出错服务的自动恢复提供依据;
OSGi服务容错模块主要用于监听服务的运行状态并自动恢复出错服务,从而提高系统的鲁棒性,包括了服务运行监测子模块与服务容错恢复子模块,其中,
服务运行监测子模块:用于在服务调用过程发生前为被调用服务副本生成容错监控代理以完成服务运行监测与运行状态相关参数的收集;监控代理生成后,一个服务调用发生时,系统会完成服务的执行监控;
服务容错恢复子模块:实现上述的服务执行状态自动容错恢复过程,当监测代理捕捉到服务运行错误时,进行服务恢复;
组件三,LDAP异构服务管理模块,包括了服务注册子模块、服务发现子模块、服务元数据管理子模块、服务目录同步子模块4部分;
服务注册子模块:用来完成异构服务在系统内的注册与信息记录,引导用户输入异构服务元数据信息并指定该服务相关的描述文件,对于CORBA服务用户需上传该服务的IDL文件,对于Web Service用户需指定该服务的WSDL;
服务发现子模块:通过OpenLDAP目录服务器与系统数据库实现异构服务的自动发现,并支持在LDAP服务器中已注册的所有满足相应条件异构服务的快速查找;
服务元数据管理子模块:主要用于管理并维护系统中各异构服务自身的服务名称、服务标识、服务地址、服务类型元数据信息;
服务目录同步子模块:基于LDAP协议对异构服务的WSDL、EndPointReference核心资源与服务元数据信息进行统一管理,并在服务信息变更后实现系统统一服务目录的自动同步;
组件四,异构服务池:包括各原始异构服务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610058405.X/1.html,转载请声明来源钻瓜专利网。