一种基于代理的异构服务调用方法与协同调用系统的制作方法_2

文档序号:9931394阅读:来源:国知局
服务运行监测子模块:用于在服务调用过程发生前为被调用服务副本生成容错监控代理以完成服务运行监测与运行状态相关参数的收集;监控代理生成后,一个服务调用发生时,系统会完成服务的执行监控;
[0026]服务容错恢复子模块:实现上述的服务执行状态自动容错恢复过程,当监测代理捕捉到服务运行错误时,进行服务恢复;
[0027]组件三,LDAP异构服务管理模块,包括了服务注册子模块、服务发现子模块、服务元数据管理子模块、服务目录同步子模块等4部分;
[0028]服务注册子模块:用来完成异构服务在系统内的注册与信息记录,引导用户输入异构服务元数据信息并指定该服务相关的描述文件,对于CORBA服务用户需上传该服务的IDL文件,对于Web Service用户需指定该服务的WSDL;
[0029]服务发现子模块:通过OpenLDAP目录服务器与系统数据库实现异构服务的自动发现,并支持在LDAP服务器中已注册的所有满足相应条件异构服务的快速查找;
[0030]服务元数据管理子模块:主要用于管理并维护系统中各异构服务自身的服务名称、服务标识、服务地址、服务类型等元数据信息;
[0031 ] 服务目录同步子模块:基于LDAP协议对异构服务的WSDL、EndPointReference等核心资源与服务元数据信息进行统一管理,并在服务信息变更后实现系统统一服务目录的自动同步;
[0032]组件四,异构服务池:包括各原始异构服务。
[0033]在上述的一种异构服务协同管理系统,服务评价子模块的具体评价方法包括:
[0034]步骤1、通过查询服务执行记录,使用各个服务的与五项评价指标计算有关的信息,通过对每一个服务的五项指标进行评分,得出该服务在五项评价指标上的各自得分;
[0035]步骤2、把每一个服务表示成1X5的行向量,即(指标I得分,指标2得分,指标3得分,指标4得分,指标5得分),把所有服务组成一个矩阵,以服务行向量作为矩阵行向量;通过将矩阵每个元素减去该列最小值再除以该列最大值与最小值之差,得到归一化决策矩阵;根据质量评价指标的重要程度,设置权重向量(权重wl,权重w2,权重w3,权重w4,权重w5),通过计算决策矩阵与权重向量之积,得到每一个服务的质量得分情况。
[0036]在上述的一种异构服务协同管理系统,服务运行监测子模块通过如下步骤完成服务的执行监控:
[0037]步骤1、记录当前时间以及其他服务运行前参数,并准备捕捉服务运行过程中所产生的错误;
[0038]步骤2、如果服务运行成功,代理未捕捉到运行错误,则执行步骤2-a;如果服务运行失败,代理捕捉到相应错误,则执行步骤2-b;
[0039]步骤2-a、记录当前时间以及其他服务运行后参数,进行相应计算,得出服务运行效果参数并将信息传递给服务质量评价子模块;
[0040]步骤2-b、执行服务执行状态自动容错恢复,并记录服务出错信息;
[0041]在上述的一种异构服务协同管理系统,服务容错恢复子模块通过如下步骤进行服务恢复:
[0042]步骤2-b-l、停止出错服务,记录相应信息,查询系统同名服务;若;
[0043]无同名可用服务,向服务质量评价子模块传递相关信息,服务调用过程终止;
[0044]有可用同名服务,则选取其中质量评价得分最高的服务重新进行服务调用,并将监测代理的引用转移到新服务副本上;
[0045]步骤2-b_2、尝试捕捉服务错误信息,若服务运行出错,则返回步骤2-b-l,若服务运行成功,则服务调用完成,将相应信息传递给服务质量评价模块。
【附图说明】
[0046]图1为本发明的基于代理的异构服务调用方法示意图;
[0047]图2为本发明的本地代理Bundle组成结构图;
[0048]图3为本发明的异构服务协同管理系统的系统框架图;
[0049]图4为本发明服务质量评价方法示意图;
[0050]图5为本发明的一个实施例的应用流程图。
【具体实施方式】
[0051]下面详细描述本发明的具体实施例。应当注意,这里描述的实施例只用于举例说明,并不用于限制本发明:
[0052]图1为本发明的基于代理的异构服务调用方法示意图。当有异构服务进行注册时,通过如下步骤完成异构服务的代理式调用:
[0053]步骤I)从LDAP异构服务管理中间件的服务元数据管理子模块中查询该异构服务对应的服务元数据,并将该服务与其元数据交由OSGi服务管理模块下的服务代理生成子模块生成该异构服务的代理Bundle。
[0054]步骤2)针对不同种类的异构服务,分别进行下列步骤:
[0055]步骤2-1)对于Web Service,服务代理生成子模块会执行如下步骤完成代理生成:
[0056]步骤2-1-1)解析该服务的WSDL,生成Bundle中的服务接口类文件,编译服务地址获取本地文件用以生成Bund I e中的服务实现类。
[0057]步骤2-1-2)抽取服务接口类文件与服务实现类内的相关信息组成Bundle文件中的服务管理类。
[0058]步骤2-1-3)通过Ant工具将上述文件编译打包成代理Bundle文件。
[0059]步骤2-2)对于CORBA服务,服务代理生成子模块会执行如下步骤完成代理生成:
[0060]步骤2-2-1)解析该服务的IDL文件,生成Bundle中的服务接口类文件,编译服务地址获取本地文件用以生成Bund I e中的服务实现类。
[0061]步骤2-2-2)抽取服务接口类文件与服务实现类内的相关信息组成Bundle文件中的服务管理类。
[0062]步骤2-2-3)通过Ant工具将上述文件编译打包成代理Bundle文件。
[0063]步骤3)生成的异构服务代理Bundle可以在系统OSGi框架下由用户进行统一的管理与调用。
[0064]上述的代理Bundle的结构如图2所示。一个代理Bundle由接口文件、接口实现类文件、服务管理类文件、配置文件等4部分组成。其中,接口文件通过解析异构服务的描述文件(Web Service服务为该服务的WSDL,CORBA服务为该服务的IDL文件),标识了一个异构服务在OSGi环境中的标识名。接口实现类文件定义了服务的实现类。接口实现类是一个可实例化的类,实现了异构服务所发布的接口,并静态初始化一个变量,用于保存远程服务的本地代理对象;该类的实现方法并没有重写服务实现,而是调用对应的远程方法。接口实现类通过代理对象,有效的屏蔽了远程方法的调用,并为异构服务在OSGi框架中的注册提供了的基础。服务管理类文件提供了用于向OSGi环境中注册服务的类,该类继承于BundleAct i vat or 接口。Bund IeActi vat or 接口 定义了 Bundle的入口与出口,可以实现Bundle内服务的管理。配置文件是Java程序必须的一部分,在编译打包过程中自动生成。
[0065]图3为本发明所提供的异构服务协同管理系统的框架图,该系统由4部分组成,SP计算机硬件基础与软件环境、OSGi容器及容器内相关功能模块、LDAP异构服务管理中间件与异构服务池。
[0066]所述的计算机硬件基础与软件环境,是指本系统正常运行所需要的计算机硬件环境与Java虚拟机等软件环境。其中,硬件环境包括各计算机节点,各节点间的网络通路等;而软件环境包括计算机节点上运行的操作系统与Java虚拟机,维护各节点通讯所必备的软件系统等。
[0067]所述的OSGi容器是指本系统核心功能运行所依赖的OSGiFelix框架,以及该框架下的核心业务模块:OSGi服务管理模块与OSGi服务容错模块。
[
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1