CN102790684B - 服务信息的调用方法、系统以及企业服务总线服务器 - Google Patents

服务信息的调用方法、系统以及企业服务总线服务器 Download PDF

Info

Publication number
CN102790684B
CN102790684B CN201110125586.0A CN201110125586A CN102790684B CN 102790684 B CN102790684 B CN 102790684B CN 201110125586 A CN201110125586 A CN 201110125586A CN 102790684 B CN102790684 B CN 102790684B
Authority
CN
China
Prior art keywords
information
services
mark
service
esb server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110125586.0A
Other languages
English (en)
Other versions
CN102790684A (zh
Inventor
徐非
李增辉
苗桥
丁健
张达
刘列明
李霞
高鹰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Group Beijing Co Ltd
Original Assignee
China Mobile Group Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Mobile Group Beijing Co Ltd filed Critical China Mobile Group Beijing Co Ltd
Priority to CN201110125586.0A priority Critical patent/CN102790684B/zh
Publication of CN102790684A publication Critical patent/CN102790684A/zh
Application granted granted Critical
Publication of CN102790684B publication Critical patent/CN102790684B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种服务信息的调用方法和系统,以解决现有技术提供的故障转移技术存在的对软、硬件资源需求量较大的问题。方法包括:备用虚拟ESB服务器接收服务调用方根据主用ESB服务器的地址并基于远程方法调用RMI模式提供的服务信息调用请求消息;备用虚拟ESB服务器获得所述服务调用方提供的服务信息调用请求消息中包含的服务信息标识和服务调用方标识;以及基于RMI模式,将所述服务信息标识提供给服务提供方;获得服务提供方根据所述服务信息标识获得并基于RMI模式提供的服务信息;并基于RMI模式,将获得的服务信息提供给所述服务调用方标识指示的服务调用方。本发明还公开一种企业服务总线服务器。

Description

服务信息的调用方法、系统以及企业服务总线服务器
技术领域
本发明涉及管理支撑技术领域,尤其涉及一种服务信息的调用方法、系统以及一种企业服务总线服务器。 
背景技术
企业服务总线(ESB,Enterprise Service Bus)服务器是面向服务的体系结构(SOA,Service Orientied Architecture)的关键组件,其是SOA互联模式下的连接中枢。SOA的结构示意图如图1所示,位于服务协作参与方(包括服务信息调用方和服务信息提供方)之间的ESB服务器提供了服务协作参与方之间的服务虚拟化交互。ESB服务器的核心功能模块是服务中介模块,服务中介模块负责协调服务信息调用方和服务信息提供方之间的消息差异,ESB服务器尤其是其包含的服务中介模块的稳定性与可用性,决定着SOA的协作服务水平。特别地,当ESB服务器发生故障时,服务信息调用方和服务信息提供方之间的服务交互质量的保障技术对SOA基础设施的高可用性更是至关重要。 
目前,针对ESB服务器故障时服务交互质量保障需求,主流的解决方法是故障转移技术,该技术又包括调用方重定向和组件替换两种方式。其中,调用方重定向方式是指服务信息调用方在监测到ESB服务器发生故障后,绕过发生故障的ESB服务器而直接访问服务信息提供方;而组件替换方式则需要SOA中提供一个以上的备用ESB服务器,并要求备用ESB服务器在软硬件方面必须与当前正在使用的主用ESB服务器完全一致(因此组件替换方式也称为“对称式服务替代技术”),此外还需要将备用ESB服务器的地址信息提供给服务信息调用方,从而后续服务信息调用方才能依据该地址信息向备用ESB服务器发送服务信息调用请求。 
上述现有技术的缺陷在于:调用方重定向方式要求服务信息调用方必须掌握服务信息提供方的地址信息、通信协议等信息,即要求服务协作参与方之间对于地址信息、通信协议是相互“透明”的,但在实际应用中服务信息提供方的地址信息和通信协议往往是不会提供给服务信息调用方的,因此该方式在实现上会有一定难度;而组件替换方式由于要求备用ESB服务器与主用ESB服务器在中间件软件、依赖软件(总线数据库)、操作系统、硬件服务器等方面的配置均相同,因此对软、硬件资源的需求较大,在主用ESB服务器故障率较低的情况下,组件替换方式实际是对软硬件资源造成了较大的闲置浪费。 
发明内容
本发明实施例提供一种服务信息的调用方法和系统,用以解决现有技术提供的故障转移技术存在的对软、硬件资源需求量较大的问题。 
本发明实施例还提供一种企业服务总线服务器。 
本发明实施例采用以下技术方案: 
一种服务信息的调用方法,包括: 
在主用企业服务总线ESB服务器停用后,被设置为处于工作状态的备用虚拟ESB服务器接收服务信息调用方根据主用ESB服务器的地址并基于远程方法调用RMI模式提供的服务信息调用请求消息;其中,所述服务信息调用请求消息是利用Java对基于标准通用标记语言SGML的服务信息调用请求消息进行转换后得到的,所述备用虚拟ESB服务器的地址与主用ESB服务器的地址相同;备用虚拟ESB服务器获得所述服务信息调用方提供的服务信息调用请求消息中包含的服务信息标识和服务信息调用方标识;以及基于RMI模式,将所述服务信息标识提供给服务信息提供方;获得服务信息提供方根据所述服务信息标识获得并基于RMI模式提供的服务信息;并基于RMI模式,将获得的服务信息提供给所述服务信息调用方标识指示的服务信息调用方。 
可选的,基于RMI模式,将所述服务信息标识提供给服务信息提供方, 具体包括: 
备用虚拟ESB服务器判断预先存储的服务信息提供方所能识别的服务信息标识中是否包含获得的服务信息标识;以及在判断结果为否时,根据预先存储的服务信息调用方所能识别的服务信息的标识与服务信息提供方所能识别的服务信息的标识的对应关系,将获得的服务信息标识转换为服务信息提供方所能识别的服务信息标识后提供给服务信息提供方;以及在判断结果为是时,将获得的服务信息标识提供给服务信息提供方。 
可选的,备用虚拟ESB服务器基于RMI模式,将获得的服务信息提供给服务信息调用方,具体包括:备用虚拟ESB服务器根据预先获得的服务信息调用方所能识别的服务信息的属性,对获得的服务信息进行转换后,基于RMI模式提供给服务信息调用方。 
可选的,通过下述步骤设置所述备用虚拟ESB服务器处于工作状态: 
备用虚拟ESB服务器监听启用指令;并在监听到所述启用指令后,将自身的状态设置为工作状态。 
一种企业服务总线服务器,包括: 
消息接收单元,用于在主用企业服务总线ESB服务器停用、且所述ESB服务器被设置为处于工作状态后,接收服务信息调用方根据主用ESB服务器的地址并基于远程方法调用RMI模式提供的服务信息调用请求消息;其中,所述服务信息调用请求消息是利用Java对基于标准通用标记语言SGML的服务信息调用请求消息进行转换后得到的,所述ESB服务器的地址与主用ESB服务器的地址相同;标识获得单元,用于获得消息接收单元接收到的服务信息调用请求消息中包含的服务信息标识和服务信息调用方标识;服务信息标识提供单元,用于基于RMI模式,将标识获得单元获得的服务信息标识提供给服务信息提供方;服务信息获得单元,用于获得服务信息提供方根据服务信息标识提供单元提供的服务信息标识,获得并基于RMI模式提供的服务信息;服务信息提供单元,用于基于RMI模式,将服务信息获得单元获得的服务信 息提供给标识获得单元获得的服务信息调用方标识指示的服务信息调用方。 
一种服务信息的调用系统,包括服务信息调用方和服务信息提供方,还包括与主用企业服务总线ESB服务器地址相同的备用虚拟ESB服务器,其中: 
服务信息调用方,用于根据主用ESB服务器的地址,基于远程方法调用RMI模式提供服务信息调用请求消息,其中,所述服务信息调用请求是利用Java对基于标准通用标记语言SGML的服务信息调用请求消息进行转换后得到的;备用虚拟ESB服务器,用于接收所述服务信息调用请求消息,并获得所述服务信息调用请求消息中包含的服务信息标识和服务信息调用方标识;以及基于RMI模式,将所述服务信息标识提供给服务信息提供方;并获得服务信息提供方基于RMI模式提供的服务信息;以及基于RMI模式,将获得的服务信息提供给所述服务信息调用方标识指示的服务信息调用方;服务信息提供方,用于获取虚拟ESB服务器提供的所述服务信息标识所指示的服务信息,并基于RMI模式,将获取的服务信息提供给虚拟ESB服务器。 
本发明实施例提供的上述方案通过由与主用ESB服务器地址一致的备用虚拟ESB服务器对发生故障的主用ESB服务器进行接管,并基于对资源消耗较小的远程方法调用RMI模式来实现服务协作参与方之间的服务虚拟化交互,从而与现有技术提供的故障转移技术相比,大大减少了对软、硬件资源的需求量。 
附图说明
图1为现有技术中的SOA的结构示意图; 
图2为本发明实施例提供的一种服务信息的调用方法的具体流程示意图; 
图3a为本发明实施例提供的服务信息的调用方法在实际应用中的实现流程示意图; 
图3b为图3a中各步骤与包含备用虚拟ESB服务器的SOA的对应关系示意图; 
图3c为本发明实施例中对主用ESB服务器的接管示意图请; 
图3d为基于Java的解析方式与基于XML的解析方式的性能比较示意图; 
图4为本发明实施例提供的一种ESB服务器的具体结构示意图; 
图5为本发明实施例提供的一种服务信息的调用系统的具体结构示意图。 
具体实施方式
为了解决现有技术提供的故障转移技术存在的对软、硬件资源需求量较大的问题。本发明实施例提供一种服务信息的调用方案,该方案通过由与主用ESB服务器地址一致的备用虚拟ESB服务器对发生故障的主用ESB服务器进行接管,并基于对资源消耗较小的远程方法调用(RMI,Remote Method Invocation)技术来实现服务协作参与方之间的服务虚拟化交互,从而与现有技术提供的故障转移技术相比,大大减少了对软、硬件资源的需求量。 
以下结合附图,对本发明实施例提供的服务信息的调用方案进行具体说明。 
首先,本发明实施例提供一种服务信息的调用方法,该方法的具体流程示意图如图2所示,包括下述步骤: 
步骤21,在主用ESB服务器停用后,处于工作状态的备用虚拟ESB服务器接收服务信息调用方根据主用ESB服务器的地址并基于RMI模式提供的服务信息调用请求消息,其中,服务信息调用请求消息是利用Java对基于标准通用标记语言(SGML,Standard Generalized Markup Language,SGML包括可扩展标记语言(XML,Extensible Markup Language)等多种语言)的服务信息调用请求消息进行转换后得到的; 
需要说明的是,上述备用虚拟ESB服务器的地址与主用ESB服务器的地址是相同的。 
本发明实施例中,将备用虚拟ESB服务器设置为工作状态可以通过下述方式实现: 
备用虚拟ESB服务器可以对启用指令进行监听,当监听到启用指令后,将自身的状态设置为工作状态。其中,该启用指令可以是由不同于主用ESB服务器和备用虚拟ESB服务器的第三方设备发送的,或者,也可以是由工作人员手动输入的,还可以是主用服务器在即将停用前向备用虚拟ESB服务器发送的。 
步骤22,备用虚拟ESB服务器获得接收到的服务信息调用请求消息中包含的服务信息标识和服务信息调用方标识; 
步骤23,备用虚拟ESB服务器基于RMI模式将服务信息标识提供给服务信息提供方; 
由于针对同一服务信息,有可能存在服务信息调用方所能识别的该服务信息的标识与服务信息提供方所能识别的该服务信息的标识不一致的情况,因此,步骤23的具体实现过程可以为:首先,备用虚拟ESB服务器判断预先存储的服务信息提供方所能识别的服务信息标识中是否包含获得的服务信息标识;若判断结果为否,则根据预先存储的服务信息调用方所能识别的服务信息的标识与服务信息提供方所能识别的服务信息的标识的对应关系,将获得的服务信息标识转换为服务信息提供方所能识别的服务信息标识后提供给服务信息提供方;若判断结果为是,则将获得的服务信息标识提供给服务信息提供方。 
步骤24,备用虚拟ESB服务器获得服务信息提供方根据服务信息标识获得并基于RMI模式提供的服务信息; 
步骤25,基于RMI模式,将获得的服务信息提供给服务信息调用方标识所指示的服务信息调用方。 
类似于步骤23的上述实现方式,步骤25中,也可以是备用虚拟ESB服务器根据预先获得的服务信息调用方所能识别的服务信息的属性,对获得的服务信息进行转换后,再基于RMI模式提供给服务信息调用方的,这样就避免了服务信息调用方无法识别服务信息的问题。并且,虽然也可以由服务信息调用方来实现转换服务信息的操作,但是,本发明实施例采用的由虚拟ESB服 务器进行服务信息转换的好处在于可以减轻服务信息调用方的负载,避免对服务信息调用方的功能性要求太高。 
相比于现有技术中提供的组件替换方式,由于备用虚拟ESB服务器与主用ESB共用的是同一地址,因此,采用本发明实施例提供的方案也无需另外向服务信息调用方提供备用虚拟ESB服务器的地址信息,因此节约了发送地址信息所需的处理资源。 
此外,本发明实施例提供的上述服务信息的调用方法还创新性地将Java技术和RMI模式应用到ESB服务器中。由于利用Java技术对基于Java转换后得到服务信息调用请求消息进行解析是一种对资源消耗较小的技术,因此,基于该技术来实现备用虚拟ESB服务器的一些功能可以使得本发明实施例提供的该方案对于软、硬件资源的要求大大降低。可见,相比于现有技术中提供的组件替换方式,本发明实施例提供的该方案在资源需求量上有较大的优势,因此相对于组件替换方式被称为“对称式服务替代技术”,本发明实施例提供的方案也可以称为“非对称式虚拟服务替代技术”。 
为了详细说明本发明实施例提供的上述方法所能达到的技术效果,以下以本发明实施例提供的上述方案在实际应用中的一个实现流程(其示意图如图3a所示)为例,对方案的具体应用进行介绍。其中,图3a中的各步骤与SOA的对应关系示意图请参照图3b。以下重点介绍图3a中包含的各步骤。 
步骤31,在主用ESB服务器被停用(比如发生故障而自行停用)时,执行启用备用虚拟ESB服务器的操作; 
在本发明实施例中,在主用ESB服务器被停用时,可以由操作者手动执行启用备用虚拟ESB服务器的操作,也可以设置不同于主用ESB服务器和备用虚拟ESB服务器的一个第三方监控设备来实现启用备用虚拟ESB服务器。具体地,该第三方监控设备(比如可以称为接管执行设备)可以分别与主用ESB服务器和备用虚拟ESB服务器相连接,并对主用ESB服务器和备用虚拟ESB服务器的状态进行监控,一旦监控到主用ESB服务器停用后,就执行启 用备用虚拟ESB服务器的操作。一般地,启用备用虚拟ESB服务器的操作即为将备用虚拟ESB服务器的状态由待机状态(或休眠状态等)设置为工作状态,可以通过接管执行设备向备用虚拟ESB服务器发送启用指令的方式,触发备用虚拟ESB服务器将自身的状态设置为工作状态。 
为了便于描述,本发明实施例中将主用ESB服务器被停用从而启用备用虚拟ESB服务器的过程称为“对主用ESB服务器的接管”。对主用ESB服务器的接管示意图请参照图3c。在完成对主用ESB服务器的接管后,服务信息调用方根据主用ESB服务器的接口地址发送服务调用请求消息时,由于主用ESB服务器和备用虚拟ESB服务器共用的是同一接口地址,因此,该服务调用请求消息会自动转到当前被启用的备用虚拟ESB服务器。该过程详见下述步骤。 
步骤32,服务信息调用方在利用Java对基于XML格式的服务信息调用请求消息进行转换后,根据主用ESB服务器的接口地址,基于RMI模式将转换后得到的服务信息调用请求消息提供给备用虚拟ESB服务器; 
一般地,用专门用于描述服务信息的XML格式的网络服务描述语言(WSDL,Web Services Description Language)描述的服务信息提供方的地址等信息可以如下表1所示: 
表1: 
而用WSDL描述的面向服务信息调用方的备用虚拟ESB服务器的地址等信息可以如下表2所示: 
表2: 
在本发明实施例中,为了实现RMI模式,需要利用Java对XML格式的信息进行转换。 
值得重点说明的是,Java产生于20世纪90年代,是最重要的信息技术之一。Java不仅是一种高性能的网络编程语言,而且已成为网络世界中一种跨系统的操作平台。基于Java对基于XML格式的信息进行转换与JAXP(Java APIfor XML Processsing)相似,即采用一种独立于特定XML处理程序实现的JavaAPI对基于XML的消息(或文档)的解析和转换。 
为了说明服务信息调用方需求的服务信息,服务信息调用方需要向备用虚拟ESB服务器提供服务信息标识,同时,还需要提供服务信息调用方的标识(比如地址信息),该标识用于作为后续虚拟ESB对获取到的服务信息进行路由的依据。若服务信息提供方需要对服务信息调用方的身份进行验证,则服务信息调用方还需要向备用虚拟ESB提供能够指示服务信息调用方身份的一些信息,比如服务信息调用方的ID、验证码等。 
上文中所述的XML是标准通用标记语言(SGML,Standard Generalized Markup Language)中的一种。XML是一种简单的数据存储语言,其使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,因此XML有着极其简单易于掌握和使用的优点,这也使得它成为Internet环境中跨平台的、依赖于内容的技术,是当前处理结构化文档信息的有力工具。从某种意义上讲,XML是数据封装和消息传递技术。然而,XML也存在缺陷,那就是基于XML的消息内容完全以文本形式表现与存储,与采用二进制形式表现的消息占相比,基于XML的消息所占用的存储空间和传输资源更大。此外,当基于XML规则对基于XML的消息进行解析(一般采用基于文档对象模型和基于事件的解析方式)所需的资源开销比较大,这也是前文现有技术中所述的组件替换方式要求备用虚拟ESB服务器在软硬件方面必须与当前正在使用的主用ESB服 务器完全一致的原因。 
步骤33,服务调用请求消息被发送至虚拟ESB服务器,由虚拟ESB服务器中的虚拟服务接口组件接收该服务调用请求消息,并将该服务调用请求消息转发至虚拟ESB服务器中的服务调用传递组件; 
步骤34,服务调用传递组件主要完成的功能在于:基于Java,从接收到的服务调用请求消息中解析出服务信息标识和服务信息调用方的地址信息,当服务调用请求消息中还包含服务信息调用方的ID和验证码等信息时,还可以解析出该些信息; 
具体地,基于Java实现信息传递、解析示例如下表3所示,其中,传入参数: 
表3: 
在本发明实施例中,利用Java对基于Java转换后得到的服务调用请求消息进行解析的性能是优于利用XML对基于XML的服务调用请求消息进行的解析性能的。两种解析方式对信息进行解析的性能比较示意图如图3d所示。图3d中,T表示耗费的解析时间,P代表待解析的信息构成的集合的大小,M1对应于基于Java的解析方式,M2对应于基于XML规则的解析方式。 
从图3d中可以看出,无论待解析的信息构成的集合规模如何,M1体现出的基于Java的解析方式的性能远远优于M2体现出的基于XML规则的解析方式的性能。同时,随着信息集合规模的增大,基于XML规则的解析方式的性能衰减显著,而基于Java的解析方式的性能则平稳降低。 
步骤35,服务调用传递组件将解析出的服务信息标识和服务信息调用方的地址信息发送给服务调用参数/返回值解析转换组件,当还解析出服务信息调用方的ID和验证码等信息时,还可以将该些信息也发送给服务调用参数/返回值解析转换组件; 
在步骤35中,若解析出的某服务信息的标识为A,而服务信息提供方默认的该服务信息的标识为1,则服务调用传递组件还需要根据预设的服务需求方提供的服务信息的标识与服务信息提供方默认的该服务信息的标识之间的映射关系(如A对应于1),对解析出的服务信息的标识进行转换后发送给服务调用参数/返回值解析转换组件。此外,根据实际需要,服务调用传递组件还可以是对信息的格式等进行转换,以便将其转换为服务信息提供方能够直接识别的格式。 
步骤36,服务调用参数/返回值解析转换组件基于RMI模式,将解析得到的服务信息标识提供给服务信息提供方; 
步骤36的实现方式与前文所述的步骤23类似。 
在本发明实施例中,服务调用参数/返回值解析转换组件可以是由预先加载在虚拟ESB服务器中的占位程序stub实现的,这里的stub相当于是实现服务信息提供方代理服务器的功能。 
由于在基于Java对服务调用请求消息进行解析后,得到的是基于Java的服务信息标识等信息,而Java并不是SGML,并不能以消息方式来发送解析得到的该些数据,因此只能通过RMI模式,将该些数据从虚拟ESB服务器接口传递到服务信息提供方接口。此外,若还解析出服务信息调用方的ID和验证码等信息,则还可以将该些信息一并通过RMI模式提供给服务信息提供方。 
具体地,服务调用参数/返回值解析转换组件通过RMI模式实现数据传递的服务调用传递框架的接口核心代码示例如下表4所示: 
表4: 
用于将数据从备用虚拟ESB服务器接口传递到服务信息提供方接口的服 务调用传递框架可以是基于责任链模式。基于责任链模式的服务调用传递通用框架可以包括一个核心接口ServiceInvoker和一个核心实现类ClientStub。该责任链模式下,以实现将服务信息调用方和服务信息提供方解耦,同时可根据不同的调用请求消息实现不同的实现类,并且将于消息内容的解析、路由和消息转换、调用监控等工作限定于由ServiceInvoker和ClientStub实现,避免了特殊化开发对服务调用传递框架之外的代码的干扰。 
相比于如图1所示的ESB服务器作为服务信息调用方和服务信息提供方的中介的模式(以下简称中介模式),基于责任链模式(或传递模式)的服务调用传递框架有以下特点和优势: 
中介模式需要基于XML规则对基于XML的消息进行解析实现转换及路由等功能,而备用虚拟ESB服务器基于责任链模式(或传递模式)的服务调用传递框架则其完全采用Java实现对利用Java转换后的消息的解析; 
中介模式需要通过对基于XML的消息的转发来实现调用服务信息提供方的提供的服务信息,而服务调用传递框架则是通过Java来实现RMI,只需要预设服务信息提供方的stub即可。 
步骤37,服务信息提供方将服务信息标识提供给信息资源层的业务数据库; 
步骤38,业务数据库根据服务信息提供方提供的服务信息标识,调用该服务信息标识所指示的服务信息反馈给服务信息提供方; 
步骤39,服务信息提供方基于Java的专有协议(如JavaEE的专有协议)将业务数据库发送来的服务信息进行封装得到数据包后,基于RMI模式提供给虚拟ESB服务器中的服务调用参数/返回值解析转换组件; 
步骤37~39的实现方式对应于前文所述的步骤24。 
比较发送基于XML格式的消息的方式和基于RMI模式的方式,两种方式采用的数据封装模型相同而调用协议不同。RMI模式下的信息调用方式虽然降低了远程调用的语言无关性,但提高了调用效率和使用简便性。 
步骤310,服务调用参数/返回值解析转换组件在解封数据包并获取到相应的服务信息后,基于RMI模式,将服务信息提供给服务信息调用方; 
步骤310的实现方式与前文所述的步骤25类似。 
与步骤35类似,步骤310中也可以是对服务信息进行转换(包括对格式的转换,以及参照映射关系进行转换等)后,再提供给服务信息调用方。 
步骤311,服务信息调用方获得服务调用参数/返回值解析转换组件提供的服务信息,流程结束。 
需要说明的是,本发明实施例中是根据备用虚拟ESB服务器的功能,将其划分为虚拟服务接口组件、服务调用传递组件、服务调用参数/返回值解析转换组件,但这并不应理解为对备用虚拟ESB服务器结构的一种限定。本领域技术人员能够了解,还可以采用其他划分方式对备用虚拟ESB服务器的结构进行划分。无论采用怎样的结构划分方式来划分备用虚拟ESB服务器,只要是利用类似于该备用虚拟ESB服务器的虚拟/物理装置实现本发明实施例提供的方案均在本发明的保护范围之内。 
通过本发明实施例提供的方案在实际中的上述应用流程可知,其在技术方面的优势表现如下: 
在服务信息调用的整个流程中,无论是发起调用请求消息还是获得返回的服务信息,服务信息调用方均没有和实际的服务信息提供方进行直接交互; 
对于服务信息调用方和物理服务信息提供方来说,其均不会感知到对ESB服务器的接管,实现了故障的透明移除。 
对应于本发明实施例提供的服务信息的调用方法,本发明实施例还提供一种ESB服务器,用以解决现有技术提供的故障转移技术存在的对软、硬件资源需求量较大的问题。该ESB服务器的具体结构示意图如图4所示,包括以下功能单元: 
消息接收单元41,用于在主用ESB服务器停用、且该ESB服务器被设置为处于工作状态后,接收服务信息调用方根据主用ESB服务器的地址并基于 远程方法调用RMI模式提供的服务信息调用请求消息; 
其中,服务信息调用请求消息是利用Java对基于标准通用标记语言SGML的服务信息调用请求消息进行转换后得到的,该ESB服务器的地址与主用ESB服务器的地址相同。 
标识获得单元42,用于获得消息接收单元41接收到的服务信息调用请求消息中包含服务信息标识和服务信息调用方标识; 
服务信息标识提供单元43,用于基于远程方法调用RMI模式,将标识获得单元42获得的服务信息标识提供给服务信息提供方; 
服务信息获得单元44,用于获得服务信息提供方根据服务信息标识提供单元43提供的服务信息标识获得并基于RMI模式提供的服务信息; 
服务信息提供单元45,用于基于RMI模式,将服务信息获得单元44获得的服务信息提供给标识获得单元42获得的服务信息调用方标识指示的服务信息调用方。 
在一个较佳的实施例中,对应于服务信息标识提供单元43功能的一种实现方式,可以将服务信息标识提供单元43具体划分为以下功能模块,包括: 
判断模块,用于判断预先存储的服务信息提供方所能识别的服务信息标识中是否包含获得的服务信息标识;转换模块,用于在判断模块得到的判断结果为否时,根据预先存储的服务信息调用方所能识别的服务信息的标识与服务信息提供方所能识别的服务信息的标识的对应关系,将获得的服务信息标识转换为服务信息提供方所能识别的服务信息标识;提供模块,用于将转换模块转换得到的服务信息标识提供给服务信息提供方;以及在判断模块得到的判断结果为是时,将获得的服务信息标识提供给服务信息提供方。 
在一个较佳的实施例中,对应于服务信息提供单元45功能的一种实现方式,可以将服务信息提供单元45具体划分为以下功能模块,包括: 
转换模块,用于根据预先获得的服务信息调用方所能识别的服务信息的属性,对获得的服务信息进行转换; 
提供模块,用于基于RMI模式,将经转换模块转换后的服务信息提供给服务信息调用方。 
较佳地,本发明实施例中可以通过下述单元设置ESB服务器的工作状态: 
监听单元,用于在消息接收单元接收服务信息调用请求消息之前,监听启用指令;状态设置单元,用于在监听单元监听到该启用指令后,将该ESB服务器的状态设置为工作状态。 
本发明实施例还提供一种服务信息的调用系统,用以解决现有技术提供的故障转移技术存在的对软、硬件资源需求量较大的问题。该系统的具体结构示意图如图5所示,包括服务信息调用方51、服务信息提供方53和与主用ESB服务器地址相同的备用虚拟ESB服务器52。各功能结构的具体作用如下: 
服务信息调用方51用于根据主用ESB服务器的地址,基于RMI模式提供服务信息调用请求消息,其中,该服务信息调用请求消息是利用Java对基于SGML的服务信息调用请求消息进行转换后得到的; 
备用虚拟ESB服务器52用于接收服务信息调用方51发送的服务信息调用请求消息,并获得该服务信息调用请求消息中包含的服务信息标识和服务信息调用方51的标识;以及基于RMI模式,将该服务信息标识提供给服务信息提供方53;并获得服务信息提供方基于RMI模式提供的服务信息;以及基于RMI模式,将获得的服务信息提供给获得的服务信息调用方标识指示的服务信息调用方51; 
服务信息提供方53,用于获取备用虚拟ESB服务器52提供的服务信息标识所指示的服务信息,并基于RMI模式,将获取的服务信息提供给备用虚拟ESB服务器52。 
上述备用虚拟ESB服务器52基于RMI模式将服务信息标识提供给服务信息提供方51,具体可以包括: 
备用虚拟ESB服务器52判断预先存储的服务信息提供方所能识别的服务信息标识中是否包含获得的服务信息标识;在判断结果为否时,根据预先存储 的服务信息调用方所能识别的服务信息的标识与服务信息提供方所能识别的服务信息的标识的对应关系,将获得的服务信息标识转换为服务信息提供方53所能识别的服务信息标识后提供给服务信息提供方53;而在判断结果为是时,则将获得的服务信息标识提供给服务信息提供方53。 
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。 

Claims (10)

1.一种服务信息的调用方法,其特征在于,包括:
在主用企业服务总线ESB服务器停用后,被设置为处于工作状态的备用虚拟ESB服务器接收服务调用方根据主用ESB服务器的地址并基于远程方法调用RMI模式提供的服务信息调用请求消息;其中,所述服务信息调用请求消息是利用Java对基于标准通用标记语言SGML的服务信息调用请求消息进行转换后得到的,所述备用虚拟ESB服务器的地址与主用ESB服务器的地址相同;
备用虚拟ESB服务器获得所述服务调用方提供的服务信息调用请求消息中包含的服务信息标识和服务调用方标识;以及
基于RMI模式,将所述服务信息标识提供给服务提供方;
获得服务提供方根据所述服务信息标识获得并基于RMI模式提供的服务信息;并
基于RMI模式,将获得的服务信息提供给所述服务调用方标识指示的服务调用方。
2.如权利要求1所述的方法,其特征在于,基于RMI模式,将所述服务信息标识提供给服务提供方,具体包括:
备用虚拟ESB服务器判断预先存储的服务提供方所能识别的服务信息标识中是否包含获得的服务信息标识;以及
在判断结果为否时,根据预先存储的服务调用方所能识别的服务信息的标识与服务提供方所能识别的服务信息的标识的对应关系,将获得的服务信息标识转换为服务提供方所能识别的服务信息标识后提供给服务提供方;以及
在判断结果为是时,将获得的服务信息标识提供给服务提供方。
3.如权利要求1所述的方法,其特征在于,备用虚拟ESB服务器基于RMI模式,将获得的服务信息提供给服务调用方,具体包括:
备用虚拟ESB服务器根据预先获得的服务调用方所能识别的服务信息的属性,对获得的服务信息进行转换后,基于RMI模式提供给服务调用方。
4.如权利要求1所述的方法,其特征在于,通过下述步骤设置所述备用虚拟ESB服务器处于工作状态:
备用虚拟ESB服务器监听启用指令;并
在监听到所述启用指令后,将自身的状态设置为工作状态。
5.一种企业服务总线服务器,其特征在于,包括:
消息接收单元,用于在主用企业服务总线ESB服务器停用、且所述ESB服务器被设置为处于工作状态后,接收服务调用方根据主用ESB服务器的地址并基于远程方法调用RMI模式提供的服务信息调用请求消息;其中,所述服务信息调用请求消息是利用Java对基于标准通用标记语言SGML的服务信息调用请求消息进行转换后得到的,所述ESB服务器的地址与主用ESB服务器的地址相同;
标识获得单元,用于获得消息接收单元接收到的服务信息调用请求消息中包含的服务信息标识和服务调用方标识;
服务信息标识提供单元,用于基于RMI模式,将标识获得单元获得的服务信息标识提供给服务提供方;
服务信息获得单元,用于获得服务提供方根据服务信息标识提供单元提供的服务信息标识,获得并基于RMI模式提供的服务信息;
服务信息提供单元,用于基于RMI模式,将服务信息获得单元获得的服务信息提供给标识获得单元获得的服务调用方标识指示的服务调用方。
6.如权利要求5所述的企业服务总线服务器,其特征在于,所述服务信息标识提供单元具体包括:
判断模块,用于判断预先存储的服务提供方所能识别的服务信息标识中是否包含获得的服务信息标识;以及
转换模块,用于在判断模块得到的判断结果为否时,根据预先存储的服务调用方所能识别的服务信息的标识与服务提供方所能识别的服务信息的标识的对应关系,将获得的服务信息标识转换为服务提供方所能识别的服务信息标识;
提供模块,用于将转换模块转换得到的服务信息标识提供给服务提供方;以及在判断模块得到的判断结果为是时,将获得的服务信息标识提供给服务提供方。
7.如权利要求5所述的企业服务总线服务器,其特征在于,所述服务信息提供单元具体包括:
转换模块,用于根据预先获得的服务调用方所能识别的服务信息的属性,对获得的服务信息进行转换;
提供模块,用于基于RMI模式,将经转换模块转换后的服务信息提供给服务调用方。
8.如权利要求5所述的企业服务总线服务器,其特征在于,通过下述单元设置所述工作状态:
监听单元,用于在消息接收单元接收所述服务信息调用请求消息之前,监听启用指令;
状态设置单元,用于在监听单元监听到所述启用指令后,将所述ESB服务器的状态设置为工作状态。
9.一种服务信息的调用系统,包括服务信息调用方和服务信息提供方,其特征在于,还包括与主用企业服务总线ESB服务器地址相同的备用虚拟ESB服务器,其中:
服务信息调用方,用于根据主用ESB服务器的地址,基于远程方法调用RMI模式提供服务信息调用请求消息,其中,所述服务信息调用请求是利用Java对基于标准通用标记语言SGML的服务信息调用请求消息进行转换后得到的;
备用虚拟ESB服务器,用于接收所述服务信息调用请求消息,并获得所述服务信息调用请求消息中包含的服务信息标识和服务信息调用方标识;以及基于RMI模式,将所述服务信息标识提供给服务信息提供方;并获得服务信息提供方基于RMI模式提供的服务信息;以及基于RMI模式,将获得的服务信息提供给所述服务信息调用方标识指示的服务信息调用方;
服务信息提供方,用于获取虚拟ESB服务器提供的所述服务信息标识所指示的服务信息,并基于RMI模式,将获取的服务信息提供给虚拟ESB服务器。
10.如权利要求9所述的系统,其特征在于,所述备用虚拟ESB服务器基于RMI模式,将所述服务信息标识提供给服务信息提供方,具体包括:
备用虚拟ESB服务器判断预先存储的服务信息提供方所能识别的服务信息标识中是否包含获得的服务信息标识;以及
在判断结果为否时,根据预先存储的服务信息调用方所能识别的服务信息的标识与服务信息提供方所能识别的服务信息的标识的对应关系,将获得的服务信息标识转换为服务信息提供方所能识别的服务信息标识后提供给服务信息提供方;以及
在判断结果为是时,将获得的服务信息标识提供给服务信息提供方。
CN201110125586.0A 2011-05-16 2011-05-16 服务信息的调用方法、系统以及企业服务总线服务器 Active CN102790684B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110125586.0A CN102790684B (zh) 2011-05-16 2011-05-16 服务信息的调用方法、系统以及企业服务总线服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110125586.0A CN102790684B (zh) 2011-05-16 2011-05-16 服务信息的调用方法、系统以及企业服务总线服务器

Publications (2)

Publication Number Publication Date
CN102790684A CN102790684A (zh) 2012-11-21
CN102790684B true CN102790684B (zh) 2015-03-11

Family

ID=47155991

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110125586.0A Active CN102790684B (zh) 2011-05-16 2011-05-16 服务信息的调用方法、系统以及企业服务总线服务器

Country Status (1)

Country Link
CN (1) CN102790684B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103873287B (zh) * 2012-12-17 2016-12-28 中车青岛四方机车车辆股份有限公司 一种基于企业服务总线消息监控平台的消息补偿方法
CN104836831B (zh) * 2014-12-09 2018-12-25 中国电子科技集团公司第十五研究所 一种用于物联网的物体服务方法
CN109451014B (zh) * 2018-11-02 2021-02-05 科大国创软件股份有限公司 一种WebService代理系统及其透明代理方法
CN115866046A (zh) * 2022-11-30 2023-03-28 北京安天网络安全技术有限公司 一种服务调用系统、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101388887A (zh) * 2008-10-15 2009-03-18 中兴通讯股份有限公司 一种网络服务的处理方法和系统
CN101674255A (zh) * 2008-09-12 2010-03-17 北京东方通科技发展有限责任公司 一种企业服务总线的消息转发方法、服务器及其系统
CN101686247A (zh) * 2008-09-26 2010-03-31 华为技术有限公司 信息处理方法和系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100362482C (zh) * 2005-07-21 2008-01-16 上海华为技术有限公司 一种双机备份实现方法及系统
CN101719815A (zh) * 2010-02-20 2010-06-02 朴君 Vpn多路由网络加速方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101674255A (zh) * 2008-09-12 2010-03-17 北京东方通科技发展有限责任公司 一种企业服务总线的消息转发方法、服务器及其系统
CN101686247A (zh) * 2008-09-26 2010-03-31 华为技术有限公司 信息处理方法和系统
CN101388887A (zh) * 2008-10-15 2009-03-18 中兴通讯股份有限公司 一种网络服务的处理方法和系统

Also Published As

Publication number Publication date
CN102790684A (zh) 2012-11-21

Similar Documents

Publication Publication Date Title
CN101388903B (zh) 移动企业it标准化管理平台
CN102377814B (zh) 针对嵌入式操作系统的远程协助服务方法
CN103312528B (zh) 一种心跳消息发送方法及用户终端
CN101567861B (zh) 异构应用系统之间的数据同步方法及应用系统
CN107528891B (zh) 一种基于WebSocket的自动集群方法及其系统
CN111552568B (zh) 云服务调用方法和装置
CN102790684B (zh) 服务信息的调用方法、系统以及企业服务总线服务器
CN105897652A (zh) 一种基于标准协议的异构终端动态接入方法
CN102662776B (zh) 在线应用平台的应用间通信方法、客户端及应用进程管理器
CN101404630B (zh) 互联网业务接入网关的实现方法和系统
CN113162848B (zh) 一种区块链网关的实现方法、装置、网关和介质
TW200928777A (en) Data processing method and apparatus based on cluster
CN101448004A (zh) 基于即时通信的用户状态发布方法、服务器及系统
CN102724322A (zh) 一种实现远程操控的方法及装置
CN107682172A (zh) 控制中心装置、业务系统处理的方法及介质
CN116633775B (zh) 一种多容器网络接口的容器通信方法及系统
CN103677975A (zh) 一种访问应用系统内部对象的系统和方法
CN113312059B (zh) 一种服务处理系统、方法及云原生系统
CN104932452A (zh) 一种用于航空总线测试仪远程控制的方法及系统
CN102819455B (zh) 一种在应用层对进程进行管理的方法和管理系统
CN101431460B (zh) Web应用与外部设备网络互连的实现方法和系统
CN114422100B (zh) 国标信令服务端的上下联处理系统、计算机设备及介质
CN111901395A (zh) 多集群切换方法及装置
CN106961687B (zh) 一种信息交互方法及系统
CN112822080B (zh) 一种基于soa架构的总线系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant