一种服务调用方法及装置制造方法及图纸

技术编号:10189835 阅读:161 留言:0更新日期:2014-07-08 18:43
本发明专利技术公开了一种服务调用方法及装置。所述方法包括:接收服务客户端或浏览器通过接口发起的对应服务的调用请求;获取与所述接口对应的服务的至少两个远程访问地址;根据设定的分配算法从所述至少两个远程访问地址中选择一个远程访问地址,作为与所述接口对应的服务所唯一匹配的远程访问地址;基于hession协议和所选择的远程访问地址远程调用与所述接口对应的服务。本发明专利技术实施例提供的技术方案能够实现轻量级的SOA架构,减小内存资源的消耗,提高通信效率和异地调用机制的稳定性和可靠性。

【技术实现步骤摘要】
一种服务调用方法及装置
本专利技术实施例涉及计算机
,尤其涉及一种服务调用方法及装置。
技术介绍
SOA(service-orientedarchitecture,面向服务的体系结构)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来,即根据需求通过网络将松散耦合的粗粒度应用软件进行分布式部署、组合和使用。其中,接口独立于实现服务的硬件平台、操作系统和编程语言。在SOA中,资源被作为可通过标准方式访问的独立服务提供给网络中的其他成员,SOA与大多数通用的客户端/服务器模型的不同之处在于,它着重强调软件组件的松散耦合,并使用独立的标准接口。WebService(网页服务)作为SOA的一种实现方式,是通过标准的Web协议可编程访问的Web组件,也即是一个平台独立的、松耦合的、自包含的、基于可编程的Web的应用程序,使用HTTP和XML进行通信,通过SOAP协议实现异地调用。WebService能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件,就可相互交换数据或集成,其优点是支持标准化,有广泛且成熟的应用开发平台。但是,以上现有技术存在如下缺陷:一方面,现有的SOA技术主要基于WebService,耗用内存资源较多,其重量级和通信效率均较低;另一方面,现有的SOA技术实现的异地服务调用机制稳定性和可靠性较差,尤其是对于客户端发起大量的并发服务调用请求时,服务端不能够快速准确的处理这些请求。
技术实现思路
本专利技术实施例提供一种服务调用方法及装置,以实现轻量级的SOA架构,减小内存资源的消耗,提高通信效率和异地调用机制的稳定性和可靠性。第一方面,本专利技术实施例提供了一种服务调用方法,该方法包括:接收服务客户端或浏览器通过接口发起的对应服务的调用请求;获取与所述接口对应的服务的至少两个远程访问地址;根据设定的分配算法从所述至少两个远程访问地址中选择一个远程访问地址,作为与所述接口对应的服务所唯一匹配的远程访问地址;基于hessian协议和所选择的远程访问地址远程调用与所述接口对应的服务。第二方面,本专利技术实施例还提供了一种远程服务访问装置,该装置包括:请求接收单元,用于接收服务客户端或浏览器通过接口发起的对应服务的调用请求;地址获取单元,用于获取与所述接口对应的服务的至少两个远程访问地址;地址选择单元,用于根据设定的分配算法从所述至少两个远程访问地址中选择一个远程访问地址,作为与所述接口对应的服务所唯一匹配的远程访问地址;远程服务调用单元,用于基于hessian协议和所选择的远程访问地址远程调用与所述接口对应的服务。本专利技术实施例一方面通过获取与接口对应的服务的至少两个远程访问地址,并根据从这些远程访问地址中选取的一个远程访问地址进行远程服务调用,能够实现对于客户端发起大量的并发调用请求时,通过合理的分配原则访问远程服务器集群中的不同服务器以进行服务调用,大大提高了异地服务调用机制的稳定性和可靠性;另一方面,通过基于hessian协议远程调用与所述接口对应的服务,由于Hessian协议精简且高效,使得异地服务调用系统的架构是轻量级的,减小了客户端和服务端内存资源的消耗,提高了通信效率。附图说明图1是本专利技术实施例一提供的一种服务调用方法的流程示意图;图2是本专利技术实施例二提供的一种服务调用装置的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。图1是本专利技术实施例一提供的一种服务调用方法的流程示意图,本实施例可适用于网页浏览器或者服务客户端发起对服务的访问请求时,通过SOA(ServiceOrientedArchitecture,面向服务的体系结构)系统调用服务的情况。其中SOA系统(即SOA组件)包括客户端与服务端,其客户端是与现有的网页浏览器或者服务客户端部署在一起的软件产品;其服务端是与所述网页浏览器或者服务客户端对应的服务器集群中的各服务器所部署在一起的软件产品。该方法可以由SOA系统的客户端来执行,具体包括如下步骤:步骤110、接收服务客户端或浏览器通过接口发起的对应服务的调用请求;步骤120、获取与接口对应的服务的至少两个远程访问地址;步骤130、根据设定的分配算法从所述至少两个远程访问地址中选择一个远程访问地址,作为与接口对应的服务所唯一匹配的远程访问地址;步骤140、基于hessian协议和所选择的远程访问地址远程调用与接口对应的服务。在本实施例中,服务客户端或浏览器可通过接口发起对应服务的调用请求,例如通过接口SOAFactory.getFactory().getService(IService)来发起一个服务调用请求。SOA系统的客户端在接收到该调用请求后,首先获取与接口对应的服务的至少两个远程访问地址。当只存在一个唯一的远程服务器能够实现该服务时,该服务对应一个远程访问地址。本实施例中,SOA系统的服务端是与所述网页浏览器或者服务客户端对应的远程服务器集群中的各服务器部署在一起,存在至少两个远程服务器能够实现该服务,即该服务对应至少两个远程访问地址。具体的获取远程访问地址的过程可以为:查找本地SOAProperties中的配置信息,根据该配置信息获取与接口对应的服务的至少两个远程访问地址。其中,SOAProperties包含有用户预先设置的与各种接口所对应的服务的远程访问地址等配置信息。然后,SOA系统的客户端根据设定的分配算法从所获取的至少两个远程访问地址中选择一个远程访问地址,作为与接口对应的服务所唯一匹配的远程访问地址。具体的选择过程可以为:随机从所获取的至少两个远程访问地址中选择一个远程访问地址,作为与接口对应的服务所唯一匹配的远程访问地址。这里采用随机选择这种简单高效的分配算法,能够避免资源耗费,缩短服务调用时间。为了能够提高服务调用的成功率,在后续服务调用过程中,SOA系统的客户端可实时或按预设周期检测与所选择的远程访问地址唯一匹配的服务是否可用,如果不可用,则再次为与接口对应的服务重新选择一个唯一匹配的远程访问地址。当然,设定的分配算法除随机分配之外,还可按照所调用的服务的类型等其他方式进行分配,例如SOA系统的客户端在接收到一个接口的服务调用请求时,可首先分析该服务调用请求所属的服务类型,然后根据预设的服务类型与该接口下的多个访问地址之间的映射关系,选择一个与所分析得到的服务类型相对应的远程访问地址,作为此次服务调用时与接口对应的服务所唯一匹配的远程访问地址。在得到与接口对应的服务所唯一匹配的远程访问地址后,SOA系统的客户端基于hessian协议和所选择的远程访问地址远程调用与接口对应的服务。SOA系统的服务端在接收到SOA系统的客户端的远程调用请求后,从与其部属在一起的服务器获取相应服务,并将该服务经SOA系统的客户端下发至网页浏览器或者服务客户端。Hessian是一个轻量级的远程服务访问工具,使用简单的方法提供了RMI(RemoteMethodInvocation,远程方法调用)的功能。相比WebService,Hessian本文档来自技高网...

【技术保护点】
一种服务调用方法,其特征在于,包括:接收服务客户端或浏览器通过接口发起的对应服务的调用请求;获取与所述接口对应的服务的至少两个远程访问地址;根据设定的分配算法从所述至少两个远程访问地址中选择一个远程访问地址,作为与所述接口对应的服务所唯一匹配的远程访问地址;基于hession协议和所选择的远程访问地址远程调用与所述接口对应的服务。

【技术特征摘要】
1.一种服务调用方法,其特征在于,由面向服务的体系结构SOA系统中的客户端执行,包括:接收服务客户端或浏览器通过接口发起的对应服务的调用请求;判断springbeans的定义中是否包含所述接口,如果是,则判断所接收的调用请求类型为本地服务调用请求,否则判断所接收的调用请求类型为远程服务调用请求;如果判断所接收的调用请求类型为本地服务调用请求,则通过所述接口调用本地存储的与所述接口对应的服务;如果判断所接收的调用请求类型为远程服务调用请求时,则查找本地SOAProperties中的配置信息,根据所述配置信息获取与所述接口对应的服务的至少两个远程访问地址;分析所述调用请求所属的服务类型,根据预设的服务类型与所述接口下的多个远程访问地址之间的映射关系从所述至少两个远程访问地址中选择一个远程访问地址,作为与所述接口对应的服务所唯一匹配的远程访问地址;在后续服务调用过程中,按预设周期检测与所选择的远程访问地址唯一匹配的服务是否可用,如果不可用,则再次为与所述接口对应的服务重新选择一个唯一匹配的远程访问地址;基于hessian协议和所选择的远程访问地址远程调用与所述接口对应的服务。2.一种服务调用装置,其特征在于,配置于面向服务的体系结构SOA系统中的客户端,包括:请求接收单元,用于接收服务客户端或浏览器通过接口发起的对应服务...

【专利技术属性】
技术研发人员:王继东蔡抒扬王鹏胡道生夏曙光
申请(专利权)人:北京中交兴路车联网科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1