远程服务请求方法、响应方法、请求装置与响应装置制造方法及图纸

技术编号:11134210 阅读:74 留言:0更新日期:2015-03-12 09:47
本发明专利技术提供了一种远程服务请求方法、一种远程服务响应方法、一种远程服务请求装置和一种远程服务响应装置,其中,所述远程服务请求方法包括:根据接收到的接口创建命令,使用工厂模式在所述终端上创建远程服务调用接口;通过所述远程服务调用接口向服务器发送请求。通过本发明专利技术的技术方案,可以解除应用与远程服务调用技术之间的耦合,使应用可以透明的切换远程调用技术,保证服务远程调用的灵活性和扩展性,并确保服务的客户端与服务端之间的协议版本兼容性。

【技术实现步骤摘要】

本专利技术涉及远程
,具体而言,涉及一种远程服务请求方法、一种远程服务响应方法、一种远程服务请求装置和一种远程服务响应装置。
技术介绍
随着云计算的发展,企业应用的架构及部署模式,逐渐从单服务器软件包的方式,发展为多服务器在线服务的方式,应用内及应用之间的服务调用,也从本地调用的方式,大量地切换为跨服务器的远程调用方式。目前有很多支持远程调用的技术,如java RMI(Research In Motion)、MS XML(微软的XML语言解析器)、web service(远程服务)、RESTful(Representational State Transfer,基于架构样式的网络系统)、Thrift(软件架构)、Avro(数据序列化的系统)、MessagePack(消息包)、Protocol Buffers(一种数据交换的格式)等,但是用户很难在设计实现之初,就选用一种正确的适合自身应用的技术,同时也很难实现服务的扩展和版本控制,而如果引入ESB(Enterprise Service Bus,企业服务总线),则又显得过于笨重。因此,如何解除应用与远程服务调用技术之间的耦合,使应用可以透明的切换远程调用技术,如何保证服务远程调用的灵活性和扩展性,如何保证服务的客户端与服务端之间的版本兼容性,成为亟待解决的问题。
技术实现思路
本专利技术正是基于上述技术问题,提出了一种新的技术方案,可以解除应用与远程服务调用技术之间的耦合,使应用可以透明的切换远程调用技术,保证服务远程调用的灵活性和扩展性,并确保服务的客户端与服务端之间的协议版本兼容性。有鉴于此,本专利技术的一方面提出了一种远程服务请求方法,用于终端,包括:根据接收到的接口创建命令,使用工厂模式在所述终端上创建远程服务调用接口;通过所述远程服务调用接口向服务器发送请求。在该技术方案中,通过使用工厂模式在终端(客户端)上创建远程服务调用接口,可以对服务调用的各种细节处理,包括远程调用技术、请求参数、返回结果、执行时间、错误码、错误信息等信息的处理,以使应用程序的调用更加透明和方便,另外,由于采用工厂模式将远程调用技术的选择进行了封装,这使得应用程序与远程服务调用技术之间完全解耦,使终端与服务器之间的远程调用技术的扩展和切换变得非常容易。在上述技术方案中,优选地,所述请求包括以下信息中的至少一种:协议版本、应用域、请求头和请求体。在该技术方案中,协议版本用于使服务器解析请求信息,可以使服务器明确客户端的请求的所属协议版本,以使服务器可以兼容不同协议版本的请求,并将不同版本的协议请求转发至不同的版本服务;应用域用于使服务器区分不同的应用程序,便于服务器对客户端不同的应用程序的请求进行准确转发;请求头保存了请求的控制信息,包括请求命令、同步异步等,请求体保存请求的数据信息,因此,通过对请求头进行扩展,可以满足个性化的需求,提高远程调用的灵活性,例如:对客户端进行服务鉴权时,客户端可以在请求头中加入token(标识)信息,以由服务器调用统一的服务入口进行鉴权,然后再分发给各个具体的服务,避免通过各个服务鉴权的问题,降低系统的耦合度,提升服务的响应能力。本专利技术的另一方面提出了一种远程服务响应方法,用于服务器,所述服务器与上述技术方案中的终端相连接,包括:接收所述终端的请求;根据所述请求中包括的信息,对所述请求进行处理,并将处理结果通过所述远程服务调用接口返回至所述终端,以响应所述请求,其中,所述处理结果包括:响应头和响应体,以及所述响应头包括:所述请求的执行信息,所述响应体包括:所述请求的数据信息。在该技术方案中,该处理结果中的响应头保存了请求的执行信息,包括错误码、错误信息、执行时间等,响应体保存了请求的数据信息;响应头采用key-value(哈希结构)的结构,可以由应用程序进行扩展,响应体的结构完全由应用程序决定,而通过将处理结果分为响应头和响应体返回至终端,则可以使终端用户更加清楚请求的整个处理过程和处理结果,有利于提高用户的使用体验。另外,由于终端与服务器之间的请求响应是通过经过工厂模式封装的远程服务调用接口,因此,远程调用技术或服务器支持的协议版本发生变化时,均不会涉及到远程服务调用接口的改变,这使得终端侧支持服务的在线升级,当然,终端侧即便与服务器的版本协议不进行同步升级,也可以确保服务的客户端与服务端之间的协议版本兼容性。在上述技术方案中,优选地,所述根据所述请求中包括的信息,对所述请求进行处理,具体包括:获取所述请求中包括的协议版本,根据所述协议版本对所述请求进行解析,以读取所述请求中包括的其他信息,其中,所述其他信息包括:应用域、请求头和请求体中的任一种信息。在该技术方案中,通过获取请求中的协议版本,可以使服务器使用正确的协议版本对该请求进行解析,以读取出终端发出的请求中的其他信息,这为服务器对终端的请求做出及时正确的响应奠定了必要的基础。在上述技术方案中,优选地,所述根据所述请求中包括的信息,对所述请求进行处理,具体还包括:根据所述请求中包括的所述协议版本和/或所述应用域,将所述请求分发至至少一个服务处理器,并控制所述至少一个服务处理器按照预设顺序依次对所述请求进行处理。在该技术方案中,通过根据请求中包括的协议版本和/或应用域,可以将该请求分发至与该请求相对应的至少一个服务处理器,并使该至少一个服务处理器按照链的请求处理机制对该请求依次进行处理,以避免将该请求分发至一个综合服务处理器进行处理,从而提高请求的处理速率和正确率;当然,由于每个请求对应一组不同的服务处理器而非一个固定的综合的服务处理器,因此,这提高了远程调用的灵活性,也使得远程调用具有扩展性。本专利技术的再一方面提出了一种远程服务请求装置,用于终端,包括:创建单元,根据接收到的接口创建命令,使用工厂模式在所述终端上创建远程服务调用接口;发送单元,通过所述远程服务调用接口向服务器发送请求。在该技术方案中,通过使用工厂模式在终端(客户端)上创建远程服务调用接口,可以对服务调用的各种细节处理,包括远程调用技术、请求参数、返回结果、执行时间、错误码、错误信息等信息的处理,以使应用程序的调用更加透明和方便,另外,由于采用工厂模式将远程调用技术的选择进行了封装,这使得应用程序与远程服务调用技术之间完全解耦,使终端与服务器之间的远程调用技术的扩展和切换变得非常容易。在上述本文档来自技高网...

【技术保护点】
一种远程服务请求方法,用于终端,其特征在于,包括:根据接收到的接口创建命令,使用工厂模式在所述终端上创建远程服务调用接口;通过所述远程服务调用接口向服务器发送请求。

【技术特征摘要】
1.一种远程服务请求方法,用于终端,其特征在于,包括:
根据接收到的接口创建命令,使用工厂模式在所述终端上创建远程服
务调用接口;
通过所述远程服务调用接口向服务器发送请求。
2.根据权利要求1所述的远程服务请求方法,其特征在于,
所述请求包括以下信息中的至少一种:协议版本、应用域、请求头和
请求体。
3.一种远程服务响应方法,用于服务器,其特征在于,所述服务器
与权利要求1中的终端相连接,所述方法包括:
接收所述终端的请求;
根据所述请求中包括的信息,对所述请求进行处理,并将处理结果通
过所述远程服务调用接口返回至所述终端,以响应所述请求,其中,所述
处理结果包括:响应头和响应体,以及所述响应头包括:所述请求的执行
信息,所述响应体包括:所述请求的数据信息。
4.根据权利要求3所述的远程服务响应方法,其特征在于,
所述根据所述请求中包括的信息,对所述请求进行处理,具体包括:
获取所述请求中包括的协议版本,根据所述协议版本对所述请求进行
解析,以读取所述请求中包括的其他信息,其中,所述其他信息包括:应
用域、请求头和请求体中的任一种信息。
5.根据权利要求4所述的远程服务响应方法,其特征在于,
所述根据所述请求中包括的信息,对所述请求进行处理,具体还包
括:
根据所述请求中包括的所述协议版本和/或所述应用域,将所述请求
分发至至少一个服务处理器,并控制所述至少一个服务处理器按照预设顺
序依次对所述请求进...

【专利技术属性】
技术研发人员:徐铭
申请(专利权)人:畅捷通信息技术股份有限公司
类型:发明
国别省市:北京;11

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

1