CN102262560A - 一种远程服务的调用方法、装置及系统 - Google Patents
一种远程服务的调用方法、装置及系统 Download PDFInfo
- Publication number
- CN102262560A CN102262560A CN2010101874616A CN201010187461A CN102262560A CN 102262560 A CN102262560 A CN 102262560A CN 2010101874616 A CN2010101874616 A CN 2010101874616A CN 201010187461 A CN201010187461 A CN 201010187461A CN 102262560 A CN102262560 A CN 102262560A
- Authority
- CN
- China
- Prior art keywords
- description document
- protocol conversion
- protocol
- client
- service end
- 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.)
- Granted
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Communication Control (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请公开了一种远程服务的调用方法、装置及系统,用以解决远程服务的调用过程中,客户端需要持有服务端的存根,导致客户端无法灵活调用远程服务的问题。远程服务的调用方法,包括:接收客户端发起的远程调用请求;根据配置的协议转换描述文件将接收的远程调用请求携带的请求参数转换为采用服务端远程接口支持的数据结构的请求数据;使用转换得到的请求数据调用服务端的远程服务;以及根据所述协议转换描述文件将服务端对所述远程调用请求的执行结果转换为采用客户端需要的数据结构的响应信息并发送给所述客户端;其中,所述协议转换描述文件定义请求参数和执行结果的转换规则。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种远程服务的调用方法、装置及系统。
背景技术
RPC(Remote Procedure Call,远程过程调用)是一种计算机通信协议,允许运行于一台计算机的程序通过网络调用另一台远程计算机的程序,而不需要了解支持通信的网络协议。RPC协议假定某些传输协议的存在,例如TCP(Transmission Control Protocol,传输控制协议)或UDP(User DatagramProtocol,用户数据报协议),为通信程序之间携带信息数据。
RPC采用C/S(Client/Server,客户端/服务器)模式,调用方为客户端,服务提供方为服务端。由客户端向服务端发送远程调用请求,并由客户端提供请求参数;当远程调用请求到达服务端之后,服务端获得请求参数,根据请求参数计算远程调用请求的执行结果,执行结果将返回给客户端。
WSDL(Web Services Description Language,Web服务描述语言)是用于描述Web服务的公共接口,基于XML(Extensible Markup Language,可扩展标记)语言描述如何与Web服务通信,即描述与目录中列出的Web服务进行通信时需要绑定的协议和信息格式。WSDL文档由Web服务用来描述数据类型的一组元素、Web服务可以收到的“消息”以及关联每条消息的SOAP(SimpleObject Access Protocol,简单对象访问协议)绑定组成。基于WSDL,客户端采用面向对象的方式进行远程服务的调用。
现有技术中,客户端调用服务端的远程服务过程中,客户端需要持有服务端的存根,即需要生成特定的呼叫客户端,包括服务端远程接口、请求参数和响应信息。由于服务端的存根即特定的呼叫客户端是需要代码形式部署的,因此在运行期间无法动态改变远程服务的调用方法、请求参数和响应信息,假设服务端远程接口有变更,则需要停止客户端,将新的存根(代码)部署在客户端,再重启客户端调用远程服务,导致客户端无法灵活调用远程服务。
申请内容
本申请实施例提供一种远程服务的调用方法及系统,用以解决远程服务的调用过程中,客户端需要持有服务端的存根,即需要生成特定的呼叫客户端,导致客户端无法灵活调用远程服务的问题。
一方面,本申请实施例提供一种远程服务的调用方法,包括:
接收客户端发起的远程调用请求;
根据配置的协议转换描述文件将接收的远程调用请求携带的请求参数转换为采用服务端远程接口支持的数据结构的请求数据;
使用转换得到的请求数据调用服务端的远程服务;以及
根据所述协议转换描述文件将服务端对所述远程调用请求的执行结果转换为采用客户端需要的数据结构的响应信息并发送给所述客户端;
其中,所述协议转换描述文件定义请求参数和执行结果的转换规则。
另一方面,本申请实施例提供一种远程服务的调用装置,包括:
存储单元,用于存储配置的协议转换描述文件,其中,所述协议转换描述文件定义请求参数和执行结果的转换规则;
接收单元,用于接收客户端发起的远程调用请求;
第一协议转换单元,用于根据存储的协议转换描述文件将接收的远程调用请求携带的请求参数转换为采用服务端远程接口支持的数据结构的请求数据;
调用单元,用于使用转换得到的请求数据调用服务端的远程服务;
第二协议转换单元,用于根据所述协议转换描述文件将服务端对所述远程调用请求的执行结果转换为采用客户端需要的数据结构的响应信息并发送给所述客户端。
另一方面,本申请实施例提供一种远程服务的调用方法,包括:
部署在客户端的客户端协议转换器接收客户端发起的远程调用请求,根据配置的协议转换描述文件将接收的远程调用请求携带的请求参数转换为采用调用系统支持的数据结构的第一中间数据,并将转换后的远程调用请求发送给部署在服务端的服务端协议转换器;
所述服务端协议转换器接收所述转换后的远程调用请求,根据配置的协议转换描述文件将接收的远程调用请求携带的第一中间数据转换为采用服务端远程接口支持的数据结构的请求数据,并使用转换得到的请求数据调用服务端的远程服务;以及
根据所述协议转换描述文件将服务端对所述远程调用请求的执行结果转换为采用调用系统支持的数据结构的第二中间数据,并发送给所述客户端协议转换器;
所述客户端协议转换器接收所述服务端协议转换器发送的第二中间数据,根据配置的协议转换描述文件将所述第二中间数据转换为采用客户端需要的数据结构的响应信息并发送给所述客户端;
其中,所述协议转换描述文件定义请求参数和执行结果的转换规则。
另一方面,本申请实施例提供一种远程服务的调用系统,包括客户端和服务端,还包括部署在客户端的客户端协议转换器和部署在服务端的服务端协议转换器,其中:
所述客户端协议转换器,用于接收客户端发起的远程调用请求,根据配置的协议转换描述文件将接收的远程调用请求携带的请求参数转换为采用调用系统支持的数据结构的第一中间数据,并将转换后的远程调用请求发送给部署在服务端的服务端协议转换器,所述协议转换描述文件定义请求参数和执行结果的转换规则;以及,接收所述服务端协议转换器发送的第二中间数据,根据配置的协议转换描述文件将所述第二中间数据转换为采用客户端需要的数据结构的响应信息并发送给所述客户端;
所述服务端协议转换器,用于接收所述转换后的远程调用请求,根据配置的协议转换描述文件将接收的远程调用请求携带的第一中间数据转换为采用服务端远程接口支持的数据结构的请求数据,并使用转换得到的请求数据调用服务端的远程服务;以及,根据配置的协议转换描述文件将服务端对所述远程调用请求的执行结果转换为采用调用系统支持的数据结构的第二中间数据,并发送给所述客户端协议转换器。
其中,客户端协议转换器的一种可能结构,包括:
存储单元,用于存储配置的协议转换描述文件,其中,所述协议转换描述文件定义请求参数和执行结果的转换规则;
第一接收单元,用于接收客户端发起的远程调用请求;
第一协议转换单元,用于根据存储的协议转换描述文件将接收的远程调用请求携带的请求参数转换为采用调用系统支持的数据结构的第一中间数据,并将转换后的远程调用请求发送给服务端协议转换器;
第二接收单元,用于接收所述服务端协议转换器发送的采用调用系统支持的数据结构的第二中间数据;
第二协议转换单元,用于根据所述协议转换描述文件将所述第二中间数据转换为采用客户端需要的数据结构的响应信息并发送给所述客户端。
其中,服务端协议转换器的一种可能结构,包括:
存储单元,用于存储配置的协议转换描述文件,其中,所述协议转换描述文件定义请求参数和执行结果的转换规则;
接收单元,用于接收客户端协议转换器发送的远程调用请求;
第一协议转换单元,用于根据存储的协议转换描述文件将接收的远程调用请求携带的采用调用系统支持的数据结构的第一中间数据转换为采用服务端远程接口支持的数据结构的请求数据;
调用单元,用于使用转换得到的请求数据调用服务端的远程服务;
第二协议转换单元,用于根据所述协议转换描述文件将服务端对所述远程调用请求的执行结果转换为采用调用系统支持的数据结构的第二中间数据,并发送给所述客户端协议转换器。
本申请实施例提供的第一种远程服务的调用方法及装置,针对客户端需要的数据结构或服务端远程接口支持的数据结构与调用系统支持的数据结构相一致的应用场景,通过在客户端或服务端配置的协议转换描述文件,能够确保客户端即调用方的请求参数转换为服务端即服务提供方远程接口支持的请求数据,服务提供方的执行结果转换为调用方需要的响应信息,由此客户端无需持有服务端的存根即无需生成特定的呼叫客户端,从而实现客户端对远程服务的灵活调用。
本申请实施例提供的第二种远程服务的调用方法、装置及系统,针对客户端需要的数据结构和服务端远程接口支持的数据结构均与调用系统支持的数据结构不一致的应用场景,通过在客户端部署客户端协议转换器,在服务端部署服务端协议转换器,并且在协议转换器中配置协议转换描述文件,能够确保客户端即调用方的请求参数转换为服务端即服务提供方远程接口支持的请求数据,服务提供方的执行结果转换为调用方需要的响应信息,并且在网络中传输的为采用调用系统支持的数据结构的中间数据,由此客户端无需持有服务端的存根即无需生成特定的呼叫客户端,从而实现客户端对远程服务的灵活调用。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
图1为本申请实施例一中远程服务的调用系统框图;
图2为本申请实施例一中客户端协议转换器的可能结构框图;
图3为本申请实施例一中服务端协议转换器的可能结构框图;
图4为本申请实施例一中远程服务的调用方法流程图;
图5为本申请实施例二中远程服务的调用方法流程图;
图6为本申请实施例二中远程服务的调用装置框图;
图7为本申请实施例二中部署服务端协议转换器的远程服务的调用系统框图;
图8为本申请实施例二中部署服务端协议转换器的远程服务的调用方法流程图。
具体实施方式
本申请实施例提供一种远程服务的调用方法、装置及系统,用以解决远程服务的调用过程中,客户端需要持有服务端的存根,即需要生成特定的呼叫客户端,导致客户端无法灵活调用远程服务的问题。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
实施例一
本申请实施例一针对的具体应用场景为客户端需要的数据结构和服务端远程接口支持的数据结构均与远程服务的调用系统支持的数据结构不一致,需要在客户端和服务端分别进行协议转换。
本申请实施例一首先提供一种远程服务的调用系统,如图1所示,在客户端101部署客户端协议转换器103,在服务端102部署服务端协议转换器104,并且,客户端协议转换器103和服务端协议转换器104中配置有协议转换描述文件。协议转换描述文件的基本功能包括:定义请求参数和执行结果的转换规则,进一步协议转换描述文件还可以定义远程服务的位置信息,例如远程服务的服务名称、版本号等。
其中:
客户端协议转换器103,用于接收客户端101发起的远程调用请求,根据配置的协议转换描述文件将接收的远程调用请求携带的请求参数转换为采用调用系统支持的数据结构的第一中间数据,并将转换后的远程调用请求发送给服务端协议转换器104;以及,接收服务端协议转换器104发送的第二中间数据,根据配置的协议转换描述文件将该第二中间数据转换为采用客户端101需要的数据结构的响应信息并发送给客户端101;
服务端协议转换器104,用于接收转换后的远程调用请求,根据配置的协议转换描述文件将接收的远程调用请求携带的采用调用系统支持的数据结构的第一中间数据转换为服务端102远程接口支持的请求数据,并使用转换得到的请求数据调用服务端的远程服务;以及,根据配置的协议转换描述文件将服务端102对远程调用请求的执行结果转换为采用调用系统支持的数据结构的第二中间数据,并发送给客户端协议转换器103。
具体实施中,协议转换描述文件可以预先通过人工方式配置给客户端协议转换器103和服务端协议转换器104,也可以通过专门的网络实体配置给客户端协议转换器103和服务端协议转换器104,本申请实施例一中,该专门的网络实体可以称为描述文件注册中心,其可以是具有数据处理能力的服务器或其他设备。基于此,本申请实施例一提供的远程服务的调用系统,还包括:
描述文件注册中心105,用于将协议转换描述文件配置给客户端协议转换器103和服务端协议转换器104。
如果协议转换描述文件由描述文件注册中心105配置给客户端协议转换器103和服务端协议转换器104,在该系统结构下,可以通过动态更改协议转换描述文件的方式,实现在运行期间动态改变远程服务的调用方法、请求参数和响应信息的目的,而无需停机维护。
具体实施中,可以采用多种方式实现客户端协议转换器和服务端协议转换器对本地配置的协议转换描述文件的更新,本申请实施例中介绍两种较佳的实现方式。
方式一、协议转换器主动获取方式:
描述文件注册中心105,在本地存储的协议转换描述文件有变更时向客户端协议转换器103和服务端协议转换器104发送更新通知;以及,客户端协议转换器103和服务端协议转换器104,根据该更新通知从描述文件注册中心105处获取变更后的协议转换描述文件,使用获取的协议转换描述文件对配置的协议转换描述文件进行更新。
方式二、描述文件注册中心主动推送方式:
描述文件注册中心105,在本地存储的协议转换描述文件有变更时发送变更后的协议转换描述文件;以及,客户端协议转换器103和服务端协议转换器104,接收描述文件注册中心105发送的变更后的协议转换描述文件,并使用接收的变更后的协议转换描述文件对配置的协议转换描述文件进行更新。
其中,客户端协议转换器的一种可能结构,如图2所示,包括:
存储单元201,用于存储配置的协议转换描述文件,其中,所述协议转换描述文件定义请求参数和执行结果的转换规则;
第一接收单元202,用于接收客户端发起的远程调用请求;
第一协议转换单元203,用于根据存储的协议转换描述文件将接收的远程调用请求携带的请求参数转换为采用调用系统支持的数据结构的第一中间数据,并将转换后的远程调用请求发送给服务端协议转换器;
第二接收单元204,用于接收所述服务端协议转换器发送的采用调用系统支持的数据结构的第二中间数据;
第二协议转换单元205,用于根据所述协议转换描述文件将所述第二中间数据转换为采用客户端需要的数据结构的响应信息并发送给所述客户端。
具体实施中,所述协议转换描述文件由描述文件注册中心配置;以及客户端协议转换器还可包括:
第一更新单元206,用于接收描述文件注册中心发来的更新通知,所述更新通知是描述文件注册中心在本地存储的协议转换描述文件有变更时发送的;根据所述更新通知,从所述描述文件注册中心处获取变更后的协议转换描述文件;并使用获取的协议转换描述文件对存储单元201中存储的协议转换描述文件进行更新;
或者,
第二更新单元207,用于接收所述描述文件注册中心在本地存储的协议转换描述文件有变更时发送的变更后的协议转换描述文件;以及使用接收的变更后的协议转换描述文件对存储单元201中存储的协议转换描述文件进行更新。
需要说明的是,第一更新单元206和第二更新单元207并不是同时存在于客户端协议转换器中,只是两种不同的具体实施方式。也就是说,如果第一更新单元206存在于客户端协议转换器中,则客户端协议转换器中不存在第二更新单元207;反之,如果第二更新单元207存在于客户端协议转换器中,则客户端协议转换器中不存在第一更新单元206。
其中,服务端协议转换器的一种可能结构,如图3所示,包括:
存储单元301,用于存储配置的协议转换描述文件,其中,所述协议转换描述文件定义请求参数和执行结果的转换规则;
接收单元302,用于接收客户端协议转换器发送的远程调用请求;
第一协议转换单元303,用于根据存储的协议转换描述文件将接收的远程调用请求携带的采用调用系统支持的数据结构的第一中间数据转换为采用服务端远程接口支持的数据结构的请求数据;
调用单元304,用于使用转换得到的请求数据调用服务端的远程服务;
第二协议转换单元305,用于根据所述协议转换描述文件将服务端对所述远程调用请求的执行结果转换为采用调用系统支持的数据结构的第二中间数据,并发送给所述客户端协议转换器。
具体实施中,所述协议转换描述文件由描述文件注册中心配置;以及服务端协议转换器还可包括:
第一更新单元306,用于接收描述文件注册中心发来的更新通知,所述更新通知是描述文件注册中心在本地存储的协议转换描述文件有变更时发送的;根据所述更新通知,从所述描述文件注册中心处获取变更后的协议转换描述文件;并使用获取的协议转换描述文件对存储单元301中存储的协议转换描述文件进行更新;
或者,
第二更新单元307,用于接收所述描述文件注册中心在本地存储的协议转换描述文件有变更时发送的变更后的协议转换描述文件;以及使用接收的变更后的协议转换描述文件对存储单元301中存储的协议转换描述文件进行更新。
同理,第一更新单元306和第二更新单元307并不是同时存在于服务端协议转换器中,只是两种不同的具体实施方式。
基于上述远程服务的调用系统的架构,本申请实施例一提供了一种远程服务的调用方法,如图4所示,包括:
S401、客户端发起携带请求参数的远程调用请求;
S402、部署在客户端的客户端协议转换器接收客户端发起的远程调用请求,根据配置的协议转换描述文件将接收的远程调用请求携带的请求参数转换为采用调用系统支持的数据结构的第一中间数据;
例如在采用Java语言编制的远程服务的调用系统中,客户端协议转换器可以将客户端请求的业务对象参数可以转换为采用调用系统支持的哈希表结构的哈希对象;
S403、客户端协议转换器将转换后的远程调用请求发送给服务端协议转换器;
S404、服务端协议转换器接收该转换后的远程调用请求,根据配置的协议转换描述文件将接收的远程调用请求携带的第一中间数据转换为采用服务端远程接口支持的数据结构的请求数据;
例如在上述采用Java语言编制的远程服务的调用系统中,服务端协议转换器将哈希对象转换为采用服务端远程接口支持的链表结构的请求数据;
S405、服务端协议转换器使用转换得到的请求数据调用服务端的远程服务;
S406、服务端获得请求数据,根据请求数据计算并返回远程调用请求的执行结果;
S407、服务端协议转换器根据协议转换描述文件将服务端对远程调用请求的执行结果转换为采用调用系统支持的数据结构的第二中间数据,并发送给客户端协议转换器;
例如在上述采用Java语言编制的远程服务的调用系统中,服务端协议转换器将服务端的执行结果转换为采用调用系统支持的哈希表结构的哈希对象;
S408、客户端协议转换器接收服务端协议转换器发送的第二中间数据,根据配置的协议转换描述文件将第二中间数据转换为采用客户端需要的数据结构的响应信息并发送给客户端;
例如在上述采用Java语言编制的远程服务的调用系统中,客户端协议转换器将哈希对象转换为客户端需要的业务对象。
通过上述远程服务的调用流程,客户端最终可以基于发起的远程调用请求,获得需要的响应信息,从而实现了对远程服务的灵活调用。
举例说明远程服务的调用过程。假设在采用Java语言编制的远程服务的调用系统中,服务端提供了一个服务接口Math,且通过程序提供实现方法intadd(int a,int b),即对两个整型数据求和的实现方法,服务端远程接口支持的数据结构为int(int表示整型);而客户端希望服务端提供的实现方法为Stringadd(String a,String b),服务端需要的数据结构为String(String表示字符串型),客户端发起的请求参数为字符串型的a数值和b数值,需要的响应信息为字符串型的(a+b)数值。
需要在客户端和服务端分别部署配置有协议转换描述文件的协议转换器,比较特殊的是,客户端和服务端配置的协议转换描述文件相同,代码如下:
<method interfaceName=″Math″>
<methodCall name=″add″>
<params>
<param type=″int″clientName=″a″/>
<param type=″int″clientName=″b″/>
</params>
</methodCall>
<methodResponse>
<param clientType=″s tring″/>
</methodResponse>
</method>
其中,methodCall部分描述客户端的请求参数如何转换为采用服务端远程接口支持的数据结构的请求数据;methodResponse部分描述服务端的执行结果如何转换为采用客户端需要的数据结构的响应信息。
客户端通过调用远程服务获得String invokeResult=add(“3”,“5”)的执行结果,远程服务的调用过程具体包括如下步骤:
步骤1、客户端发起远程调用请求,请求参数为字符串型数据“3”、“5”;
步骤2、客户端协议转换器根据配置的协议转换描述文件将请求参数转换为采用调用系统支持的数据结构的第一中间数据后发送数据包,例如远程服务的调用系统采用Java语言编制,则调用系统支持的数据结构包括MAP数据结构,客户端协议转换器根据配置的协议转换描述文件将请求参数转换为MAP对象,即Map{“a”:“3”,“b”:“5”};
步骤3、客户端协议转换器接收到数据包后,根据配置的协议转换描述文件将第一中间数据转换为采用服务端远程结构支持的数据结构的请求数据,即将MAP对象转换为整型数据“3”、“5”;
步骤4、服务端获得请求数据,根据请求数据计算int add(int a,int b)并返回远程调用请求的执行结果即整型数据“8”;
步骤5、服务端协议转换器根据配置的协议转换描述文件将执行结果转换为采用调用系统支持的数据结构的第二中间数据,第二中间数据例如为MAP对象,即Map{“8”};
步骤6、客户端协议转换器根据配置的协议转换描述文件将第二中间数据转换为采用客户端需要的数据结构的响应信息,即字符串型数据“8”;
步骤7、客户端接收到字符串型数据“8”之后,赋值给invokeResult,调用过程完成。
具体实施中,可以由描述文件注册中心将本地存储的协议转换描述文件配置给客户端协议转换器和服务端协议转换器,实现在运行期间动态改变远程服务的调用方法、请求参数和响应信息的目的,而无需停机维护。在此基础上,介绍客户端协议转换器和服务端协议转换器对配置的协议转换描述文件进行更新的实现方法。
第一种实现方法包括如下步骤:
步骤A1、描述文件注册中心在本地存储的协议转换描述文件有变更时向客户端协议转换器和服务端协议转换器发送更新通知;
具体实施中,可以通过人工设置的方式使描述文件注册中心本地存储的协议转换描述文件发生变更;
步骤A2、客户端协议转换器和服务端协议转换器接收描述文件注册中心发来的更新通知;
步骤A3、客户端协议转换器和服务端协议转换器根据该更新通知从描述文件注册中心处获取变更后的协议转换描述文件,使用获取的协议转换描述文件对配置的协议转换描述文件进行更新。
第二种实现方法中,需要客户端协议转换器和服务端协议转换器与描述文件注册中心建立连接,为了达到及时更新协议转换描述文件的目的,较佳的,客户端协议转换器和服务端协议转换器与描述文件注册中心建立长连接。第二种实现方法包括如下步骤:
步骤B1、描述文件注册中心在本地存储的协议转换描述文件有变更时发送变更后的协议转换描述文件;
步骤B2、客户端协议转换器和服务端协议转换器使用接收的变更后的协议转换描述文件对配置的协议转换描述文件进行更新。
需要说明的是,客户端协议转换器和服务端协议转换器通过对更新后的协议转换描述文件进行解析,即生成新的协议转换规则。
本申请实施例一提供的远程服务的调用系统及方法,针对客户端需要的数据结构和服务端远程接口支持的数据结构均与调用系统支持的数据结构不一致的应用场景,通过在客户端部署客户端协议转换器,在服务端部署服务端协议转换器,并且在协议转换器中配置协议转换描述文件,能够确保客户端即调用方的请求参数转换为服务端即服务提供方远程接口支持的请求数据,服务提供方的执行结果转换为调用方需要的响应信息,并且在网络中传输的为采用调用系统支持的数据结构的中间数据,由此客户端无需持有服务端的存根即无需生成特定的呼叫客户端,从而实现客户端对远程服务的灵活调用。
实施例二、
本申请实施例二针对的具体应用场景为客户端需要的数据结构或服务端远程接口支持的数据结构与远程服务的调用系统支持的数据结构相一致,相应的,无需在客户端或服务端进行协议转换。如果客户端需要的数据结构与调用系统支持的数据结构相一致,例如在采用Java语言编制的远程服务的调用系统中,客户端需要的数据结构为Map数据结构,而Map数据结构为Java语言描述的数据结构,因此在客户端无需进行协议转换;同理,如果服务端远程接口支持的数据结构与调用系统支持的数据结构相一致,例如在采用Java语言编制的远程服务的调用系统中,服务端远程接口支持的数据结构为Map数据结构,而Map数据结构为Java语言描述的数据结构,因此在服务端无需进行协议转换。
本申请实施例二首先提供一种远程服务的调用方法,如图5所示,包括:
S501、接收客户端发起的远程调用请求;
S502、根据配置的协议转换描述文件将接收的远程调用请求携带的请求参数转换为采用服务端远程接口支持的数据结构的请求数据;
S503、使用转换得到的请求数据调用服务端的远程服务;
S504、根据配置的协议转换描述文件将服务端对远程调用请求的执行结果转换为采用客户端需要的数据结构的响应信息并发送给客户端;其中,所述协议转换描述文件定义请求参数和执行结果的转换规则。
具体实施中,所述协议转换描述文件由描述文件注册中心配置。该远程服务的调用方法还包括对配置的协议转换描述文件进行更新的步骤。一种可能的更新流程,具体包括如下步骤:
步骤C1、接收描述文件注册中心发来的更新通知,所述更新通知是描述文件注册中心在本地存储的协议转换描述文件有变更时发送的;
步骤C2、根据该更新通知,从描述文件注册中心处获取变更后的协议转换描述文件;
步骤C3、使用获取的协议转换描述文件对配置的协议转换描述文件进行更新。
另一种可能的更新流程,具体包括如下步骤:
步骤D1、接收所述描述文件注册中心在本地存储的协议转换描述文件有变更时发送的变更后的协议转换描述文件;以及
步骤D2、使用接收的变更后的协议转换描述文件对配置的协议转换描述文件进行更新。
具体实施中,协议转换描述文件还可定义远程服务的位置信息,所述位置信息包括服务名称和版本号。
基于同一技术构思,本申请实施例二提供了一种远程服务的调用装置,如图6所示,包括:
存储单元601,用于存储配置的协议转换描述文件,其中,所述协议转换描述文件定义请求参数和执行结果的转换规则;
接收单元602,用于接收客户端发起的远程调用请求;
第一协议转换单元603,用于根据存储的协议转换描述文件将接收的远程调用请求携带的请求参数转换为采用服务端远程接口支持的数据结构的请求数据;
调用单元604,用于使用转换得到的请求数据调用服务端的远程服务;
第二协议转换单元605,用于根据所述协议转换描述文件将服务端对所述远程调用请求的执行结果转换为采用客户端需要的数据结构的响应信息并发送给所述客户端。
具体实施中,所述协议转换描述文件由描述文件注册中心配置;以及所述调用装置还可包括:
第一更新单元606,用于接收描述文件注册中心发来的更新通知,所述更新通知是描述文件注册中心在本地存储的协议转换描述文件有变更时发送的;根据所述更新通知,从所述描述文件注册中心处获取变更后的协议转换描述文件;并使用获取的协议转换描述文件对存储单元601中存储的协议转换描述文件进行更新;
或者,
第二更新单元607,用于接收所述描述文件注册中心在本地存储的协议转换描述文件有变更时发送的变更后的协议转换描述文件;以及使用接收的变更后的协议转换描述文件对存储单元601中存储的协议转换描述文件进行更新。
需要说明的是,第一更新单元606和第二更新单元607并不是同时存在于远程服务的调用装置中,只是两种不同的具体实施方式。也就是说,如果第一更新单元606存在于远程服务的调用装置中,则远程服务的调用装置中不存在第二更新单元607;反之,如果第二更新单元607存在于远程服务的调用装置中,则远程服务的调用装置中不存在第一更新单元606。
具体实施中,上述远程服务的调用装置可以部署在服务端,如果部署在服务端,相应的该远程服务的调用装置可以称为服务端协议转换器;上述远程服务的调用装置也可以部署在客户端,如果部署在客户端,相应的该远程服务的调用装置可以称为服务端协议转换器。
下面,以该远程服务的调用装置部署在服务端为例进行说明,针对部署在客户端的应用场景不再赘述。
如图7所示,远程服务的调用系统包括客户端701、服务端702、以及在服务端702部署的服务端协议转换器703,服务端协议转换器703中配置有协议转换描述文件。协议转换描述文件的基本功能为:定义请求参数和执行结果的转换规则,进一步协议转换描述文件还可以定义远程服务的位置信息,例如远程服务的服务名称、版本号等。
其中:
服务端协议转换器703,用于接收客户端701发起的远程调用请求,根据配置的协议转换描述文件将接收的远程调用请求携带的请求参数转换为采用服务端远程接口支持的数据结构的请求数据,并使用转换得到的请求数据调用服务端的远程服务;以及,根据配置的协议转换描述文件将服务端702对远程调用请求的执行结果转换为为采用客户端需要的数据结构的响应信息,并发送给客户端701。
具体实施中,协议转换描述文件可以预先通过人工方式配置给服务端协议转换器703,也可以通过专门的网络实体配置给服务端协议转换器703,本申请实施例二中,该专门的网络实体可以称为描述文件注册中心。基于此,本申请实施例二提供的远程服务的调用系统,还包括:
描述文件注册中心704,用于将协议转换描述文件配置给服务端协议转换器703。
基于上述远程服务的调用系统的架构,相应的,远程服务的调用方法,如图8所示,包括:
S801、客户端发起远程调用请求;
例如在采用Java语言编制的远程服务的调用系统中,请求参数可以为Map对象;
S802、服务端协议转换器接收客户端发送的远程调用请求,根据配置的协议转换描述文件将接收的远程调用请求携带的请求参数转换为采用服务端远程接口支持的数据结构的请求数据;
例如在上述采用Java语言编制的远程服务的调用系统中,将Map对象转换为采用服务端远程接口支持的链表结构的请求数据;
S803、服务端协议转换器使用转换得到的请求数据调用服务端的远程服务;
S804、服务端获得请求数据,根据请求数据计算并返回远程调用请求的执行结果;
S805、服务端协议转换器根据配置的协议转换描述文件将服务端对远程调用请求的执行结果转换为采用客户端需要的数据结构的响应信息;
例如在上述采用Java语言编制的远程服务的调用系统中,将服务端的执行结果转换为客户端需要的Map对象;
S806、服务端协议转换器将转换得到的响应信息发送给客户端。
通过上述调用流程,客户端最终可以基于发起的远程调用请求,获得需要的响应信息,从而实现了对远程服务的灵活调用。
对协议转换描述文件进行简单介绍。举例说明在服务端部署的协议转换描述文件,其代码如下:
<?xml version=″1.0″encoding=″UTF-8″?>
<method xmlns=″http://apimapping.taobao.com″
xmlns:xsi=″http://www.w3.org/2001/XMLSchema-instance″
xsi:schemaLocation=″http://apimapping.taobao.com
http://apimapping.taobao.com/apimapping.xsd″
interfaceName=″com.taobao.album.AlbumService″
interfaceVersion=″1.0.0″>
<methodCall name=″addAlbum″>
<params>
<param>
<type class=″com.taobao.album.SimplePojo″>
<struct>
<member name=″stringMember″
clientName=″string_member″type=″string″/>
<member name=″booleanMember″
clientName=″boolean_member″type=″boolean″/>
<member name=″intMember″clientName=″int_member″
type=″int″/>
<member name=″longMember″
clientName=″long_member″type=″long″/>
<member name=″byteMember″
clientName=″byte_member″type=″byte″/>
<member name=″shortMember″
clientName=″short_member″type=″short″/>
<member name=″floatMember″
clientName=″float_member″type=″float″/>
<member name=″doubleMember″
clientName=″double_member″type=″double″/>
<member name=″charMember″
clientName=″char_member″type=″char″/>
<member name=″dateMember″
clientName=″date_member″type=″java.util.Date″/>
</struct>
</type>
</param>
</params>
</methodCall>
<methodResponse>
<param>
<type>
<struct>
<member name=″stringMember″
clientName=″string_member″clientType=″string″/>
<member name=″booleanMember″
clientName=″boolean_member″clientType=″boolean″/>
<member name=″intMember″clientName=″int_member″
clientType=″int″/>
<member name=″longMember″clientName=″long_member″
clientType=″long″/>
<member name=″byteMember″clientName=″byte_member″
clientType=″byte″/>
<member name=″shortMember″clientName=″byte_member″
clientType=″short″/>
<member name=″floatMember″clientName=″float_member″
clientType=″float″/>
<member name=″doubleMember″
clientName=″double_member″clientType=″double″/>
<member name=″charMember″clientName=″char_member″
clientType=″char″/>
<member name=″dateMember″clientName=″date_member″
clientType=″string″/>
</struct>
</type>
</param>
</methodResponse>
</method>
其中,methodCall部分描述客户端的请求参数如何转换为采用服务端远程接口支持的数据结构的请求数据;methodResponse部分描述服务端的执行结果如何转换为采用客户端需要的数据结构的响应信息;clientName表示客户端对应的对象名称。该协议转换描述文件表示客户端发送Java语言描述的数据结构即Map对象,服务端协议转换器根据配置的协议转换描述文件将Map对象转换为采用服务端远程接口支持的数据结构的请求数据,其数据结构为com.taobao.album.SimplePojo;同理,服务端的执行结果转换为客户端需要的Map对象。
本申请实施例二提供的远程服务的调用系统及方法,针对客户端需要的数据结构或服务端远程接口支持的数据结构与调用系统支持的数据结构相一致的应用场景,通过在客户端或服务端配置的协议转换描述文件,能够确保客户端即调用方的请求参数转换为服务端即服务提供方远程接口支持的请求数据,服务提供方的执行结果转换为调用方需要的响应信息,由此客户端无需持有服务端的存根即无需生成特定的呼叫客户端,从而实现客户端对远程服务的灵活调用。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (16)
1.一种远程服务的调用方法,其特征在于,包括:
接收客户端发起的远程调用请求;
根据配置的协议转换描述文件将接收的远程调用请求携带的请求参数转换为采用服务端远程接口支持的数据结构的请求数据;
使用转换得到的请求数据调用服务端的远程服务;以及
根据所述协议转换描述文件将服务端对所述远程调用请求的执行结果转换为采用客户端需要的数据结构的响应信息并发送给所述客户端;
其中,所述协议转换描述文件定义请求参数和执行结果的转换规则。
2.如权利要求1所述的调用方法,其特征在于,所述协议转换描述文件由描述文件注册中心配置。
3.如权利要求2所述的调用方法,其特征在于,还包括对配置的协议转换描述文件进行更新的步骤,具体包括:
接收描述文件注册中心发来的更新通知,所述更新通知是描述文件注册中心在本地存储的协议转换描述文件有变更时发送的;
根据所述更新通知,从所述描述文件注册中心处获取变更后的协议转换描述文件;并
使用获取的协议转换描述文件对配置的协议转换描述文件进行更新。
4.如权利要求2所述的调用方法,其特征在于,还包括对配置的协议转换描述文件进行更新的步骤,具体包括:
接收所述描述文件注册中心在本地存储的协议转换描述文件有变更时发送的变更后的协议转换描述文件;以及
使用接收的变更后的协议转换描述文件对配置的协议转换描述文件进行更新。
5.如权利要求1、2或3所述的调用方法,其特征在于,所述协议转换描述文件还定义远程服务的位置信息,所述位置信息包括服务名称和版本号。
6.一种远程服务的调用装置,其特征在于,包括:
存储单元,用于存储配置的协议转换描述文件,其中,所述协议转换描述文件定义请求参数和执行结果的转换规则;
接收单元,用于接收客户端发起的远程调用请求;
第一协议转换单元,用于根据存储的协议转换描述文件将接收的远程调用请求携带的请求参数转换为采用服务端远程接口支持的数据结构的请求数据;
调用单元,用于使用转换得到的请求数据调用服务端的远程服务;
第二协议转换单元,用于根据所述协议转换描述文件将服务端对所述远程调用请求的执行结果转换为采用客户端需要的数据结构的响应信息并发送给所述客户端。
7.如权利要求6所述的调用装置,其特征在于,所述协议转换描述文件由描述文件注册中心配置;以及
所述调用装置还包括:
第一更新单元,用于接收描述文件注册中心发来的更新通知,所述更新通知是描述文件注册中心在本地存储的协议转换描述文件有变更时发送的;根据所述更新通知,从所述描述文件注册中心处获取变更后的协议转换描述文件;并使用获取的协议转换描述文件对存储单元中存储的协议转换描述文件进行更新;
或者,
第二更新单元,用于接收所述描述文件注册中心在本地存储的协议转换描述文件有变更时发送的变更后的协议转换描述文件;以及使用接收的变更后的协议转换描述文件对存储单元中存储的协议转换描述文件进行更新。
8.一种远程服务的调用方法,其特征在于,包括:
部署在客户端的客户端协议转换器接收客户端发起的远程调用请求,根据配置的协议转换描述文件将接收的远程调用请求携带的请求参数转换为采用调用系统支持的数据结构的第一中间数据,并将转换后的远程调用请求发送给部署在服务端的服务端协议转换器;
所述服务端协议转换器接收所述转换后的远程调用请求,根据配置的协议转换描述文件将接收的远程调用请求携带的第一中间数据转换为采用服务端远程接口支持的数据结构的请求数据,并使用转换得到的请求数据调用服务端的远程服务;以及
根据所述协议转换描述文件将服务端对所述远程调用请求的执行结果转换为采用调用系统支持的数据结构的第二中间数据,并发送给所述客户端协议转换器;
所述客户端协议转换器接收所述服务端协议转换器发送的第二中间数据,根据配置的协议转换描述文件将所述第二中间数据转换为采用客户端需要的数据结构的响应信息并发送给所述客户端;
其中,所述协议转换描述文件定义请求参数和执行结果的转换规则。
9.一种远程服务的调用系统,包括客户端和服务端,其特征在于,还包括部署在客户端的客户端协议转换器和部署在服务端的服务端协议转换器,其中:
所述客户端协议转换器,用于接收客户端发起的远程调用请求,根据配置的协议转换描述文件将接收的远程调用请求携带的请求参数转换为采用调用调用系统支持的数据结构的第一中间数据,并将转换后的远程调用请求发送给部署在服务端的服务端协议转换器,所述协议转换描述文件定义请求参数和执行结果的转换规则;以及,接收所述服务端协议转换器发送的第二中间数据,根据配置的协议转换描述文件将所述第二中间数据转换为采用客户端需要的数据结构的响应信息并发送给所述客户端;
所述服务端协议转换器,用于接收所述转换后的远程调用请求,根据配置的协议转换描述文件将接收的远程调用请求携带的第一中间数据转换为采用服务端远程接口支持的数据结构的请求数据,并使用转换得到的请求数据调用服务端的远程服务;以及,根据配置的协议转换描述文件将服务端对所述远程调用请求的执行结果转换为采用调用系统支持的数据结构的第二中间数据,并发送给所述客户端协议转换器。
10.如权利要求9所述的调用系统,其特征在于,还包括:
描述文件注册中心,用于将协议转换描述文件配置给所述客户端协议转换器和服务端协议转换器。
11.如权利要求10所述的调用系统,其特征在于,
所述描述文件注册中心,还用于在本地存储的协议转换描述文件有变更时向客户端协议转换器和服务端协议转换器发送更新通知;以及
所述客户端协议转换器和服务端协议转换器,还用于接收所述描述文件注册中心发来的更新通知,根据所述更新通知从所述描述文件注册中心处获取变更后的协议转换描述文件,使用获取的协议转换描述文件对配置的协议转换描述文件进行更新。
12.如权利要求10所述的调用系统,其特征在于,
所述描述文件注册中心,还用于在本地存储的协议转换描述文件有变更时发送变更后的协议转换描述文件;以及
所述客户端协议转换器和服务端协议转换器,还用于接收所述描述文件注册中心发送的变更后的协议转换描述文件,并使用接收的变更后的协议转换描述文件对配置的协议转换描述文件进行更新。
13.一种客户端协议转换器,其特征在于,包括:
存储单元,用于存储配置的协议转换描述文件,其中,所述协议转换描述文件定义请求参数和执行结果的转换规则;
第一接收单元,用于接收客户端发起的远程调用请求;
第一协议转换单元,用于根据存储的协议转换描述文件将接收的远程调用请求携带的请求参数转换为采用调用系统支持的数据结构的第一中间数据,并将转换后的远程调用请求发送给服务端协议转换器;
第二接收单元,用于接收所述服务端协议转换器发送的采用调用系统支持的数据结构的第二中间数据;
第二协议转换单元,用于根据所述协议转换描述文件将所述第二中间数据转换为采用客户端需要的数据结构的响应信息并发送给所述客户端。
14.如权利要求13所述的客户端协议转换器,其特征在于,所述协议转换描述文件由描述文件注册中心配置;以及
所述客户端协议转换器还包括:
第一更新单元,用于接收描述文件注册中心发来的更新通知,所述更新通知是描述文件注册中心在本地存储的协议转换描述文件有变更时发送的;根据所述更新通知,从所述描述文件注册中心处获取变更后的协议转换描述文件;并使用获取的协议转换描述文件对存储单元中存储的协议转换描述文件进行更新;
或者,
第二更新单元,用于接收所述描述文件注册中心在本地存储的协议转换描述文件有变更时发送的变更后的协议转换描述文件;以及使用接收的变更后的协议转换描述文件对存储单元中存储的协议转换描述文件进行更新。
15.一种服务端协议转换器,其特征在于,包括:
存储单元,用于存储配置的协议转换描述文件,其中,所述协议转换描述文件定义请求参数和执行结果的转换规则;
接收单元,用于接收客户端协议转换器发送的远程调用请求;
第一协议转换单元,用于根据存储的协议转换描述文件将接收的远程调用请求携带的采用调用系统支持的数据结构的第一中间数据转换为采用服务端远程接口支持的数据结构的请求数据;
调用单元,用于使用转换得到的请求数据调用服务端的远程服务;
第二协议转换单元,用于根据所述协议转换描述文件将服务端对所述远程调用请求的执行结果转换为采用调用系统支持的数据结构的第二中间数据,并发送给所述客户端协议转换器。
16.如权利要求15所述的服务端协议转换器,其特征在于,所述协议转换描述文件由描述文件注册中心配置;以及
所述服务端协议转换器还包括:
第一更新单元,用于接收描述文件注册中心发来的更新通知,所述更新通知是描述文件注册中心在本地存储的协议转换描述文件有变更时发送的;根据所述更新通知,从所述描述文件注册中心处获取变更后的协议转换描述文件;并使用获取的协议转换描述文件对存储单元中存储的协议转换描述文件进行更新;
或者,
第二更新单元,用于接收所述描述文件注册中心在本地存储的协议转换描述文件有变更时发送的变更后的协议转换描述文件;以及使用接收的变更后的协议转换描述文件对存储单元中存储的协议转换描述文件进行更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010187461.6A CN102262560B (zh) | 2010-05-27 | 2010-05-27 | 一种远程服务的调用方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010187461.6A CN102262560B (zh) | 2010-05-27 | 2010-05-27 | 一种远程服务的调用方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102262560A true CN102262560A (zh) | 2011-11-30 |
CN102262560B CN102262560B (zh) | 2016-12-28 |
Family
ID=45009197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010187461.6A Active CN102262560B (zh) | 2010-05-27 | 2010-05-27 | 一种远程服务的调用方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102262560B (zh) |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103246547A (zh) * | 2012-02-14 | 2013-08-14 | 北京亿阳信通科技有限公司 | 远程调用对象的方法和系统 |
CN103716308A (zh) * | 2013-12-17 | 2014-04-09 | 北京京东尚科信息技术有限公司 | 一种多协议平台通信方法及多协议平台 |
CN103870274A (zh) * | 2014-03-14 | 2014-06-18 | 浪潮集团山东通用软件有限公司 | 一种基于webservice技术下实现异构系统间数据交互的可视化开发组件 |
CN104270470A (zh) * | 2014-10-24 | 2015-01-07 | 杭州高达软件系统股份有限公司 | 一种远程服务调用方法、装置及系统 |
CN105450589A (zh) * | 2014-07-31 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 远程调用方法及系统 |
CN105763619A (zh) * | 2016-03-31 | 2016-07-13 | 广州华多网络科技有限公司 | 客户端与服务端进行通讯的方法及装置 |
CN106161564A (zh) * | 2015-04-23 | 2016-11-23 | 珀金埃尔默企业管理(上海)有限公司 | 一种代理框架服务系统及方法 |
CN106411933A (zh) * | 2016-11-15 | 2017-02-15 | 深圳市彬讯科技有限公司 | 一种可进行服务治理与语言调用的轻量级rpc框架 |
CN106453288A (zh) * | 2016-09-29 | 2017-02-22 | 上海和付信息技术有限公司 | 一种支持异步模式的分布式微服务框架系统及其实现方法 |
CN106856434A (zh) * | 2015-12-08 | 2017-06-16 | 阿里巴巴集团控股有限公司 | 访问请求转换的方法和装置 |
CN107835178A (zh) * | 2017-11-13 | 2018-03-23 | 北京奇艺世纪科技有限公司 | 一种多协议服务通信方法、装置以及电子设备 |
CN108156109A (zh) * | 2016-12-02 | 2018-06-12 | 北京金山云网络技术有限公司 | 一种服务响应方法及装置 |
CN108289060A (zh) * | 2017-01-09 | 2018-07-17 | 腾讯科技(深圳)有限公司 | 一种基于rpc服务的数据处理方法以及装置 |
CN109062710A (zh) * | 2018-07-19 | 2018-12-21 | 阿里巴巴集团控股有限公司 | 一种远程过程调用方法、终端设备及网络设备 |
CN109298958A (zh) * | 2018-10-26 | 2019-02-01 | 恒生电子股份有限公司 | 服务的调用方法及相关系统 |
CN109510865A (zh) * | 2013-03-05 | 2019-03-22 | 富士施乐株式会社 | 中继装置及系统 |
CN109714332A (zh) * | 2018-12-26 | 2019-05-03 | 北京字节跳动网络技术有限公司 | 基于Thrift和语法树解析的协议转换方法及装置 |
WO2019100819A1 (zh) * | 2017-11-24 | 2019-05-31 | 中兴通讯股份有限公司 | 一种实现远程过程调用的方法及装置 |
CN109922148A (zh) * | 2019-03-04 | 2019-06-21 | 网易(杭州)网络有限公司 | 跨平台服务方法、装置和系统 |
CN110633162A (zh) * | 2019-09-23 | 2019-12-31 | 苏州达家迎信息技术有限公司 | 远程调用实现方法、装置、计算机设备及存储介质 |
CN110647411A (zh) * | 2019-10-10 | 2020-01-03 | 广州趣丸网络科技有限公司 | 服务请求的处理方法及装置 |
CN111010438A (zh) * | 2019-12-13 | 2020-04-14 | 北京达佳互联信息技术有限公司 | 远程过程调用方法、装置、服务器及存储介质 |
CN111756804A (zh) * | 2020-05-27 | 2020-10-09 | 苏州浪潮智能科技有限公司 | 一种配置web请求的方法及装置 |
CN111970349A (zh) * | 2020-08-07 | 2020-11-20 | 中国建设银行股份有限公司 | 基于远程过程调用的通讯系统、方法、装置、设备及介质 |
CN112291380A (zh) * | 2020-09-01 | 2021-01-29 | 上海泛微软件有限公司 | 网络请求处理方法、装置、设备及计算机可读存储介质 |
CN112559605A (zh) * | 2019-09-25 | 2021-03-26 | 北京国双科技有限公司 | 数据处理方法和装置、电子设备及存储介质 |
CN113296975A (zh) * | 2020-10-13 | 2021-08-24 | 阿里云计算有限公司 | 服务调用方法及装置 |
CN114221995A (zh) * | 2021-11-11 | 2022-03-22 | 中国建设银行股份有限公司 | 服务调用方法、装置及电子设备 |
CN114244820A (zh) * | 2020-09-07 | 2022-03-25 | 宝能汽车集团有限公司 | 嵌入式分布系统及其数据通信方法 |
CN114710300A (zh) * | 2020-10-20 | 2022-07-05 | 厦门快快网络科技有限公司 | 一种新型的Windows远程安全防护方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104283919B (zh) * | 2013-07-05 | 2019-11-05 | 中兴通讯股份有限公司 | 一种接口调用系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1525714A (zh) * | 2003-02-25 | 2004-09-01 | 华为技术有限公司 | 一种asn.1协议处理器 |
CN1556627A (zh) * | 2003-12-30 | 2004-12-22 | 上海交通大学 | 媒体网站内容监管信息统一存储和交互方法 |
CN101409717A (zh) * | 2008-12-01 | 2009-04-15 | 用友软件股份有限公司 | 协议无关的soa系统和业务处理方法 |
CN101556683A (zh) * | 2009-05-21 | 2009-10-14 | 中国建设银行股份有限公司 | 一种金融业务系统及实现方法 |
-
2010
- 2010-05-27 CN CN201010187461.6A patent/CN102262560B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1525714A (zh) * | 2003-02-25 | 2004-09-01 | 华为技术有限公司 | 一种asn.1协议处理器 |
CN1556627A (zh) * | 2003-12-30 | 2004-12-22 | 上海交通大学 | 媒体网站内容监管信息统一存储和交互方法 |
CN101409717A (zh) * | 2008-12-01 | 2009-04-15 | 用友软件股份有限公司 | 协议无关的soa系统和业务处理方法 |
CN101556683A (zh) * | 2009-05-21 | 2009-10-14 | 中国建设银行股份有限公司 | 一种金融业务系统及实现方法 |
Cited By (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103246547B (zh) * | 2012-02-14 | 2018-09-04 | 武汉亿阳信通科技有限公司 | 远程调用对象的方法和系统 |
CN103246547A (zh) * | 2012-02-14 | 2013-08-14 | 北京亿阳信通科技有限公司 | 远程调用对象的方法和系统 |
CN109510865A (zh) * | 2013-03-05 | 2019-03-22 | 富士施乐株式会社 | 中继装置及系统 |
CN103716308B (zh) * | 2013-12-17 | 2017-04-12 | 北京京东尚科信息技术有限公司 | 一种多协议平台通信方法及多协议平台 |
CN103716308A (zh) * | 2013-12-17 | 2014-04-09 | 北京京东尚科信息技术有限公司 | 一种多协议平台通信方法及多协议平台 |
CN103870274A (zh) * | 2014-03-14 | 2014-06-18 | 浪潮集团山东通用软件有限公司 | 一种基于webservice技术下实现异构系统间数据交互的可视化开发组件 |
CN105450589A (zh) * | 2014-07-31 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 远程调用方法及系统 |
CN105450589B (zh) * | 2014-07-31 | 2018-12-14 | 阿里巴巴集团控股有限公司 | 远程调用方法及系统 |
CN104270470A (zh) * | 2014-10-24 | 2015-01-07 | 杭州高达软件系统股份有限公司 | 一种远程服务调用方法、装置及系统 |
CN106161564A (zh) * | 2015-04-23 | 2016-11-23 | 珀金埃尔默企业管理(上海)有限公司 | 一种代理框架服务系统及方法 |
CN106161564B (zh) * | 2015-04-23 | 2019-09-10 | 珀金埃尔默企业管理(上海)有限公司 | 一种代理框架服务系统及方法 |
CN106856434A (zh) * | 2015-12-08 | 2017-06-16 | 阿里巴巴集团控股有限公司 | 访问请求转换的方法和装置 |
US11647009B2 (en) | 2015-12-08 | 2023-05-09 | Alibaba Group Holding Limited | Access request conversion method and apparatus |
CN105763619A (zh) * | 2016-03-31 | 2016-07-13 | 广州华多网络科技有限公司 | 客户端与服务端进行通讯的方法及装置 |
CN105763619B (zh) * | 2016-03-31 | 2019-07-05 | 广州欢聚时代信息科技有限公司 | 客户端与服务端进行通讯的方法及装置 |
CN106453288A (zh) * | 2016-09-29 | 2017-02-22 | 上海和付信息技术有限公司 | 一种支持异步模式的分布式微服务框架系统及其实现方法 |
CN106453288B (zh) * | 2016-09-29 | 2019-06-04 | 上海和付信息技术有限公司 | 一种支持异步模式的分布式微服务框架系统及其实现方法 |
CN106411933A (zh) * | 2016-11-15 | 2017-02-15 | 深圳市彬讯科技有限公司 | 一种可进行服务治理与语言调用的轻量级rpc框架 |
CN108156109A (zh) * | 2016-12-02 | 2018-06-12 | 北京金山云网络技术有限公司 | 一种服务响应方法及装置 |
CN108156109B (zh) * | 2016-12-02 | 2021-04-30 | 北京金山云网络技术有限公司 | 一种服务响应方法及装置 |
CN108289060A (zh) * | 2017-01-09 | 2018-07-17 | 腾讯科技(深圳)有限公司 | 一种基于rpc服务的数据处理方法以及装置 |
CN108289060B (zh) * | 2017-01-09 | 2020-11-06 | 腾讯科技(深圳)有限公司 | 一种基于rpc服务的数据处理方法以及装置 |
CN107835178A (zh) * | 2017-11-13 | 2018-03-23 | 北京奇艺世纪科技有限公司 | 一种多协议服务通信方法、装置以及电子设备 |
CN107835178B (zh) * | 2017-11-13 | 2020-10-30 | 北京奇艺世纪科技有限公司 | 一种多协议服务通信方法、装置以及电子设备 |
CN109840155A (zh) * | 2017-11-24 | 2019-06-04 | 中兴通讯股份有限公司 | 一种实现远程过程调用的方法及装置 |
CN109840155B (zh) * | 2017-11-24 | 2023-04-07 | 中兴通讯股份有限公司 | 一种实现远程过程调用的方法及装置 |
WO2019100819A1 (zh) * | 2017-11-24 | 2019-05-31 | 中兴通讯股份有限公司 | 一种实现远程过程调用的方法及装置 |
CN109062710A (zh) * | 2018-07-19 | 2018-12-21 | 阿里巴巴集团控股有限公司 | 一种远程过程调用方法、终端设备及网络设备 |
CN109062710B (zh) * | 2018-07-19 | 2021-10-19 | 创新先进技术有限公司 | 一种远程过程调用方法、终端设备及网络设备 |
CN109298958A (zh) * | 2018-10-26 | 2019-02-01 | 恒生电子股份有限公司 | 服务的调用方法及相关系统 |
CN109714332A (zh) * | 2018-12-26 | 2019-05-03 | 北京字节跳动网络技术有限公司 | 基于Thrift和语法树解析的协议转换方法及装置 |
CN109922148B (zh) * | 2019-03-04 | 2022-02-25 | 网易(杭州)网络有限公司 | 跨平台服务方法、装置和系统 |
CN109922148A (zh) * | 2019-03-04 | 2019-06-21 | 网易(杭州)网络有限公司 | 跨平台服务方法、装置和系统 |
CN110633162A (zh) * | 2019-09-23 | 2019-12-31 | 苏州达家迎信息技术有限公司 | 远程调用实现方法、装置、计算机设备及存储介质 |
CN112559605A (zh) * | 2019-09-25 | 2021-03-26 | 北京国双科技有限公司 | 数据处理方法和装置、电子设备及存储介质 |
CN110647411A (zh) * | 2019-10-10 | 2020-01-03 | 广州趣丸网络科技有限公司 | 服务请求的处理方法及装置 |
CN111010438A (zh) * | 2019-12-13 | 2020-04-14 | 北京达佳互联信息技术有限公司 | 远程过程调用方法、装置、服务器及存储介质 |
CN111756804B (zh) * | 2020-05-27 | 2022-05-31 | 苏州浪潮智能科技有限公司 | 一种配置web请求的方法及装置 |
CN111756804A (zh) * | 2020-05-27 | 2020-10-09 | 苏州浪潮智能科技有限公司 | 一种配置web请求的方法及装置 |
CN111970349A (zh) * | 2020-08-07 | 2020-11-20 | 中国建设银行股份有限公司 | 基于远程过程调用的通讯系统、方法、装置、设备及介质 |
CN111970349B (zh) * | 2020-08-07 | 2022-06-24 | 中国建设银行股份有限公司 | 基于远程过程调用的通讯系统、方法、装置、设备及介质 |
CN112291380A (zh) * | 2020-09-01 | 2021-01-29 | 上海泛微软件有限公司 | 网络请求处理方法、装置、设备及计算机可读存储介质 |
CN114244820A (zh) * | 2020-09-07 | 2022-03-25 | 宝能汽车集团有限公司 | 嵌入式分布系统及其数据通信方法 |
CN113296975A (zh) * | 2020-10-13 | 2021-08-24 | 阿里云计算有限公司 | 服务调用方法及装置 |
CN114710300A (zh) * | 2020-10-20 | 2022-07-05 | 厦门快快网络科技有限公司 | 一种新型的Windows远程安全防护方法 |
CN114710300B (zh) * | 2020-10-20 | 2023-11-28 | 厦门快快网络科技有限公司 | 一种新型的Windows远程安全防护方法 |
CN114221995A (zh) * | 2021-11-11 | 2022-03-22 | 中国建设银行股份有限公司 | 服务调用方法、装置及电子设备 |
CN114221995B (zh) * | 2021-11-11 | 2024-04-09 | 中国建设银行股份有限公司 | 服务调用方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102262560B (zh) | 2016-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102262560A (zh) | 一种远程服务的调用方法、装置及系统 | |
EP3047701B1 (en) | Updating firmware on mobile devices | |
US7627867B2 (en) | Change management of interfaces in distributed computer systems | |
CN107967143B (zh) | 获取客户端应用程序源代码的更新指示信息的方法、装置和系统 | |
US20060080659A1 (en) | System and method of provisioning software to mobile devices | |
CN110958281B (zh) | 基于物联网的数据传输方法及通信装置 | |
CN102546794A (zh) | 浏览器客户端与后端服务器直通的方法、网关和通信系统 | |
RU2619723C2 (ru) | Способ и устройство для предоставления отчета о трафике, а также способ и устройство для измерения сетевого трафика | |
CN101989913A (zh) | 用于使局域网中的网络设备获取业务内容的方法及装置 | |
WO2011076146A1 (zh) | 下载应用数据的方法、数字电视接收终端及系统 | |
CN104852971B (zh) | 一种插件式协议装置及基于插件式协议的数据通信方法 | |
CN104967560A (zh) | 实现与网关管理的设备的联动方法和装置 | |
CN105610883A (zh) | 策略文件同步管理的方法及策略同步服务器和管理设备 | |
KR100670605B1 (ko) | 멀티미디어 콘텐츠 서비스 시스템과 방법 및 그 기록매체 | |
CN111367685B (zh) | 接口调用的方法及装置、计算机设备、存储介质 | |
JP2009509210A (ja) | アプリケーションを起動する方法 | |
FI120286B (fi) | Menetelmä ja laitejärjestely palvelin-asiakaslaite-ympäristön hallitsemiseksi | |
EP1872526A1 (en) | System and method for customizing services for applications | |
CN101980503A (zh) | 一种widget应用管理方法、装置和系统 | |
US8327391B2 (en) | Method, system and apparatus for transmitting remote procedure call commands | |
CN101626310B (zh) | 集群环境中的服务信息传输方法、装置及系统 | |
CN101483568A (zh) | UPnP设备的升级方法、控制设备及系统 | |
CN106936937B (zh) | 用于互联网业务交互的通用接口的实现方法和装置 | |
KR100766567B1 (ko) | 무선 단말기로 컨텐츠 업데이트 정보를 제공하는 컨텐츠업데이트 중계 시스템 및 방법 | |
CN110662200B (zh) | 一种数据上报方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1159812 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1159812 Country of ref document: HK |